-C Performance\soptimizations\sin\sthe\sVDBE\sand\sespecially\sto\sthe\sOP_Next\sand\nrelated\sopcodes.
-D 2013-08-20T00:42:11.120
+C Fix\scompiler\swarnings\sand\sboundary\scases\sfor\sthe\stointeger()\sand\storeal()\nfunctions.
+D 2013-08-20T02:07:50.845
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F src/expr.c 42d8235af422661ab80be097bebca485b33e2e14
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
F src/fkey.c 914a6bbd987d857c41ac9d244efa6641f36faadb
-F src/func.c 835168be942c8c18a6c6b3b78462bc378d25c7b4
+F src/func.c 03a79c7a2ae5535c36157d7f5823883c5d0179b1
F src/global.c 5caf4deab621abb45b4c607aad1bd21c20aac759
F src/hash.c ac3470bbf1ca4ae4e306a8ecb0fdf1731810ffe4
F src/hash.h 8890a25af81fb85a9ad7790d32eedab4b994da22
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
-P d2efea1682a7e708000c1f5d36370aaf1199b3be
-R 08cd0ad5f78761d7e8cb97606228a179
+P d78c5d89de4b840351b026c9db1952fc24e689d0
+R f40049688c2f823d8e8fd7e09d988578
U drh
-Z 1caed0652391fde507351b876419455b
+Z 180da4560f629509c84cc64c4a342242
-d78c5d89de4b840351b026c9db1952fc24e689d0
\ No newline at end of file
+4438b9865826446721b7aa09295fe335bf2fafb7
\ No newline at end of file
case SQLITE_FLOAT: {
double rVal = sqlite3_value_double(argv[0]);
i64 iVal = (i64)rVal;
- if( !sqlite3IsNaN(rVal) && rVal==(double)iVal ){
+ if( rVal==(double)iVal ){
sqlite3_result_int64(context, iVal);
}
break;
const unsigned char *zStr = sqlite3_value_text(argv[0]);
if( zStr ){
int nStr = sqlite3_value_bytes(argv[0]);
- if( nStr ){
+ if( nStr && !sqlite3Isspace(zStr[0]) ){
i64 iVal;
- if( !sqlite3Atoi64(zStr, &iVal, nStr, SQLITE_UTF8) ){
+ if( !sqlite3Atoi64((const char*)zStr, &iVal, nStr, SQLITE_UTF8) ){
sqlite3_result_int64(context, iVal);
}
}
break;
}
case SQLITE_INTEGER: {
- i64 iVal = sqlite3_value_int64(argv[0]);
- double rVal = (double)iVal;
- if( iVal==rVal ){
- sqlite3_result_double(context, rVal);
- }
+ sqlite3_result_double(context, (double)sqlite3_value_int64(argv[0]));
break;
}
case SQLITE_BLOB:
const unsigned char *zStr = sqlite3_value_text(argv[0]);
if( zStr ){
int nStr = sqlite3_value_bytes(argv[0]);
- if( nStr ){
+ if( nStr && !sqlite3Isspace(zStr[0]) && !sqlite3Isspace(zStr[nStr-1]) ){
double rVal;
- if( sqlite3AtoF(zStr, &rVal, nStr, SQLITE_UTF8) ){
+ if( sqlite3AtoF((const char*)zStr, &rVal, nStr, SQLITE_UTF8) ){
sqlite3_result_double(context, rVal);
return;
}