X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Fdtimep.lex;h=0a65672f3844bef0f2ab30344a0a578b31f8ed7d;hb=97e7d6f2f5db4e8f09cb015ee6c2da2ff129f963;hp=b4357a1e64c3e11f5f2ee6669641152deddcf0f0;hpb=11ce969d33d8d6ffafd010005af0b7188f0f5693;p=mmh diff --git a/sbr/dtimep.lex b/sbr/dtimep.lex index b4357a1..0a65672 100644 --- a/sbr/dtimep.lex +++ b/sbr/dtimep.lex @@ -154,7 +154,7 @@ static int day_map[] = { #define SKIPTOSP() { while ( !isspace(*cp++) ) ; \ --cp; } -#ifdef DSTXXX +#ifdef ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST # ifdef TIME_WITH_SYS_TIME # include # include @@ -180,7 +180,7 @@ zonehack (struct tws *tw) tw->tw_zone -= 60; } } -#endif /* DSTXXX */ +#endif /* ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST */ %} sun ([Ss]un(day)?) @@ -355,17 +355,20 @@ d [0-9] 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); @@ -387,16 +390,5 @@ d [0-9] "-"?("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