]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make sure the TCL bindings always use Tcl_GetWideIntFromObj() even if the
authordrh <drh@noemail.net>
Tue, 26 Jun 2007 22:55:37 +0000 (22:55 +0000)
committerdrh <drh@noemail.net>
Tue, 26 Jun 2007 22:55:37 +0000 (22:55 +0000)
reported type is "int" because on x86-64 and "int" type is 64-bits.
Ticket #2465. (CVS 4135)

FossilOrigin-Name: 5c93324b937b4d8394b0eb7d7fe74f7965623cbe

manifest
manifest.uuid
src/tclsqlite.c

index 70de6155ea8b2e6dc624417b3084ce59d1d48e21..b801b0d62ca4ea4a2fe0e38a26b318007bd74e8f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\stest\scase\sso\sthat\sit\s(hopefully)\sworks\son\sx86-64.\s\sTicket\s#2465.\s(CVS\s4134)
-D 2007-06-26T22:42:56
+C Make\ssure\sthe\sTCL\sbindings\salways\suse\sTcl_GetWideIntFromObj()\seven\sif\sthe\nreported\stype\sis\s"int"\sbecause\son\sx86-64\sand\s"int"\stype\sis\s64-bits.\nTicket\s#2465.\s(CVS\s4135)
+D 2007-06-26T22:55:38
 F Makefile.in 7f7485a4cc039476a42e534b3f26ec90e2f9753e
 F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -112,7 +112,7 @@ F src/sqlite3ext.h 95575e0d175a0271fe2c3232c0d11e8720ed6887
 F src/sqliteInt.h 81183ae71162818bf60478e738ff68604128bb06
 F src/sqliteLimit.h f14609c27636ebc217c9603ade26dbdd7d0f6afa
 F src/table.c a8de75bcedf84d4060d804264b067ab3b1a3561d
-F src/tclsqlite.c 4bffe56752d2c24ade23340e46a91fd92c316e08
+F src/tclsqlite.c 0d3370e01cd3b313ed29ed6b0ba00423b4329de0
 F src/test1.c 0024d7069ecabe0ccc4e2f491e4a43ed5d3f4196
 F src/test2.c 24458b17ab2f3c90cbc1c8446bd7ffe69be62f88
 F src/test3.c a280931fb40222b7c90da45eea926459beee8904
@@ -516,7 +516,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
 F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P 338c18791006bac3709410087316700aad3b332f
-R 76fa6fff3d8e3f760dede2f083ada376
+P 3daf7cae18ae2ee6404f770e69e4cd0c715615e5
+R 6bd5371797b28b1ad783bfd355bc5a05
 U drh
-Z ebf4030b9dc2f802dc6698d6e014be81
+Z 0e3284889f389cc363d1804b624bb69e
index f6ad8d96652ed083110ebc821c7685f155ac370a..fc1b561213168af6a7b7ca92c6fad8d26fb304c2 100644 (file)
@@ -1 +1 @@
-3daf7cae18ae2ee6404f770e69e4cd0c715615e5
\ No newline at end of file
+5c93324b937b4d8394b0eb7d7fe74f7965623cbe
\ No newline at end of file
index dc01b533d4cebab0c9cd6f7db58fa9cdb32d95a5..649270eade9f8642b345c2d81db1d8d4b47adbca 100644 (file)
@@ -12,7 +12,7 @@
 ** A TCL Interface to SQLite.  Append this file to sqlite3.c and
 ** compile the whole thing to build a TCL-enabled version of SQLite.
 **
-** $Id: tclsqlite.c,v 1.192 2007/06/19 23:01:42 drh Exp $
+** $Id: tclsqlite.c,v 1.193 2007/06/26 22:55:38 drh Exp $
 */
 #include "tcl.h"
 #include <errno.h>
@@ -721,15 +721,15 @@ static void tclSqlFunc(sqlite3_context *context, int argc, sqlite3_value**argv){
       ** has no string representation. */
       data = Tcl_GetByteArrayFromObj(pVar, &n);
       sqlite3_result_blob(context, data, n, SQLITE_TRANSIENT);
-    }else if( (c=='b' && strcmp(zType,"boolean")==0) ||
-          (c=='i' && strcmp(zType,"int")==0) ){
+    }else if( c=='b' && strcmp(zType,"boolean")==0 ){
       Tcl_GetIntFromObj(0, pVar, &n);
       sqlite3_result_int(context, n);
     }else if( c=='d' && strcmp(zType,"double")==0 ){
       double r;
       Tcl_GetDoubleFromObj(0, pVar, &r);
       sqlite3_result_double(context, r);
-    }else if( c=='w' && strcmp(zType,"wideInt")==0 ){
+    }else if( (c=='w' && strcmp(zType,"wideInt")==0) ||
+          (c=='i' && strcmp(zType,"int")==0) ){
       Tcl_WideInt v;
       Tcl_GetWideIntFromObj(0, pVar, &v);
       sqlite3_result_int64(context, v);
@@ -1602,15 +1602,15 @@ static int DbObjCmd(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){
               sqlite3_bind_blob(pStmt, i, data, n, SQLITE_STATIC);
               Tcl_IncrRefCount(pVar);
               apParm[nParm++] = pVar;
-            }else if( (c=='b' && strcmp(zType,"boolean")==0) ||
-                  (c=='i' && strcmp(zType,"int")==0) ){
+            }else if( c=='b' && strcmp(zType,"boolean")==0 ){
               Tcl_GetIntFromObj(interp, pVar, &n);
               sqlite3_bind_int(pStmt, i, n);
             }else if( c=='d' && strcmp(zType,"double")==0 ){
               double r;
               Tcl_GetDoubleFromObj(interp, pVar, &r);
               sqlite3_bind_double(pStmt, i, r);
-            }else if( c=='w' && strcmp(zType,"wideInt")==0 ){
+            }else if( (c=='w' && strcmp(zType,"wideInt")==0) ||
+                  (c=='i' && strcmp(zType,"int")==0) ){
               Tcl_WideInt v;
               Tcl_GetWideIntFromObj(interp, pVar, &v);
               sqlite3_bind_int64(pStmt, i, v);