summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-11-05 19:43:12 +0800
committerPo Lu <luangruo@yahoo.com>2022-11-05 19:43:30 +0800
commitae7dcba6c5d9c2c19f4ee67793e164af3723f69f (patch)
tree107ad6a275b52c20bf21a4eb7ed2b3a65594d144 /src
parent656cc127f2e16fd40585ddc9646b1cb8d552d9dd (diff)
Make sqlite.c build with SQlite in Fedora 9
* src/sqlite.c (sqlite_prepare_errdata): Use sqlite3_errmsg instead of sqlite3_errstr.
Diffstat (limited to 'src')
-rw-r--r--src/sqlite.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/sqlite.c b/src/sqlite.c
index 08bf696b8ca..906d0640003 100644
--- a/src/sqlite.c
+++ b/src/sqlite.c
@@ -428,11 +428,23 @@ row_to_value (sqlite3_stmt *stmt)
static Lisp_Object
sqlite_prepare_errdata (int code, sqlite3 *sdb)
{
- Lisp_Object errstr = build_string (sqlite3_errstr (code));
- Lisp_Object errcode = make_fixnum (code);
+ Lisp_Object errstr, errcode, ext_errcode;
+ const char *errmsg;
+
+ /* The internet says this is identical to sqlite3_errstr (code),
+ which is too new to exist on Fedora 9. */
+ errmsg = sqlite3_errmsg (sdb);
+ errstr = errmsg ? build_string (errmsg) : Qnil;
+ errcode = make_fixnum (code);
+
/* More details about what went wrong. */
- Lisp_Object ext_errcode = make_fixnum (sqlite3_extended_errcode (sdb));
- const char *errmsg = sqlite3_errmsg (sdb);
+#if SQLITE_VERSION_NUMBER >= 3006005
+ ext_errcode = make_fixnum (sqlite3_extended_errcode (sdb));
+#else
+ /* What value to use here? */
+ ext_errcode = make_fixnum (0);
+#endif
+
return list4 (errstr, errmsg ? build_string (errmsg) : Qnil,
errcode, ext_errcode);
}