diff options
author | Stefan Walter <stefw@src.gnome.org> | 2008-02-14 19:02:26 +0000 |
---|---|---|
committer | Stefan Walter <stefw@src.gnome.org> | 2008-02-14 19:02:26 +0000 |
commit | cb4091935b06a23c6a0aee516638687f3079f9ea (patch) | |
tree | 0c768b82780010c758c57807e301ddc7100929a2 | |
parent | 39199ab12ef3a8cb4fa1675d349f58b396cdd3f7 (diff) | |
download | gnome-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-- | ChangeLog | 4 | ||||
-rw-r--r-- | library/gnome-keyring.c | 9 |
2 files changed, 11 insertions, 2 deletions
@@ -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); |