1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-27 20:41:58 +03:00

Another reformulation of SQLITE_WASM_DEALLOC to attempt to work around a Safari-specific quirk reported in [forum:5489305f601b8c3f|forum post 5489305f601b8c3f].

FossilOrigin-Name: ae0196d86ee8ca424b5ef5a43c32988f4ab5131ea146669bc1467e31a2384901
This commit is contained in:
stephan
2023-01-02 20:07:30 +00:00
parent a347927d60
commit b1cc895c92
4 changed files with 22 additions and 10 deletions

View File

@ -463,9 +463,13 @@ const char * sqlite3_wasm_enum_json(void){
DefGroup(blobFinalizers) {
/* SQLITE_STATIC/TRANSIENT need to be handled explicitly as
** integers to avoid casting-related warnings. */
out("\"SQLITE_STATIC\":0, \"SQLITE_TRANSIENT\":-1,");
outf("\"SQLITE_WASM_DEALLOC\": %lld",
out("\"SQLITE_STATIC\":0, \"SQLITE_TRANSIENT\":-1");
#if 0
/* This approach to exporting SQLITE_WASM_DEALLOC as a pointer to
sqlite3_free fails in Safari. */
outf(",\"SQLITE_WASM_DEALLOC\": %lld",
(sqlite3_int64)(sqlite3_free));
#endif
} _DefGroup;
DefGroup(changeset){
@ -1593,6 +1597,11 @@ int sqlite3_wasm_config_j(int op, sqlite3_int64 arg){
return sqlite3_config(op, arg);
}
SQLITE_WASM_KEEP
void * sqlite3_wasm_ptr_to_sqlite3_free(void){
return (void*)sqlite3_free;
}
#if defined(__EMSCRIPTEN__) && defined(SQLITE_ENABLE_WASMFS)
#include <emscripten/wasmfs.h>