diff options
Diffstat (limited to 'dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_1.patch')
-rw-r--r-- | dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_1.patch | 670 |
1 files changed, 670 insertions, 0 deletions
diff --git a/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_1.patch b/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_1.patch new file mode 100644 index 000000000000..aec90e4c07ad --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_1.patch @@ -0,0 +1,670 @@ +Add initialization functions for internal usage in libsqlite3.so. + +--- /ext/misc/carray.c ++++ /ext/misc/carray.c +@@ -383,16 +383,8 @@ + + #endif /* SQLITE_OMIT_VIRTUALTABLE */ + +-#ifdef _WIN32 +-__declspec(dllexport) +-#endif +-int sqlite3_carray_init( +- sqlite3 *db, +- char **pzErrMsg, +- const sqlite3_api_routines *pApi +-){ ++int sqlite3CarrayInit(sqlite3 *db){ + int rc = SQLITE_OK; +- SQLITE_EXTENSION_INIT2(pApi); + #ifndef SQLITE_OMIT_VIRTUALTABLE + rc = sqlite3_create_module(db, "carray", &carrayModule, 0); + #ifdef SQLITE_TEST +@@ -404,3 +396,18 @@ + #endif /* SQLITE_OMIT_VIRTUALTABLE */ + return rc; + } ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) ++#ifdef _WIN32 ++__declspec(dllexport) ++#endif ++int sqlite3_carray_init( ++ sqlite3 *db, ++ char **pzErrMsg, ++ const sqlite3_api_routines *pApi ++){ ++ SQLITE_EXTENSION_INIT2(pApi); ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3CarrayInit(db); ++} ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/completion.c ++++ /ext/misc/completion.c +@@ -483,12 +483,13 @@ + return rc; + } + ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif + int sqlite3_completion_init( +- sqlite3 *db, +- char **pzErrMsg, ++ sqlite3 *db, ++ char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ + int rc = SQLITE_OK; +@@ -499,3 +500,4 @@ + #endif + return rc; + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/csv.c ++++ /ext/misc/csv.c +@@ -928,6 +928,22 @@ + #endif /* !defined(SQLITE_OMIT_VIRTUALTABLE) */ + + ++int sqlite3CsvInit(sqlite3 *db){ ++#ifndef SQLITE_OMIT_VIRTUALTABLE ++ int rc; ++ rc = sqlite3_create_module(db, "csv", &CsvModule, 0); ++#ifdef SQLITE_TEST ++ if( rc==SQLITE_OK ){ ++ rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0); ++ } ++#endif ++ return rc; ++#else ++ return SQLITE_OK; ++#endif ++} ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -941,17 +957,8 @@ + char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ +-#ifndef SQLITE_OMIT_VIRTUALTABLE +- int rc; + SQLITE_EXTENSION_INIT2(pApi); +- rc = sqlite3_create_module(db, "csv", &CsvModule, 0); +-#ifdef SQLITE_TEST +- if( rc==SQLITE_OK ){ +- rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0); +- } +-#endif +- return rc; +-#else +- return SQLITE_OK; +-#endif ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3CsvInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/dbdata.c ++++ /ext/misc/dbdata.c +@@ -803,7 +803,7 @@ + /* + ** Invoke this routine to register the "sqlite_dbdata" virtual table module + */ +-static int sqlite3DbdataRegister(sqlite3 *db){ ++int sqlite3DbdataRegister(sqlite3 *db){ + static sqlite3_module dbdata_module = { + 0, /* iVersion */ + 0, /* xCreate */ +@@ -838,6 +838,7 @@ + return rc; + } + ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -849,3 +850,4 @@ + SQLITE_EXTENSION_INIT2(pApi); + return sqlite3DbdataRegister(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/eval.c ++++ /ext/misc/eval.c +@@ -102,6 +102,20 @@ + } + + ++int sqlite3EvalInit(sqlite3 *db){ ++ int rc = SQLITE_OK; ++ rc = sqlite3_create_function(db, "eval", 1, ++ SQLITE_UTF8|SQLITE_DIRECTONLY, 0, ++ sqlEvalFunc, 0, 0); ++ if( rc==SQLITE_OK ){ ++ rc = sqlite3_create_function(db, "eval", 2, ++ SQLITE_UTF8|SQLITE_DIRECTONLY, 0, ++ sqlEvalFunc, 0, 0); ++ } ++ return rc; ++} ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -110,16 +124,8 @@ + char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ +- int rc = SQLITE_OK; + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErrMsg; /* Unused parameter */ +- rc = sqlite3_create_function(db, "eval", 1, +- SQLITE_UTF8|SQLITE_DIRECTONLY, 0, +- sqlEvalFunc, 0, 0); +- if( rc==SQLITE_OK ){ +- rc = sqlite3_create_function(db, "eval", 2, +- SQLITE_UTF8|SQLITE_DIRECTONLY, 0, +- sqlEvalFunc, 0, 0); +- } +- return rc; ++ return sqlite3EvalInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/fileio.c ++++ /ext/misc/fileio.c +@@ -340,7 +340,7 @@ + ** This function does the work for the writefile() UDF. Refer to + ** header comments at the top of this file for details. + */ +-static int writeFile( ++static int writeFileContents( + sqlite3_context *pCtx, /* Context to return bytes written in */ + const char *zFile, /* File to write */ + sqlite3_value *pData, /* Data to write */ +@@ -480,10 +480,10 @@ + mtime = sqlite3_value_int64(argv[3]); + } + +- res = writeFile(context, zFile, argv[1], mode, mtime); ++ res = writeFileContents(context, zFile, argv[1], mode, mtime); + if( res==1 && errno==ENOENT ){ + if( makeDirectory(zFile)==SQLITE_OK ){ +- res = writeFile(context, zFile, argv[1], mode, mtime); ++ res = writeFileContents(context, zFile, argv[1], mode, mtime); + } + } + +@@ -970,18 +970,9 @@ + # define fsdirRegister(x) SQLITE_OK + #endif + +-#ifdef _WIN32 +-__declspec(dllexport) +-#endif +-int sqlite3_fileio_init( +- sqlite3 *db, +- char **pzErrMsg, +- const sqlite3_api_routines *pApi +-){ ++int sqlite3FileioInit(sqlite3 *db){ + int rc = SQLITE_OK; +- SQLITE_EXTENSION_INIT2(pApi); +- (void)pzErrMsg; /* Unused parameter */ +- rc = sqlite3_create_function(db, "readfile", 1, ++ rc = sqlite3_create_function(db, "readfile", 1, + SQLITE_UTF8|SQLITE_DIRECTONLY, 0, + readfileFunc, 0, 0); + if( rc==SQLITE_OK ){ +@@ -998,3 +989,18 @@ + } + return rc; + } ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) ++#ifdef _WIN32 ++__declspec(dllexport) ++#endif ++int sqlite3_fileio_init( ++ sqlite3 *db, ++ char **pzErrMsg, ++ const sqlite3_api_routines *pApi ++){ ++ SQLITE_EXTENSION_INIT2(pApi); ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3FileioInit(db); ++} ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/ieee754.c ++++ /ext/misc/ieee754.c +@@ -110,6 +110,20 @@ + } + + ++int sqlite3IeeeInit(sqlite3 *db){ ++ int rc = SQLITE_OK; ++ rc = sqlite3_create_function(db, "ieee754", 1, ++ SQLITE_UTF8|SQLITE_INNOCUOUS, 0, ++ ieee754func, 0, 0); ++ if( rc==SQLITE_OK ){ ++ rc = sqlite3_create_function(db, "ieee754", 2, ++ SQLITE_UTF8|SQLITE_INNOCUOUS, 0, ++ ieee754func, 0, 0); ++ } ++ return rc; ++} ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -118,16 +132,8 @@ + char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ +- int rc = SQLITE_OK; + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErrMsg; /* Unused parameter */ +- rc = sqlite3_create_function(db, "ieee754", 1, +- SQLITE_UTF8|SQLITE_INNOCUOUS, 0, +- ieee754func, 0, 0); +- if( rc==SQLITE_OK ){ +- rc = sqlite3_create_function(db, "ieee754", 2, +- SQLITE_UTF8|SQLITE_INNOCUOUS, 0, +- ieee754func, 0, 0); +- } +- return rc; ++ return sqlite3IeeeInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/regexp.c ++++ /ext/misc/regexp.c +@@ -740,10 +740,18 @@ + } + } + ++int sqlite3RegexpInit(sqlite3 *db){ ++ int rc = SQLITE_OK; ++ rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS, ++ 0, re_sql_func, 0, 0); ++ return rc; ++} ++ + /* + ** Invoke this routine to register the regexp() function with the + ** SQLite database connection. + */ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -752,9 +760,8 @@ + char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ +- int rc = SQLITE_OK; + SQLITE_EXTENSION_INIT2(pApi); +- rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS, +- 0, re_sql_func, 0, 0); +- return rc; ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3RegexpInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/sha1.c ++++ /ext/misc/sha1.c +@@ -175,7 +175,7 @@ + } + + /* Compute a string using sqlite3_vsnprintf() and hash it */ +-static void hash_step_vformat( ++static void sha1_hash_step_vformat( + SHA1Context *p, /* Add content to this context */ + const char *zFormat, + ... +@@ -306,7 +306,7 @@ + nCol = sqlite3_column_count(pStmt); + z = sqlite3_sql(pStmt); + n = (int)strlen(z); +- hash_step_vformat(&cx,"S%d:",n); ++ sha1_hash_step_vformat(&cx,"S%d:",n); + hash_step(&cx,(unsigned char*)z,n); + + /* Compute a hash over the result of the query */ +@@ -349,14 +349,14 @@ + case SQLITE_TEXT: { + int n2 = sqlite3_column_bytes(pStmt, i); + const unsigned char *z2 = sqlite3_column_text(pStmt, i); +- hash_step_vformat(&cx,"T%d:",n2); ++ sha1_hash_step_vformat(&cx,"T%d:",n2); + hash_step(&cx, z2, n2); + break; + } + case SQLITE_BLOB: { + int n2 = sqlite3_column_bytes(pStmt, i); + const unsigned char *z2 = sqlite3_column_blob(pStmt, i); +- hash_step_vformat(&cx,"B%d:",n2); ++ sha1_hash_step_vformat(&cx,"B%d:",n2); + hash_step(&cx, z2, n2); + break; + } +@@ -370,6 +370,20 @@ + } + + ++int sqlite3ShaInit(sqlite3 *db){ ++ int rc = SQLITE_OK; ++ rc = sqlite3_create_function(db, "sha1", 1, ++ SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC, ++ 0, sha1Func, 0, 0); ++ if( rc==SQLITE_OK ){ ++ rc = sqlite3_create_function(db, "sha1_query", 1, ++ SQLITE_UTF8|SQLITE_DIRECTONLY, 0, ++ sha1QueryFunc, 0, 0); ++ } ++ return rc; ++} ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -378,16 +392,8 @@ + char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ +- int rc = SQLITE_OK; + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErrMsg; /* Unused parameter */ +- rc = sqlite3_create_function(db, "sha1", 1, +- SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC, +- 0, sha1Func, 0, 0); +- if( rc==SQLITE_OK ){ +- rc = sqlite3_create_function(db, "sha1_query", 1, +- SQLITE_UTF8|SQLITE_DIRECTONLY, 0, +- sha1QueryFunc, 0, 0); +- } +- return rc; ++ return sqlite3ShaInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/shathree.c ++++ /ext/misc/shathree.c +@@ -527,7 +527,7 @@ + /* Compute a string using sqlite3_vsnprintf() with a maximum length + ** of 50 bytes and add it to the hash. + */ +-static void hash_step_vformat( ++static void sha3_hash_step_vformat( + SHA3Context *p, /* Add content to this context */ + const char *zFormat, + ... +@@ -622,7 +622,7 @@ + nCol = sqlite3_column_count(pStmt); + z = sqlite3_sql(pStmt); + n = (int)strlen(z); +- hash_step_vformat(&cx,"S%d:",n); ++ sha3_hash_step_vformat(&cx,"S%d:",n); + SHA3Update(&cx,(unsigned char*)z,n); + + /* Compute a hash over the result of the query */ +@@ -665,14 +665,14 @@ + case SQLITE_TEXT: { + int n2 = sqlite3_column_bytes(pStmt, i); + const unsigned char *z2 = sqlite3_column_text(pStmt, i); +- hash_step_vformat(&cx,"T%d:",n2); ++ sha3_hash_step_vformat(&cx,"T%d:",n2); + SHA3Update(&cx, z2, n2); + break; + } + case SQLITE_BLOB: { + int n2 = sqlite3_column_bytes(pStmt, i); + const unsigned char *z2 = sqlite3_column_blob(pStmt, i); +- hash_step_vformat(&cx,"B%d:",n2); ++ sha3_hash_step_vformat(&cx,"B%d:",n2); + SHA3Update(&cx, z2, n2); + break; + } +@@ -685,17 +685,8 @@ + } + + +-#ifdef _WIN32 +-__declspec(dllexport) +-#endif +-int sqlite3_shathree_init( +- sqlite3 *db, +- char **pzErrMsg, +- const sqlite3_api_routines *pApi +-){ ++int sqlite3ShathreeInit(sqlite3 *db){ + int rc = SQLITE_OK; +- SQLITE_EXTENSION_INIT2(pApi); +- (void)pzErrMsg; /* Unused parameter */ + rc = sqlite3_create_function(db, "sha3", 1, + SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC, + 0, sha3Func, 0, 0); +@@ -716,3 +707,18 @@ + } + return rc; + } ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) ++#ifdef _WIN32 ++__declspec(dllexport) ++#endif ++int sqlite3_shathree_init( ++ sqlite3 *db, ++ char **pzErrMsg, ++ const sqlite3_api_routines *pApi ++){ ++ SQLITE_EXTENSION_INIT2(pApi); ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3ShathreeInit(db); ++} ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/sqlar.c ++++ /ext/misc/sqlar.c +@@ -14,6 +14,8 @@ + ** for working with sqlar archives and used by the shell tool's built-in + ** sqlar support. + */ ++#ifdef SQLITE_HAVE_ZLIB ++ + #include "sqlite3ext.h" + SQLITE_EXTENSION_INIT1 + #include <zlib.h> +@@ -101,6 +103,20 @@ + } + + ++int sqlite3SqlarInit(sqlite3 *db){ ++ int rc = SQLITE_OK; ++ rc = sqlite3_create_function(db, "sqlar_compress", 1, ++ SQLITE_UTF8|SQLITE_INNOCUOUS, 0, ++ sqlarCompressFunc, 0, 0); ++ if( rc==SQLITE_OK ){ ++ rc = sqlite3_create_function(db, "sqlar_uncompress", 2, ++ SQLITE_UTF8|SQLITE_INNOCUOUS, 0, ++ sqlarUncompressFunc, 0, 0); ++ } ++ return rc; ++} ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -109,16 +125,10 @@ + char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ +- int rc = SQLITE_OK; + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErrMsg; /* Unused parameter */ +- rc = sqlite3_create_function(db, "sqlar_compress", 1, +- SQLITE_UTF8|SQLITE_INNOCUOUS, 0, +- sqlarCompressFunc, 0, 0); +- if( rc==SQLITE_OK ){ +- rc = sqlite3_create_function(db, "sqlar_uncompress", 2, +- SQLITE_UTF8|SQLITE_INNOCUOUS, 0, +- sqlarUncompressFunc, 0, 0); +- } +- return rc; ++ return sqlite3SqlarInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ ++ ++#endif /* SQLITE_HAVE_ZLIB */ +--- /ext/misc/totype.c ++++ /ext/misc/totype.c +@@ -491,17 +491,8 @@ + #pragma warning(default: 4748) + #endif + +-#ifdef _WIN32 +-__declspec(dllexport) +-#endif +-int sqlite3_totype_init( +- sqlite3 *db, +- char **pzErrMsg, +- const sqlite3_api_routines *pApi +-){ ++int sqlite3TotypeInit(sqlite3 *db){ + int rc = SQLITE_OK; +- SQLITE_EXTENSION_INIT2(pApi); +- (void)pzErrMsg; /* Unused parameter */ + rc = sqlite3_create_function(db, "tointeger", 1, + SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS, 0, + tointegerFunc, 0, 0); +@@ -512,3 +503,18 @@ + } + return rc; + } ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) ++#ifdef _WIN32 ++__declspec(dllexport) ++#endif ++int sqlite3_totype_init( ++ sqlite3 *db, ++ char **pzErrMsg, ++ const sqlite3_api_routines *pApi ++){ ++ SQLITE_EXTENSION_INIT2(pApi); ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3TotypeInit(db); ++} ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/uint.c ++++ /ext/misc/uint.c +@@ -78,6 +78,11 @@ + return (nKey1 - i) - (nKey2 - j); + } + ++int sqlite3UintInit(sqlite3 *db){ ++ return sqlite3_create_collation(db, "UINT", SQLITE_UTF8, 0, uintCollFunc); ++} ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -88,5 +93,6 @@ + ){ + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErrMsg; /* Unused parameter */ +- return sqlite3_create_collation(db, "uint", SQLITE_UTF8, 0, uintCollFunc); ++ return sqlite3UintInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/uuid.c ++++ /ext/misc/uuid.c +@@ -206,21 +206,12 @@ + sqlite3_result_blob(context, pBlob, 16, SQLITE_TRANSIENT); + } + +-#ifdef _WIN32 +-__declspec(dllexport) +-#endif +-int sqlite3_uuid_init( +- sqlite3 *db, +- char **pzErrMsg, +- const sqlite3_api_routines *pApi +-){ ++int sqlite3UuidInit(sqlite3 *db){ + int rc = SQLITE_OK; +- SQLITE_EXTENSION_INIT2(pApi); +- (void)pzErrMsg; /* Unused parameter */ + rc = sqlite3_create_function(db, "uuid", 0, SQLITE_UTF8|SQLITE_INNOCUOUS, 0, + sqlite3UuidFunc, 0, 0); + if( rc==SQLITE_OK ){ +- rc = sqlite3_create_function(db, "uuid_str", 1, ++ rc = sqlite3_create_function(db, "uuid_str", 1, + SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC, + 0, sqlite3UuidStrFunc, 0, 0); + } +@@ -231,3 +222,18 @@ + } + return rc; + } ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) ++#ifdef _WIN32 ++__declspec(dllexport) ++#endif ++int sqlite3_uuid_init( ++ sqlite3 *db, ++ char **pzErrMsg, ++ const sqlite3_api_routines *pApi ++){ ++ SQLITE_EXTENSION_INIT2(pApi); ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3UuidInit(db); ++} ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/zipfile.c ++++ /ext/misc/zipfile.c +@@ -24,6 +24,8 @@ + ** * No support for zip64 extensions + ** * Only the "inflate/deflate" (zlib) compression method is supported + */ ++#ifdef SQLITE_HAVE_ZLIB ++ + #include "sqlite3ext.h" + SQLITE_EXTENSION_INIT1 + #include <stdio.h> +@@ -2137,7 +2139,7 @@ + /* + ** Register the "zipfile" virtual table. + */ +-static int zipfileRegister(sqlite3 *db){ ++int sqlite3ZipfileInit(sqlite3 *db){ + static sqlite3_module zipfileModule = { + 1, /* iVersion */ + zipfileConnect, /* xCreate */ +@@ -2171,9 +2173,10 @@ + return rc; + } + #else /* SQLITE_OMIT_VIRTUALTABLE */ +-# define zipfileRegister(x) SQLITE_OK ++# define sqlite3ZipfileInit(x) SQLITE_OK + #endif + ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -2184,5 +2187,8 @@ + ){ + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErrMsg; /* Unused parameter */ +- return zipfileRegister(db); ++ return sqlite3ZipfileInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ ++ ++#endif /* SQLITE_HAVE_ZLIB */ |