summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Walter <stefw@src.gnome.org>2008-02-14 19:02:26 +0000
committerStefan Walter <stefw@src.gnome.org>2008-02-14 19:02:26 +0000
commitcb4091935b06a23c6a0aee516638687f3079f9ea (patch)
tree0c768b82780010c758c57807e301ddc7100929a2
parent39199ab12ef3a8cb4fa1675d349f58b396cdd3f7 (diff)
downloadgnome-keyring-cb4091935b06a23c6a0aee516638687f3079f9ea.tar.gz
Fix problem setting environment variables.
* library/gnome-keyring.c: Fix problem setting environment variables. svn path=/trunk/; revision=1060
-rw-r--r--ChangeLog4
-rw-r--r--library/gnome-keyring.c9
2 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6b80d6d6..e6882449 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2008-02-14 Stef Walter <stef@memberwebs.com>
+ * library/gnome-keyring.c: Fix problem setting environment variables.
+
+2008-02-14 Stef Walter <stef@memberwebs.com>
+
* common/gkr-buffer.c:
* common/gkr-buffer.h:
* common/gkr-daemon-util.c:
diff --git a/library/gnome-keyring.c b/library/gnome-keyring.c
index edac5de5..bf1468e3 100644
--- a/library/gnome-keyring.c
+++ b/library/gnome-keyring.c
@@ -1781,6 +1781,7 @@ gnome_keyring_daemon_prepare_environment_sync (void)
GkrBuffer send, receive;
GnomeKeyringResult res;
gchar **daemonenv, **e;
+ gchar **parts;
gkr_buffer_init_full (&send, 128, g_realloc);
@@ -1804,8 +1805,12 @@ gnome_keyring_daemon_prepare_environment_sync (void)
gkr_buffer_uninit (&receive);
if (res == GNOME_KEYRING_RESULT_OK) {
- for (e = daemonenv; *e; ++e)
- putenv (*e);
+ for (e = daemonenv; *e; ++e) {
+ parts = g_strsplit (*e, "=", 2);
+ if (parts && parts[0] && parts[1])
+ g_setenv (parts[0], parts[1], TRUE);
+ g_strfreev (parts);
+}
}
g_strfreev (daemonenv);