Printing a value of 0 using %c terminates the string.

FossilOrigin-Name: 255612f0a131f2f522cbca3cc5a1edcf7e38938abca25ba421e7e38a422db9c9
This commit is contained in:
drh 2018-02-19 21:58:16 +00:00
parent 57f29b7bfb
commit a15a7c352c
3 changed files with 10 additions and 9 deletions

View File

@ -1,5 +1,5 @@
C More\stest\scases\sfor\sunicode\shandling\sin\sprintf.
D 2018-02-19T20:41:01.120
C Printing\sa\svalue\sof\s0\susing\s%c\sterminates\sthe\sstring.
D 2018-02-19T21:58:16.694
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F Makefile.in 7a3f714b4fcf793108042b7b0a5c720b0b310ec84314d61ba7f3f49f27e550ea
@ -484,7 +484,7 @@ F src/pcache1.c 716975564c15eb6679e97f734cec1bfd6c16ac3d4010f05f1f8e509fc7d19880
F src/pragma.c bea56df3ae0637768c0da4fbbb8f2492f780980d95000034a105ff291bf7ca69
F src/pragma.h bb83728944b42f6d409c77f5838a8edbdb0fe83046c5496ffc9602b40340a324
F src/prepare.c 259f4e7960c47082c9653f3d5f0c294abd68bb9c3aab86de7630700cba1c20fb
F src/printf.c 1c8986a3ab20f0cdc7bdf1b7f6ea7b9857acdd34eba5c82e0be70fed825d2f9f
F src/printf.c 07244a9e1755247c9543db551acd2f3cce461b28d13e9f3ab87053c35fd62717
F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
F src/resolve.c bbee7e31d369a18a2f4836644769882e9c5d40ef4a3af911db06410b65cb3730
F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
@ -1707,7 +1707,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P e41d64e95b9b6fec5dc329553822925e7d648a41912b420cfa1ba198736e6bab
R c809a7387d4329cd8d06217ca9198d46
P ac188211119bfd77f43e4aba8acab733a56aac90b4c8a11f7ef8e6388582438f
R 508c3db0e2913d65a43c01bb9b80f5ab
U drh
Z c256c2f346298486ba50767fa31b18cb
Z 626afeea462f05f2075e81e36cf30b70

View File

@ -1 +1 @@
ac188211119bfd77f43e4aba8acab733a56aac90b4c8a11f7ef8e6388582438f
255612f0a131f2f522cbca3cc5a1edcf7e38938abca25ba421e7e38a422db9c9

View File

@ -624,15 +624,16 @@ void sqlite3VXPrintf(
case etCHARX:
if( bArgList ){
bufpt = getTextArg(pArgList);
length = 0;
length = 1;
if( bufpt ){
buf[0] = c = *(bufpt++);
length = 1;
if( (c&0xc0)==0xc0 ){
while( length<4 && (bufpt[0]&0xc0)==0x80 ){
buf[length++] = *(bufpt++);
}
}
}else{
buf[0] = 0;
}
}else{
unsigned int ch = va_arg(ap,unsigned int);