summaryrefslogtreecommitdiff
path: root/ext/sqlite3
diff options
context:
space:
mode:
authorRemi Collet <remi@php.net>2017-08-02 14:03:23 +0200
committerRemi Collet <remi@php.net>2017-08-02 14:03:23 +0200
commit5e5895a4644dc30fb150e390ae62f248100ec87b (patch)
treef0abbcee47b02c127fc0fd18578d905d6b4556d7 /ext/sqlite3
parent6202c821a9a1500fc7a5a66602e47df06ef80f4d (diff)
parent5f030924c19a39c09b57d40615f754cf80ae0e7d (diff)
downloadphp-git-5e5895a4644dc30fb150e390ae62f248100ec87b.tar.gz
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1: fix build with old system libsqlite (sqlite3_errstr may be missing)
Diffstat (limited to 'ext/sqlite3')
-rw-r--r--ext/sqlite3/config0.m45
-rw-r--r--ext/sqlite3/sqlite3.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ext/sqlite3/config0.m4 b/ext/sqlite3/config0.m4
index 3aa44928b7..ba760e1713 100644
--- a/ext/sqlite3/config0.m4
+++ b/ext/sqlite3/config0.m4
@@ -53,6 +53,9 @@ if test $PHP_SQLITE3 != "no"; then
PHP_CHECK_LIBRARY(sqlite3,sqlite3_column_table_name,[
AC_DEFINE(SQLITE_ENABLE_COLUMN_METADATA, 1, [have sqlite3 with column metadata enabled])
])
+ PHP_CHECK_LIBRARY(sqlite3,sqlite3_errstr,[
+ AC_DEFINE(HAVE_SQLITE3_ERRSTR, 1, [have sqlite3_errstr function])
+ ])
PHP_CHECK_LIBRARY(sqlite3,sqlite3_load_extension,
[],
@@ -75,7 +78,7 @@ if test $PHP_SQLITE3 != "no"; then
debug_flags="-DSQLITE_DEBUG=1"
fi
- other_flags="-DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_COLUMN_METADATA=1"
+ other_flags="-DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DHAVE_SQLITE3_ERRSTR=1"
dnl As long as intl is not shared we can have ICU support
if test "$PHP_INTL" = "yes" && test "$PHP_INTL_SHARED" != "yes"; then
diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c
index a74ff8d971..cdd17bd159 100644
--- a/ext/sqlite3/sqlite3.c
+++ b/ext/sqlite3/sqlite3.c
@@ -140,7 +140,11 @@ PHP_METHOD(sqlite3, open)
#endif
if (rc != SQLITE_OK) {
zend_throw_exception_ex(zend_ce_exception, 0, "Unable to open database: %s",
+#ifdef HAVE_SQLITE3_ERRSTR
db_obj->db ? sqlite3_errmsg(db_obj->db) : sqlite3_errstr(rc));
+#else
+ db_obj->db ? sqlite3_errmsg(db_obj->db) : "");
+#endif
if (fullpath != filename) {
efree(fullpath);
}