From 4ca281829c70331571291ed3dcf813a6028cc904 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Fri, 27 Apr 2012 13:20:56 +0100 Subject: hs_init(): cope with argc and/or argv being NULL (#6006) --- rts/RtsStartup.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'rts/RtsStartup.c') diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c index 4b9f6ba115..307a691352 100644 --- a/rts/RtsStartup.c +++ b/rts/RtsStartup.c @@ -141,7 +141,14 @@ hs_init_ghc(int *argc, char **argv[], RtsConfig rts_config) defaultsHook(); /* Parse the flags, separating the RTS flags from the programs args */ - if (argc != NULL && argv != NULL) { + if (argc == NULL || argv == NULL) { + // Use a default for argc & argv if either is not supplied + int my_argc = 1; + char *my_argv[] = { "", NULL }; + setFullProgArgv(my_argc,my_argv); + setupRtsFlags(&my_argc, my_argv, + rts_config.rts_opts_enabled, rts_config.rts_opts); + } else { setFullProgArgv(*argc,*argv); setupRtsFlags(argc, *argv, rts_config.rts_opts_enabled, rts_config.rts_opts); -- cgit v1.2.1