diff options
author | drh <drh@noemail.net> | 2018-02-19 21:58:16 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2018-02-19 21:58:16 +0000 |
commit | a15a7c352ce0aad7143e589e32a4d9e60f5ce9e2 (patch) | |
tree | 55abef9ac3046800e4c53a66aa71025512aa0f71 /src | |
parent | 57f29b7bfbc0bc69f2c2f0b73e22a5aa0664d13c (diff) | |
download | sqlite-a15a7c352ce0aad7143e589e32a4d9e60f5ce9e2.tar.gz sqlite-a15a7c352ce0aad7143e589e32a4d9e60f5ce9e2.zip |
Printing a value of 0 using %c terminates the string.
FossilOrigin-Name: 255612f0a131f2f522cbca3cc5a1edcf7e38938abca25ba421e7e38a422db9c9
Diffstat (limited to 'src')
-rw-r--r-- | src/printf.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/printf.c b/src/printf.c index 725caa2d5..11d5b8282 100644 --- a/src/printf.c +++ b/src/printf.c @@ -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); |