]> granicus.if.org Git - php/commitdiff
fix build with old system libsqlite (sqlite3_close_v2 may be missing)
authorRemi Collet <remi@php.net>
Wed, 2 Aug 2017 14:09:36 +0000 (16:09 +0200)
committerRemi Collet <remi@php.net>
Wed, 2 Aug 2017 14:09:36 +0000 (16:09 +0200)
ext/pdo_sqlite/config.m4
ext/pdo_sqlite/sqlite_driver.c

index 44b22b63208f11644c32c93a3ab64a74391141ec..b050eea4f1c5d9f96c9c4d1a8b25c0f1b3969aa8 100644 (file)
@@ -68,6 +68,9 @@ if test "$PHP_PDO_SQLITE" != "no"; then
     PHP_CHECK_LIBRARY(sqlite3,sqlite3_key,[
       AC_DEFINE(HAVE_SQLITE3_KEY,1, [have commercial sqlite3 with crypto support])
     ])
+    PHP_CHECK_LIBRARY(sqlite3,sqlite3_close_v2,[
+      AC_DEFINE(HAVE_SQLITE3_CLOSE_V2, 1, [have sqlite3_close_v2])
+    ])
 
     PHP_SUBST(PDO_SQLITE_SHARED_LIBADD)
     PHP_NEW_EXTENSION(pdo_sqlite, $php_pdo_sqlite_sources_core, $ext_shared,,-I$pdo_cv_inc_path)
@@ -79,6 +82,7 @@ if test "$PHP_PDO_SQLITE" != "no"; then
         threadsafe_flags="-DSQLITE_THREADSAFE=0"
       fi
 
+      AC_DEFINE(HAVE_SQLITE3_CLOSE_V2, 1, [have sqlite3_close_v2])
       other_flags="-DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_COLUMN_METADATA=1"
 
          dnl As long as intl is not shared we can have ICU support
index 3d32f232e834b1ea71d90cbf28ac9e0cc45d5335..e234406be9bb97e5d2c7cfe11ef774aa55162765 100644 (file)
@@ -161,7 +161,11 @@ static int sqlite_handle_closer(pdo_dbh_t *dbh) /* {{{ */
 
                pdo_sqlite_cleanup_callbacks(H);
                if (H->db) {
+#ifdef HAVE_SQLITE3_CLOSE_V2
                        sqlite3_close_v2(H->db);
+#else
+                       sqlite3_close(H->db);
+#endif
                        H->db = NULL;
                }
                if (einfo->errmsg) {