diff options
author | Kjartan Maraas <kmaraas@gnome.org> | 2008-05-07 10:38:34 +0000 |
---|---|---|
committer | Kjartan Maraas <kmaraas@src.gnome.org> | 2008-05-07 10:38:34 +0000 |
commit | 21b7a298729ec253f196ba7cd92121af062862ff (patch) | |
tree | c04ef16bd3d2117a398d4023e8ff335c4d895780 | |
parent | 20302bb6f979fa48f6f2e3eadd9e1bc19149cfde (diff) | |
download | gconf-21b7a298729ec253f196ba7cd92121af062862ff.tar.gz |
Patch from Frederic Crozat to allow override $TMPDIR. Closes bug #497113.
2008-05-07 Kjartan Maraas <kmaraas@gnome.org>
* gconf/gconf-internals.c: (gconf_get_daemon_dir):
* gconf/gconf-sanity-check.c: (check_file_locking):
Patch from Frederic Crozat to allow override $TMPDIR.
Closes bug #497113.
svn path=/trunk/; revision=2588
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gconf/gconf-internals.c | 9 | ||||
-rw-r--r-- | gconf/gconf-sanity-check.c | 20 |
3 files changed, 32 insertions, 4 deletions
@@ -1,3 +1,10 @@ +2008-05-07 Kjartan Maraas <kmaraas@gnome.org> + + * gconf/gconf-internals.c: (gconf_get_daemon_dir): + * gconf/gconf-sanity-check.c: (check_file_locking): + Patch from Frederic Crozat to allow override $TMPDIR. + Closes bug #497113. + 2008-05-07 Richard Hult <richard@imendio.com> * gconf/gconf-database.c (gconf_database_notify_listeners): Get diff --git a/gconf/gconf-internals.c b/gconf/gconf-internals.c index 4624ff20..f078810d 100644 --- a/gconf/gconf-internals.c +++ b/gconf/gconf-internals.c @@ -2818,10 +2818,17 @@ gconf_get_daemon_dir (void) { char *s; char *subdir; + char *tmpdir; subdir = g_strconcat ("gconfd-", g_get_user_name (), NULL); - s = g_build_filename (g_get_tmp_dir (), subdir, NULL); + if (g_getenv ("GCONF_TMPDIR")) { + tmpdir = g_getenv ("GCONF_TMPDIR"); + } else { + tmpdir = g_get_tmp_dir (); + } + + s = g_build_filename (tmpdir, subdir, NULL); g_free (subdir); diff --git a/gconf/gconf-sanity-check.c b/gconf/gconf-sanity-check.c index 79815615..428a05ed 100644 --- a/gconf/gconf-sanity-check.c +++ b/gconf/gconf-sanity-check.c @@ -119,9 +119,23 @@ check_file_locking (void) GError *err; err = NULL; - fd = g_file_open_tmp ("gconf-test-locking-file-XXXXXX", - &testfile, - &err); + if (g_getenv ("GCONF_TMPDIR")) { + testfile = g_build_filename(g_getenv ("GCONF_TMPDIR"), "gconf-test-locking-file-XXXXXX", NULL); + fd = g_mkstemp (testfile); + if (fd == -1) + { + g_set_error (&err, + G_FILE_ERROR, + g_file_error_from_errno (errno), + "Failed to create file '%s': %s", + testfile, g_strerror (errno)); + } + } + else { + fd = g_file_open_tmp ("gconf-test-locking-file-XXXXXX", + &testfile, + &err); + } if (err != NULL) { |