]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix Fsqlite_finalize book-keeping
authorLars Ingebrigtsen <larsi@gnus.org>
Sat, 11 Dec 2021 06:47:34 +0000 (07:47 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Sat, 11 Dec 2021 07:18:09 +0000 (08:18 +0100)
* src/sqlite.c (Fsqlite_finalize): Mark the object as dead.

src/sqlite.c
test/src/sqlite-tests.el

index 42a7a3a026879d625846ee5b2c3c2ad2daf890ed..c1f3e7b599f92c40d7d8248f36d45b69738ea9ea 100644 (file)
@@ -290,7 +290,7 @@ DEFUN ("sqlite-close", Fsqlite_close, Ssqlite_close, 1, 1, 0,
   check_sqlite (db, false);
   sqlite3_close (XSQLITE (db)->db);
   XSQLITE (db)->db = NULL;
-  return Qnil;
+  return Qt;
 }
 
 /* Bind values in a statement like
@@ -647,6 +647,7 @@ This will free the resources held by SET.  */)
 {
   check_sqlite (set, true);
   sqlite3_finalize (XSQLITE (set)->stmt);
+  XSQLITE (set)->db = NULL;
   return Qt;
 }
 
index 412ea291893cd609384dacc41bcbe27ac26e906f..7ccea1c2a548e65a88f2febe3d754c9a7feb3722 100644 (file)
@@ -79,7 +79,9 @@
     (should (equal (sqlite-next set)
                    '("bar" 2)))
     (should-not (sqlite-next set))
-    (should-not (sqlite-more-p set))))
+    (should-not (sqlite-more-p set))
+    (sqlite-finalize set)
+    (should-error (sqlite-next set))))
 
 (ert-deftest sqlite-chars ()
   (skip-unless (sqlite-available-p))