aboutsummaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2013-12-13 16:23:55 +0000
committerdrh <drh@noemail.net>2013-12-13 16:23:55 +0000
commita3cc007df47198f501b2ae02eeafbb64d6ff0097 (patch)
treeb95008fcd4285186924fe464af8c9a11eb73dc24 /src/util.c
parenta5f40593bee1ae4261725e80b18259e3dfda975d (diff)
downloadsqlite-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.c23
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);
}
}