Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/4ca281829c70331571291ed3dcf813a6028cc904

>---------------------------------------------------------------

commit 4ca281829c70331571291ed3dcf813a6028cc904
Author: Simon Marlow <marlo...@gmail.com>
Date:   Fri Apr 27 13:20:56 2012 +0100

    hs_init(): cope with argc and/or argv being NULL (#6006)

>---------------------------------------------------------------

 rts/RtsStartup.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c
index 4b9f6ba..307a691 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);



_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to