diff options
author | drh <drh@noemail.net> | 2001-10-19 16:44:56 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2001-10-19 16:44:56 +0000 |
commit | 6a535340bc31d7178cd8422a09a7ef144bf9ea4d (patch) | |
tree | ee6a560a5f8c485b669f32a1b6c9bcc0f6ce2adb /src/shell.c | |
parent | 98808babd3efdc2bb3b8b0884eda76abe6e32477 (diff) | |
download | sqlite-6a535340bc31d7178cd8422a09a7ef144bf9ea4d.tar.gz sqlite-6a535340bc31d7178cd8422a09a7ef144bf9ea4d.zip |
Version 2.0.6 (CVS 291)
FossilOrigin-Name: 8467d84fc6e67bd93051f54338a8f6c9b1711ee1
Diffstat (limited to 'src/shell.c')
-rw-r--r-- | src/shell.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/shell.c b/src/shell.c index 726dd9261..4eaab29a6 100644 --- a/src/shell.c +++ b/src/shell.c @@ -12,7 +12,7 @@ ** This file contains code to implement the "sqlite" command line ** utility for accessing SQLite databases. ** -** $Id: shell.c,v 1.36 2001/10/06 16:33:03 drh Exp $ +** $Id: shell.c,v 1.37 2001/10/19 16:44:57 drh Exp $ */ #include <stdlib.h> #include <string.h> @@ -244,6 +244,7 @@ static int callback(void *pArg, int nArg, char **azArg, char **azCol){ switch( p->mode ){ case MODE_Line: { int w = 5; + if( azArg==0 ) break; for(i=0; i<nArg; i++){ int len = strlen(azCol[i]); if( len>w ) w = len; @@ -266,7 +267,7 @@ static int callback(void *pArg, int nArg, char **azArg, char **azCol){ if( w<=0 ){ w = strlen(azCol[i] ? azCol[i] : ""); if( w<10 ) w = 10; - n = strlen(azArg[i] ? azArg[i] : ""); + n = strlen(azArg && azArg[i] ? azArg[i] : ""); if( w<n ) w = n; } if( i<ArraySize(p->actualWidth) ){ @@ -290,6 +291,7 @@ static int callback(void *pArg, int nArg, char **azArg, char **azCol){ } } } + if( azArg==0 ) break; for(i=0; i<nArg; i++){ int w; if( i<ArraySize(p->actualWidth) ){ @@ -309,6 +311,7 @@ static int callback(void *pArg, int nArg, char **azArg, char **azCol){ fprintf(p->out,"%s%s",azCol[i], i==nArg-1 ? "\n" : p->separator); } } + if( azArg==0 ) break; for(i=0; i<nArg; i++){ char *z = azArg[i]; if( z==0 ) z = ""; @@ -342,6 +345,7 @@ static int callback(void *pArg, int nArg, char **azArg, char **azCol){ } fprintf(p->out,"</TR>\n"); } + if( azArg==0 ) break; fprintf(p->out,"<TR>"); for(i=0; i<nArg; i++){ fprintf(p->out,"<TD>"); @@ -352,6 +356,7 @@ static int callback(void *pArg, int nArg, char **azArg, char **azCol){ break; } case MODE_Insert: { + if( azArg==0 ) break; fprintf(p->out,"INSERT INTO %s VALUES(",p->zDestTable); for(i=0; i<nArg; i++){ char *zSep = i>0 ? ",": ""; @@ -365,6 +370,7 @@ static int callback(void *pArg, int nArg, char **azArg, char **azCol){ } } fprintf(p->out,");\n"); + break; } } return 0; |