diff options
Diffstat (limited to 'ext/sqlite/libsqlite/src/util.c')
-rw-r--r-- | ext/sqlite/libsqlite/src/util.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/ext/sqlite/libsqlite/src/util.c b/ext/sqlite/libsqlite/src/util.c index be4e10828..dc63d4dc8 100644 --- a/ext/sqlite/libsqlite/src/util.c +++ b/ext/sqlite/libsqlite/src/util.c @@ -14,7 +14,7 @@ ** This file contains functions for allocating memory, comparing ** strings, and stuff like that. ** -** $Id: util.c,v 1.6.4.1 2005/09/07 15:11:33 iliaa Exp $ +** $Id: util.c,v 1.6.4.2 2005/12/20 15:26:26 iliaa Exp $ */ #include "sqliteInt.h" #include <stdarg.h> @@ -330,15 +330,15 @@ char *sqliteStrNDup(const char *z, int n){ ** point to that string. The 1st argument must either be NULL or ** point to memory obtained from sqliteMalloc(). */ -void sqliteSetString(char **pz, const char *zFirst, ...){ +void sqliteSetString(char **pz, ...){ va_list ap; int nByte; const char *z; char *zResult; if( pz==0 ) return; - nByte = strlen(zFirst) + 1; - va_start(ap, zFirst); + nByte = 1; + va_start(ap, pz); while( (z = va_arg(ap, const char*))!=0 ){ nByte += strlen(z); } @@ -348,9 +348,8 @@ void sqliteSetString(char **pz, const char *zFirst, ...){ if( zResult==0 ){ return; } - strcpy(zResult, zFirst); - zResult += strlen(zResult); - va_start(ap, zFirst); + *zResult = 0; + va_start(ap, pz); while( (z = va_arg(ap, const char*))!=0 ){ strcpy(zResult, z); zResult += strlen(zResult); |