1--- a/src/libical/icaltz-util.c 2015-06-11 15:40:58.843138630 +0200
2+++ b/src/libical/icaltz-util.c 2015-06-11 15:43:12.722046252 +0200
3@@ -107,7 +107,7 @@
4 char charcnt[4];
5 } tzinfo;
6
7-static char *search_paths [] = {"/usr/share/zoneinfo","/usr/lib/zoneinfo","/etc/zoneinfo","/usr/share/lib/zoneinfo"};
8+static char *search_paths [] = {"/etc/zoneinfo","/usr/share/zoneinfo","/usr/lib/zoneinfo","/usr/share/lib/zoneinfo"};
9 static char *zdir = NULL;
10
11 #define NUM_SEARCH_PATHS (sizeof (search_paths)/ sizeof (search_paths [0]))
12@@ -194,6 +194,15 @@
13 const char *fname = ZONES_TAB_SYSTEM_FILENAME;
14 unsigned int i;
15
16+ const char *env_tzdir = getenv ("TZDIR");
17+ if (env_tzdir) {
18+ sprintf (file_path, "%s/%s", env_tzdir, fname);
19+ if (!access (file_path, F_OK|R_OK)) {
20+ zdir = env_tzdir;
21+ return;
22+ }
23+ }
24+
25 for (i = 0; i < NUM_SEARCH_PATHS; i++) {
26 sprintf (file_path, "%s/%s", search_paths [i], fname);
27 if (!access (file_path, F_OK|R_OK)) {