libegg r897 - trunk/libegg/smclient



Author: chpe
Date: Wed Sep 24 11:27:24 2008
New Revision: 897
URL: http://svn.gnome.org/viewvc/libegg?rev=897&view=rev

Log:
Use g_listenv() instead of extern environ. Bug #550162.

Modified:
   trunk/libegg/smclient/eggdesktopfile.c

Modified: trunk/libegg/smclient/eggdesktopfile.c
==============================================================================
--- trunk/libegg/smclient/eggdesktopfile.c	(original)
+++ trunk/libegg/smclient/eggdesktopfile.c	Wed Sep 24 11:27:24 2008
@@ -936,8 +936,6 @@
 }
 #endif /* GTK 2.12 */
 
-extern char **environ;
-
 static GPtrArray *
 array_putenv (GPtrArray *env, char *variable)
 {
@@ -945,10 +943,20 @@
 
   if (!env)
     {
+      char **envp;
+
       env = g_ptr_array_new ();
 
-      for (i = 0; environ[i]; i++)
-	g_ptr_array_add (env, g_strdup (environ[i]));
+      envp = g_listenv ();
+      for (i = 0; envp[i]; i++)
+        {
+          const char *value;
+
+          value = g_getenv (envp[i]);
+          g_ptr_array_add (env, g_strdup_printf ("%s=%s", envp[i],
+                                                 value ? value : ""));
+        }
+      g_strfreev (envp);
     }
 
   keylen = strcspn (variable, "=");



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]