1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
From 666cb6c80226467be262c088a26246c48cdef7e5 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@php.net>
Date: Wed, 2 Aug 2017 14:01:56 +0200
Subject: [PATCH] fix build with old system libsqlite (sqlite3_errstr may be
missing)
---
ext/sqlite3/config0.m4 | 5 ++++-
ext/sqlite3/sqlite3.c | 4 ++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/ext/sqlite3/config0.m4 b/ext/sqlite3/config0.m4
index 3aa4492..ba760e1 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 dcbc03c..a22f455 100644
--- a/ext/sqlite3/sqlite3.c
+++ b/ext/sqlite3/sqlite3.c
@@ -148,7 +148,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);
}
--
2.1.4
|