+ GStatBuf *stat_zoneinfo;
+ gchar *find_cmd, *readlink_path, *ret;
+ GError *err = NULL;
+
+ find_cmd = (gchar *) g_malloc0(2048);
+ stat_zoneinfo = (GStatBuf*) g_malloc0(8192);
+
+ if(g_stat(OS_LOCALTIME, stat_zoneinfo)) {
+
+ g_printf("could not read from %s! please symlink or copy a timezone file from %s to %s!\n", OS_LOCALTIME, OS_TIMEZONE_PATH, OS_LOCALTIME);
+ ret = NULL;
+
+ } else if(g_file_test(OS_LOCALTIME, G_FILE_TEST_IS_SYMLINK)) {
+
+ readlink_path = g_file_read_link(OS_LOCALTIME, &err);
+ ret = parse_timezone_path(readlink_path);
+
+ if(readlink_path)
+ g_free(readlink_path);
+
+ } else {
+
+ g_printf("%s is not a symlink! attempting to match checksums in %s...\n", OS_LOCALTIME, OS_TIMEZONE_PATH);
+ g_sprintf(find_cmd, "find %s -type f", OS_TIMEZONE_PATH);
+ ret = NULL;
+ }
+
+ return ret;