aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/expr.c b/src/expr.c
index 5608128ad..fe316550a 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -109,7 +109,8 @@ int sqlite3ExprDataType(const Expr *pExpr){
break;
}
case TK_NULL: {
- return 0x00;
+ pExpr = 0;
+ break;
}
case TK_STRING: {
return 0x02;
@@ -145,6 +146,9 @@ int sqlite3ExprDataType(const Expr *pExpr){
for(ii=1; ii<pList->nExpr; ii+=2){
res |= sqlite3ExprDataType(pList->a[ii].pExpr);
}
+ if( pList->nExpr % 2 ){
+ res |= sqlite3ExprDataType(pList->a[pList->nExpr-1].pExpr);
+ }
return res;
}
default: {
@@ -152,7 +156,7 @@ int sqlite3ExprDataType(const Expr *pExpr){
}
} /* End of switch(op) */
} /* End of while(pExpr) */
- return 0;
+ return 0x00;
}
/*