mingodad 13 anni fa
parent
commit
c0c0249886
1 ha cambiato i file con 25 aggiunte e 24 eliminazioni
  1. 25 24
      ext/sq_sqlite3.cpp

+ 25 - 24
ext/sq_sqlite3.cpp

@@ -1090,30 +1090,30 @@ static SQRESULT sq_sqlite3_close_release(HSQUIRRELVM v, sq_sqlite3_sdb *sdb){
             sq_deleteslot(sdb->v, -2, SQFalse);
             sq_poptop(sdb->v);
 
-	if(sdb->func){
-        sq_sqlite3_sdb_func *func, *func_next;
-        func = sdb->func;
-        while (func) {
-            func_next = func->next;
-            sq_release(sdb->v, &func->fn_step);
-            sq_release(sdb->v, &func->fn_finalize);
-            sq_release(sdb->v, &func->udata);
-            sq_free(func, sizeof(sq_sqlite3_sdb_func));
-            func = func_next;
-        }
-        sdb->func = NULL;
-	}
-    /* 'free' all references */
-    sq_release(sdb->v, &sdb->busy_cb);
-    sq_release(sdb->v, &sdb->busy_udata);
-    sq_release(sdb->v, &sdb->progress_cb);
-    sq_release(sdb->v, &sdb->progress_udata);
-    sq_release(sdb->v, &sdb->trace_cb);
-    sq_release(sdb->v, &sdb->trace_udata);
-    sq_release(sdb->v, &sdb->null_value);
-
-	sq_free(sdb, sizeof(sq_sqlite3_sdb));
-	}
+        if(sdb->func){
+            sq_sqlite3_sdb_func *func, *func_next;
+            func = sdb->func;
+            while (func) {
+                func_next = func->next;
+                sq_release(sdb->v, &func->fn_step);
+                sq_release(sdb->v, &func->fn_finalize);
+                sq_release(sdb->v, &func->udata);
+                sq_free(func, sizeof(sq_sqlite3_sdb_func));
+                func = func_next;
+            }
+            sdb->func = NULL;
+        }
+        /* 'free' all references */
+        sq_release(sdb->v, &sdb->busy_cb);
+        sq_release(sdb->v, &sdb->busy_udata);
+        sq_release(sdb->v, &sdb->progress_cb);
+        sq_release(sdb->v, &sdb->progress_udata);
+        sq_release(sdb->v, &sdb->trace_cb);
+        sq_release(sdb->v, &sdb->trace_udata);
+        sq_release(sdb->v, &sdb->null_value);
+
+        sq_free(sdb, sizeof(sq_sqlite3_sdb));
+        }
 	}
 	return rc;
 }
@@ -1144,6 +1144,7 @@ static SQRESULT sq_sqlite3_constructor(HSQUIRRELVM v)
     sq_resetobject(&sdb->progress_udata);
     sq_resetobject(&sdb->trace_cb);
     sq_resetobject(&sdb->trace_udata);
+    sq_resetobject(&sdb->null_value);
 
     sq_setinstanceup(v, 1, sdb);
     sq_setreleasehook(v,1, sq_sqlite3_releasehook);