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


Reply via email to