diff options
author | drh <drh@noemail.net> | 2013-12-13 16:23:55 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2013-12-13 16:23:55 +0000 |
commit | a3cc007df47198f501b2ae02eeafbb64d6ff0097 (patch) | |
tree | b95008fcd4285186924fe464af8c9a11eb73dc24 /src/util.c | |
parent | a5f40593bee1ae4261725e80b18259e3dfda975d (diff) | |
download | sqlite-a3cc007df47198f501b2ae02eeafbb64d6ff0097.tar.gz sqlite-a3cc007df47198f501b2ae02eeafbb64d6ff0097.zip |
Simplication and optimization of error message handling.
FossilOrigin-Name: 9d347f547e7ba9590b0c68edf50a14ad94a2bb92
Diffstat (limited to 'src/util.c')
-rw-r--r-- | src/util.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/util.c b/src/util.c index 9fa2a0fbd..362a5d897 100644 --- a/src/util.c +++ b/src/util.c @@ -115,18 +115,17 @@ int sqlite3Strlen30(const char *z){ ** to NULL. */ void sqlite3Error(sqlite3 *db, int err_code, const char *zFormat, ...){ - if( db && (db->pErr || (db->pErr = sqlite3ValueNew(db))!=0) ){ - db->errCode = err_code; - if( zFormat ){ - char *z; - va_list ap; - va_start(ap, zFormat); - z = sqlite3VMPrintf(db, zFormat, ap); - va_end(ap); - sqlite3ValueSetStr(db->pErr, -1, z, SQLITE_UTF8, SQLITE_DYNAMIC); - }else{ - sqlite3ValueSetStr(db->pErr, 0, 0, SQLITE_UTF8, SQLITE_STATIC); - } + assert( db!=0 ); + db->errCode = err_code; + if( zFormat && (db->pErr || (db->pErr = sqlite3ValueNew(db))!=0) ){ + char *z; + va_list ap; + va_start(ap, zFormat); + z = sqlite3VMPrintf(db, zFormat, ap); + va_end(ap); + sqlite3ValueSetStr(db->pErr, -1, z, SQLITE_UTF8, SQLITE_DYNAMIC); + }else if( db->pErr ){ + sqlite3ValueSetNull(db->pErr); } } |