aboutsummaryrefslogtreecommitdiff
path: root/src/utils.c
diff options
context:
space:
mode:
authorMichael Terry <michael.terry@canonical.com>2011-06-28 15:32:04 +0100
committerMichael Terry <michael.terry@canonical.com>2011-06-28 15:32:04 +0100
commitf57128cae925df888e1e0cafb9ba988c665ecff8 (patch)
tree2badc6eec3bf64e8e5e650bce5064ed5aec5b095 /src/utils.c
parent3c5f6a06ff0e44945f788254c44ede18f4061724 (diff)
downloadayatana-indicator-datetime-f57128cae925df888e1e0cafb9ba988c665ecff8.tar.gz
ayatana-indicator-datetime-f57128cae925df888e1e0cafb9ba988c665ecff8.tar.bz2
ayatana-indicator-datetime-f57128cae925df888e1e0cafb9ba988c665ecff8.zip
update to handle latest gnome-settings-daemon dbus API for setting timezones; be more fool-proof when looking up current timezone in indicator
Diffstat (limited to 'src/utils.c')
-rw-r--r--src/utils.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c
index ab93ecf..73c8ab2 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -117,6 +117,30 @@ get_current_zone_name (const gchar * location)
return rv;
}
+gchar *
+read_timezone ()
+{
+ GError * error = NULL;
+ gchar * tempzone = NULL;
+ if (!g_file_get_contents(TIMEZONE_FILE, &tempzone, NULL, &error)) {
+ g_warning("Unable to read timezone file '" TIMEZONE_FILE "': %s", error->message);
+ g_error_free(error);
+ return NULL;
+ }
+
+ /* This shouldn't happen, so let's make it a big boom! */
+ g_return_val_if_fail(tempzone != NULL, NULL);
+
+ /* Note: this really makes sense as strstrip works in place
+ so we end up with something a little odd without the dup
+ so we have the dup to make sure everything is as expected
+ for everyone else. */
+ gchar * rv = g_strdup(g_strstrip(tempzone));
+ g_free(tempzone);
+
+ return rv;
+}
+
/* Translate msg according to the locale specified by LC_TIME */
static char *
T_(const char *msg)