aboutsummaryrefslogtreecommitdiff
path: root/jim-sqlite3.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-08-31 07:16:11 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:51 +1000
commit6f5c9bf0dd12cd5a166594a554ebe9380d81f37e (patch)
tree34341a7cba4a40e54d491825820386e0676ca187 /jim-sqlite3.c
parenta6b5998b080aac77c1b6151b97a64b0d79f3586f (diff)
downloadjimtcl-6f5c9bf0dd12cd5a166594a554ebe9380d81f37e.zip
jimtcl-6f5c9bf0dd12cd5a166594a554ebe9380d81f37e.tar.gz
jimtcl-6f5c9bf0dd12cd5a166594a554ebe9380d81f37e.tar.bz2
Use Jim_GetId() it both sqlite extensions
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim-sqlite3.c')
-rw-r--r--jim-sqlite3.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/jim-sqlite3.c b/jim-sqlite3.c
index 70ebe76..369e3a5 100644
--- a/jim-sqlite3.c
+++ b/jim-sqlite3.c
@@ -22,11 +22,8 @@
#include <string.h>
#include <sqlite3.h>
-#define JIM_EXTENSION
#include "jim.h"
-#define SQLITE_CMD_LEN 128
-
typedef struct JimSqliteHandle
{
sqlite3 *db;
@@ -257,9 +254,7 @@ static int JimSqliteOpenCommand(Jim_Interp *interp, int argc, Jim_Obj *const *ar
{
sqlite3 *db;
JimSqliteHandle *sh;
- char buf[SQLITE_CMD_LEN];
- Jim_Obj *objPtr;
- long dbId;
+ char buf[128];
int r;
if (argc != 2) {
@@ -272,19 +267,10 @@ static int JimSqliteOpenCommand(Jim_Interp *interp, int argc, Jim_Obj *const *ar
sqlite3_close(db);
return JIM_ERR;
}
- /* Get the next file id */
- if (Jim_EvalGlobal(interp, "if {[catch {incr sqlite.dbId}]} {set sqlite.dbId 0}") != JIM_OK)
- return JIM_ERR;
- objPtr = Jim_GetVariableStr(interp, "sqlite.dbId", JIM_ERRMSG);
- if (objPtr == NULL)
- return JIM_ERR;
- if (Jim_GetLong(interp, objPtr, &dbId) != JIM_OK)
- return JIM_ERR;
-
/* Create the file command */
sh = Jim_Alloc(sizeof(*sh));
sh->db = db;
- sprintf(buf, "sqlite.handle%ld", dbId);
+ snprintf(buf, sizeof(buf), "sqlite.handle%ld", Jim_GetId(interp));
Jim_CreateCommand(interp, buf, JimSqliteHandlerCommand, sh, JimSqliteDelProc);
Jim_SetResultString(interp, buf, -1);
return JIM_OK;