Author: brane
Date: Tue Dec 4 17:20:30 2012
New Revision: 1417042
URL: http://svn.apache.org/viewvc?rev=1417042&view=rev
Log:
Followup to r1417014: what "works" on OSX with a silly LibAPR will not
necessarily work in a more normal situation.
* subversion/libsvn_subr/sqlite3wrapper.c
(svn_sqlite3__api_initialize, svn_sqlite3__api_config): Manually export
two extra SQLite functions that the vtable does not contain. Their lack
was not apparent on my OSX with stock libapr, because that pulls in -lsqlite.
(svn_sqlite3__api_funcs): Rename from sqlite3_api.
* subversion/libsvn_subr/sqlite.c: Import tese new symbols from sqlite3wrapper.
(sqlite3_api, sqlite3_initialize, sqlite3_config): Locally rename the
imported symbols.
Modified:
subversion/trunk/subversion/libsvn_subr/sqlite.c
subversion/trunk/subversion/libsvn_subr/sqlite3wrapper.c
Modified: subversion/trunk/subversion/libsvn_subr/sqlite.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sqlite.c?rev=1417042&r1=1417041&r2=1417042&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sqlite.c (original)
+++ subversion/trunk/subversion/libsvn_subr/sqlite.c Tue Dec 4 17:20:30 2012
@@ -44,11 +44,16 @@
#ifdef SVN_SQLITE_INLINE
/* Import the sqlite3 API vtable from sqlite3wrapper.c */
-#define SQLITE_OMIT_DEPRECATED
-#include <sqlite3ext.h>
-extern const sqlite3_api_routines *const sqlite3_api;
+# define SQLITE_OMIT_DEPRECATED
+# include <sqlite3ext.h>
+extern const sqlite3_api_routines *const svn_sqlite3__api_funcs;
+extern int (*const svn_sqlite3__api_initialize)(void);
+extern int (*const svn_sqlite3__api_config)(int, ...);
+# define sqlite3_api svn_sqlite3__api_funcs
+# define sqlite3_initialize svn_sqlite3__api_initialize
+# define sqlite3_config svn_sqlite3__api_config
#else
-#include <sqlite3.h>
+# include <sqlite3.h>
#endif
#if !SQLITE_VERSION_AT_LEAST(3,7,12)
Modified: subversion/trunk/subversion/libsvn_subr/sqlite3wrapper.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sqlite3wrapper.c?rev=1417042&r1=1417041&r2=1417042&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sqlite3wrapper.c (original)
+++ subversion/trunk/subversion/libsvn_subr/sqlite3wrapper.c Tue Dec 4
17:20:30 2012
@@ -44,6 +44,8 @@
# pragma GCC diagnostic pop
# endif
-/* Expose the sqlite API vtable */
-const sqlite3_api_routines *const sqlite3_api = &sqlite3Apis;
+/* Expose the sqlite API vtable and the two missing functions */
+const sqlite3_api_routines *const svn_sqlite3__api_funcs = &sqlite3Apis;
+int (*const svn_sqlite3__api_initialize)(void) = sqlite3_initialize;
+int (*const svn_sqlite3__api_config)(int, ...) = sqlite3_config;
#endif