desktop-shell: use the standard 'environ' variable
authorPekka Paalanen <ppaalanen@gmail.com>
Fri, 3 Aug 2012 11:39:15 +0000 (14:39 +0300)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 3 Aug 2012 17:32:36 +0000 (13:32 -0400)
The variable '__environ' seems to be libc implementation specific, and
not avaible on Android.

Use the POSIX standard variable 'environ', which also luckily happens to
be available on Android, which is not POSIX.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
clients/desktop-shell.c

index 082a30a..97b2066 100644 (file)
@@ -44,6 +44,8 @@
 
 #include "desktop-shell-client-protocol.h"
 
+extern char **environ; /* defined by libc */
+
 struct desktop {
        struct display *display;
        struct desktop_shell *shell;
@@ -484,9 +486,9 @@ panel_add_launcher(struct panel *panel, const char *icon, const char *path)
 
        wl_array_init(&launcher->envp);
        wl_array_init(&launcher->argv);
-       for (i = 0; __environ[i]; i++) {
+       for (i = 0; environ[i]; i++) {
                ps = wl_array_add(&launcher->envp, sizeof *ps);
-               *ps = __environ[i];
+               *ps = environ[i];
        }
        j = 0;