diff options
author | drh <drh@noemail.net> | 2002-07-10 21:26:00 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2002-07-10 21:26:00 +0000 |
commit | fa173a764a713e8ac9f9a6733c4612edfc904f28 (patch) | |
tree | 1c118e4b0c914eba81581854ca8da97382cdd4bf /src/printf.c | |
parent | 6276c1cbf0f7f52bb1f1aa216676ce63044e034e (diff) | |
download | sqlite-fa173a764a713e8ac9f9a6733c4612edfc904f28.tar.gz sqlite-fa173a764a713e8ac9f9a6733c4612edfc904f28.zip |
When reporting back the datatype of columns, use the text of the datatype
as it appears in the CREATE TABLE statement, if available. Also: removed
the ".reindex" command from the shell. (CVS 669)
FossilOrigin-Name: ff8b6f4ee8099a7170cb786b8ead9a3e42ab5869
Diffstat (limited to 'src/printf.c')
-rw-r--r-- | src/printf.c | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/src/printf.c b/src/printf.c index 827b7bbcb..e1ae39df7 100644 --- a/src/printf.c +++ b/src/printf.c @@ -699,14 +699,10 @@ char *sqlite_mprintf(const char *zFormat, ...){ vxprintf(mout,&sMprintf,zFormat,ap); va_end(ap); sMprintf.zText[sMprintf.nChar] = 0; - if( sMprintf.zText==sMprintf.zBase ){ - zNew = sqliteMalloc( sMprintf.nChar+1 ); - if( zNew ) strcpy(zNew,zBuf); - }else{ - zNew = sqliteRealloc(sMprintf.zText,sMprintf.nChar+1); - if( zNew==0 ){ - sqliteFree(sMprintf.zText); - } + zNew = malloc( sMprintf.nChar+1 ); + if( zNew ) strcpy(zNew,sMprintf.zText); + if( sMprintf.zText!=sMprintf.zBase ){ + sqliteFree(sMprintf.zText); } return zNew; } @@ -715,6 +711,7 @@ char *sqlite_mprintf(const char *zFormat, ...){ */ char *sqlite_vmprintf(const char *zFormat, va_list ap){ struct sgMprintf sMprintf; + char *zNew; char zBuf[200]; sMprintf.nChar = 0; sMprintf.zText = zBuf; @@ -722,17 +719,12 @@ char *sqlite_vmprintf(const char *zFormat, va_list ap){ sMprintf.zBase = zBuf; vxprintf(mout,&sMprintf,zFormat,ap); sMprintf.zText[sMprintf.nChar] = 0; - if( sMprintf.zText==sMprintf.zBase ){ - sMprintf.zText = sqliteMalloc( strlen(zBuf)+1 ); - if( sMprintf.zText ) strcpy(sMprintf.zText,zBuf); - }else{ - char *z = sqliteRealloc(sMprintf.zText,sMprintf.nChar+1); - if( z==0 ){ - sqliteFree(sMprintf.zText); - } - sMprintf.zText = z; + zNew = malloc( sMprintf.nChar+1 ); + if( zNew ) strcpy(zNew,sMprintf.zText); + if( sMprintf.zText!=sMprintf.zBase ){ + sqliteFree(sMprintf.zText); } - return sMprintf.zText; + return zNew; } /* @@ -772,7 +764,7 @@ int sqlite_exec_vprintf( zSql = sqlite_vmprintf(sqlFormat, ap); rc = sqlite_exec(db, zSql, xCallback, pArg, errmsg); - sqliteFree(zSql); + free(zSql); return rc; } int sqlite_get_table_printf( @@ -806,6 +798,6 @@ int sqlite_get_table_vprintf( zSql = sqlite_vmprintf(sqlFormat, ap); rc = sqlite_get_table(db, zSql, resultp, nrow, ncolumn, errmsg); - sqliteFree(zSql); + free(zSql); return rc; } |