scm_boot_guile: Gracefully handle the case where argc == 0.
authorMark H Weaver <mhw@netris.org>
Sat, 11 Oct 2014 02:36:54 +0000 (22:36 -0400)
committerMark H Weaver <mhw@netris.org>
Sat, 11 Oct 2014 03:31:55 +0000 (23:31 -0400)
Fixes <http://bugs.gnu.org/18680>.
Reported by Nala Ginrut <nalaginrut@gmail.com>.

* libguile/init.c (scm_boot_guile): Do not canonicalize argv[0] unless
  argc > 0.
* THANKS: Add Nala Ginrut to the fixes section.

THANKS
libguile/init.c

diff --git a/THANKS b/THANKS
index fa99633..1aeb4a4 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -86,6 +86,7 @@ For fixes or providing information which led to a fix:
          Andrew Gaylard
            Nils Gey
            Eric Gillespie, Jr
+           Nala Ginrut
          Didier Godefroy
   Panicz Maciej Godek
            John Goerzen
index f558413..1348c2d 100644 (file)
@@ -1,6 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- *   2004, 2006, 2009, 2010, 2011, 2012, 2013,
- *   2014 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2004, 2006, 2009-2014 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -314,7 +312,9 @@ scm_boot_guile (int argc, char ** argv, void (*main_func) (), void *closure)
 
   /* On Windows, convert backslashes in argv[0] to forward
      slashes.  */
-  scm_i_mirror_backslashes (argv[0]);
+  if (argc > 0)
+    scm_i_mirror_backslashes (argv[0]);
+
   c.main_func = main_func;
   c.closure = closure;
   c.argc = argc;