Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Work around a NaN bug in some versions of Tcl. (CVS 5058) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
7bf8213ce9f591f4c2ef6c1e19a17712 |
User & Date: | drh 2008-04-28 15:23:03.000 |
Context
2008-04-28
| ||
16:19 | Fix a shared-cache mode problem triggered when sqlite3_open16() was used to open the second or subsequent connections to a utf-8 database. (CVS 5059) (check-in: 20946bf6dd user: danielk1977 tags: trunk) | |
15:23 | Work around a NaN bug in some versions of Tcl. (CVS 5058) (check-in: 7bf8213ce9 user: drh tags: trunk) | |
13:02 | Changes to test scripts to accommodate different architectures and different versions of Tcl. (CVS 5057) (check-in: 8eb2c07c52 user: drh tags: trunk) | |
Changes
Changes to src/test1.c.
︙ | ︙ | |||
9 10 11 12 13 14 15 | ** May you share freely, never taking more than you give. ** ************************************************************************* ** Code for testing all sorts of SQLite interfaces. This code ** is not included in the SQLite library. It is used for automated ** testing of the SQLite library. ** | | | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | ** May you share freely, never taking more than you give. ** ************************************************************************* ** Code for testing all sorts of SQLite interfaces. This code ** is not included in the SQLite library. It is used for automated ** testing of the SQLite library. ** ** $Id: test1.c,v 1.300 2008/04/28 15:23:03 drh Exp $ */ #include "sqliteInt.h" #include "tcl.h" #include <stdlib.h> #include <string.h> /* |
︙ | ︙ | |||
2617 2618 2619 2620 2621 2622 2623 | Tcl_AppendResult(interp, "wrong # args: should be \"", Tcl_GetStringFromObj(objv[0], 0), " STMT N VALUE", 0); return TCL_ERROR; } if( getStmtPointer(interp, Tcl_GetString(objv[1]), &pStmt) ) return TCL_ERROR; if( Tcl_GetIntFromObj(interp, objv[2], &idx) ) return TCL_ERROR; | > > > > > > > > > > > | > | | 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 | Tcl_AppendResult(interp, "wrong # args: should be \"", Tcl_GetStringFromObj(objv[0], 0), " STMT N VALUE", 0); return TCL_ERROR; } if( getStmtPointer(interp, Tcl_GetString(objv[1]), &pStmt) ) return TCL_ERROR; if( Tcl_GetIntFromObj(interp, objv[2], &idx) ) return TCL_ERROR; /* Intercept the string "NaN" and generate a NaN value for it. ** All other strings are passed through to Tcl_GetDoubleFromObj(). ** Tcl_GetDoubleFromObj() should understand "NaN" but some versions ** contain a bug. */ if( strcmp(Tcl_GetString(objv[3]), "NaN")==0 ){ sqlite3_int64 i; i = 0xfff80000; i <<= 32; value = *(double*)(char*)&i; }else if( Tcl_GetDoubleFromObj(interp, objv[3], &value) ){ return TCL_ERROR; } rc = sqlite3_bind_double(pStmt, idx, value); if( sqlite3TestErrCode(interp, StmtToDb(pStmt), rc) ) return TCL_ERROR; if( rc!=SQLITE_OK ){ return TCL_ERROR; } return TCL_OK; |
︙ | ︙ |