Skip to content

Commit 47d75b6

Browse files
committed
Make wrapper of main for wasm more generic
1 parent 453f88f commit 47d75b6

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

include/ruby/ruby.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,13 @@ __extension__({ \
434434
RUBY__ASAN_DEFAULT_OPTIONS \
435435
/* RUBY_GLOBAL_SETUP end */
436436

437+
#if defined(__wasm__) && !defined(__EMSCRIPTEN__)
438+
int rb_wasm_rt_start(int (*)(int, char **), int, char **);
439+
# define ruby_start_main rb_wasm_rt_start
440+
#else
441+
# define ruby_start_main(main, argc, argv) main(argc, argv)
442+
#endif
443+
437444
RBIMPL_SYMBOL_EXPORT_END()
438445

439446
#endif /* RUBY_RUBY_H */

main.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,6 @@ rb_main(int argc, char **argv)
4242
return ruby_run_node(ruby_options(argc, argv));
4343
}
4444

45-
#if defined(__wasm__) && !defined(__EMSCRIPTEN__)
46-
int rb_wasm_rt_start(int (main)(int argc, char **argv), int argc, char **argv);
47-
#define rb_main(argc, argv) rb_wasm_rt_start(rb_main, argc, argv)
48-
#endif
49-
5045
#ifdef _WIN32
5146
#define main(argc, argv) w32_main(argc, argv)
5247
static int main(int argc, char **argv);
@@ -64,5 +59,5 @@ main(int argc, char **argv)
6459
#endif
6560

6661
ruby_sysinit(&argc, &argv);
67-
return rb_main(argc, argv);
62+
return ruby_start_main(rb_main, argc, argv);
6863
}

0 commit comments

Comments
 (0)