Fix the formatting of %c in the printf() SQL function.

FossilOrigin-Name: 3375571a5e267744c19a7c310840256cec57a242
diff --git a/manifest b/manifest
index 04c30af..e7519c3 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sthe\sprintf()\sSQL\sfunction.
-D 2013-12-17T15:03:06.814
+C Fix\sthe\sformatting\sof\s%c\sin\sthe\sprintf()\sSQL\sfunction.
+D 2013-12-17T15:58:42.950
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -215,7 +215,7 @@
 F src/pcache1.c 57fee9a9a617218f5037afbbe49b09da65bde56b
 F src/pragma.c 5ab7279d132143feb77f773688a24ab05da75fd7
 F src/prepare.c 359d1a1e9c9bd4488e4dd3a1aaaf2d2ebb9bb768
-F src/printf.c 0c0cb58e43410d6237afe0f2751f265fc62eac59
+F src/printf.c 85d07756e45d7496d19439dcae3e6e9e0090f269
 F src/random.c 0b2dbc37fdfbfa6bd455b091dfcef5bdb32dba68
 F src/resolve.c 7eda9097b29fcf3d2b42fdc17d1de672134e09b6
 F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0
@@ -739,7 +739,7 @@
 F test/pragma.test e882183ecd21d064cec5c7aaea174fbd36293429
 F test/pragma2.test aea7b3d82c76034a2df2b38a13745172ddc0bc13
 F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552
-F test/printf2.test 7b1c2c27826702723ad2b1fcd92bce2ffc9f45f3
+F test/printf2.test 2f0978059768bb039d3ee09466bdcd06fc7a6a86
 F test/progress.test a282973d1d17f08071bc58a77d6b80f2a81c354d
 F test/ptrchng.test ef1aa72d6cf35a2bbd0869a649b744e9d84977fc
 F test/queryonly.test 5f653159e0f552f0552d43259890c1089391dcca
@@ -1147,10 +1147,7 @@
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
-P 5716fc2341ddd8cf64139e7168597f864da4e10b
-R 2b8d4659fa3fad9afbe93191f7aa6089
-T *branch * printf-sql-function
-T *sym-printf-sql-function *
-T -sym-trunk *
+P 6db7052eeefafdbf26b3153bc38600fecfb53ae6
+R 2f73ea36e182ebaad881490b3d78bb71
 U drh
-Z 77c6ba366806353f9c00efecee393357
+Z 671b11d5131d6faea51d8a864c8026f9
diff --git a/manifest.uuid b/manifest.uuid
index ce69d4e..56747e8 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-6db7052eeefafdbf26b3153bc38600fecfb53ae6
\ No newline at end of file
+3375571a5e267744c19a7c310840256cec57a242
\ No newline at end of file
diff --git a/src/printf.c b/src/printf.c
index da11881..8cfa542 100644
--- a/src/printf.c
+++ b/src/printf.c
@@ -606,7 +606,9 @@
 #endif /* !defined(SQLITE_OMIT_FLOATING_POINT) */
         break;
       case etSIZE:
-        if( !bArgList ) *(va_arg(ap,int*)) = pAccum->nChar;
+        if( !bArgList ){
+          *(va_arg(ap,int*)) = pAccum->nChar;
+        }
         length = width = 0;
         break;
       case etPERCENT:
@@ -616,7 +618,8 @@
         break;
       case etCHARX:
         if( bArgList ){
-          c = (int)getIntArg(pArgList);
+          bufpt = getTextArg(pArgList);
+          c = bufpt ? bufpt[0] : 0;
         }else{
           c = va_arg(ap,int);
         }
diff --git a/test/printf2.test b/test/printf2.test
index 6a017f1..15babcf 100644
--- a/test/printf2.test
+++ b/test/printf2.test
@@ -51,6 +51,9 @@
 do_execsql_test printf2-1.12 {
   SELECT printf('%.*z',5,'abcdefghijklmnop');
 } {abcde}
+do_execsql_test printf2-1.13 {
+  SELECT printf('%c','abcdefghijklmnop');
+} {a}
 
 
 finish_test