aboutsummaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/util.c b/src/util.c
index 24eff14e9..9a2ea9e90 100644
--- a/src/util.c
+++ b/src/util.c
@@ -312,10 +312,9 @@ void sqlite3DequoteExpr(Expr *p){
}
/*
-** Expression p is a QINTEGER or QFLOAT (quoted integer or float). Dequote
-** the value in p->u.zToken and set the type to INTEGER or FLOAT. "Quoted"
-** integers or floats are those that contain '_' characters that must
-** be removed before further processing.
+** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken
+** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those
+** that contain '_' characters that must be removed before further processing.
*/
void sqlite3DequoteNumber(Expr *p){
if( p ){
@@ -329,6 +328,9 @@ void sqlite3DequoteNumber(Expr *p){
if( *pIn=='e' || *pIn=='E' || *pIn=='.' ) p->op = TK_FLOAT;
}
}while( *pIn++ );
+ if( p->u.zToken[0]=='0' && p->u.zToken[1]=='x' ){
+ p->op = TK_INTEGER;
+ }
}
}