diff options
author | John (J5) Palmieri <johnp@redhat.com> | 2006-08-10 20:09:43 +0000 |
---|---|---|
committer | John (J5) Palmieri <johnp@redhat.com> | 2006-08-10 20:09:43 +0000 |
commit | 2974c82428b5d9d3e1f504ba4052aec47fc2b415 (patch) | |
tree | 66973e6b07b52fcd01add8cdfb4c6e1bdac5fae0 /dbus | |
parent | 5628ef82de9e853381ab61bab8c3cd3b1b622290 (diff) |
* dbus/dbus-sysdeps.c:
* dbus/dbus-address.c:
* bus/activation.c:
* test/shell-test.c:
don't hardcode tmp directory (patch from Dave Meikle
<dmk at davemeikle dot co dot uk>)
Diffstat (limited to 'dbus')
-rw-r--r-- | dbus/dbus-address.c | 2 | ||||
-rw-r--r-- | dbus/dbus-sysdeps.c | 29 | ||||
-rw-r--r-- | dbus/dbus-sysdeps.h | 1 |
3 files changed, 31 insertions, 1 deletions
diff --git a/dbus/dbus-address.c b/dbus/dbus-address.c index 7dc33e3e..ae9acfee 100644 --- a/dbus/dbus-address.c +++ b/dbus/dbus-address.c @@ -715,7 +715,7 @@ _dbus_address_test (void) &entries, &len, &error)) _dbus_assert_not_reached ("could not parse address"); _dbus_assert (len == 2); - _dbus_assert (strcmp (dbus_address_entry_get_value (entries[0], "path"), "/tmp/foo") == 0); + _dbus_assert (strcmp (dbus_address_entry_get_value (entries[0], "path"), strcat(_dbus_get_tmpdir(),"/foo") == 0)); _dbus_assert (strcmp (dbus_address_entry_get_value (entries[1], "name"), "test") == 0); _dbus_assert (strcmp (dbus_address_entry_get_value (entries[1], "sliff"), "sloff") == 0); diff --git a/dbus/dbus-sysdeps.c b/dbus/dbus-sysdeps.c index 9a2c1fde..43bfcd8c 100644 --- a/dbus/dbus-sysdeps.c +++ b/dbus/dbus-sysdeps.c @@ -2998,6 +2998,35 @@ int _dbus_printf_string_upper_bound (const char *format, +/** + * Gets the temporary files directory by inspecting the environment variables + * TMPDIR, TMP, and TEMP in that order. If none of those are set "/tmp" is returned + * + * @returns char* - location of temp directory + */ +char* +_dbus_get_tmpdir() +{ + char* tmpdir; + + tmpdir = getenv("TMPDIR"); + if (tmpdir) { + return tmpdir; + } + + tmpdir = getenv("TMP"); + if (tmpdir) { + return tmpdir; + } + + tmpdir = getenv("TEMP"); + if (tmpdir) { + return tmpdir; + } + + return "/tmp"; +} + /** @} end of sysdeps */ /* tests in dbus-sysdeps-util.c */ diff --git a/dbus/dbus-sysdeps.h b/dbus/dbus-sysdeps.h index ed5b48e9..8e7c5019 100644 --- a/dbus/dbus-sysdeps.h +++ b/dbus/dbus-sysdeps.h @@ -323,6 +323,7 @@ void _dbus_set_signal_handler (int sig, dbus_bool_t _dbus_file_exists (const char *file); dbus_bool_t _dbus_user_at_console (const char *username, DBusError *error); +char* _dbus_get_tmpdir(); /* Define DBUS_VA_COPY() to do the right thing for copying va_list variables. * config.h may have already defined DBUS_VA_COPY as va_copy or __va_copy. |