#define SKIPTOSP() { while ( !isspace(*cp++) ) ; \
--cp; }
-#ifdef DSTXXX
+#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST
# ifdef TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
tw->tw_zone -= 60;
}
}
-#endif /* DSTXXX */
+#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */
%}
sun ([Ss]un(day)?)
INIT();
SKIPTOD();
SETZONE(atoi(cp));
-#ifdef DSTXXX
+#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST
zonehack (&tw);
-#endif /* DSTXXX */
+#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */
+ // yyterminate();
}
"-"{D}{d}{d} {
INIT();
SKIPTOD();
SETZONE(-atoi(cp));
-#ifdef DSTXXX
+#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST
zonehack (&tw);
-#endif /* DSTXXX */
+#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */
+ // yyterminate();
+
}
"-"?("ut"|"UT") INIT(); SETZONE(0);
"-"?("gmt"|"GMT") INIT(); SETZONE(0);
"-"?("hst"|"HST") INIT(); SETZONE(-1000);
"-"?("hdt"|"HDT") INIT(); SETDST(); SETZONE(-1000);
"-"?("bst"|"BST") INIT(); SETDST(); SETZONE(-100);
-[a-iA-I] {
- INIT();
- SETZONE(100*(('a'-1) - tolower(*cp)));
- }
-[k-mK-M] {
- INIT();
- SETZONE(100*('a' - tolower(*cp)));
- }
-[n-yN-Y] {
- INIT();
- SETZONE(100*(tolower(*cp) - 'm'));
- }
+"-"?([a-z]{3}|[A-Z]{3}) ;
.|\n