Only set the prgname if it hasn't been set before. (#334611, Chong Kai
authorMatthias Clasen <mclasen@redhat.com>
Wed, 15 Mar 2006 13:03:48 +0000 (13:03 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 15 Mar 2006 13:03:48 +0000 (13:03 +0000)
2006-03-15  Matthias Clasen  <mclasen@redhat.com>

* glib/goption.c (g_option_context_parse): Only set the prgname
if it hasn't been set before.  (#334611, Chong Kai Xiong)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
glib/goption.c

index 48a7e3d..ec42ab7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-03-15  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/goption.c (g_option_context_parse): Only set the prgname
+       if it hasn't been set before.  (#334611, Chong Kai Xiong)
+
 2006-03-14  Matthias Clasen  <mclasen@redhat.com>
 
        * glib/gutils.c (g_parse_debug_string): Don't read past the
index 48a7e3d..ec42ab7 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-15  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/goption.c (g_option_context_parse): Only set the prgname
+       if it hasn't been set before.  (#334611, Chong Kai Xiong)
+
 2006-03-14  Matthias Clasen  <mclasen@redhat.com>
 
        * glib/gutils.c (g_parse_debug_string): Don't read past the
index 48a7e3d..ec42ab7 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-15  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/goption.c (g_option_context_parse): Only set the prgname
+       if it hasn't been set before.  (#334611, Chong Kai Xiong)
+
 2006-03-14  Matthias Clasen  <mclasen@redhat.com>
 
        * glib/gutils.c (g_parse_debug_string): Don't read past the
index 40ce662..73809e6 100644 (file)
@@ -1232,19 +1232,20 @@ g_option_context_parse (GOptionContext   *context,
   GList *list;
 
   /* Set program name */
-  if (argc && argv && *argc)
+  if (!g_get_prgname())
     {
-      gchar *prgname;
-      
-      prgname = g_path_get_basename ((*argv)[0]);
-      g_set_prgname (prgname);
-      g_free (prgname);
-    }
-  else
-    {
-      g_set_prgname ("<unknown>");
+      if (argc && argv && *argc)
+       {
+         gchar *prgname;
+         
+         prgname = g_path_get_basename ((*argv)[0]);
+         g_set_prgname (prgname);
+         g_free (prgname);
+       }
+      else
+       g_set_prgname ("<unknown>");
     }
-  
+
   /* Call pre-parse hooks */
   list = context->groups;
   while (list)