[commit: ghc] ghc-7.4: hs_init(): cope with argc and/or argv being NULL (#6006) (d7c6368)
Paolo Capriotti
p.capriotti at gmail.com
Tue May 8 17:50:18 CEST 2012
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch : ghc-7.4
http://hackage.haskell.org/trac/ghc/changeset/d7c6368938c77644da7c8410df4d4fa440aca7e8
>---------------------------------------------------------------
commit d7c6368938c77644da7c8410df4d4fa440aca7e8
Author: Simon Marlow <marlowsd at gmail.com>
Date: Fri Apr 27 13:20:56 2012 +0100
hs_init(): cope with argc and/or argv being NULL (#6006)
MERGED from commit 4ca281829c70331571291ed3dcf813a6028cc904
>---------------------------------------------------------------
rts/RtsStartup.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c
index c63f85e..52728e1 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[] = { "<unknown>", 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);
More information about the Cvs-ghc
mailing list