]> jfr.im git - irc/quakenet/newserv.git/commitdiff
Okay, it wasn't quite as simple as that, it was a complex interaction between the...
authorChris Porter <redacted>
Thu, 2 Oct 2008 03:22:57 +0000 (04:22 +0100)
committerChris Porter <redacted>
Thu, 2 Oct 2008 03:22:57 +0000 (04:22 +0100)
dbapi2/dbapi2-adapter.inc
sqlite/sqlite.c

index 45d1948b636c088d89e3378971f33a038c5d9362..7e4c47da8f6d6fb361e3b4522f1119534a5ea498 100644 (file)
@@ -143,9 +143,8 @@ static void dbapi2_adapter_createtable(const DBAPIConn *db, DBAPIQueryCallback c
 
 static void dbapi2_adapter_loadtablewrapper_init(DBConn *c, void *data) {
   struct DBAPI2AdapterLoadTableCallback *a = data;
-  DBAPIResult r;
 
-  a->init(wrapresult(&r, c), a->data);
+  a->init(NULL, a->data);
 }
 
 static void dbapi2_adapter_loadtablewrapper_data(DBConn *c, void *data) {
@@ -157,10 +156,9 @@ static void dbapi2_adapter_loadtablewrapper_data(DBConn *c, void *data) {
 
 static void dbapi2_adapter_loadtablewrapper_fini(DBConn *c, void *data) {
   struct DBAPI2AdapterLoadTableCallback *a = data;
-  DBAPIResult r;
 
   if(a->fini)
-    a->fini(wrapresult(&r, c), a->data);
+    a->fini(NULL, a->data);
 
   free(a);
 }
index 746f7848aea4b8d5a7cdf920ed3756487f5bb21e..904ad13d79d05750e54602b39b7a7507a9648456 100644 (file)
@@ -45,8 +45,6 @@ static int inited;
 
 #define SYNC_MODE "OFF"
 
-#define FLAG_DONTFREE 0x02
-
 static void sqlitequeueprocessor(void *arg);
 static void dbstatus(int hooknum, void *arg);
 
@@ -135,7 +133,6 @@ static void processstatement(int rc, sqlite3_stmt *s, SQLiteQueryHandler handler
 
     r = (SQLiteResult *)nsmalloc(POOL_SQLITE, sizeof(SQLiteResult));
     r->r = s;
-    r->flags = 0;
     r->first = 1;
     if(rc == SQLITE_ROW) {
       r->final = 0;
@@ -295,9 +292,6 @@ void sqliteclear(SQLiteResult *r) {
   if(!r)
     return;
 
-  if(r->flags & FLAG_DONTFREE)
-    return;
-
   if(r->r)
     sqlite3_finalize(r->r);
 
@@ -319,28 +313,20 @@ struct sqlitetableloader {
 
 static void loadtablerows(SQLiteConn *c, void *tag) {
   struct sqlitetableloader *t = (struct sqlitetableloader *)tag;
-  SQLiteResult *r = (SQLiteResult *)c;
 
   if(!c) { /* pqsql doesnt call the handlers so we don't either */
     nsfree(POOL_SQLITE, t);
     return;
   }
 
-  r->flags|=FLAG_DONTFREE;
-
   /* the handlers do all the checking and cleanup */
   if(t->init)
-    (t->init)(c, t->tag);
-
-  if(!t->fini)
-    r->flags&=~FLAG_DONTFREE;
+    (t->init)(NULL, t->tag);
 
   (t->data)(c, t->tag);
 
-  r->flags&=~FLAG_DONTFREE;
-
   if(t->fini)
-    (t->fini)(c, t->tag);
+    (t->fini)(NULL, t->tag);
 
   nsfree(POOL_SQLITE, t);
 }