Set prgname to <unknown> if argc and argv are NULL.
authorAnders Carlsson <andersca@gnome.org>
Mon, 30 Aug 2004 20:40:52 +0000 (20:40 +0000)
committerAnders Carlsson <andersca@src.gnome.org>
Mon, 30 Aug 2004 20:40:52 +0000 (20:40 +0000)
2004-08-30  Anders Carlsson  <andersca@gnome.org>

* glib/goption.c: (g_option_context_parse):
Set prgname to <unknown> if argc and argv are NULL.

* tests/option-test.c: (empty_test1), (main):
Add test case for that.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-6
ChangeLog.pre-2-8
glib/goption.c
tests/option-test.c

index 15e6ce2..a964df5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2004-08-30  Anders Carlsson  <andersca@gnome.org>
+
+       * glib/goption.c: (g_option_context_parse):
+       Set prgname to <unknown> if argc and argv are NULL.
+       
+       * tests/option-test.c: (empty_test1), (main):
+       Add test case for that.
+       
 Sun Aug 29 23:58:38 2004  Matthias Clasen  <maclas@gmx.de>
 
        * glib/ghash.c (g_hash_table_lookup): Point to 
index 15e6ce2..a964df5 100644 (file)
@@ -1,3 +1,11 @@
+2004-08-30  Anders Carlsson  <andersca@gnome.org>
+
+       * glib/goption.c: (g_option_context_parse):
+       Set prgname to <unknown> if argc and argv are NULL.
+       
+       * tests/option-test.c: (empty_test1), (main):
+       Add test case for that.
+       
 Sun Aug 29 23:58:38 2004  Matthias Clasen  <maclas@gmx.de>
 
        * glib/ghash.c (g_hash_table_lookup): Point to 
index 15e6ce2..a964df5 100644 (file)
@@ -1,3 +1,11 @@
+2004-08-30  Anders Carlsson  <andersca@gnome.org>
+
+       * glib/goption.c: (g_option_context_parse):
+       Set prgname to <unknown> if argc and argv are NULL.
+       
+       * tests/option-test.c: (empty_test1), (main):
+       Add test case for that.
+       
 Sun Aug 29 23:58:38 2004  Matthias Clasen  <maclas@gmx.de>
 
        * glib/ghash.c (g_hash_table_lookup): Point to 
index 15e6ce2..a964df5 100644 (file)
@@ -1,3 +1,11 @@
+2004-08-30  Anders Carlsson  <andersca@gnome.org>
+
+       * glib/goption.c: (g_option_context_parse):
+       Set prgname to <unknown> if argc and argv are NULL.
+       
+       * tests/option-test.c: (empty_test1), (main):
+       Add test case for that.
+       
 Sun Aug 29 23:58:38 2004  Matthias Clasen  <maclas@gmx.de>
 
        * glib/ghash.c (g_hash_table_lookup): Point to 
index 15e6ce2..a964df5 100644 (file)
@@ -1,3 +1,11 @@
+2004-08-30  Anders Carlsson  <andersca@gnome.org>
+
+       * glib/goption.c: (g_option_context_parse):
+       Set prgname to <unknown> if argc and argv are NULL.
+       
+       * tests/option-test.c: (empty_test1), (main):
+       Add test case for that.
+       
 Sun Aug 29 23:58:38 2004  Matthias Clasen  <maclas@gmx.de>
 
        * glib/ghash.c (g_hash_table_lookup): Point to 
index d0cfe86..85c08d5 100644 (file)
@@ -1056,8 +1056,11 @@ g_option_context_parse (GOptionContext   *context,
                (*argv)[j-k] = (*argv)[j];
              *argc -= k;
            }
-       }
-      
+       }      
+    }
+  else
+    {
+      g_set_prgname ("<unknown>");
     }
 
   return TRUE;
index 370ad66..4dff3dd 100644 (file)
@@ -410,6 +410,24 @@ add_test1 (void)
   g_option_context_free (context);
 }
 
+void
+empty_test1 (void)
+{
+  GOptionContext *context;
+  GOptionEntry entries [] =
+    { { NULL } };
+
+  context = g_option_context_new (NULL);
+
+  g_option_context_add_main_entries (context, entries, NULL);
+  
+  g_option_context_parse (context, NULL, NULL, NULL);
+
+  g_assert (strcmp (g_get_prgname (), "<unknown>") == 0);
+  
+  g_option_context_free (context);
+}
+
 int
 main (int argc, char **argv)
 {
@@ -433,6 +451,9 @@ main (int argc, char **argv)
   ignore_test2 ();
 
   add_test1 ();
+
+  /* Test parsing empty args */
+  empty_test1 ();
   
   return 0;
 }