From e9bb566096da8f50f556a15eaa41e8c592409653 Mon Sep 17 00:00:00 2001 From: drh Date: Fri, 25 Nov 2016 15:47:53 +0000 Subject: [PATCH] Performance enhancement to sqlite3_snprintf(). FossilOrigin-Name: c53dca7fadd81ea340fef776373cbb122c9ccd46 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/printf.c | 3 ++- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index 242a15cf54..42d8f60af9 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Performance\simprovement\sin\ssqlite3StrAccumFinish()\sfor\sthe\scommon\scase\swhere\nno\smemory\sallocation\sis\srequired. -D 2016-11-25T15:11:26.619 +C Performance\senhancement\sto\ssqlite3_snprintf(). +D 2016-11-25T15:47:53.375 F Makefile.in 6b572807415d3f0a379cebc9461416d8df4a12c8 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc bb4d970894abbbe0e88d00aac29bd52af8bc95f4 @@ -383,7 +383,7 @@ F src/pcache1.c e3967219b2a92b9edcb9324a4ba75009090d3953 F src/pragma.c d932ba278654617cdd281f88a790a3185fca7c44 F src/pragma.h 64c78a648751b9f4f297276c4eb7507b14b4628c F src/prepare.c b1140c3d0cf59bc85ace00ce363153041b424b7a -F src/printf.c 8a76e8e9b44a282bd78f5a4113e4dec233c3dfff +F src/printf.c f94da4935d1dd25420ac50c6745db1deb35e07c1 F src/random.c ba2679f80ec82c4190062d756f22d0c358180696 F src/resolve.c bb070cf5f23611c44ab7e4788803684e385fc3fb F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac @@ -1534,7 +1534,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 6df7c5747e0247b14bf015ef4320ddcf6fccf694 -R 52321675b69054515968315ac6e47ed5 +P b6acf5d4ef016326a079463e70e71c2fc95a352d +R 66214ce5c9237cac8843327752704c96 U drh -Z 9d212a5ec3719e9483eacdb11891359b +Z 00ed6ef21d5c142098e92d37ff95081c diff --git a/manifest.uuid b/manifest.uuid index ffa66fcd74..a717baef40 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -b6acf5d4ef016326a079463e70e71c2fc95a352d \ No newline at end of file +c53dca7fadd81ea340fef776373cbb122c9ccd46 \ No newline at end of file diff --git a/src/printf.c b/src/printf.c index 563f37c6a6..8de0a924ae 100644 --- a/src/printf.c +++ b/src/printf.c @@ -1017,7 +1017,8 @@ char *sqlite3_vsnprintf(int n, char *zBuf, const char *zFormat, va_list ap){ #endif sqlite3StrAccumInit(&acc, 0, zBuf, n, 0); sqlite3VXPrintf(&acc, zFormat, ap); - return sqlite3StrAccumFinish(&acc); + zBuf[acc.nChar] = 0; + return zBuf; } char *sqlite3_snprintf(int n, char *zBuf, const char *zFormat, ...){ char *z; -- 2.47.2