From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from krisdoz.my.domain (schwarze@localhost [127.0.0.1]) by krisdoz.my.domain (8.14.5/8.14.5) with ESMTP id s75CoqXB012417 for ; Tue, 5 Aug 2014 08:50:52 -0400 (EDT) Received: (from schwarze@localhost) by krisdoz.my.domain (8.14.5/8.14.3/Submit) id s75CoqmX015806; Tue, 5 Aug 2014 08:50:52 -0400 (EDT) Date: Tue, 5 Aug 2014 08:50:52 -0400 (EDT) Message-Id: <201408051250.s75CoqmX015806@krisdoz.my.domain> X-Mailinglist: mdocml-source Reply-To: source@mdocml.bsd.lv MIME-Version: 1.0 From: schwarze@mdocml.bsd.lv To: source@mdocml.bsd.lv Subject: mdocml: Since old SQLite versions do not have sqlite3_errstr(), provide X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Log Message: ----------- Since old SQLite versions do not have sqlite3_errstr(), provide a dummy fallback implementation. Do not bother to decode the error, SQLite error codes are not useful enough for that to be worthwhile. Note that using sqlite3_errmsg(db) would be a bad idea: On malloc() failure, db is NULL, which would cause a segfault. Issue noticed by kristaps@. Modified Files: -------------- mdocml: Makefile config.h.post configure Added Files: ----------- mdocml: test-sqlite3_errstr.c compat_sqlite3_errstr.c Revision Data ------------- --- /dev/null +++ test-sqlite3_errstr.c @@ -0,0 +1,8 @@ +#include +#include + +int +main(void) +{ + return(strcmp(sqlite3_errstr(SQLITE_OK), "not an error")); +} --- /dev/null +++ compat_sqlite3_errstr.c @@ -0,0 +1,18 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_SQLITE3_ERRSTR + +int dummy; + +#else + +const char * +sqlite3_errstr(int rc) +{ + + return(rc ? "unknown error" : "not an error"); +} + +#endif Index: configure =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/configure,v retrieving revision 1.5 retrieving revision 1.6 diff -Lconfigure -Lconfigure -u -p -r1.5 -r1.6 --- configure +++ configure @@ -35,6 +35,8 @@ runtest getsubopt GETSUBOPT runtest mmap MMAP runtest ohash OHASH -lutil runtest reallocarray REALLOCARRAY +runtest sqlite3_errstr SQLITE3_ERRSTR \ + "-I/usr/local/include -L/usr/local/lib -lsqlite3" runtest strcasestr STRCASESTR runtest strlcat STRLCAT runtest strlcpy STRLCPY Index: Makefile =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/Makefile,v retrieving revision 1.431 retrieving revision 1.432 diff -LMakefile -LMakefile -u -p -r1.431 -r1.432 --- Makefile +++ Makefile @@ -121,6 +121,7 @@ TESTSRCS = test-fgetln.c \ test-mmap.c \ test-ohash.c \ test-reallocarray.c \ + test-sqlite3_errstr.c \ test-strcasestr.c \ test-strlcat.c \ test-strlcpy.c \ @@ -136,6 +137,7 @@ SRCS = apropos.c \ compat_getsubopt.c \ compat_ohash.c \ compat_reallocarray.c \ + compat_sqlite3_errstr.c \ compat_strcasestr.c \ compat_strlcat.c \ compat_strlcpy.c \ @@ -281,6 +283,7 @@ COMPAT_OBJS = compat_fgetln.o \ compat_getsubopt.o \ compat_ohash.o \ compat_reallocarray.o \ + compat_sqlite3_errstr.o \ compat_strcasestr.o \ compat_strlcat.o \ compat_strlcpy.o \ Index: config.h.post =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/config.h.post,v retrieving revision 1.10 retrieving revision 1.11 diff -Lconfig.h.post -Lconfig.h.post -u -p -r1.10 -r1.11 --- config.h.post +++ config.h.post @@ -23,6 +23,9 @@ extern char *suboptarg; #ifndef HAVE_REALLOCARRAY extern void *reallocarray(void *, size_t, size_t); #endif +#ifndef HAVE_SQLITE3_ERRSTR +extern const char *sqlite3_errstr(int); +#endif #ifndef HAVE_STRCASESTR extern char *strcasestr(const char *, const char *); #endif -- To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv