1
0
mirror of https://github.com/stedolan/jq.git synced 2024-05-11 05:55:39 +00:00

Reset options to 0 so can call main() multiple times in a row

This commit is contained in:
Robert Aboukhalil
2023-07-19 08:04:39 -07:00
committed by Nico Williams
parent f1c49473a3
commit 4c25cf3f7c
2 changed files with 13 additions and 0 deletions

View File

@ -66,6 +66,13 @@ cross-compilation environment. See also
["Cross compilation"](https://github.com/jqlang/jq/wiki/Cross-compilation) on
the wiki.
To compile jq to WebAssembly, install the [Emscripten SDK](https://emscripten.org/docs/getting_started/downloads.html), then:
git submodule update --init # if building from git to get oniguruma
autoreconf -i # if building from git
emconfigure ./configure --with-oniguruma=builtin --disable-maintainer-mode
emmake make EXEEXT=.js CFLAGS="-O2" LDFLAGS="-s EXPORTED_RUNTIME_METHODS=['callMain']"
# Community

View File

@ -292,6 +292,12 @@ int main(int argc, char* argv[]) {
_setmode(fileno(stderr), _O_TEXT | _O_U8TEXT);
#endif
#ifdef __EMSCRIPTEN__
/* When compiling to WebAssembly with Emscripten, reset options to ensure we can
call main() multiple times without reinitializing the WebAssembly module. */
options = 0;
#endif
if (argc) progname = argv[0];
jq = jq_init();