summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjartan Maraas <kmaraas@gnome.org>2008-05-07 10:38:34 +0000
committerKjartan Maraas <kmaraas@src.gnome.org>2008-05-07 10:38:34 +0000
commit21b7a298729ec253f196ba7cd92121af062862ff (patch)
treec04ef16bd3d2117a398d4023e8ff335c4d895780
parent20302bb6f979fa48f6f2e3eadd9e1bc19149cfde (diff)
downloadgconf-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--ChangeLog7
-rw-r--r--gconf/gconf-internals.c9
-rw-r--r--gconf/gconf-sanity-check.c20
3 files changed, 32 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 2660bdf1..acf1df74 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)
{