mirror of
https://github.com/sqlite/sqlite.git
synced 2025-10-22 22:13:04 +03:00
Fix compiler warnings and boundary cases for the tointeger() and toreal()
functions. FossilOrigin-Name: 4438b9865826446721b7aa09295fe335bf2fafb7
This commit is contained in:
12
manifest
12
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Performance\soptimizations\sin\sthe\sVDBE\sand\sespecially\sto\sthe\sOP_Next\sand\nrelated\sopcodes.
|
C Fix\scompiler\swarnings\sand\sboundary\scases\sfor\sthe\stointeger()\sand\storeal()\nfunctions.
|
||||||
D 2013-08-20T00:42:11.120
|
D 2013-08-20T02:07:50.845
|
||||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||||
F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
|
F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
|
||||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||||
@@ -175,7 +175,7 @@ F src/delete.c 2317c814866d9aa71fea16b3faf4fdd4d6a49b94
|
|||||||
F src/expr.c 42d8235af422661ab80be097bebca485b33e2e14
|
F src/expr.c 42d8235af422661ab80be097bebca485b33e2e14
|
||||||
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
|
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
|
||||||
F src/fkey.c 914a6bbd987d857c41ac9d244efa6641f36faadb
|
F src/fkey.c 914a6bbd987d857c41ac9d244efa6641f36faadb
|
||||||
F src/func.c 835168be942c8c18a6c6b3b78462bc378d25c7b4
|
F src/func.c 03a79c7a2ae5535c36157d7f5823883c5d0179b1
|
||||||
F src/global.c 5caf4deab621abb45b4c607aad1bd21c20aac759
|
F src/global.c 5caf4deab621abb45b4c607aad1bd21c20aac759
|
||||||
F src/hash.c ac3470bbf1ca4ae4e306a8ecb0fdf1731810ffe4
|
F src/hash.c ac3470bbf1ca4ae4e306a8ecb0fdf1731810ffe4
|
||||||
F src/hash.h 8890a25af81fb85a9ad7790d32eedab4b994da22
|
F src/hash.h 8890a25af81fb85a9ad7790d32eedab4b994da22
|
||||||
@@ -1106,7 +1106,7 @@ F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
|||||||
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
||||||
F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae
|
F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae
|
||||||
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
|
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
|
||||||
P d2efea1682a7e708000c1f5d36370aaf1199b3be
|
P d78c5d89de4b840351b026c9db1952fc24e689d0
|
||||||
R 08cd0ad5f78761d7e8cb97606228a179
|
R f40049688c2f823d8e8fd7e09d988578
|
||||||
U drh
|
U drh
|
||||||
Z 1caed0652391fde507351b876419455b
|
Z 180da4560f629509c84cc64c4a342242
|
||||||
|
@@ -1 +1 @@
|
|||||||
d78c5d89de4b840351b026c9db1952fc24e689d0
|
4438b9865826446721b7aa09295fe335bf2fafb7
|
16
src/func.c
16
src/func.c
@@ -981,7 +981,7 @@ static void tointegerFunc(
|
|||||||
case SQLITE_FLOAT: {
|
case SQLITE_FLOAT: {
|
||||||
double rVal = sqlite3_value_double(argv[0]);
|
double rVal = sqlite3_value_double(argv[0]);
|
||||||
i64 iVal = (i64)rVal;
|
i64 iVal = (i64)rVal;
|
||||||
if( !sqlite3IsNaN(rVal) && rVal==(double)iVal ){
|
if( rVal==(double)iVal ){
|
||||||
sqlite3_result_int64(context, iVal);
|
sqlite3_result_int64(context, iVal);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -995,9 +995,9 @@ static void tointegerFunc(
|
|||||||
const unsigned char *zStr = sqlite3_value_text(argv[0]);
|
const unsigned char *zStr = sqlite3_value_text(argv[0]);
|
||||||
if( zStr ){
|
if( zStr ){
|
||||||
int nStr = sqlite3_value_bytes(argv[0]);
|
int nStr = sqlite3_value_bytes(argv[0]);
|
||||||
if( nStr ){
|
if( nStr && !sqlite3Isspace(zStr[0]) ){
|
||||||
i64 iVal;
|
i64 iVal;
|
||||||
if( !sqlite3Atoi64(zStr, &iVal, nStr, SQLITE_UTF8) ){
|
if( !sqlite3Atoi64((const char*)zStr, &iVal, nStr, SQLITE_UTF8) ){
|
||||||
sqlite3_result_int64(context, iVal);
|
sqlite3_result_int64(context, iVal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1028,11 +1028,7 @@ static void torealFunc(
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SQLITE_INTEGER: {
|
case SQLITE_INTEGER: {
|
||||||
i64 iVal = sqlite3_value_int64(argv[0]);
|
sqlite3_result_double(context, (double)sqlite3_value_int64(argv[0]));
|
||||||
double rVal = (double)iVal;
|
|
||||||
if( iVal==rVal ){
|
|
||||||
sqlite3_result_double(context, rVal);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SQLITE_BLOB:
|
case SQLITE_BLOB:
|
||||||
@@ -1040,9 +1036,9 @@ static void torealFunc(
|
|||||||
const unsigned char *zStr = sqlite3_value_text(argv[0]);
|
const unsigned char *zStr = sqlite3_value_text(argv[0]);
|
||||||
if( zStr ){
|
if( zStr ){
|
||||||
int nStr = sqlite3_value_bytes(argv[0]);
|
int nStr = sqlite3_value_bytes(argv[0]);
|
||||||
if( nStr ){
|
if( nStr && !sqlite3Isspace(zStr[0]) && !sqlite3Isspace(zStr[nStr-1]) ){
|
||||||
double rVal;
|
double rVal;
|
||||||
if( sqlite3AtoF(zStr, &rVal, nStr, SQLITE_UTF8) ){
|
if( sqlite3AtoF((const char*)zStr, &rVal, nStr, SQLITE_UTF8) ){
|
||||||
sqlite3_result_double(context, rVal);
|
sqlite3_result_double(context, rVal);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user