aboutsummaryrefslogtreecommitdiff
path: root/timezone
diff options
context:
space:
mode:
Diffstat (limited to 'timezone')
-rw-r--r--timezone/Makefile7
-rw-r--r--timezone/zdump.c12
2 files changed, 12 insertions, 7 deletions
diff --git a/timezone/Makefile b/timezone/Makefile
index 3f3f944e8b..410d3834db 100644
--- a/timezone/Makefile
+++ b/timezone/Makefile
@@ -53,7 +53,7 @@ define nl
endef
-ifneq ($(no_deps),t)
+ifndef avoid-generated
-include $(addprefix $(objpfx)z.,$(tzfiles))
endif
@@ -158,9 +158,10 @@ $(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o
tz-cflags = -DTZDIR='"$(zonedir)"' \
-DTZDEFAULT='"$(localtime-file)"' \
- -DTZDEFRULES='"$(posixrules-file)"'
+ -DTZDEFRULES='"$(posixrules-file)"' \
+ -DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone
-CFLAGS-zdump.c = -Wno-strict-prototypes -DNOID
+CFLAGS-zdump.c = -Wno-strict-prototypes -DNOID $(tz-cflags)
CFLAGS-zic.c = -Wno-strict-prototypes -DNOID $(tz-cflags)
CFLAGS-ialloc.c = -Wno-strict-prototypes -DNOID
CFLAGS-scheck.c = -Wno-strict-prototypes -DNOID
diff --git a/timezone/zdump.c b/timezone/zdump.c
index f6480bb308..8c4f6ad1df 100644
--- a/timezone/zdump.c
+++ b/timezone/zdump.c
@@ -127,7 +127,7 @@ extern char * optarg;
extern int optind;
extern char * tzname[2];
-static char * abbr P((struct tm * tmp));
+static const char *abbr P((struct tm * tmp));
static long delta P((struct tm * newp, struct tm * oldp));
static time_t hunt P((char * name, time_t lot, time_t hit));
static size_t longest;
@@ -358,15 +358,19 @@ int v;
(void) printf("\n");
}
-static char *
+static const char *
abbr(tmp)
struct tm * tmp;
{
- register char * result;
- static char nada;
+ register const char *result;
+ static const char nada;
+#ifdef TM_ZONE
+ result = tmp->TM_ZONE;
+#else /* !defined TM_ZONE */
if (tmp->tm_isdst != 0 && tmp->tm_isdst != 1)
return &nada;
result = tzname[tmp->tm_isdst];
+#endif /* !defined TM_ZONE */
return (result == NULL) ? &nada : result;
}