diff options
| author | Ondřej Surý <ondrej@sury.org> | 2012-01-11 15:43:42 +0100 |
|---|---|---|
| committer | Ondřej Surý <ondrej@sury.org> | 2012-01-11 15:43:42 +0100 |
| commit | 8f1428d29ef91d74b4d272af171675f2971eb15b (patch) | |
| tree | a1f4f4d7dc5bfe8096806dd5c5266634e19fa07a /ext/date | |
| parent | c6e4182351e0173fe58de141e143aac2eacf5efe (diff) | |
| download | php-upstream/5.3.9.tar.gz | |
Imported Upstream version 5.3.9upstream/5.3.9
Diffstat (limited to 'ext/date')
61 files changed, 2970 insertions, 26296 deletions
diff --git a/ext/date/lib/interval.c b/ext/date/lib/interval.c index 6558d5a8c..edd8fd88c 100644 --- a/ext/date/lib/interval.c +++ b/ext/date/lib/interval.c @@ -16,9 +16,10 @@ +----------------------------------------------------------------------+ */ -/* $Id: interval.c 312235 2011-06-17 16:38:23Z derick $ */ +/* $Id: interval.c 320563 2011-12-07 08:39:43Z pajoye $ */ #include "timelib.h" +#include <math.h> timelib_rel_time *timelib_diff(timelib_time *one, timelib_time *two) { diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index 0539fa80f..467279a3b 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Sun Jun 5 15:26:42 2011 */ +/* Generated by re2c 0.13.5 on Mon Dec 5 22:02:41 2011 */ /* +----------------------------------------------------------------------+ | PHP Version 5 | @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: parse_date.c 311831 2011-06-05 13:30:01Z bjori $ */ +/* $Id: parse_date.c 320481 2011-12-06 06:21:08Z derick $ */ #include "timelib.h" @@ -120,8 +120,8 @@ typedef unsigned char uchar; #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } -#define TIMELIB_PROCESS_YEAR(x) { \ - if ((x) == TIMELIB_UNSET) { \ +#define TIMELIB_PROCESS_YEAR(x, l) { \ + if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ @@ -439,7 +439,7 @@ static char *timelib_string(Scanner *s) return tmp; } -static timelib_sll timelib_get_nr(char **ptr, int max_length) +static timelib_sll timelib_get_nr_ex(char **ptr, int max_length, int *scanned_length) { char *begin, *end, *str; timelib_sll tmp_nr = TIMELIB_UNSET; @@ -457,6 +457,9 @@ static timelib_sll timelib_get_nr(char **ptr, int max_length) ++len; } end = *ptr; + if (scanned_length) { + *scanned_length = end - begin; + } str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); @@ -464,6 +467,11 @@ static timelib_sll timelib_get_nr(char **ptr, int max_length) return tmp_nr; } +static timelib_sll timelib_get_nr(char **ptr, int max_length) +{ + return timelib_get_nr_ex(ptr, max_length, NULL); +} + static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { @@ -776,7 +784,7 @@ static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found return value; } -static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb) +static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper) { timelib_tzinfo *res; long retval = 0; @@ -825,7 +833,7 @@ static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_ #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/") || strcmp(tz_abbr, "UTC") == 0) { - if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { + if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; @@ -854,7 +862,7 @@ static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_ } \ } -static int scan(Scanner *s) +static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) { uchar *cursor = s->cur; char *str, *ptr = NULL; @@ -1026,7 +1034,7 @@ yy4: DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; TIMELIB_HAVE_TZ(); - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } @@ -4173,13 +4181,14 @@ yy198: yy199: YYDEBUG(199, *YYCURSOR); { + int length = 0; DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_PROCESS_YEAR(s->time->y); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } @@ -4471,7 +4480,7 @@ yy223: } if (*ptr != '\0') { - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } @@ -5376,13 +5385,14 @@ yy294: yy295: YYDEBUG(295, *YYCURSOR); { + int length = 0; DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->d = 1; - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } @@ -6606,13 +6616,14 @@ yy362: yy364: YYDEBUG(364, *YYCURSOR); { + int length = 0; DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_PROCESS_YEAR(s->time->y); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } @@ -9783,7 +9794,7 @@ yy491: } if (*ptr != '\0') { - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } @@ -10224,14 +10235,15 @@ yy534: yy535: YYDEBUG(535, *YYCURSOR); { + int length = 0; DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_PROCESS_YEAR(s->time->y); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } @@ -11017,13 +11029,14 @@ yy611: yy612: YYDEBUG(612, *YYCURSOR); { + int length = 0; DEBUG_OUTPUT("pointed date YY"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr((char **) &ptr, 2); - TIMELIB_PROCESS_YEAR(s->time->y); + s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } @@ -11668,13 +11681,14 @@ yy656: yy657: YYDEBUG(657, *YYCURSOR); { + int length = 0; DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } @@ -11784,14 +11798,15 @@ yy666: yy667: YYDEBUG(667, *YYCURSOR); { + int length = 0; DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_PROCESS_YEAR(s->time->y); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; @@ -12040,7 +12055,7 @@ yy701: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } @@ -12599,13 +12614,14 @@ yy763: yy764: YYDEBUG(764, *YYCURSOR); { + int length = 0; DEBUG_OUTPUT("iso8601date2"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } @@ -12648,13 +12664,14 @@ yy771: ++YYCURSOR; YYDEBUG(772, *YYCURSOR); { + int length = 0; DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } @@ -12953,13 +12970,14 @@ yy793: yy794: YYDEBUG(794, *YYCURSOR); { + int length = 0; DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } @@ -13284,13 +13302,14 @@ yy821: yy822: YYDEBUG(822, *YYCURSOR); { + int length = 0; DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } @@ -13411,7 +13430,7 @@ yy843: if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } @@ -14611,13 +14630,14 @@ yy973: yy974: YYDEBUG(974, *YYCURSOR); { + int length = 0; DEBUG_OUTPUT("gnudateshorter"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = 1; - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } @@ -15751,7 +15771,7 @@ yy1076: s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } @@ -24652,7 +24672,7 @@ yy1537: #define YYMAXFILL 31 -timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, const timelib_tzdb *tzdb) +timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper) { Scanner in; int t; @@ -24707,7 +24727,7 @@ timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container in.time->zone_type = 0; do { - t = scan(&in); + t = scan(&in, tz_get_wrapper); #ifdef DEBUG_PARSER printf("%d\n", t); #endif @@ -24762,7 +24782,7 @@ static void timelib_time_reset_unset_fields(timelib_time *time) if (time->f == TIMELIB_UNSET ) time->f = 0.0; } -timelib_time *timelib_parse_from_format(char *format, char *string, int len, timelib_error_container **errors, const timelib_tzdb *tzdb) +timelib_time *timelib_parse_from_format(char *format, char *string, int len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper) { char *fptr = format; char *ptr = string; @@ -24770,6 +24790,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim timelib_sll tmp; Scanner in; Scanner *s = ∈ + int allow_extra = 0; memset(&in, 0, sizeof(in)); in.errors = malloc(sizeof(struct timelib_error_container)); @@ -24798,8 +24819,19 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim switch (*fptr) { case 'D': /* three letter day */ case 'l': /* full day */ - if (!timelib_lookup_relunit((char **) &ptr)) { - add_pbf_error(s, "A textual day could not be found", string, begin); + { + const timelib_relunit* tmprel = 0; + + tmprel = timelib_lookup_relunit((char **) &ptr); + if (!tmprel) { + add_pbf_error(s, "A textual day could not be found", string, begin); + break; + } else { + in.time->have_relative = 1; + in.time->relative.have_weekday_relative = 1; + in.time->relative.weekday = tmprel->multiplier; + in.time->relative.weekday_behavior = 1; + } } break; case 'd': /* two digit day, with leading zero */ @@ -24812,13 +24844,14 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim case 'S': /* day suffix, ignored, nor checked */ timelib_skip_day_suffix((char **) &ptr); break; - case 'z': /* day of year - resets month (0 based) */ + case 'z': /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */ TIMELIB_CHECK_NUMBER; if ((tmp = timelib_get_nr((char **) &ptr, 3)) == TIMELIB_UNSET) { add_pbf_error(s, "A three digit day-of-year could not be found", string, begin); } else { s->time->m = 1; s->time->d = tmp + 1; + timelib_do_normalize(s->time); } break; @@ -24839,11 +24872,14 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim } break; case 'y': /* two digit year */ - TIMELIB_CHECK_NUMBER; - if ((s->time->y = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit year could not be found", string, begin); + { + int length = 0; + TIMELIB_CHECK_NUMBER; + if ((s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length)) == TIMELIB_UNSET) { + add_pbf_error(s, "A two digit year could not be found", string, begin); + } + TIMELIB_PROCESS_YEAR(s->time->y, length); } - TIMELIB_PROCESS_YEAR(s->time->y); break; case 'Y': /* four digit year */ TIMELIB_CHECK_NUMBER; @@ -24879,15 +24915,31 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim } break; case 'i': /* two digit minute, with leading zero */ - TIMELIB_CHECK_NUMBER; - if ((s->time->i = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit minute could not be found", string, begin); + { + int length; + timelib_sll min; + + TIMELIB_CHECK_NUMBER; + min = timelib_get_nr_ex((char **) &ptr, 2, &length); + if (min == TIMELIB_UNSET || length != 2) { + add_pbf_error(s, "A two digit minute could not be found", string, begin); + } else { + s->time->i = min; + } } break; case 's': /* two digit second, with leading zero */ - TIMELIB_CHECK_NUMBER; - if ((s->time->s = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit second could not be found", string, begin); + { + int length; + timelib_sll sec; + + TIMELIB_CHECK_NUMBER; + sec = timelib_get_nr_ex((char **) &ptr, 2, &length); + if (sec == TIMELIB_UNSET || length != 2) { + add_pbf_error(s, "A two second minute could not be found", string, begin); + } else { + s->time->s = sec; + } } break; case 'u': /* up to six digit millisecond */ @@ -24928,7 +24980,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim case 'O': /* timezone */ { int tz_not_found; - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_pbf_error(s, "The timezone could not be found in the database", string, begin); } @@ -24983,6 +25035,10 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim timelib_eat_until_separator((char **) &ptr); break; + case '+': /* allow extra chars in the format */ + allow_extra = 1; + break; + default: if (*fptr != *ptr) { add_pbf_error(s, "The format separator does not match", string, begin); @@ -24992,11 +25048,20 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim fptr++; } if (*ptr) { - add_pbf_error(s, "Trailing data", string, ptr); + if (allow_extra) { + add_pbf_warning(s, "Trailing data", string, ptr); + } else { + add_pbf_error(s, "Trailing data", string, ptr); + } + } + /* ignore trailing +'s */ + while (*fptr == '+') { + fptr++; } if (*fptr) { /* Trailing | and ! specifiers are valid. */ - while (*fptr) { + int done = 0; + while (*fptr && !done) { switch (*fptr++) { case '!': /* reset all fields to default */ timelib_time_reset_fields(s->time); @@ -25008,6 +25073,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim default: add_pbf_error(s, "Data missing", string, ptr); + done = 1; } } } diff --git a/ext/date/lib/parse_date.c.orig b/ext/date/lib/parse_date.c.orig deleted file mode 100644 index 9d7cca772..000000000 --- a/ext/date/lib/parse_date.c.orig +++ /dev/null @@ -1,25222 +0,0 @@ -/* Generated by re2c 0.13.5 on Sun Jun 5 15:26:42 2011 */ -#line 1 "ext/date/lib/parse_date.re" -/* - +----------------------------------------------------------------------+ - | PHP Version 5 | - +----------------------------------------------------------------------+ - | Copyright (c) 1997-2010 The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | http://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Authors: Derick Rethans <derick@derickrethans.nl> | - +----------------------------------------------------------------------+ - */ - -/* $Id: parse_date.c 311831 2011-06-05 13:30:01Z bjori $ */ - -#include "timelib.h" - -#include <stdio.h> -#include <ctype.h> -#include <math.h> -#include <assert.h> - -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif -#ifdef HAVE_STRING_H -#include <string.h> -#else -#include <strings.h> -#endif - -#if defined(_MSC_VER) -# define strtoll(s, f, b) _atoi64(s) -#elif !defined(HAVE_STRTOLL) -# if defined(HAVE_ATOLL) -# define strtoll(s, f, b) atoll(s) -# else -# define strtoll(s, f, b) strtol(s, f, b) -# endif -#endif - -#define TIMELIB_UNSET -99999 - -#define TIMELIB_SECOND 1 -#define TIMELIB_MINUTE 2 -#define TIMELIB_HOUR 3 -#define TIMELIB_DAY 4 -#define TIMELIB_MONTH 5 -#define TIMELIB_YEAR 6 -#define TIMELIB_WEEKDAY 7 -#define TIMELIB_SPECIAL 8 - -#define EOI 257 -#define TIME 258 -#define DATE 259 - -#define TIMELIB_XMLRPC_SOAP 260 -#define TIMELIB_TIME12 261 -#define TIMELIB_TIME24 262 -#define TIMELIB_GNU_NOCOLON 263 -#define TIMELIB_GNU_NOCOLON_TZ 264 -#define TIMELIB_ISO_NOCOLON 265 - -#define TIMELIB_AMERICAN 266 -#define TIMELIB_ISO_DATE 267 -#define TIMELIB_DATE_FULL 268 -#define TIMELIB_DATE_TEXT 269 -#define TIMELIB_DATE_NOCOLON 270 -#define TIMELIB_PG_YEARDAY 271 -#define TIMELIB_PG_TEXT 272 -#define TIMELIB_PG_REVERSE 273 -#define TIMELIB_CLF 274 -#define TIMELIB_DATE_NO_DAY 275 -#define TIMELIB_SHORTDATE_WITH_TIME 276 -#define TIMELIB_DATE_FULL_POINTED 277 -#define TIMELIB_TIME24_WITH_ZONE 278 -#define TIMELIB_ISO_WEEK 279 -#define TIMELIB_LF_DAY_OF_MONTH 280 -#define TIMELIB_WEEK_DAY_OF_MONTH 281 - -#define TIMELIB_TIMEZONE 300 -#define TIMELIB_AGO 301 - -#define TIMELIB_RELATIVE 310 - -#define TIMELIB_ERROR 999 - -/* Some compilers like AIX, defines uchar in sys/types.h */ -#undef uchar -typedef unsigned char uchar; - -#define BSIZE 8192 - -#define YYCTYPE uchar -#define YYCURSOR cursor -#define YYLIMIT s->lim -#define YYMARKER s->ptr -#define YYFILL(n) return EOI; - -#define RET(i) {s->cur = cursor; return i;} - -#define timelib_string_free free - -#define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } -#define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } -#define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } } -#define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } -#define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; } -#define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; } -#define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; } -#define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : add_warning(s, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } } - -#define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str -#define TIMELIB_DEINIT timelib_string_free(str) -#define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } - -#define TIMELIB_PROCESS_YEAR(x) { \ - if ((x) == TIMELIB_UNSET) { \ - /* (x) = 0; */ \ - } else if ((x) < 100) { \ - if ((x) < 70) { \ - (x) += 2000; \ - } else { \ - (x) += 1900; \ - } \ - } \ -} - -#ifdef DEBUG_PARSER -#define DEBUG_OUTPUT(s) printf("%s\n", s); -#define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } -#else -#define DEBUG_OUTPUT(s) -#define YYDEBUG(s,c) -#endif - -#include "timelib_structs.h" - -typedef struct timelib_elems { - unsigned int c; /* Number of elements */ - char **v; /* Values */ -} timelib_elems; - -typedef struct Scanner { - int fd; - uchar *lim, *str, *ptr, *cur, *tok, *pos; - unsigned int line, len; - struct timelib_error_container *errors; - - struct timelib_time *time; - const timelib_tzdb *tzdb; -} Scanner; - -typedef struct _timelib_lookup_table { - const char *name; - int type; - int value; -} timelib_lookup_table; - -typedef struct _timelib_relunit { - const char *name; - int unit; - int multiplier; -} timelib_relunit; - -#define HOUR(a) (int)(a * 60) - -/* The timezone table. */ -const static timelib_tz_lookup_table timelib_timezone_lookup[] = { -#include "timezonemap.h" - { NULL, 0, 0, NULL }, -}; - -const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { -#include "fallbackmap.h" - { NULL, 0, 0, NULL }, -}; - -const static timelib_tz_lookup_table timelib_timezone_utc[] = { - { "utc", 0, 0, "UTC" }, -}; - -static timelib_relunit const timelib_relunit_lookup[] = { - { "sec", TIMELIB_SECOND, 1 }, - { "secs", TIMELIB_SECOND, 1 }, - { "second", TIMELIB_SECOND, 1 }, - { "seconds", TIMELIB_SECOND, 1 }, - { "min", TIMELIB_MINUTE, 1 }, - { "mins", TIMELIB_MINUTE, 1 }, - { "minute", TIMELIB_MINUTE, 1 }, - { "minutes", TIMELIB_MINUTE, 1 }, - { "hour", TIMELIB_HOUR, 1 }, - { "hours", TIMELIB_HOUR, 1 }, - { "day", TIMELIB_DAY, 1 }, - { "days", TIMELIB_DAY, 1 }, - { "week", TIMELIB_DAY, 7 }, - { "weeks", TIMELIB_DAY, 7 }, - { "fortnight", TIMELIB_DAY, 14 }, - { "fortnights", TIMELIB_DAY, 14 }, - { "forthnight", TIMELIB_DAY, 14 }, - { "forthnights", TIMELIB_DAY, 14 }, - { "month", TIMELIB_MONTH, 1 }, - { "months", TIMELIB_MONTH, 1 }, - { "year", TIMELIB_YEAR, 1 }, - { "years", TIMELIB_YEAR, 1 }, - - { "monday", TIMELIB_WEEKDAY, 1 }, - { "mon", TIMELIB_WEEKDAY, 1 }, - { "tuesday", TIMELIB_WEEKDAY, 2 }, - { "tue", TIMELIB_WEEKDAY, 2 }, - { "wednesday", TIMELIB_WEEKDAY, 3 }, - { "wed", TIMELIB_WEEKDAY, 3 }, - { "thursday", TIMELIB_WEEKDAY, 4 }, - { "thu", TIMELIB_WEEKDAY, 4 }, - { "friday", TIMELIB_WEEKDAY, 5 }, - { "fri", TIMELIB_WEEKDAY, 5 }, - { "saturday", TIMELIB_WEEKDAY, 6 }, - { "sat", TIMELIB_WEEKDAY, 6 }, - { "sunday", TIMELIB_WEEKDAY, 0 }, - { "sun", TIMELIB_WEEKDAY, 0 }, - - { "weekday", TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY }, - { "weekdays", TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY }, - { NULL, 0, 0 } -}; - -/* The relative text table. */ -static timelib_lookup_table const timelib_reltext_lookup[] = { - { "first", 0, 1 }, - { "next", 0, 1 }, - { "second", 0, 2 }, - { "third", 0, 3 }, - { "fourth", 0, 4 }, - { "fifth", 0, 5 }, - { "sixth", 0, 6 }, - { "seventh", 0, 7 }, - { "eight", 0, 8 }, - { "eighth", 0, 8 }, - { "ninth", 0, 9 }, - { "tenth", 0, 10 }, - { "eleventh", 0, 11 }, - { "twelfth", 0, 12 }, - { "last", 0, -1 }, - { "previous", 0, -1 }, - { "this", 1, 0 }, - { NULL, 1, 0 } -}; - -/* The month table. */ -static timelib_lookup_table const timelib_month_lookup[] = { - { "jan", 0, 1 }, - { "feb", 0, 2 }, - { "mar", 0, 3 }, - { "apr", 0, 4 }, - { "may", 0, 5 }, - { "jun", 0, 6 }, - { "jul", 0, 7 }, - { "aug", 0, 8 }, - { "sep", 0, 9 }, - { "sept", 0, 9 }, - { "oct", 0, 10 }, - { "nov", 0, 11 }, - { "dec", 0, 12 }, - { "i", 0, 1 }, - { "ii", 0, 2 }, - { "iii", 0, 3 }, - { "iv", 0, 4 }, - { "v", 0, 5 }, - { "vi", 0, 6 }, - { "vii", 0, 7 }, - { "viii", 0, 8 }, - { "ix", 0, 9 }, - { "x", 0, 10 }, - { "xi", 0, 11 }, - { "xii", 0, 12 }, - - { "january", 0, 1 }, - { "february", 0, 2 }, - { "march", 0, 3 }, - { "april", 0, 4 }, - { "may", 0, 5 }, - { "june", 0, 6 }, - { "july", 0, 7 }, - { "august", 0, 8 }, - { "september", 0, 9 }, - { "october", 0, 10 }, - { "november", 0, 11 }, - { "december", 0, 12 }, - { NULL, 0, 0 } -}; - -#if 0 -static char* timelib_ltrim(char *s) -{ - char *ptr = s; - while (ptr[0] == ' ' || ptr[0] == '\t') { - ptr++; - } - return ptr; -} -#endif - -#if 0 -uchar *fill(Scanner *s, uchar *cursor){ - if(!s->eof){ - unsigned int cnt = s->tok - s->bot; - if(cnt){ - memcpy(s->bot, s->tok, s->lim - s->tok); - s->tok = s->bot; - s->ptr -= cnt; - cursor -= cnt; - s->pos -= cnt; - s->lim -= cnt; - } - if((s->top - s->lim) < BSIZE){ - uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); - memcpy(buf, s->tok, s->lim - s->tok); - s->tok = buf; - s->ptr = &buf[s->ptr - s->bot]; - cursor = &buf[cursor - s->bot]; - s->pos = &buf[s->pos - s->bot]; - s->lim = &buf[s->lim - s->bot]; - s->top = &s->lim[BSIZE]; - free(s->bot); - s->bot = buf; - } - if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ - s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; - } - s->lim += cnt; - } - return cursor; -} -#endif - -static void add_warning(Scanner *s, char *error) -{ - s->errors->warning_count++; - s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); - s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0; - s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0; - s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error); -} - -static void add_error(Scanner *s, char *error) -{ - s->errors->error_count++; - s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); - s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0; - s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0; - s->errors->error_messages[s->errors->error_count - 1].message = strdup(error); -} - -static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr) -{ - s->errors->warning_count++; - s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); - s->errors->warning_messages[s->errors->warning_count - 1].position = cptr - sptr; - s->errors->warning_messages[s->errors->warning_count - 1].character = *cptr; - s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error); -} - -static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr) -{ - s->errors->error_count++; - s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); - s->errors->error_messages[s->errors->error_count - 1].position = cptr - sptr; - s->errors->error_messages[s->errors->error_count - 1].character = *cptr; - s->errors->error_messages[s->errors->error_count - 1].message = strdup(error); -} - -static timelib_sll timelib_meridian(char **ptr, timelib_sll h) -{ - timelib_sll retval = 0; - - while (!strchr("AaPp", **ptr)) { - ++*ptr; - } - if (**ptr == 'a' || **ptr == 'A') { - if (h == 12) { - retval = -12; - } - } else if (h != 12) { - retval = 12; - } - ++*ptr; - if (**ptr == '.') { - *ptr += 3; - } else { - ++*ptr; - } - return retval; -} - -static timelib_sll timelib_meridian_with_check(char **ptr, timelib_sll h) -{ - timelib_sll retval = 0; - - while (!strchr("AaPp", **ptr)) { - ++*ptr; - } - if (**ptr == 'a' || **ptr == 'A') { - if (h == 12) { - retval = -12; - } - } else if (h != 12) { - retval = 12; - } - ++*ptr; - if (**ptr == '.') { - ++*ptr; - if (**ptr != 'm' && **ptr != 'M') { - return TIMELIB_UNSET; - } - ++*ptr; - if (**ptr != '.' ) { - return TIMELIB_UNSET; - } - ++*ptr; - } else if (**ptr == 'm' || **ptr == 'M') { - ++*ptr; - } else { - return TIMELIB_UNSET; - } - return retval; -} - -static char *timelib_string(Scanner *s) -{ - char *tmp = calloc(1, s->cur - s->tok + 1); - memcpy(tmp, s->tok, s->cur - s->tok); - - return tmp; -} - -static timelib_sll timelib_get_nr(char **ptr, int max_length) -{ - char *begin, *end, *str; - timelib_sll tmp_nr = TIMELIB_UNSET; - int len = 0; - - while ((**ptr < '0') || (**ptr > '9')) { - if (**ptr == '\0') { - return TIMELIB_UNSET; - } - ++*ptr; - } - begin = *ptr; - while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { - ++*ptr; - ++len; - } - end = *ptr; - str = calloc(1, end - begin + 1); - memcpy(str, begin, end - begin); - tmp_nr = strtoll(str, NULL, 10); - free(str); - return tmp_nr; -} - -static void timelib_skip_day_suffix(char **ptr) -{ - if (isspace(**ptr)) { - return; - } - if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { - *ptr += 2; - } -} - -static double timelib_get_frac_nr(char **ptr, int max_length) -{ - char *begin, *end, *str; - double tmp_nr = TIMELIB_UNSET; - int len = 0; - - while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) { - if (**ptr == '\0') { - return TIMELIB_UNSET; - } - ++*ptr; - } - begin = *ptr; - while (((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { - ++*ptr; - ++len; - } - end = *ptr; - str = calloc(1, end - begin + 1); - memcpy(str, begin, end - begin); - if (str[0] == ':') { - str[0] = '.'; - } - tmp_nr = strtod(str, NULL); - free(str); - return tmp_nr; -} - -static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) -{ - timelib_ull dir = 1; - - while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { - if (**ptr == '\0') { - return TIMELIB_UNSET; - } - ++*ptr; - } - - while (**ptr == '+' || **ptr == '-') - { - if (**ptr == '-') { - dir *= -1; - } - ++*ptr; - } - return dir * timelib_get_nr(ptr, max_length); -} - -static long timelib_parse_tz_cor(char **ptr) -{ - char *begin = *ptr, *end; - long tmp; - - while (isdigit(**ptr) || **ptr == ':') { - ++*ptr; - } - end = *ptr; - switch (end - begin) { - case 1: - case 2: - return HOUR(strtol(begin, NULL, 10)); - break; - case 3: - case 4: - if (begin[1] == ':') { - tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); - return tmp; - } else if (begin[2] == ':') { - tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); - return tmp; - } else { - tmp = strtol(begin, NULL, 10); - return HOUR(tmp / 100) + tmp % 100; - } - case 5: - tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); - return tmp; - } - return 0; -} - -static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) -{ - char *word; - char *begin = *ptr, *end; - timelib_sll value = 0; - const timelib_lookup_table *tp; - - while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { - ++*ptr; - } - end = *ptr; - word = calloc(1, end - begin + 1); - memcpy(word, begin, end - begin); - - for (tp = timelib_reltext_lookup; tp->name; tp++) { - if (strcasecmp(word, tp->name) == 0) { - value = tp->value; - *behavior = tp->type; - } - } - - free(word); - return value; -} - -static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) -{ - while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') { - ++*ptr; - } - return timelib_lookup_relative_text(ptr, behavior); -} - -static long timelib_lookup_month(char **ptr) -{ - char *word; - char *begin = *ptr, *end; - long value = 0; - const timelib_lookup_table *tp; - - while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { - ++*ptr; - } - end = *ptr; - word = calloc(1, end - begin + 1); - memcpy(word, begin, end - begin); - - for (tp = timelib_month_lookup; tp->name; tp++) { - if (strcasecmp(word, tp->name) == 0) { - value = tp->value; - } - } - - free(word); - return value; -} - -static long timelib_get_month(char **ptr) -{ - while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') { - ++*ptr; - } - return timelib_lookup_month(ptr); -} - -static void timelib_eat_spaces(char **ptr) -{ - while (**ptr == ' ' || **ptr == '\t') { - ++*ptr; - } -} - -static void timelib_eat_until_separator(char **ptr) -{ - ++*ptr; - while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) { - ++*ptr; - } -} - -static const timelib_relunit* timelib_lookup_relunit(char **ptr) -{ - char *word; - char *begin = *ptr, *end; - const timelib_relunit *tp, *value = NULL; - - while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t') { - ++*ptr; - } - end = *ptr; - word = calloc(1, end - begin + 1); - memcpy(word, begin, end - begin); - - for (tp = timelib_relunit_lookup; tp->name; tp++) { - if (strcasecmp(word, tp->name) == 0) { - value = tp; - break; - } - } - - free(word); - return value; -} - -static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) -{ - const timelib_relunit* relunit; - - if (!(relunit = timelib_lookup_relunit(ptr))) { - return; - } - - switch (relunit->unit) { - case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; - case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; - case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; - case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; - case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; - case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; - - case TIMELIB_WEEKDAY: - TIMELIB_HAVE_WEEKDAY_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; - s->time->relative.weekday = relunit->multiplier; - s->time->relative.weekday_behavior = behavior; - break; - - case TIMELIB_SPECIAL: - TIMELIB_HAVE_SPECIAL_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - s->time->relative.special.type = relunit->multiplier; - s->time->relative.special.amount = amount; - } -} - -const static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) -{ - int first_found = 0; - const timelib_tz_lookup_table *tp, *first_found_elem = NULL; - const timelib_tz_lookup_table *fmp; - - if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { - return timelib_timezone_utc; - } - - for (tp = timelib_timezone_lookup; tp->name; tp++) { - if (strcasecmp(word, tp->name) == 0) { - if (!first_found) { - first_found = 1; - first_found_elem = tp; - if (gmtoffset == -1) { - return tp; - } - } - if (tp->gmtoffset == gmtoffset) { - return tp; - } - } - } - if (first_found) { - return first_found_elem; - } - - for (tp = timelib_timezone_lookup; tp->name; tp++) { - if (tp->full_tz_name && strcasecmp(word, tp->full_tz_name) == 0) { - if (!first_found) { - first_found = 1; - first_found_elem = tp; - if (gmtoffset == -1) { - return tp; - } - } - if (tp->gmtoffset == gmtoffset) { - return tp; - } - } - } - if (first_found) { - return first_found_elem; - } - - - /* Still didn't find anything, let's find the zone solely based on - * offset/isdst then */ - for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { - if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { - return fmp; - } - } - return NULL; -} - -static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) -{ - char *word; - char *begin = *ptr, *end; - long value = 0; - const timelib_tz_lookup_table *tp; - - while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') { - ++*ptr; - } - end = *ptr; - word = calloc(1, end - begin + 1); - memcpy(word, begin, end - begin); - - if ((tp = zone_search(word, -1, 0))) { - value = -tp->gmtoffset / 60; - *dst = tp->type; - value += tp->type * 60; - *found = 1; - } else { - *found = 0; - } - - *tz_abbr = word; - return value; -} - -static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb) -{ - timelib_tzinfo *res; - long retval = 0; - - *tz_not_found = 0; - - while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') { - ++*ptr; - } - if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) { - *ptr += 3; - } - if (**ptr == '+') { - ++*ptr; - t->is_localtime = 1; - t->zone_type = TIMELIB_ZONETYPE_OFFSET; - *tz_not_found = 0; - t->dst = 0; - - retval = -1 * timelib_parse_tz_cor(ptr); - } else if (**ptr == '-') { - ++*ptr; - t->is_localtime = 1; - t->zone_type = TIMELIB_ZONETYPE_OFFSET; - *tz_not_found = 0; - t->dst = 0; - - retval = timelib_parse_tz_cor(ptr); - } else { - int found = 0; - long offset; - char *tz_abbr; - - t->is_localtime = 1; - - offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); - if (found) { - t->zone_type = TIMELIB_ZONETYPE_ABBR; - } -#if 0 - /* If we found a TimeZone identifier, use it */ - if (tz_name) { - t->tz_info = timelib_parse_tzfile(tz_name); - t->zone_type = TIMELIB_ZONETYPE_ID; - } -#endif - /* If we have a TimeZone identifier to start with, use it */ - if (strstr(tz_abbr, "/") || strcmp(tz_abbr, "UTC") == 0) { - if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { - t->tz_info = res; - t->zone_type = TIMELIB_ZONETYPE_ID; - found++; - } - } - if (found && t->zone_type != TIMELIB_ZONETYPE_ID) { - timelib_time_tz_abbr_update(t, tz_abbr); - } - free(tz_abbr); - *tz_not_found = (found == 0); - retval = offset; - } - while (**ptr == ')') { - ++*ptr; - } - return retval; -} - -#define timelib_split_free(arg) { \ - int i; \ - for (i = 0; i < arg.c; i++) { \ - free(arg.v[i]); \ - } \ - if (arg.v) { \ - free(arg.v); \ - } \ -} - -static int scan(Scanner *s) -{ - uchar *cursor = s->cur; - char *str, *ptr = NULL; - -std: - s->tok = cursor; - s->len = 0; -#line 989 "ext/date/lib/parse_date.re" - - - -#line 871 "ext/date/lib/parse_date.c" -{ - YYCTYPE yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 100, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 100, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 128, 64, 160, 96, 0, - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 0, 0, 0, 0, 0, 0, - 0, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 0, 0, 0, 0, 0, - 0, 24, 24, 24, 88, 24, 24, 24, - 88, 24, 24, 24, 24, 24, 88, 24, - 24, 24, 88, 88, 88, 24, 24, 24, - 24, 24, 24, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - - YYDEBUG(0, *YYCURSOR); - if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31); - yych = *YYCURSOR; - YYDEBUG(-1, yych); - switch (yych) { - case 0x00: - case '\n': goto yy52; - case '\t': - case ' ': goto yy49; - case '(': goto yy46; - case '+': - case '-': goto yy31; - case ',': - case '.': goto yy51; - case '0': goto yy26; - case '1': goto yy27; - case '2': goto yy28; - case '3': goto yy29; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy30; - case '@': goto yy12; - case 'A': goto yy37; - case 'B': goto yy18; - case 'C': - case 'H': - case 'K': - case 'Q': - case 'R': - case 'U': - case 'Z': goto yy47; - case 'D': goto yy41; - case 'E': goto yy22; - case 'F': goto yy14; - case 'G': goto yy45; - case 'I': goto yy32; - case 'J': goto yy35; - case 'L': goto yy16; - case 'M': goto yy8; - case 'N': goto yy6; - case 'O': goto yy39; - case 'P': goto yy24; - case 'S': goto yy20; - case 'T': goto yy10; - case 'V': goto yy33; - case 'W': goto yy43; - case 'X': goto yy34; - case 'Y': goto yy3; - case 'a': goto yy38; - case 'b': goto yy19; - case 'c': - case 'g': - case 'h': - case 'i': - case 'k': - case 'q': - case 'r': - case 'u': - case 'v': - case 'x': - case 'z': goto yy48; - case 'd': goto yy42; - case 'e': goto yy23; - case 'f': goto yy15; - case 'j': goto yy36; - case 'l': goto yy17; - case 'm': goto yy9; - case 'n': goto yy7; - case 'o': goto yy40; - case 'p': goto yy25; - case 's': goto yy21; - case 't': goto yy11; - case 'w': goto yy44; - case 'y': goto yy5; - default: goto yy54; - } -yy2: - YYDEBUG(2, *YYCURSOR); -#line 1074 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("firstdayof | lastdayof"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - - /* skip "last day of" or "first day of" */ - if (*ptr == 'l') { - s->time->relative.first_last_day_of = 2; - } else { - s->time->relative.first_last_day_of = 1; - } - - TIMELIB_DEINIT; - return TIMELIB_LF_DAY_OF_MONTH; - } -#line 1007 "ext/date/lib/parse_date.c" -yy3: - YYDEBUG(3, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= 'E') { - if (yych <= ')') { - if (yych >= ')') goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; - goto yy1523; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych >= 'a') goto yy146; - } else { - if (yych <= 'e') goto yy1532; - if (yych <= 'z') goto yy146; - } - } -yy4: - YYDEBUG(4, *YYCURSOR); -#line 1656 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("tzcorrection | tz"); - TIMELIB_INIT; - TIMELIB_HAVE_TZ(); - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); - if (tz_not_found) { - add_error(s, "The timezone could not be found in the database"); - } - TIMELIB_DEINIT; - return TIMELIB_TIMEZONE; - } -#line 1043 "ext/date/lib/parse_date.c" -yy5: - YYDEBUG(5, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; - goto yy1523; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy141; - } else { - if (yych <= 'e') goto yy1523; - if (yych <= 'z') goto yy141; - goto yy4; - } - } -yy6: - YYDEBUG(6, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'D') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy141; - } else { - if (yych <= 'H') { - if (yych <= 'E') goto yy1494; - goto yy141; - } else { - if (yych <= 'I') goto yy1495; - if (yych <= 'N') goto yy141; - goto yy1493; - } - } - } else { - if (yych <= 'h') { - if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; - } else { - if (yych == 'e') goto yy1510; - goto yy146; - } - } else { - if (yych <= 'n') { - if (yych <= 'i') goto yy1511; - goto yy146; - } else { - if (yych <= 'o') goto yy1509; - if (yych <= 'z') goto yy146; - goto yy4; - } - } - } -yy7: - YYDEBUG(7, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'D') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy141; - } else { - if (yych <= 'H') { - if (yych <= 'E') goto yy1494; - goto yy141; - } else { - if (yych <= 'I') goto yy1495; - if (yych <= 'N') goto yy141; - goto yy1493; - } - } - } else { - if (yych <= 'h') { - if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; - } else { - if (yych == 'e') goto yy1494; - goto yy141; - } - } else { - if (yych <= 'n') { - if (yych <= 'i') goto yy1495; - goto yy141; - } else { - if (yych <= 'o') goto yy1493; - if (yych <= 'z') goto yy141; - goto yy4; - } - } - } -yy8: - YYDEBUG(8, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy1463; - } else { - if (yych == 'I') goto yy1464; - if (yych <= 'N') goto yy141; - goto yy1465; - } - } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy1478; - goto yy146; - } else { - if (yych <= 'n') { - if (yych <= 'i') goto yy1479; - goto yy146; - } else { - if (yych <= 'o') goto yy1480; - if (yych <= 'z') goto yy146; - goto yy4; - } - } - } -yy9: - YYDEBUG(9, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy1463; - } else { - if (yych == 'I') goto yy1464; - if (yych <= 'N') goto yy141; - goto yy1465; - } - } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy1463; - goto yy141; - } else { - if (yych <= 'n') { - if (yych <= 'i') goto yy1464; - goto yy141; - } else { - if (yych <= 'o') goto yy1465; - if (yych <= 'z') goto yy141; - goto yy4; - } - } - } -yy10: - YYDEBUG(10, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case ')': goto yy140; - case '0': - case '1': goto yy1393; - case '2': goto yy1394; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1395; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'X': - case 'Y': - case 'Z': goto yy141; - case 'E': goto yy1388; - case 'H': goto yy1389; - case 'O': goto yy1390; - case 'U': goto yy1391; - case 'W': goto yy1392; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'x': - case 'y': - case 'z': goto yy146; - case 'e': goto yy1431; - case 'h': goto yy1432; - case 'o': goto yy1433; - case 'u': goto yy1434; - case 'w': goto yy1435; - default: goto yy4; - } -yy11: - YYDEBUG(11, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case ')': goto yy140; - case '0': - case '1': goto yy1393; - case '2': goto yy1394; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1395; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'x': - case 'y': - case 'z': goto yy141; - case 'E': - case 'e': goto yy1388; - case 'H': - case 'h': goto yy1389; - case 'O': - case 'o': goto yy1390; - case 'U': - case 'u': goto yy1391; - case 'W': - case 'w': goto yy1392; - default: goto yy4; - } -yy12: - YYDEBUG(12, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy1384; - if (yych <= '/') goto yy13; - if (yych <= '9') goto yy1385; -yy13: - YYDEBUG(13, *YYCURSOR); -#line 1751 "ext/date/lib/parse_date.re" - { - add_error(s, "Unexpected character"); - goto std; - } -#line 1359 "ext/date/lib/parse_date.c" -yy14: - YYDEBUG(14, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; - goto yy1320; - } - } else { - if (yych <= 'N') { - if (yych == 'I') goto yy1321; - goto yy141; - } else { - if (yych <= 'O') goto yy1322; - if (yych <= 'Q') goto yy141; - goto yy1323; - } - } - } else { - if (yych <= 'i') { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy146; - } else { - if (yych <= 'e') goto yy1361; - if (yych <= 'h') goto yy146; - goto yy1362; - } - } else { - if (yych <= 'q') { - if (yych == 'o') goto yy1363; - goto yy146; - } else { - if (yych <= 'r') goto yy1364; - if (yych <= 'z') goto yy146; - goto yy4; - } - } - } -yy15: - YYDEBUG(15, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; - goto yy1320; - } - } else { - if (yych <= 'N') { - if (yych == 'I') goto yy1321; - goto yy141; - } else { - if (yych <= 'O') goto yy1322; - if (yych <= 'Q') goto yy141; - goto yy1323; - } - } - } else { - if (yych <= 'i') { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy141; - } else { - if (yych <= 'e') goto yy1320; - if (yych <= 'h') goto yy141; - goto yy1321; - } - } else { - if (yych <= 'q') { - if (yych == 'o') goto yy1322; - goto yy141; - } else { - if (yych <= 'r') goto yy1323; - if (yych <= 'z') goto yy141; - goto yy4; - } - } - } -yy16: - YYDEBUG(16, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy1307; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; - } else { - if (yych <= 'a') goto yy1317; - if (yych <= 'z') goto yy146; - goto yy4; - } - } -yy17: - YYDEBUG(17, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy1307; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; - } else { - if (yych <= 'a') goto yy1307; - if (yych <= 'z') goto yy141; - goto yy4; - } - } -yy18: - YYDEBUG(18, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy1287; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; - } else { - if (yych <= 'a') goto yy1304; - if (yych <= 'z') goto yy146; - goto yy4; - } - } -yy19: - YYDEBUG(19, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy1287; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; - } else { - if (yych <= 'a') goto yy1287; - if (yych <= 'z') goto yy141; - goto yy4; - } - } -yy20: - YYDEBUG(20, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'A') goto yy1230; - goto yy141; - } - } else { - if (yych <= 'H') { - if (yych <= 'E') goto yy1229; - goto yy141; - } else { - if (yych <= 'I') goto yy1231; - if (yych <= 'T') goto yy141; - goto yy1232; - } - } - } else { - if (yych <= 'e') { - if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; - } else { - if (yych <= 'a') goto yy1259; - if (yych <= 'd') goto yy146; - goto yy1258; - } - } else { - if (yych <= 't') { - if (yych == 'i') goto yy1260; - goto yy146; - } else { - if (yych <= 'u') goto yy1261; - if (yych <= 'z') goto yy146; - goto yy4; - } - } - } -yy21: - YYDEBUG(21, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'A') goto yy1230; - goto yy141; - } - } else { - if (yych <= 'H') { - if (yych <= 'E') goto yy1229; - goto yy141; - } else { - if (yych <= 'I') goto yy1231; - if (yych <= 'T') goto yy141; - goto yy1232; - } - } - } else { - if (yych <= 'e') { - if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; - } else { - if (yych <= 'a') goto yy1230; - if (yych <= 'd') goto yy141; - goto yy1229; - } - } else { - if (yych <= 't') { - if (yych == 'i') goto yy1231; - goto yy141; - } else { - if (yych <= 'u') goto yy1232; - if (yych <= 'z') goto yy141; - goto yy4; - } - } - } -yy22: - YYDEBUG(22, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == 'I') goto yy1199; - if (yych <= 'K') goto yy141; - goto yy1200; - } - } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - if (yych <= 'h') goto yy146; - goto yy1217; - } else { - if (yych == 'l') goto yy1218; - if (yych <= 'z') goto yy146; - goto yy4; - } - } -yy23: - YYDEBUG(23, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == 'I') goto yy1199; - if (yych <= 'K') goto yy141; - goto yy1200; - } - } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - if (yych <= 'h') goto yy141; - goto yy1199; - } else { - if (yych == 'l') goto yy1200; - if (yych <= 'z') goto yy141; - goto yy4; - } - } -yy24: - YYDEBUG(24, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy141; - goto yy1098; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy146; - } else { - if (yych <= 'r') goto yy1192; - if (yych <= 'z') goto yy146; - goto yy4; - } - } -yy25: - YYDEBUG(25, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy141; - goto yy1098; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy141; - } else { - if (yych <= 'r') goto yy1098; - if (yych <= 'z') goto yy141; - goto yy4; - } - } -yy26: - YYDEBUG(26, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': goto yy1052; - case ' ': - case 'A': - case 'D': - case 'F': - case 'H': - case 'I': - case 'J': - case 'M': - case 'N': - case 'O': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'o': - case 'w': - case 'y': goto yy1054; - case '-': goto yy473; - case '.': goto yy1064; - case '/': goto yy472; - case '0': goto yy1097; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1096; - case ':': goto yy1065; - case 'n': goto yy470; - case 'r': goto yy471; - case 's': goto yy464; - case 't': goto yy468; - default: goto yy13; - } -yy27: - YYDEBUG(27, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': goto yy460; - case ' ': - case 'A': - case 'D': - case 'F': - case 'H': - case 'I': - case 'J': - case 'M': - case 'N': - case 'O': - case 'P': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'o': - case 'p': - case 'w': - case 'y': goto yy462; - case '-': goto yy473; - case '.': goto yy474; - case '/': goto yy472; - case '0': - case '1': - case '2': goto yy1096; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1063; - case ':': goto yy483; - case 'n': goto yy470; - case 'r': goto yy471; - case 's': goto yy464; - case 't': goto yy468; - default: goto yy13; - } -yy28: - YYDEBUG(28, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': goto yy460; - case ' ': - case 'A': - case 'D': - case 'F': - case 'H': - case 'I': - case 'J': - case 'M': - case 'N': - case 'O': - case 'P': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'o': - case 'p': - case 'w': - case 'y': goto yy462; - case '-': goto yy473; - case '.': goto yy474; - case '/': goto yy472; - case '0': - case '1': - case '2': - case '3': - case '4': goto yy1063; - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1050; - case ':': goto yy483; - case 'n': goto yy470; - case 'r': goto yy471; - case 's': goto yy464; - case 't': goto yy468; - default: goto yy13; - } -yy29: - YYDEBUG(29, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': goto yy460; - case ' ': - case 'A': - case 'D': - case 'F': - case 'H': - case 'I': - case 'J': - case 'M': - case 'N': - case 'O': - case 'P': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'o': - case 'p': - case 'w': - case 'y': goto yy462; - case '-': goto yy473; - case '.': goto yy474; - case '/': goto yy472; - case '0': - case '1': goto yy1050; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy469; - case ':': goto yy483; - case 'n': goto yy470; - case 'r': goto yy471; - case 's': goto yy464; - case 't': goto yy468; - default: goto yy13; - } -yy30: - YYDEBUG(30, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': goto yy460; - case ' ': - case 'A': - case 'D': - case 'F': - case 'H': - case 'I': - case 'J': - case 'M': - case 'N': - case 'O': - case 'P': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'o': - case 'p': - case 'w': - case 'y': goto yy462; - case '-': goto yy473; - case '.': goto yy474; - case '/': goto yy472; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy469; - case ':': goto yy483; - case 'n': goto yy470; - case 'r': goto yy471; - case 's': goto yy464; - case 't': goto yy468; - default: goto yy13; - } -yy31: - YYDEBUG(31, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy58; - } - YYDEBUG(-1, yych); - switch (yych) { - case '+': - case '-': goto yy440; - case '0': - case '1': goto yy437; - case '2': goto yy438; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy439; - default: goto yy13; - } -yy32: - YYDEBUG(32, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy4; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy4; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy4; - } else { - if (yych == '/') goto yy4; - goto yy196; - } - } - } else { - if (yych <= 'V') { - if (yych <= 'H') { - if (yych <= '@') goto yy4; - goto yy141; - } else { - if (yych <= 'I') goto yy436; - if (yych <= 'U') goto yy141; - goto yy435; - } - } else { - if (yych <= 'Z') { - if (yych == 'X') goto yy435; - goto yy141; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy146; - goto yy4; - } - } - } -yy33: - YYDEBUG(33, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy4; - goto yy196; - } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy196; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy4; - goto yy141; - } else { - if (yych <= 'Z') { - if (yych <= 'I') goto yy432; - goto yy141; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy146; - goto yy4; - } - } - } -yy34: - YYDEBUG(34, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy4; - goto yy196; - } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy196; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy4; - goto yy141; - } else { - if (yych <= 'Z') { - if (yych <= 'I') goto yy430; - goto yy141; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy146; - goto yy4; - } - } - } -yy35: - YYDEBUG(35, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'A') goto yy413; - if (yych <= 'T') goto yy141; - goto yy412; - } - } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy422; - } else { - if (yych == 'u') goto yy421; - if (yych <= 'z') goto yy146; - goto yy4; - } - } -yy36: - YYDEBUG(36, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'A') goto yy413; - if (yych <= 'T') goto yy141; - goto yy412; - } - } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy413; - } else { - if (yych == 'u') goto yy412; - if (yych <= 'z') goto yy141; - goto yy4; - } - } -yy37: - YYDEBUG(37, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'F') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy141; - } else { - if (yych <= 'O') { - if (yych <= 'G') goto yy391; - goto yy141; - } else { - if (yych <= 'P') goto yy390; - if (yych <= 'T') goto yy141; - goto yy389; - } - } - } else { - if (yych <= 'o') { - if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; - } else { - if (yych == 'g') goto yy403; - goto yy146; - } - } else { - if (yych <= 't') { - if (yych <= 'p') goto yy402; - goto yy146; - } else { - if (yych <= 'u') goto yy401; - if (yych <= 'z') goto yy146; - goto yy4; - } - } - } -yy38: - YYDEBUG(38, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'F') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy141; - } else { - if (yych <= 'O') { - if (yych <= 'G') goto yy391; - goto yy141; - } else { - if (yych <= 'P') goto yy390; - if (yych <= 'T') goto yy141; - goto yy389; - } - } - } else { - if (yych <= 'o') { - if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; - } else { - if (yych == 'g') goto yy391; - goto yy141; - } - } else { - if (yych <= 't') { - if (yych <= 'p') goto yy390; - goto yy141; - } else { - if (yych <= 'u') goto yy389; - if (yych <= 'z') goto yy141; - goto yy4; - } - } - } -yy39: - YYDEBUG(39, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'C') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'B') goto yy141; - goto yy379; - } - } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy146; - } else { - if (yych <= 'c') goto yy384; - if (yych <= 'z') goto yy146; - goto yy4; - } - } -yy40: - YYDEBUG(40, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'C') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'B') goto yy141; - goto yy379; - } - } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy141; - } else { - if (yych <= 'c') goto yy379; - if (yych <= 'z') goto yy141; - goto yy4; - } - } -yy41: - YYDEBUG(41, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; - goto yy192; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy146; - } else { - if (yych <= 'e') goto yy370; - if (yych <= 'z') goto yy146; - goto yy4; - } - } -yy42: - YYDEBUG(42, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; - goto yy192; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy141; - } else { - if (yych <= 'e') goto yy192; - if (yych <= 'z') goto yy141; - goto yy4; - } - } -yy43: - YYDEBUG(43, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; - goto yy165; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy146; - } else { - if (yych <= 'e') goto yy179; - if (yych <= 'z') goto yy146; - goto yy4; - } - } -yy44: - YYDEBUG(44, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; - goto yy165; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy141; - } else { - if (yych <= 'e') goto yy165; - if (yych <= 'z') goto yy141; - goto yy4; - } - } -yy45: - YYDEBUG(45, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy141; - } else { - if (yych <= 'Z') { - if (yych <= 'M') goto yy157; - goto yy141; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy146; - goto yy4; - } - } -yy46: - YYDEBUG(46, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') goto yy13; - if (yych <= 'Z') goto yy156; - if (yych <= '`') goto yy13; - if (yych <= 'z') goto yy156; - goto yy13; -yy47: - YYDEBUG(47, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy146; - goto yy4; - } -yy48: - YYDEBUG(48, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy141; - goto yy4; - } -yy49: - YYDEBUG(49, *YYCURSOR); - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy58; - } - if (yych <= '/') goto yy50; - if (yych <= '9') goto yy55; -yy50: - YYDEBUG(50, *YYCURSOR); -#line 1740 "ext/date/lib/parse_date.re" - { - goto std; - } -#line 2420 "ext/date/lib/parse_date.c" -yy51: - YYDEBUG(51, *YYCURSOR); - yych = *++YYCURSOR; - goto yy50; -yy52: - YYDEBUG(52, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(53, *YYCURSOR); -#line 1745 "ext/date/lib/parse_date.re" - { - s->pos = cursor; s->line++; - goto std; - } -#line 2434 "ext/date/lib/parse_date.c" -yy54: - YYDEBUG(54, *YYCURSOR); - yych = *++YYCURSOR; - goto yy13; -yy55: - YYDEBUG(55, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; - YYDEBUG(56, *YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy55; - } - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych >= ' ') goto yy60; - } else { - if (yych == 'D') goto yy65; - if (yych >= 'F') goto yy66; - } - } else { - if (yych <= 'M') { - if (yych == 'H') goto yy64; - if (yych >= 'M') goto yy63; - } else { - if (yych <= 'S') { - if (yych >= 'S') goto yy62; - } else { - if (yych <= 'T') goto yy69; - if (yych >= 'W') goto yy68; - } - } - } - } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy67; - if (yych >= 'd') goto yy65; - } else { - if (yych <= 'f') { - if (yych >= 'f') goto yy66; - } else { - if (yych == 'h') goto yy64; - } - } - } else { - if (yych <= 't') { - if (yych <= 'm') goto yy63; - if (yych <= 'r') goto yy57; - if (yych <= 's') goto yy62; - goto yy69; - } else { - if (yych <= 'w') { - if (yych >= 'w') goto yy68; - } else { - if (yych == 'y') goto yy67; - } - } - } - } -yy57: - YYDEBUG(57, *YYCURSOR); - YYCURSOR = YYMARKER; - if (yyaccept <= 16) { - if (yyaccept <= 8) { - if (yyaccept <= 4) { - if (yyaccept <= 2) { - if (yyaccept <= 1) { - if (yyaccept <= 0) { - goto yy4; - } else { - goto yy13; - } - } else { - goto yy50; - } - } else { - if (yyaccept <= 3) { - goto yy73; - } else { - goto yy167; - } - } - } else { - if (yyaccept <= 6) { - if (yyaccept <= 5) { - goto yy194; - } else { - goto yy199; - } - } else { - if (yyaccept <= 7) { - goto yy223; - } else { - goto yy295; - } - } - } - } else { - if (yyaccept <= 12) { - if (yyaccept <= 10) { - if (yyaccept <= 9) { - goto yy393; - } else { - goto yy476; - } - } else { - if (yyaccept <= 11) { - goto yy491; - } else { - goto yy612; - } - } - } else { - if (yyaccept <= 14) { - if (yyaccept <= 13) { - goto yy657; - } else { - goto yy667; - } - } else { - if (yyaccept <= 15) { - goto yy764; - } else { - goto yy784; - } - } - } - } - } else { - if (yyaccept <= 25) { - if (yyaccept <= 21) { - if (yyaccept <= 19) { - if (yyaccept <= 18) { - if (yyaccept <= 17) { - goto yy815; - } else { - goto yy822; - } - } else { - goto yy849; - } - } else { - if (yyaccept <= 20) { - goto yy794; - } else { - goto yy455; - } - } - } else { - if (yyaccept <= 23) { - if (yyaccept <= 22) { - goto yy974; - } else { - goto yy843; - } - } else { - if (yyaccept <= 24) { - goto yy1068; - } else { - goto yy1076; - } - } - } - } else { - if (yyaccept <= 29) { - if (yyaccept <= 27) { - if (yyaccept <= 26) { - goto yy1118; - } else { - goto yy1142; - } - } else { - if (yyaccept <= 28) { - goto yy1295; - } else { - goto yy1417; - } - } - } else { - if (yyaccept <= 31) { - if (yyaccept <= 30) { - goto yy1420; - } else { - goto yy1500; - } - } else { - if (yyaccept <= 32) { - goto yy1508; - } else { - goto yy1531; - } - } - } - } - } -yy58: - YYDEBUG(58, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(59, *YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy58; - } - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy55; - goto yy57; -yy60: - YYDEBUG(60, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy61: - YYDEBUG(61, *YYCURSOR); - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy57; - goto yy60; - } else { - if (yych == 'D') goto yy65; - if (yych <= 'E') goto yy57; - goto yy66; - } - } else { - if (yych <= 'M') { - if (yych == 'H') goto yy64; - if (yych <= 'L') goto yy57; - goto yy63; - } else { - if (yych <= 'S') { - if (yych <= 'R') goto yy57; - } else { - if (yych <= 'T') goto yy69; - if (yych <= 'V') goto yy57; - goto yy68; - } - } - } - } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy67; - if (yych <= 'c') goto yy57; - goto yy65; - } else { - if (yych <= 'f') { - if (yych <= 'e') goto yy57; - goto yy66; - } else { - if (yych == 'h') goto yy64; - goto yy57; - } - } - } else { - if (yych <= 't') { - if (yych <= 'm') goto yy63; - if (yych <= 'r') goto yy57; - if (yych >= 't') goto yy69; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy57; - goto yy68; - } else { - if (yych == 'y') goto yy67; - goto yy57; - } - } - } - } -yy62: - YYDEBUG(62, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'A') goto yy127; - goto yy57; - } else { - if (yych <= 'E') goto yy128; - if (yych <= 'T') goto yy57; - goto yy126; - } - } else { - if (yych <= 'd') { - if (yych == 'a') goto yy127; - goto yy57; - } else { - if (yych <= 'e') goto yy128; - if (yych == 'u') goto yy126; - goto yy57; - } - } -yy63: - YYDEBUG(63, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych == 'I') goto yy118; - if (yych <= 'N') goto yy57; - goto yy117; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy57; - goto yy118; - } else { - if (yych == 'o') goto yy117; - goto yy57; - } - } -yy64: - YYDEBUG(64, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy115; - if (yych == 'o') goto yy115; - goto yy57; -yy65: - YYDEBUG(65, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy114; - if (yych == 'a') goto yy114; - goto yy57; -yy66: - YYDEBUG(66, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych == 'O') goto yy99; - if (yych <= 'Q') goto yy57; - goto yy98; - } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy57; - goto yy99; - } else { - if (yych == 'r') goto yy98; - goto yy57; - } - } -yy67: - YYDEBUG(67, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy95; - if (yych == 'e') goto yy95; - goto yy57; -yy68: - YYDEBUG(68, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy83; - if (yych == 'e') goto yy83; - goto yy57; -yy69: - YYDEBUG(69, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'H') goto yy70; - if (yych <= 'T') goto yy57; - goto yy71; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy57; - } else { - if (yych == 'u') goto yy71; - goto yy57; - } - } -yy70: - YYDEBUG(70, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy78; - if (yych == 'u') goto yy78; - goto yy57; -yy71: - YYDEBUG(71, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy72; - if (yych != 'e') goto yy57; -yy72: - YYDEBUG(72, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'S') goto yy74; - if (yych == 's') goto yy74; -yy73: - YYDEBUG(73, *YYCURSOR); -#line 1724 "ext/date/lib/parse_date.re" - { - timelib_ull i; - DEBUG_OUTPUT("relative"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - - while(*ptr) { - i = timelib_get_unsigned_nr((char **) &ptr, 24); - timelib_eat_spaces((char **) &ptr); - timelib_set_relative((char **) &ptr, i, 1, s); - } - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 2836 "ext/date/lib/parse_date.c" -yy74: - YYDEBUG(74, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy75; - if (yych != 'd') goto yy57; -yy75: - YYDEBUG(75, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy76; - if (yych != 'a') goto yy57; -yy76: - YYDEBUG(76, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych != 'y') goto yy57; -yy77: - YYDEBUG(77, *YYCURSOR); - yych = *++YYCURSOR; - goto yy73; -yy78: - YYDEBUG(78, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'R') goto yy79; - if (yych != 'r') goto yy73; -yy79: - YYDEBUG(79, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy80; - if (yych != 's') goto yy57; -yy80: - YYDEBUG(80, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy81; - if (yych != 'd') goto yy57; -yy81: - YYDEBUG(81, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy82; - if (yych != 'a') goto yy57; -yy82: - YYDEBUG(82, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych == 'y') goto yy77; - goto yy57; -yy83: - YYDEBUG(83, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= 'C') goto yy57; - if (yych <= 'D') goto yy85; - } else { - if (yych <= 'c') goto yy57; - if (yych <= 'd') goto yy85; - if (yych >= 'f') goto yy57; - } - YYDEBUG(84, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'K') goto yy91; - if (yych == 'k') goto yy91; - goto yy57; -yy85: - YYDEBUG(85, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'N') goto yy86; - if (yych != 'n') goto yy73; -yy86: - YYDEBUG(86, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy87; - if (yych != 'e') goto yy57; -yy87: - YYDEBUG(87, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy88; - if (yych != 's') goto yy57; -yy88: - YYDEBUG(88, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy89; - if (yych != 'd') goto yy57; -yy89: - YYDEBUG(89, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy90; - if (yych != 'a') goto yy57; -yy90: - YYDEBUG(90, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych == 'y') goto yy77; - goto yy57; -yy91: - YYDEBUG(91, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == 'D') goto yy92; - if (yych <= 'R') goto yy73; - goto yy77; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy73; - } else { - if (yych == 's') goto yy77; - goto yy73; - } - } -yy92: - YYDEBUG(92, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy93; - if (yych != 'a') goto yy57; -yy93: - YYDEBUG(93, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy94; - if (yych != 'y') goto yy57; -yy94: - YYDEBUG(94, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy77; - if (yych == 's') goto yy77; - goto yy73; -yy95: - YYDEBUG(95, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy96; - if (yych != 'a') goto yy57; -yy96: - YYDEBUG(96, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy97; - if (yych != 'r') goto yy57; -yy97: - YYDEBUG(97, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy77; - if (yych == 's') goto yy77; - goto yy73; -yy98: - YYDEBUG(98, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy111; - if (yych == 'i') goto yy111; - goto yy57; -yy99: - YYDEBUG(99, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy100; - if (yych != 'r') goto yy57; -yy100: - YYDEBUG(100, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy101; - if (yych != 't') goto yy57; -yy101: - YYDEBUG(101, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'H') goto yy103; - if (yych <= 'M') goto yy57; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy57; - goto yy103; - } else { - if (yych != 'n') goto yy57; - } - } - YYDEBUG(102, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy108; - if (yych == 'i') goto yy108; - goto yy57; -yy103: - YYDEBUG(103, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy104; - if (yych != 'n') goto yy57; -yy104: - YYDEBUG(104, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy105; - if (yych != 'i') goto yy57; -yy105: - YYDEBUG(105, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy106; - if (yych != 'g') goto yy57; -yy106: - YYDEBUG(106, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy107; - if (yych != 'h') goto yy57; -yy107: - YYDEBUG(107, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy97; - if (yych == 't') goto yy97; - goto yy57; -yy108: - YYDEBUG(108, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy109; - if (yych != 'g') goto yy57; -yy109: - YYDEBUG(109, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy110; - if (yych != 'h') goto yy57; -yy110: - YYDEBUG(110, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy97; - if (yych == 't') goto yy97; - goto yy57; -yy111: - YYDEBUG(111, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'D') goto yy112; - if (yych != 'd') goto yy73; -yy112: - YYDEBUG(112, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy113; - if (yych != 'a') goto yy57; -yy113: - YYDEBUG(113, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych == 'y') goto yy77; - goto yy57; -yy114: - YYDEBUG(114, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy97; - if (yych == 'y') goto yy97; - goto yy57; -yy115: - YYDEBUG(115, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy116; - if (yych != 'u') goto yy57; -yy116: - YYDEBUG(116, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy97; - if (yych == 'r') goto yy97; - goto yy57; -yy117: - YYDEBUG(117, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy122; - if (yych == 'n') goto yy122; - goto yy57; -yy118: - YYDEBUG(118, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy119; - if (yych != 'n') goto yy57; -yy119: - YYDEBUG(119, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych == 'S') goto yy77; - if (yych <= 'T') goto yy73; - } else { - if (yych <= 's') { - if (yych <= 'r') goto yy73; - goto yy77; - } else { - if (yych != 'u') goto yy73; - } - } - YYDEBUG(120, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy121; - if (yych != 't') goto yy57; -yy121: - YYDEBUG(121, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy97; - if (yych == 'e') goto yy97; - goto yy57; -yy122: - YYDEBUG(122, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych == 'D') goto yy123; - if (yych <= 'S') goto yy73; - goto yy124; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy73; - } else { - if (yych == 't') goto yy124; - goto yy73; - } - } -yy123: - YYDEBUG(123, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy125; - if (yych == 'a') goto yy125; - goto yy57; -yy124: - YYDEBUG(124, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy97; - if (yych == 'h') goto yy97; - goto yy57; -yy125: - YYDEBUG(125, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych == 'y') goto yy77; - goto yy57; -yy126: - YYDEBUG(126, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy137; - if (yych == 'n') goto yy137; - goto yy57; -yy127: - YYDEBUG(127, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy132; - if (yych == 't') goto yy132; - goto yy57; -yy128: - YYDEBUG(128, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy129; - if (yych != 'c') goto yy57; -yy129: - YYDEBUG(129, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == 'O') goto yy130; - if (yych <= 'R') goto yy73; - goto yy77; - } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy73; - } else { - if (yych == 's') goto yy77; - goto yy73; - } - } -yy130: - YYDEBUG(130, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy131; - if (yych != 'n') goto yy57; -yy131: - YYDEBUG(131, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy97; - if (yych == 'd') goto yy97; - goto yy57; -yy132: - YYDEBUG(132, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy133; - if (yych != 'u') goto yy73; -yy133: - YYDEBUG(133, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy134; - if (yych != 'r') goto yy57; -yy134: - YYDEBUG(134, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy135; - if (yych != 'd') goto yy57; -yy135: - YYDEBUG(135, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy136; - if (yych != 'a') goto yy57; -yy136: - YYDEBUG(136, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych == 'y') goto yy77; - goto yy57; -yy137: - YYDEBUG(137, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'D') goto yy138; - if (yych != 'd') goto yy73; -yy138: - YYDEBUG(138, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy139; - if (yych != 'a') goto yy57; -yy139: - YYDEBUG(139, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych == 'y') goto yy77; - goto yy57; -yy140: - YYDEBUG(140, *YYCURSOR); - yych = *++YYCURSOR; - goto yy4; -yy141: - YYDEBUG(141, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; - } -yy142: - YYDEBUG(142, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; - } -yy143: - YYDEBUG(143, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; - } -yy144: - YYDEBUG(144, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; - } -yy145: - YYDEBUG(145, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == ')') goto yy140; - goto yy4; -yy146: - YYDEBUG(146, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - goto yy148; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy4; - if (yych <= 'Z') goto yy142; - goto yy4; - } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; - } - } -yy147: - YYDEBUG(147, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy4; - if (yych <= 'Z') goto yy143; - goto yy4; - } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy151; - goto yy4; - } - } -yy148: - YYDEBUG(148, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yybm[0+yych] & 8) { - goto yy149; - } - goto yy57; -yy149: - YYDEBUG(149, *YYCURSOR); - yyaccept = 0; - YYMARKER = ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(150, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy149; - } - if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy4; - } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; - goto yy4; - } -yy151: - YYDEBUG(151, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - goto yy148; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy4; - if (yych <= 'Z') goto yy144; - goto yy4; - } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; - } - } -yy152: - YYDEBUG(152, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - goto yy148; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy4; - if (yych <= 'Z') goto yy145; - goto yy4; - } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; - } - } -yy153: - YYDEBUG(153, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy4; - goto yy148; - } else { - if (yych == '_') goto yy148; - goto yy4; - } - } -yy154: - YYDEBUG(154, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; -yy155: - YYDEBUG(155, *YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy57; - } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; - goto yy57; - } -yy156: - YYDEBUG(156, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy141; - goto yy4; - } -yy157: - YYDEBUG(157, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy142; - } else { - if (yych <= 'Z') { - if (yych >= 'U') goto yy142; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy142; - goto yy4; - } - } - YYDEBUG(158, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych != '+') goto yy4; - } - } else { - if (yych <= 'Z') { - if (yych <= '-') goto yy159; - if (yych <= '@') goto yy4; - goto yy143; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy159: - YYDEBUG(159, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy160; - if (yych <= '2') goto yy161; - if (yych <= '9') goto yy162; - goto yy57; -yy160: - YYDEBUG(160, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy162; - if (yych <= ':') goto yy163; - goto yy4; -yy161: - YYDEBUG(161, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy4; - if (yych >= '5') goto yy164; - } else { - if (yych <= '9') goto yy140; - if (yych <= ':') goto yy163; - goto yy4; - } -yy162: - YYDEBUG(162, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy4; - if (yych <= '5') goto yy164; - if (yych <= '9') goto yy140; - if (yych >= ';') goto yy4; -yy163: - YYDEBUG(163, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy4; - if (yych <= '5') goto yy164; - if (yych <= '9') goto yy140; - goto yy4; -yy164: - YYDEBUG(164, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy140; - goto yy4; -yy165: - YYDEBUG(165, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'C') goto yy142; - if (yych >= 'E') goto yy168; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'd') goto yy166; - if (yych <= 'e') goto yy168; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy166: - YYDEBUG(166, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= 'N') { - if (yych <= ')') { - if (yych >= ')') goto yy140; - } else { - if (yych <= '@') goto yy167; - if (yych <= 'M') goto yy143; - goto yy174; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy143; - if (yych >= 'a') goto yy143; - } else { - if (yych <= 'n') goto yy174; - if (yych <= 'z') goto yy143; - } - } -yy167: - YYDEBUG(167, *YYCURSOR); -#line 1587 "ext/date/lib/parse_date.re" - { - const timelib_relunit* relunit; - DEBUG_OUTPUT("daytext"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_HAVE_WEEKDAY_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - relunit = timelib_lookup_relunit((char**) &ptr); - s->time->relative.weekday = relunit->multiplier; - if (s->time->relative.weekday_behavior != 2) { - s->time->relative.weekday_behavior = 1; - } - - TIMELIB_DEINIT; - return TIMELIB_WEEKDAY; - } -#line 3615 "ext/date/lib/parse_date.c" -yy168: - YYDEBUG(168, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'K') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'J') goto yy143; - } - } else { - if (yych <= 'j') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'k') goto yy169; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy169: - YYDEBUG(169, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy144; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'd') goto yy170; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy170: - YYDEBUG(170, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy145; - goto yy4; - } else { - if (yych <= 'a') goto yy171; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy171: - YYDEBUG(171, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Y') goto yy172; - if (yych != 'y') goto yy4; - } -yy172: - YYDEBUG(172, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy173; - if (yych != 's') goto yy167; -yy173: - YYDEBUG(173, *YYCURSOR); - yych = *++YYCURSOR; - goto yy167; -yy174: - YYDEBUG(174, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy144; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'e') goto yy175; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy175: - YYDEBUG(175, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'R') goto yy145; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 's') goto yy176; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy176: - YYDEBUG(176, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'D') goto yy177; - if (yych != 'd') goto yy4; - } -yy177: - YYDEBUG(177, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy178; - if (yych != 'a') goto yy57; -yy178: - YYDEBUG(178, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy173; - if (yych == 'y') goto yy173; - goto yy57; -yy179: - YYDEBUG(179, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy4; - goto yy148; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy142; - goto yy166; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'E') goto yy168; - goto yy142; - } else { - if (yych == '_') goto yy148; - goto yy4; - } - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy147; - } else { - if (yych <= 'e') goto yy181; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } - YYDEBUG(180, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy174; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy167; - goto yy151; - } else { - if (yych <= 'n') goto yy187; - if (yych <= 'z') goto yy151; - goto yy167; - } - } - } -yy181: - YYDEBUG(181, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'J') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'K') goto yy169; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'j') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'k') goto yy182; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy182: - YYDEBUG(182, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy170; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'd') goto yy183; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy183: - YYDEBUG(183, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy171; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy184; - if (yych <= 'z') goto yy153; - goto yy4; - } - } -yy184: - YYDEBUG(184, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'Y') goto yy172; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'y') goto yy185; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy185: - YYDEBUG(185, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy167; - } else { - if (yych <= '/') goto yy148; - if (yych <= 'R') goto yy167; - goto yy173; - } - } else { - if (yych <= '`') { - if (yych == '_') goto yy148; - goto yy167; - } else { - if (yych == 's') goto yy186; - if (yych <= 'z') goto yy154; - goto yy167; - } - } -yy186: - YYDEBUG(186, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy167; - } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; - goto yy167; - } -yy187: - YYDEBUG(187, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy175; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'e') goto yy188; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy188: - YYDEBUG(188, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy176; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 's') goto yy189; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy189: - YYDEBUG(189, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'D') goto yy177; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'd') goto yy190; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy190: - YYDEBUG(190, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy178; - if (yych != 'a') goto yy155; - YYDEBUG(191, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy173; - if (yych == 'y') goto yy186; - goto yy155; -yy192: - YYDEBUG(192, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'C') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'B') goto yy142; - } - } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'c') goto yy193; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy193: - YYDEBUG(193, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych >= '\t') goto yy196; - } else { - if (yych == ' ') goto yy196; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy196; - } else { - if (yych == 'E') goto yy202; - goto yy143; - } - } else { - if (yych <= 'd') { - if (yych >= 'a') goto yy143; - } else { - if (yych <= 'e') goto yy202; - if (yych <= 'z') goto yy143; - } - } - } -yy194: - YYDEBUG(194, *YYCURSOR); -#line 1646 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("monthtext"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_lookup_month((char **) &ptr); - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; - } -#line 4144 "ext/date/lib/parse_date.c" -yy195: - YYDEBUG(195, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21); - yych = *YYCURSOR; -yy196: - YYDEBUG(196, *YYCURSOR); - if (yybm[0+yych] & 32) { - goto yy195; - } - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy198; - if (yych <= '3') goto yy200; - if (yych <= '9') goto yy201; - goto yy57; -yy197: - YYDEBUG(197, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy196; - if (yych <= '0') goto yy357; - if (yych <= '2') goto yy358; - if (yych <= '3') goto yy359; - goto yy196; -yy198: - YYDEBUG(198, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy298; - goto yy299; - } else { - if (yych <= '2') goto yy355; - if (yych <= '9') goto yy356; - goto yy216; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy212; - if (yych <= 'q') goto yy216; - goto yy213; - } else { - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy199: - YYDEBUG(199, *YYCURSOR); -#line 1396 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datetextual | datenoyear"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_month((char **) &ptr); - s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_PROCESS_YEAR(s->time->y); - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; - } -#line 4207 "ext/date/lib/parse_date.c" -yy200: - YYDEBUG(200, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy298; - goto yy299; - } else { - if (yych <= '2') goto yy209; - if (yych <= '9') goto yy210; - goto yy216; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy212; - if (yych <= 'q') goto yy216; - goto yy213; - } else { - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy201: - YYDEBUG(201, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy207; - goto yy208; - } else { - if (yych <= '2') goto yy209; - if (yych <= '9') goto yy210; - goto yy216; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy212; - if (yych <= 'q') goto yy216; - goto yy213; - } else { - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy202: - YYDEBUG(202, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'M') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'L') goto yy144; - } - } else { - if (yych <= 'l') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'm') goto yy203; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy203: - YYDEBUG(203, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'B') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'A') goto yy145; - } - } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'b') goto yy204; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy204: - YYDEBUG(204, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'E') goto yy205; - if (yych != 'e') goto yy4; - } -yy205: - YYDEBUG(205, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy206; - if (yych != 'r') goto yy57; -yy206: - YYDEBUG(206, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy194; - goto yy196; - } else { - if (yych <= '.') { - if (yych <= ',') goto yy194; - goto yy196; - } else { - if (yych <= '/') goto yy194; - if (yych <= '9') goto yy196; - goto yy194; - } - } -yy207: - YYDEBUG(207, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy57; - } else { - if (yych <= '0') goto yy296; - if (yych <= '9') goto yy297; - if (yych <= ':') goto yy221; - goto yy57; - } -yy208: - YYDEBUG(208, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; - } else { - if (yych <= '2') goto yy297; - if (yych <= '9') goto yy296; - if (yych <= ':') goto yy264; - goto yy57; - } -yy209: - YYDEBUG(209, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; - } else { - if (yych <= '4') goto yy296; - if (yych <= '9') goto yy293; - if (yych <= ':') goto yy264; - goto yy57; - } -yy210: - YYDEBUG(210, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; - } else { - if (yych <= '9') goto yy293; - if (yych <= ':') goto yy264; - goto yy57; - } -yy211: - YYDEBUG(211, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - goto yy216; -yy212: - YYDEBUG(212, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - goto yy216; -yy213: - YYDEBUG(213, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - goto yy216; -yy214: - YYDEBUG(214, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - goto yy216; -yy215: - YYDEBUG(215, *YYCURSOR); - yyaccept = 6; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); - yych = *YYCURSOR; -yy216: - YYDEBUG(216, *YYCURSOR); - if (yybm[0+yych] & 64) { - goto yy215; - } - if (yych <= '2') { - if (yych <= '/') goto yy199; - if (yych <= '0') goto yy259; - if (yych <= '1') goto yy260; - goto yy261; - } else { - if (yych <= '9') goto yy262; - if (yych != 'T') goto yy199; - } - YYDEBUG(217, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy218; - if (yych <= '2') goto yy219; - if (yych <= '9') goto yy220; - goto yy57; -yy218: - YYDEBUG(218, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy57; - } else { - if (yych <= '9') goto yy220; - if (yych <= ':') goto yy221; - goto yy57; - } -yy219: - YYDEBUG(219, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy57; - } else { - if (yych <= '4') goto yy220; - if (yych == ':') goto yy221; - goto yy57; - } -yy220: - YYDEBUG(220, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '.') goto yy221; - if (yych != ':') goto yy57; -yy221: - YYDEBUG(221, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy222; - if (yych <= '9') goto yy224; - goto yy57; -yy222: - YYDEBUG(222, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy225; - } else { - if (yych <= '9') goto yy224; - if (yych <= ':') goto yy225; - } -yy223: - YYDEBUG(223, *YYCURSOR); -#line 1694 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_month((char **) &ptr); - s->time->d = timelib_get_nr((char **) &ptr, 2); - - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); - } - } - - if (*ptr != '\0') { - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); - if (tz_not_found) { - add_error(s, "The timezone could not be found in the database"); - } - } - TIMELIB_DEINIT; - return TIMELIB_SHORTDATE_WITH_TIME; - } -#line 4505 "ext/date/lib/parse_date.c" -yy224: - YYDEBUG(224, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy225; - if (yych != ':') goto yy223; -yy225: - YYDEBUG(225, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy226; - if (yych <= '6') goto yy227; - if (yych <= '9') goto yy228; - goto yy57; -yy226: - YYDEBUG(226, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy223; - if (yych <= '9') goto yy229; - goto yy223; -yy227: - YYDEBUG(227, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '0') goto yy229; - goto yy223; -yy228: - YYDEBUG(228, *YYCURSOR); - yych = *++YYCURSOR; - goto yy223; -yy229: - YYDEBUG(229, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '*') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy231; - goto yy223; - } else { - if (yych <= ' ') goto yy231; - if (yych == '(') goto yy231; - goto yy223; - } - } else { - if (yych <= '@') { - if (yych == ',') goto yy223; - if (yych <= '-') goto yy231; - goto yy223; - } else { - if (yych <= 'Z') goto yy231; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy231; - goto yy223; - } - } -yy230: - YYDEBUG(230, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy231: - YYDEBUG(231, *YYCURSOR); - if (yych <= '+') { - if (yych <= ' ') { - if (yych == '\t') goto yy230; - if (yych <= 0x1F) goto yy57; - goto yy230; - } else { - if (yych == '(') goto yy234; - if (yych <= '*') goto yy57; - goto yy233; - } - } else { - if (yych <= 'F') { - if (yych == '-') goto yy233; - if (yych <= '@') goto yy57; - goto yy235; - } else { - if (yych <= 'Z') { - if (yych >= 'H') goto yy235; - } else { - if (yych <= '`') goto yy57; - if (yych <= 'z') goto yy236; - goto yy57; - } - } - } -yy232: - YYDEBUG(232, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == ')') goto yy228; - if (yych <= '@') goto yy223; - goto yy237; - } else { - if (yych <= 'Z') { - if (yych <= 'M') goto yy257; - goto yy237; - } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy242; - goto yy223; - } - } -yy233: - YYDEBUG(233, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy252; - if (yych <= '2') goto yy253; - if (yych <= '9') goto yy254; - goto yy57; -yy234: - YYDEBUG(234, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') goto yy57; - if (yych <= 'Z') goto yy236; - if (yych <= '`') goto yy57; - if (yych <= 'z') goto yy236; - goto yy57; -yy235: - YYDEBUG(235, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= 'Z') goto yy237; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy242; - goto yy223; - } -yy236: - YYDEBUG(236, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= 'Z') goto yy237; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; - } -yy237: - YYDEBUG(237, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= 'Z') goto yy238; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; - } -yy238: - YYDEBUG(238, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= 'Z') goto yy239; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; - } -yy239: - YYDEBUG(239, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= 'Z') goto yy240; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; - } -yy240: - YYDEBUG(240, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= 'Z') goto yy241; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; - } -yy241: - YYDEBUG(241, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == ')') goto yy228; - goto yy223; -yy242: - YYDEBUG(242, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych == '.') goto yy223; - goto yy244; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy223; - if (yych <= 'Z') goto yy238; - goto yy223; - } else { - if (yych <= '_') goto yy244; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; - } - } -yy243: - YYDEBUG(243, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych == '.') goto yy223; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy223; - if (yych <= 'Z') goto yy239; - goto yy223; - } else { - if (yych <= '_') goto yy244; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy247; - goto yy223; - } - } -yy244: - YYDEBUG(244, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '@') goto yy57; - if (yych <= 'Z') goto yy245; - if (yych <= '`') goto yy57; - if (yych >= '{') goto yy57; -yy245: - YYDEBUG(245, *YYCURSOR); - yyaccept = 7; - YYMARKER = ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(246, *YYCURSOR); - if (yych <= '@') { - if (yych <= '-') { - if (yych <= ',') goto yy223; - goto yy244; - } else { - if (yych == '/') goto yy244; - goto yy223; - } - } else { - if (yych <= '_') { - if (yych <= 'Z') goto yy245; - if (yych <= '^') goto yy223; - goto yy244; - } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy245; - goto yy223; - } - } -yy247: - YYDEBUG(247, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych == '.') goto yy223; - goto yy244; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy223; - if (yych <= 'Z') goto yy240; - goto yy223; - } else { - if (yych <= '_') goto yy244; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; - } - } - YYDEBUG(248, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych == '.') goto yy223; - goto yy244; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy223; - if (yych <= 'Z') goto yy241; - goto yy223; - } else { - if (yych <= '_') goto yy244; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; - } - } - YYDEBUG(249, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy223; - goto yy228; - } else { - if (yych == '-') goto yy244; - goto yy223; - } - } else { - if (yych <= '_') { - if (yych <= '/') goto yy244; - if (yych <= '^') goto yy223; - goto yy244; - } else { - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; - } - } -yy250: - YYDEBUG(250, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(251, *YYCURSOR); - if (yych <= '/') { - if (yych == '-') goto yy244; - if (yych <= '.') goto yy57; - goto yy244; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy57; - goto yy244; - } else { - if (yych <= '`') goto yy57; - if (yych <= 'z') goto yy250; - goto yy57; - } - } -yy252: - YYDEBUG(252, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy223; - if (yych <= '9') goto yy254; - if (yych <= ':') goto yy255; - goto yy223; -yy253: - YYDEBUG(253, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy223; - if (yych >= '5') goto yy256; - } else { - if (yych <= '9') goto yy228; - if (yych <= ':') goto yy255; - goto yy223; - } -yy254: - YYDEBUG(254, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy223; - if (yych <= '5') goto yy256; - if (yych <= '9') goto yy228; - if (yych >= ';') goto yy223; -yy255: - YYDEBUG(255, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy223; - if (yych <= '5') goto yy256; - if (yych <= '9') goto yy228; - goto yy223; -yy256: - YYDEBUG(256, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy223; - if (yych <= '9') goto yy228; - goto yy223; -yy257: - YYDEBUG(257, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == ')') goto yy228; - if (yych <= '@') goto yy223; - goto yy238; - } else { - if (yych <= 'Z') { - if (yych >= 'U') goto yy238; - } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy238; - goto yy223; - } - } - YYDEBUG(258, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ')') { - if (yych <= '(') goto yy223; - goto yy228; - } else { - if (yych == '+') goto yy233; - goto yy223; - } - } else { - if (yych <= 'Z') { - if (yych <= '-') goto yy233; - if (yych <= '@') goto yy223; - goto yy239; - } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy239; - goto yy223; - } - } -yy259: - YYDEBUG(259, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy199; - } else { - if (yych <= '0') goto yy291; - if (yych <= '9') goto yy292; - if (yych <= ':') goto yy221; - goto yy199; - } -yy260: - YYDEBUG(260, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy199; - } else { - if (yych <= '2') goto yy292; - if (yych <= '9') goto yy291; - if (yych <= ':') goto yy264; - goto yy199; - } -yy261: - YYDEBUG(261, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy199; - } else { - if (yych <= '4') goto yy291; - if (yych <= '9') goto yy263; - if (yych <= ':') goto yy264; - goto yy199; - } -yy262: - YYDEBUG(262, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy199; - } else { - if (yych <= '9') goto yy263; - if (yych <= ':') goto yy264; - goto yy199; - } -yy263: - YYDEBUG(263, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy199; - if (yych <= '9') goto yy289; - goto yy199; -yy264: - YYDEBUG(264, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy265; - if (yych <= '9') goto yy266; - goto yy57; -yy265: - YYDEBUG(265, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy267; - goto yy223; - } else { - if (yych <= '9') goto yy282; - if (yych <= ':') goto yy267; - goto yy223; - } -yy266: - YYDEBUG(266, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy267; - if (yych != ':') goto yy223; -yy267: - YYDEBUG(267, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy268; - if (yych <= '6') goto yy269; - if (yych <= '9') goto yy228; - goto yy57; -yy268: - YYDEBUG(268, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy223; - if (yych <= '9') goto yy270; - goto yy223; -yy269: - YYDEBUG(269, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '0') goto yy223; -yy270: - YYDEBUG(270, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '*') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy272; - goto yy223; - } else { - if (yych <= ' ') goto yy272; - if (yych == '(') goto yy272; - goto yy223; - } - } else { - if (yych <= '@') { - if (yych == ',') goto yy223; - if (yych <= '-') goto yy272; - goto yy223; - } else { - if (yych <= 'Z') goto yy272; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy272; - goto yy223; - } - } -yy271: - YYDEBUG(271, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy272: - YYDEBUG(272, *YYCURSOR); - if (yych <= '@') { - if (yych <= '\'') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy57; - goto yy271; - } else { - if (yych == ' ') goto yy271; - goto yy57; - } - } else { - if (yych <= '+') { - if (yych <= '(') goto yy234; - if (yych <= '*') goto yy57; - goto yy233; - } else { - if (yych == '-') goto yy233; - goto yy57; - } - } - } else { - if (yych <= 'Z') { - if (yych <= 'G') { - if (yych <= 'A') goto yy273; - if (yych <= 'F') goto yy235; - goto yy232; - } else { - if (yych != 'P') goto yy235; - } - } else { - if (yych <= 'o') { - if (yych <= '`') goto yy57; - if (yych <= 'a') goto yy274; - goto yy236; - } else { - if (yych <= 'p') goto yy274; - if (yych <= 'z') goto yy236; - goto yy57; - } - } - } -yy273: - YYDEBUG(273, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= '.') goto yy275; - if (yych <= '@') goto yy223; - goto yy237; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy276; - if (yych <= 'Z') goto yy237; - goto yy223; - } else { - if (yych == 'm') goto yy281; - if (yych <= 'z') goto yy242; - goto yy223; - } - } -yy274: - YYDEBUG(274, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= '.') goto yy275; - if (yych <= '@') goto yy223; - goto yy237; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy276; - if (yych <= 'Z') goto yy237; - goto yy223; - } else { - if (yych == 'm') goto yy276; - if (yych <= 'z') goto yy237; - goto yy223; - } - } -yy275: - YYDEBUG(275, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy280; - if (yych == 'm') goto yy280; - goto yy57; -yy276: - YYDEBUG(276, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy278; - if (yych <= 0x08) goto yy223; - goto yy278; - } else { - if (yych == ' ') goto yy278; - if (yych <= '(') goto yy223; - goto yy228; - } - } else { - if (yych <= '@') { - if (yych != '.') goto yy223; - } else { - if (yych <= 'Z') goto yy238; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy238; - goto yy223; - } - } -yy277: - YYDEBUG(277, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy278; - if (yych <= 0x08) goto yy57; - } else { - if (yych != ' ') goto yy57; - } -yy278: - YYDEBUG(278, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(279, *YYCURSOR); -#line 1670 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_month((char **) &ptr); - s->time->d = timelib_get_nr((char **) &ptr, 2); - - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); - } - } - - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - TIMELIB_DEINIT; - return TIMELIB_SHORTDATE_WITH_TIME; - } -#line 5226 "ext/date/lib/parse_date.c" -yy280: - YYDEBUG(280, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy278; - if (yych == '\t') goto yy278; - goto yy57; - } else { - if (yych <= ' ') goto yy278; - if (yych == '.') goto yy277; - goto yy57; - } -yy281: - YYDEBUG(281, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy278; - if (yych == '\t') goto yy278; - goto yy223; - } else { - if (yych <= '(') { - if (yych <= ' ') goto yy278; - goto yy223; - } else { - if (yych <= ')') goto yy228; - if (yych <= ',') goto yy223; - goto yy244; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '.') goto yy277; - if (yych <= '/') goto yy244; - if (yych <= '@') goto yy223; - goto yy238; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy223; - goto yy244; - } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy243; - goto yy223; - } - } - } -yy282: - YYDEBUG(282, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy283; - if (yych <= 0x1F) goto yy223; - } else { - if (yych == '.') goto yy267; - if (yych <= '9') goto yy223; - goto yy267; - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy285; - if (yych <= 'O') goto yy223; - goto yy285; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy223; - goto yy285; - } else { - if (yych == 'p') goto yy285; - goto yy223; - } - } - } -yy283: - YYDEBUG(283, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - YYDEBUG(284, *YYCURSOR); - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy283; - goto yy57; - } else { - if (yych <= ' ') goto yy283; - if (yych <= '@') goto yy57; - } - } else { - if (yych <= '`') { - if (yych != 'P') goto yy57; - } else { - if (yych <= 'a') goto yy285; - if (yych != 'p') goto yy57; - } - } -yy285: - YYDEBUG(285, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy57; - } else { - if (yych <= 'M') goto yy287; - if (yych == 'm') goto yy287; - goto yy57; - } -yy286: - YYDEBUG(286, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy287; - if (yych != 'm') goto yy57; -yy287: - YYDEBUG(287, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy278; - if (yych == '\t') goto yy278; - goto yy57; - } else { - if (yych <= ' ') goto yy278; - if (yych != '.') goto yy57; - } -yy288: - YYDEBUG(288, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy278; - if (yych <= 0x08) goto yy57; - goto yy278; - } else { - if (yych == ' ') goto yy278; - goto yy57; - } -yy289: - YYDEBUG(289, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy199; - if (yych >= ':') goto yy199; - YYDEBUG(290, *YYCURSOR); - yych = *++YYCURSOR; - goto yy199; -yy291: - YYDEBUG(291, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy199; - } else { - if (yych <= '9') goto yy289; - if (yych <= ':') goto yy221; - goto yy199; - } -yy292: - YYDEBUG(292, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy199; - } else { - if (yych <= '9') goto yy289; - if (yych <= ':') goto yy264; - goto yy199; - } -yy293: - YYDEBUG(293, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy294: - YYDEBUG(294, *YYCURSOR); - ++YYCURSOR; -yy295: - YYDEBUG(295, *YYCURSOR); -#line 1370 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datenoday"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_month((char **) &ptr); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->d = 1; - TIMELIB_PROCESS_YEAR(s->time->y); - TIMELIB_DEINIT; - return TIMELIB_DATE_NO_DAY; - } -#line 5416 "ext/date/lib/parse_date.c" -yy296: - YYDEBUG(296, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy57; - } else { - if (yych <= '9') goto yy294; - if (yych <= ':') goto yy221; - goto yy57; - } -yy297: - YYDEBUG(297, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; - } else { - if (yych <= '9') goto yy294; - if (yych <= ':') goto yy264; - goto yy57; - } -yy298: - YYDEBUG(298, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych == '.') goto yy331; - goto yy216; - } else { - if (yych <= '0') goto yy332; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy221; - if (yych == 'n') goto yy212; - goto yy216; - } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy299: - YYDEBUG(299, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych != '.') goto yy216; - } else { - if (yych <= '0') goto yy301; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy264; - if (yych == 'n') goto yy212; - goto yy216; - } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy300: - YYDEBUG(300, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy306; - goto yy307; - } else { - if (yych <= '2') goto yy308; - if (yych <= '5') goto yy309; - if (yych <= '9') goto yy310; - goto yy216; - } -yy301: - YYDEBUG(301, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; - } else { - if (yych <= '0') goto yy304; - if (yych <= '9') goto yy305; - if (yych <= ':') goto yy264; - goto yy57; - } -yy302: - YYDEBUG(302, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; - } else { - if (yych <= '2') goto yy305; - if (yych <= '9') goto yy304; - if (yych <= ':') goto yy264; - goto yy57; - } -yy303: - YYDEBUG(303, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; - } else { - if (yych <= '4') goto yy304; - if (yych <= '9') goto yy294; - if (yych <= ':') goto yy264; - goto yy57; - } -yy304: - YYDEBUG(304, *YYCURSOR); - yyaccept = 8; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy221; - if (yych == ':') goto yy221; - goto yy295; -yy305: - YYDEBUG(305, *YYCURSOR); - yyaccept = 8; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy264; - if (yych == ':') goto yy264; - goto yy295; -yy306: - YYDEBUG(306, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy326; - goto yy199; - } else { - if (yych <= '0') goto yy325; - if (yych <= '9') goto yy330; - if (yych <= ':') goto yy326; - goto yy199; - } -yy307: - YYDEBUG(307, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy311; - goto yy199; - } else { - if (yych <= '2') goto yy330; - if (yych <= '9') goto yy325; - if (yych <= ':') goto yy311; - goto yy199; - } -yy308: - YYDEBUG(308, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy311; - goto yy199; - } else { - if (yych <= '4') goto yy325; - if (yych <= '9') goto yy324; - if (yych <= ':') goto yy311; - goto yy199; - } -yy309: - YYDEBUG(309, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy311; - goto yy199; - } else { - if (yych <= '9') goto yy324; - if (yych <= ':') goto yy311; - goto yy199; - } -yy310: - YYDEBUG(310, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych != '.') goto yy199; - } else { - if (yych <= '9') goto yy263; - if (yych >= ';') goto yy199; - } -yy311: - YYDEBUG(311, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy312; - if (yych <= '6') goto yy313; - if (yych <= '9') goto yy266; - goto yy57; -yy312: - YYDEBUG(312, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy267; - goto yy223; - } else { - if (yych <= '9') goto yy314; - if (yych <= ':') goto yy267; - goto yy223; - } -yy313: - YYDEBUG(313, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy267; - goto yy223; - } else { - if (yych <= '0') goto yy270; - if (yych == ':') goto yy267; - goto yy223; - } -yy314: - YYDEBUG(314, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy316; - if (yych <= 0x1F) goto yy223; - goto yy316; - } else { - if (yych <= '(') { - if (yych <= '\'') goto yy223; - goto yy316; - } else { - if (yych == '+') goto yy316; - goto yy223; - } - } - } else { - if (yych <= ':') { - if (yych <= '-') goto yy316; - if (yych <= '.') goto yy267; - if (yych <= '9') goto yy223; - goto yy267; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy223; - goto yy316; - } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy316; - goto yy223; - } - } - } -yy315: - YYDEBUG(315, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy316: - YYDEBUG(316, *YYCURSOR); - if (yych <= '@') { - if (yych <= '\'') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy57; - goto yy315; - } else { - if (yych == ' ') goto yy315; - goto yy57; - } - } else { - if (yych <= '+') { - if (yych <= '(') goto yy234; - if (yych <= '*') goto yy57; - goto yy233; - } else { - if (yych == '-') goto yy233; - goto yy57; - } - } - } else { - if (yych <= 'Z') { - if (yych <= 'G') { - if (yych <= 'A') goto yy317; - if (yych <= 'F') goto yy235; - goto yy232; - } else { - if (yych != 'P') goto yy235; - } - } else { - if (yych <= 'o') { - if (yych <= '`') goto yy57; - if (yych <= 'a') goto yy318; - goto yy236; - } else { - if (yych <= 'p') goto yy318; - if (yych <= 'z') goto yy236; - goto yy57; - } - } - } -yy317: - YYDEBUG(317, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= '.') goto yy320; - if (yych <= '@') goto yy223; - goto yy237; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy319; - if (yych <= 'Z') goto yy237; - goto yy223; - } else { - if (yych == 'm') goto yy323; - if (yych <= 'z') goto yy242; - goto yy223; - } - } -yy318: - YYDEBUG(318, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= '.') goto yy320; - if (yych <= '@') goto yy223; - goto yy237; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy319; - if (yych <= 'Z') goto yy237; - goto yy223; - } else { - if (yych == 'm') goto yy319; - if (yych <= 'z') goto yy237; - goto yy223; - } - } -yy319: - YYDEBUG(319, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy278; - if (yych <= 0x08) goto yy223; - goto yy278; - } else { - if (yych == ' ') goto yy278; - if (yych <= '(') goto yy223; - goto yy228; - } - } else { - if (yych <= '@') { - if (yych == '.') goto yy322; - goto yy223; - } else { - if (yych <= 'Z') goto yy238; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy238; - goto yy223; - } - } -yy320: - YYDEBUG(320, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy321; - if (yych != 'm') goto yy57; -yy321: - YYDEBUG(321, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy278; - if (yych == '\t') goto yy278; - goto yy57; - } else { - if (yych <= ' ') goto yy278; - if (yych != '.') goto yy57; - } -yy322: - YYDEBUG(322, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy278; - if (yych <= 0x08) goto yy57; - goto yy278; - } else { - if (yych == ' ') goto yy278; - goto yy57; - } -yy323: - YYDEBUG(323, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy278; - if (yych == '\t') goto yy278; - goto yy223; - } else { - if (yych <= '(') { - if (yych <= ' ') goto yy278; - goto yy223; - } else { - if (yych <= ')') goto yy228; - if (yych <= ',') goto yy223; - goto yy244; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '.') goto yy322; - if (yych <= '/') goto yy244; - if (yych <= '@') goto yy223; - goto yy238; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy223; - goto yy244; - } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy243; - goto yy223; - } - } - } -yy324: - YYDEBUG(324, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy283; - if (yych <= 0x1F) goto yy199; - goto yy283; - } else { - if (yych <= '.') { - if (yych <= '-') goto yy199; - goto yy267; - } else { - if (yych <= '/') goto yy199; - if (yych <= '9') goto yy289; - goto yy267; - } - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy285; - if (yych <= 'O') goto yy199; - goto yy285; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy199; - goto yy285; - } else { - if (yych == 'p') goto yy285; - goto yy199; - } - } - } -yy325: - YYDEBUG(325, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy283; - if (yych <= 0x1F) goto yy199; - goto yy283; - } else { - if (yych <= '.') { - if (yych <= '-') goto yy199; - } else { - if (yych <= '/') goto yy199; - if (yych <= '9') goto yy289; - } - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy285; - if (yych <= 'O') goto yy199; - goto yy285; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy199; - goto yy285; - } else { - if (yych == 'p') goto yy285; - goto yy199; - } - } - } -yy326: - YYDEBUG(326, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy327; - if (yych <= '6') goto yy328; - if (yych <= '9') goto yy224; - goto yy57; -yy327: - YYDEBUG(327, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy225; - goto yy223; - } else { - if (yych <= '9') goto yy329; - if (yych <= ':') goto yy225; - goto yy223; - } -yy328: - YYDEBUG(328, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy225; - goto yy223; - } else { - if (yych <= '0') goto yy270; - if (yych == ':') goto yy225; - goto yy223; - } -yy329: - YYDEBUG(329, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy272; - if (yych <= 0x1F) goto yy223; - goto yy272; - } else { - if (yych <= '(') { - if (yych <= '\'') goto yy223; - goto yy272; - } else { - if (yych == '+') goto yy272; - goto yy223; - } - } - } else { - if (yych <= ':') { - if (yych <= '-') goto yy272; - if (yych <= '.') goto yy225; - if (yych <= '9') goto yy223; - goto yy225; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy223; - goto yy272; - } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy272; - goto yy223; - } - } - } -yy330: - YYDEBUG(330, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy283; - if (yych <= 0x1F) goto yy199; - goto yy283; - } else { - if (yych <= '.') { - if (yych <= '-') goto yy199; - goto yy311; - } else { - if (yych <= '/') goto yy199; - if (yych <= '9') goto yy289; - goto yy311; - } - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy285; - if (yych <= 'O') goto yy199; - goto yy285; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy199; - goto yy285; - } else { - if (yych == 'p') goto yy285; - goto yy199; - } - } - } -yy331: - YYDEBUG(331, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy333; - goto yy334; - } else { - if (yych <= '2') goto yy335; - if (yych <= '5') goto yy336; - if (yych <= '9') goto yy337; - goto yy216; - } -yy332: - YYDEBUG(332, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy57; - } else { - if (yych <= '0') goto yy304; - if (yych <= '9') goto yy305; - if (yych <= ':') goto yy221; - goto yy57; - } -yy333: - YYDEBUG(333, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy350; - goto yy199; - } else { - if (yych <= '0') goto yy349; - if (yych <= '9') goto yy354; - if (yych <= ':') goto yy350; - goto yy199; - } -yy334: - YYDEBUG(334, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy338; - goto yy199; - } else { - if (yych <= '2') goto yy354; - if (yych <= '9') goto yy349; - if (yych <= ':') goto yy338; - goto yy199; - } -yy335: - YYDEBUG(335, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy338; - goto yy199; - } else { - if (yych <= '4') goto yy349; - if (yych <= '9') goto yy348; - if (yych <= ':') goto yy338; - goto yy199; - } -yy336: - YYDEBUG(336, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy338; - goto yy199; - } else { - if (yych <= '9') goto yy348; - if (yych <= ':') goto yy338; - goto yy199; - } -yy337: - YYDEBUG(337, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych != '.') goto yy199; - } else { - if (yych <= '9') goto yy263; - if (yych >= ';') goto yy199; - } -yy338: - YYDEBUG(338, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy339; - if (yych <= '6') goto yy340; - if (yych <= '9') goto yy266; - goto yy57; -yy339: - YYDEBUG(339, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy267; - goto yy223; - } else { - if (yych <= '9') goto yy341; - if (yych <= ':') goto yy267; - goto yy223; - } -yy340: - YYDEBUG(340, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy267; - goto yy223; - } else { - if (yych <= '0') goto yy229; - if (yych == ':') goto yy267; - goto yy223; - } -yy341: - YYDEBUG(341, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy343; - if (yych <= 0x1F) goto yy223; - goto yy343; - } else { - if (yych <= '(') { - if (yych <= '\'') goto yy223; - goto yy343; - } else { - if (yych == '+') goto yy343; - goto yy223; - } - } - } else { - if (yych <= ':') { - if (yych <= '-') goto yy343; - if (yych <= '.') goto yy267; - if (yych <= '9') goto yy223; - goto yy267; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy223; - goto yy343; - } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy343; - goto yy223; - } - } - } -yy342: - YYDEBUG(342, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy343: - YYDEBUG(343, *YYCURSOR); - if (yych <= '@') { - if (yych <= '\'') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy57; - goto yy342; - } else { - if (yych == ' ') goto yy342; - goto yy57; - } - } else { - if (yych <= '+') { - if (yych <= '(') goto yy234; - if (yych <= '*') goto yy57; - goto yy233; - } else { - if (yych == '-') goto yy233; - goto yy57; - } - } - } else { - if (yych <= 'Z') { - if (yych <= 'G') { - if (yych <= 'A') goto yy344; - if (yych <= 'F') goto yy235; - goto yy232; - } else { - if (yych != 'P') goto yy235; - } - } else { - if (yych <= 'o') { - if (yych <= '`') goto yy57; - if (yych <= 'a') goto yy345; - goto yy236; - } else { - if (yych <= 'p') goto yy345; - if (yych <= 'z') goto yy236; - goto yy57; - } - } - } -yy344: - YYDEBUG(344, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= '.') goto yy286; - if (yych <= '@') goto yy223; - goto yy237; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy346; - if (yych <= 'Z') goto yy237; - goto yy223; - } else { - if (yych == 'm') goto yy347; - if (yych <= 'z') goto yy242; - goto yy223; - } - } -yy345: - YYDEBUG(345, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= '.') goto yy286; - if (yych <= '@') goto yy223; - goto yy237; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy346; - if (yych <= 'Z') goto yy237; - goto yy223; - } else { - if (yych == 'm') goto yy346; - if (yych <= 'z') goto yy237; - goto yy223; - } - } -yy346: - YYDEBUG(346, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy278; - if (yych <= 0x08) goto yy223; - goto yy278; - } else { - if (yych == ' ') goto yy278; - if (yych <= '(') goto yy223; - goto yy228; - } - } else { - if (yych <= '@') { - if (yych == '.') goto yy288; - goto yy223; - } else { - if (yych <= 'Z') goto yy238; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy238; - goto yy223; - } - } -yy347: - YYDEBUG(347, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy278; - if (yych == '\t') goto yy278; - goto yy223; - } else { - if (yych <= '(') { - if (yych <= ' ') goto yy278; - goto yy223; - } else { - if (yych <= ')') goto yy228; - if (yych <= ',') goto yy223; - goto yy244; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '.') goto yy288; - if (yych <= '/') goto yy244; - if (yych <= '@') goto yy223; - goto yy238; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy223; - goto yy244; - } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy243; - goto yy223; - } - } - } -yy348: - YYDEBUG(348, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy225; - goto yy199; - } else { - if (yych <= '9') goto yy289; - if (yych <= ':') goto yy225; - goto yy199; - } -yy349: - YYDEBUG(349, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych != '.') goto yy199; - } else { - if (yych <= '9') goto yy289; - if (yych >= ';') goto yy199; - } -yy350: - YYDEBUG(350, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy351; - if (yych <= '6') goto yy352; - if (yych <= '9') goto yy224; - goto yy57; -yy351: - YYDEBUG(351, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy225; - goto yy223; - } else { - if (yych <= '9') goto yy353; - if (yych <= ':') goto yy225; - goto yy223; - } -yy352: - YYDEBUG(352, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy225; - goto yy223; - } else { - if (yych <= '0') goto yy229; - if (yych == ':') goto yy225; - goto yy223; - } -yy353: - YYDEBUG(353, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy231; - if (yych <= 0x1F) goto yy223; - goto yy231; - } else { - if (yych <= '(') { - if (yych <= '\'') goto yy223; - goto yy231; - } else { - if (yych == '+') goto yy231; - goto yy223; - } - } - } else { - if (yych <= ':') { - if (yych <= '-') goto yy231; - if (yych <= '.') goto yy225; - if (yych <= '9') goto yy223; - goto yy225; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy223; - goto yy231; - } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy231; - goto yy223; - } - } - } -yy354: - YYDEBUG(354, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy338; - goto yy199; - } else { - if (yych <= '9') goto yy289; - if (yych <= ':') goto yy338; - goto yy199; - } -yy355: - YYDEBUG(355, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych == '.') goto yy300; - goto yy216; - } else { - if (yych <= '0') goto yy332; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy264; - if (yych == 'n') goto yy212; - goto yy216; - } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy356: - YYDEBUG(356, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych == '.') goto yy300; - goto yy216; - } else { - if (yych <= '0') goto yy332; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy264; - if (yych == 'n') goto yy212; - goto yy216; - } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy357: - YYDEBUG(357, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy360; - goto yy361; - } else { - if (yych <= '2') goto yy368; - if (yych <= '9') goto yy369; - goto yy216; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy212; - if (yych <= 'q') goto yy216; - goto yy213; - } else { - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy358: - YYDEBUG(358, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy360; - goto yy361; - } else { - if (yych <= '2') goto yy368; - if (yych <= '9') goto yy369; - goto yy216; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy212; - if (yych <= 'q') goto yy216; - goto yy213; - } else { - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy359: - YYDEBUG(359, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych >= '1') goto yy361; - } else { - if (yych <= '2') goto yy209; - if (yych <= '9') goto yy210; - goto yy216; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy212; - if (yych <= 'q') goto yy216; - goto yy213; - } else { - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy360: - YYDEBUG(360, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych <= ',') goto yy216; - if (yych <= '-') goto yy362; - if (yych <= '.') goto yy331; - goto yy216; - } else { - if (yych <= '0') goto yy332; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy221; - if (yych == 'n') goto yy212; - goto yy216; - } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy361: - YYDEBUG(361, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych <= ',') goto yy216; - if (yych <= '-') goto yy362; - if (yych <= '.') goto yy300; - goto yy216; - } else { - if (yych <= '0') goto yy301; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy264; - if (yych == 'n') goto yy212; - goto yy216; - } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy362: - YYDEBUG(362, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(363, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy364; - if (yych <= '9') goto yy365; -yy364: - YYDEBUG(364, *YYCURSOR); -#line 1510 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("pgtextshort"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_month((char **) &ptr); - s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_PROCESS_YEAR(s->time->y); - TIMELIB_DEINIT; - return TIMELIB_PG_TEXT; - } -#line 6648 "ext/date/lib/parse_date.c" -yy365: - YYDEBUG(365, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy364; - if (yych >= ':') goto yy364; - YYDEBUG(366, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy364; - if (yych >= ':') goto yy364; - YYDEBUG(367, *YYCURSOR); - yych = *++YYCURSOR; - goto yy364; -yy368: - YYDEBUG(368, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych <= ',') goto yy216; - if (yych <= '-') goto yy362; - if (yych <= '.') goto yy300; - goto yy216; - } else { - if (yych <= '0') goto yy332; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy264; - if (yych == 'n') goto yy212; - goto yy216; - } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy369: - YYDEBUG(369, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych <= ',') goto yy216; - if (yych <= '-') goto yy362; - if (yych <= '.') goto yy300; - goto yy216; - } else { - if (yych <= '0') goto yy332; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy264; - if (yych == 'n') goto yy212; - goto yy216; - } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; - } - } -yy370: - YYDEBUG(370, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'B') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'C') goto yy193; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'b') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'c') goto yy371; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy371: - YYDEBUG(371, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - } else { - if (yych == '/') goto yy148; - goto yy196; - } - } - } else { - if (yych <= '^') { - if (yych <= 'D') { - if (yych <= '@') goto yy194; - goto yy143; - } else { - if (yych <= 'E') goto yy202; - if (yych <= 'Z') goto yy143; - goto yy194; - } - } else { - if (yych <= 'd') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; - } else { - if (yych <= 'e') goto yy373; - if (yych <= 'z') goto yy151; - goto yy194; - } - } - } -yy372: - YYDEBUG(372, *YYCURSOR); - yych = *++YYCURSOR; - if (yybm[0+yych] & 8) { - goto yy149; - } - if (yych <= '/') goto yy196; - if (yych <= '0') goto yy357; - if (yych <= '2') goto yy358; - if (yych <= '3') goto yy359; - goto yy196; -yy373: - YYDEBUG(373, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'M') goto yy203; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'l') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'm') goto yy374; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy374: - YYDEBUG(374, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'B') goto yy204; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'b') goto yy375; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy375: - YYDEBUG(375, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'E') goto yy205; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'e') goto yy376; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy376: - YYDEBUG(376, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy206; - if (yych != 'r') goto yy155; -yy377: - YYDEBUG(377, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy194; - } else { - if (yych <= ' ') goto yy196; - if (yych <= ',') goto yy194; - } - } else { - if (yych <= '9') { - if (yych == '/') goto yy148; - goto yy196; - } else { - if (yych == '_') goto yy148; - goto yy194; - } - } -yy378: - YYDEBUG(378, *YYCURSOR); - yych = *++YYCURSOR; - if (yybm[0+yych] & 8) { - goto yy149; - } - goto yy196; -yy379: - YYDEBUG(379, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy142; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 't') goto yy380; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy380: - YYDEBUG(380, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; - } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych != 'O') goto yy143; - } - } else { - if (yych <= 'n') { - if (yych <= '`') goto yy194; - goto yy143; - } else { - if (yych <= 'o') goto yy381; - if (yych <= 'z') goto yy143; - goto yy194; - } - } - } -yy381: - YYDEBUG(381, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'B') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'A') goto yy144; - } - } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'b') goto yy382; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy382: - YYDEBUG(382, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy145; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'e') goto yy383; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy383: - YYDEBUG(383, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Q') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'R') goto yy206; - if (yych == 'r') goto yy206; - goto yy4; - } -yy384: - YYDEBUG(384, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy380; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 't') goto yy385; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy385: - YYDEBUG(385, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; - } else { - if (yych == '/') goto yy148; - goto yy196; - } - } - } else { - if (yych <= '^') { - if (yych <= 'N') { - if (yych <= '@') goto yy194; - goto yy143; - } else { - if (yych <= 'O') goto yy381; - if (yych <= 'Z') goto yy143; - goto yy194; - } - } else { - if (yych <= 'n') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; - } else { - if (yych <= 'o') goto yy386; - if (yych <= 'z') goto yy151; - goto yy194; - } - } - } -yy386: - YYDEBUG(386, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'B') goto yy382; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'b') goto yy387; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy387: - YYDEBUG(387, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy383; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'e') goto yy388; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy388: - YYDEBUG(388, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'R') goto yy206; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'r') goto yy377; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy389: - YYDEBUG(389, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'G') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'F') goto yy142; - goto yy397; - } - } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'g') goto yy397; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy390: - YYDEBUG(390, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy142; - goto yy394; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'r') goto yy394; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy391: - YYDEBUG(391, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'N') goto yy142; - } - } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'o') goto yy392; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy392: - YYDEBUG(392, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy140; - } else { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy393; - if (yych <= 'z') goto yy143; - } -yy393: - YYDEBUG(393, *YYCURSOR); -#line 1566 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("ago"); - TIMELIB_INIT; - s->time->relative.y = 0 - s->time->relative.y; - s->time->relative.m = 0 - s->time->relative.m; - s->time->relative.d = 0 - s->time->relative.d; - s->time->relative.h = 0 - s->time->relative.h; - s->time->relative.i = 0 - s->time->relative.i; - s->time->relative.s = 0 - s->time->relative.s; - s->time->relative.weekday = 0 - s->time->relative.weekday; - if (s->time->relative.weekday == 0) { - s->time->relative.weekday = -7; - } - if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) { - s->time->relative.special.amount = 0 - s->time->relative.special.amount; - } - TIMELIB_DEINIT; - return TIMELIB_AGO; - } -#line 7306 "ext/date/lib/parse_date.c" -yy394: - YYDEBUG(394, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; - } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych != 'I') goto yy143; - } - } else { - if (yych <= 'h') { - if (yych <= '`') goto yy194; - goto yy143; - } else { - if (yych <= 'i') goto yy395; - if (yych <= 'z') goto yy143; - goto yy194; - } - } - } -yy395: - YYDEBUG(395, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'K') goto yy144; - } - } else { - if (yych <= 'k') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'l') goto yy396; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy396: - YYDEBUG(396, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy194; - } else { - if (yych <= ' ') goto yy196; - if (yych == ')') goto yy140; - goto yy194; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy194; - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy194; - if (yych <= 'z') goto yy145; - goto yy194; - } - } -yy397: - YYDEBUG(397, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; - } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych != 'U') goto yy143; - } - } else { - if (yych <= 't') { - if (yych <= '`') goto yy194; - goto yy143; - } else { - if (yych <= 'u') goto yy398; - if (yych <= 'z') goto yy143; - goto yy194; - } - } - } -yy398: - YYDEBUG(398, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'R') goto yy144; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 's') goto yy399; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy399: - YYDEBUG(399, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy145; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 't') goto yy400; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy400: - YYDEBUG(400, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '.') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy196; - } else { - if (yych <= '/') goto yy194; - if (yych <= '9') goto yy196; - goto yy194; - } - } -yy401: - YYDEBUG(401, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'F') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'G') goto yy397; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'f') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'g') goto yy408; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy402: - YYDEBUG(402, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy394; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'r') goto yy405; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy403: - YYDEBUG(403, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'O') goto yy392; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'n') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'o') goto yy404; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy404: - YYDEBUG(404, *YYCURSOR); - yyaccept = 9; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy393; - } else { - if (yych == '.') goto yy393; - goto yy148; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy393; - if (yych <= 'Z') goto yy143; - goto yy393; - } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy393; - if (yych <= 'z') goto yy151; - goto yy393; - } - } -yy405: - YYDEBUG(405, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; - } else { - if (yych == '/') goto yy148; - goto yy196; - } - } - } else { - if (yych <= '^') { - if (yych <= 'H') { - if (yych <= '@') goto yy194; - goto yy143; - } else { - if (yych <= 'I') goto yy395; - if (yych <= 'Z') goto yy143; - goto yy194; - } - } else { - if (yych <= 'h') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; - } else { - if (yych <= 'i') goto yy406; - if (yych <= 'z') goto yy151; - goto yy194; - } - } - } -yy406: - YYDEBUG(406, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'K') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'L') goto yy396; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'k') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'l') goto yy407; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy407: - YYDEBUG(407, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy194; - goto yy196; - } else { - if (yych <= ')') { - if (yych <= '(') goto yy194; - goto yy140; - } else { - if (yych <= ',') goto yy194; - if (yych <= '-') goto yy378; - goto yy196; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '/') goto yy148; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy194; - goto yy145; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy194; - goto yy148; - } else { - if (yych <= '`') goto yy194; - if (yych <= 'z') goto yy153; - goto yy194; - } - } - } -yy408: - YYDEBUG(408, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; - } else { - if (yych == '/') goto yy148; - goto yy196; - } - } - } else { - if (yych <= '^') { - if (yych <= 'T') { - if (yych <= '@') goto yy194; - goto yy143; - } else { - if (yych <= 'U') goto yy398; - if (yych <= 'Z') goto yy143; - goto yy194; - } - } else { - if (yych <= 't') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; - } else { - if (yych <= 'u') goto yy409; - if (yych <= 'z') goto yy151; - goto yy194; - } - } - } -yy409: - YYDEBUG(409, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy399; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 's') goto yy410; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy410: - YYDEBUG(410, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy400; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 't') goto yy411; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy411: - YYDEBUG(411, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy194; - } else { - if (yych <= ' ') goto yy196; - if (yych == ')') goto yy140; - goto yy194; - } - } else { - if (yych <= '/') { - if (yych <= '-') goto yy378; - if (yych <= '.') goto yy196; - goto yy148; - } else { - if (yych <= '9') goto yy196; - if (yych == '_') goto yy148; - goto yy194; - } - } -yy412: - YYDEBUG(412, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == 'L') goto yy419; - if (yych <= 'M') goto yy142; - goto yy418; - } - } else { - if (yych <= 'l') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'k') goto yy142; - goto yy419; - } else { - if (yych == 'n') goto yy418; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy413: - YYDEBUG(413, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy142; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'n') goto yy414; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy414: - YYDEBUG(414, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; - } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych != 'U') goto yy143; - } - } else { - if (yych <= 't') { - if (yych <= '`') goto yy194; - goto yy143; - } else { - if (yych <= 'u') goto yy415; - if (yych <= 'z') goto yy143; - goto yy194; - } - } - } -yy415: - YYDEBUG(415, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy144; - goto yy4; - } else { - if (yych <= 'a') goto yy416; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy416: - YYDEBUG(416, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy145; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'r') goto yy417; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy417: - YYDEBUG(417, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Y') goto yy206; - if (yych == 'y') goto yy206; - goto yy4; - } -yy418: - YYDEBUG(418, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; - } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych == 'E') goto yy420; - goto yy143; - } - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy194; - goto yy143; - } else { - if (yych <= 'e') goto yy420; - if (yych <= 'z') goto yy143; - goto yy194; - } - } - } -yy419: - YYDEBUG(419, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; - } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych != 'Y') goto yy143; - } - } else { - if (yych <= 'x') { - if (yych <= '`') goto yy194; - goto yy143; - } else { - if (yych <= 'y') goto yy420; - if (yych <= 'z') goto yy143; - goto yy194; - } - } - } -yy420: - YYDEBUG(420, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy194; - } else { - if (yych <= ' ') goto yy196; - if (yych == ')') goto yy140; - goto yy194; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy194; - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy194; - if (yych <= 'z') goto yy144; - goto yy194; - } - } -yy421: - YYDEBUG(421, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych == '-') goto yy148; - goto yy4; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy148; - goto yy4; - } else { - if (yych == 'L') goto yy419; - goto yy142; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'N') goto yy418; - goto yy142; - } else { - if (yych == '_') goto yy148; - goto yy4; - } - } else { - if (yych <= 'm') { - if (yych == 'l') goto yy428; - goto yy147; - } else { - if (yych <= 'n') goto yy427; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy422: - YYDEBUG(422, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy414; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'n') goto yy423; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy423: - YYDEBUG(423, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; - } else { - if (yych == '/') goto yy148; - goto yy196; - } - } - } else { - if (yych <= '^') { - if (yych <= 'T') { - if (yych <= '@') goto yy194; - goto yy143; - } else { - if (yych <= 'U') goto yy415; - if (yych <= 'Z') goto yy143; - goto yy194; - } - } else { - if (yych <= 't') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; - } else { - if (yych <= 'u') goto yy424; - if (yych <= 'z') goto yy151; - goto yy194; - } - } - } -yy424: - YYDEBUG(424, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy416; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy425; - if (yych <= 'z') goto yy152; - goto yy4; - } - } -yy425: - YYDEBUG(425, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy417; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'r') goto yy426; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy426: - YYDEBUG(426, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'Y') goto yy206; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'y') goto yy377; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy427: - YYDEBUG(427, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; - } else { - if (yych == '/') goto yy148; - goto yy196; - } - } - } else { - if (yych <= '^') { - if (yych <= 'D') { - if (yych <= '@') goto yy194; - goto yy143; - } else { - if (yych <= 'E') goto yy420; - if (yych <= 'Z') goto yy143; - goto yy194; - } - } else { - if (yych <= 'd') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; - } else { - if (yych <= 'e') goto yy429; - if (yych <= 'z') goto yy151; - goto yy194; - } - } - } -yy428: - YYDEBUG(428, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; - } else { - if (yych == '/') goto yy148; - goto yy196; - } - } - } else { - if (yych <= '^') { - if (yych <= 'X') { - if (yych <= '@') goto yy194; - goto yy143; - } else { - if (yych <= 'Y') goto yy420; - if (yych <= 'Z') goto yy143; - goto yy194; - } - } else { - if (yych <= 'x') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; - } else { - if (yych <= 'y') goto yy429; - if (yych <= 'z') goto yy151; - goto yy194; - } - } - } -yy429: - YYDEBUG(429, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy194; - goto yy196; - } else { - if (yych <= ')') { - if (yych <= '(') goto yy194; - goto yy140; - } else { - if (yych <= ',') goto yy194; - if (yych <= '-') goto yy378; - goto yy196; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '/') goto yy148; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy194; - goto yy144; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy194; - goto yy148; - } else { - if (yych <= '`') goto yy194; - if (yych <= 'z') goto yy152; - goto yy194; - } - } - } -yy430: - YYDEBUG(430, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy4; - goto yy196; - } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy196; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy4; - goto yy142; - } else { - if (yych <= 'Z') { - if (yych >= 'J') goto yy142; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy142; - goto yy4; - } - } - } -yy431: - YYDEBUG(431, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy4; - } else { - if (yych <= ' ') goto yy196; - if (yych == ')') goto yy140; - goto yy4; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy4; - if (yych <= '9') goto yy196; - goto yy4; - } else { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy432: - YYDEBUG(432, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy4; - goto yy196; - } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy196; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy4; - goto yy142; - } else { - if (yych <= 'Z') { - if (yych >= 'J') goto yy142; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy142; - goto yy4; - } - } - } - YYDEBUG(433, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy4; - goto yy196; - } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy196; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy4; - goto yy143; - } else { - if (yych <= 'Z') { - if (yych >= 'J') goto yy143; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy143; - goto yy4; - } - } - } - YYDEBUG(434, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy4; - } else { - if (yych <= ' ') goto yy196; - if (yych == ')') goto yy140; - goto yy4; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy4; - if (yych <= '9') goto yy196; - goto yy4; - } else { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy435: - YYDEBUG(435, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy4; - } else { - if (yych <= ' ') goto yy196; - if (yych == ')') goto yy140; - goto yy4; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy4; - if (yych <= '9') goto yy196; - goto yy4; - } else { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy436: - YYDEBUG(436, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy4; - goto yy196; - } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy196; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy4; - goto yy142; - } else { - if (yych <= 'Z') { - if (yych <= 'I') goto yy431; - goto yy142; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy142; - goto yy4; - } - } - } -yy437: - YYDEBUG(437, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; - } else { - if (yych <= '9') { - if (yych <= '/') goto yy4; - goto yy457; - } else { - if (yych <= ':') goto yy163; - if (yych <= 'C') goto yy4; - goto yy61; - } - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy4; - goto yy61; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy4; - goto yy61; - } else { - if (yych <= 'R') goto yy4; - if (yych <= 'T') goto yy61; - goto yy4; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy4; - if (yych <= 'Y') goto yy61; - goto yy4; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy4; - } else { - if (yych == 'g') goto yy4; - goto yy61; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy4; - } - } - } - } -yy438: - YYDEBUG(438, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; - } else { - if (yych <= '4') { - if (yych <= '/') goto yy4; - goto yy457; - } else { - if (yych <= '5') goto yy442; - if (yych <= '9') goto yy443; - goto yy163; - } - } - } else { - if (yych <= 'G') { - if (yych <= 'D') { - if (yych <= 'C') goto yy4; - goto yy61; - } else { - if (yych == 'F') goto yy61; - goto yy4; - } - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy61; - goto yy4; - } else { - if (yych <= 'M') goto yy61; - if (yych <= 'R') goto yy4; - goto yy61; - } - } - } - } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy61; - if (yych <= 'X') goto yy4; - goto yy61; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy4; - goto yy61; - } else { - if (yych == 'f') goto yy61; - goto yy4; - } - } - } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy61; - goto yy4; - } else { - if (yych <= 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy4; - } - } - } - } -yy439: - YYDEBUG(439, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= 'C') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; - } else { - if (yych <= '5') { - if (yych <= '/') goto yy4; - goto yy442; - } else { - if (yych <= '9') goto yy443; - if (yych <= ':') goto yy163; - goto yy4; - } - } - } else { - if (yych <= 'G') { - if (yych == 'E') goto yy4; - if (yych <= 'F') goto yy61; - goto yy4; - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy61; - goto yy4; - } else { - if (yych <= 'M') goto yy61; - if (yych <= 'R') goto yy4; - goto yy61; - } - } - } - } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy61; - if (yych <= 'X') goto yy4; - goto yy61; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy4; - goto yy61; - } else { - if (yych == 'f') goto yy61; - goto yy4; - } - } - } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy61; - goto yy4; - } else { - if (yych <= 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy4; - } - } - } - } -yy440: - YYDEBUG(440, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(441, *YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy58; - } - if (yych <= ',') { - if (yych == '+') goto yy440; - goto yy57; - } else { - if (yych <= '-') goto yy440; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy55; - goto yy57; - } -yy442: - YYDEBUG(442, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; - } else { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy456; - if (yych <= 'C') goto yy4; - goto yy61; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy4; - goto yy61; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy4; - goto yy61; - } else { - if (yych <= 'R') goto yy4; - if (yych <= 'T') goto yy61; - goto yy4; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy4; - if (yych <= 'Y') goto yy61; - goto yy4; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy4; - } else { - if (yych == 'g') goto yy4; - goto yy61; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy4; - } - } - } - } -yy443: - YYDEBUG(443, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; - } else { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy444; - if (yych <= 'C') goto yy4; - goto yy61; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy4; - goto yy61; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy4; - goto yy61; - } else { - if (yych <= 'R') goto yy4; - if (yych <= 'T') goto yy61; - goto yy4; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy4; - if (yych <= 'Y') goto yy61; - goto yy4; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy4; - } else { - if (yych == 'g') goto yy4; - goto yy61; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy4; - } - } - } - } -yy444: - YYDEBUG(444, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych >= ':') goto yy61; -yy445: - YYDEBUG(445, *YYCURSOR); - yych = *++YYCURSOR; - if (yybm[0+yych] & 2) { - goto yy55; - } - if (yych != '-') goto yy61; -yy446: - YYDEBUG(446, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy447; - if (yych <= '1') goto yy448; - goto yy57; -yy447: - YYDEBUG(447, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy449; - goto yy57; -yy448: - YYDEBUG(448, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '3') goto yy57; -yy449: - YYDEBUG(449, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '-') goto yy57; - YYDEBUG(450, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy451; - if (yych <= '2') goto yy452; - if (yych <= '3') goto yy453; - goto yy57; -yy451: - YYDEBUG(451, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy454; - goto yy57; -yy452: - YYDEBUG(452, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy454; - goto yy57; -yy453: - YYDEBUG(453, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '2') goto yy57; -yy454: - YYDEBUG(454, *YYCURSOR); - ++YYCURSOR; -yy455: - YYDEBUG(455, *YYCURSOR); -#line 1280 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_DEINIT; - return TIMELIB_ISO_DATE; - } -#line 9067 "ext/date/lib/parse_date.c" -yy456: - YYDEBUG(456, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; - } else { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy445; - if (yych <= 'C') goto yy4; - goto yy61; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy4; - goto yy61; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy4; - goto yy61; - } else { - if (yych <= 'R') goto yy4; - if (yych <= 'T') goto yy61; - goto yy4; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy4; - if (yych <= 'Y') goto yy61; - goto yy4; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy4; - } else { - if (yych == 'g') goto yy4; - goto yy61; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy4; - } - } - } - } -yy457: - YYDEBUG(457, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= 'C') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; - } else { - if (yych <= '5') { - if (yych <= '/') goto yy4; - } else { - if (yych <= '9') goto yy456; - if (yych <= ':') goto yy163; - goto yy4; - } - } - } else { - if (yych <= 'G') { - if (yych == 'E') goto yy4; - if (yych <= 'F') goto yy61; - goto yy4; - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy61; - goto yy4; - } else { - if (yych <= 'M') goto yy61; - if (yych <= 'R') goto yy4; - goto yy61; - } - } - } - } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy61; - if (yych <= 'X') goto yy4; - goto yy61; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy4; - goto yy61; - } else { - if (yych == 'f') goto yy61; - goto yy4; - } - } - } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy61; - goto yy4; - } else { - if (yych <= 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy4; - } - } - } - } - YYDEBUG(458, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; - } else { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy459; - if (yych <= 'C') goto yy4; - goto yy61; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy4; - goto yy61; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy4; - goto yy61; - } else { - if (yych <= 'R') goto yy4; - if (yych <= 'T') goto yy61; - goto yy4; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy4; - if (yych <= 'Y') goto yy61; - goto yy4; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy4; - } else { - if (yych == 'g') goto yy4; - goto yy61; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy4; - } - } - } - } -yy459: - YYDEBUG(459, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy55; - } - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; - } else { - if (yych == '-') goto yy446; - if (yych <= 'C') goto yy4; - goto yy61; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy4; - goto yy61; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy4; - goto yy61; - } else { - if (yych <= 'R') goto yy4; - if (yych <= 'T') goto yy61; - goto yy4; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy4; - if (yych <= 'Y') goto yy61; - goto yy4; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy4; - } else { - if (yych == 'g') goto yy4; - goto yy61; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy4; - } - } - } - } -yy460: - YYDEBUG(460, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy462; - if (yych <= '0') goto yy736; - if (yych <= '1') goto yy737; - if (yych <= '9') goto yy738; - goto yy462; -yy461: - YYDEBUG(461, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); - yych = *YYCURSOR; -yy462: - YYDEBUG(462, *YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': - case ' ': goto yy461; - case '-': - case '.': goto yy577; - case 'A': - case 'a': goto yy480; - case 'D': - case 'd': goto yy466; - case 'F': - case 'f': goto yy467; - case 'H': - case 'h': goto yy64; - case 'I': goto yy475; - case 'J': - case 'j': goto yy479; - case 'M': - case 'm': goto yy465; - case 'N': - case 'n': goto yy482; - case 'O': - case 'o': goto yy481; - case 'P': - case 'p': goto yy484; - case 'S': - case 's': goto yy463; - case 'T': - case 't': goto yy69; - case 'V': goto yy477; - case 'W': - case 'w': goto yy68; - case 'X': goto yy478; - case 'Y': - case 'y': goto yy67; - default: goto yy57; - } -yy463: - YYDEBUG(463, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'A') goto yy127; - goto yy57; - } else { - if (yych <= 'E') goto yy1049; - if (yych <= 'T') goto yy57; - goto yy126; - } - } else { - if (yych <= 'd') { - if (yych == 'a') goto yy127; - goto yy57; - } else { - if (yych <= 'e') goto yy1049; - if (yych == 'u') goto yy126; - goto yy57; - } - } -yy464: - YYDEBUG(464, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '`') { - if (yych <= 'D') { - if (yych == 'A') goto yy127; - goto yy57; - } else { - if (yych <= 'E') goto yy1049; - if (yych == 'U') goto yy126; - goto yy57; - } - } else { - if (yych <= 'e') { - if (yych <= 'a') goto yy127; - if (yych <= 'd') goto yy57; - goto yy1049; - } else { - if (yych <= 's') goto yy57; - if (yych <= 't') goto yy729; - if (yych <= 'u') goto yy126; - goto yy57; - } - } -yy465: - YYDEBUG(465, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'H') { - if (yych == 'A') goto yy592; - goto yy57; - } else { - if (yych <= 'I') goto yy118; - if (yych <= 'N') goto yy57; - goto yy117; - } - } else { - if (yych <= 'h') { - if (yych == 'a') goto yy592; - goto yy57; - } else { - if (yych <= 'i') goto yy118; - if (yych == 'o') goto yy117; - goto yy57; - } - } -yy466: - YYDEBUG(466, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych == 'A') goto yy114; - if (yych <= 'D') goto yy57; - goto yy579; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy114; - } else { - if (yych == 'e') goto yy579; - goto yy57; - } - } -yy467: - YYDEBUG(467, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= 'N') { - if (yych == 'E') goto yy595; - goto yy57; - } else { - if (yych <= 'O') goto yy99; - if (yych <= 'Q') goto yy57; - goto yy98; - } - } else { - if (yych <= 'n') { - if (yych == 'e') goto yy595; - goto yy57; - } else { - if (yych <= 'o') goto yy99; - if (yych == 'r') goto yy98; - goto yy57; - } - } -yy468: - YYDEBUG(468, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'H') goto yy70; - if (yych <= 'T') goto yy57; - goto yy71; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy57; - goto yy1048; - } else { - if (yych == 'u') goto yy71; - goto yy57; - } - } -yy469: - YYDEBUG(469, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy742; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy741; - goto yy61; -yy470: - YYDEBUG(470, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'c') { - if (yych == 'O') goto yy530; - goto yy57; - } else { - if (yych <= 'd') goto yy729; - if (yych == 'o') goto yy530; - goto yy57; - } -yy471: - YYDEBUG(471, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy729; - goto yy57; -yy472: - YYDEBUG(472, *YYCURSOR); - yych = *++YYCURSOR; - YYDEBUG(-1, yych); - switch (yych) { - case '0': - case '1': - case '2': goto yy666; - case '3': goto yy668; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy669; - case 'A': - case 'a': goto yy673; - case 'D': - case 'd': goto yy677; - case 'F': - case 'f': goto yy671; - case 'J': - case 'j': goto yy670; - case 'M': - case 'm': goto yy672; - case 'N': - case 'n': goto yy676; - case 'O': - case 'o': goto yy675; - case 'S': - case 's': goto yy674; - default: goto yy57; - } -yy473: - YYDEBUG(473, *YYCURSOR); - yych = *++YYCURSOR; - YYDEBUG(-1, yych); - switch (yych) { - case '0': goto yy616; - case '1': goto yy617; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy618; - case 'A': - case 'a': goto yy622; - case 'D': - case 'd': goto yy626; - case 'F': - case 'f': goto yy620; - case 'J': - case 'j': goto yy619; - case 'M': - case 'm': goto yy621; - case 'N': - case 'n': goto yy625; - case 'O': - case 'o': goto yy624; - case 'S': - case 's': goto yy623; - default: goto yy578; - } -yy474: - YYDEBUG(474, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '1') { - if (yych <= '/') goto yy578; - if (yych <= '0') goto yy568; - goto yy569; - } else { - if (yych <= '5') goto yy570; - if (yych <= '9') goto yy571; - goto yy578; - } -yy475: - YYDEBUG(475, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '.') goto yy532; - } - } else { - if (yych <= 'U') { - if (yych <= '9') goto yy534; - if (yych == 'I') goto yy567; - } else { - if (yych == 'W') goto yy476; - if (yych <= 'X') goto yy540; - } - } -yy476: - YYDEBUG(476, *YYCURSOR); -#line 1409 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datenoyearrev"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->d = timelib_get_nr((char **) &ptr, 2); - timelib_skip_day_suffix((char **) &ptr); - s->time->m = timelib_get_month((char **) &ptr); - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; - } -#line 9638 "ext/date/lib/parse_date.c" -yy477: - YYDEBUG(477, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; - } else { - if (yych == ' ') goto yy532; - goto yy476; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy532; - if (yych <= '/') goto yy476; - goto yy534; - } else { - if (yych == 'I') goto yy565; - goto yy476; - } - } -yy478: - YYDEBUG(478, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; - } else { - if (yych == ' ') goto yy532; - goto yy476; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy532; - if (yych <= '/') goto yy476; - goto yy534; - } else { - if (yych == 'I') goto yy564; - goto yy476; - } - } -yy479: - YYDEBUG(479, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy557; - if (yych <= 'T') goto yy57; - goto yy556; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy557; - } else { - if (yych == 'u') goto yy556; - goto yy57; - } - } -yy480: - YYDEBUG(480, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= 'L') { - if (yych == '.') goto yy485; - goto yy57; - } else { - if (yych <= 'M') goto yy486; - if (yych == 'P') goto yy550; - goto yy57; - } - } else { - if (yych <= 'o') { - if (yych <= 'U') goto yy549; - if (yych == 'm') goto yy486; - goto yy57; - } else { - if (yych <= 'p') goto yy550; - if (yych == 'u') goto yy549; - goto yy57; - } - } -yy481: - YYDEBUG(481, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy544; - if (yych == 'c') goto yy544; - goto yy57; -yy482: - YYDEBUG(482, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy530; - if (yych == 'o') goto yy530; - goto yy57; -yy483: - YYDEBUG(483, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy490; - if (yych <= '9') goto yy492; - goto yy57; -yy484: - YYDEBUG(484, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy57; - } else { - if (yych <= 'M') goto yy486; - if (yych == 'm') goto yy486; - goto yy57; - } -yy485: - YYDEBUG(485, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy486; - if (yych != 'm') goto yy57; -yy486: - YYDEBUG(486, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy488; - if (yych == '\t') goto yy488; - goto yy57; - } else { - if (yych <= ' ') goto yy488; - if (yych != '.') goto yy57; - } - YYDEBUG(487, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy488; - if (yych <= 0x08) goto yy57; - } else { - if (yych != ' ') goto yy57; - } -yy488: - YYDEBUG(488, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(489, *YYCURSOR); -#line 1136 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - } - } - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - TIMELIB_DEINIT; - return TIMELIB_TIME12; - } -#line 9795 "ext/date/lib/parse_date.c" -yy490: - YYDEBUG(490, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy493; - } else { - if (yych <= '9') goto yy507; - if (yych <= ':') goto yy493; - } -yy491: - YYDEBUG(491, *YYCURSOR); -#line 1173 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); - } - } - - if (*ptr != '\0') { - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); - if (tz_not_found) { - add_error(s, "The timezone could not be found in the database"); - } - } - TIMELIB_DEINIT; - return TIMELIB_TIME24_WITH_ZONE; - } -#line 9833 "ext/date/lib/parse_date.c" -yy492: - YYDEBUG(492, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy493; - if (yych != ':') goto yy491; -yy493: - YYDEBUG(493, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy494; - if (yych <= '6') goto yy495; - if (yych <= '9') goto yy496; - goto yy57; -yy494: - YYDEBUG(494, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy500; - goto yy491; -yy495: - YYDEBUG(495, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych == '0') goto yy500; - goto yy491; -yy496: - YYDEBUG(496, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych != '.') goto yy491; -yy497: - YYDEBUG(497, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy498: - YYDEBUG(498, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(499, *YYCURSOR); - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy498; - goto yy491; -yy500: - YYDEBUG(500, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= 0x1F) { - if (yych != '\t') goto yy491; - } else { - if (yych <= ' ') goto yy501; - if (yych == '.') goto yy497; - goto yy491; - } - } else { - if (yych <= '`') { - if (yych <= 'A') goto yy503; - if (yych == 'P') goto yy503; - goto yy491; - } else { - if (yych <= 'a') goto yy503; - if (yych == 'p') goto yy503; - goto yy491; - } - } -yy501: - YYDEBUG(501, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - YYDEBUG(502, *YYCURSOR); - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy501; - goto yy57; - } else { - if (yych <= ' ') goto yy501; - if (yych <= '@') goto yy57; - } - } else { - if (yych <= '`') { - if (yych != 'P') goto yy57; - } else { - if (yych <= 'a') goto yy503; - if (yych != 'p') goto yy57; - } - } -yy503: - YYDEBUG(503, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy57; - } else { - if (yych <= 'M') goto yy505; - if (yych == 'm') goto yy505; - goto yy57; - } - YYDEBUG(504, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy505; - if (yych != 'm') goto yy57; -yy505: - YYDEBUG(505, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy488; - if (yych == '\t') goto yy488; - goto yy57; - } else { - if (yych <= ' ') goto yy488; - if (yych != '.') goto yy57; - } - YYDEBUG(506, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy488; - if (yych <= 0x08) goto yy57; - goto yy488; - } else { - if (yych == ' ') goto yy488; - goto yy57; - } -yy507: - YYDEBUG(507, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy508; - if (yych <= 0x1F) goto yy491; - } else { - if (yych == '.') goto yy493; - if (yych <= '9') goto yy491; - goto yy511; - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy510; - if (yych <= 'O') goto yy491; - goto yy510; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy491; - goto yy510; - } else { - if (yych == 'p') goto yy510; - goto yy491; - } - } - } -yy508: - YYDEBUG(508, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - YYDEBUG(509, *YYCURSOR); - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy508; - goto yy57; - } else { - if (yych <= ' ') goto yy508; - if (yych <= '@') goto yy57; - } - } else { - if (yych <= '`') { - if (yych != 'P') goto yy57; - } else { - if (yych <= 'a') goto yy510; - if (yych != 'p') goto yy57; - } - } -yy510: - YYDEBUG(510, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == '.') goto yy527; - goto yy57; - } else { - if (yych <= 'M') goto yy528; - if (yych == 'm') goto yy528; - goto yy57; - } -yy511: - YYDEBUG(511, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy512; - if (yych <= '6') goto yy513; - if (yych <= '9') goto yy496; - goto yy57; -yy512: - YYDEBUG(512, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy514; - goto yy491; -yy513: - YYDEBUG(513, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych != '0') goto yy491; -yy514: - YYDEBUG(514, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy501; - if (yych <= 0x1F) goto yy491; - goto yy501; - } else { - if (yych == '.') goto yy515; - if (yych <= '9') goto yy491; - goto yy516; - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy503; - if (yych <= 'O') goto yy491; - goto yy503; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy491; - goto yy503; - } else { - if (yych == 'p') goto yy503; - goto yy491; - } - } - } -yy515: - YYDEBUG(515, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy525; - goto yy57; -yy516: - YYDEBUG(516, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy517: - YYDEBUG(517, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - YYDEBUG(518, *YYCURSOR); - if (yych <= 'O') { - if (yych <= '9') { - if (yych <= '/') goto yy57; - goto yy517; - } else { - if (yych != 'A') goto yy57; - } - } else { - if (yych <= 'a') { - if (yych <= 'P') goto yy519; - if (yych <= '`') goto yy57; - } else { - if (yych != 'p') goto yy57; - } - } -yy519: - YYDEBUG(519, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy57; - } else { - if (yych <= 'M') goto yy521; - if (yych == 'm') goto yy521; - goto yy57; - } - YYDEBUG(520, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy521; - if (yych != 'm') goto yy57; -yy521: - YYDEBUG(521, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy523; - if (yych == '\t') goto yy523; - goto yy57; - } else { - if (yych <= ' ') goto yy523; - if (yych != '.') goto yy57; - } - YYDEBUG(522, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy523; - if (yych <= 0x08) goto yy57; - } else { - if (yych != ' ') goto yy57; - } -yy523: - YYDEBUG(523, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(524, *YYCURSOR); -#line 1153 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("mssqltime"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == ':' || *ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); - } - } - timelib_eat_spaces((char **) &ptr); - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - TIMELIB_DEINIT; - return TIMELIB_TIME24_WITH_ZONE; - } -#line 10162 "ext/date/lib/parse_date.c" -yy525: - YYDEBUG(525, *YYCURSOR); - yyaccept = 11; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - YYDEBUG(526, *YYCURSOR); - if (yych <= 'O') { - if (yych <= '9') { - if (yych <= '/') goto yy491; - goto yy525; - } else { - if (yych == 'A') goto yy519; - goto yy491; - } - } else { - if (yych <= 'a') { - if (yych <= 'P') goto yy519; - if (yych <= '`') goto yy491; - goto yy519; - } else { - if (yych == 'p') goto yy519; - goto yy491; - } - } -yy527: - YYDEBUG(527, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy528; - if (yych != 'm') goto yy57; -yy528: - YYDEBUG(528, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy488; - if (yych == '\t') goto yy488; - goto yy57; - } else { - if (yych <= ' ') goto yy488; - if (yych != '.') goto yy57; - } - YYDEBUG(529, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy488; - if (yych <= 0x08) goto yy57; - goto yy488; - } else { - if (yych == ' ') goto yy488; - goto yy57; - } -yy530: - YYDEBUG(530, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy531; - if (yych != 'v') goto yy57; -yy531: - YYDEBUG(531, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych != '\t') goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'E') goto yy536; - if (yych == 'e') goto yy536; - goto yy476; - } - } -yy532: - YYDEBUG(532, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); - yych = *YYCURSOR; -yy533: - YYDEBUG(533, *YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy532; - if (yych <= 0x1F) goto yy57; - goto yy532; - } else { - if (yych <= '.') { - if (yych <= ',') goto yy57; - goto yy532; - } else { - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - } - } -yy534: - YYDEBUG(534, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy535; - if (yych <= '9') goto yy541; -yy535: - YYDEBUG(535, *YYCURSOR); -#line 1331 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datefull"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->d = timelib_get_nr((char **) &ptr, 2); - timelib_skip_day_suffix((char **) &ptr); - s->time->m = timelib_get_month((char **) &ptr); - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_PROCESS_YEAR(s->time->y); - TIMELIB_DEINIT; - return TIMELIB_DATE_FULL; - } -#line 10281 "ext/date/lib/parse_date.c" -yy536: - YYDEBUG(536, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy537; - if (yych != 'm') goto yy57; -yy537: - YYDEBUG(537, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy538; - if (yych != 'b') goto yy57; -yy538: - YYDEBUG(538, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy539; - if (yych != 'e') goto yy57; -yy539: - YYDEBUG(539, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy540; - if (yych != 'r') goto yy57; -yy540: - YYDEBUG(540, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy532; - if (yych <= 0x1F) goto yy476; - goto yy532; - } else { - if (yych <= '.') { - if (yych <= ',') goto yy476; - goto yy532; - } else { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } - } -yy541: - YYDEBUG(541, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy535; - if (yych >= ':') goto yy535; -yy542: - YYDEBUG(542, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy535; - if (yych >= ':') goto yy535; - YYDEBUG(543, *YYCURSOR); - yych = *++YYCURSOR; - goto yy535; -yy544: - YYDEBUG(544, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy545; - if (yych != 't') goto yy57; -yy545: - YYDEBUG(545, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; - } - } else { - if (yych <= 'N') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'O') goto yy546; - if (yych != 'o') goto yy476; - } - } -yy546: - YYDEBUG(546, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy547; - if (yych != 'b') goto yy57; -yy547: - YYDEBUG(547, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy548; - if (yych != 'e') goto yy57; -yy548: - YYDEBUG(548, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy540; - if (yych == 'r') goto yy540; - goto yy57; -yy549: - YYDEBUG(549, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy553; - if (yych == 'g') goto yy553; - goto yy57; -yy550: - YYDEBUG(550, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy551; - if (yych != 'r') goto yy57; -yy551: - YYDEBUG(551, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'I') goto yy552; - if (yych != 'i') goto yy476; - } - } -yy552: - YYDEBUG(552, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy540; - if (yych == 'l') goto yy540; - goto yy57; -yy553: - YYDEBUG(553, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; - } - } else { - if (yych <= 'T') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'U') goto yy554; - if (yych != 'u') goto yy476; - } - } -yy554: - YYDEBUG(554, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy555; - if (yych != 's') goto yy57; -yy555: - YYDEBUG(555, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy540; - if (yych == 't') goto yy540; - goto yy57; -yy556: - YYDEBUG(556, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy563; - if (yych <= 'M') goto yy57; - goto yy562; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy57; - goto yy563; - } else { - if (yych == 'n') goto yy562; - goto yy57; - } - } -yy557: - YYDEBUG(557, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy558; - if (yych != 'n') goto yy57; -yy558: - YYDEBUG(558, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; - } - } else { - if (yych <= 'T') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'U') goto yy559; - if (yych != 'u') goto yy476; - } - } -yy559: - YYDEBUG(559, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy560; - if (yych != 'a') goto yy57; -yy560: - YYDEBUG(560, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy561; - if (yych != 'r') goto yy57; -yy561: - YYDEBUG(561, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy540; - if (yych == 'y') goto yy540; - goto yy57; -yy562: - YYDEBUG(562, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'E') goto yy540; - if (yych == 'e') goto yy540; - goto yy476; - } - } -yy563: - YYDEBUG(563, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; - } - } else { - if (yych <= 'X') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'Y') goto yy540; - if (yych == 'y') goto yy540; - goto yy476; - } - } -yy564: - YYDEBUG(564, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; - } else { - if (yych == ' ') goto yy532; - goto yy476; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy532; - if (yych <= '/') goto yy476; - goto yy534; - } else { - if (yych == 'I') goto yy540; - goto yy476; - } - } -yy565: - YYDEBUG(565, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; - } else { - if (yych == ' ') goto yy532; - goto yy476; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy532; - if (yych <= '/') goto yy476; - goto yy534; - } else { - if (yych != 'I') goto yy476; - } - } - YYDEBUG(566, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; - } else { - if (yych == ' ') goto yy532; - goto yy476; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy532; - if (yych <= '/') goto yy476; - goto yy534; - } else { - if (yych == 'I') goto yy540; - goto yy476; - } - } -yy567: - YYDEBUG(567, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; - } else { - if (yych == ' ') goto yy532; - goto yy476; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy532; - if (yych <= '/') goto yy476; - goto yy534; - } else { - if (yych == 'I') goto yy540; - goto yy476; - } - } -yy568: - YYDEBUG(568, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - goto yy601; - } else { - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy615; - if (yych <= ':') goto yy493; - goto yy491; - } -yy569: - YYDEBUG(569, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - if (yych <= '.') goto yy601; - goto yy491; - } else { - if (yych <= '2') goto yy615; - if (yych <= '9') goto yy614; - if (yych <= ':') goto yy493; - goto yy491; - } -yy570: - YYDEBUG(570, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - goto yy601; - } else { - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy614; - if (yych <= ':') goto yy493; - goto yy491; - } -yy571: - YYDEBUG(571, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - goto yy601; - } else { - if (yych == ':') goto yy493; - goto yy491; - } -yy572: - YYDEBUG(572, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy595; - if (yych == 'e') goto yy595; - goto yy57; -yy573: - YYDEBUG(573, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy592; - if (yych == 'a') goto yy592; - goto yy57; -yy574: - YYDEBUG(574, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy550; - if (yych <= 'T') goto yy57; - goto yy549; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy57; - goto yy550; - } else { - if (yych == 'u') goto yy549; - goto yy57; - } - } -yy575: - YYDEBUG(575, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy585; - if (yych == 'e') goto yy585; - goto yy57; -yy576: - YYDEBUG(576, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy579; - if (yych == 'e') goto yy579; - goto yy57; -yy577: - YYDEBUG(577, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); - yych = *YYCURSOR; -yy578: - YYDEBUG(578, *YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy577; - case 'A': - case 'a': goto yy574; - case 'D': - case 'd': goto yy576; - case 'F': - case 'f': goto yy572; - case 'I': goto yy475; - case 'J': - case 'j': goto yy479; - case 'M': - case 'm': goto yy573; - case 'N': - case 'n': goto yy482; - case 'O': - case 'o': goto yy481; - case 'S': - case 's': goto yy575; - case 'V': goto yy477; - case 'X': goto yy478; - default: goto yy57; - } -yy579: - YYDEBUG(579, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy580; - if (yych != 'c') goto yy57; -yy580: - YYDEBUG(580, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'E') goto yy581; - if (yych != 'e') goto yy476; - } - } -yy581: - YYDEBUG(581, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy582; - if (yych != 'm') goto yy57; -yy582: - YYDEBUG(582, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy583; - if (yych != 'b') goto yy57; -yy583: - YYDEBUG(583, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy584; - if (yych != 'e') goto yy57; -yy584: - YYDEBUG(584, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy540; - if (yych == 'r') goto yy540; - goto yy57; -yy585: - YYDEBUG(585, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy586; - if (yych != 'p') goto yy57; -yy586: - YYDEBUG(586, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; - } - } else { - if (yych <= 'S') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'T') goto yy587; - if (yych != 't') goto yy476; - } - } -yy587: - YYDEBUG(587, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'E') goto yy588; - if (yych != 'e') goto yy476; - } - } -yy588: - YYDEBUG(588, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy589; - if (yych != 'm') goto yy57; -yy589: - YYDEBUG(589, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy590; - if (yych != 'b') goto yy57; -yy590: - YYDEBUG(590, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy591; - if (yych != 'e') goto yy57; -yy591: - YYDEBUG(591, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy540; - if (yych == 'r') goto yy540; - goto yy57; -yy592: - YYDEBUG(592, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy593; - if (yych <= 'X') goto yy57; - goto yy540; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy57; - } else { - if (yych == 'y') goto yy540; - goto yy57; - } - } -yy593: - YYDEBUG(593, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; - } - } else { - if (yych <= 'B') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'C') goto yy594; - if (yych != 'c') goto yy476; - } - } -yy594: - YYDEBUG(594, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy540; - if (yych == 'h') goto yy540; - goto yy57; -yy595: - YYDEBUG(595, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy596; - if (yych != 'b') goto yy57; -yy596: - YYDEBUG(596, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; - } - } else { - if (yych <= 'Q') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'R') goto yy597; - if (yych != 'r') goto yy476; - } - } -yy597: - YYDEBUG(597, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy598; - if (yych != 'u') goto yy57; -yy598: - YYDEBUG(598, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy599; - if (yych != 'a') goto yy57; -yy599: - YYDEBUG(599, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy600; - if (yych != 'r') goto yy57; -yy600: - YYDEBUG(600, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy540; - if (yych == 'y') goto yy540; - goto yy57; -yy601: - YYDEBUG(601, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy608; - if (yych <= '6') goto yy609; - if (yych <= '9') goto yy610; - goto yy57; -yy602: - YYDEBUG(602, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(603, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy604: - YYDEBUG(604, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy605: - YYDEBUG(605, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(606, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(607, *YYCURSOR); -#line 1345 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("pointed date YYYY"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_DEINIT; - return TIMELIB_DATE_FULL_POINTED; - } -#line 11029 "ext/date/lib/parse_date.c" -yy608: - YYDEBUG(608, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy613; - goto yy491; -yy609: - YYDEBUG(609, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy497; - goto yy491; - } else { - if (yych <= '0') goto yy613; - if (yych <= '9') goto yy611; - goto yy491; - } -yy610: - YYDEBUG(610, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - if (yych >= ':') goto yy491; -yy611: - YYDEBUG(611, *YYCURSOR); - yyaccept = 12; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy612; - if (yych <= '9') goto yy605; -yy612: - YYDEBUG(612, *YYCURSOR); -#line 1357 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("pointed date YY"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr((char **) &ptr, 2); - TIMELIB_PROCESS_YEAR(s->time->y); - TIMELIB_DEINIT; - return TIMELIB_DATE_FULL_POINTED; - } -#line 11077 "ext/date/lib/parse_date.c" -yy613: - YYDEBUG(613, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= ' ') { - if (yych == '\t') goto yy501; - if (yych <= 0x1F) goto yy491; - goto yy501; - } else { - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - goto yy605; - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy503; - if (yych <= 'O') goto yy491; - goto yy503; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy491; - goto yy503; - } else { - if (yych == 'p') goto yy503; - goto yy491; - } - } - } -yy614: - YYDEBUG(614, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy508; - if (yych <= 0x1F) goto yy491; - goto yy508; - } else { - if (yych == '.') goto yy493; - if (yych <= '9') goto yy491; - goto yy493; - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy510; - if (yych <= 'O') goto yy491; - goto yy510; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy491; - goto yy510; - } else { - if (yych == 'p') goto yy510; - goto yy491; - } - } - } -yy615: - YYDEBUG(615, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy508; - if (yych <= 0x1F) goto yy491; - goto yy508; - } else { - if (yych <= '-') { - if (yych <= ',') goto yy491; - goto yy602; - } else { - if (yych <= '.') goto yy601; - if (yych <= '9') goto yy491; - goto yy493; - } - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy510; - if (yych <= 'O') goto yy491; - goto yy510; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy491; - goto yy510; - } else { - if (yych == 'p') goto yy510; - goto yy491; - } - } - } -yy616: - YYDEBUG(616, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy655; - goto yy602; - } else { - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy618; - goto yy57; - } -yy617: - YYDEBUG(617, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy655; - goto yy602; - } else { - if (yych <= '/') goto yy57; - if (yych >= '3') goto yy57; - } -yy618: - YYDEBUG(618, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy655; - if (yych <= '.') goto yy602; - goto yy57; -yy619: - YYDEBUG(619, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy651; - if (yych <= 'T') goto yy57; - goto yy650; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy651; - } else { - if (yych == 'u') goto yy650; - goto yy57; - } - } -yy620: - YYDEBUG(620, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy648; - if (yych == 'e') goto yy648; - goto yy57; -yy621: - YYDEBUG(621, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy645; - if (yych == 'a') goto yy645; - goto yy57; -yy622: - YYDEBUG(622, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy642; - if (yych <= 'T') goto yy57; - goto yy641; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy57; - goto yy642; - } else { - if (yych == 'u') goto yy641; - goto yy57; - } - } -yy623: - YYDEBUG(623, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy638; - if (yych == 'e') goto yy638; - goto yy57; -yy624: - YYDEBUG(624, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy636; - if (yych == 'c') goto yy636; - goto yy57; -yy625: - YYDEBUG(625, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy634; - if (yych == 'o') goto yy634; - goto yy57; -yy626: - YYDEBUG(626, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy627; - if (yych != 'e') goto yy57; -yy627: - YYDEBUG(627, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy628; - if (yych != 'c') goto yy57; -yy628: - YYDEBUG(628, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych >= '.') goto yy532; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'E') goto yy581; - if (yych == 'e') goto yy581; - goto yy476; - } - } -yy629: - YYDEBUG(629, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy533; - if (yych <= '0') goto yy630; - if (yych <= '2') goto yy631; - if (yych <= '3') goto yy632; - goto yy533; -yy630: - YYDEBUG(630, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy535; - if (yych <= '9') goto yy633; - goto yy535; -yy631: - YYDEBUG(631, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy535; - if (yych <= '9') goto yy633; - goto yy535; -yy632: - YYDEBUG(632, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy535; - if (yych <= '1') goto yy633; - if (yych <= '9') goto yy541; - goto yy535; -yy633: - YYDEBUG(633, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy535; - if (yych <= '9') goto yy542; - goto yy535; -yy634: - YYDEBUG(634, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy635; - if (yych != 'v') goto yy57; -yy635: - YYDEBUG(635, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'E') goto yy536; - if (yych == 'e') goto yy536; - goto yy476; - } - } -yy636: - YYDEBUG(636, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy637; - if (yych != 't') goto yy57; -yy637: - YYDEBUG(637, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; - } - } else { - if (yych <= 'N') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'O') goto yy546; - if (yych == 'o') goto yy546; - goto yy476; - } - } -yy638: - YYDEBUG(638, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy639; - if (yych != 'p') goto yy57; -yy639: - YYDEBUG(639, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; - } - } else { - if (yych <= 'S') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'T') goto yy640; - if (yych != 't') goto yy476; - } - } -yy640: - YYDEBUG(640, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'E') goto yy588; - if (yych == 'e') goto yy588; - goto yy476; - } - } -yy641: - YYDEBUG(641, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy644; - if (yych == 'g') goto yy644; - goto yy57; -yy642: - YYDEBUG(642, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy643; - if (yych != 'r') goto yy57; -yy643: - YYDEBUG(643, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'I') goto yy552; - if (yych == 'i') goto yy552; - goto yy476; - } - } -yy644: - YYDEBUG(644, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; - } - } else { - if (yych <= 'T') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'U') goto yy554; - if (yych == 'u') goto yy554; - goto yy476; - } - } -yy645: - YYDEBUG(645, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy646; - if (yych <= 'X') goto yy57; - goto yy647; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy57; - } else { - if (yych == 'y') goto yy647; - goto yy57; - } - } -yy646: - YYDEBUG(646, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; - } - } else { - if (yych <= 'B') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'C') goto yy594; - if (yych == 'c') goto yy594; - goto yy476; - } - } -yy647: - YYDEBUG(647, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; - } else { - if (yych == ' ') goto yy532; - goto yy476; - } - } else { - if (yych <= '.') { - if (yych <= '-') goto yy629; - goto yy532; - } else { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } - } -yy648: - YYDEBUG(648, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy649; - if (yych != 'b') goto yy57; -yy649: - YYDEBUG(649, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; - } - } else { - if (yych <= 'Q') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'R') goto yy597; - if (yych == 'r') goto yy597; - goto yy476; - } - } -yy650: - YYDEBUG(650, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy654; - if (yych <= 'M') goto yy57; - goto yy653; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy57; - goto yy654; - } else { - if (yych == 'n') goto yy653; - goto yy57; - } - } -yy651: - YYDEBUG(651, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy652; - if (yych != 'n') goto yy57; -yy652: - YYDEBUG(652, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; - } - } else { - if (yych <= 'T') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'U') goto yy559; - if (yych == 'u') goto yy559; - goto yy476; - } - } -yy653: - YYDEBUG(653, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'E') goto yy540; - if (yych == 'e') goto yy540; - goto yy476; - } - } -yy654: - YYDEBUG(654, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; - } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; - } - } else { - if (yych <= 'X') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; - } else { - if (yych <= 'Y') goto yy540; - if (yych == 'y') goto yy540; - goto yy476; - } - } -yy655: - YYDEBUG(655, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy656; - if (yych <= '3') goto yy658; - if (yych <= '9') goto yy659; - goto yy57; -yy656: - YYDEBUG(656, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy665; - if (yych >= 'n') goto yy661; - } else { - if (yych <= 'r') { - if (yych >= 'r') goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - } - } -yy657: - YYDEBUG(657, *YYCURSOR); -#line 1318 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("gnudateshort"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_PROCESS_YEAR(s->time->y); - TIMELIB_DEINIT; - return TIMELIB_ISO_DATE; - } -#line 11730 "ext/date/lib/parse_date.c" -yy658: - YYDEBUG(658, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '1') { - if (yych <= '/') goto yy657; - goto yy665; - } else { - if (yych <= '9') goto yy604; - if (yych <= 'm') goto yy657; - goto yy661; - } - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; - } - } -yy659: - YYDEBUG(659, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy604; - if (yych <= 'm') goto yy657; - goto yy661; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; - } - } -yy660: - YYDEBUG(660, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 't') goto yy664; - goto yy57; -yy661: - YYDEBUG(661, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy664; - goto yy57; -yy662: - YYDEBUG(662, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy664; - goto yy57; -yy663: - YYDEBUG(663, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != 'h') goto yy57; -yy664: - YYDEBUG(664, *YYCURSOR); - yych = *++YYCURSOR; - goto yy657; -yy665: - YYDEBUG(665, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy605; - if (yych <= 'm') goto yy657; - goto yy661; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; - } - } -yy666: - YYDEBUG(666, *YYCURSOR); - yyaccept = 14; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') { - if (yych >= '/') goto yy723; - } else { - if (yych <= '9') goto yy669; - if (yych >= 'n') goto yy720; - } - } else { - if (yych <= 'r') { - if (yych >= 'r') goto yy721; - } else { - if (yych <= 's') goto yy719; - if (yych <= 't') goto yy722; - } - } -yy667: - YYDEBUG(667, *YYCURSOR); -#line 1265 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("americanshort | american"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->d = timelib_get_nr((char **) &ptr, 2); - if (*ptr == '/') { - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_PROCESS_YEAR(s->time->y); - } - TIMELIB_DEINIT; - return TIMELIB_AMERICAN; - } -#line 11850 "ext/date/lib/parse_date.c" -yy668: - YYDEBUG(668, *YYCURSOR); - yyaccept = 14; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') { - if (yych <= '.') goto yy667; - goto yy723; - } else { - if (yych <= '1') goto yy669; - if (yych <= 'm') goto yy667; - goto yy720; - } - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy667; - goto yy721; - } else { - if (yych <= 's') goto yy719; - if (yych <= 't') goto yy722; - goto yy667; - } - } -yy669: - YYDEBUG(669, *YYCURSOR); - yyaccept = 14; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych == '/') goto yy723; - if (yych <= 'm') goto yy667; - goto yy720; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy667; - goto yy721; - } else { - if (yych <= 's') goto yy719; - if (yych <= 't') goto yy722; - goto yy667; - } - } -yy670: - YYDEBUG(670, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy718; - if (yych <= 'T') goto yy57; - goto yy717; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy718; - } else { - if (yych == 'u') goto yy717; - goto yy57; - } - } -yy671: - YYDEBUG(671, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy716; - if (yych == 'e') goto yy716; - goto yy57; -yy672: - YYDEBUG(672, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy715; - if (yych == 'a') goto yy715; - goto yy57; -yy673: - YYDEBUG(673, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy714; - if (yych <= 'T') goto yy57; - goto yy713; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy57; - goto yy714; - } else { - if (yych == 'u') goto yy713; - goto yy57; - } - } -yy674: - YYDEBUG(674, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy711; - if (yych == 'e') goto yy711; - goto yy57; -yy675: - YYDEBUG(675, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy710; - if (yych == 'c') goto yy710; - goto yy57; -yy676: - YYDEBUG(676, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy709; - if (yych == 'o') goto yy709; - goto yy57; -yy677: - YYDEBUG(677, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy678; - if (yych != 'e') goto yy57; -yy678: - YYDEBUG(678, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy679; - if (yych != 'c') goto yy57; -yy679: - YYDEBUG(679, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '/') goto yy57; -yy680: - YYDEBUG(680, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(681, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(682, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(683, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(684, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy57; - YYDEBUG(685, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy686; - if (yych <= '2') goto yy687; - goto yy57; -yy686: - YYDEBUG(686, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy688; - goto yy57; -yy687: - YYDEBUG(687, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '5') goto yy57; -yy688: - YYDEBUG(688, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy57; - YYDEBUG(689, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '6') goto yy57; - YYDEBUG(690, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(691, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy57; - YYDEBUG(692, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy693; - if (yych <= '6') goto yy694; - goto yy57; -yy693: - YYDEBUG(693, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy695; - goto yy57; -yy694: - YYDEBUG(694, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '0') goto yy57; -yy695: - YYDEBUG(695, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\t') goto yy696; - if (yych != ' ') goto yy57; -yy696: - YYDEBUG(696, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; - YYDEBUG(697, *YYCURSOR); - if (yych <= '*') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy57; - goto yy696; - } else { - if (yych == ' ') goto yy696; - goto yy57; - } - } else { - if (yych <= '-') { - if (yych == ',') goto yy57; - goto yy699; - } else { - if (yych != 'G') goto yy57; - } - } - YYDEBUG(698, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy707; - goto yy57; -yy699: - YYDEBUG(699, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy700; - if (yych <= '2') goto yy702; - if (yych <= '9') goto yy703; - goto yy57; -yy700: - YYDEBUG(700, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy701; - if (yych <= '9') goto yy703; - if (yych <= ':') goto yy704; -yy701: - YYDEBUG(701, *YYCURSOR); -#line 1536 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("clf"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - TIMELIB_HAVE_DATE(); - s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->m = timelib_get_month((char **) &ptr); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - s->time->s = timelib_get_nr((char **) &ptr, 2); - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); - if (tz_not_found) { - add_error(s, "The timezone could not be found in the database"); - } - TIMELIB_DEINIT; - return TIMELIB_CLF; - } -#line 12103 "ext/date/lib/parse_date.c" -yy702: - YYDEBUG(702, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy701; - if (yych >= '5') goto yy705; - } else { - if (yych <= '9') goto yy706; - if (yych <= ':') goto yy704; - goto yy701; - } -yy703: - YYDEBUG(703, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy701; - if (yych <= '5') goto yy705; - if (yych <= '9') goto yy706; - if (yych >= ';') goto yy701; -yy704: - YYDEBUG(704, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy701; - if (yych <= '5') goto yy705; - if (yych <= '9') goto yy706; - goto yy701; -yy705: - YYDEBUG(705, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy701; - if (yych >= ':') goto yy701; -yy706: - YYDEBUG(706, *YYCURSOR); - yych = *++YYCURSOR; - goto yy701; -yy707: - YYDEBUG(707, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != 'T') goto yy57; - YYDEBUG(708, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '+') goto yy699; - if (yych == '-') goto yy699; - goto yy57; -yy709: - YYDEBUG(709, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy679; - if (yych == 'v') goto yy679; - goto yy57; -yy710: - YYDEBUG(710, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy679; - if (yych == 't') goto yy679; - goto yy57; -yy711: - YYDEBUG(711, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy712; - if (yych != 'p') goto yy57; -yy712: - YYDEBUG(712, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == '/') goto yy680; - goto yy57; - } else { - if (yych <= 'T') goto yy679; - if (yych == 't') goto yy679; - goto yy57; - } -yy713: - YYDEBUG(713, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy679; - if (yych == 'g') goto yy679; - goto yy57; -yy714: - YYDEBUG(714, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy679; - if (yych == 'r') goto yy679; - goto yy57; -yy715: - YYDEBUG(715, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy679; - if (yych <= 'X') goto yy57; - goto yy679; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy57; - goto yy679; - } else { - if (yych == 'y') goto yy679; - goto yy57; - } - } -yy716: - YYDEBUG(716, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy679; - if (yych == 'b') goto yy679; - goto yy57; -yy717: - YYDEBUG(717, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy679; - if (yych <= 'M') goto yy57; - goto yy679; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy57; - goto yy679; - } else { - if (yych == 'n') goto yy679; - goto yy57; - } - } -yy718: - YYDEBUG(718, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy679; - if (yych == 'n') goto yy679; - goto yy57; -yy719: - YYDEBUG(719, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 't') goto yy728; - goto yy57; -yy720: - YYDEBUG(720, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy728; - goto yy57; -yy721: - YYDEBUG(721, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy728; - goto yy57; -yy722: - YYDEBUG(722, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'h') goto yy728; - goto yy57; -yy723: - YYDEBUG(723, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(724, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy667; - if (yych >= ':') goto yy667; - YYDEBUG(725, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy667; - if (yych >= ':') goto yy667; - YYDEBUG(726, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy667; - if (yych >= ':') goto yy667; - YYDEBUG(727, *YYCURSOR); - yych = *++YYCURSOR; - goto yy667; -yy728: - YYDEBUG(728, *YYCURSOR); - yyaccept = 14; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '/') goto yy723; - goto yy667; -yy729: - YYDEBUG(729, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '\t') goto yy731; - goto yy578; - } else { - if (yych <= '-') goto yy732; - if (yych <= '.') goto yy731; - if (yych >= '0') goto yy578; - } -yy730: - YYDEBUG(730, *YYCURSOR); - yych = *++YYCURSOR; - YYDEBUG(-1, yych); - switch (yych) { - case 'A': - case 'a': goto yy673; - case 'D': - case 'd': goto yy677; - case 'F': - case 'f': goto yy671; - case 'J': - case 'j': goto yy670; - case 'M': - case 'm': goto yy672; - case 'N': - case 'n': goto yy676; - case 'O': - case 'o': goto yy675; - case 'S': - case 's': goto yy674; - default: goto yy57; - } -yy731: - YYDEBUG(731, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy578; - if (yych <= '0') goto yy736; - if (yych <= '1') goto yy737; - if (yych <= '9') goto yy738; - goto yy578; -yy732: - YYDEBUG(732, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy578; - if (yych <= '0') goto yy733; - if (yych <= '1') goto yy734; - if (yych <= '9') goto yy735; - goto yy578; -yy733: - YYDEBUG(733, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') goto yy57; - if (yych <= '.') goto yy602; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy735; - goto yy57; -yy734: - YYDEBUG(734, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') goto yy57; - if (yych <= '.') goto yy602; - if (yych <= '/') goto yy57; - if (yych >= '3') goto yy57; -yy735: - YYDEBUG(735, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') goto yy57; - if (yych <= '.') goto yy602; - goto yy57; -yy736: - YYDEBUG(736, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy602; - goto yy739; - } else { - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy738; - goto yy57; - } -yy737: - YYDEBUG(737, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy602; - goto yy739; - } else { - if (yych <= '/') goto yy57; - if (yych >= '3') goto yy57; - } -yy738: - YYDEBUG(738, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy602; - if (yych >= '/') goto yy57; -yy739: - YYDEBUG(739, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(740, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy611; - goto yy57; -yy741: - YYDEBUG(741, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy785; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy783; - goto yy61; -yy742: - YYDEBUG(742, *YYCURSOR); - yych = *++YYCURSOR; - YYDEBUG(-1, yych); - switch (yych) { - case '0': goto yy751; - case '1': goto yy752; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy753; - case 'A': - case 'a': goto yy746; - case 'D': - case 'd': goto yy750; - case 'F': - case 'f': goto yy744; - case 'J': - case 'j': goto yy743; - case 'M': - case 'm': goto yy745; - case 'N': - case 'n': goto yy749; - case 'O': - case 'o': goto yy748; - case 'S': - case 's': goto yy747; - default: goto yy57; - } -yy743: - YYDEBUG(743, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy782; - if (yych <= 'T') goto yy57; - goto yy781; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy782; - } else { - if (yych == 'u') goto yy781; - goto yy57; - } - } -yy744: - YYDEBUG(744, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy780; - if (yych == 'e') goto yy780; - goto yy57; -yy745: - YYDEBUG(745, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy779; - if (yych == 'a') goto yy779; - goto yy57; -yy746: - YYDEBUG(746, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy778; - if (yych <= 'T') goto yy57; - goto yy777; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy57; - goto yy778; - } else { - if (yych == 'u') goto yy777; - goto yy57; - } - } -yy747: - YYDEBUG(747, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy775; - if (yych == 'e') goto yy775; - goto yy57; -yy748: - YYDEBUG(748, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy774; - if (yych == 'c') goto yy774; - goto yy57; -yy749: - YYDEBUG(749, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy773; - if (yych == 'o') goto yy773; - goto yy57; -yy750: - YYDEBUG(750, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy765; - if (yych == 'e') goto yy765; - goto yy57; -yy751: - YYDEBUG(751, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy754; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy758; - goto yy57; -yy752: - YYDEBUG(752, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy754; - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy758; - goto yy57; -yy753: - YYDEBUG(753, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '-') goto yy57; -yy754: - YYDEBUG(754, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy755; - if (yych <= '3') goto yy756; - if (yych <= '9') goto yy757; - goto yy57; -yy755: - YYDEBUG(755, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy757; - if (yych <= 'm') goto yy657; - goto yy661; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; - } - } -yy756: - YYDEBUG(756, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '1') goto yy757; - if (yych <= 'm') goto yy657; - goto yy661; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; - } - } -yy757: - YYDEBUG(757, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'q') { - if (yych == 'n') goto yy661; - goto yy657; - } else { - if (yych <= 'r') goto yy662; - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; - } -yy758: - YYDEBUG(758, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '-') goto yy57; - YYDEBUG(759, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy57; - if (yych >= '1') goto yy761; - } else { - if (yych <= '3') goto yy762; - if (yych <= '9') goto yy757; - goto yy57; - } - YYDEBUG(760, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy763; - if (yych <= 'm') goto yy657; - goto yy661; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; - } - } -yy761: - YYDEBUG(761, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy763; - if (yych <= 'm') goto yy657; - goto yy661; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; - } - } -yy762: - YYDEBUG(762, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '1') goto yy763; - if (yych <= 'm') goto yy657; - goto yy661; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; - } - } -yy763: - YYDEBUG(763, *YYCURSOR); - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'q') { - if (yych == 'n') goto yy661; - } else { - if (yych <= 'r') goto yy662; - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - } -yy764: - YYDEBUG(764, *YYCURSOR); -#line 1292 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("iso8601date2"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_PROCESS_YEAR(s->time->y); - TIMELIB_DEINIT; - return TIMELIB_ISO_DATE; - } -#line 12667 "ext/date/lib/parse_date.c" -yy765: - YYDEBUG(765, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy766; - if (yych != 'c') goto yy57; -yy766: - YYDEBUG(766, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '-') goto yy57; -yy767: - YYDEBUG(767, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy768; - if (yych <= '2') goto yy769; - if (yych <= '3') goto yy770; - goto yy57; -yy768: - YYDEBUG(768, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy771; - goto yy57; -yy769: - YYDEBUG(769, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy771; - goto yy57; -yy770: - YYDEBUG(770, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '2') goto yy57; -yy771: - YYDEBUG(771, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(772, *YYCURSOR); -#line 1523 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("pgtextreverse"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->m = timelib_get_month((char **) &ptr); - s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_PROCESS_YEAR(s->time->y); - TIMELIB_DEINIT; - return TIMELIB_PG_TEXT; - } -#line 12718 "ext/date/lib/parse_date.c" -yy773: - YYDEBUG(773, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy766; - if (yych == 'v') goto yy766; - goto yy57; -yy774: - YYDEBUG(774, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy766; - if (yych == 't') goto yy766; - goto yy57; -yy775: - YYDEBUG(775, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy776; - if (yych != 'p') goto yy57; -yy776: - YYDEBUG(776, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == '-') goto yy767; - goto yy57; - } else { - if (yych <= 'T') goto yy766; - if (yych == 't') goto yy766; - goto yy57; - } -yy777: - YYDEBUG(777, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy766; - if (yych == 'g') goto yy766; - goto yy57; -yy778: - YYDEBUG(778, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy766; - if (yych == 'r') goto yy766; - goto yy57; -yy779: - YYDEBUG(779, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy766; - if (yych <= 'X') goto yy57; - goto yy766; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy57; - goto yy766; - } else { - if (yych == 'y') goto yy766; - goto yy57; - } - } -yy780: - YYDEBUG(780, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy766; - if (yych == 'b') goto yy766; - goto yy57; -yy781: - YYDEBUG(781, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy766; - if (yych <= 'M') goto yy57; - goto yy766; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy57; - goto yy766; - } else { - if (yych == 'n') goto yy766; - goto yy57; - } - } -yy782: - YYDEBUG(782, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy766; - if (yych == 'n') goto yy766; - goto yy57; -yy783: - YYDEBUG(783, *YYCURSOR); - yyaccept = 16; - yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': - case ' ': - case 'A': - case 'D': - case 'F': - case 'H': - case 'I': - case 'J': - case 'M': - case 'N': - case 'O': - case 'S': - case 'T': - case 'V': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'n': - case 'o': - case 's': - case 't': - case 'w': - case 'y': goto yy791; - case '-': goto yy788; - case '.': goto yy792; - case '/': goto yy789; - case '0': goto yy805; - case '1': goto yy806; - case '2': goto yy808; - case '3': goto yy809; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy55; - case ':': goto yy807; - case 'W': goto yy810; - default: goto yy784; - } -yy784: - YYDEBUG(784, *YYCURSOR); -#line 1557 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("year4"); - TIMELIB_INIT; - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_DEINIT; - return TIMELIB_CLF; - } -#line 12864 "ext/date/lib/parse_date.c" -yy785: - YYDEBUG(785, *YYCURSOR); - yych = *++YYCURSOR; - YYDEBUG(-1, yych); - switch (yych) { - case '0': goto yy786; - case '1': goto yy787; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy753; - case 'A': - case 'a': goto yy746; - case 'D': - case 'd': goto yy750; - case 'F': - case 'f': goto yy744; - case 'J': - case 'j': goto yy743; - case 'M': - case 'm': goto yy745; - case 'N': - case 'n': goto yy749; - case 'O': - case 'o': goto yy748; - case 'S': - case 's': goto yy747; - default: goto yy57; - } -yy786: - YYDEBUG(786, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy754; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy753; - goto yy57; -yy787: - YYDEBUG(787, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy754; - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy753; - goto yy57; -yy788: - YYDEBUG(788, *YYCURSOR); - yych = *++YYCURSOR; - YYDEBUG(-1, yych); - switch (yych) { - case '0': goto yy973; - case '1': goto yy975; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy976; - case 'A': - case 'a': goto yy967; - case 'D': - case 'd': goto yy971; - case 'F': - case 'f': goto yy965; - case 'J': - case 'j': goto yy964; - case 'M': - case 'm': goto yy966; - case 'N': - case 'n': goto yy970; - case 'O': - case 'o': goto yy969; - case 'S': - case 's': goto yy968; - case 'W': goto yy972; - default: goto yy939; - } -yy789: - YYDEBUG(789, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy947; - if (yych <= '1') goto yy948; - if (yych <= '9') goto yy949; - goto yy57; -yy790: - YYDEBUG(790, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy791: - YYDEBUG(791, *YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': - case ' ': goto yy790; - case '-': - case '.': goto yy938; - case 'A': - case 'a': goto yy800; - case 'D': - case 'd': goto yy804; - case 'F': - case 'f': goto yy798; - case 'H': - case 'h': goto yy64; - case 'I': goto yy793; - case 'J': - case 'j': goto yy797; - case 'M': - case 'm': goto yy799; - case 'N': - case 'n': goto yy803; - case 'O': - case 'o': goto yy802; - case 'S': - case 's': goto yy801; - case 'T': - case 't': goto yy69; - case 'V': goto yy795; - case 'W': - case 'w': goto yy68; - case 'X': goto yy796; - case 'Y': - case 'y': goto yy67; - default: goto yy57; - } -yy792: - YYDEBUG(792, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy939; - if (yych <= '0') goto yy931; - if (yych <= '2') goto yy932; - if (yych <= '3') goto yy933; - goto yy939; -yy793: - YYDEBUG(793, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= 'U') { - if (yych == 'I') goto yy930; - } else { - if (yych == 'W') goto yy794; - if (yych <= 'X') goto yy884; - } -yy794: - YYDEBUG(794, *YYCURSOR); -#line 1383 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datenodayrev"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->m = timelib_get_month((char **) &ptr); - s->time->d = 1; - TIMELIB_PROCESS_YEAR(s->time->y); - TIMELIB_DEINIT; - return TIMELIB_DATE_NO_DAY; - } -#line 13027 "ext/date/lib/parse_date.c" -yy795: - YYDEBUG(795, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy928; - goto yy794; -yy796: - YYDEBUG(796, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy927; - goto yy794; -yy797: - YYDEBUG(797, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy920; - if (yych <= 'T') goto yy57; - goto yy919; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy920; - } else { - if (yych == 'u') goto yy919; - goto yy57; - } - } -yy798: - YYDEBUG(798, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= 'N') { - if (yych == 'E') goto yy913; - goto yy57; - } else { - if (yych <= 'O') goto yy99; - if (yych <= 'Q') goto yy57; - goto yy98; - } - } else { - if (yych <= 'n') { - if (yych == 'e') goto yy913; - goto yy57; - } else { - if (yych <= 'o') goto yy99; - if (yych == 'r') goto yy98; - goto yy57; - } - } -yy799: - YYDEBUG(799, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'H') { - if (yych == 'A') goto yy910; - goto yy57; - } else { - if (yych <= 'I') goto yy118; - if (yych <= 'N') goto yy57; - goto yy117; - } - } else { - if (yych <= 'h') { - if (yych == 'a') goto yy910; - goto yy57; - } else { - if (yych <= 'i') goto yy118; - if (yych == 'o') goto yy117; - goto yy57; - } - } -yy800: - YYDEBUG(800, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy904; - if (yych <= 'T') goto yy57; - goto yy903; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy57; - goto yy904; - } else { - if (yych == 'u') goto yy903; - goto yy57; - } - } -yy801: - YYDEBUG(801, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'A') goto yy127; - goto yy57; - } else { - if (yych <= 'E') goto yy896; - if (yych <= 'T') goto yy57; - goto yy126; - } - } else { - if (yych <= 'd') { - if (yych == 'a') goto yy127; - goto yy57; - } else { - if (yych <= 'e') goto yy896; - if (yych == 'u') goto yy126; - goto yy57; - } - } -yy802: - YYDEBUG(802, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy891; - if (yych == 'c') goto yy891; - goto yy57; -yy803: - YYDEBUG(803, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy885; - if (yych == 'o') goto yy885; - goto yy57; -yy804: - YYDEBUG(804, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych == 'A') goto yy114; - if (yych <= 'D') goto yy57; - goto yy878; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy114; - } else { - if (yych == 'e') goto yy878; - goto yy57; - } - } -yy805: - YYDEBUG(805, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '0') goto yy875; - if (yych <= '9') goto yy876; - goto yy61; -yy806: - YYDEBUG(806, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '2') goto yy844; - if (yych <= '9') goto yy823; - goto yy61; -yy807: - YYDEBUG(807, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy824; - if (yych <= '1') goto yy825; - goto yy57; -yy808: - YYDEBUG(808, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy823; - goto yy61; -yy809: - YYDEBUG(809, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '5') goto yy819; - if (yych <= '6') goto yy820; - if (yych <= '9') goto yy55; - goto yy61; -yy810: - YYDEBUG(810, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy811; - if (yych <= '4') goto yy812; - goto yy813; - } else { - if (yych <= 'E') { - if (yych <= 'D') goto yy57; - goto yy83; - } else { - if (yych == 'e') goto yy83; - goto yy57; - } - } -yy811: - YYDEBUG(811, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '0') goto yy57; - if (yych <= '9') goto yy814; - goto yy57; -yy812: - YYDEBUG(812, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy814; - goto yy57; -yy813: - YYDEBUG(813, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '4') goto yy57; -yy814: - YYDEBUG(814, *YYCURSOR); - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy816; - if (yych <= '/') goto yy815; - if (yych <= '7') goto yy817; -yy815: - YYDEBUG(815, *YYCURSOR); -#line 1491 "ext/date/lib/parse_date.re" - { - timelib_sll w, d; - DEBUG_OUTPUT("isoweek"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - TIMELIB_HAVE_RELATIVE(); - - s->time->y = timelib_get_nr((char **) &ptr, 4); - w = timelib_get_nr((char **) &ptr, 2); - d = 1; - s->time->m = 1; - s->time->d = 1; - s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); - - TIMELIB_DEINIT; - return TIMELIB_ISO_WEEK; - } -#line 13260 "ext/date/lib/parse_date.c" -yy816: - YYDEBUG(816, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '8') goto yy57; -yy817: - YYDEBUG(817, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(818, *YYCURSOR); -#line 1472 "ext/date/lib/parse_date.re" - { - timelib_sll w, d; - DEBUG_OUTPUT("isoweekday"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - TIMELIB_HAVE_RELATIVE(); - - s->time->y = timelib_get_nr((char **) &ptr, 4); - w = timelib_get_nr((char **) &ptr, 2); - d = timelib_get_nr((char **) &ptr, 1); - s->time->m = 1; - s->time->d = 1; - s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); - - TIMELIB_DEINIT; - return TIMELIB_ISO_WEEK; - } -#line 13288 "ext/date/lib/parse_date.c" -yy819: - YYDEBUG(819, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy821; - goto yy61; -yy820: - YYDEBUG(820, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '6') goto yy821; - if (yych <= '9') goto yy55; - goto yy61; -yy821: - YYDEBUG(821, *YYCURSOR); - yyaccept = 18; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy55; - } - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych >= ' ') goto yy61; - } else { - if (yych == 'D') goto yy61; - if (yych >= 'F') goto yy61; - } - } else { - if (yych <= 'M') { - if (yych == 'H') goto yy61; - if (yych >= 'M') goto yy61; - } else { - if (yych <= 'R') goto yy822; - if (yych <= 'T') goto yy61; - if (yych >= 'W') goto yy61; - } - } - } else { - if (yych <= 'h') { - if (yych <= 'd') { - if (yych == 'Y') goto yy61; - if (yych >= 'd') goto yy61; - } else { - if (yych == 'f') goto yy61; - if (yych >= 'h') goto yy61; - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych >= 's') goto yy61; - } else { - if (yych <= 'w') { - if (yych >= 'w') goto yy61; - } else { - if (yych == 'y') goto yy61; - } - } - } - } -yy822: - YYDEBUG(822, *YYCURSOR); -#line 1459 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("pgydotd"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->d = timelib_get_nr((char **) &ptr, 3); - s->time->m = 1; - TIMELIB_PROCESS_YEAR(s->time->y); - TIMELIB_DEINIT; - return TIMELIB_PG_YEARDAY; - } -#line 13364 "ext/date/lib/parse_date.c" -yy823: - YYDEBUG(823, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy821; - goto yy61; -yy824: - YYDEBUG(824, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy826; - goto yy57; -yy825: - YYDEBUG(825, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '3') goto yy57; -yy826: - YYDEBUG(826, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy57; - YYDEBUG(827, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy828; - if (yych <= '2') goto yy829; - if (yych <= '3') goto yy830; - goto yy57; -yy828: - YYDEBUG(828, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy831; - goto yy57; -yy829: - YYDEBUG(829, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy831; - goto yy57; -yy830: - YYDEBUG(830, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '2') goto yy57; -yy831: - YYDEBUG(831, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ' ') goto yy57; - YYDEBUG(832, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy833; - if (yych <= '2') goto yy834; - goto yy57; -yy833: - YYDEBUG(833, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy835; - goto yy57; -yy834: - YYDEBUG(834, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '5') goto yy57; -yy835: - YYDEBUG(835, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy57; - YYDEBUG(836, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '6') goto yy57; - YYDEBUG(837, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(838, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy57; - YYDEBUG(839, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy840; - if (yych <= '6') goto yy841; - goto yy57; -yy840: - YYDEBUG(840, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy842; - goto yy57; -yy841: - YYDEBUG(841, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '0') goto yy57; -yy842: - YYDEBUG(842, *YYCURSOR); - ++YYCURSOR; -yy843: - YYDEBUG(843, *YYCURSOR); -#line 1433 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - s->time->s = timelib_get_nr((char **) &ptr, 2); - if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 9); - if (*ptr) { /* timezone is optional */ - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); - if (tz_not_found) { - add_error(s, "The timezone could not be found in the database"); - } - } - } - TIMELIB_DEINIT; - return TIMELIB_XMLRPC_SOAP; - } -#line 13492 "ext/date/lib/parse_date.c" -yy844: - YYDEBUG(844, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy61; - if (yych >= '1') goto yy846; - } else { - if (yych <= '3') goto yy847; - if (yych <= '9') goto yy821; - goto yy61; - } -yy845: - YYDEBUG(845, *YYCURSOR); - yyaccept = 18; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy822; - goto yy61; - } else { - if (yych <= '/') goto yy822; - if (yych <= '9') goto yy848; - if (yych <= 'C') goto yy822; - goto yy61; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy822; - goto yy61; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy822; - goto yy61; - } else { - if (yych <= 'R') goto yy822; - if (yych <= 'T') goto yy61; - goto yy822; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy822; - if (yych <= 'Y') goto yy61; - goto yy822; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy822; - } else { - if (yych == 'g') goto yy822; - goto yy61; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy822; - goto yy61; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy822; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy822; - } - } - } - } -yy846: - YYDEBUG(846, *YYCURSOR); - yyaccept = 18; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy822; - goto yy61; - } else { - if (yych <= '/') goto yy822; - if (yych <= '9') goto yy848; - if (yych <= 'C') goto yy822; - goto yy61; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy822; - goto yy61; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy822; - goto yy61; - } else { - if (yych <= 'R') goto yy822; - if (yych <= 'T') goto yy61; - goto yy822; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy822; - if (yych <= 'Y') goto yy61; - goto yy822; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy822; - } else { - if (yych == 'g') goto yy822; - goto yy61; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy822; - goto yy61; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy822; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy822; - } - } - } - } -yy847: - YYDEBUG(847, *YYCURSOR); - yyaccept = 18; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy822; - goto yy61; - } else { - if (yych <= '1') { - if (yych <= '/') goto yy822; - } else { - if (yych <= '9') goto yy55; - if (yych <= 'C') goto yy822; - goto yy61; - } - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy822; - goto yy61; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy822; - goto yy61; - } else { - if (yych <= 'R') goto yy822; - if (yych <= 'T') goto yy61; - goto yy822; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy822; - if (yych <= 'Y') goto yy61; - goto yy822; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy822; - } else { - if (yych == 'g') goto yy822; - goto yy61; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy822; - goto yy61; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy822; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy822; - } - } - } - } -yy848: - YYDEBUG(848, *YYCURSOR); - yyaccept = 19; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy55; - } - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych >= ' ') goto yy60; - } else { - if (yych == 'D') goto yy65; - if (yych >= 'F') goto yy66; - } - } else { - if (yych <= 'M') { - if (yych == 'H') goto yy64; - if (yych >= 'M') goto yy63; - } else { - if (yych <= 'S') { - if (yych >= 'S') goto yy62; - } else { - if (yych <= 'T') goto yy850; - if (yych >= 'W') goto yy68; - } - } - } - } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy67; - if (yych >= 'd') goto yy65; - } else { - if (yych <= 'f') { - if (yych >= 'f') goto yy66; - } else { - if (yych == 'h') goto yy64; - } - } - } else { - if (yych <= 't') { - if (yych <= 'm') goto yy63; - if (yych <= 'r') goto yy849; - if (yych <= 's') goto yy62; - goto yy851; - } else { - if (yych <= 'w') { - if (yych >= 'w') goto yy68; - } else { - if (yych == 'y') goto yy67; - } - } - } - } -yy849: - YYDEBUG(849, *YYCURSOR); -#line 1421 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datenocolon"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_DEINIT; - return TIMELIB_DATE_NOCOLON; - } -#line 13765 "ext/date/lib/parse_date.c" -yy850: - YYDEBUG(850, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= '2') { - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy865; - goto yy866; - } else { - if (yych <= '9') goto yy867; - if (yych <= 'G') goto yy57; - goto yy70; - } - } else { - if (yych <= 'g') { - if (yych == 'U') goto yy71; - goto yy57; - } else { - if (yych <= 'h') goto yy70; - if (yych == 'u') goto yy71; - goto yy57; - } - } -yy851: - YYDEBUG(851, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= '2') { - if (yych <= '/') goto yy57; - if (yych >= '2') goto yy853; - } else { - if (yych <= '9') goto yy854; - if (yych <= 'G') goto yy57; - goto yy70; - } - } else { - if (yych <= 'g') { - if (yych == 'U') goto yy71; - goto yy57; - } else { - if (yych <= 'h') goto yy70; - if (yych == 'u') goto yy71; - goto yy57; - } - } - YYDEBUG(852, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy859; - if (yych <= '9') goto yy854; - goto yy57; -yy853: - YYDEBUG(853, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '4') goto yy859; - if (yych <= '5') goto yy855; - goto yy57; -yy854: - YYDEBUG(854, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '6') goto yy57; -yy855: - YYDEBUG(855, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy856: - YYDEBUG(856, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy857; - if (yych <= '6') goto yy858; - goto yy57; -yy857: - YYDEBUG(857, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy842; - goto yy57; -yy858: - YYDEBUG(858, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '0') goto yy842; - goto yy57; -yy859: - YYDEBUG(859, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy860; - if (yych <= '9') goto yy856; - goto yy57; -yy860: - YYDEBUG(860, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy861; - if (yych <= '6') goto yy862; - if (yych <= '9') goto yy856; - goto yy57; -yy861: - YYDEBUG(861, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy863; - if (yych <= '6') goto yy864; - if (yych <= '9') goto yy842; - goto yy57; -yy862: - YYDEBUG(862, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy863; - if (yych <= '5') goto yy857; - if (yych <= '6') goto yy858; - goto yy57; -yy863: - YYDEBUG(863, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy843; - if (yych <= '9') goto yy842; - goto yy843; -yy864: - YYDEBUG(864, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '0') goto yy842; - goto yy843; -yy865: - YYDEBUG(865, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy874; - if (yych <= '9') goto yy867; - if (yych <= ':') goto yy868; - goto yy57; -yy866: - YYDEBUG(866, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy57; - if (yych <= '4') goto yy874; - goto yy855; - } else { - if (yych == ':') goto yy868; - goto yy57; - } -yy867: - YYDEBUG(867, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy855; - if (yych != ':') goto yy57; -yy868: - YYDEBUG(868, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '6') goto yy57; - YYDEBUG(869, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(870, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy57; - YYDEBUG(871, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy872; - if (yych <= '6') goto yy873; - goto yy57; -yy872: - YYDEBUG(872, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy842; - goto yy57; -yy873: - YYDEBUG(873, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '0') goto yy842; - goto yy57; -yy874: - YYDEBUG(874, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy860; - if (yych <= '9') goto yy856; - if (yych <= ':') goto yy868; - goto yy57; -yy875: - YYDEBUG(875, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy61; - if (yych <= '0') goto yy877; - goto yy846; - } else { - if (yych <= '3') goto yy847; - if (yych <= '9') goto yy821; - goto yy61; - } -yy876: - YYDEBUG(876, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy61; - if (yych <= '0') goto yy845; - goto yy846; - } else { - if (yych <= '3') goto yy847; - if (yych <= '9') goto yy821; - goto yy61; - } -yy877: - YYDEBUG(877, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy848; - goto yy61; -yy878: - YYDEBUG(878, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy879; - if (yych != 'c') goto yy57; -yy879: - YYDEBUG(879, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy880; - if (yych != 'e') goto yy794; -yy880: - YYDEBUG(880, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy881; - if (yych != 'm') goto yy57; -yy881: - YYDEBUG(881, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy882; - if (yych != 'b') goto yy57; -yy882: - YYDEBUG(882, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy883; - if (yych != 'e') goto yy57; -yy883: - YYDEBUG(883, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy884; - if (yych != 'r') goto yy57; -yy884: - YYDEBUG(884, *YYCURSOR); - yych = *++YYCURSOR; - goto yy794; -yy885: - YYDEBUG(885, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy886; - if (yych != 'v') goto yy57; -yy886: - YYDEBUG(886, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy887; - if (yych != 'e') goto yy794; -yy887: - YYDEBUG(887, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy888; - if (yych != 'm') goto yy57; -yy888: - YYDEBUG(888, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy889; - if (yych != 'b') goto yy57; -yy889: - YYDEBUG(889, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy890; - if (yych != 'e') goto yy57; -yy890: - YYDEBUG(890, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy884; - if (yych == 'r') goto yy884; - goto yy57; -yy891: - YYDEBUG(891, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy892; - if (yych != 't') goto yy57; -yy892: - YYDEBUG(892, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'O') goto yy893; - if (yych != 'o') goto yy794; -yy893: - YYDEBUG(893, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy894; - if (yych != 'b') goto yy57; -yy894: - YYDEBUG(894, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy895; - if (yych != 'e') goto yy57; -yy895: - YYDEBUG(895, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy884; - if (yych == 'r') goto yy884; - goto yy57; -yy896: - YYDEBUG(896, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'P') { - if (yych == 'C') goto yy129; - if (yych <= 'O') goto yy57; - } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy57; - goto yy129; - } else { - if (yych != 'p') goto yy57; - } - } -yy897: - YYDEBUG(897, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy898; - if (yych != 't') goto yy794; -yy898: - YYDEBUG(898, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy899; - if (yych != 'e') goto yy794; -yy899: - YYDEBUG(899, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy900; - if (yych != 'm') goto yy57; -yy900: - YYDEBUG(900, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy901; - if (yych != 'b') goto yy57; -yy901: - YYDEBUG(901, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy902; - if (yych != 'e') goto yy57; -yy902: - YYDEBUG(902, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy884; - if (yych == 'r') goto yy884; - goto yy57; -yy903: - YYDEBUG(903, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy907; - if (yych == 'g') goto yy907; - goto yy57; -yy904: - YYDEBUG(904, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy905; - if (yych != 'r') goto yy57; -yy905: - YYDEBUG(905, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'I') goto yy906; - if (yych != 'i') goto yy794; -yy906: - YYDEBUG(906, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy884; - if (yych == 'l') goto yy884; - goto yy57; -yy907: - YYDEBUG(907, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy908; - if (yych != 'u') goto yy794; -yy908: - YYDEBUG(908, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy909; - if (yych != 's') goto yy57; -yy909: - YYDEBUG(909, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy884; - if (yych == 't') goto yy884; - goto yy57; -yy910: - YYDEBUG(910, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy911; - if (yych <= 'X') goto yy57; - goto yy884; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy57; - } else { - if (yych == 'y') goto yy884; - goto yy57; - } - } -yy911: - YYDEBUG(911, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'C') goto yy912; - if (yych != 'c') goto yy794; -yy912: - YYDEBUG(912, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy884; - if (yych == 'h') goto yy884; - goto yy57; -yy913: - YYDEBUG(913, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy914; - if (yych != 'b') goto yy57; -yy914: - YYDEBUG(914, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'R') goto yy915; - if (yych != 'r') goto yy794; -yy915: - YYDEBUG(915, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy916; - if (yych != 'u') goto yy57; -yy916: - YYDEBUG(916, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy917; - if (yych != 'a') goto yy57; -yy917: - YYDEBUG(917, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy918; - if (yych != 'r') goto yy57; -yy918: - YYDEBUG(918, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy884; - if (yych == 'y') goto yy884; - goto yy57; -yy919: - YYDEBUG(919, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy926; - if (yych <= 'M') goto yy57; - goto yy925; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy57; - goto yy926; - } else { - if (yych == 'n') goto yy925; - goto yy57; - } - } -yy920: - YYDEBUG(920, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy921; - if (yych != 'n') goto yy57; -yy921: - YYDEBUG(921, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy922; - if (yych != 'u') goto yy794; -yy922: - YYDEBUG(922, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy923; - if (yych != 'a') goto yy57; -yy923: - YYDEBUG(923, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy924; - if (yych != 'r') goto yy57; -yy924: - YYDEBUG(924, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy884; - if (yych == 'y') goto yy884; - goto yy57; -yy925: - YYDEBUG(925, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy884; - if (yych == 'e') goto yy884; - goto yy794; -yy926: - YYDEBUG(926, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy884; - if (yych == 'y') goto yy884; - goto yy794; -yy927: - YYDEBUG(927, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy884; - goto yy794; -yy928: - YYDEBUG(928, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != 'I') goto yy794; - YYDEBUG(929, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy884; - goto yy794; -yy930: - YYDEBUG(930, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy884; - goto yy794; -yy931: - YYDEBUG(931, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy946; - if (yych <= '9') goto yy945; - goto yy57; -yy932: - YYDEBUG(932, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy944; - goto yy57; -yy933: - YYDEBUG(933, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy942; - if (yych <= '6') goto yy941; - goto yy57; -yy934: - YYDEBUG(934, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy913; - if (yych == 'e') goto yy913; - goto yy57; -yy935: - YYDEBUG(935, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy910; - if (yych == 'a') goto yy910; - goto yy57; -yy936: - YYDEBUG(936, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy940; - if (yych == 'e') goto yy940; - goto yy57; -yy937: - YYDEBUG(937, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy878; - if (yych == 'e') goto yy878; - goto yy57; -yy938: - YYDEBUG(938, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy939: - YYDEBUG(939, *YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy938; - case 'A': - case 'a': goto yy800; - case 'D': - case 'd': goto yy937; - case 'F': - case 'f': goto yy934; - case 'I': goto yy793; - case 'J': - case 'j': goto yy797; - case 'M': - case 'm': goto yy935; - case 'N': - case 'n': goto yy803; - case 'O': - case 'o': goto yy802; - case 'S': - case 's': goto yy936; - case 'V': goto yy795; - case 'X': goto yy796; - default: goto yy57; - } -yy940: - YYDEBUG(940, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy897; - if (yych == 'p') goto yy897; - goto yy57; -yy941: - YYDEBUG(941, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '6') goto yy943; - goto yy57; -yy942: - YYDEBUG(942, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy943: - YYDEBUG(943, *YYCURSOR); - yych = *++YYCURSOR; - goto yy822; -yy944: - YYDEBUG(944, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy943; - goto yy57; -yy945: - YYDEBUG(945, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy943; - goto yy57; -yy946: - YYDEBUG(946, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '0') goto yy57; - if (yych <= '9') goto yy943; - goto yy57; -yy947: - YYDEBUG(947, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') goto yy57; - if (yych <= '/') goto yy950; - if (yych <= '9') goto yy958; - goto yy57; -yy948: - YYDEBUG(948, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') goto yy57; - if (yych <= '/') goto yy950; - if (yych <= '2') goto yy958; - goto yy57; -yy949: - YYDEBUG(949, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '/') goto yy57; -yy950: - YYDEBUG(950, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy951; - if (yych <= '3') goto yy952; - if (yych <= '9') goto yy953; - goto yy57; -yy951: - YYDEBUG(951, *YYCURSOR); - yyaccept = 21; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy455; - if (yych <= '9') goto yy953; - if (yych <= 'm') goto yy455; - goto yy955; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy956; - } else { - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; - } - } -yy952: - YYDEBUG(952, *YYCURSOR); - yyaccept = 21; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy455; - if (yych <= '1') goto yy953; - if (yych <= 'm') goto yy455; - goto yy955; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy956; - } else { - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; - } - } -yy953: - YYDEBUG(953, *YYCURSOR); - yyaccept = 21; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'q') { - if (yych == 'n') goto yy955; - goto yy455; - } else { - if (yych <= 'r') goto yy956; - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; - } -yy954: - YYDEBUG(954, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 't') goto yy454; - goto yy57; -yy955: - YYDEBUG(955, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy454; - goto yy57; -yy956: - YYDEBUG(956, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy454; - goto yy57; -yy957: - YYDEBUG(957, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'h') goto yy454; - goto yy57; -yy958: - YYDEBUG(958, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '/') goto yy57; - YYDEBUG(959, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy57; - if (yych >= '1') goto yy961; - } else { - if (yych <= '3') goto yy962; - if (yych <= '9') goto yy953; - goto yy57; - } - YYDEBUG(960, *YYCURSOR); - yyaccept = 21; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy455; - if (yych <= '9') goto yy963; - if (yych <= 'm') goto yy455; - goto yy955; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy956; - } else { - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; - } - } -yy961: - YYDEBUG(961, *YYCURSOR); - yyaccept = 21; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy455; - if (yych <= '9') goto yy963; - if (yych <= 'm') goto yy455; - goto yy955; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy956; - } else { - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; - } - } -yy962: - YYDEBUG(962, *YYCURSOR); - yyaccept = 21; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy455; - if (yych <= '1') goto yy963; - if (yych <= 'm') goto yy455; - goto yy955; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy956; - } else { - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; - } - } -yy963: - YYDEBUG(963, *YYCURSOR); - yyaccept = 21; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych == '/') goto yy454; - if (yych <= 'm') goto yy455; - goto yy955; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy956; - } else { - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; - } - } -yy964: - YYDEBUG(964, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy1044; - if (yych <= 'T') goto yy57; - goto yy1043; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy1044; - } else { - if (yych == 'u') goto yy1043; - goto yy57; - } - } -yy965: - YYDEBUG(965, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1041; - if (yych == 'e') goto yy1041; - goto yy57; -yy966: - YYDEBUG(966, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1038; - if (yych == 'a') goto yy1038; - goto yy57; -yy967: - YYDEBUG(967, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy1035; - if (yych <= 'T') goto yy57; - goto yy1034; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy57; - goto yy1035; - } else { - if (yych == 'u') goto yy1034; - goto yy57; - } - } -yy968: - YYDEBUG(968, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1031; - if (yych == 'e') goto yy1031; - goto yy57; -yy969: - YYDEBUG(969, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy1029; - if (yych == 'c') goto yy1029; - goto yy57; -yy970: - YYDEBUG(970, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy1027; - if (yych == 'o') goto yy1027; - goto yy57; -yy971: - YYDEBUG(971, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1025; - if (yych == 'e') goto yy1025; - goto yy57; -yy972: - YYDEBUG(972, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy811; - if (yych <= '4') goto yy812; - if (yych <= '5') goto yy813; - goto yy57; -yy973: - YYDEBUG(973, *YYCURSOR); - yyaccept = 22; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy977; - if (yych <= '/') goto yy974; - if (yych <= '9') goto yy996; -yy974: - YYDEBUG(974, *YYCURSOR); -#line 1305 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("gnudateshorter"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->d = 1; - TIMELIB_PROCESS_YEAR(s->time->y); - TIMELIB_DEINIT; - return TIMELIB_ISO_DATE; - } -#line 14697 "ext/date/lib/parse_date.c" -yy975: - YYDEBUG(975, *YYCURSOR); - yyaccept = 22; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy977; - if (yych <= '/') goto yy974; - if (yych <= '2') goto yy996; - goto yy974; -yy976: - YYDEBUG(976, *YYCURSOR); - yyaccept = 22; - yych = *(YYMARKER = ++YYCURSOR); - if (yych != '-') goto yy974; -yy977: - YYDEBUG(977, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy978; - if (yych <= '3') goto yy979; - if (yych <= '9') goto yy980; - goto yy57; -yy978: - YYDEBUG(978, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '9') { - if (yych <= '/') goto yy657; - goto yy980; - } else { - if (yych == 'T') goto yy985; - goto yy657; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy982; - if (yych <= 'q') goto yy657; - goto yy983; - } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy657; - } - } -yy979: - YYDEBUG(979, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy657; - } else { - if (yych == 'T') goto yy985; - goto yy657; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy982; - if (yych <= 'q') goto yy657; - goto yy983; - } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy657; - } - } -yy980: - YYDEBUG(980, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych == 'T') goto yy985; - if (yych <= 'm') goto yy657; - goto yy982; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy983; - } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy657; - } - } -yy981: - YYDEBUG(981, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 't') goto yy995; - goto yy57; -yy982: - YYDEBUG(982, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy995; - goto yy57; -yy983: - YYDEBUG(983, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy995; - goto yy57; -yy984: - YYDEBUG(984, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'h') goto yy995; - goto yy57; -yy985: - YYDEBUG(985, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy986; - if (yych <= '2') goto yy987; - if (yych <= '9') goto yy988; - goto yy57; -yy986: - YYDEBUG(986, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy988; - if (yych <= ':') goto yy989; - goto yy57; -yy987: - YYDEBUG(987, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '4') goto yy988; - if (yych == ':') goto yy989; - goto yy57; -yy988: - YYDEBUG(988, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy57; -yy989: - YYDEBUG(989, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy990; - if (yych <= '9') goto yy991; - goto yy57; -yy990: - YYDEBUG(990, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy991; - if (yych <= ':') goto yy992; - goto yy57; -yy991: - YYDEBUG(991, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy57; -yy992: - YYDEBUG(992, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy993; - if (yych <= '6') goto yy994; - if (yych <= '9') goto yy842; - goto yy57; -yy993: - YYDEBUG(993, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy843; - if (yych <= '9') goto yy842; - goto yy843; -yy994: - YYDEBUG(994, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '0') goto yy842; - goto yy843; -yy995: - YYDEBUG(995, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'T') goto yy985; - goto yy657; -yy996: - YYDEBUG(996, *YYCURSOR); - yyaccept = 22; - yych = *(YYMARKER = ++YYCURSOR); - if (yych != '-') goto yy974; - YYDEBUG(997, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy57; - if (yych >= '1') goto yy999; - } else { - if (yych <= '3') goto yy1000; - if (yych <= '9') goto yy980; - goto yy57; - } - YYDEBUG(998, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '9') { - if (yych <= '/') goto yy657; - goto yy1001; - } else { - if (yych == 'T') goto yy985; - goto yy657; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy982; - if (yych <= 'q') goto yy657; - goto yy983; - } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy657; - } - } -yy999: - YYDEBUG(999, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '9') { - if (yych <= '/') goto yy657; - goto yy1001; - } else { - if (yych == 'T') goto yy985; - goto yy657; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy982; - if (yych <= 'q') goto yy657; - goto yy983; - } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy657; - } - } -yy1000: - YYDEBUG(1000, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy657; - } else { - if (yych == 'T') goto yy985; - goto yy657; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy982; - if (yych <= 'q') goto yy657; - goto yy983; - } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy657; - } - } -yy1001: - YYDEBUG(1001, *YYCURSOR); - yyaccept = 21; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych == 'T') goto yy1002; - if (yych <= 'm') goto yy455; - goto yy982; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy983; - } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy455; - } - } -yy1002: - YYDEBUG(1002, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy1003; - if (yych <= '2') goto yy1004; - if (yych <= '9') goto yy988; - goto yy57; -yy1003: - YYDEBUG(1003, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy1005; - if (yych <= ':') goto yy989; - goto yy57; -yy1004: - YYDEBUG(1004, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '4') goto yy1005; - if (yych == ':') goto yy989; - goto yy57; -yy1005: - YYDEBUG(1005, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy57; - YYDEBUG(1006, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy1007; - if (yych <= '9') goto yy991; - goto yy57; -yy1007: - YYDEBUG(1007, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy1008; - if (yych <= ':') goto yy992; - goto yy57; -yy1008: - YYDEBUG(1008, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy57; - YYDEBUG(1009, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy1010; - if (yych <= '6') goto yy1011; - if (yych <= '9') goto yy842; - goto yy57; -yy1010: - YYDEBUG(1010, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy843; - if (yych <= '9') goto yy1012; - goto yy843; -yy1011: - YYDEBUG(1011, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '0') goto yy843; -yy1012: - YYDEBUG(1012, *YYCURSOR); - yyaccept = 23; - yych = *(YYMARKER = ++YYCURSOR); - if (yych != '.') goto yy843; - YYDEBUG(1013, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy1014: - YYDEBUG(1014, *YYCURSOR); - yyaccept = 23; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; - YYDEBUG(1015, *YYCURSOR); - if (yych <= '-') { - if (yych == '+') goto yy1017; - if (yych <= ',') goto yy843; - goto yy1017; - } else { - if (yych <= '9') { - if (yych <= '/') goto yy843; - goto yy1014; - } else { - if (yych != 'G') goto yy843; - } - } - YYDEBUG(1016, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy1023; - goto yy57; -yy1017: - YYDEBUG(1017, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy1018; - if (yych <= '2') goto yy1019; - if (yych <= '9') goto yy1020; - goto yy57; -yy1018: - YYDEBUG(1018, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy843; - if (yych <= '9') goto yy1020; - if (yych <= ':') goto yy1021; - goto yy843; -yy1019: - YYDEBUG(1019, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy843; - if (yych >= '5') goto yy1022; - } else { - if (yych <= '9') goto yy842; - if (yych <= ':') goto yy1021; - goto yy843; - } -yy1020: - YYDEBUG(1020, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy843; - if (yych <= '5') goto yy1022; - if (yych <= '9') goto yy842; - if (yych >= ';') goto yy843; -yy1021: - YYDEBUG(1021, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy843; - if (yych <= '5') goto yy1022; - if (yych <= '9') goto yy842; - goto yy843; -yy1022: - YYDEBUG(1022, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy843; - if (yych <= '9') goto yy842; - goto yy843; -yy1023: - YYDEBUG(1023, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != 'T') goto yy57; - YYDEBUG(1024, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '+') goto yy1017; - if (yych == '-') goto yy1017; - goto yy57; -yy1025: - YYDEBUG(1025, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy1026; - if (yych != 'c') goto yy57; -yy1026: - YYDEBUG(1026, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == '-') goto yy767; - goto yy794; - } else { - if (yych <= 'E') goto yy880; - if (yych == 'e') goto yy880; - goto yy794; - } -yy1027: - YYDEBUG(1027, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy1028; - if (yych != 'v') goto yy57; -yy1028: - YYDEBUG(1028, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == '-') goto yy767; - goto yy794; - } else { - if (yych <= 'E') goto yy887; - if (yych == 'e') goto yy887; - goto yy794; - } -yy1029: - YYDEBUG(1029, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1030; - if (yych != 't') goto yy57; -yy1030: - YYDEBUG(1030, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych == '-') goto yy767; - goto yy794; - } else { - if (yych <= 'O') goto yy893; - if (yych == 'o') goto yy893; - goto yy794; - } -yy1031: - YYDEBUG(1031, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy1032; - if (yych != 'p') goto yy57; -yy1032: - YYDEBUG(1032, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == '-') goto yy767; - goto yy794; - } else { - if (yych <= 'T') goto yy1033; - if (yych != 't') goto yy794; - } -yy1033: - YYDEBUG(1033, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == '-') goto yy767; - goto yy794; - } else { - if (yych <= 'E') goto yy899; - if (yych == 'e') goto yy899; - goto yy794; - } -yy1034: - YYDEBUG(1034, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy1037; - if (yych == 'g') goto yy1037; - goto yy57; -yy1035: - YYDEBUG(1035, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy1036; - if (yych != 'r') goto yy57; -yy1036: - YYDEBUG(1036, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'H') { - if (yych == '-') goto yy767; - goto yy794; - } else { - if (yych <= 'I') goto yy906; - if (yych == 'i') goto yy906; - goto yy794; - } -yy1037: - YYDEBUG(1037, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych == '-') goto yy767; - goto yy794; - } else { - if (yych <= 'U') goto yy908; - if (yych == 'u') goto yy908; - goto yy794; - } -yy1038: - YYDEBUG(1038, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy1039; - if (yych <= 'X') goto yy57; - goto yy1040; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy57; - } else { - if (yych == 'y') goto yy1040; - goto yy57; - } - } -yy1039: - YYDEBUG(1039, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'B') { - if (yych == '-') goto yy767; - goto yy794; - } else { - if (yych <= 'C') goto yy912; - if (yych == 'c') goto yy912; - goto yy794; - } -yy1040: - YYDEBUG(1040, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy767; - goto yy794; -yy1041: - YYDEBUG(1041, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy1042; - if (yych != 'b') goto yy57; -yy1042: - YYDEBUG(1042, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych == '-') goto yy767; - goto yy794; - } else { - if (yych <= 'R') goto yy915; - if (yych == 'r') goto yy915; - goto yy794; - } -yy1043: - YYDEBUG(1043, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy1047; - if (yych <= 'M') goto yy57; - goto yy1046; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy57; - goto yy1047; - } else { - if (yych == 'n') goto yy1046; - goto yy57; - } - } -yy1044: - YYDEBUG(1044, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy1045; - if (yych != 'n') goto yy57; -yy1045: - YYDEBUG(1045, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych == '-') goto yy767; - goto yy794; - } else { - if (yych <= 'U') goto yy922; - if (yych == 'u') goto yy922; - goto yy794; - } -yy1046: - YYDEBUG(1046, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == '-') goto yy767; - goto yy794; - } else { - if (yych <= 'E') goto yy884; - if (yych == 'e') goto yy884; - goto yy794; - } -yy1047: - YYDEBUG(1047, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych == '-') goto yy767; - goto yy794; - } else { - if (yych <= 'Y') goto yy884; - if (yych == 'y') goto yy884; - goto yy794; - } -yy1048: - YYDEBUG(1048, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy578; - goto yy731; - } else { - if (yych <= ',') goto yy578; - if (yych <= '-') goto yy732; - goto yy731; - } - } else { - if (yych <= 'U') { - if (yych <= '/') goto yy730; - if (yych <= 'T') goto yy578; - goto yy78; - } else { - if (yych == 'u') goto yy78; - goto yy578; - } - } -yy1049: - YYDEBUG(1049, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'P') { - if (yych == 'C') goto yy129; - if (yych <= 'O') goto yy57; - goto yy586; - } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy57; - goto yy129; - } else { - if (yych == 'p') goto yy586; - goto yy57; - } - } -yy1050: - YYDEBUG(1050, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '\t') goto yy1052; - goto yy1054; - } else { - if (yych <= '-') goto yy1051; - if (yych <= '.') goto yy731; - if (yych <= '/') goto yy730; - goto yy741; - } - } else { - if (yych <= 'q') { - if (yych == 'n') goto yy470; - goto yy1054; - } else { - if (yych <= 'r') goto yy471; - if (yych <= 's') goto yy464; - if (yych <= 't') goto yy468; - goto yy1054; - } - } -yy1051: - YYDEBUG(1051, *YYCURSOR); - yych = *++YYCURSOR; - YYDEBUG(-1, yych); - switch (yych) { - case '0': goto yy1055; - case '1': goto yy1056; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy618; - case 'A': - case 'a': goto yy622; - case 'D': - case 'd': goto yy626; - case 'F': - case 'f': goto yy620; - case 'J': - case 'j': goto yy619; - case 'M': - case 'm': goto yy621; - case 'N': - case 'n': goto yy625; - case 'O': - case 'o': goto yy624; - case 'S': - case 's': goto yy623; - default: goto yy578; - } -yy1052: - YYDEBUG(1052, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy1054; - if (yych <= '0') goto yy736; - if (yych <= '1') goto yy737; - if (yych <= '9') goto yy738; - goto yy1054; -yy1053: - YYDEBUG(1053, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); - yych = *YYCURSOR; -yy1054: - YYDEBUG(1054, *YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': - case ' ': goto yy1053; - case '-': - case '.': goto yy577; - case 'A': - case 'a': goto yy574; - case 'D': - case 'd': goto yy466; - case 'F': - case 'f': goto yy467; - case 'H': - case 'h': goto yy64; - case 'I': goto yy475; - case 'J': - case 'j': goto yy479; - case 'M': - case 'm': goto yy465; - case 'N': - case 'n': goto yy482; - case 'O': - case 'o': goto yy481; - case 'S': - case 's': goto yy463; - case 'T': - case 't': goto yy69; - case 'V': goto yy477; - case 'W': - case 'w': goto yy68; - case 'X': goto yy478; - case 'Y': - case 'y': goto yy67; - default: goto yy57; - } -yy1055: - YYDEBUG(1055, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy655; - goto yy602; - } else { - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy1057; - goto yy57; - } -yy1056: - YYDEBUG(1056, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy655; - goto yy602; - } else { - if (yych <= '/') goto yy57; - if (yych >= '3') goto yy57; - } -yy1057: - YYDEBUG(1057, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy1058; - if (yych <= '.') goto yy602; - goto yy57; -yy1058: - YYDEBUG(1058, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy57; - if (yych >= '1') goto yy1060; - } else { - if (yych <= '3') goto yy1061; - if (yych <= '9') goto yy659; - goto yy57; - } - YYDEBUG(1059, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy1062; - if (yych <= 'm') goto yy657; - goto yy661; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; - } - } -yy1060: - YYDEBUG(1060, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy1062; - if (yych <= 'm') goto yy657; - goto yy661; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; - } - } -yy1061: - YYDEBUG(1061, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '1') { - if (yych <= '/') goto yy657; - } else { - if (yych <= '9') goto yy604; - if (yych <= 'm') goto yy657; - goto yy661; - } - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; - } - } -yy1062: - YYDEBUG(1062, *YYCURSOR); - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy764; - if (yych <= '9') goto yy605; - if (yych <= 'm') goto yy764; - goto yy661; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy764; - goto yy662; - } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy764; - } - } -yy1063: - YYDEBUG(1063, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= '-') { - if (yych == '\t') goto yy1052; - if (yych <= ',') goto yy1054; - goto yy1051; - } else { - if (yych <= '.') goto yy1064; - if (yych <= '/') goto yy730; - if (yych <= '5') goto yy1066; - goto yy741; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy1065; - if (yych == 'n') goto yy470; - goto yy1054; - } else { - if (yych <= 'r') goto yy471; - if (yych <= 's') goto yy464; - if (yych <= 't') goto yy468; - goto yy1054; - } - } -yy1064: - YYDEBUG(1064, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '1') { - if (yych <= '/') goto yy578; - if (yych <= '0') goto yy1088; - goto yy1089; - } else { - if (yych <= '5') goto yy1090; - if (yych <= '9') goto yy1091; - goto yy578; - } -yy1065: - YYDEBUG(1065, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy1083; - if (yych <= '9') goto yy1084; - goto yy57; -yy1066: - YYDEBUG(1066, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy785; - if (yych <= '/') goto yy61; - if (yych >= ':') goto yy61; - YYDEBUG(1067, *YYCURSOR); - yyaccept = 24; - yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': - case ' ': - case 'A': - case 'D': - case 'F': - case 'H': - case 'I': - case 'J': - case 'M': - case 'N': - case 'O': - case 'S': - case 'T': - case 'V': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'n': - case 'o': - case 's': - case 't': - case 'w': - case 'y': goto yy791; - case '-': goto yy788; - case '.': goto yy792; - case '/': goto yy789; - case '0': goto yy1069; - case '1': goto yy1070; - case '2': goto yy1071; - case '3': goto yy1072; - case '4': - case '5': goto yy1073; - case '6': goto yy1074; - case '7': - case '8': - case '9': goto yy55; - case ':': goto yy807; - case 'W': goto yy810; - default: goto yy1068; - } -yy1068: - YYDEBUG(1068, *YYCURSOR); -#line 1199 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("gnunocolon"); - TIMELIB_INIT; - switch (s->time->have_time) { - case 0: - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - s->time->s = 0; - break; - case 1: - s->time->y = timelib_get_nr((char **) &ptr, 4); - break; - default: - TIMELIB_DEINIT; - add_error(s, "Double time specification"); - return TIMELIB_ERROR; - } - s->time->have_time++; - TIMELIB_DEINIT; - return TIMELIB_GNU_NOCOLON; - } -#line 15728 "ext/date/lib/parse_date.c" -yy1069: - YYDEBUG(1069, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '0') goto yy1081; - if (yych <= '9') goto yy1082; - goto yy61; -yy1070: - YYDEBUG(1070, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '2') goto yy1080; - if (yych <= '9') goto yy1079; - goto yy61; -yy1071: - YYDEBUG(1071, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy1079; - goto yy61; -yy1072: - YYDEBUG(1072, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '5') goto yy1077; - if (yych <= '6') goto yy1078; - if (yych <= '9') goto yy1075; - goto yy61; -yy1073: - YYDEBUG(1073, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy1075; - goto yy61; -yy1074: - YYDEBUG(1074, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '0') goto yy1075; - if (yych <= '9') goto yy55; - goto yy61; -yy1075: - YYDEBUG(1075, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy55; - } - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych >= ' ') goto yy61; - } else { - if (yych == 'D') goto yy61; - if (yych >= 'F') goto yy61; - } - } else { - if (yych <= 'M') { - if (yych == 'H') goto yy61; - if (yych >= 'M') goto yy61; - } else { - if (yych <= 'R') goto yy1076; - if (yych <= 'T') goto yy61; - if (yych >= 'W') goto yy61; - } - } - } else { - if (yych <= 'h') { - if (yych <= 'd') { - if (yych == 'Y') goto yy61; - if (yych >= 'd') goto yy61; - } else { - if (yych == 'f') goto yy61; - if (yych >= 'h') goto yy61; - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych >= 's') goto yy61; - } else { - if (yych <= 'w') { - if (yych >= 'w') goto yy61; - } else { - if (yych == 'y') goto yy61; - } - } - } - } -yy1076: - YYDEBUG(1076, *YYCURSOR); -#line 1245 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("iso8601nocolon"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr != '\0') { - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); - if (tz_not_found) { - add_error(s, "The timezone could not be found in the database"); - } - } - TIMELIB_DEINIT; - return TIMELIB_ISO_NOCOLON; - } -#line 15839 "ext/date/lib/parse_date.c" -yy1077: - YYDEBUG(1077, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy1076; - goto yy61; - } else { - if (yych <= '/') goto yy1076; - if (yych <= '9') goto yy821; - if (yych <= 'C') goto yy1076; - goto yy61; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy1076; - goto yy61; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy1076; - goto yy61; - } else { - if (yych <= 'R') goto yy1076; - if (yych <= 'T') goto yy61; - goto yy1076; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy1076; - if (yych <= 'Y') goto yy61; - goto yy1076; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy1076; - } else { - if (yych == 'g') goto yy1076; - goto yy61; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy1076; - goto yy61; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy1076; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy1076; - } - } - } - } -yy1078: - YYDEBUG(1078, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy1076; - goto yy61; - } else { - if (yych <= '6') { - if (yych <= '/') goto yy1076; - goto yy821; - } else { - if (yych <= '9') goto yy55; - if (yych <= 'C') goto yy1076; - goto yy61; - } - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy1076; - goto yy61; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy1076; - goto yy61; - } else { - if (yych <= 'R') goto yy1076; - if (yych <= 'T') goto yy61; - goto yy1076; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy1076; - if (yych <= 'Y') goto yy61; - goto yy1076; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy1076; - } else { - if (yych == 'g') goto yy1076; - goto yy61; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy1076; - goto yy61; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy1076; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy1076; - } - } - } - } -yy1079: - YYDEBUG(1079, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy1076; - goto yy61; - } else { - if (yych <= '/') goto yy1076; - if (yych <= '9') goto yy821; - if (yych <= 'C') goto yy1076; - goto yy61; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy1076; - goto yy61; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy1076; - goto yy61; - } else { - if (yych <= 'R') goto yy1076; - if (yych <= 'T') goto yy61; - goto yy1076; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy1076; - if (yych <= 'Y') goto yy61; - goto yy1076; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy1076; - } else { - if (yych == 'g') goto yy1076; - goto yy61; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy1076; - goto yy61; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy1076; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy1076; - } - } - } - } -yy1080: - YYDEBUG(1080, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '9') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy1076; - goto yy61; - } else { - if (yych <= '0') { - if (yych <= '/') goto yy1076; - goto yy845; - } else { - if (yych <= '2') goto yy846; - if (yych <= '3') goto yy847; - goto yy821; - } - } - } else { - if (yych <= 'G') { - if (yych <= 'D') { - if (yych <= 'C') goto yy1076; - goto yy61; - } else { - if (yych == 'F') goto yy61; - goto yy1076; - } - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy61; - goto yy1076; - } else { - if (yych <= 'M') goto yy61; - if (yych <= 'R') goto yy1076; - goto yy61; - } - } - } - } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy61; - if (yych <= 'X') goto yy1076; - goto yy61; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy1076; - goto yy61; - } else { - if (yych == 'f') goto yy61; - goto yy1076; - } - } - } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy61; - goto yy1076; - } else { - if (yych <= 'm') goto yy61; - if (yych <= 'r') goto yy1076; - goto yy61; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy1076; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy1076; - } - } - } - } -yy1081: - YYDEBUG(1081, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '9') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy1076; - goto yy61; - } else { - if (yych <= '0') { - if (yych <= '/') goto yy1076; - goto yy877; - } else { - if (yych <= '2') goto yy846; - if (yych <= '3') goto yy847; - goto yy821; - } - } - } else { - if (yych <= 'G') { - if (yych <= 'D') { - if (yych <= 'C') goto yy1076; - goto yy61; - } else { - if (yych == 'F') goto yy61; - goto yy1076; - } - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy61; - goto yy1076; - } else { - if (yych <= 'M') goto yy61; - if (yych <= 'R') goto yy1076; - goto yy61; - } - } - } - } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy61; - if (yych <= 'X') goto yy1076; - goto yy61; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy1076; - goto yy61; - } else { - if (yych == 'f') goto yy61; - goto yy1076; - } - } - } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy61; - goto yy1076; - } else { - if (yych <= 'm') goto yy61; - if (yych <= 'r') goto yy1076; - goto yy61; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy1076; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy1076; - } - } - } - } -yy1082: - YYDEBUG(1082, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '9') { - if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy1076; - goto yy61; - } else { - if (yych <= '0') { - if (yych <= '/') goto yy1076; - goto yy845; - } else { - if (yych <= '2') goto yy846; - if (yych <= '3') goto yy847; - goto yy821; - } - } - } else { - if (yych <= 'G') { - if (yych <= 'D') { - if (yych <= 'C') goto yy1076; - goto yy61; - } else { - if (yych == 'F') goto yy61; - goto yy1076; - } - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy61; - goto yy1076; - } else { - if (yych <= 'M') goto yy61; - if (yych <= 'R') goto yy1076; - goto yy61; - } - } - } - } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy61; - if (yych <= 'X') goto yy1076; - goto yy61; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy1076; - goto yy61; - } else { - if (yych == 'f') goto yy61; - goto yy1076; - } - } - } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy61; - goto yy1076; - } else { - if (yych <= 'm') goto yy61; - if (yych <= 'r') goto yy1076; - goto yy61; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy1076; - goto yy61; - } else { - if (yych == 'y') goto yy61; - goto yy1076; - } - } - } - } -yy1083: - YYDEBUG(1083, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy1085; - goto yy491; - } else { - if (yych <= '9') goto yy1084; - if (yych <= ':') goto yy1085; - goto yy491; - } -yy1084: - YYDEBUG(1084, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy1085; - if (yych != ':') goto yy491; -yy1085: - YYDEBUG(1085, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy1086; - if (yych <= '6') goto yy1087; - if (yych <= '9') goto yy496; - goto yy57; -yy1086: - YYDEBUG(1086, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy496; - goto yy491; -yy1087: - YYDEBUG(1087, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych == '0') goto yy496; - goto yy491; -yy1088: - YYDEBUG(1088, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - goto yy1092; - } else { - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy1091; - if (yych <= ':') goto yy1085; - goto yy491; - } -yy1089: - YYDEBUG(1089, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - if (yych <= '.') goto yy1092; - goto yy491; - } else { - if (yych <= '2') goto yy1091; - if (yych <= '9') goto yy1084; - if (yych <= ':') goto yy1085; - goto yy491; - } -yy1090: - YYDEBUG(1090, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - goto yy1092; - } else { - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy1084; - if (yych <= ':') goto yy1085; - goto yy491; - } -yy1091: - YYDEBUG(1091, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - } else { - if (yych == ':') goto yy1085; - goto yy491; - } -yy1092: - YYDEBUG(1092, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy1093; - if (yych <= '6') goto yy1094; - if (yych <= '9') goto yy610; - goto yy57; -yy1093: - YYDEBUG(1093, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy1095; - goto yy491; -yy1094: - YYDEBUG(1094, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy497; - goto yy491; - } else { - if (yych <= '0') goto yy1095; - if (yych <= '9') goto yy611; - goto yy491; - } -yy1095: - YYDEBUG(1095, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy605; - goto yy491; -yy1096: - YYDEBUG(1096, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= '-') { - if (yych == '\t') goto yy460; - if (yych <= ',') goto yy462; - goto yy1051; - } else { - if (yych <= '.') goto yy474; - if (yych <= '/') goto yy472; - if (yych <= '5') goto yy1066; - goto yy741; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy483; - if (yych == 'n') goto yy470; - goto yy462; - } else { - if (yych <= 'r') goto yy471; - if (yych <= 's') goto yy464; - if (yych <= 't') goto yy468; - goto yy462; - } - } -yy1097: - YYDEBUG(1097, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= '-') { - if (yych == '\t') goto yy1052; - if (yych <= ',') goto yy1054; - goto yy1051; - } else { - if (yych <= '.') goto yy1064; - if (yych <= '/') goto yy472; - if (yych <= '5') goto yy1066; - goto yy741; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy1065; - if (yych == 'n') goto yy470; - goto yy1054; - } else { - if (yych <= 'r') goto yy471; - if (yych <= 's') goto yy464; - if (yych <= 't') goto yy468; - goto yy1054; - } - } -yy1098: - YYDEBUG(1098, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy142; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'e') goto yy1099; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1099: - YYDEBUG(1099, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'V') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'U') goto yy143; - } - } else { - if (yych <= 'u') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'v') goto yy1100; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1100: - YYDEBUG(1100, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'I') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'H') goto yy144; - } - } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'i') goto yy1101; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1101: - YYDEBUG(1101, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'N') goto yy145; - } - } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'o') goto yy1102; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1102: - YYDEBUG(1102, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'U') goto yy1103; - if (yych != 'u') goto yy4; - } -yy1103: - YYDEBUG(1103, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy1104; - if (yych != 's') goto yy57; -yy1104: - YYDEBUG(1104, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\t') goto yy1105; - if (yych != ' ') goto yy57; -yy1105: - YYDEBUG(1105, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy1106: - YYDEBUG(1106, *YYCURSOR); - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy1105; - if (yych <= 0x1F) goto yy57; - goto yy1105; - } else { - if (yych == 'D') goto yy1110; - if (yych <= 'E') goto yy57; - goto yy1111; - } - } else { - if (yych <= 'M') { - if (yych == 'H') goto yy1109; - if (yych <= 'L') goto yy57; - goto yy1108; - } else { - if (yych <= 'S') { - if (yych <= 'R') goto yy57; - } else { - if (yych <= 'T') goto yy1114; - if (yych <= 'V') goto yy57; - goto yy1113; - } - } - } - } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy1112; - if (yych <= 'c') goto yy57; - goto yy1110; - } else { - if (yych <= 'f') { - if (yych <= 'e') goto yy57; - goto yy1111; - } else { - if (yych == 'h') goto yy1109; - goto yy57; - } - } - } else { - if (yych <= 't') { - if (yych <= 'm') goto yy1108; - if (yych <= 'r') goto yy57; - if (yych >= 't') goto yy1114; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy57; - goto yy1113; - } else { - if (yych == 'y') goto yy1112; - goto yy57; - } - } - } - } -yy1107: - YYDEBUG(1107, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'A') goto yy1179; - goto yy57; - } else { - if (yych <= 'E') goto yy1180; - if (yych <= 'T') goto yy57; - goto yy1178; - } - } else { - if (yych <= 'd') { - if (yych == 'a') goto yy1179; - goto yy57; - } else { - if (yych <= 'e') goto yy1180; - if (yych == 'u') goto yy1178; - goto yy57; - } - } -yy1108: - YYDEBUG(1108, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych == 'I') goto yy1170; - if (yych <= 'N') goto yy57; - goto yy1169; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy57; - goto yy1170; - } else { - if (yych == 'o') goto yy1169; - goto yy57; - } - } -yy1109: - YYDEBUG(1109, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy1167; - if (yych == 'o') goto yy1167; - goto yy57; -yy1110: - YYDEBUG(1110, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1166; - if (yych == 'a') goto yy1166; - goto yy57; -yy1111: - YYDEBUG(1111, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych == 'O') goto yy1151; - if (yych <= 'Q') goto yy57; - goto yy1150; - } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy57; - goto yy1151; - } else { - if (yych == 'r') goto yy1150; - goto yy57; - } - } -yy1112: - YYDEBUG(1112, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1147; - if (yych == 'e') goto yy1147; - goto yy57; -yy1113: - YYDEBUG(1113, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1133; - if (yych == 'e') goto yy1133; - goto yy57; -yy1114: - YYDEBUG(1114, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'H') goto yy1115; - if (yych <= 'T') goto yy57; - goto yy1116; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy57; - } else { - if (yych == 'u') goto yy1116; - goto yy57; - } - } -yy1115: - YYDEBUG(1115, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy1128; - if (yych == 'u') goto yy1128; - goto yy57; -yy1116: - YYDEBUG(1116, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1117; - if (yych != 'e') goto yy57; -yy1117: - YYDEBUG(1117, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych >= ' ') goto yy1119; - } else { - if (yych <= 'S') { - if (yych >= 'S') goto yy1121; - } else { - if (yych == 's') goto yy1121; - } - } -yy1118: - YYDEBUG(1118, *YYCURSOR); -#line 1629 "ext/date/lib/parse_date.re" - { - timelib_sll i; - int behavior = 0; - DEBUG_OUTPUT("relativetext"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - - while(*ptr) { - i = timelib_get_relative_text((char **) &ptr, &behavior); - timelib_eat_spaces((char **) &ptr); - timelib_set_relative((char **) &ptr, i, behavior, s); - } - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 16753 "ext/date/lib/parse_date.c" -yy1119: - YYDEBUG(1119, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - YYDEBUG(1120, *YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych <= 0x1F) goto yy57; - goto yy1119; - } else { - if (yych <= 'O') { - if (yych <= 'N') goto yy57; - goto yy1125; - } else { - if (yych == 'o') goto yy1125; - goto yy57; - } - } -yy1121: - YYDEBUG(1121, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy1122; - if (yych != 'd') goto yy57; -yy1122: - YYDEBUG(1122, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1123; - if (yych != 'a') goto yy57; -yy1123: - YYDEBUG(1123, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych != 'y') goto yy57; -yy1124: - YYDEBUG(1124, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '\t') goto yy1119; - if (yych == ' ') goto yy1119; - goto yy1118; -yy1125: - YYDEBUG(1125, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy1126; - if (yych != 'f') goto yy57; -yy1126: - YYDEBUG(1126, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(1127, *YYCURSOR); -#line 1114 "ext/date/lib/parse_date.re" - { - timelib_sll i; - int behavior = 0; - DEBUG_OUTPUT("weekdayof"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_HAVE_SPECIAL_RELATIVE(); - - i = timelib_get_relative_text((char **) &ptr, &behavior); - timelib_eat_spaces((char **) &ptr); - if (i > 0) { /* first, second... etc */ - s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH; - timelib_set_relative((char **) &ptr, i, 1, s); - } else { /* last */ - s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH; - timelib_set_relative((char **) &ptr, i, behavior, s); - } - TIMELIB_DEINIT; - return TIMELIB_WEEK_DAY_OF_MONTH; - } -#line 16825 "ext/date/lib/parse_date.c" -yy1128: - YYDEBUG(1128, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych <= 0x1F) goto yy1118; - goto yy1119; - } else { - if (yych <= 'R') { - if (yych <= 'Q') goto yy1118; - } else { - if (yych != 'r') goto yy1118; - } - } - YYDEBUG(1129, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy1130; - if (yych != 's') goto yy57; -yy1130: - YYDEBUG(1130, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy1131; - if (yych != 'd') goto yy57; -yy1131: - YYDEBUG(1131, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1132; - if (yych != 'a') goto yy57; -yy1132: - YYDEBUG(1132, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych == 'y') goto yy1124; - goto yy57; -yy1133: - YYDEBUG(1133, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= 'C') goto yy57; - if (yych <= 'D') goto yy1135; - } else { - if (yych <= 'c') goto yy57; - if (yych <= 'd') goto yy1135; - if (yych >= 'f') goto yy57; - } - YYDEBUG(1134, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'K') goto yy1141; - if (yych == 'k') goto yy1141; - goto yy57; -yy1135: - YYDEBUG(1135, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych <= 0x1F) goto yy1118; - goto yy1119; - } else { - if (yych <= 'N') { - if (yych <= 'M') goto yy1118; - } else { - if (yych != 'n') goto yy1118; - } - } - YYDEBUG(1136, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1137; - if (yych != 'e') goto yy57; -yy1137: - YYDEBUG(1137, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy1138; - if (yych != 's') goto yy57; -yy1138: - YYDEBUG(1138, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy1139; - if (yych != 'd') goto yy57; -yy1139: - YYDEBUG(1139, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1140; - if (yych != 'a') goto yy57; -yy1140: - YYDEBUG(1140, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych == 'y') goto yy1124; - goto yy57; -yy1141: - YYDEBUG(1141, *YYCURSOR); - yyaccept = 27; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == 'D') goto yy1144; - if (yych >= 'S') goto yy1143; - } else { - if (yych <= 'd') { - if (yych >= 'd') goto yy1144; - } else { - if (yych == 's') goto yy1143; - } - } -yy1142: - YYDEBUG(1142, *YYCURSOR); -#line 1605 "ext/date/lib/parse_date.re" - { - timelib_sll i; - int behavior = 0; - DEBUG_OUTPUT("relativetextweek"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - - while(*ptr) { - i = timelib_get_relative_text((char **) &ptr, &behavior); - timelib_eat_spaces((char **) &ptr); - timelib_set_relative((char **) &ptr, i, behavior, s); - s->time->relative.weekday_behavior = 2; - - /* to handle the format weekday + last/this/next week */ - if (s->time->relative.have_weekday_relative == 0) { - TIMELIB_HAVE_WEEKDAY_RELATIVE(); - s->time->relative.weekday = 1; - } - } - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 16956 "ext/date/lib/parse_date.c" -yy1143: - YYDEBUG(1143, *YYCURSOR); - yych = *++YYCURSOR; - goto yy1118; -yy1144: - YYDEBUG(1144, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1145; - if (yych != 'a') goto yy57; -yy1145: - YYDEBUG(1145, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1146; - if (yych != 'y') goto yy57; -yy1146: - YYDEBUG(1146, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy1143; - if (yych == 's') goto yy1143; - goto yy1118; -yy1147: - YYDEBUG(1147, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1148; - if (yych != 'a') goto yy57; -yy1148: - YYDEBUG(1148, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy1149; - if (yych != 'r') goto yy57; -yy1149: - YYDEBUG(1149, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy1143; - if (yych == 's') goto yy1143; - goto yy1118; -yy1150: - YYDEBUG(1150, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy1163; - if (yych == 'i') goto yy1163; - goto yy57; -yy1151: - YYDEBUG(1151, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy1152; - if (yych != 'r') goto yy57; -yy1152: - YYDEBUG(1152, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1153; - if (yych != 't') goto yy57; -yy1153: - YYDEBUG(1153, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'H') goto yy1155; - if (yych <= 'M') goto yy57; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy57; - goto yy1155; - } else { - if (yych != 'n') goto yy57; - } - } - YYDEBUG(1154, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy1160; - if (yych == 'i') goto yy1160; - goto yy57; -yy1155: - YYDEBUG(1155, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy1156; - if (yych != 'n') goto yy57; -yy1156: - YYDEBUG(1156, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy1157; - if (yych != 'i') goto yy57; -yy1157: - YYDEBUG(1157, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy1158; - if (yych != 'g') goto yy57; -yy1158: - YYDEBUG(1158, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy1159; - if (yych != 'h') goto yy57; -yy1159: - YYDEBUG(1159, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1149; - if (yych == 't') goto yy1149; - goto yy57; -yy1160: - YYDEBUG(1160, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy1161; - if (yych != 'g') goto yy57; -yy1161: - YYDEBUG(1161, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy1162; - if (yych != 'h') goto yy57; -yy1162: - YYDEBUG(1162, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1149; - if (yych == 't') goto yy1149; - goto yy57; -yy1163: - YYDEBUG(1163, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych <= 0x1F) goto yy1118; - goto yy1119; - } else { - if (yych <= 'D') { - if (yych <= 'C') goto yy1118; - } else { - if (yych != 'd') goto yy1118; - } - } - YYDEBUG(1164, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1165; - if (yych != 'a') goto yy57; -yy1165: - YYDEBUG(1165, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych == 'y') goto yy1124; - goto yy57; -yy1166: - YYDEBUG(1166, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1149; - if (yych == 'y') goto yy1149; - goto yy57; -yy1167: - YYDEBUG(1167, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy1168; - if (yych != 'u') goto yy57; -yy1168: - YYDEBUG(1168, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy1149; - if (yych == 'r') goto yy1149; - goto yy57; -yy1169: - YYDEBUG(1169, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy1174; - if (yych == 'n') goto yy1174; - goto yy57; -yy1170: - YYDEBUG(1170, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy1171; - if (yych != 'n') goto yy57; -yy1171: - YYDEBUG(1171, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych == 'S') goto yy1143; - if (yych <= 'T') goto yy1118; - } else { - if (yych <= 's') { - if (yych <= 'r') goto yy1118; - goto yy1143; - } else { - if (yych != 'u') goto yy1118; - } - } - YYDEBUG(1172, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1173; - if (yych != 't') goto yy57; -yy1173: - YYDEBUG(1173, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1149; - if (yych == 'e') goto yy1149; - goto yy57; -yy1174: - YYDEBUG(1174, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1119; - goto yy1118; - } else { - if (yych <= ' ') goto yy1119; - if (yych <= 'C') goto yy1118; - } - } else { - if (yych <= 'c') { - if (yych == 'T') goto yy1176; - goto yy1118; - } else { - if (yych <= 'd') goto yy1175; - if (yych == 't') goto yy1176; - goto yy1118; - } - } -yy1175: - YYDEBUG(1175, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1177; - if (yych == 'a') goto yy1177; - goto yy57; -yy1176: - YYDEBUG(1176, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy1149; - if (yych == 'h') goto yy1149; - goto yy57; -yy1177: - YYDEBUG(1177, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych == 'y') goto yy1124; - goto yy57; -yy1178: - YYDEBUG(1178, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy1189; - if (yych == 'n') goto yy1189; - goto yy57; -yy1179: - YYDEBUG(1179, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1184; - if (yych == 't') goto yy1184; - goto yy57; -yy1180: - YYDEBUG(1180, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy1181; - if (yych != 'c') goto yy57; -yy1181: - YYDEBUG(1181, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == 'O') goto yy1182; - if (yych <= 'R') goto yy1118; - goto yy1143; - } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy1118; - } else { - if (yych == 's') goto yy1143; - goto yy1118; - } - } -yy1182: - YYDEBUG(1182, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy1183; - if (yych != 'n') goto yy57; -yy1183: - YYDEBUG(1183, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy1149; - if (yych == 'd') goto yy1149; - goto yy57; -yy1184: - YYDEBUG(1184, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych <= 0x1F) goto yy1118; - goto yy1119; - } else { - if (yych <= 'U') { - if (yych <= 'T') goto yy1118; - } else { - if (yych != 'u') goto yy1118; - } - } - YYDEBUG(1185, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy1186; - if (yych != 'r') goto yy57; -yy1186: - YYDEBUG(1186, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy1187; - if (yych != 'd') goto yy57; -yy1187: - YYDEBUG(1187, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1188; - if (yych != 'a') goto yy57; -yy1188: - YYDEBUG(1188, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych == 'y') goto yy1124; - goto yy57; -yy1189: - YYDEBUG(1189, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych <= 0x1F) goto yy1118; - goto yy1119; - } else { - if (yych <= 'D') { - if (yych <= 'C') goto yy1118; - } else { - if (yych != 'd') goto yy1118; - } - } - YYDEBUG(1190, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1191; - if (yych != 'a') goto yy57; -yy1191: - YYDEBUG(1191, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych == 'y') goto yy1124; - goto yy57; -yy1192: - YYDEBUG(1192, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1099; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'e') goto yy1193; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1193: - YYDEBUG(1193, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'V') goto yy1100; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'u') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'v') goto yy1194; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1194: - YYDEBUG(1194, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'H') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'I') goto yy1101; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'h') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'i') goto yy1195; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1195: - YYDEBUG(1195, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'O') goto yy1102; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'n') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'o') goto yy1196; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1196: - YYDEBUG(1196, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'U') goto yy1103; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'u') goto yy1197; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1197: - YYDEBUG(1197, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy1104; - if (yych != 's') goto yy155; - YYDEBUG(1198, *YYCURSOR); - yych = *++YYCURSOR; - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy57; - goto yy1105; - } else { - if (yych == ' ') goto yy1105; - goto yy57; - } - } else { - if (yych <= '/') { - if (yych == '.') goto yy57; - goto yy148; - } else { - if (yych == '_') goto yy148; - goto yy57; - } - } -yy1199: - YYDEBUG(1199, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'G') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'F') goto yy142; - goto yy1213; - } - } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'g') goto yy1213; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1200: - YYDEBUG(1200, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy142; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'e') goto yy1201; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1201: - YYDEBUG(1201, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'V') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'U') goto yy143; - } - } else { - if (yych <= 'u') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'v') goto yy1202; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1202: - YYDEBUG(1202, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy144; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'e') goto yy1203; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1203: - YYDEBUG(1203, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy145; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'n') goto yy1204; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1204: - YYDEBUG(1204, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'T') goto yy1205; - if (yych != 't') goto yy4; - } -yy1205: - YYDEBUG(1205, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy1206; - if (yych != 'h') goto yy57; -yy1206: - YYDEBUG(1206, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\t') goto yy1207; - if (yych != ' ') goto yy57; -yy1207: - YYDEBUG(1207, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy1208: - YYDEBUG(1208, *YYCURSOR); - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy1207; - if (yych <= 0x1F) goto yy57; - goto yy1207; - } else { - if (yych == 'D') goto yy1110; - if (yych <= 'E') goto yy57; - goto yy1111; - } - } else { - if (yych <= 'M') { - if (yych == 'H') goto yy1109; - if (yych <= 'L') goto yy57; - goto yy1108; - } else { - if (yych <= 'S') { - if (yych <= 'R') goto yy57; - goto yy1107; - } else { - if (yych <= 'T') goto yy1114; - if (yych <= 'V') goto yy57; - } - } - } - } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy1112; - if (yych <= 'c') goto yy57; - goto yy1110; - } else { - if (yych <= 'f') { - if (yych <= 'e') goto yy57; - goto yy1111; - } else { - if (yych == 'h') goto yy1109; - goto yy57; - } - } - } else { - if (yych <= 't') { - if (yych <= 'm') goto yy1108; - if (yych <= 'r') goto yy57; - if (yych <= 's') goto yy1107; - goto yy1114; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy57; - } else { - if (yych == 'y') goto yy1112; - goto yy57; - } - } - } - } - YYDEBUG(1209, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1210; - if (yych != 'e') goto yy57; -yy1210: - YYDEBUG(1210, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= 'C') goto yy57; - if (yych <= 'D') goto yy1135; - } else { - if (yych <= 'c') goto yy57; - if (yych <= 'd') goto yy1135; - if (yych >= 'f') goto yy57; - } - YYDEBUG(1211, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'K') goto yy1212; - if (yych != 'k') goto yy57; -yy1212: - YYDEBUG(1212, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == 'D') goto yy1144; - if (yych <= 'R') goto yy57; - goto yy1143; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy57; - goto yy1144; - } else { - if (yych == 's') goto yy1143; - goto yy57; - } - } -yy1213: - YYDEBUG(1213, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy143; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'h') goto yy1214; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1214: - YYDEBUG(1214, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy144; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 't') goto yy1215; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1215: - YYDEBUG(1215, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1207; - goto yy4; - } else { - if (yych <= ' ') goto yy1207; - if (yych == ')') goto yy140; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych == 'H') goto yy1216; - if (yych <= 'Z') goto yy145; - goto yy4; - } else { - if (yych == 'h') goto yy1216; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1216: - YYDEBUG(1216, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy1207; - goto yy4; - } else { - if (yych <= ' ') goto yy1207; - if (yych == ')') goto yy140; - goto yy4; - } -yy1217: - YYDEBUG(1217, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'F') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'G') goto yy1213; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'f') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'g') goto yy1225; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1218: - YYDEBUG(1218, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1201; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'e') goto yy1219; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1219: - YYDEBUG(1219, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'V') goto yy1202; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'u') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'v') goto yy1220; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1220: - YYDEBUG(1220, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1203; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'e') goto yy1221; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1221: - YYDEBUG(1221, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1204; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'n') goto yy1222; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1222: - YYDEBUG(1222, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'T') goto yy1205; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 't') goto yy1223; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1223: - YYDEBUG(1223, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy1206; - if (yych != 'h') goto yy155; -yy1224: - YYDEBUG(1224, *YYCURSOR); - yych = *++YYCURSOR; - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy57; - goto yy1207; - } else { - if (yych == ' ') goto yy1207; - goto yy57; - } - } else { - if (yych <= '/') { - if (yych == '.') goto yy57; - goto yy148; - } else { - if (yych == '_') goto yy148; - goto yy57; - } - } -yy1225: - YYDEBUG(1225, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy1214; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'h') goto yy1226; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1226: - YYDEBUG(1226, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1215; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 't') goto yy1227; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1227: - YYDEBUG(1227, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy4; - goto yy1207; - } else { - if (yych == ' ') goto yy1207; - goto yy4; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - goto yy148; - } - } - } else { - if (yych <= '^') { - if (yych <= 'G') { - if (yych <= '@') goto yy4; - goto yy145; - } else { - if (yych <= 'H') goto yy1216; - if (yych <= 'Z') goto yy145; - goto yy4; - } - } else { - if (yych <= 'g') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'h') goto yy1228; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1228: - YYDEBUG(1228, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= ')') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1207; - goto yy4; - } else { - if (yych <= ' ') goto yy1207; - if (yych <= '(') goto yy4; - goto yy140; - } - } else { - if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy4; - } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; - goto yy4; - } - } -yy1229: - YYDEBUG(1229, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'V') { - if (yych <= 'B') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy142; - } else { - if (yych <= 'O') { - if (yych <= 'C') goto yy1245; - goto yy142; - } else { - if (yych <= 'P') goto yy1247; - if (yych <= 'U') goto yy142; - goto yy1246; - } - } - } else { - if (yych <= 'o') { - if (yych <= '`') { - if (yych <= 'Z') goto yy142; - goto yy4; - } else { - if (yych == 'c') goto yy1245; - goto yy142; - } - } else { - if (yych <= 'u') { - if (yych <= 'p') goto yy1247; - goto yy142; - } else { - if (yych <= 'v') goto yy1246; - if (yych <= 'z') goto yy142; - goto yy4; - } - } - } -yy1230: - YYDEBUG(1230, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy142; - goto yy1240; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 't') goto yy1240; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1231: - YYDEBUG(1231, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'W') goto yy142; - goto yy1237; - } - } else { - if (yych <= 'w') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'x') goto yy1237; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1232: - YYDEBUG(1232, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy142; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'n') goto yy1233; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1233: - YYDEBUG(1233, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy167; - goto yy140; - } else { - if (yych <= '@') goto yy167; - if (yych <= 'C') goto yy143; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy167; - goto yy143; - } else { - if (yych <= 'd') goto yy1234; - if (yych <= 'z') goto yy143; - goto yy167; - } - } -yy1234: - YYDEBUG(1234, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy144; - goto yy4; - } else { - if (yych <= 'a') goto yy1235; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1235: - YYDEBUG(1235, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'X') goto yy145; - } - } else { - if (yych <= 'x') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'y') goto yy1236; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1236: - YYDEBUG(1236, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == ')') goto yy140; - goto yy167; -yy1237: - YYDEBUG(1237, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 't') goto yy1238; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1238: - YYDEBUG(1238, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy144; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'h') goto yy1239; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1239: - YYDEBUG(1239, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy4; - goto yy1207; - } else { - if (yych == ' ') goto yy1207; - goto yy4; - } - } else { - if (yych <= 'Z') { - if (yych <= ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy145; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1240: - YYDEBUG(1240, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= ')') { - if (yych <= '(') goto yy167; - goto yy140; - } else { - if (yych <= '@') goto yy167; - if (yych <= 'T') goto yy143; - } - } else { - if (yych <= 't') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy167; - goto yy143; - } else { - if (yych <= 'u') goto yy1241; - if (yych <= 'z') goto yy143; - goto yy167; - } - } -yy1241: - YYDEBUG(1241, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy144; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'r') goto yy1242; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1242: - YYDEBUG(1242, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy145; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'd') goto yy1243; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1243: - YYDEBUG(1243, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'A') goto yy1244; - if (yych != 'a') goto yy4; - } -yy1244: - YYDEBUG(1244, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy173; - if (yych == 'y') goto yy173; - goto yy57; -yy1245: - YYDEBUG(1245, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'N') goto yy143; - goto yy1256; - } - } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'o') goto yy1256; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1246: - YYDEBUG(1246, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy143; - goto yy1253; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'e') goto yy1253; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1247: - YYDEBUG(1247, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; - } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych != 'T') goto yy143; - } - } else { - if (yych <= 's') { - if (yych <= '`') goto yy194; - goto yy143; - } else { - if (yych <= 't') goto yy1248; - if (yych <= 'z') goto yy143; - goto yy194; - } - } - } -yy1248: - YYDEBUG(1248, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; - } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych != 'E') goto yy144; - } - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy194; - goto yy144; - } else { - if (yych <= 'e') goto yy1249; - if (yych <= 'z') goto yy144; - goto yy194; - } - } - } -yy1249: - YYDEBUG(1249, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'M') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'L') goto yy145; - } - } else { - if (yych <= 'l') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'm') goto yy1250; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1250: - YYDEBUG(1250, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'B') goto yy1251; - if (yych != 'b') goto yy4; - } -yy1251: - YYDEBUG(1251, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1252; - if (yych != 'e') goto yy57; -yy1252: - YYDEBUG(1252, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy206; - if (yych == 'r') goto yy206; - goto yy57; -yy1253: - YYDEBUG(1253, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy144; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'n') goto yy1254; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1254: - YYDEBUG(1254, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy145; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 't') goto yy1255; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1255: - YYDEBUG(1255, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'H') goto yy1206; - if (yych == 'h') goto yy1206; - goto yy4; - } -yy1256: - YYDEBUG(1256, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy144; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'n') goto yy1257; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1257: - YYDEBUG(1257, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy145; - goto yy1216; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'd') goto yy1216; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1258: - YYDEBUG(1258, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - goto yy148; - } - } else { - if (yych <= 'C') { - if (yych <= '@') goto yy4; - if (yych <= 'B') goto yy142; - goto yy1245; - } else { - if (yych == 'P') goto yy1247; - goto yy142; - } - } - } else { - if (yych <= 'b') { - if (yych <= '^') { - if (yych <= 'V') goto yy1246; - if (yych <= 'Z') goto yy142; - goto yy4; - } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - goto yy147; - } - } else { - if (yych <= 'p') { - if (yych <= 'c') goto yy1274; - if (yych <= 'o') goto yy147; - goto yy1276; - } else { - if (yych == 'v') goto yy1275; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1259: - YYDEBUG(1259, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1240; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 't') goto yy1269; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1260: - YYDEBUG(1260, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'W') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'X') goto yy1237; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'w') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'x') goto yy1266; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1261: - YYDEBUG(1261, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1233; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'n') goto yy1262; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1262: - YYDEBUG(1262, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1234; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy167; - goto yy151; - } else { - if (yych <= 'd') goto yy1263; - if (yych <= 'z') goto yy151; - goto yy167; - } - } - } -yy1263: - YYDEBUG(1263, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1235; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy1264; - if (yych <= 'z') goto yy152; - goto yy4; - } - } -yy1264: - YYDEBUG(1264, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'Y') goto yy1236; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'x') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'y') goto yy1265; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1265: - YYDEBUG(1265, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy167; - goto yy148; - } else { - if (yych == '_') goto yy148; - goto yy167; - } - } -yy1266: - YYDEBUG(1266, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1238; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 't') goto yy1267; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1267: - YYDEBUG(1267, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy1239; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'h') goto yy1268; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1268: - YYDEBUG(1268, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy1207; - if (yych <= 0x1F) goto yy4; - goto yy1207; - } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } - } else { - if (yych <= 'Z') { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1269: - YYDEBUG(1269, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'U') goto yy1241; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; - } else { - if (yych <= 't') { - if (yych <= '`') goto yy167; - goto yy151; - } else { - if (yych <= 'u') goto yy1270; - if (yych <= 'z') goto yy151; - goto yy167; - } - } - } -yy1270: - YYDEBUG(1270, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy1242; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'r') goto yy1271; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1271: - YYDEBUG(1271, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1243; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'd') goto yy1272; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1272: - YYDEBUG(1272, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1244; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy1273; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1273: - YYDEBUG(1273, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy173; - if (yych == 'y') goto yy186; - goto yy155; -yy1274: - YYDEBUG(1274, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'O') goto yy1256; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'n') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'o') goto yy1285; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1275: - YYDEBUG(1275, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1253; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'e') goto yy1282; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1276: - YYDEBUG(1276, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; - } else { - if (yych == '/') goto yy148; - goto yy196; - } - } - } else { - if (yych <= '^') { - if (yych <= 'S') { - if (yych <= '@') goto yy194; - goto yy143; - } else { - if (yych <= 'T') goto yy1248; - if (yych <= 'Z') goto yy143; - goto yy194; - } - } else { - if (yych <= 's') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; - } else { - if (yych <= 't') goto yy1277; - if (yych <= 'z') goto yy151; - goto yy194; - } - } - } -yy1277: - YYDEBUG(1277, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; - } else { - if (yych == '/') goto yy148; - goto yy196; - } - } - } else { - if (yych <= '^') { - if (yych <= 'D') { - if (yych <= '@') goto yy194; - goto yy144; - } else { - if (yych <= 'E') goto yy1249; - if (yych <= 'Z') goto yy144; - goto yy194; - } - } else { - if (yych <= 'd') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy152; - } else { - if (yych <= 'e') goto yy1278; - if (yych <= 'z') goto yy152; - goto yy194; - } - } - } -yy1278: - YYDEBUG(1278, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'M') goto yy1250; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'l') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'm') goto yy1279; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1279: - YYDEBUG(1279, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'B') goto yy1251; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'b') goto yy1280; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1280: - YYDEBUG(1280, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1252; - if (yych != 'e') goto yy155; - YYDEBUG(1281, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy206; - if (yych == 'r') goto yy377; - goto yy155; -yy1282: - YYDEBUG(1282, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1254; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'n') goto yy1283; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1283: - YYDEBUG(1283, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1255; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 't') goto yy1284; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1284: - YYDEBUG(1284, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'H') goto yy1206; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'h') goto yy1224; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1285: - YYDEBUG(1285, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1257; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'n') goto yy1286; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1286: - YYDEBUG(1286, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1216; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'd') goto yy1228; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1287: - YYDEBUG(1287, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'C') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'B') goto yy142; - } - } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'c') goto yy1288; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1288: - YYDEBUG(1288, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'K') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'J') goto yy143; - } - } else { - if (yych <= 'j') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'k') goto yy1289; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1289: - YYDEBUG(1289, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych == ' ') goto yy1290; - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy4; - goto yy144; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1290: - YYDEBUG(1290, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy1291; - if (yych != 'o') goto yy57; -yy1291: - YYDEBUG(1291, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy1292; - if (yych != 'f') goto yy57; -yy1292: - YYDEBUG(1292, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ' ') goto yy57; - YYDEBUG(1293, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy1294; - if (yych <= '2') goto yy1296; - if (yych <= '9') goto yy1297; - goto yy57; -yy1294: - YYDEBUG(1294, *YYCURSOR); - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1298; - if (yych <= '9') goto yy1297; - goto yy1298; -yy1295: - YYDEBUG(1295, *YYCURSOR); -#line 1091 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("backof | frontof"); - TIMELIB_INIT; - TIMELIB_UNHAVE_TIME(); - TIMELIB_HAVE_TIME(); - - if (*ptr == 'b') { - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = 15; - } else { - s->time->h = timelib_get_nr((char **) &ptr, 2) - 1; - s->time->i = 45; - } - if (*ptr != '\0' ) { - timelib_eat_spaces((char **) &ptr); - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - } - - TIMELIB_DEINIT; - return TIMELIB_LF_DAY_OF_MONTH; - } -#line 19655 "ext/date/lib/parse_date.c" -yy1296: - YYDEBUG(1296, *YYCURSOR); - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1298; - if (yych >= '5') goto yy1298; -yy1297: - YYDEBUG(1297, *YYCURSOR); - yyaccept = 28; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; -yy1298: - YYDEBUG(1298, *YYCURSOR); - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1297; - goto yy1295; - } else { - if (yych <= ' ') goto yy1297; - if (yych <= '@') goto yy1295; - } - } else { - if (yych <= '`') { - if (yych != 'P') goto yy1295; - } else { - if (yych <= 'a') goto yy1299; - if (yych != 'p') goto yy1295; - } - } -yy1299: - YYDEBUG(1299, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy57; - } else { - if (yych <= 'M') goto yy1301; - if (yych == 'm') goto yy1301; - goto yy57; - } - YYDEBUG(1300, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy1301; - if (yych != 'm') goto yy57; -yy1301: - YYDEBUG(1301, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1303; - if (yych == '\t') goto yy1303; - goto yy57; - } else { - if (yych <= ' ') goto yy1303; - if (yych != '.') goto yy57; - } - YYDEBUG(1302, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy1303; - if (yych <= 0x08) goto yy57; - } else { - if (yych != ' ') goto yy57; - } -yy1303: - YYDEBUG(1303, *YYCURSOR); - yych = *++YYCURSOR; - goto yy1295; -yy1304: - YYDEBUG(1304, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'B') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'C') goto yy1288; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'b') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'c') goto yy1305; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1305: - YYDEBUG(1305, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'J') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'K') goto yy1289; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'j') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'k') goto yy1306; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1306: - YYDEBUG(1306, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= '(') { - if (yych == ' ') goto yy1290; - goto yy4; - } else { - if (yych <= ')') goto yy140; - if (yych == '-') goto yy148; - goto yy4; - } - } else { - if (yych <= '^') { - if (yych <= '/') goto yy148; - if (yych <= '@') goto yy4; - if (yych <= 'Z') goto yy144; - goto yy4; - } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy152; - goto yy4; - } - } -yy1307: - YYDEBUG(1307, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'R') goto yy142; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 's') goto yy1308; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1308: - YYDEBUG(1308, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 't') goto yy1309; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1309: - YYDEBUG(1309, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy4; - goto yy1105; - } else { - if (yych != ' ') goto yy4; - } - } else { - if (yych <= 'Z') { - if (yych <= ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy144; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1310: - YYDEBUG(1310, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy1311; - if (yych != 'd') goto yy1106; -yy1311: - YYDEBUG(1311, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1312; - if (yych != 'a') goto yy57; -yy1312: - YYDEBUG(1312, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1313; - if (yych != 'y') goto yy57; -yy1313: - YYDEBUG(1313, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych != ' ') goto yy1118; - } else { - if (yych <= 'S') goto yy1143; - if (yych == 's') goto yy1143; - goto yy1118; - } - YYDEBUG(1314, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy1315; - if (yych != 'o') goto yy57; -yy1315: - YYDEBUG(1315, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy1316; - if (yych != 'f') goto yy57; -yy1316: - YYDEBUG(1316, *YYCURSOR); - yych = *++YYCURSOR; - goto yy2; -yy1317: - YYDEBUG(1317, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy1308; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 's') goto yy1318; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1318: - YYDEBUG(1318, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1309; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 't') goto yy1319; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1319: - YYDEBUG(1319, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy1105; - if (yych <= 0x1F) goto yy4; - goto yy1310; - } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } - } else { - if (yych <= 'Z') { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1320: - YYDEBUG(1320, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'B') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'A') goto yy142; - goto yy1356; - } - } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'b') goto yy1356; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1321: - YYDEBUG(1321, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == 'F') goto yy1346; - if (yych <= 'Q') goto yy142; - goto yy1345; - } - } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'e') goto yy142; - goto yy1346; - } else { - if (yych == 'r') goto yy1345; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1322: - YYDEBUG(1322, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'T') goto yy142; - goto yy1342; - } - } else { - if (yych <= 't') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'u') goto yy1342; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1323: - YYDEBUG(1323, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == 'I') goto yy1325; - if (yych <= 'N') goto yy142; - } - } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'h') goto yy142; - goto yy1325; - } else { - if (yych == 'o') goto yy1324; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1324: - YYDEBUG(1324, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy143; - goto yy1328; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'n') goto yy1328; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1325: - YYDEBUG(1325, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy167; - goto yy140; - } else { - if (yych <= '@') goto yy167; - if (yych <= 'C') goto yy143; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy167; - goto yy143; - } else { - if (yych <= 'd') goto yy1326; - if (yych <= 'z') goto yy143; - goto yy167; - } - } -yy1326: - YYDEBUG(1326, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy144; - goto yy4; - } else { - if (yych <= 'a') goto yy1327; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1327: - YYDEBUG(1327, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'X') goto yy145; - goto yy1236; - } - } else { - if (yych <= 'x') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'y') goto yy1236; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1328: - YYDEBUG(1328, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy144; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 't') goto yy1329; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1329: - YYDEBUG(1329, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych == ' ') goto yy1330; - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy4; - goto yy145; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1330: - YYDEBUG(1330, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy1331; - if (yych != 'o') goto yy57; -yy1331: - YYDEBUG(1331, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy1332; - if (yych != 'f') goto yy57; -yy1332: - YYDEBUG(1332, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ' ') goto yy57; - YYDEBUG(1333, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy1334; - if (yych <= '2') goto yy1335; - if (yych <= '9') goto yy1336; - goto yy57; -yy1334: - YYDEBUG(1334, *YYCURSOR); - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1337; - if (yych <= '9') goto yy1336; - goto yy1337; -yy1335: - YYDEBUG(1335, *YYCURSOR); - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1337; - if (yych >= '5') goto yy1337; -yy1336: - YYDEBUG(1336, *YYCURSOR); - yyaccept = 28; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; -yy1337: - YYDEBUG(1337, *YYCURSOR); - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1336; - goto yy1295; - } else { - if (yych <= ' ') goto yy1336; - if (yych <= '@') goto yy1295; - } - } else { - if (yych <= '`') { - if (yych != 'P') goto yy1295; - } else { - if (yych <= 'a') goto yy1338; - if (yych != 'p') goto yy1295; - } - } -yy1338: - YYDEBUG(1338, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy57; - } else { - if (yych <= 'M') goto yy1340; - if (yych == 'm') goto yy1340; - goto yy57; - } - YYDEBUG(1339, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy1340; - if (yych != 'm') goto yy57; -yy1340: - YYDEBUG(1340, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1303; - if (yych == '\t') goto yy1303; - goto yy57; - } else { - if (yych <= ' ') goto yy1303; - if (yych != '.') goto yy57; - } - YYDEBUG(1341, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy1303; - if (yych <= 0x08) goto yy57; - goto yy1303; - } else { - if (yych == ' ') goto yy1303; - goto yy57; - } -yy1342: - YYDEBUG(1342, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy143; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'r') goto yy1343; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1343: - YYDEBUG(1343, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy144; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 't') goto yy1344; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1344: - YYDEBUG(1344, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy145; - goto yy1216; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'h') goto yy1216; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1345: - YYDEBUG(1345, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'R') goto yy143; - goto yy1348; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 's') goto yy1348; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1346: - YYDEBUG(1346, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 't') goto yy1347; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1347: - YYDEBUG(1347, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy144; - goto yy1239; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'h') goto yy1239; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1348: - YYDEBUG(1348, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy144; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 't') goto yy1349; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1349: - YYDEBUG(1349, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy4; - goto yy1207; - } else { - if (yych != ' ') goto yy4; - } - } else { - if (yych <= 'Z') { - if (yych <= ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy145; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1350: - YYDEBUG(1350, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy1351; - if (yych != 'd') goto yy1208; -yy1351: - YYDEBUG(1351, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1352; - if (yych != 'a') goto yy57; -yy1352: - YYDEBUG(1352, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1353; - if (yych != 'y') goto yy57; -yy1353: - YYDEBUG(1353, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych != ' ') goto yy1118; - } else { - if (yych <= 'S') goto yy1143; - if (yych == 's') goto yy1143; - goto yy1118; - } - YYDEBUG(1354, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy1355; - if (yych != 'o') goto yy57; -yy1355: - YYDEBUG(1355, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy1316; - if (yych == 'f') goto yy1316; - goto yy57; -yy1356: - YYDEBUG(1356, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; - } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych != 'R') goto yy143; - } - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy194; - goto yy143; - } else { - if (yych <= 'r') goto yy1357; - if (yych <= 'z') goto yy143; - goto yy194; - } - } - } -yy1357: - YYDEBUG(1357, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'T') goto yy144; - } - } else { - if (yych <= 't') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'u') goto yy1358; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1358: - YYDEBUG(1358, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy145; - goto yy4; - } else { - if (yych <= 'a') goto yy1359; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1359: - YYDEBUG(1359, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'R') goto yy1360; - if (yych != 'r') goto yy4; - } -yy1360: - YYDEBUG(1360, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy206; - if (yych == 'y') goto yy206; - goto yy57; -yy1361: - YYDEBUG(1361, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'B') goto yy1356; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'b') goto yy1379; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1362: - YYDEBUG(1362, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych == '-') goto yy148; - goto yy4; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy148; - goto yy4; - } else { - if (yych == 'F') goto yy1346; - goto yy142; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'R') goto yy1345; - goto yy142; - } else { - if (yych == '_') goto yy148; - goto yy4; - } - } else { - if (yych <= 'q') { - if (yych == 'f') goto yy1375; - goto yy147; - } else { - if (yych <= 'r') goto yy1374; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1363: - YYDEBUG(1363, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'U') goto yy1342; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 't') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'u') goto yy1371; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1364: - YYDEBUG(1364, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych == '-') goto yy148; - goto yy4; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy148; - goto yy4; - } else { - if (yych == 'I') goto yy1325; - goto yy142; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'O') goto yy1324; - goto yy142; - } else { - if (yych == '_') goto yy148; - goto yy4; - } - } else { - if (yych <= 'n') { - if (yych == 'i') goto yy1366; - goto yy147; - } else { - if (yych <= 'o') goto yy1365; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1365: - YYDEBUG(1365, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1328; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'n') goto yy1369; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1366: - YYDEBUG(1366, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1326; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy167; - goto yy151; - } else { - if (yych <= 'd') goto yy1367; - if (yych <= 'z') goto yy151; - goto yy167; - } - } - } -yy1367: - YYDEBUG(1367, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1327; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy1368; - if (yych <= 'z') goto yy152; - goto yy4; - } - } -yy1368: - YYDEBUG(1368, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'Y') goto yy1236; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'x') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'y') goto yy1265; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1369: - YYDEBUG(1369, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1329; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 't') goto yy1370; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1370: - YYDEBUG(1370, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= '(') { - if (yych == ' ') goto yy1330; - goto yy4; - } else { - if (yych <= ')') goto yy140; - if (yych == '-') goto yy148; - goto yy4; - } - } else { - if (yych <= '^') { - if (yych <= '/') goto yy148; - if (yych <= '@') goto yy4; - if (yych <= 'Z') goto yy145; - goto yy4; - } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy153; - goto yy4; - } - } -yy1371: - YYDEBUG(1371, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy1343; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'r') goto yy1372; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1372: - YYDEBUG(1372, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1344; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 't') goto yy1373; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1373: - YYDEBUG(1373, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy1216; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'h') goto yy1228; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1374: - YYDEBUG(1374, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy1348; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 's') goto yy1377; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1375: - YYDEBUG(1375, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1347; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 't') goto yy1376; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1376: - YYDEBUG(1376, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy1239; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'h') goto yy1268; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1377: - YYDEBUG(1377, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1349; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 't') goto yy1378; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1378: - YYDEBUG(1378, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy1207; - if (yych <= 0x1F) goto yy4; - goto yy1350; - } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } - } else { - if (yych <= 'Z') { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1379: - YYDEBUG(1379, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; - } else { - if (yych == '/') goto yy148; - goto yy196; - } - } - } else { - if (yych <= '^') { - if (yych <= 'Q') { - if (yych <= '@') goto yy194; - goto yy143; - } else { - if (yych <= 'R') goto yy1357; - if (yych <= 'Z') goto yy143; - goto yy194; - } - } else { - if (yych <= 'q') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; - } else { - if (yych <= 'r') goto yy1380; - if (yych <= 'z') goto yy151; - goto yy194; - } - } - } -yy1380: - YYDEBUG(1380, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'U') goto yy1358; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 't') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'u') goto yy1381; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1381: - YYDEBUG(1381, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1359; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy1382; - if (yych <= 'z') goto yy153; - goto yy4; - } - } -yy1382: - YYDEBUG(1382, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'R') goto yy1360; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'r') goto yy1383; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1383: - YYDEBUG(1383, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy206; - if (yych == 'y') goto yy377; - goto yy155; -yy1384: - YYDEBUG(1384, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy1385: - YYDEBUG(1385, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(1386, *YYCURSOR); - if (yych <= '/') goto yy1387; - if (yych <= '9') goto yy1385; -yy1387: - YYDEBUG(1387, *YYCURSOR); -#line 1049 "ext/date/lib/parse_date.re" - { - timelib_ull i; - - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_UNHAVE_DATE(); - TIMELIB_UNHAVE_TIME(); - TIMELIB_HAVE_TZ(); - - i = timelib_get_unsigned_nr((char **) &ptr, 24); - s->time->y = 1970; - s->time->m = 1; - s->time->d = 1; - s->time->h = s->time->i = s->time->s = 0; - s->time->f = 0.0; - s->time->relative.s += i; - s->time->is_localtime = 1; - s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; - s->time->z = 0; - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 21370 "ext/date/lib/parse_date.c" -yy1388: - YYDEBUG(1388, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy142; - goto yy1429; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'n') goto yy1429; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1389: - YYDEBUG(1389, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == 'I') goto yy1421; - if (yych <= 'T') goto yy142; - goto yy1422; - } - } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'h') goto yy142; - goto yy1421; - } else { - if (yych == 'u') goto yy1422; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1390: - YYDEBUG(1390, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'M') { - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == 'D') goto yy1410; - if (yych <= 'L') goto yy142; - goto yy1411; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'c') goto yy142; - goto yy1410; - } else { - if (yych == 'm') goto yy1411; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1391: - YYDEBUG(1391, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy142; - goto yy1406; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'e') goto yy1406; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1392: - YYDEBUG(1392, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy142; - goto yy1402; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'e') goto yy1402; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1393: - YYDEBUG(1393, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy1065; - goto yy57; - } else { - if (yych <= '9') goto yy1396; - if (yych <= ':') goto yy1065; - goto yy57; - } -yy1394: - YYDEBUG(1394, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy1065; - goto yy57; - } else { - if (yych <= '4') goto yy1396; - if (yych == ':') goto yy1065; - goto yy57; - } -yy1395: - YYDEBUG(1395, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '.') goto yy1065; - if (yych == ':') goto yy1065; - goto yy57; -yy1396: - YYDEBUG(1396, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy1065; - goto yy57; - } else { - if (yych <= '5') goto yy1397; - if (yych == ':') goto yy1065; - goto yy57; - } -yy1397: - YYDEBUG(1397, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(1398, *YYCURSOR); - yyaccept = 24; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1068; - if (yych <= '5') goto yy1399; - if (yych <= '6') goto yy1400; - goto yy1068; -yy1399: - YYDEBUG(1399, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy1401; - goto yy57; -yy1400: - YYDEBUG(1400, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '0') goto yy57; -yy1401: - YYDEBUG(1401, *YYCURSOR); - yych = *++YYCURSOR; - goto yy1076; -yy1402: - YYDEBUG(1402, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'K') goto yy143; - } - } else { - if (yych <= 'k') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'l') goto yy1403; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1403: - YYDEBUG(1403, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'F') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'E') goto yy144; - } - } else { - if (yych <= 'e') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'f') goto yy1404; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1404: - YYDEBUG(1404, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy145; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 't') goto yy1405; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1405: - YYDEBUG(1405, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'H') goto yy1206; - if (yych == 'h') goto yy1206; - goto yy4; - } -yy1406: - YYDEBUG(1406, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy167; - goto yy140; - } else { - if (yych <= '@') goto yy167; - if (yych <= 'R') goto yy143; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy167; - goto yy143; - } else { - if (yych <= 's') goto yy1407; - if (yych <= 'z') goto yy143; - goto yy167; - } - } -yy1407: - YYDEBUG(1407, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy144; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'd') goto yy1408; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1408: - YYDEBUG(1408, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy145; - goto yy4; - } else { - if (yych <= 'a') goto yy1409; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1409: - YYDEBUG(1409, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Y') goto yy173; - if (yych == 'y') goto yy173; - goto yy4; - } -yy1410: - YYDEBUG(1410, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy1418; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy143; - goto yy4; - } else { - if (yych <= 'a') goto yy1418; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1411: - YYDEBUG(1411, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'N') goto yy143; - } - } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'o') goto yy1412; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1412: - YYDEBUG(1412, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy144; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'r') goto yy1413; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1413: - YYDEBUG(1413, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy145; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'r') goto yy1414; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1414: - YYDEBUG(1414, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'O') goto yy1415; - if (yych != 'o') goto yy4; - } -yy1415: - YYDEBUG(1415, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'W') goto yy1416; - if (yych != 'w') goto yy57; -yy1416: - YYDEBUG(1416, *YYCURSOR); - ++YYCURSOR; -yy1417: - YYDEBUG(1417, *YYCURSOR); -#line 1037 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("tomorrow"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - - s->time->relative.d = 1; - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 21817 "ext/date/lib/parse_date.c" -yy1418: - YYDEBUG(1418, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'X') goto yy144; - } - } else { - if (yych <= 'x') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'y') goto yy1419; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1419: - YYDEBUG(1419, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy140; - } else { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy1420; - if (yych <= 'z') goto yy145; - } -yy1420: - YYDEBUG(1420, *YYCURSOR); -#line 1027 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("midnight | today"); - TIMELIB_INIT; - TIMELIB_UNHAVE_TIME(); - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 21861 "ext/date/lib/parse_date.c" -yy1421: - YYDEBUG(1421, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Q') goto yy143; - if (yych <= 'R') goto yy1427; - goto yy1428; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'r') goto yy1427; - if (yych <= 's') goto yy1428; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1422: - YYDEBUG(1422, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy167; - goto yy140; - } else { - if (yych <= '@') goto yy167; - if (yych <= 'Q') goto yy143; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy167; - goto yy143; - } else { - if (yych <= 'r') goto yy1423; - if (yych <= 'z') goto yy143; - goto yy167; - } - } -yy1423: - YYDEBUG(1423, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'R') goto yy144; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 's') goto yy1424; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1424: - YYDEBUG(1424, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy145; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'd') goto yy1425; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1425: - YYDEBUG(1425, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'A') goto yy1426; - if (yych != 'a') goto yy4; - } -yy1426: - YYDEBUG(1426, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy173; - if (yych == 'y') goto yy173; - goto yy57; -yy1427: - YYDEBUG(1427, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy144; - goto yy1239; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'd') goto yy1239; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1428: - YYDEBUG(1428, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy4; - goto yy1105; - } else { - if (yych == ' ') goto yy1105; - goto yy4; - } - } else { - if (yych <= 'Z') { - if (yych <= ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy144; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1429: - YYDEBUG(1429, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 't') goto yy1430; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1430: - YYDEBUG(1430, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy144; - goto yy1239; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'h') goto yy1239; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1431: - YYDEBUG(1431, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1429; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'n') goto yy1461; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1432: - YYDEBUG(1432, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych == '-') goto yy148; - goto yy4; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy148; - goto yy4; - } else { - if (yych == 'I') goto yy1421; - goto yy142; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'U') goto yy1422; - goto yy142; - } else { - if (yych == '_') goto yy148; - goto yy4; - } - } else { - if (yych <= 't') { - if (yych == 'i') goto yy1453; - goto yy147; - } else { - if (yych <= 'u') goto yy1454; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1433: - YYDEBUG(1433, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych == '-') goto yy148; - goto yy4; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy148; - goto yy4; - } else { - if (yych == 'D') goto yy1410; - goto yy142; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'M') goto yy1411; - goto yy142; - } else { - if (yych == '_') goto yy148; - goto yy4; - } - } else { - if (yych <= 'l') { - if (yych == 'd') goto yy1444; - goto yy147; - } else { - if (yych <= 'm') goto yy1445; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1434: - YYDEBUG(1434, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1406; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'e') goto yy1440; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1435: - YYDEBUG(1435, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1402; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'e') goto yy1436; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1436: - YYDEBUG(1436, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'K') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'L') goto yy1403; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'k') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'l') goto yy1437; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1437: - YYDEBUG(1437, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'E') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'F') goto yy1404; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'e') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'f') goto yy1438; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1438: - YYDEBUG(1438, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1405; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 't') goto yy1439; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1439: - YYDEBUG(1439, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'H') goto yy1206; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'h') goto yy1224; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1440: - YYDEBUG(1440, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy1407; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy167; - goto yy151; - } else { - if (yych <= 's') goto yy1441; - if (yych <= 'z') goto yy151; - goto yy167; - } - } - } -yy1441: - YYDEBUG(1441, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1408; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'd') goto yy1442; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1442: - YYDEBUG(1442, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1409; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy1443; - if (yych <= 'z') goto yy153; - goto yy4; - } - } -yy1443: - YYDEBUG(1443, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'Y') goto yy173; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'y') goto yy186; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1444: - YYDEBUG(1444, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1418; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy1451; - if (yych <= 'z') goto yy151; - goto yy4; - } - } -yy1445: - YYDEBUG(1445, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'O') goto yy1412; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'n') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'o') goto yy1446; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1446: - YYDEBUG(1446, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy1413; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'r') goto yy1447; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1447: - YYDEBUG(1447, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy1414; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'r') goto yy1448; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1448: - YYDEBUG(1448, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'O') goto yy1415; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'o') goto yy1449; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1449: - YYDEBUG(1449, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'W') goto yy1416; - if (yych != 'w') goto yy155; - YYDEBUG(1450, *YYCURSOR); - yyaccept = 29; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy1417; - } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; - goto yy1417; - } -yy1451: - YYDEBUG(1451, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'Y') goto yy1419; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'x') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'y') goto yy1452; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1452: - YYDEBUG(1452, *YYCURSOR); - yyaccept = 30; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy1420; - } else { - if (yych == '.') goto yy1420; - goto yy148; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy1420; - if (yych <= 'Z') goto yy145; - goto yy1420; - } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy1420; - if (yych <= 'z') goto yy153; - goto yy1420; - } - } -yy1453: - YYDEBUG(1453, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy4; - goto yy148; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy143; - goto yy1427; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'S') goto yy1428; - goto yy143; - } else { - if (yych == '_') goto yy148; - goto yy4; - } - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy151; - goto yy1459; - } else { - if (yych <= 's') goto yy1460; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1454: - YYDEBUG(1454, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy1423; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy167; - goto yy151; - } else { - if (yych <= 'r') goto yy1455; - if (yych <= 'z') goto yy151; - goto yy167; - } - } - } -yy1455: - YYDEBUG(1455, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy1424; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 's') goto yy1456; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1456: - YYDEBUG(1456, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1425; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'd') goto yy1457; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1457: - YYDEBUG(1457, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1426; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy1458; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1458: - YYDEBUG(1458, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy173; - if (yych == 'y') goto yy186; - goto yy155; -yy1459: - YYDEBUG(1459, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1239; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'd') goto yy1268; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1460: - YYDEBUG(1460, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy1105; - if (yych <= 0x1F) goto yy4; - goto yy1105; - } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } - } else { - if (yych <= 'Z') { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1461: - YYDEBUG(1461, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1430; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 't') goto yy1462; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1462: - YYDEBUG(1462, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy1239; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'h') goto yy1268; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1463: - YYDEBUG(1463, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == 'R') goto yy1475; - if (yych <= 'X') goto yy142; - goto yy1476; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'q') goto yy142; - goto yy1475; - } else { - if (yych == 'y') goto yy1476; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1464: - YYDEBUG(1464, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy142; - goto yy1469; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'd') goto yy1469; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1465: - YYDEBUG(1465, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy142; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'n') goto yy1466; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1466: - YYDEBUG(1466, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy167; - goto yy140; - } else { - if (yych <= '@') goto yy167; - if (yych <= 'C') goto yy143; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy167; - goto yy143; - } else { - if (yych <= 'd') goto yy1467; - if (yych <= 'z') goto yy143; - goto yy167; - } - } -yy1467: - YYDEBUG(1467, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy144; - goto yy4; - } else { - if (yych <= 'a') goto yy1468; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1468: - YYDEBUG(1468, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'X') goto yy145; - goto yy1236; - } - } else { - if (yych <= 'x') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'y') goto yy1236; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1469: - YYDEBUG(1469, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy143; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'n') goto yy1470; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1470: - YYDEBUG(1470, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'I') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'H') goto yy144; - } - } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'i') goto yy1471; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1471: - YYDEBUG(1471, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'G') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'F') goto yy145; - } - } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'g') goto yy1472; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1472: - YYDEBUG(1472, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'H') goto yy1473; - if (yych != 'h') goto yy4; - } -yy1473: - YYDEBUG(1473, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1474; - if (yych != 't') goto yy57; -yy1474: - YYDEBUG(1474, *YYCURSOR); - yych = *++YYCURSOR; - goto yy1420; -yy1475: - YYDEBUG(1475, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; - } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych == 'C') goto yy1477; - goto yy143; - } - } else { - if (yych <= 'b') { - if (yych <= '`') goto yy194; - goto yy143; - } else { - if (yych <= 'c') goto yy1477; - if (yych <= 'z') goto yy143; - goto yy194; - } - } - } -yy1476: - YYDEBUG(1476, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy194; - goto yy196; - } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy197; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy194; - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy194; - if (yych <= 'z') goto yy143; - goto yy194; - } - } -yy1477: - YYDEBUG(1477, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy144; - goto yy396; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'h') goto yy396; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1478: - YYDEBUG(1478, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych == '-') goto yy148; - goto yy4; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy148; - goto yy4; - } else { - if (yych == 'R') goto yy1475; - goto yy142; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'Y') goto yy1476; - goto yy142; - } else { - if (yych == '_') goto yy148; - goto yy4; - } - } else { - if (yych <= 'x') { - if (yych == 'r') goto yy1490; - goto yy147; - } else { - if (yych <= 'y') goto yy1491; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1479: - YYDEBUG(1479, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1469; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'd') goto yy1484; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1480: - YYDEBUG(1480, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1466; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'n') goto yy1481; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1481: - YYDEBUG(1481, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1467; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy167; - goto yy151; - } else { - if (yych <= 'd') goto yy1482; - if (yych <= 'z') goto yy151; - goto yy167; - } - } - } -yy1482: - YYDEBUG(1482, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1468; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy1483; - if (yych <= 'z') goto yy152; - goto yy4; - } - } -yy1483: - YYDEBUG(1483, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'Y') goto yy1236; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'x') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'y') goto yy1265; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1484: - YYDEBUG(1484, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1470; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'n') goto yy1485; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1485: - YYDEBUG(1485, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'H') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'I') goto yy1471; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'h') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'i') goto yy1486; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1486: - YYDEBUG(1486, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'F') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'G') goto yy1472; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'f') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'g') goto yy1487; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1487: - YYDEBUG(1487, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'H') goto yy1473; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'h') goto yy1488; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1488: - YYDEBUG(1488, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1474; - if (yych != 't') goto yy155; - YYDEBUG(1489, *YYCURSOR); - yyaccept = 30; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy1420; - } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; - goto yy1420; - } -yy1490: - YYDEBUG(1490, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; - } else { - if (yych == '/') goto yy148; - goto yy196; - } - } - } else { - if (yych <= '^') { - if (yych <= 'B') { - if (yych <= '@') goto yy194; - goto yy143; - } else { - if (yych <= 'C') goto yy1477; - if (yych <= 'Z') goto yy143; - goto yy194; - } - } else { - if (yych <= 'b') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; - } else { - if (yych <= 'c') goto yy1492; - if (yych <= 'z') goto yy151; - goto yy194; - } - } - } -yy1491: - YYDEBUG(1491, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy194; - goto yy196; - } else { - if (yych <= ')') { - if (yych <= '(') goto yy194; - goto yy140; - } else { - if (yych <= ',') goto yy194; - if (yych <= '-') goto yy372; - goto yy196; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '/') goto yy148; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy194; - goto yy143; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy194; - goto yy148; - } else { - if (yych <= '`') goto yy194; - if (yych <= 'z') goto yy151; - goto yy194; - } - } - } -yy1492: - YYDEBUG(1492, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy396; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'h') goto yy407; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1493: - YYDEBUG(1493, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'W') { - if (yych <= 'N') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy142; - } else { - if (yych <= 'O') goto yy1501; - if (yych <= 'U') goto yy142; - if (yych <= 'V') goto yy1502; - goto yy1499; - } - } else { - if (yych <= 'o') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'n') goto yy142; - goto yy1501; - } else { - if (yych <= 'v') { - if (yych <= 'u') goto yy142; - goto yy1502; - } else { - if (yych <= 'w') goto yy1499; - if (yych <= 'z') goto yy142; - goto yy4; - } - } - } -yy1494: - YYDEBUG(1494, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'W') goto yy142; - goto yy1498; - } - } else { - if (yych <= 'w') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'x') goto yy1498; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1495: - YYDEBUG(1495, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy142; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 'n') goto yy1496; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1496: - YYDEBUG(1496, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 't') goto yy1497; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1497: - YYDEBUG(1497, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy144; - goto yy1239; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'h') goto yy1239; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1498: - YYDEBUG(1498, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; - goto yy1428; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 't') goto yy1428; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1499: - YYDEBUG(1499, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy140; - } else { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy1500; - if (yych <= 'z') goto yy143; - } -yy1500: - YYDEBUG(1500, *YYCURSOR); -#line 1006 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("now"); - TIMELIB_INIT; - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 23881 "ext/date/lib/parse_date.c" -yy1501: - YYDEBUG(1501, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy143; - goto yy1507; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 'n') goto yy1507; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1502: - YYDEBUG(1502, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; - } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; - } else { - if (yych != 'E') goto yy143; - } - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy194; - goto yy143; - } else { - if (yych <= 'e') goto yy1503; - if (yych <= 'z') goto yy143; - goto yy194; - } - } - } -yy1503: - YYDEBUG(1503, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'M') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'L') goto yy144; - } - } else { - if (yych <= 'l') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'm') goto yy1504; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1504: - YYDEBUG(1504, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'B') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'A') goto yy145; - } - } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'b') goto yy1505; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1505: - YYDEBUG(1505, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'E') goto yy1506; - if (yych != 'e') goto yy4; - } -yy1506: - YYDEBUG(1506, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy206; - if (yych == 'r') goto yy206; - goto yy57; -yy1507: - YYDEBUG(1507, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy140; - } else { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy1508; - if (yych <= 'z') goto yy144; - } -yy1508: - YYDEBUG(1508, *YYCURSOR); -#line 1015 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("noon"); - TIMELIB_INIT; - TIMELIB_UNHAVE_TIME(); - TIMELIB_HAVE_TIME(); - s->time->h = 12; - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 24031 "ext/date/lib/parse_date.c" -yy1509: - YYDEBUG(1509, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych == '-') goto yy148; - goto yy4; - } - } else { - if (yych <= 'N') { - if (yych <= '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } else { - if (yych <= 'O') goto yy1501; - if (yych <= 'U') goto yy142; - goto yy1502; - } - } - } else { - if (yych <= 'n') { - if (yych <= '^') { - if (yych <= 'W') goto yy1499; - if (yych <= 'Z') goto yy142; - goto yy4; - } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - goto yy147; - } - } else { - if (yych <= 'v') { - if (yych <= 'o') goto yy1516; - if (yych <= 'u') goto yy147; - goto yy1517; - } else { - if (yych <= 'w') goto yy1515; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1510: - YYDEBUG(1510, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'W') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'X') goto yy1498; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'w') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'x') goto yy1514; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1511: - YYDEBUG(1511, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1496; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 'n') goto yy1512; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1512: - YYDEBUG(1512, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1497; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 't') goto yy1513; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1513: - YYDEBUG(1513, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy1239; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'h') goto yy1268; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1514: - YYDEBUG(1514, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1428; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 't') goto yy1460; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1515: - YYDEBUG(1515, *YYCURSOR); - yyaccept = 31; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy1500; - } else { - if (yych == '.') goto yy1500; - goto yy148; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy1500; - if (yych <= 'Z') goto yy143; - goto yy1500; - } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy1500; - if (yych <= 'z') goto yy151; - goto yy1500; - } - } -yy1516: - YYDEBUG(1516, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1507; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 'n') goto yy1522; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1517: - YYDEBUG(1517, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; - } else { - if (yych == ' ') goto yy196; - goto yy194; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; - } else { - if (yych == '/') goto yy148; - goto yy196; - } - } - } else { - if (yych <= '^') { - if (yych <= 'D') { - if (yych <= '@') goto yy194; - goto yy143; - } else { - if (yych <= 'E') goto yy1503; - if (yych <= 'Z') goto yy143; - goto yy194; - } - } else { - if (yych <= 'd') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; - } else { - if (yych <= 'e') goto yy1518; - if (yych <= 'z') goto yy151; - goto yy194; - } - } - } -yy1518: - YYDEBUG(1518, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'M') goto yy1504; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'l') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'm') goto yy1519; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1519: - YYDEBUG(1519, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'B') goto yy1505; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'b') goto yy1520; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1520: - YYDEBUG(1520, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'E') goto yy1506; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'e') goto yy1521; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1521: - YYDEBUG(1521, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy206; - if (yych == 'r') goto yy377; - goto yy155; -yy1522: - YYDEBUG(1522, *YYCURSOR); - yyaccept = 32; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy1508; - } else { - if (yych == '.') goto yy1508; - goto yy148; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy1508; - if (yych <= 'Z') goto yy144; - goto yy1508; - } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy1508; - if (yych <= 'z') goto yy152; - goto yy1508; - } - } -yy1523: - YYDEBUG(1523, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'R') goto yy142; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; - } else { - if (yych <= 's') goto yy1524; - if (yych <= 'z') goto yy142; - goto yy4; - } - } -yy1524: - YYDEBUG(1524, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; - } else { - if (yych <= 't') goto yy1525; - if (yych <= 'z') goto yy143; - goto yy4; - } - } -yy1525: - YYDEBUG(1525, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy144; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; - } else { - if (yych <= 'e') goto yy1526; - if (yych <= 'z') goto yy144; - goto yy4; - } - } -yy1526: - YYDEBUG(1526, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy145; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'r') goto yy1527; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1527: - YYDEBUG(1527, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'D') goto yy1528; - if (yych != 'd') goto yy4; - } -yy1528: - YYDEBUG(1528, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1529; - if (yych != 'a') goto yy57; -yy1529: - YYDEBUG(1529, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1530; - if (yych != 'y') goto yy57; -yy1530: - YYDEBUG(1530, *YYCURSOR); - ++YYCURSOR; -yy1531: - YYDEBUG(1531, *YYCURSOR); -#line 994 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("yesterday"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - - s->time->relative.d = -1; - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 24575 "ext/date/lib/parse_date.c" -yy1532: - YYDEBUG(1532, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy1524; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy4; - goto yy147; - } else { - if (yych <= 's') goto yy1533; - if (yych <= 'z') goto yy147; - goto yy4; - } - } - } -yy1533: - YYDEBUG(1533, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1525; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; - } else { - if (yych <= 't') goto yy1534; - if (yych <= 'z') goto yy151; - goto yy4; - } - } - } -yy1534: - YYDEBUG(1534, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1526; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy152; - } else { - if (yych <= 'e') goto yy1535; - if (yych <= 'z') goto yy152; - goto yy4; - } - } - } -yy1535: - YYDEBUG(1535, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; - } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy1527; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy153; - } else { - if (yych <= 'r') goto yy1536; - if (yych <= 'z') goto yy153; - goto yy4; - } - } - } -yy1536: - YYDEBUG(1536, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; - } - } else { - if (yych <= '`') { - if (yych <= 'D') goto yy1528; - if (yych == '_') goto yy148; - goto yy4; - } else { - if (yych == 'd') goto yy1537; - if (yych <= 'z') goto yy154; - goto yy4; - } - } -yy1537: - YYDEBUG(1537, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1529; - if (yych != 'a') goto yy155; - YYDEBUG(1538, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1530; - if (yych != 'y') goto yy155; - YYDEBUG(1539, *YYCURSOR); - yyaccept = 33; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy154; - } - if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy1531; - } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; - goto yy1531; - } -} -#line 1755 "ext/date/lib/parse_date.re" - -} - -#define YYMAXFILL 31 - -timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, const timelib_tzdb *tzdb) -{ - Scanner in; - int t; - char *e = s + len - 1; - - memset(&in, 0, sizeof(in)); - in.errors = malloc(sizeof(struct timelib_error_container)); - in.errors->warning_count = 0; - in.errors->warning_messages = NULL; - in.errors->error_count = 0; - in.errors->error_messages = NULL; - - if (len > 0) { - while (isspace(*s) && s < e) { - s++; - } - while (isspace(*e) && e > s) { - e--; - } - } - if (e - s < 0) { - in.time = timelib_time_ctor(); - add_error(&in, "Empty string"); - if (errors) { - *errors = in.errors; - } else { - timelib_error_container_dtor(in.errors); - } - in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->dst = in.time->z = TIMELIB_UNSET; - in.time->is_localtime = in.time->zone_type = 0; - return in.time; - } - e++; - - in.str = malloc((e - s) + YYMAXFILL); - memset(in.str, 0, (e - s) + YYMAXFILL); - memcpy(in.str, s, (e - s)); - in.lim = in.str + (e - s) + YYMAXFILL; - in.cur = in.str; - in.time = timelib_time_ctor(); - in.time->y = TIMELIB_UNSET; - in.time->d = TIMELIB_UNSET; - in.time->m = TIMELIB_UNSET; - in.time->h = TIMELIB_UNSET; - in.time->i = TIMELIB_UNSET; - in.time->s = TIMELIB_UNSET; - in.time->f = TIMELIB_UNSET; - in.time->z = TIMELIB_UNSET; - in.time->dst = TIMELIB_UNSET; - in.tzdb = tzdb; - in.time->is_localtime = 0; - in.time->zone_type = 0; - - do { - t = scan(&in); -#ifdef DEBUG_PARSER - printf("%d\n", t); -#endif - } while(t != EOI); - - /* do funky checking whether the parsed time was valid time */ - if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) { - add_warning(&in, "The parsed time was invalid"); - } - /* do funky checking whether the parsed date was valid date */ - if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) { - add_warning(&in, "The parsed date was invalid"); - } - - free(in.str); - if (errors) { - *errors = in.errors; - } else { - timelib_error_container_dtor(in.errors); - } - return in.time; -} - -#define TIMELIB_CHECK_NUMBER \ - if (strchr("0123456789", *ptr) == NULL) \ - { \ - add_pbf_error(s, "Unexpected data found.", string, begin); \ - } - -static void timelib_time_reset_fields(timelib_time *time) -{ - assert(time != NULL); - - time->y = 1970; - time->m = 1; - time->d = 1; - time->h = time->i = time->s = 0; - time->f = 0.0; - time->tz_info = NULL; -} - -static void timelib_time_reset_unset_fields(timelib_time *time) -{ - assert(time != NULL); - - if (time->y == TIMELIB_UNSET ) time->y = 1970; - if (time->m == TIMELIB_UNSET ) time->m = 1; - if (time->d == TIMELIB_UNSET ) time->d = 1; - if (time->h == TIMELIB_UNSET ) time->h = 0; - if (time->i == TIMELIB_UNSET ) time->i = 0; - if (time->s == TIMELIB_UNSET ) time->s = 0; - if (time->f == TIMELIB_UNSET ) time->f = 0.0; -} - -timelib_time *timelib_parse_from_format(char *format, char *string, int len, timelib_error_container **errors, const timelib_tzdb *tzdb) -{ - char *fptr = format; - char *ptr = string; - char *begin; - timelib_sll tmp; - Scanner in; - Scanner *s = ∈ - - memset(&in, 0, sizeof(in)); - in.errors = malloc(sizeof(struct timelib_error_container)); - in.errors->warning_count = 0; - in.errors->warning_messages = NULL; - in.errors->error_count = 0; - in.errors->error_messages = NULL; - - in.time = timelib_time_ctor(); - in.time->y = TIMELIB_UNSET; - in.time->d = TIMELIB_UNSET; - in.time->m = TIMELIB_UNSET; - in.time->h = TIMELIB_UNSET; - in.time->i = TIMELIB_UNSET; - in.time->s = TIMELIB_UNSET; - in.time->f = TIMELIB_UNSET; - in.time->z = TIMELIB_UNSET; - in.time->dst = TIMELIB_UNSET; - in.tzdb = tzdb; - in.time->is_localtime = 0; - in.time->zone_type = 0; - - /* Loop over the format string */ - while (*fptr && *ptr) { - begin = ptr; - switch (*fptr) { - case 'D': /* three letter day */ - case 'l': /* full day */ - if (!timelib_lookup_relunit((char **) &ptr)) { - add_pbf_error(s, "A textual day could not be found", string, begin); - } - break; - case 'd': /* two digit day, with leading zero */ - case 'j': /* two digit day, without leading zero */ - TIMELIB_CHECK_NUMBER; - if ((s->time->d = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit day could not be found", string, begin); - } - break; - case 'S': /* day suffix, ignored, nor checked */ - timelib_skip_day_suffix((char **) &ptr); - break; - case 'z': /* day of year - resets month (0 based) */ - TIMELIB_CHECK_NUMBER; - if ((tmp = timelib_get_nr((char **) &ptr, 3)) == TIMELIB_UNSET) { - add_pbf_error(s, "A three digit day-of-year could not be found", string, begin); - } else { - s->time->m = 1; - s->time->d = tmp + 1; - } - break; - - case 'm': /* two digit month, with leading zero */ - case 'n': /* two digit month, without leading zero */ - TIMELIB_CHECK_NUMBER; - if ((s->time->m = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit month could not be found", string, begin); - } - break; - case 'M': /* three letter month */ - case 'F': /* full month */ - tmp = timelib_lookup_month((char **) &ptr); - if (!tmp) { - add_pbf_error(s, "A textual month could not be found", string, begin); - } else { - s->time->m = tmp; - } - break; - case 'y': /* two digit year */ - TIMELIB_CHECK_NUMBER; - if ((s->time->y = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit year could not be found", string, begin); - } - TIMELIB_PROCESS_YEAR(s->time->y); - break; - case 'Y': /* four digit year */ - TIMELIB_CHECK_NUMBER; - if ((s->time->y = timelib_get_nr((char **) &ptr, 4)) == TIMELIB_UNSET) { - add_pbf_error(s, "A four digit year could not be found", string, begin); - } - break; - case 'g': /* two digit hour, with leading zero */ - case 'h': /* two digit hour, without leading zero */ - TIMELIB_CHECK_NUMBER; - if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit hour could not be found", string, begin); - } - if (s->time->h > 12) { - add_pbf_error(s, "Hour can not be higher than 12", string, begin); - } - break; - case 'G': /* two digit hour, with leading zero */ - case 'H': /* two digit hour, without leading zero */ - TIMELIB_CHECK_NUMBER; - if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit hour could not be found", string, begin); - } - break; - case 'a': /* am/pm/a.m./p.m. */ - case 'A': /* AM/PM/A.M./P.M. */ - if (s->time->h == TIMELIB_UNSET) { - add_pbf_error(s, "Meridian can only come after an hour has been found", string, begin); - } else if ((tmp = timelib_meridian_with_check((char **) &ptr, s->time->h)) == TIMELIB_UNSET) { - add_pbf_error(s, "A meridian could not be found", string, begin); - } else { - s->time->h += tmp; - } - break; - case 'i': /* two digit minute, with leading zero */ - TIMELIB_CHECK_NUMBER; - if ((s->time->i = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit minute could not be found", string, begin); - } - break; - case 's': /* two digit second, with leading zero */ - TIMELIB_CHECK_NUMBER; - if ((s->time->s = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit second could not be found", string, begin); - } - break; - case 'u': /* up to six digit millisecond */ - { - double f; - char *tptr; - - TIMELIB_CHECK_NUMBER; - tptr = ptr; - if ((f = timelib_get_nr((char **) &ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) { - add_pbf_error(s, "A six digit millisecond could not be found", string, begin); - } else { - s->time->f = (f / pow(10, (ptr - tptr))); - } - } - break; - case ' ': /* any sort of whitespace (' ' and \t) */ - timelib_eat_spaces((char **) &ptr); - break; - case 'U': /* epoch seconds */ - TIMELIB_CHECK_NUMBER; - TIMELIB_HAVE_RELATIVE(); - tmp = timelib_get_unsigned_nr((char **) &ptr, 24); - s->time->y = 1970; - s->time->m = 1; - s->time->d = 1; - s->time->h = s->time->i = s->time->s = 0; - s->time->f = 0.0; - s->time->relative.s += tmp; - s->time->is_localtime = 1; - s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; - s->time->z = 0; - break; - - case 'e': /* timezone */ - case 'P': /* timezone */ - case 'T': /* timezone */ - case 'O': /* timezone */ - { - int tz_not_found; - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); - if (tz_not_found) { - add_pbf_error(s, "The timezone could not be found in the database", string, begin); - } - } - break; - - case '#': /* separation symbol */ - if (*ptr == ';' || *ptr == ':' || *ptr == '/' || *ptr == '.' || *ptr == ',' || *ptr == '-' || *ptr == '(' || *ptr == ')') { - ++ptr; - } else { - add_pbf_error(s, "The separation symbol ([;:/.,-]) could not be found", string, begin); - } - break; - - case ';': - case ':': - case '/': - case '.': - case ',': - case '-': - case '(': - case ')': - if (*ptr == *fptr) { - ++ptr; - } else { - add_pbf_error(s, "The separation symbol could not be found", string, begin); - } - break; - - case '!': /* reset all fields to default */ - timelib_time_reset_fields(s->time); - break; /* break intentionally not missing */ - - case '|': /* reset all fields to default when not set */ - timelib_time_reset_unset_fields(s->time); - break; /* break intentionally not missing */ - - case '?': /* random char */ - ++ptr; - break; - - case '\\': /* escaped char */ - *fptr++; - if (*ptr == *fptr) { - ++ptr; - } else { - add_pbf_error(s, "The escaped character could not be found", string, begin); - } - break; - - case '*': /* random chars until a separator or number ([ \t.,:;/-0123456789]) */ - timelib_eat_until_separator((char **) &ptr); - break; - - default: - if (*fptr != *ptr) { - add_pbf_error(s, "The format separator does not match", string, begin); - } - ptr++; - } - fptr++; - } - if (*ptr) { - add_pbf_error(s, "Trailing data", string, ptr); - } - if (*fptr) { - /* Trailing | and ! specifiers are valid. */ - while (*fptr) { - switch (*fptr++) { - case '!': /* reset all fields to default */ - timelib_time_reset_fields(s->time); - break; - - case '|': /* reset all fields to default when not set */ - timelib_time_reset_unset_fields(s->time); - break; - - default: - add_pbf_error(s, "Data missing", string, ptr); - } - } - } - - /* clean up a bit */ - if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET) { - if (s->time->h == TIMELIB_UNSET ) { - s->time->h = 0; - } - if (s->time->i == TIMELIB_UNSET ) { - s->time->i = 0; - } - if (s->time->s == TIMELIB_UNSET ) { - s->time->s = 0; - } - } - - /* do funky checking whether the parsed time was valid time */ - if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET && - s->time->s != TIMELIB_UNSET && - !timelib_valid_time( s->time->h, s->time->i, s->time->s)) { - add_pbf_warning(s, "The parsed time was invalid", string, ptr); - } - /* do funky checking whether the parsed date was valid date */ - if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET && - s->time->d != TIMELIB_UNSET && - !timelib_valid_date( s->time->y, s->time->m, s->time->d)) { - add_pbf_warning(s, "The parsed date was invalid", string, ptr); - } - - if (errors) { - *errors = in.errors; - } else { - timelib_error_container_dtor(in.errors); - } - return in.time; -} - -void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) -{ - if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { - parsed->h = 0; - parsed->i = 0; - parsed->s = 0; - parsed->f = 0; - } - if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0; - if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0; - if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0; - if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0; - if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0; - if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0; - if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0; - if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0; - if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0; - - if (!parsed->tz_abbr) { - parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; - } - if (!parsed->tz_info) { - parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL; - } - if (parsed->zone_type == 0 && now->zone_type != 0) { - parsed->zone_type = now->zone_type; -/* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; - parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; -*/ parsed->is_localtime = 1; - } -/* timelib_dump_date(parsed, 2); - timelib_dump_date(now, 2); -*/ -} - -char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) -{ - const timelib_tz_lookup_table *tp; - - tp = zone_search(abbr, gmtoffset, isdst); - if (tp) { - return (tp->full_tz_name); - } else { - return NULL; - } -} - -const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) -{ - return timelib_timezone_lookup; -} - -#ifdef DEBUG_PARSER_STUB -int main(void) -{ - timelib_time time = timelib_strtotime("May 12"); - - printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", - time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); - if (time.have_relative) { - printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", - time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); - } - if (time.have_weekday_relative) { - printf (" / %d", time.relative.weekday); - } - if (time.have_weeknr_day) { - printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); - } - return 0; -} -#endif - -/* - * vim: syntax=c - */ diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re index 89bf2d697..5e1d31367 100644 --- a/ext/date/lib/parse_date.re +++ b/ext/date/lib/parse_date.re @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: parse_date.re 311831 2011-06-05 13:30:01Z bjori $ */ +/* $Id: parse_date.re 320481 2011-12-06 06:21:08Z derick $ */ #include "timelib.h" @@ -119,8 +119,8 @@ typedef unsigned char uchar; #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } -#define TIMELIB_PROCESS_YEAR(x) { \ - if ((x) == TIMELIB_UNSET) { \ +#define TIMELIB_PROCESS_YEAR(x, l) { \ + if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ @@ -438,7 +438,7 @@ static char *timelib_string(Scanner *s) return tmp; } -static timelib_sll timelib_get_nr(char **ptr, int max_length) +static timelib_sll timelib_get_nr_ex(char **ptr, int max_length, int *scanned_length) { char *begin, *end, *str; timelib_sll tmp_nr = TIMELIB_UNSET; @@ -456,6 +456,9 @@ static timelib_sll timelib_get_nr(char **ptr, int max_length) ++len; } end = *ptr; + if (scanned_length) { + *scanned_length = end - begin; + } str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); @@ -463,6 +466,11 @@ static timelib_sll timelib_get_nr(char **ptr, int max_length) return tmp_nr; } +static timelib_sll timelib_get_nr(char **ptr, int max_length) +{ + return timelib_get_nr_ex(ptr, max_length, NULL); +} + static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { @@ -775,7 +783,7 @@ static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found return value; } -static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb) +static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper) { timelib_tzinfo *res; long retval = 0; @@ -824,7 +832,7 @@ static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_ #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/") || strcmp(tz_abbr, "UTC") == 0) { - if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { + if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; @@ -853,7 +861,7 @@ static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_ } \ } -static int scan(Scanner *s) +static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) { uchar *cursor = s->cur; char *str, *ptr = NULL; @@ -1186,7 +1194,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of } if (*ptr != '\0') { - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } @@ -1227,7 +1235,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, s->tzdb, tz_get_wrapper); break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); @@ -1252,7 +1260,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } @@ -1263,14 +1271,15 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of americanshort | american { + int length = 0; DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_PROCESS_YEAR(s->time->y); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; @@ -1290,53 +1299,57 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of iso8601date2 { + int length = 0; DEBUG_OUTPUT("iso8601date2"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } gnudateshorter { + int length = 0; DEBUG_OUTPUT("gnudateshorter"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = 1; - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } gnudateshort { + int length = 0; DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } datefull { + int length = 0; DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_PROCESS_YEAR(s->time->y); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } @@ -1355,52 +1368,56 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of pointeddate2 { + int length = 0; DEBUG_OUTPUT("pointed date YY"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr((char **) &ptr, 2); - TIMELIB_PROCESS_YEAR(s->time->y); + s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } datenoday { + int length = 0; DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->d = 1; - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datenodayrev { + int length = 0; DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datetextual | datenoyear { + int length = 0; DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_PROCESS_YEAR(s->time->y); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } @@ -1445,7 +1462,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } @@ -1457,13 +1474,14 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of pgydotd { + int length = 0; DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } @@ -1508,26 +1526,28 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of pgtextshort { + int length = 0; DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_PROCESS_YEAR(s->time->y); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } pgtextreverse { + int length = 0; DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_PROCESS_YEAR(s->time->y); + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } @@ -1545,7 +1565,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } @@ -1658,7 +1678,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; TIMELIB_HAVE_TZ(); - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } @@ -1711,7 +1731,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of } if (*ptr != '\0') { - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } @@ -1757,7 +1777,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of /*!max:re2c */ -timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, const timelib_tzdb *tzdb) +timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper) { Scanner in; int t; @@ -1812,7 +1832,7 @@ timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container in.time->zone_type = 0; do { - t = scan(&in); + t = scan(&in, tz_get_wrapper); #ifdef DEBUG_PARSER printf("%d\n", t); #endif @@ -1867,7 +1887,7 @@ static void timelib_time_reset_unset_fields(timelib_time *time) if (time->f == TIMELIB_UNSET ) time->f = 0.0; } -timelib_time *timelib_parse_from_format(char *format, char *string, int len, timelib_error_container **errors, const timelib_tzdb *tzdb) +timelib_time *timelib_parse_from_format(char *format, char *string, int len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper) { char *fptr = format; char *ptr = string; @@ -1875,6 +1895,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim timelib_sll tmp; Scanner in; Scanner *s = ∈ + int allow_extra = 0; memset(&in, 0, sizeof(in)); in.errors = malloc(sizeof(struct timelib_error_container)); @@ -1903,8 +1924,19 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim switch (*fptr) { case 'D': /* three letter day */ case 'l': /* full day */ - if (!timelib_lookup_relunit((char **) &ptr)) { - add_pbf_error(s, "A textual day could not be found", string, begin); + { + const timelib_relunit* tmprel = 0; + + tmprel = timelib_lookup_relunit((char **) &ptr); + if (!tmprel) { + add_pbf_error(s, "A textual day could not be found", string, begin); + break; + } else { + in.time->have_relative = 1; + in.time->relative.have_weekday_relative = 1; + in.time->relative.weekday = tmprel->multiplier; + in.time->relative.weekday_behavior = 1; + } } break; case 'd': /* two digit day, with leading zero */ @@ -1917,13 +1949,14 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim case 'S': /* day suffix, ignored, nor checked */ timelib_skip_day_suffix((char **) &ptr); break; - case 'z': /* day of year - resets month (0 based) */ + case 'z': /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */ TIMELIB_CHECK_NUMBER; if ((tmp = timelib_get_nr((char **) &ptr, 3)) == TIMELIB_UNSET) { add_pbf_error(s, "A three digit day-of-year could not be found", string, begin); } else { s->time->m = 1; s->time->d = tmp + 1; + timelib_do_normalize(s->time); } break; @@ -1944,11 +1977,14 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim } break; case 'y': /* two digit year */ - TIMELIB_CHECK_NUMBER; - if ((s->time->y = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit year could not be found", string, begin); + { + int length = 0; + TIMELIB_CHECK_NUMBER; + if ((s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length)) == TIMELIB_UNSET) { + add_pbf_error(s, "A two digit year could not be found", string, begin); + } + TIMELIB_PROCESS_YEAR(s->time->y, length); } - TIMELIB_PROCESS_YEAR(s->time->y); break; case 'Y': /* four digit year */ TIMELIB_CHECK_NUMBER; @@ -1984,15 +2020,31 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim } break; case 'i': /* two digit minute, with leading zero */ - TIMELIB_CHECK_NUMBER; - if ((s->time->i = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit minute could not be found", string, begin); + { + int length; + timelib_sll min; + + TIMELIB_CHECK_NUMBER; + min = timelib_get_nr_ex((char **) &ptr, 2, &length); + if (min == TIMELIB_UNSET || length != 2) { + add_pbf_error(s, "A two digit minute could not be found", string, begin); + } else { + s->time->i = min; + } } break; case 's': /* two digit second, with leading zero */ - TIMELIB_CHECK_NUMBER; - if ((s->time->s = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { - add_pbf_error(s, "A two digit second could not be found", string, begin); + { + int length; + timelib_sll sec; + + TIMELIB_CHECK_NUMBER; + sec = timelib_get_nr_ex((char **) &ptr, 2, &length); + if (sec == TIMELIB_UNSET || length != 2) { + add_pbf_error(s, "A two second minute could not be found", string, begin); + } else { + s->time->s = sec; + } } break; case 'u': /* up to six digit millisecond */ @@ -2033,7 +2085,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim case 'O': /* timezone */ { int tz_not_found; - s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); + s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_pbf_error(s, "The timezone could not be found in the database", string, begin); } @@ -2088,6 +2140,10 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim timelib_eat_until_separator((char **) &ptr); break; + case '+': /* allow extra chars in the format */ + allow_extra = 1; + break; + default: if (*fptr != *ptr) { add_pbf_error(s, "The format separator does not match", string, begin); @@ -2097,11 +2153,20 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim fptr++; } if (*ptr) { - add_pbf_error(s, "Trailing data", string, ptr); + if (allow_extra) { + add_pbf_warning(s, "Trailing data", string, ptr); + } else { + add_pbf_error(s, "Trailing data", string, ptr); + } + } + /* ignore trailing +'s */ + while (*fptr == '+') { + fptr++; } if (*fptr) { /* Trailing | and ! specifiers are valid. */ - while (*fptr) { + int done = 0; + while (*fptr && !done) { switch (*fptr++) { case '!': /* reset all fields to default */ timelib_time_reset_fields(s->time); @@ -2113,6 +2178,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, int len, tim default: add_pbf_error(s, "Data missing", string, ptr); + done = 1; } } } diff --git a/ext/date/lib/parse_iso_intervals.c b/ext/date/lib/parse_iso_intervals.c index bb267127e..4baa01387 100644 --- a/ext/date/lib/parse_iso_intervals.c +++ b/ext/date/lib/parse_iso_intervals.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Sat Nov 13 14:57:59 2010 */ +/* Generated by re2c 0.13.5 on Mon Dec 5 22:02:31 2011 */ #line 1 "ext/date/lib/parse_iso_intervals.re" /* +----------------------------------------------------------------------+ @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: parse_iso_intervals.c 305316 2010-11-13 15:01:48Z derick $ */ +/* $Id: parse_iso_intervals.c 320478 2011-12-06 06:04:24Z derick $ */ #include "timelib.h" @@ -396,7 +396,7 @@ yy6: break; } - nr = timelib_get_unsigned_nr((char **) &ptr, 9); + nr = timelib_get_unsigned_nr((char **) &ptr, 12); switch (*ptr) { case 'Y': s->period->y = nr; break; case 'W': s->period->d = nr * 7; break; diff --git a/ext/date/lib/parse_iso_intervals.re b/ext/date/lib/parse_iso_intervals.re index 3fb47107c..a44276d46 100644 --- a/ext/date/lib/parse_iso_intervals.re +++ b/ext/date/lib/parse_iso_intervals.re @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: parse_iso_intervals.re 296828 2010-03-26 04:31:26Z aharvey $ */ +/* $Id: parse_iso_intervals.re 320478 2011-12-06 06:04:24Z derick $ */ #include "timelib.h" @@ -364,7 +364,7 @@ isoweek = year4 "-"? "W" weekofyear; break; } - nr = timelib_get_unsigned_nr((char **) &ptr, 9); + nr = timelib_get_unsigned_nr((char **) &ptr, 12); switch (*ptr) { case 'Y': s->period->y = nr; break; case 'W': s->period->d = nr * 7; break; diff --git a/ext/date/lib/timelib.h b/ext/date/lib/timelib.h index 67a57d875..53a861487 100644 --- a/ext/date/lib/timelib.h +++ b/ext/date/lib/timelib.h @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: timelib.h 309055 2011-03-09 20:06:52Z scottmac $ */ +/* $Id: timelib.h 320481 2011-12-06 06:21:08Z derick $ */ #ifndef __TIMELIB_H__ #define __TIMELIB_H__ @@ -26,12 +26,14 @@ #include <limits.h> #endif -#define TIMELIB_VERSION 201101 +#define TIMELIB_VERSION 201102 #define TIMELIB_NONE 0x00 #define TIMELIB_OVERRIDE_TIME 0x01 #define TIMELIB_NO_CLONE 0x02 +#define TIMELIB_UNSET -99999 + #define TIMELIB_SPECIAL_WEEKDAY 0x01 #define TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH 0x02 #define TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH 0x03 @@ -52,6 +54,9 @@ #define strncasecmp strnicmp #endif +/* Function pointers */ +typedef timelib_tzinfo* (*timelib_tz_get_wrapper)(char *tzname, const timelib_tzdb *tzdb); + /* From dow.c */ timelib_sll timelib_day_of_week(timelib_sll y, timelib_sll m, timelib_sll d); timelib_sll timelib_iso_day_of_week(timelib_sll y, timelib_sll m, timelib_sll d); @@ -63,8 +68,8 @@ int timelib_valid_time(timelib_sll h, timelib_sll i, timelib_sll s); int timelib_valid_date(timelib_sll y, timelib_sll m, timelib_sll d); /* From parse_date.re */ -timelib_time *timelib_strtotime(char *s, int len, timelib_error_container **errors, const timelib_tzdb *tzdb); -timelib_time *timelib_parse_from_format(char *format, char *s, int len, timelib_error_container **errors, const timelib_tzdb *tzdb); +timelib_time *timelib_strtotime(char *s, int len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper); +timelib_time *timelib_parse_from_format(char *format, char *s, int len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper); void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options); char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst); const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void); @@ -78,6 +83,7 @@ void timelib_strtointerval(char *s, int len, /* From tm2unixtime.c */ void timelib_update_ts(timelib_time* time, timelib_tzinfo* tzi); +void timelib_do_normalize(timelib_time *base); void timelib_do_rel_normalize(timelib_time *base, timelib_rel_time *rt); /* From unixtime2tm.c */ diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h index 7f2a3a0c6..16164d453 100644 --- a/ext/date/lib/timezonedb.h +++ b/ext/date/lib/timezonedb.h @@ -1,4 +1,4 @@ -const timelib_tzdb_index_entry timezonedb_idx_builtin[573] = { +const timelib_tzdb_index_entry timezonedb_idx_builtin[575] = { { "Africa/Abidjan" , 0x000000 }, { "Africa/Accra" , 0x000055 }, { "Africa/Addis_Ababa" , 0x0000FD }, @@ -25,556 +25,558 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[573] = { { "Africa/Gaborone" , 0x000FCC }, { "Africa/Harare" , 0x001027 }, { "Africa/Johannesburg" , 0x00107C }, - { "Africa/Kampala" , 0x0010EA }, - { "Africa/Khartoum" , 0x001169 }, - { "Africa/Kigali" , 0x00127C }, - { "Africa/Kinshasa" , 0x0012D1 }, - { "Africa/Lagos" , 0x00132C }, - { "Africa/Libreville" , 0x001381 }, - { "Africa/Lome" , 0x0013D6 }, - { "Africa/Luanda" , 0x00141A }, - { "Africa/Lubumbashi" , 0x00146F }, - { "Africa/Lusaka" , 0x0014CA }, - { "Africa/Malabo" , 0x00151F }, - { "Africa/Maputo" , 0x001585 }, - { "Africa/Maseru" , 0x0015DA }, - { "Africa/Mbabane" , 0x001642 }, - { "Africa/Mogadishu" , 0x001698 }, - { "Africa/Monrovia" , 0x0016F3 }, - { "Africa/Nairobi" , 0x001759 }, - { "Africa/Ndjamena" , 0x0017D8 }, - { "Africa/Niamey" , 0x001844 }, - { "Africa/Nouakchott" , 0x0018B7 }, - { "Africa/Ouagadougou" , 0x001922 }, - { "Africa/Porto-Novo" , 0x001977 }, - { "Africa/Sao_Tome" , 0x0019DD }, - { "Africa/Timbuktu" , 0x001A32 }, - { "Africa/Tripoli" , 0x001A9D }, - { "Africa/Tunis" , 0x001B97 }, - { "Africa/Windhoek" , 0x001CA9 }, - { "America/Adak" , 0x001EF0 }, - { "America/Anchorage" , 0x002266 }, - { "America/Anguilla" , 0x0025DA }, - { "America/Antigua" , 0x00262F }, - { "America/Araguaina" , 0x002695 }, - { "America/Argentina/Buenos_Aires" , 0x0027F0 }, - { "America/Argentina/Catamarca" , 0x00299E }, - { "America/Argentina/ComodRivadavia" , 0x002B5F }, - { "America/Argentina/Cordoba" , 0x002D05 }, - { "America/Argentina/Jujuy" , 0x002EDA }, - { "America/Argentina/La_Rioja" , 0x00308E }, - { "America/Argentina/Mendoza" , 0x003246 }, - { "America/Argentina/Rio_Gallegos" , 0x003406 }, - { "America/Argentina/Salta" , 0x0035BB }, - { "America/Argentina/San_Juan" , 0x003767 }, - { "America/Argentina/San_Luis" , 0x00391F }, - { "America/Argentina/Tucuman" , 0x003AE5 }, - { "America/Argentina/Ushuaia" , 0x003CA1 }, - { "America/Aruba" , 0x003E5C }, - { "America/Asuncion" , 0x003EC2 }, - { "America/Atikokan" , 0x0041A7 }, - { "America/Atka" , 0x00427D }, - { "America/Bahia" , 0x0045E3 }, - { "America/Bahia_Banderas" , 0x00476C }, - { "America/Barbados" , 0x0049E5 }, - { "America/Belem" , 0x004A7F }, - { "America/Belize" , 0x004B7A }, - { "America/Blanc-Sablon" , 0x004CF6 }, - { "America/Boa_Vista" , 0x004DAA }, - { "America/Bogota" , 0x004EB3 }, - { "America/Boise" , 0x004F1F }, - { "America/Buenos_Aires" , 0x0052B6 }, - { "America/Cambridge_Bay" , 0x00544F }, - { "America/Campo_Grande" , 0x005777 }, - { "America/Cancun" , 0x005A66 }, - { "America/Caracas" , 0x005CA8 }, - { "America/Catamarca" , 0x005D0F }, - { "America/Cayenne" , 0x005EB5 }, - { "America/Cayman" , 0x005F17 }, - { "America/Chicago" , 0x005F6C }, - { "America/Chihuahua" , 0x006483 }, - { "America/Coral_Harbour" , 0x0066EE }, - { "America/Cordoba" , 0x006780 }, - { "America/Costa_Rica" , 0x006926 }, - { "America/Cuiaba" , 0x0069B0 }, - { "America/Curacao" , 0x006C8E }, - { "America/Danmarkshavn" , 0x006CF4 }, - { "America/Dawson" , 0x006E38 }, - { "America/Dawson_Creek" , 0x007155 }, - { "America/Denver" , 0x00732F }, - { "America/Detroit" , 0x0076B5 }, - { "America/Dominica" , 0x007A14 }, - { "America/Edmonton" , 0x007A69 }, - { "America/Eirunepe" , 0x007E21 }, - { "America/El_Salvador" , 0x007F34 }, - { "America/Ensenada" , 0x007FA9 }, - { "America/Fort_Wayne" , 0x008450 }, - { "America/Fortaleza" , 0x008312 }, - { "America/Glace_Bay" , 0x0086BA }, - { "America/Godthab" , 0x008A31 }, - { "America/Goose_Bay" , 0x008CF5 }, - { "America/Grand_Turk" , 0x0091B2 }, - { "America/Grenada" , 0x009461 }, - { "America/Guadeloupe" , 0x0094B6 }, - { "America/Guatemala" , 0x00950B }, - { "America/Guayaquil" , 0x009594 }, - { "America/Guyana" , 0x0095F1 }, - { "America/Halifax" , 0x009672 }, - { "America/Havana" , 0x009B88 }, - { "America/Hermosillo" , 0x009EFB }, - { "America/Indiana/Indianapolis" , 0x009FD9 }, - { "America/Indiana/Knox" , 0x00A26A }, - { "America/Indiana/Marengo" , 0x00A601 }, - { "America/Indiana/Petersburg" , 0x00A8A7 }, - { "America/Indiana/Tell_City" , 0x00ADF4 }, - { "America/Indiana/Vevay" , 0x00B08D }, - { "America/Indiana/Vincennes" , 0x00B2C8 }, - { "America/Indiana/Winamac" , 0x00B57C }, - { "America/Indianapolis" , 0x00AB8A }, - { "America/Inuvik" , 0x00B835 }, - { "America/Iqaluit" , 0x00BB2C }, - { "America/Jamaica" , 0x00BE4E }, - { "America/Jujuy" , 0x00BF13 }, - { "America/Juneau" , 0x00C0BD }, - { "America/Kentucky/Louisville" , 0x00C43B }, - { "America/Kentucky/Monticello" , 0x00C859 }, - { "America/Knox_IN" , 0x00CBDE }, - { "America/Kralendijk" , 0x00CF4F }, - { "America/La_Paz" , 0x00CFB5 }, - { "America/Lima" , 0x00D01C }, - { "America/Los_Angeles" , 0x00D0C4 }, - { "America/Louisville" , 0x00D4D5 }, - { "America/Lower_Princes" , 0x00D8CA }, - { "America/Maceio" , 0x00D930 }, - { "America/Managua" , 0x00DA6A }, - { "America/Manaus" , 0x00DB1D }, - { "America/Marigot" , 0x00DC1F }, - { "America/Martinique" , 0x00DC74 }, - { "America/Matamoros" , 0x00DCE0 }, - { "America/Mazatlan" , 0x00DF39 }, - { "America/Mendoza" , 0x00E1A6 }, - { "America/Menominee" , 0x00E35A }, - { "America/Merida" , 0x00E6DB }, - { "America/Metlakatla" , 0x00E916 }, - { "America/Mexico_City" , 0x00EC74 }, - { "America/Miquelon" , 0x00EEEF }, - { "America/Moncton" , 0x00F161 }, - { "America/Monterrey" , 0x00F5F8 }, - { "America/Montevideo" , 0x00F85B }, - { "America/Montreal" , 0x00FB6D }, - { "America/Montserrat" , 0x010083 }, - { "America/Nassau" , 0x0100D8 }, - { "America/New_York" , 0x01041D }, - { "America/Nipigon" , 0x010928 }, - { "America/Nome" , 0x010C79 }, - { "America/Noronha" , 0x010FF7 }, - { "America/North_Dakota/Beulah" , 0x011127 }, - { "America/North_Dakota/Center" , 0x0114BB }, - { "America/North_Dakota/New_Salem" , 0x01184F }, - { "America/Ojinaga" , 0x011BF8 }, - { "America/Panama" , 0x011E59 }, - { "America/Pangnirtung" , 0x011EAE }, - { "America/Paramaribo" , 0x0121E4 }, - { "America/Phoenix" , 0x012276 }, - { "America/Port-au-Prince" , 0x012324 }, - { "America/Port_of_Spain" , 0x01253F }, - { "America/Porto_Acre" , 0x012440 }, - { "America/Porto_Velho" , 0x012594 }, - { "America/Puerto_Rico" , 0x01268A }, - { "America/Rainy_River" , 0x0126F5 }, - { "America/Rankin_Inlet" , 0x012A2D }, - { "America/Recife" , 0x012D13 }, - { "America/Regina" , 0x012E3D }, - { "America/Resolute" , 0x012FFB }, - { "America/Rio_Branco" , 0x0132F4 }, - { "America/Rosario" , 0x0133F7 }, - { "America/Santa_Isabel" , 0x01359D }, - { "America/Santarem" , 0x013940 }, - { "America/Santiago" , 0x013A45 }, - { "America/Santo_Domingo" , 0x013DEE }, - { "America/Sao_Paulo" , 0x013EB4 }, - { "America/Scoresbysund" , 0x0141C3 }, - { "America/Shiprock" , 0x0144B1 }, - { "America/Sitka" , 0x014840 }, - { "America/St_Barthelemy" , 0x014BC8 }, - { "America/St_Johns" , 0x014C1D }, - { "America/St_Kitts" , 0x015170 }, - { "America/St_Lucia" , 0x0151C5 }, - { "America/St_Thomas" , 0x01521A }, - { "America/St_Vincent" , 0x01526F }, - { "America/Swift_Current" , 0x0152C4 }, - { "America/Tegucigalpa" , 0x0153E5 }, - { "America/Thule" , 0x015464 }, - { "America/Thunder_Bay" , 0x0156AB }, - { "America/Tijuana" , 0x0159F4 }, - { "America/Toronto" , 0x015D8D }, - { "America/Tortola" , 0x0162A4 }, - { "America/Vancouver" , 0x0162F9 }, - { "America/Virgin" , 0x016736 }, - { "America/Whitehorse" , 0x01678B }, - { "America/Winnipeg" , 0x016AA8 }, - { "America/Yakutat" , 0x016EE8 }, - { "America/Yellowknife" , 0x017253 }, - { "Antarctica/Casey" , 0x017563 }, - { "Antarctica/Davis" , 0x0175EE }, - { "Antarctica/DumontDUrville" , 0x017685 }, - { "Antarctica/Macquarie" , 0x017717 }, - { "Antarctica/Mawson" , 0x017991 }, - { "Antarctica/McMurdo" , 0x017A0D }, - { "Antarctica/Palmer" , 0x017D0F }, - { "Antarctica/Rothera" , 0x01802B }, - { "Antarctica/South_Pole" , 0x0180A1 }, - { "Antarctica/Syowa" , 0x0183A9 }, - { "Antarctica/Vostok" , 0x018417 }, - { "Arctic/Longyearbyen" , 0x018488 }, - { "Asia/Aden" , 0x0187BA }, - { "Asia/Almaty" , 0x01880F }, - { "Asia/Amman" , 0x01898E }, - { "Asia/Anadyr" , 0x018C4E }, - { "Asia/Aqtau" , 0x018E33 }, - { "Asia/Aqtobe" , 0x019032 }, - { "Asia/Ashgabat" , 0x0191EA }, - { "Asia/Ashkhabad" , 0x019307 }, - { "Asia/Baghdad" , 0x019424 }, - { "Asia/Bahrain" , 0x019599 }, - { "Asia/Baku" , 0x0195FF }, - { "Asia/Bangkok" , 0x0198E7 }, - { "Asia/Beirut" , 0x01993C }, - { "Asia/Bishkek" , 0x019C49 }, - { "Asia/Brunei" , 0x019DF5 }, - { "Asia/Calcutta" , 0x019E57 }, - { "Asia/Choibalsan" , 0x019ED0 }, - { "Asia/Chongqing" , 0x01A049 }, - { "Asia/Chungking" , 0x01A138 }, - { "Asia/Colombo" , 0x01A1E7 }, - { "Asia/Dacca" , 0x01A283 }, - { "Asia/Damascus" , 0x01A329 }, - { "Asia/Dhaka" , 0x01A679 }, - { "Asia/Dili" , 0x01A71F }, - { "Asia/Dubai" , 0x01A7A8 }, - { "Asia/Dushanbe" , 0x01A7FD }, - { "Asia/Gaza" , 0x01A900 }, - { "Asia/Harbin" , 0x01AC49 }, - { "Asia/Ho_Chi_Minh" , 0x01AD30 }, - { "Asia/Hong_Kong" , 0x01ADA8 }, - { "Asia/Hovd" , 0x01AF6A }, - { "Asia/Irkutsk" , 0x01B0E2 }, - { "Asia/Istanbul" , 0x01B2C8 }, - { "Asia/Jakarta" , 0x01B6B5 }, - { "Asia/Jayapura" , 0x01B75F }, - { "Asia/Jerusalem" , 0x01B7FB }, - { "Asia/Kabul" , 0x01BB2A }, - { "Asia/Kamchatka" , 0x01BB7B }, - { "Asia/Karachi" , 0x01BD57 }, - { "Asia/Kashgar" , 0x01BE0C }, - { "Asia/Kathmandu" , 0x01BEDD }, - { "Asia/Katmandu" , 0x01BF43 }, - { "Asia/Kolkata" , 0x01BFA9 }, - { "Asia/Krasnoyarsk" , 0x01C022 }, - { "Asia/Kuala_Lumpur" , 0x01C20A }, - { "Asia/Kuching" , 0x01C2C7 }, - { "Asia/Kuwait" , 0x01C3B5 }, - { "Asia/Macao" , 0x01C40A }, - { "Asia/Macau" , 0x01C545 }, - { "Asia/Magadan" , 0x01C680 }, - { "Asia/Makassar" , 0x01C862 }, - { "Asia/Manila" , 0x01C926 }, - { "Asia/Muscat" , 0x01C9AB }, - { "Asia/Nicosia" , 0x01CA00 }, - { "Asia/Novokuznetsk" , 0x01CCE8 }, - { "Asia/Novosibirsk" , 0x01CEEA }, - { "Asia/Omsk" , 0x01D0D5 }, - { "Asia/Oral" , 0x01D2BC }, - { "Asia/Phnom_Penh" , 0x01D48C }, - { "Asia/Pontianak" , 0x01D504 }, - { "Asia/Pyongyang" , 0x01D5C5 }, - { "Asia/Qatar" , 0x01D632 }, - { "Asia/Qyzylorda" , 0x01D698 }, - { "Asia/Rangoon" , 0x01D86E }, - { "Asia/Riyadh" , 0x01D8E6 }, - { "Asia/Saigon" , 0x01D93B }, - { "Asia/Sakhalin" , 0x01D9B3 }, - { "Asia/Samarkand" , 0x01DBAA }, - { "Asia/Seoul" , 0x01DCE0 }, - { "Asia/Shanghai" , 0x01DD84 }, - { "Asia/Singapore" , 0x01DE64 }, - { "Asia/Taipei" , 0x01DF1B }, - { "Asia/Tashkent" , 0x01E033 }, - { "Asia/Tbilisi" , 0x01E164 }, - { "Asia/Tehran" , 0x01E31E }, - { "Asia/Tel_Aviv" , 0x01E58C }, - { "Asia/Thimbu" , 0x01E8BB }, - { "Asia/Thimphu" , 0x01E921 }, - { "Asia/Tokyo" , 0x01E987 }, - { "Asia/Ujung_Pandang" , 0x01EA10 }, - { "Asia/Ulaanbaatar" , 0x01EA8C }, - { "Asia/Ulan_Bator" , 0x01EBE7 }, - { "Asia/Urumqi" , 0x01ED34 }, - { "Asia/Vientiane" , 0x01EDFB }, - { "Asia/Vladivostok" , 0x01EE73 }, - { "Asia/Yakutsk" , 0x01F05F }, - { "Asia/Yekaterinburg" , 0x01F244 }, - { "Asia/Yerevan" , 0x01F44F }, - { "Atlantic/Azores" , 0x01F753 }, - { "Atlantic/Bermuda" , 0x01FC56 }, - { "Atlantic/Canary" , 0x01FF37 }, - { "Atlantic/Cape_Verde" , 0x02020D }, - { "Atlantic/Faeroe" , 0x020286 }, - { "Atlantic/Faroe" , 0x02052A }, - { "Atlantic/Jan_Mayen" , 0x0207CE }, - { "Atlantic/Madeira" , 0x020B00 }, - { "Atlantic/Reykjavik" , 0x021009 }, - { "Atlantic/South_Georgia" , 0x0211C2 }, - { "Atlantic/St_Helena" , 0x0214D0 }, - { "Atlantic/Stanley" , 0x021206 }, - { "Australia/ACT" , 0x021525 }, - { "Australia/Adelaide" , 0x021842 }, - { "Australia/Brisbane" , 0x021B6E }, - { "Australia/Broken_Hill" , 0x021C35 }, - { "Australia/Canberra" , 0x021F73 }, - { "Australia/Currie" , 0x022290 }, - { "Australia/Darwin" , 0x0225C3 }, - { "Australia/Eucla" , 0x022649 }, - { "Australia/Hobart" , 0x02271E }, - { "Australia/LHI" , 0x022A7C }, - { "Australia/Lindeman" , 0x022D17 }, - { "Australia/Lord_Howe" , 0x022DF8 }, - { "Australia/Melbourne" , 0x0230A3 }, - { "Australia/North" , 0x0233C8 }, - { "Australia/NSW" , 0x02343C }, - { "Australia/Perth" , 0x023759 }, - { "Australia/Queensland" , 0x023831 }, - { "Australia/South" , 0x0238DD }, - { "Australia/Sydney" , 0x023BFA }, - { "Australia/Tasmania" , 0x023F37 }, - { "Australia/Victoria" , 0x02427C }, - { "Australia/West" , 0x024599 }, - { "Australia/Yancowinna" , 0x02464F }, - { "Brazil/Acre" , 0x024971 }, - { "Brazil/DeNoronha" , 0x024A70 }, - { "Brazil/East" , 0x024B90 }, - { "Brazil/West" , 0x024E6D }, - { "Canada/Atlantic" , 0x024F65 }, - { "Canada/Central" , 0x02544D }, - { "Canada/East-Saskatchewan" , 0x025D57 }, - { "Canada/Eastern" , 0x025867 }, - { "Canada/Mountain" , 0x025EE0 }, - { "Canada/Newfoundland" , 0x026256 }, - { "Canada/Pacific" , 0x026781 }, - { "Canada/Saskatchewan" , 0x026B9A }, - { "Canada/Yukon" , 0x026D23 }, - { "CET" , 0x027026 }, - { "Chile/Continental" , 0x02732F }, - { "Chile/EasterIsland" , 0x0276CA }, - { "CST6CDT" , 0x027A0C }, - { "Cuba" , 0x027D5D }, - { "EET" , 0x0280D0 }, - { "Egypt" , 0x028383 }, - { "Eire" , 0x028646 }, - { "EST" , 0x028B57 }, - { "EST5EDT" , 0x028B9B }, - { "Etc/GMT" , 0x028EEC }, - { "Etc/GMT+0" , 0x028FB8 }, - { "Etc/GMT+1" , 0x029042 }, - { "Etc/GMT+10" , 0x0290CF }, - { "Etc/GMT+11" , 0x02915D }, - { "Etc/GMT+12" , 0x0291EB }, - { "Etc/GMT+2" , 0x029306 }, - { "Etc/GMT+3" , 0x029392 }, - { "Etc/GMT+4" , 0x02941E }, - { "Etc/GMT+5" , 0x0294AA }, - { "Etc/GMT+6" , 0x029536 }, - { "Etc/GMT+7" , 0x0295C2 }, - { "Etc/GMT+8" , 0x02964E }, - { "Etc/GMT+9" , 0x0296DA }, - { "Etc/GMT-0" , 0x028F74 }, - { "Etc/GMT-1" , 0x028FFC }, - { "Etc/GMT-10" , 0x029088 }, - { "Etc/GMT-11" , 0x029116 }, - { "Etc/GMT-12" , 0x0291A4 }, - { "Etc/GMT-13" , 0x029232 }, - { "Etc/GMT-14" , 0x029279 }, - { "Etc/GMT-2" , 0x0292C0 }, - { "Etc/GMT-3" , 0x02934C }, - { "Etc/GMT-4" , 0x0293D8 }, - { "Etc/GMT-5" , 0x029464 }, - { "Etc/GMT-6" , 0x0294F0 }, - { "Etc/GMT-7" , 0x02957C }, - { "Etc/GMT-8" , 0x029608 }, - { "Etc/GMT-9" , 0x029694 }, - { "Etc/GMT0" , 0x028F30 }, - { "Etc/Greenwich" , 0x029720 }, - { "Etc/UCT" , 0x029764 }, - { "Etc/Universal" , 0x0297A8 }, - { "Etc/UTC" , 0x0297EC }, - { "Etc/Zulu" , 0x029830 }, - { "Europe/Amsterdam" , 0x029874 }, - { "Europe/Andorra" , 0x029CB2 }, - { "Europe/Athens" , 0x029F2E }, - { "Europe/Belfast" , 0x02A271 }, - { "Europe/Belgrade" , 0x02A7A8 }, - { "Europe/Berlin" , 0x02AA71 }, - { "Europe/Bratislava" , 0x02ADC7 }, - { "Europe/Brussels" , 0x02B0F9 }, - { "Europe/Bucharest" , 0x02B530 }, - { "Europe/Budapest" , 0x02B85A }, - { "Europe/Chisinau" , 0x02BBCD }, - { "Europe/Copenhagen" , 0x02BF5B }, - { "Europe/Dublin" , 0x02C265 }, - { "Europe/Gibraltar" , 0x02C776 }, - { "Europe/Guernsey" , 0x02CBCD }, - { "Europe/Helsinki" , 0x02D104 }, - { "Europe/Isle_of_Man" , 0x02D3BA }, - { "Europe/Istanbul" , 0x02D8F1 }, - { "Europe/Jersey" , 0x02DCDE }, - { "Europe/Kaliningrad" , 0x02E215 }, - { "Europe/Kiev" , 0x02E477 }, - { "Europe/Lisbon" , 0x02E78E }, - { "Europe/Ljubljana" , 0x02EC92 }, - { "Europe/London" , 0x02EF5B }, - { "Europe/Luxembourg" , 0x02F492 }, - { "Europe/Madrid" , 0x02F8E8 }, - { "Europe/Malta" , 0x02FCAE }, - { "Europe/Mariehamn" , 0x030067 }, - { "Europe/Minsk" , 0x03031D }, - { "Europe/Monaco" , 0x030628 }, - { "Europe/Moscow" , 0x030A63 }, - { "Europe/Nicosia" , 0x030CB4 }, - { "Europe/Oslo" , 0x030F9C }, - { "Europe/Paris" , 0x0312CE }, - { "Europe/Podgorica" , 0x031714 }, - { "Europe/Prague" , 0x0319DD }, - { "Europe/Riga" , 0x031D0F }, - { "Europe/Rome" , 0x032054 }, - { "Europe/Samara" , 0x032417 }, - { "Europe/San_Marino" , 0x032647 }, - { "Europe/Sarajevo" , 0x032A0A }, - { "Europe/Simferopol" , 0x032CD3 }, - { "Europe/Skopje" , 0x032FFE }, - { "Europe/Sofia" , 0x0332C7 }, - { "Europe/Stockholm" , 0x0335CF }, - { "Europe/Tallinn" , 0x03387E }, - { "Europe/Tirane" , 0x033BB8 }, - { "Europe/Tiraspol" , 0x033EBE }, - { "Europe/Uzhgorod" , 0x03424C }, - { "Europe/Vaduz" , 0x034563 }, - { "Europe/Vatican" , 0x0347F6 }, - { "Europe/Vienna" , 0x034BB9 }, - { "Europe/Vilnius" , 0x034EE6 }, - { "Europe/Volgograd" , 0x035225 }, - { "Europe/Warsaw" , 0x035425 }, - { "Europe/Zagreb" , 0x035806 }, - { "Europe/Zaporozhye" , 0x035ACF }, - { "Europe/Zurich" , 0x035E10 }, - { "Factory" , 0x0360BF }, - { "GB" , 0x036130 }, - { "GB-Eire" , 0x036667 }, - { "GMT" , 0x036B9E }, - { "GMT+0" , 0x036C6A }, - { "GMT-0" , 0x036C26 }, - { "GMT0" , 0x036BE2 }, - { "Greenwich" , 0x036CAE }, - { "Hongkong" , 0x036CF2 }, - { "HST" , 0x036EB4 }, - { "Iceland" , 0x036EF8 }, - { "Indian/Antananarivo" , 0x0370B1 }, - { "Indian/Chagos" , 0x037125 }, - { "Indian/Christmas" , 0x037187 }, - { "Indian/Cocos" , 0x0371CB }, - { "Indian/Comoro" , 0x03720F }, - { "Indian/Kerguelen" , 0x037264 }, - { "Indian/Mahe" , 0x0372B9 }, - { "Indian/Maldives" , 0x03730E }, - { "Indian/Mauritius" , 0x037363 }, - { "Indian/Mayotte" , 0x0373D9 }, - { "Indian/Reunion" , 0x03742E }, - { "Iran" , 0x037483 }, - { "Israel" , 0x0376F1 }, - { "Jamaica" , 0x037A20 }, - { "Japan" , 0x037AE5 }, - { "Kwajalein" , 0x037B6E }, - { "Libya" , 0x037BD1 }, - { "MET" , 0x037CCB }, - { "Mexico/BajaNorte" , 0x037FD4 }, - { "Mexico/BajaSur" , 0x03833D }, - { "Mexico/General" , 0x038582 }, - { "MST" , 0x0387E0 }, - { "MST7MDT" , 0x038824 }, - { "Navajo" , 0x038B75 }, - { "NZ" , 0x038EEE }, - { "NZ-CHAT" , 0x03926C }, - { "Pacific/Apia" , 0x039554 }, - { "Pacific/Auckland" , 0x0395D2 }, - { "Pacific/Chatham" , 0x03995E }, - { "Pacific/Chuuk" , 0x039C55 }, - { "Pacific/Easter" , 0x039CAE }, - { "Pacific/Efate" , 0x03A00C }, - { "Pacific/Enderbury" , 0x03A0D2 }, - { "Pacific/Fakaofo" , 0x03A140 }, - { "Pacific/Fiji" , 0x03A184 }, - { "Pacific/Funafuti" , 0x03A20E }, - { "Pacific/Galapagos" , 0x03A252 }, - { "Pacific/Gambier" , 0x03A2CA }, - { "Pacific/Guadalcanal" , 0x03A32F }, - { "Pacific/Guam" , 0x03A384 }, - { "Pacific/Honolulu" , 0x03A3DA }, - { "Pacific/Johnston" , 0x03A451 }, - { "Pacific/Kiritimati" , 0x03A4A3 }, - { "Pacific/Kosrae" , 0x03A50E }, - { "Pacific/Kwajalein" , 0x03A56B }, - { "Pacific/Majuro" , 0x03A5D7 }, - { "Pacific/Marquesas" , 0x03A636 }, - { "Pacific/Midway" , 0x03A69D }, - { "Pacific/Nauru" , 0x03A727 }, - { "Pacific/Niue" , 0x03A79F }, - { "Pacific/Norfolk" , 0x03A7FD }, - { "Pacific/Noumea" , 0x03A852 }, - { "Pacific/Pago_Pago" , 0x03A8E2 }, - { "Pacific/Palau" , 0x03A96B }, - { "Pacific/Pitcairn" , 0x03A9AF }, - { "Pacific/Pohnpei" , 0x03AA04 }, - { "Pacific/Ponape" , 0x03AA59 }, - { "Pacific/Port_Moresby" , 0x03AA9E }, - { "Pacific/Rarotonga" , 0x03AAE2 }, - { "Pacific/Saipan" , 0x03ABBE }, - { "Pacific/Samoa" , 0x03AC21 }, - { "Pacific/Tahiti" , 0x03ACAA }, - { "Pacific/Tarawa" , 0x03AD0F }, - { "Pacific/Tongatapu" , 0x03AD63 }, - { "Pacific/Truk" , 0x03ADEF }, - { "Pacific/Wake" , 0x03AE34 }, - { "Pacific/Wallis" , 0x03AE84 }, - { "Pacific/Yap" , 0x03AEC8 }, - { "Poland" , 0x03AF0D }, - { "Portugal" , 0x03B2EE }, - { "PRC" , 0x03B7EA }, - { "PST8PDT" , 0x03B89B }, - { "ROC" , 0x03BBEC }, - { "ROK" , 0x03BD04 }, - { "Singapore" , 0x03BDA8 }, - { "Turkey" , 0x03BE5F }, - { "UCT" , 0x03C24C }, - { "Universal" , 0x03C290 }, - { "US/Alaska" , 0x03C2D4 }, - { "US/Aleutian" , 0x03C63D }, - { "US/Arizona" , 0x03C9A3 }, - { "US/Central" , 0x03CA31 }, - { "US/East-Indiana" , 0x03D43B }, - { "US/Eastern" , 0x03CF3C }, - { "US/Hawaii" , 0x03D6A5 }, - { "US/Indiana-Starke" , 0x03D716 }, - { "US/Michigan" , 0x03DA87 }, - { "US/Mountain" , 0x03DDBE }, - { "US/Pacific" , 0x03E137 }, - { "US/Pacific-New" , 0x03E53C }, - { "US/Samoa" , 0x03E941 }, - { "UTC" , 0x03E9CA }, - { "W-SU" , 0x03ECC1 }, - { "WET" , 0x03EA0E }, - { "Zulu" , 0x03EEFB }, + { "Africa/Juba" , 0x0010EA }, + { "Africa/Kampala" , 0x0011FD }, + { "Africa/Khartoum" , 0x00127C }, + { "Africa/Kigali" , 0x00138F }, + { "Africa/Kinshasa" , 0x0013E4 }, + { "Africa/Lagos" , 0x00143F }, + { "Africa/Libreville" , 0x001494 }, + { "Africa/Lome" , 0x0014E9 }, + { "Africa/Luanda" , 0x00152D }, + { "Africa/Lubumbashi" , 0x001582 }, + { "Africa/Lusaka" , 0x0015DD }, + { "Africa/Malabo" , 0x001632 }, + { "Africa/Maputo" , 0x001698 }, + { "Africa/Maseru" , 0x0016ED }, + { "Africa/Mbabane" , 0x001755 }, + { "Africa/Mogadishu" , 0x0017AB }, + { "Africa/Monrovia" , 0x001806 }, + { "Africa/Nairobi" , 0x00186C }, + { "Africa/Ndjamena" , 0x0018EB }, + { "Africa/Niamey" , 0x001957 }, + { "Africa/Nouakchott" , 0x0019CA }, + { "Africa/Ouagadougou" , 0x001A35 }, + { "Africa/Porto-Novo" , 0x001A8A }, + { "Africa/Sao_Tome" , 0x001AF0 }, + { "Africa/Timbuktu" , 0x001B45 }, + { "Africa/Tripoli" , 0x001BB0 }, + { "Africa/Tunis" , 0x001CAA }, + { "Africa/Windhoek" , 0x001DBC }, + { "America/Adak" , 0x002003 }, + { "America/Anchorage" , 0x002379 }, + { "America/Anguilla" , 0x0026ED }, + { "America/Antigua" , 0x002742 }, + { "America/Araguaina" , 0x0027A8 }, + { "America/Argentina/Buenos_Aires" , 0x002903 }, + { "America/Argentina/Catamarca" , 0x002AB1 }, + { "America/Argentina/ComodRivadavia" , 0x002C72 }, + { "America/Argentina/Cordoba" , 0x002E18 }, + { "America/Argentina/Jujuy" , 0x002FED }, + { "America/Argentina/La_Rioja" , 0x0031A1 }, + { "America/Argentina/Mendoza" , 0x003359 }, + { "America/Argentina/Rio_Gallegos" , 0x003519 }, + { "America/Argentina/Salta" , 0x0036CE }, + { "America/Argentina/San_Juan" , 0x00387A }, + { "America/Argentina/San_Luis" , 0x003A32 }, + { "America/Argentina/Tucuman" , 0x003BF8 }, + { "America/Argentina/Ushuaia" , 0x003DB4 }, + { "America/Aruba" , 0x003F6F }, + { "America/Asuncion" , 0x003FD5 }, + { "America/Atikokan" , 0x0042BA }, + { "America/Atka" , 0x004390 }, + { "America/Bahia" , 0x0046F6 }, + { "America/Bahia_Banderas" , 0x004988 }, + { "America/Barbados" , 0x004C01 }, + { "America/Belem" , 0x004C9B }, + { "America/Belize" , 0x004D96 }, + { "America/Blanc-Sablon" , 0x004F12 }, + { "America/Boa_Vista" , 0x004FC6 }, + { "America/Bogota" , 0x0050CF }, + { "America/Boise" , 0x00513B }, + { "America/Buenos_Aires" , 0x0054D2 }, + { "America/Cambridge_Bay" , 0x00566B }, + { "America/Campo_Grande" , 0x005993 }, + { "America/Cancun" , 0x005C82 }, + { "America/Caracas" , 0x005EC4 }, + { "America/Catamarca" , 0x005F2B }, + { "America/Cayenne" , 0x0060D1 }, + { "America/Cayman" , 0x006133 }, + { "America/Chicago" , 0x006188 }, + { "America/Chihuahua" , 0x00669F }, + { "America/Coral_Harbour" , 0x00690A }, + { "America/Cordoba" , 0x00699C }, + { "America/Costa_Rica" , 0x006B42 }, + { "America/Cuiaba" , 0x006BCC }, + { "America/Curacao" , 0x006EAA }, + { "America/Danmarkshavn" , 0x006F10 }, + { "America/Dawson" , 0x007054 }, + { "America/Dawson_Creek" , 0x007371 }, + { "America/Denver" , 0x00754B }, + { "America/Detroit" , 0x0078D1 }, + { "America/Dominica" , 0x007C30 }, + { "America/Edmonton" , 0x007C85 }, + { "America/Eirunepe" , 0x00803D }, + { "America/El_Salvador" , 0x008150 }, + { "America/Ensenada" , 0x0081C5 }, + { "America/Fort_Wayne" , 0x00866C }, + { "America/Fortaleza" , 0x00852E }, + { "America/Glace_Bay" , 0x0088D6 }, + { "America/Godthab" , 0x008C4D }, + { "America/Goose_Bay" , 0x008F11 }, + { "America/Grand_Turk" , 0x0093CE }, + { "America/Grenada" , 0x00967D }, + { "America/Guadeloupe" , 0x0096D2 }, + { "America/Guatemala" , 0x009727 }, + { "America/Guayaquil" , 0x0097B0 }, + { "America/Guyana" , 0x00980D }, + { "America/Halifax" , 0x00988E }, + { "America/Havana" , 0x009DA4 }, + { "America/Hermosillo" , 0x00A117 }, + { "America/Indiana/Indianapolis" , 0x00A1F5 }, + { "America/Indiana/Knox" , 0x00A486 }, + { "America/Indiana/Marengo" , 0x00A81D }, + { "America/Indiana/Petersburg" , 0x00AAC3 }, + { "America/Indiana/Tell_City" , 0x00B010 }, + { "America/Indiana/Vevay" , 0x00B2A9 }, + { "America/Indiana/Vincennes" , 0x00B4E4 }, + { "America/Indiana/Winamac" , 0x00B798 }, + { "America/Indianapolis" , 0x00ADA6 }, + { "America/Inuvik" , 0x00BA51 }, + { "America/Iqaluit" , 0x00BD48 }, + { "America/Jamaica" , 0x00C06A }, + { "America/Jujuy" , 0x00C12F }, + { "America/Juneau" , 0x00C2D9 }, + { "America/Kentucky/Louisville" , 0x00C657 }, + { "America/Kentucky/Monticello" , 0x00CA75 }, + { "America/Knox_IN" , 0x00CDFA }, + { "America/Kralendijk" , 0x00D16B }, + { "America/La_Paz" , 0x00D1D1 }, + { "America/Lima" , 0x00D238 }, + { "America/Los_Angeles" , 0x00D2E0 }, + { "America/Louisville" , 0x00D6F1 }, + { "America/Lower_Princes" , 0x00DAE6 }, + { "America/Maceio" , 0x00DB4C }, + { "America/Managua" , 0x00DC86 }, + { "America/Manaus" , 0x00DD39 }, + { "America/Marigot" , 0x00DE3B }, + { "America/Martinique" , 0x00DE90 }, + { "America/Matamoros" , 0x00DEFC }, + { "America/Mazatlan" , 0x00E155 }, + { "America/Mendoza" , 0x00E3C2 }, + { "America/Menominee" , 0x00E576 }, + { "America/Merida" , 0x00E8F7 }, + { "America/Metlakatla" , 0x00EB32 }, + { "America/Mexico_City" , 0x00EC6C }, + { "America/Miquelon" , 0x00EEE7 }, + { "America/Moncton" , 0x00F159 }, + { "America/Monterrey" , 0x00F5F0 }, + { "America/Montevideo" , 0x00F853 }, + { "America/Montreal" , 0x00FB65 }, + { "America/Montserrat" , 0x01007B }, + { "America/Nassau" , 0x0100D0 }, + { "America/New_York" , 0x010415 }, + { "America/Nipigon" , 0x010920 }, + { "America/Nome" , 0x010C71 }, + { "America/Noronha" , 0x010FEF }, + { "America/North_Dakota/Beulah" , 0x01111F }, + { "America/North_Dakota/Center" , 0x0114B3 }, + { "America/North_Dakota/New_Salem" , 0x011847 }, + { "America/Ojinaga" , 0x011BF0 }, + { "America/Panama" , 0x011E51 }, + { "America/Pangnirtung" , 0x011EA6 }, + { "America/Paramaribo" , 0x0121DC }, + { "America/Phoenix" , 0x01226E }, + { "America/Port-au-Prince" , 0x01231C }, + { "America/Port_of_Spain" , 0x012537 }, + { "America/Porto_Acre" , 0x012438 }, + { "America/Porto_Velho" , 0x01258C }, + { "America/Puerto_Rico" , 0x012682 }, + { "America/Rainy_River" , 0x0126ED }, + { "America/Rankin_Inlet" , 0x012A25 }, + { "America/Recife" , 0x012D0B }, + { "America/Regina" , 0x012E35 }, + { "America/Resolute" , 0x012FF3 }, + { "America/Rio_Branco" , 0x0132E4 }, + { "America/Rosario" , 0x0133E7 }, + { "America/Santa_Isabel" , 0x01358D }, + { "America/Santarem" , 0x013930 }, + { "America/Santiago" , 0x013A35 }, + { "America/Santo_Domingo" , 0x013DDE }, + { "America/Sao_Paulo" , 0x013EA4 }, + { "America/Scoresbysund" , 0x0141B3 }, + { "America/Shiprock" , 0x0144A1 }, + { "America/Sitka" , 0x014830 }, + { "America/St_Barthelemy" , 0x014BB8 }, + { "America/St_Johns" , 0x014C0D }, + { "America/St_Kitts" , 0x015160 }, + { "America/St_Lucia" , 0x0151B5 }, + { "America/St_Thomas" , 0x01520A }, + { "America/St_Vincent" , 0x01525F }, + { "America/Swift_Current" , 0x0152B4 }, + { "America/Tegucigalpa" , 0x0153D5 }, + { "America/Thule" , 0x015454 }, + { "America/Thunder_Bay" , 0x01569B }, + { "America/Tijuana" , 0x0159E4 }, + { "America/Toronto" , 0x015D7D }, + { "America/Tortola" , 0x016294 }, + { "America/Vancouver" , 0x0162E9 }, + { "America/Virgin" , 0x016726 }, + { "America/Whitehorse" , 0x01677B }, + { "America/Winnipeg" , 0x016A98 }, + { "America/Yakutat" , 0x016ED8 }, + { "America/Yellowknife" , 0x017243 }, + { "Antarctica/Casey" , 0x017553 }, + { "Antarctica/Davis" , 0x0175DE }, + { "Antarctica/DumontDUrville" , 0x017675 }, + { "Antarctica/Macquarie" , 0x017707 }, + { "Antarctica/Mawson" , 0x017981 }, + { "Antarctica/McMurdo" , 0x0179FD }, + { "Antarctica/Palmer" , 0x017CFF }, + { "Antarctica/Rothera" , 0x01801B }, + { "Antarctica/South_Pole" , 0x018091 }, + { "Antarctica/Syowa" , 0x018399 }, + { "Antarctica/Vostok" , 0x018407 }, + { "Arctic/Longyearbyen" , 0x018478 }, + { "Asia/Aden" , 0x0187AA }, + { "Asia/Almaty" , 0x0187FF }, + { "Asia/Amman" , 0x01897E }, + { "Asia/Anadyr" , 0x018C3E }, + { "Asia/Aqtau" , 0x018E23 }, + { "Asia/Aqtobe" , 0x019022 }, + { "Asia/Ashgabat" , 0x0191DA }, + { "Asia/Ashkhabad" , 0x0192F7 }, + { "Asia/Baghdad" , 0x019414 }, + { "Asia/Bahrain" , 0x019589 }, + { "Asia/Baku" , 0x0195EF }, + { "Asia/Bangkok" , 0x0198D7 }, + { "Asia/Beirut" , 0x01992C }, + { "Asia/Bishkek" , 0x019C39 }, + { "Asia/Brunei" , 0x019DE5 }, + { "Asia/Calcutta" , 0x019E47 }, + { "Asia/Choibalsan" , 0x019EC0 }, + { "Asia/Chongqing" , 0x01A039 }, + { "Asia/Chungking" , 0x01A128 }, + { "Asia/Colombo" , 0x01A1D7 }, + { "Asia/Dacca" , 0x01A273 }, + { "Asia/Damascus" , 0x01A319 }, + { "Asia/Dhaka" , 0x01A669 }, + { "Asia/Dili" , 0x01A70F }, + { "Asia/Dubai" , 0x01A798 }, + { "Asia/Dushanbe" , 0x01A7ED }, + { "Asia/Gaza" , 0x01A8F0 }, + { "Asia/Harbin" , 0x01AB3F }, + { "Asia/Hebron" , 0x01AC26 }, + { "Asia/Ho_Chi_Minh" , 0x01AE7E }, + { "Asia/Hong_Kong" , 0x01AEF6 }, + { "Asia/Hovd" , 0x01B0B8 }, + { "Asia/Irkutsk" , 0x01B230 }, + { "Asia/Istanbul" , 0x01B416 }, + { "Asia/Jakarta" , 0x01B803 }, + { "Asia/Jayapura" , 0x01B8AD }, + { "Asia/Jerusalem" , 0x01B949 }, + { "Asia/Kabul" , 0x01BC78 }, + { "Asia/Kamchatka" , 0x01BCC9 }, + { "Asia/Karachi" , 0x01BEA5 }, + { "Asia/Kashgar" , 0x01BF5A }, + { "Asia/Kathmandu" , 0x01C02B }, + { "Asia/Katmandu" , 0x01C091 }, + { "Asia/Kolkata" , 0x01C0F7 }, + { "Asia/Krasnoyarsk" , 0x01C170 }, + { "Asia/Kuala_Lumpur" , 0x01C358 }, + { "Asia/Kuching" , 0x01C415 }, + { "Asia/Kuwait" , 0x01C503 }, + { "Asia/Macao" , 0x01C558 }, + { "Asia/Macau" , 0x01C693 }, + { "Asia/Magadan" , 0x01C7CE }, + { "Asia/Makassar" , 0x01C9B0 }, + { "Asia/Manila" , 0x01CA74 }, + { "Asia/Muscat" , 0x01CAF9 }, + { "Asia/Nicosia" , 0x01CB4E }, + { "Asia/Novokuznetsk" , 0x01CE36 }, + { "Asia/Novosibirsk" , 0x01D038 }, + { "Asia/Omsk" , 0x01D223 }, + { "Asia/Oral" , 0x01D40A }, + { "Asia/Phnom_Penh" , 0x01D5DA }, + { "Asia/Pontianak" , 0x01D652 }, + { "Asia/Pyongyang" , 0x01D713 }, + { "Asia/Qatar" , 0x01D780 }, + { "Asia/Qyzylorda" , 0x01D7E6 }, + { "Asia/Rangoon" , 0x01D9BC }, + { "Asia/Riyadh" , 0x01DA34 }, + { "Asia/Saigon" , 0x01DA89 }, + { "Asia/Sakhalin" , 0x01DB01 }, + { "Asia/Samarkand" , 0x01DCF8 }, + { "Asia/Seoul" , 0x01DE2E }, + { "Asia/Shanghai" , 0x01DED2 }, + { "Asia/Singapore" , 0x01DFB2 }, + { "Asia/Taipei" , 0x01E069 }, + { "Asia/Tashkent" , 0x01E181 }, + { "Asia/Tbilisi" , 0x01E2B2 }, + { "Asia/Tehran" , 0x01E46C }, + { "Asia/Tel_Aviv" , 0x01E6DA }, + { "Asia/Thimbu" , 0x01EA09 }, + { "Asia/Thimphu" , 0x01EA6F }, + { "Asia/Tokyo" , 0x01EAD5 }, + { "Asia/Ujung_Pandang" , 0x01EB5E }, + { "Asia/Ulaanbaatar" , 0x01EBDA }, + { "Asia/Ulan_Bator" , 0x01ED35 }, + { "Asia/Urumqi" , 0x01EE82 }, + { "Asia/Vientiane" , 0x01EF49 }, + { "Asia/Vladivostok" , 0x01EFC1 }, + { "Asia/Yakutsk" , 0x01F1AD }, + { "Asia/Yekaterinburg" , 0x01F392 }, + { "Asia/Yerevan" , 0x01F59D }, + { "Atlantic/Azores" , 0x01F8A1 }, + { "Atlantic/Bermuda" , 0x01FDA4 }, + { "Atlantic/Canary" , 0x020085 }, + { "Atlantic/Cape_Verde" , 0x02035B }, + { "Atlantic/Faeroe" , 0x0203D4 }, + { "Atlantic/Faroe" , 0x020678 }, + { "Atlantic/Jan_Mayen" , 0x02091C }, + { "Atlantic/Madeira" , 0x020C4E }, + { "Atlantic/Reykjavik" , 0x021157 }, + { "Atlantic/South_Georgia" , 0x021310 }, + { "Atlantic/St_Helena" , 0x02161E }, + { "Atlantic/Stanley" , 0x021354 }, + { "Australia/ACT" , 0x021673 }, + { "Australia/Adelaide" , 0x021990 }, + { "Australia/Brisbane" , 0x021CBC }, + { "Australia/Broken_Hill" , 0x021D83 }, + { "Australia/Canberra" , 0x0220C1 }, + { "Australia/Currie" , 0x0223DE }, + { "Australia/Darwin" , 0x022711 }, + { "Australia/Eucla" , 0x022797 }, + { "Australia/Hobart" , 0x02286C }, + { "Australia/LHI" , 0x022BCA }, + { "Australia/Lindeman" , 0x022E65 }, + { "Australia/Lord_Howe" , 0x022F46 }, + { "Australia/Melbourne" , 0x0231F1 }, + { "Australia/North" , 0x023516 }, + { "Australia/NSW" , 0x02358A }, + { "Australia/Perth" , 0x0238A7 }, + { "Australia/Queensland" , 0x02397F }, + { "Australia/South" , 0x023A2B }, + { "Australia/Sydney" , 0x023D48 }, + { "Australia/Tasmania" , 0x024085 }, + { "Australia/Victoria" , 0x0243CA }, + { "Australia/West" , 0x0246E7 }, + { "Australia/Yancowinna" , 0x02479D }, + { "Brazil/Acre" , 0x024ABF }, + { "Brazil/DeNoronha" , 0x024BBE }, + { "Brazil/East" , 0x024CDE }, + { "Brazil/West" , 0x024FBB }, + { "Canada/Atlantic" , 0x0250B3 }, + { "Canada/Central" , 0x02559B }, + { "Canada/East-Saskatchewan" , 0x025EA5 }, + { "Canada/Eastern" , 0x0259B5 }, + { "Canada/Mountain" , 0x02602E }, + { "Canada/Newfoundland" , 0x0263A4 }, + { "Canada/Pacific" , 0x0268CF }, + { "Canada/Saskatchewan" , 0x026CE8 }, + { "Canada/Yukon" , 0x026E71 }, + { "CET" , 0x027174 }, + { "Chile/Continental" , 0x02747D }, + { "Chile/EasterIsland" , 0x027818 }, + { "CST6CDT" , 0x027B5A }, + { "Cuba" , 0x027EAB }, + { "EET" , 0x02821E }, + { "Egypt" , 0x0284D1 }, + { "Eire" , 0x028794 }, + { "EST" , 0x028CA5 }, + { "EST5EDT" , 0x028CE9 }, + { "Etc/GMT" , 0x02903A }, + { "Etc/GMT+0" , 0x029106 }, + { "Etc/GMT+1" , 0x029190 }, + { "Etc/GMT+10" , 0x02921D }, + { "Etc/GMT+11" , 0x0292AB }, + { "Etc/GMT+12" , 0x029339 }, + { "Etc/GMT+2" , 0x029454 }, + { "Etc/GMT+3" , 0x0294E0 }, + { "Etc/GMT+4" , 0x02956C }, + { "Etc/GMT+5" , 0x0295F8 }, + { "Etc/GMT+6" , 0x029684 }, + { "Etc/GMT+7" , 0x029710 }, + { "Etc/GMT+8" , 0x02979C }, + { "Etc/GMT+9" , 0x029828 }, + { "Etc/GMT-0" , 0x0290C2 }, + { "Etc/GMT-1" , 0x02914A }, + { "Etc/GMT-10" , 0x0291D6 }, + { "Etc/GMT-11" , 0x029264 }, + { "Etc/GMT-12" , 0x0292F2 }, + { "Etc/GMT-13" , 0x029380 }, + { "Etc/GMT-14" , 0x0293C7 }, + { "Etc/GMT-2" , 0x02940E }, + { "Etc/GMT-3" , 0x02949A }, + { "Etc/GMT-4" , 0x029526 }, + { "Etc/GMT-5" , 0x0295B2 }, + { "Etc/GMT-6" , 0x02963E }, + { "Etc/GMT-7" , 0x0296CA }, + { "Etc/GMT-8" , 0x029756 }, + { "Etc/GMT-9" , 0x0297E2 }, + { "Etc/GMT0" , 0x02907E }, + { "Etc/Greenwich" , 0x02986E }, + { "Etc/UCT" , 0x0298B2 }, + { "Etc/Universal" , 0x0298F6 }, + { "Etc/UTC" , 0x02993A }, + { "Etc/Zulu" , 0x02997E }, + { "Europe/Amsterdam" , 0x0299C2 }, + { "Europe/Andorra" , 0x029E00 }, + { "Europe/Athens" , 0x02A07C }, + { "Europe/Belfast" , 0x02A3BF }, + { "Europe/Belgrade" , 0x02A8F6 }, + { "Europe/Berlin" , 0x02ABBF }, + { "Europe/Bratislava" , 0x02AF15 }, + { "Europe/Brussels" , 0x02B247 }, + { "Europe/Bucharest" , 0x02B67E }, + { "Europe/Budapest" , 0x02B9A8 }, + { "Europe/Chisinau" , 0x02BD1B }, + { "Europe/Copenhagen" , 0x02C0A9 }, + { "Europe/Dublin" , 0x02C3B3 }, + { "Europe/Gibraltar" , 0x02C8C4 }, + { "Europe/Guernsey" , 0x02CD1B }, + { "Europe/Helsinki" , 0x02D252 }, + { "Europe/Isle_of_Man" , 0x02D508 }, + { "Europe/Istanbul" , 0x02DA3F }, + { "Europe/Jersey" , 0x02DE2C }, + { "Europe/Kaliningrad" , 0x02E363 }, + { "Europe/Kiev" , 0x02E5C9 }, + { "Europe/Lisbon" , 0x02E8E0 }, + { "Europe/Ljubljana" , 0x02EDE4 }, + { "Europe/London" , 0x02F0AD }, + { "Europe/Luxembourg" , 0x02F5E4 }, + { "Europe/Madrid" , 0x02FA3A }, + { "Europe/Malta" , 0x02FE00 }, + { "Europe/Mariehamn" , 0x0301B9 }, + { "Europe/Minsk" , 0x03046F }, + { "Europe/Monaco" , 0x03067D }, + { "Europe/Moscow" , 0x030AB8 }, + { "Europe/Nicosia" , 0x030D09 }, + { "Europe/Oslo" , 0x030FF1 }, + { "Europe/Paris" , 0x031323 }, + { "Europe/Podgorica" , 0x031769 }, + { "Europe/Prague" , 0x031A32 }, + { "Europe/Riga" , 0x031D64 }, + { "Europe/Rome" , 0x0320A9 }, + { "Europe/Samara" , 0x03246C }, + { "Europe/San_Marino" , 0x03269C }, + { "Europe/Sarajevo" , 0x032A5F }, + { "Europe/Simferopol" , 0x032D28 }, + { "Europe/Skopje" , 0x033053 }, + { "Europe/Sofia" , 0x03331C }, + { "Europe/Stockholm" , 0x033624 }, + { "Europe/Tallinn" , 0x0338D3 }, + { "Europe/Tirane" , 0x033C0D }, + { "Europe/Tiraspol" , 0x033F13 }, + { "Europe/Uzhgorod" , 0x0342A1 }, + { "Europe/Vaduz" , 0x0345B8 }, + { "Europe/Vatican" , 0x03484B }, + { "Europe/Vienna" , 0x034C0E }, + { "Europe/Vilnius" , 0x034F3B }, + { "Europe/Volgograd" , 0x03527A }, + { "Europe/Warsaw" , 0x03547A }, + { "Europe/Zagreb" , 0x03585B }, + { "Europe/Zaporozhye" , 0x035B24 }, + { "Europe/Zurich" , 0x035E65 }, + { "Factory" , 0x036114 }, + { "GB" , 0x036185 }, + { "GB-Eire" , 0x0366BC }, + { "GMT" , 0x036BF3 }, + { "GMT+0" , 0x036CBF }, + { "GMT-0" , 0x036C7B }, + { "GMT0" , 0x036C37 }, + { "Greenwich" , 0x036D03 }, + { "Hongkong" , 0x036D47 }, + { "HST" , 0x036F09 }, + { "Iceland" , 0x036F4D }, + { "Indian/Antananarivo" , 0x037106 }, + { "Indian/Chagos" , 0x03717A }, + { "Indian/Christmas" , 0x0371DC }, + { "Indian/Cocos" , 0x037220 }, + { "Indian/Comoro" , 0x037264 }, + { "Indian/Kerguelen" , 0x0372B9 }, + { "Indian/Mahe" , 0x03730E }, + { "Indian/Maldives" , 0x037363 }, + { "Indian/Mauritius" , 0x0373B8 }, + { "Indian/Mayotte" , 0x03742E }, + { "Indian/Reunion" , 0x037483 }, + { "Iran" , 0x0374D8 }, + { "Israel" , 0x037746 }, + { "Jamaica" , 0x037A75 }, + { "Japan" , 0x037B3A }, + { "Kwajalein" , 0x037BC3 }, + { "Libya" , 0x037C26 }, + { "MET" , 0x037D20 }, + { "Mexico/BajaNorte" , 0x038029 }, + { "Mexico/BajaSur" , 0x038392 }, + { "Mexico/General" , 0x0385D7 }, + { "MST" , 0x038835 }, + { "MST7MDT" , 0x038879 }, + { "Navajo" , 0x038BCA }, + { "NZ" , 0x038F43 }, + { "NZ-CHAT" , 0x0392C1 }, + { "Pacific/Apia" , 0x0395A9 }, + { "Pacific/Auckland" , 0x039646 }, + { "Pacific/Chatham" , 0x0399D2 }, + { "Pacific/Chuuk" , 0x039CC9 }, + { "Pacific/Easter" , 0x039D22 }, + { "Pacific/Efate" , 0x03A080 }, + { "Pacific/Enderbury" , 0x03A146 }, + { "Pacific/Fakaofo" , 0x03A1B4 }, + { "Pacific/Fiji" , 0x03A1F8 }, + { "Pacific/Funafuti" , 0x03A28C }, + { "Pacific/Galapagos" , 0x03A2D0 }, + { "Pacific/Gambier" , 0x03A348 }, + { "Pacific/Guadalcanal" , 0x03A3AD }, + { "Pacific/Guam" , 0x03A402 }, + { "Pacific/Honolulu" , 0x03A458 }, + { "Pacific/Johnston" , 0x03A4CF }, + { "Pacific/Kiritimati" , 0x03A521 }, + { "Pacific/Kosrae" , 0x03A58C }, + { "Pacific/Kwajalein" , 0x03A5E9 }, + { "Pacific/Majuro" , 0x03A655 }, + { "Pacific/Marquesas" , 0x03A6B4 }, + { "Pacific/Midway" , 0x03A71B }, + { "Pacific/Nauru" , 0x03A7A5 }, + { "Pacific/Niue" , 0x03A81D }, + { "Pacific/Norfolk" , 0x03A87B }, + { "Pacific/Noumea" , 0x03A8D0 }, + { "Pacific/Pago_Pago" , 0x03A960 }, + { "Pacific/Palau" , 0x03A9E9 }, + { "Pacific/Pitcairn" , 0x03AA2D }, + { "Pacific/Pohnpei" , 0x03AA82 }, + { "Pacific/Ponape" , 0x03AAD7 }, + { "Pacific/Port_Moresby" , 0x03AB1C }, + { "Pacific/Rarotonga" , 0x03AB60 }, + { "Pacific/Saipan" , 0x03AC3C }, + { "Pacific/Samoa" , 0x03AC9F }, + { "Pacific/Tahiti" , 0x03AD28 }, + { "Pacific/Tarawa" , 0x03AD8D }, + { "Pacific/Tongatapu" , 0x03ADE1 }, + { "Pacific/Truk" , 0x03AE6D }, + { "Pacific/Wake" , 0x03AEB2 }, + { "Pacific/Wallis" , 0x03AF02 }, + { "Pacific/Yap" , 0x03AF46 }, + { "Poland" , 0x03AF8B }, + { "Portugal" , 0x03B36C }, + { "PRC" , 0x03B868 }, + { "PST8PDT" , 0x03B919 }, + { "ROC" , 0x03BC6A }, + { "ROK" , 0x03BD82 }, + { "Singapore" , 0x03BE26 }, + { "Turkey" , 0x03BEDD }, + { "UCT" , 0x03C2CA }, + { "Universal" , 0x03C30E }, + { "US/Alaska" , 0x03C352 }, + { "US/Aleutian" , 0x03C6BB }, + { "US/Arizona" , 0x03CA21 }, + { "US/Central" , 0x03CAAF }, + { "US/East-Indiana" , 0x03D4B9 }, + { "US/Eastern" , 0x03CFBA }, + { "US/Hawaii" , 0x03D723 }, + { "US/Indiana-Starke" , 0x03D794 }, + { "US/Michigan" , 0x03DB05 }, + { "US/Mountain" , 0x03DE3C }, + { "US/Pacific" , 0x03E1B5 }, + { "US/Pacific-New" , 0x03E5BA }, + { "US/Samoa" , 0x03E9BF }, + { "UTC" , 0x03EA48 }, + { "W-SU" , 0x03ED3F }, + { "WET" , 0x03EA8C }, + { "Zulu" , 0x03EF79 }, }; /* This is a generated file, do not modify */ -const unsigned char timelib_timezone_db_data_builtin[257855] = { +const unsigned char timelib_timezone_db_data_builtin[257981] = { /* Africa/Abidjan */ @@ -840,8 +842,8 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0xB6, 0xA3, 0xD3, 0xAC, -0xD6, 0x9D, 0x7F, 0xD0, 0xEF, 0x12, 0x66, 0xE3, 0x01, 0x02, 0x01, 0x00, 0x00, 0x24, 0xD4, 0x00, -0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x26, 0x9D, 0x00, 0x08, 0x4C, 0x4D, 0x54, +0xD6, 0x9D, 0x7F, 0xD0, 0xEF, 0x12, 0x66, 0xD4, 0x01, 0x02, 0x01, 0x00, 0x00, 0x24, 0xD4, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x42, 0x45, 0x41, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xF4, 0x00, 0x01, 0x4E, 0x99, 0x8D, 0x00, 0x00, 0x00, 0x00, @@ -914,13 +916,33 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x00, 0x53, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x46, 0x58, 0x01, 0x3D, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, +/* Africa/Juba */ +0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xB6, 0xA3, 0xDA, 0xE0, +0x00, 0x9E, 0x17, 0xE0, 0x01, 0x7A, 0x34, 0x50, 0x02, 0x7D, 0xF9, 0xE0, 0x03, 0x5B, 0x67, 0xD0, +0x04, 0x60, 0x7E, 0xE0, 0x05, 0x3D, 0xEC, 0xD0, 0x06, 0x40, 0x60, 0xE0, 0x07, 0x1F, 0x20, 0x50, +0x08, 0x20, 0x42, 0xE0, 0x09, 0x00, 0x53, 0xD0, 0x0A, 0x00, 0x24, 0xE0, 0x0A, 0xE1, 0x87, 0x50, +0x0B, 0xE0, 0x06, 0xE0, 0x0C, 0xC4, 0x0C, 0x50, 0x0D, 0xBF, 0xE8, 0xE0, 0x0E, 0xA5, 0x3F, 0xD0, +0x0F, 0xA9, 0x05, 0x60, 0x10, 0x86, 0x73, 0x50, 0x11, 0x88, 0xE7, 0x60, 0x12, 0x67, 0xA6, 0xD0, +0x13, 0x68, 0xC9, 0x60, 0x14, 0x4A, 0x2B, 0xD0, 0x15, 0x48, 0xAB, 0x60, 0x16, 0x2B, 0x5F, 0x50, +0x17, 0x28, 0x8D, 0x60, 0x18, 0x0C, 0x92, 0xD0, 0x19, 0x08, 0x6F, 0x60, 0x19, 0xED, 0xC6, 0x50, +0x1A, 0xF1, 0x8B, 0xE0, 0x1B, 0xD0, 0x4B, 0x50, 0x1C, 0xD1, 0x6D, 0xE0, 0x1D, 0xB1, 0x7E, 0xD0, +0x38, 0x80, 0x45, 0x20, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x00, 0x00, 0x1D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, +0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x4C, 0x4D, +0x54, 0x00, 0x43, 0x41, 0x53, 0x54, 0x00, 0x43, 0x41, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xBA, 0xC8, 0x01, 0x42, 0xE0, 0x40, 0x00, +0x00, 0x00, 0x00, + /* Africa/Kampala */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0xB1, 0xEE, 0xDF, 0x1C, -0xB4, 0xC2, 0x9A, 0xD0, 0xD6, 0x9D, 0x86, 0xD8, 0xE7, 0x8C, 0x47, 0x63, 0x01, 0x02, 0x03, 0x01, +0xB4, 0xC2, 0x9A, 0xD0, 0xD6, 0x9D, 0x86, 0xD8, 0xE7, 0x8C, 0x47, 0x54, 0x01, 0x02, 0x03, 0x01, 0x00, 0x00, 0x1E, 0x64, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, -0x00, 0x08, 0x00, 0x00, 0x26, 0x9D, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, +0x00, 0x08, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x42, 0x45, 0x41, 0x54, 0x00, 0x42, 0x45, 0x41, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0xCF, 0xF2, 0x01, 0x44, 0x1F, 0x42, 0x00, 0x00, 0x00, 0x00, @@ -1062,9 +1084,9 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x50, 0x48, 0x50, 0x31, 0x01, 0x4B, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0xB1, 0xEE, 0xDA, 0xFC, -0xB4, 0xC2, 0x9A, 0xD0, 0xC7, 0x91, 0x47, 0xD8, 0xED, 0x2F, 0xE1, 0xE3, 0x01, 0x02, 0x03, 0x01, +0xB4, 0xC2, 0x9A, 0xD0, 0xC7, 0x91, 0x47, 0xD8, 0xED, 0x2F, 0xE1, 0xD4, 0x01, 0x02, 0x03, 0x01, 0x00, 0x00, 0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x23, 0x28, -0x00, 0x08, 0x00, 0x00, 0x26, 0x9D, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, +0x00, 0x08, 0x00, 0x00, 0x26, 0xAC, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x41, 0x54, 0x00, 0x42, 0x45, 0x41, 0x54, 0x00, 0x42, 0x45, 0x41, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x5E, 0xF2, 0x01, 0x4A, 0xD6, 0x02, 0x00, 0x00, 0x00, 0x00, @@ -1890,7 +1912,7 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { /* America/Bahia */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x96, 0xAA, 0x6B, 0x1C, +0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x96, 0xAA, 0x6B, 0x1C, 0xB8, 0x0F, 0x49, 0xE0, 0xB8, 0xFD, 0x40, 0xA0, 0xB9, 0xF1, 0x34, 0x30, 0xBA, 0xDE, 0x74, 0x20, 0xDA, 0x38, 0xAE, 0x30, 0xDA, 0xEB, 0xFA, 0x30, 0xDC, 0x19, 0xE1, 0xB0, 0xDC, 0xB9, 0x59, 0x20, 0xDD, 0xFB, 0x15, 0x30, 0xDE, 0x9B, 0xDE, 0x20, 0xDF, 0xDD, 0x9A, 0x30, 0xE0, 0x54, 0x33, 0x20, @@ -1905,14 +1927,31 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x32, 0x57, 0x20, 0xB0, 0x33, 0x06, 0x6A, 0x20, 0x34, 0x38, 0x54, 0x30, 0x34, 0xF8, 0xC1, 0x20, 0x36, 0x20, 0x1F, 0x30, 0x36, 0xCF, 0x68, 0xA0, 0x37, 0xF6, 0xC6, 0xB0, 0x38, 0xB8, 0x85, 0x20, 0x39, 0xDF, 0xE3, 0x30, 0x3A, 0x8F, 0x2C, 0xA0, 0x3B, 0xC8, 0xFF, 0xB0, 0x3C, 0x6F, 0x0E, 0xA0, -0x3D, 0xC4, 0x91, 0x30, 0x3E, 0x4E, 0xF0, 0xA0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x3D, 0xC4, 0x91, 0x30, 0x3E, 0x4E, 0xF0, 0xA0, 0x4E, 0x9A, 0x48, 0xB0, 0x4F, 0x49, 0x92, 0x20, +0x50, 0x83, 0x65, 0x30, 0x51, 0x20, 0x39, 0xA0, 0x52, 0x63, 0x47, 0x30, 0x53, 0x00, 0x1B, 0xA0, +0x54, 0x43, 0x29, 0x30, 0x54, 0xE9, 0x38, 0x20, 0x56, 0x23, 0x0B, 0x30, 0x56, 0xC9, 0x1A, 0x20, +0x58, 0x02, 0xED, 0x30, 0x58, 0xA8, 0xFC, 0x20, 0x59, 0xE2, 0xCF, 0x30, 0x5A, 0x88, 0xDE, 0x20, +0x5B, 0xCB, 0xEB, 0xB0, 0x5C, 0x68, 0xC0, 0x20, 0x5D, 0xAB, 0xCD, 0xB0, 0x5E, 0x48, 0xA2, 0x20, +0x5F, 0x8B, 0xAF, 0xB0, 0x60, 0x31, 0xBE, 0xA0, 0x61, 0x6B, 0x91, 0xB0, 0x62, 0x11, 0xA0, 0xA0, +0x63, 0x4B, 0x73, 0xB0, 0x63, 0xFA, 0xBD, 0x20, 0x65, 0x2B, 0x55, 0xB0, 0x65, 0xD1, 0x64, 0xA0, +0x67, 0x14, 0x72, 0x30, 0x67, 0xB1, 0x46, 0xA0, 0x68, 0xF4, 0x54, 0x30, 0x69, 0x9A, 0x63, 0x20, +0x6A, 0xD4, 0x36, 0x30, 0x6B, 0x7A, 0x45, 0x20, 0x6C, 0xB4, 0x18, 0x30, 0x6D, 0x5A, 0x27, 0x20, +0x6E, 0x93, 0xFA, 0x30, 0x6F, 0x3A, 0x09, 0x20, 0x70, 0x7D, 0x16, 0xB0, 0x71, 0x19, 0xEB, 0x20, +0x72, 0x5C, 0xF8, 0xB0, 0x72, 0xF9, 0xCD, 0x20, 0x74, 0x3C, 0xDA, 0xB0, 0x74, 0xD9, 0xAF, 0x20, +0x76, 0x1C, 0xBC, 0xB0, 0x76, 0xC2, 0xCB, 0xA0, 0x77, 0xFC, 0x9E, 0xB0, 0x78, 0xAB, 0xE8, 0x20, +0x79, 0xDC, 0x80, 0xB0, 0x7A, 0x82, 0x8F, 0xA0, 0x7B, 0xC5, 0x9D, 0x30, 0x7C, 0x62, 0x71, 0xA0, +0x7D, 0xA5, 0x7F, 0x30, 0x7E, 0x4B, 0x8E, 0x20, 0x7F, 0x85, 0x61, 0x30, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0xFF, 0xFF, 0xDB, 0xE4, 0x00, 0x00, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x04, 0xFF, -0xFF, 0xD5, 0xD0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x52, 0x53, 0x54, 0x00, 0x42, 0x52, -0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x84, 0xA2, 0x00, 0xD7, 0xE2, 0xED, -0x00, 0x00, 0x00, 0x05, 0x42, 0x61, 0x68, 0x69, 0x61, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xDB, 0xE4, +0x00, 0x00, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x09, 0x4C, 0x4D, +0x54, 0x00, 0x42, 0x52, 0x53, 0x54, 0x00, 0x42, 0x52, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x75, 0x84, 0xA2, 0x00, 0xD7, 0xE2, 0xED, 0x00, 0x00, 0x00, 0x05, 0x42, 0x61, 0x68, +0x69, 0x61, /* America/Bahia_Banderas */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3160,20 +3199,20 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x42, 0x4F, 0x6A, 0x7C, 0x43, 0x64, 0x37, 0x6C, 0x44, 0x2F, 0x4C, 0x7C, 0x45, 0x44, 0x19, 0x6C, 0x45, 0xF3, 0x7E, 0xFC, 0x47, 0x2D, 0x35, 0xEC, 0x47, 0xD3, 0x60, 0xFC, 0x49, 0x0D, 0x17, 0xEC, 0x49, 0xB3, 0x42, 0xFC, 0x4A, 0xEC, 0xF9, 0xEC, 0x4B, 0x9C, 0x5F, 0x7C, 0x4C, 0xD6, 0x16, 0x6C, -0x4D, 0x7C, 0x41, 0x7C, 0x4E, 0xB5, 0xF8, 0x6C, 0x4F, 0x5C, 0x23, 0x7C, 0x50, 0x95, 0xDA, 0x6C, -0x51, 0x3C, 0x05, 0x7C, 0x52, 0x75, 0xBC, 0x6C, 0x53, 0x1B, 0xE7, 0x7C, 0x54, 0x55, 0x9E, 0x6C, -0x54, 0xFB, 0xC9, 0x7C, 0x56, 0x35, 0x80, 0x6C, 0x56, 0xE4, 0xE5, 0xFC, 0x58, 0x1E, 0x9C, 0xEC, -0x58, 0xC4, 0xC7, 0xFC, 0x59, 0xFE, 0x7E, 0xEC, 0x5A, 0xA4, 0xA9, 0xFC, 0x5B, 0xDE, 0x60, 0xEC, -0x5C, 0x84, 0x8B, 0xFC, 0x5D, 0xBE, 0x42, 0xEC, 0x5E, 0x64, 0x6D, 0xFC, 0x5F, 0x9E, 0x24, 0xEC, -0x60, 0x4D, 0x8A, 0x7C, 0x61, 0x87, 0x41, 0x6C, 0x62, 0x2D, 0x6C, 0x7C, 0x63, 0x67, 0x23, 0x6C, -0x64, 0x0D, 0x4E, 0x7C, 0x65, 0x47, 0x05, 0x6C, 0x65, 0xED, 0x30, 0x7C, 0x67, 0x26, 0xE7, 0x6C, -0x67, 0xCD, 0x12, 0x7C, 0x69, 0x06, 0xC9, 0x6C, 0x69, 0xAC, 0xF4, 0x7C, 0x6A, 0xE6, 0xAB, 0x6C, -0x6B, 0x96, 0x10, 0xFC, 0x6C, 0xCF, 0xC7, 0xEC, 0x6D, 0x75, 0xF2, 0xFC, 0x6E, 0xAF, 0xA9, 0xEC, -0x6F, 0x55, 0xD4, 0xFC, 0x70, 0x8F, 0x8B, 0xEC, 0x71, 0x35, 0xB6, 0xFC, 0x72, 0x6F, 0x6D, 0xEC, -0x73, 0x15, 0x98, 0xFC, 0x74, 0x4F, 0x4F, 0xEC, 0x74, 0xFE, 0xB5, 0x7C, 0x76, 0x38, 0x6C, 0x6C, -0x76, 0xDE, 0x97, 0x7C, 0x78, 0x18, 0x4E, 0x6C, 0x78, 0xBE, 0x79, 0x7C, 0x79, 0xF8, 0x30, 0x6C, -0x7A, 0x9E, 0x5B, 0x7C, 0x7B, 0xD8, 0x12, 0x6C, 0x7C, 0x7E, 0x3D, 0x7C, 0x7D, 0xB7, 0xF4, 0x6C, -0x7E, 0x5E, 0x1F, 0x7C, 0x7F, 0x97, 0xD6, 0x6C, 0x01, 0x00, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x4D, 0x7C, 0x41, 0x7C, 0x4E, 0xB6, 0x14, 0x50, 0x4F, 0x5C, 0x3F, 0x60, 0x50, 0x95, 0xF6, 0x50, +0x51, 0x3C, 0x21, 0x60, 0x52, 0x75, 0xD8, 0x50, 0x53, 0x1C, 0x03, 0x60, 0x54, 0x55, 0xBA, 0x50, +0x54, 0xFB, 0xE5, 0x60, 0x56, 0x35, 0x9C, 0x50, 0x56, 0xE5, 0x01, 0xE0, 0x58, 0x1E, 0xB8, 0xD0, +0x58, 0xC4, 0xE3, 0xE0, 0x59, 0xFE, 0x9A, 0xD0, 0x5A, 0xA4, 0xC5, 0xE0, 0x5B, 0xDE, 0x7C, 0xD0, +0x5C, 0x84, 0xA7, 0xE0, 0x5D, 0xBE, 0x5E, 0xD0, 0x5E, 0x64, 0x89, 0xE0, 0x5F, 0x9E, 0x40, 0xD0, +0x60, 0x4D, 0xA6, 0x60, 0x61, 0x87, 0x5D, 0x50, 0x62, 0x2D, 0x88, 0x60, 0x63, 0x67, 0x3F, 0x50, +0x64, 0x0D, 0x6A, 0x60, 0x65, 0x47, 0x21, 0x50, 0x65, 0xED, 0x4C, 0x60, 0x67, 0x27, 0x03, 0x50, +0x67, 0xCD, 0x2E, 0x60, 0x69, 0x06, 0xE5, 0x50, 0x69, 0xAD, 0x10, 0x60, 0x6A, 0xE6, 0xC7, 0x50, +0x6B, 0x96, 0x2C, 0xE0, 0x6C, 0xCF, 0xE3, 0xD0, 0x6D, 0x76, 0x0E, 0xE0, 0x6E, 0xAF, 0xC5, 0xD0, +0x6F, 0x55, 0xF0, 0xE0, 0x70, 0x8F, 0xA7, 0xD0, 0x71, 0x35, 0xD2, 0xE0, 0x72, 0x6F, 0x89, 0xD0, +0x73, 0x15, 0xB4, 0xE0, 0x74, 0x4F, 0x6B, 0xD0, 0x74, 0xFE, 0xD1, 0x60, 0x76, 0x38, 0x88, 0x50, +0x76, 0xDE, 0xB3, 0x60, 0x78, 0x18, 0x6A, 0x50, 0x78, 0xBE, 0x95, 0x60, 0x79, 0xF8, 0x4C, 0x50, +0x7A, 0x9E, 0x77, 0x60, 0x7B, 0xD8, 0x2E, 0x50, 0x7C, 0x7E, 0x59, 0x60, 0x7D, 0xB8, 0x10, 0x50, +0x7E, 0x5E, 0x3B, 0x60, 0x7F, 0x97, 0xF2, 0x50, 0x01, 0x00, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x05, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, @@ -3401,7 +3440,7 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x3E, 0x8F, 0xB4, 0x50, 0x3F, 0x9B, 0x54, 0xD0, 0x40, 0x6F, 0x96, 0x50, 0x45, 0x44, 0x35, 0x50, 0x45, 0xF3, 0x8C, 0xD0, 0x47, 0x24, 0x17, 0x50, 0x47, 0xDC, 0xA9, 0x50, 0x49, 0x03, 0xF9, 0x50, 0x49, 0xB3, 0x50, 0xD0, 0x4A, 0xE3, 0xDB, 0x50, 0x4B, 0x9C, 0x6D, 0x50, 0x4C, 0xCC, 0xF7, 0xD0, -0x4D, 0x85, 0x89, 0xD0, 0x4E, 0xAC, 0xD9, 0xD0, 0x4F, 0x5C, 0x31, 0x50, 0x50, 0x8C, 0xBB, 0xD0, +0x4D, 0x85, 0x89, 0xD0, 0x4E, 0xBF, 0x4E, 0xD0, 0x4F, 0x5C, 0x31, 0x50, 0x50, 0x8C, 0xBB, 0xD0, 0x51, 0x3C, 0x13, 0x50, 0x52, 0x6C, 0x9D, 0xD0, 0x53, 0x1B, 0xF5, 0x50, 0x54, 0x4C, 0x7F, 0xD0, 0x54, 0xFB, 0xD7, 0x50, 0x56, 0x2C, 0x61, 0xD0, 0x56, 0xE4, 0xF3, 0xD0, 0x58, 0x15, 0x7E, 0x50, 0x58, 0xC4, 0xD5, 0xD0, 0x59, 0xF5, 0x60, 0x50, 0x5A, 0xA4, 0xB7, 0xD0, 0x5B, 0xD5, 0x42, 0x50, @@ -4705,8 +4744,8 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { /* America/Metlakatla */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xCB, 0x89, 0x1A, 0xA0, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xCB, 0x89, 0x1A, 0xA0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x26, 0x10, 0xFE, 0xB8, 0x47, 0x20, 0xFF, 0xA8, 0x2A, 0x10, 0x00, 0x98, 0x29, 0x20, 0x01, 0x88, 0x0C, 0x10, 0x02, 0x78, 0x0B, 0x20, 0x03, 0x71, 0x28, 0x90, 0x04, 0x61, 0x27, 0xA0, 0x05, 0x51, 0x0A, 0x90, 0x06, 0x41, 0x09, 0xA0, 0x07, 0x30, 0xEC, 0x90, @@ -4715,49 +4754,15 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x0F, 0xA9, 0xAE, 0x20, 0x10, 0x99, 0x91, 0x10, 0x11, 0x89, 0x90, 0x20, 0x12, 0x79, 0x73, 0x10, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, 0x15, 0x49, 0x54, 0x20, 0x16, 0x39, 0x37, 0x10, 0x17, 0x29, 0x36, 0x20, 0x18, 0x22, 0x53, 0x90, 0x19, 0x09, 0x18, 0x20, 0x1A, 0x02, 0x35, 0x90, -0x1A, 0xF2, 0x34, 0xA0, 0x1B, 0xE2, 0x17, 0x90, 0x1C, 0xD2, 0x16, 0xA0, 0x1D, 0xC1, 0xF9, 0x90, -0x1E, 0xB1, 0xF8, 0xA0, 0x1F, 0xA1, 0xDB, 0x90, 0x20, 0x76, 0x2B, 0x20, 0x21, 0x81, 0xBD, 0x90, -0x22, 0x56, 0x0D, 0x20, 0x23, 0x6A, 0xDA, 0x10, 0x24, 0x35, 0xEF, 0x20, 0x25, 0x4A, 0xBC, 0x10, -0x26, 0x15, 0xD1, 0x20, 0x27, 0x2A, 0x9E, 0x10, 0x27, 0xFE, 0xED, 0xA0, 0x29, 0x0A, 0x80, 0x10, -0x29, 0xDE, 0xCF, 0xA0, 0x2A, 0xEA, 0x62, 0x10, 0x2B, 0xBE, 0xB1, 0xA0, 0x2C, 0xD3, 0x7E, 0x90, -0x2D, 0x9E, 0x93, 0xA0, 0x2E, 0xB3, 0x60, 0x90, 0x2F, 0x7E, 0x75, 0xA0, 0x30, 0x93, 0x42, 0x90, -0x31, 0x67, 0x92, 0x20, 0x32, 0x73, 0x24, 0x90, 0x33, 0x47, 0x74, 0x20, 0x34, 0x53, 0x06, 0x90, -0x35, 0x27, 0x56, 0x20, 0x36, 0x32, 0xE8, 0x90, 0x37, 0x07, 0x38, 0x20, 0x38, 0x1C, 0x05, 0x10, -0x38, 0xE7, 0x1A, 0x20, 0x39, 0xFB, 0xE7, 0x10, 0x3A, 0xC6, 0xFC, 0x20, 0x3B, 0xDB, 0xC9, 0x10, -0x3C, 0xB0, 0x18, 0xA0, 0x3D, 0xBB, 0xAB, 0x10, 0x3E, 0x8F, 0xFA, 0xA0, 0x3F, 0x9B, 0x8D, 0x10, -0x40, 0x6F, 0xDC, 0xA0, 0x41, 0x84, 0xA9, 0x90, 0x42, 0x4F, 0xBE, 0xA0, 0x43, 0x64, 0x8B, 0x90, -0x44, 0x2F, 0xA0, 0xA0, 0x45, 0x44, 0x6D, 0x90, 0x45, 0xF3, 0xD3, 0x20, 0x47, 0x2D, 0x8A, 0x10, -0x47, 0xD3, 0xB5, 0x20, 0x49, 0x0D, 0x6C, 0x10, 0x49, 0xB3, 0x97, 0x20, 0x4A, 0xED, 0x4E, 0x10, -0x4B, 0x9C, 0xB3, 0xA0, 0x4C, 0xD6, 0x6A, 0x90, 0x4D, 0x7C, 0x95, 0xA0, 0x4E, 0xB6, 0x4C, 0x90, -0x4F, 0x5C, 0x77, 0xA0, 0x50, 0x96, 0x2E, 0x90, 0x51, 0x3C, 0x59, 0xA0, 0x52, 0x76, 0x10, 0x90, -0x53, 0x1C, 0x3B, 0xA0, 0x54, 0x55, 0xF2, 0x90, 0x54, 0xFC, 0x1D, 0xA0, 0x56, 0x35, 0xD4, 0x90, -0x56, 0xE5, 0x3A, 0x20, 0x58, 0x1E, 0xF1, 0x10, 0x58, 0xC5, 0x1C, 0x20, 0x59, 0xFE, 0xD3, 0x10, -0x5A, 0xA4, 0xFE, 0x20, 0x5B, 0xDE, 0xB5, 0x10, 0x5C, 0x84, 0xE0, 0x20, 0x5D, 0xBE, 0x97, 0x10, -0x5E, 0x64, 0xC2, 0x20, 0x5F, 0x9E, 0x79, 0x10, 0x60, 0x4D, 0xDE, 0xA0, 0x61, 0x87, 0x95, 0x90, -0x62, 0x2D, 0xC0, 0xA0, 0x63, 0x67, 0x77, 0x90, 0x64, 0x0D, 0xA2, 0xA0, 0x65, 0x47, 0x59, 0x90, -0x65, 0xED, 0x84, 0xA0, 0x67, 0x27, 0x3B, 0x90, 0x67, 0xCD, 0x66, 0xA0, 0x69, 0x07, 0x1D, 0x90, -0x69, 0xAD, 0x48, 0xA0, 0x6A, 0xE6, 0xFF, 0x90, 0x6B, 0x96, 0x65, 0x20, 0x6C, 0xD0, 0x1C, 0x10, -0x6D, 0x76, 0x47, 0x20, 0x6E, 0xAF, 0xFE, 0x10, 0x6F, 0x56, 0x29, 0x20, 0x70, 0x8F, 0xE0, 0x10, -0x71, 0x36, 0x0B, 0x20, 0x72, 0x6F, 0xC2, 0x10, 0x73, 0x15, 0xED, 0x20, 0x74, 0x4F, 0xA4, 0x10, -0x74, 0xFF, 0x09, 0xA0, 0x76, 0x38, 0xC0, 0x90, 0x76, 0xDE, 0xEB, 0xA0, 0x78, 0x18, 0xA2, 0x90, -0x78, 0xBE, 0xCD, 0xA0, 0x79, 0xF8, 0x84, 0x90, 0x7A, 0x9E, 0xAF, 0xA0, 0x7B, 0xD8, 0x66, 0x90, -0x7C, 0x7E, 0x91, 0xA0, 0x7D, 0xB8, 0x48, 0x90, 0x7E, 0x5E, 0x73, 0xA0, 0x7F, 0x98, 0x2A, 0x90, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF, 0x8F, -0x80, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x04, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x08, 0xFF, -0xFF, 0x9D, 0x90, 0x01, 0x0C, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x10, 0xFF, 0xFF, 0x9D, 0x90, 0x01, -0x10, 0x50, 0x53, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 0x00, 0x50, 0x44, 0x54, -0x00, 0x4D, 0x65, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, -0x00, 0x00, 0x00, 0xDD, 0x72, 0x36, 0x00, 0x49, 0xE3, 0x79, 0x00, 0x00, 0x00, 0x20, 0x4D, 0x65, -0x74, 0x6C, 0x61, 0x6B, 0x61, 0x74, 0x6C, 0x61, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, -0x41, 0x6E, 0x6E, 0x65, 0x74, 0x74, 0x65, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, +0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x04, 0xFF, 0xFF, 0x9D, +0x90, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x0C, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x10, 0x50, +0x53, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x4D, +0x65, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDD, +0x72, 0x36, 0x00, 0x49, 0xE3, 0x79, 0x00, 0x00, 0x00, 0x20, 0x4D, 0x65, 0x74, 0x6C, 0x61, 0x6B, +0x61, 0x74, 0x6C, 0x61, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x41, 0x6E, 0x6E, 0x65, +0x74, 0x74, 0x65, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, /* America/Mexico_City */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5916,8 +5921,8 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { /* America/Resolute */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xD5, 0xFB, 0x81, 0x80, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xD5, 0xFB, 0x81, 0x80, 0xF7, 0x2F, 0x4C, 0x60, 0xF8, 0x28, 0x77, 0xE0, 0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, 0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, @@ -5932,37 +5937,37 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, 0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, 0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, 0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, 0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, -0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x6D, 0xF0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x4F, 0xF0, -0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x31, 0xF0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x4E, 0x70, -0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x30, 0x70, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x12, 0x70, -0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xF4, 0x70, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xD6, 0x70, -0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xB8, 0x70, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xD4, 0xF0, -0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xB6, 0xF0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x98, 0xF0, -0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x7A, 0xF0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x5C, 0xF0, -0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x79, 0x70, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x5B, 0x70, -0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x3D, 0x70, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x1F, 0x70, -0x67, 0xCD, 0x3C, 0x70, 0x69, 0x07, 0x01, 0x70, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xE3, 0x70, -0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xFF, 0xF0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xE1, 0xF0, -0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xC3, 0xF0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0xA5, 0xF0, -0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x87, 0xF0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0xA4, 0x70, -0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x86, 0x70, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x68, 0x70, -0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x4A, 0x70, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x2C, 0x70, -0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, +0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, +0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, 0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, +0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, 0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, +0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, 0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, +0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, +0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, +0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, 0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, +0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, 0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, +0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, 0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, +0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, +0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, +0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, +0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, 0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, +0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, 0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, +0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, +0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, -0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x0D, 0x7A, 0x7A, 0x7A, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x29, -0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, -0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x52, 0x65, 0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, -0x2C, 0x20, 0x4E, 0x75, 0x6E, 0x61, 0x76, 0x75, 0x74, +0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0x7A, 0x7A, 0x7A, +0x00, 0x43, 0x44, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, +0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0x4E, 0x33, +0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x29, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, +0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, +0x52, 0x65, 0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 0x2C, 0x20, 0x4E, 0x75, 0x6E, 0x61, 0x76, 0x75, +0x74, /* America/Rio_Branco */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6444,20 +6449,20 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x43, 0x64, 0x30, 0x64, 0x44, 0x2F, 0x45, 0x74, 0x45, 0x44, 0x12, 0x64, 0x45, 0xF3, 0x77, 0xF4, 0x47, 0x2D, 0x2E, 0xE4, 0x47, 0xD3, 0x59, 0xF4, 0x49, 0x0D, 0x10, 0xE4, 0x49, 0xB3, 0x3B, 0xF4, 0x4A, 0xEC, 0xF2, 0xE4, 0x4B, 0x9C, 0x58, 0x74, 0x4C, 0xD6, 0x0F, 0x64, 0x4D, 0x7C, 0x3A, 0x74, -0x4E, 0xB5, 0xF1, 0x64, 0x4F, 0x5C, 0x1C, 0x74, 0x50, 0x95, 0xD3, 0x64, 0x51, 0x3B, 0xFE, 0x74, -0x52, 0x75, 0xB5, 0x64, 0x53, 0x1B, 0xE0, 0x74, 0x54, 0x55, 0x97, 0x64, 0x54, 0xFB, 0xC2, 0x74, -0x56, 0x35, 0x79, 0x64, 0x56, 0xE4, 0xDE, 0xF4, 0x58, 0x1E, 0x95, 0xE4, 0x58, 0xC4, 0xC0, 0xF4, -0x59, 0xFE, 0x77, 0xE4, 0x5A, 0xA4, 0xA2, 0xF4, 0x5B, 0xDE, 0x59, 0xE4, 0x5C, 0x84, 0x84, 0xF4, -0x5D, 0xBE, 0x3B, 0xE4, 0x5E, 0x64, 0x66, 0xF4, 0x5F, 0x9E, 0x1D, 0xE4, 0x60, 0x4D, 0x83, 0x74, -0x61, 0x87, 0x3A, 0x64, 0x62, 0x2D, 0x65, 0x74, 0x63, 0x67, 0x1C, 0x64, 0x64, 0x0D, 0x47, 0x74, -0x65, 0x46, 0xFE, 0x64, 0x65, 0xED, 0x29, 0x74, 0x67, 0x26, 0xE0, 0x64, 0x67, 0xCD, 0x0B, 0x74, -0x69, 0x06, 0xC2, 0x64, 0x69, 0xAC, 0xED, 0x74, 0x6A, 0xE6, 0xA4, 0x64, 0x6B, 0x96, 0x09, 0xF4, -0x6C, 0xCF, 0xC0, 0xE4, 0x6D, 0x75, 0xEB, 0xF4, 0x6E, 0xAF, 0xA2, 0xE4, 0x6F, 0x55, 0xCD, 0xF4, -0x70, 0x8F, 0x84, 0xE4, 0x71, 0x35, 0xAF, 0xF4, 0x72, 0x6F, 0x66, 0xE4, 0x73, 0x15, 0x91, 0xF4, -0x74, 0x4F, 0x48, 0xE4, 0x74, 0xFE, 0xAE, 0x74, 0x76, 0x38, 0x65, 0x64, 0x76, 0xDE, 0x90, 0x74, -0x78, 0x18, 0x47, 0x64, 0x78, 0xBE, 0x72, 0x74, 0x79, 0xF8, 0x29, 0x64, 0x7A, 0x9E, 0x54, 0x74, -0x7B, 0xD8, 0x0B, 0x64, 0x7C, 0x7E, 0x36, 0x74, 0x7D, 0xB7, 0xED, 0x64, 0x7E, 0x5E, 0x18, 0x74, -0x7F, 0x97, 0xCF, 0x64, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, +0x4E, 0xB6, 0x0D, 0x48, 0x4F, 0x5C, 0x38, 0x58, 0x50, 0x95, 0xEF, 0x48, 0x51, 0x3C, 0x1A, 0x58, +0x52, 0x75, 0xD1, 0x48, 0x53, 0x1B, 0xFC, 0x58, 0x54, 0x55, 0xB3, 0x48, 0x54, 0xFB, 0xDE, 0x58, +0x56, 0x35, 0x95, 0x48, 0x56, 0xE4, 0xFA, 0xD8, 0x58, 0x1E, 0xB1, 0xC8, 0x58, 0xC4, 0xDC, 0xD8, +0x59, 0xFE, 0x93, 0xC8, 0x5A, 0xA4, 0xBE, 0xD8, 0x5B, 0xDE, 0x75, 0xC8, 0x5C, 0x84, 0xA0, 0xD8, +0x5D, 0xBE, 0x57, 0xC8, 0x5E, 0x64, 0x82, 0xD8, 0x5F, 0x9E, 0x39, 0xC8, 0x60, 0x4D, 0x9F, 0x58, +0x61, 0x87, 0x56, 0x48, 0x62, 0x2D, 0x81, 0x58, 0x63, 0x67, 0x38, 0x48, 0x64, 0x0D, 0x63, 0x58, +0x65, 0x47, 0x1A, 0x48, 0x65, 0xED, 0x45, 0x58, 0x67, 0x26, 0xFC, 0x48, 0x67, 0xCD, 0x27, 0x58, +0x69, 0x06, 0xDE, 0x48, 0x69, 0xAD, 0x09, 0x58, 0x6A, 0xE6, 0xC0, 0x48, 0x6B, 0x96, 0x25, 0xD8, +0x6C, 0xCF, 0xDC, 0xC8, 0x6D, 0x76, 0x07, 0xD8, 0x6E, 0xAF, 0xBE, 0xC8, 0x6F, 0x55, 0xE9, 0xD8, +0x70, 0x8F, 0xA0, 0xC8, 0x71, 0x35, 0xCB, 0xD8, 0x72, 0x6F, 0x82, 0xC8, 0x73, 0x15, 0xAD, 0xD8, +0x74, 0x4F, 0x64, 0xC8, 0x74, 0xFE, 0xCA, 0x58, 0x76, 0x38, 0x81, 0x48, 0x76, 0xDE, 0xAC, 0x58, +0x78, 0x18, 0x63, 0x48, 0x78, 0xBE, 0x8E, 0x58, 0x79, 0xF8, 0x45, 0x48, 0x7A, 0x9E, 0x70, 0x58, +0x7B, 0xD8, 0x27, 0x48, 0x7C, 0x7E, 0x52, 0x58, 0x7D, 0xB8, 0x09, 0x48, 0x7E, 0x5E, 0x34, 0x58, +0x7F, 0x97, 0xEB, 0x48, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, @@ -8025,7 +8030,7 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { /* Asia/Gaza */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x50, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, 0xC8, 0x59, 0xB2, 0xE0, +0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, 0xC8, 0x59, 0xB2, 0xE0, 0xCC, 0xE5, 0xC1, 0x50, 0xCD, 0xAC, 0xFE, 0x00, 0xCE, 0xC6, 0xF4, 0xD0, 0xCF, 0x8F, 0x66, 0xE0, 0xD0, 0xA9, 0x79, 0xD0, 0xD1, 0x84, 0x60, 0xE0, 0xD2, 0x8A, 0xC9, 0x70, 0xD3, 0x65, 0xB0, 0x80, 0xD4, 0x6B, 0xE0, 0xD0, 0xE8, 0x36, 0x63, 0x60, 0xE8, 0xF4, 0x2D, 0x50, 0xEA, 0x0B, 0xB9, 0x60, @@ -8047,35 +8052,19 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x3D, 0xAF, 0x24, 0xD0, 0x3E, 0x9F, 0x23, 0xE0, 0x3F, 0x8F, 0x06, 0xD0, 0x40, 0x7F, 0x05, 0xE0, 0x41, 0x5C, 0x81, 0xE0, 0x42, 0x5E, 0xE7, 0xE0, 0x43, 0x41, 0xB7, 0xF0, 0x44, 0x2D, 0xA6, 0x60, 0x45, 0x12, 0xFD, 0x50, 0x46, 0x0E, 0xD9, 0xE0, 0x46, 0xE8, 0x6F, 0x70, 0x47, 0xF1, 0x5E, 0xE0, -0x48, 0xB7, 0x2D, 0xF0, 0x49, 0xCB, 0xFA, 0xE0, 0x4A, 0xA0, 0x4A, 0x70, 0x4B, 0xAD, 0x2E, 0x9C, -0x4C, 0x61, 0xBD, 0xD0, 0x4D, 0x8D, 0x10, 0x9C, 0x4E, 0x60, 0x0E, 0x70, 0x4F, 0x76, 0x2D, 0x1C, -0x50, 0x49, 0x2A, 0xF0, 0x51, 0x56, 0x0F, 0x1C, 0x52, 0x29, 0x0C, 0xF0, 0x53, 0x35, 0xF1, 0x1C, -0x54, 0x08, 0xEE, 0xF0, 0x55, 0x15, 0xD3, 0x1C, 0x55, 0xE8, 0xD0, 0xF0, 0x56, 0xF5, 0xB5, 0x1C, -0x57, 0xC8, 0xB2, 0xF0, 0x58, 0xD5, 0x97, 0x1C, 0x59, 0xA8, 0x94, 0xF0, 0x5A, 0xBE, 0xB3, 0x9C, -0x5B, 0x91, 0xB1, 0x70, 0x5C, 0x9E, 0x95, 0x9C, 0x5D, 0x71, 0x93, 0x70, 0x5E, 0x7E, 0x77, 0x9C, -0x5F, 0x51, 0x75, 0x70, 0x60, 0x5E, 0x59, 0x9C, 0x61, 0x31, 0x57, 0x70, 0x62, 0x3E, 0x3B, 0x9C, -0x63, 0x11, 0x39, 0x70, 0x64, 0x1E, 0x1D, 0x9C, 0x64, 0xF1, 0x1B, 0x70, 0x66, 0x07, 0x3A, 0x1C, -0x66, 0xDA, 0x37, 0xF0, 0x67, 0xE7, 0x1C, 0x1C, 0x68, 0xBA, 0x19, 0xF0, 0x69, 0xC6, 0xFE, 0x1C, -0x6A, 0x99, 0xFB, 0xF0, 0x6B, 0xA6, 0xE0, 0x1C, 0x6C, 0x79, 0xDD, 0xF0, 0x6D, 0x86, 0xC2, 0x1C, -0x6E, 0x59, 0xBF, 0xF0, 0x6F, 0x6F, 0xDE, 0x9C, 0x70, 0x42, 0xDC, 0x70, 0x71, 0x4F, 0xC0, 0x9C, -0x72, 0x22, 0xBE, 0x70, 0x73, 0x2F, 0xA2, 0x9C, 0x74, 0x02, 0xA0, 0x70, 0x75, 0x0F, 0x84, 0x9C, -0x75, 0xE2, 0x82, 0x70, 0x76, 0xEF, 0x66, 0x9C, 0x77, 0xC2, 0x64, 0x70, 0x78, 0xCF, 0x48, 0x9C, -0x79, 0xA2, 0x46, 0x70, 0x7A, 0xB8, 0x65, 0x1C, 0x7B, 0x8B, 0x62, 0xF0, 0x7C, 0x98, 0x47, 0x1C, -0x7D, 0x6B, 0x44, 0xF0, 0x7E, 0x78, 0x29, 0x1C, 0x7F, 0x4B, 0x26, 0xF0, 0x00, 0x01, 0x00, 0x01, +0x48, 0xB7, 0x11, 0xD0, 0x49, 0xCB, 0xFA, 0xE0, 0x4A, 0xA0, 0x4A, 0x70, 0x4B, 0xAD, 0x2E, 0x9C, +0x4C, 0x61, 0xBD, 0xD0, 0x4D, 0x96, 0xF3, 0xDC, 0x4E, 0x35, 0xC2, 0x50, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x01, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x30, -0x01, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, -0x2A, 0x30, 0x01, 0x09, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x00, -0x45, 0x45, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB9, 0x64, -0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, 0x00, 0x00, +0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x09, +0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x00, 0x45, 0x45, 0x54, 0x00, +0x45, 0x45, 0x53, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, +0x0A, 0x00, 0x00, 0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, /* Asia/Harbin */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8094,6 +8083,46 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x6E, 0x67, 0x20, 0x28, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x4D, 0x6F, 0x68, 0x65, 0x29, 0x2C, 0x20, 0x4A, 0x69, 0x6C, 0x69, 0x6E, +/* Asia/Hebron */ +0x50, 0x48, 0x50, 0x31, 0x01, 0x50, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, 0xC8, 0x59, 0xB2, 0xE0, +0xCC, 0xE5, 0xC1, 0x50, 0xCD, 0xAC, 0xFE, 0x00, 0xCE, 0xC6, 0xF4, 0xD0, 0xCF, 0x8F, 0x66, 0xE0, +0xD0, 0xA9, 0x79, 0xD0, 0xD1, 0x84, 0x60, 0xE0, 0xD2, 0x8A, 0xC9, 0x70, 0xD3, 0x65, 0xB0, 0x80, +0xD4, 0x6B, 0xE0, 0xD0, 0xE8, 0x36, 0x63, 0x60, 0xE8, 0xF4, 0x2D, 0x50, 0xEA, 0x0B, 0xB9, 0x60, +0xEA, 0xD5, 0x60, 0xD0, 0xEB, 0xEC, 0xFA, 0xF0, 0xEC, 0xB5, 0x6D, 0x00, 0xED, 0xCF, 0x7F, 0xF0, +0xEE, 0x97, 0xF2, 0x00, 0xEF, 0xB0, 0xB3, 0x70, 0xF0, 0x79, 0x25, 0x80, 0xF1, 0x91, 0xE6, 0xF0, +0xF2, 0x5A, 0x59, 0x00, 0xF3, 0x73, 0x1A, 0x70, 0xF4, 0x3B, 0x8C, 0x80, 0xF5, 0x55, 0x9F, 0x70, +0xF6, 0x1E, 0x11, 0x80, 0xF7, 0x36, 0xD2, 0xF0, 0xF7, 0xFF, 0x45, 0x00, 0xF9, 0x18, 0x06, 0x70, +0xF9, 0xE1, 0xCA, 0x00, 0xFA, 0xF9, 0x39, 0xF0, 0xFB, 0x27, 0x42, 0x50, 0x08, 0x7C, 0x8B, 0xE0, +0x08, 0xFD, 0xB0, 0xD0, 0x09, 0xF6, 0xEA, 0x60, 0x0A, 0xA6, 0x33, 0xD0, 0x1C, 0xBE, 0xF8, 0xE0, +0x1D, 0x89, 0xF1, 0xD0, 0x1E, 0xCC, 0xFF, 0x60, 0x1F, 0x60, 0x99, 0x50, 0x20, 0x82, 0xB1, 0x60, +0x21, 0x49, 0xB5, 0xD0, 0x22, 0x5D, 0x4D, 0x60, 0x23, 0x1F, 0x0B, 0xD0, 0x24, 0x5A, 0x30, 0x60, +0x25, 0x00, 0x3F, 0x50, 0x26, 0x0B, 0xED, 0xE0, 0x26, 0xD6, 0xE6, 0xD0, 0x27, 0xEB, 0xCF, 0xE0, +0x28, 0xC0, 0x03, 0x50, 0x29, 0xD4, 0xEC, 0x60, 0x2A, 0xA9, 0x1F, 0xD0, 0x2B, 0xBB, 0x65, 0xE0, +0x2C, 0x89, 0x01, 0xD0, 0x2D, 0x9B, 0x47, 0xE0, 0x2E, 0x5F, 0xA9, 0x50, 0x2F, 0x7B, 0x29, 0xE0, +0x30, 0x48, 0xC5, 0xD0, 0x30, 0xE7, 0x07, 0xE0, 0x31, 0x64, 0x46, 0x60, 0x32, 0x41, 0xC2, 0x60, +0x33, 0x44, 0x28, 0x60, 0x34, 0x21, 0xA4, 0x60, 0x35, 0x24, 0x0A, 0x60, 0x36, 0x01, 0x86, 0x60, +0x36, 0x8B, 0xF3, 0xE0, 0x37, 0x16, 0x61, 0x60, 0x38, 0x06, 0x44, 0x50, 0x38, 0xFF, 0x7D, 0xE0, +0x39, 0xEF, 0x60, 0xD0, 0x3A, 0xDF, 0x5F, 0xE0, 0x3B, 0xCF, 0x42, 0xD0, 0x3C, 0xBF, 0x41, 0xE0, +0x3D, 0xAF, 0x24, 0xD0, 0x3E, 0x9F, 0x23, 0xE0, 0x3F, 0x8F, 0x06, 0xD0, 0x40, 0x7F, 0x05, 0xE0, +0x41, 0x5C, 0x81, 0xE0, 0x42, 0x5E, 0xE7, 0xE0, 0x43, 0x41, 0xB7, 0xF0, 0x44, 0x2D, 0xA6, 0x60, +0x45, 0x12, 0xFD, 0x50, 0x46, 0x0E, 0xD9, 0xE0, 0x46, 0xE8, 0x6F, 0x70, 0x47, 0xF1, 0x5E, 0xE0, +0x48, 0xBB, 0x06, 0x50, 0x49, 0xCB, 0xFA, 0xE0, 0x4A, 0xA0, 0x4A, 0x70, 0x4B, 0xAD, 0x2E, 0x9C, +0x4C, 0x61, 0xBD, 0xD0, 0x4D, 0x95, 0xA2, 0x5C, 0x4E, 0x35, 0xC2, 0x50, 0x4E, 0x5C, 0x0B, 0xE0, +0x4E, 0x85, 0x06, 0x80, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x01, 0x02, +0x05, 0x02, 0x05, 0x02, 0x05, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, +0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x09, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x0D, +0x00, 0x00, 0x1C, 0x20, 0x00, 0x00, 0x45, 0x45, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x49, +0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, +0x65, 0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B, + /* Asia/Ho_Chi_Minh */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, @@ -11305,20 +11334,20 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x43, 0x64, 0x30, 0x64, 0x44, 0x2F, 0x45, 0x74, 0x45, 0x44, 0x12, 0x64, 0x45, 0xF3, 0x77, 0xF4, 0x47, 0x2D, 0x2E, 0xE4, 0x47, 0xD3, 0x59, 0xF4, 0x49, 0x0D, 0x10, 0xE4, 0x49, 0xB3, 0x3B, 0xF4, 0x4A, 0xEC, 0xF2, 0xE4, 0x4B, 0x9C, 0x58, 0x74, 0x4C, 0xD6, 0x0F, 0x64, 0x4D, 0x7C, 0x3A, 0x74, -0x4E, 0xB5, 0xF1, 0x64, 0x4F, 0x5C, 0x1C, 0x74, 0x50, 0x95, 0xD3, 0x64, 0x51, 0x3B, 0xFE, 0x74, -0x52, 0x75, 0xB5, 0x64, 0x53, 0x1B, 0xE0, 0x74, 0x54, 0x55, 0x97, 0x64, 0x54, 0xFB, 0xC2, 0x74, -0x56, 0x35, 0x79, 0x64, 0x56, 0xE4, 0xDE, 0xF4, 0x58, 0x1E, 0x95, 0xE4, 0x58, 0xC4, 0xC0, 0xF4, -0x59, 0xFE, 0x77, 0xE4, 0x5A, 0xA4, 0xA2, 0xF4, 0x5B, 0xDE, 0x59, 0xE4, 0x5C, 0x84, 0x84, 0xF4, -0x5D, 0xBE, 0x3B, 0xE4, 0x5E, 0x64, 0x66, 0xF4, 0x5F, 0x9E, 0x1D, 0xE4, 0x60, 0x4D, 0x83, 0x74, -0x61, 0x87, 0x3A, 0x64, 0x62, 0x2D, 0x65, 0x74, 0x63, 0x67, 0x1C, 0x64, 0x64, 0x0D, 0x47, 0x74, -0x65, 0x46, 0xFE, 0x64, 0x65, 0xED, 0x29, 0x74, 0x67, 0x26, 0xE0, 0x64, 0x67, 0xCD, 0x0B, 0x74, -0x69, 0x06, 0xC2, 0x64, 0x69, 0xAC, 0xED, 0x74, 0x6A, 0xE6, 0xA4, 0x64, 0x6B, 0x96, 0x09, 0xF4, -0x6C, 0xCF, 0xC0, 0xE4, 0x6D, 0x75, 0xEB, 0xF4, 0x6E, 0xAF, 0xA2, 0xE4, 0x6F, 0x55, 0xCD, 0xF4, -0x70, 0x8F, 0x84, 0xE4, 0x71, 0x35, 0xAF, 0xF4, 0x72, 0x6F, 0x66, 0xE4, 0x73, 0x15, 0x91, 0xF4, -0x74, 0x4F, 0x48, 0xE4, 0x74, 0xFE, 0xAE, 0x74, 0x76, 0x38, 0x65, 0x64, 0x76, 0xDE, 0x90, 0x74, -0x78, 0x18, 0x47, 0x64, 0x78, 0xBE, 0x72, 0x74, 0x79, 0xF8, 0x29, 0x64, 0x7A, 0x9E, 0x54, 0x74, -0x7B, 0xD8, 0x0B, 0x64, 0x7C, 0x7E, 0x36, 0x74, 0x7D, 0xB7, 0xED, 0x64, 0x7E, 0x5E, 0x18, 0x74, -0x7F, 0x97, 0xCF, 0x64, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, +0x4E, 0xB6, 0x0D, 0x48, 0x4F, 0x5C, 0x38, 0x58, 0x50, 0x95, 0xEF, 0x48, 0x51, 0x3C, 0x1A, 0x58, +0x52, 0x75, 0xD1, 0x48, 0x53, 0x1B, 0xFC, 0x58, 0x54, 0x55, 0xB3, 0x48, 0x54, 0xFB, 0xDE, 0x58, +0x56, 0x35, 0x95, 0x48, 0x56, 0xE4, 0xFA, 0xD8, 0x58, 0x1E, 0xB1, 0xC8, 0x58, 0xC4, 0xDC, 0xD8, +0x59, 0xFE, 0x93, 0xC8, 0x5A, 0xA4, 0xBE, 0xD8, 0x5B, 0xDE, 0x75, 0xC8, 0x5C, 0x84, 0xA0, 0xD8, +0x5D, 0xBE, 0x57, 0xC8, 0x5E, 0x64, 0x82, 0xD8, 0x5F, 0x9E, 0x39, 0xC8, 0x60, 0x4D, 0x9F, 0x58, +0x61, 0x87, 0x56, 0x48, 0x62, 0x2D, 0x81, 0x58, 0x63, 0x67, 0x38, 0x48, 0x64, 0x0D, 0x63, 0x58, +0x65, 0x47, 0x1A, 0x48, 0x65, 0xED, 0x45, 0x58, 0x67, 0x26, 0xFC, 0x48, 0x67, 0xCD, 0x27, 0x58, +0x69, 0x06, 0xDE, 0x48, 0x69, 0xAD, 0x09, 0x58, 0x6A, 0xE6, 0xC0, 0x48, 0x6B, 0x96, 0x25, 0xD8, +0x6C, 0xCF, 0xDC, 0xC8, 0x6D, 0x76, 0x07, 0xD8, 0x6E, 0xAF, 0xBE, 0xC8, 0x6F, 0x55, 0xE9, 0xD8, +0x70, 0x8F, 0xA0, 0xC8, 0x71, 0x35, 0xCB, 0xD8, 0x72, 0x6F, 0x82, 0xC8, 0x73, 0x15, 0xAD, 0xD8, +0x74, 0x4F, 0x64, 0xC8, 0x74, 0xFE, 0xCA, 0x58, 0x76, 0x38, 0x81, 0x48, 0x76, 0xDE, 0xAC, 0x58, +0x78, 0x18, 0x63, 0x48, 0x78, 0xBE, 0x8E, 0x58, 0x79, 0xF8, 0x45, 0x48, 0x7A, 0x9E, 0x70, 0x58, +0x7B, 0xD8, 0x27, 0x48, 0x7C, 0x7E, 0x52, 0x58, 0x7D, 0xB8, 0x09, 0x48, 0x7E, 0x5E, 0x34, 0x58, +0x7F, 0x97, 0xEB, 0x48, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, @@ -11737,7 +11766,7 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x3E, 0x8F, 0xB4, 0x50, 0x3F, 0x9B, 0x54, 0xD0, 0x40, 0x6F, 0x96, 0x50, 0x45, 0x44, 0x35, 0x50, 0x45, 0xF3, 0x8C, 0xD0, 0x47, 0x24, 0x17, 0x50, 0x47, 0xDC, 0xA9, 0x50, 0x49, 0x03, 0xF9, 0x50, 0x49, 0xB3, 0x50, 0xD0, 0x4A, 0xE3, 0xDB, 0x50, 0x4B, 0x9C, 0x6D, 0x50, 0x4C, 0xCC, 0xF7, 0xD0, -0x4D, 0x85, 0x89, 0xD0, 0x4E, 0xAC, 0xD9, 0xD0, 0x4F, 0x5C, 0x31, 0x50, 0x50, 0x8C, 0xBB, 0xD0, +0x4D, 0x85, 0x89, 0xD0, 0x4E, 0xBF, 0x4E, 0xD0, 0x4F, 0x5C, 0x31, 0x50, 0x50, 0x8C, 0xBB, 0xD0, 0x51, 0x3C, 0x13, 0x50, 0x52, 0x6C, 0x9D, 0xD0, 0x53, 0x1B, 0xF5, 0x50, 0x54, 0x4C, 0x7F, 0xD0, 0x54, 0xFB, 0xD7, 0x50, 0x56, 0x2C, 0x61, 0xD0, 0x56, 0xE4, 0xF3, 0xD0, 0x58, 0x15, 0x7E, 0x50, 0x58, 0xC4, 0xD5, 0xD0, 0x59, 0xF5, 0x60, 0x50, 0x5A, 0xA4, 0xB7, 0xD0, 0x5B, 0xD5, 0x42, 0x50, @@ -13480,7 +13509,7 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { /* Europe/Kaliningrad */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1A, 0x9B, 0x0C, 0x17, 0x60, +0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x9B, 0x0C, 0x17, 0x60, 0x9B, 0xD5, 0xDA, 0xF0, 0x9C, 0xD9, 0xAE, 0x90, 0x9D, 0xA4, 0xB5, 0x90, 0x9E, 0xB9, 0x90, 0x90, 0x9F, 0x84, 0x97, 0x90, 0xC8, 0x09, 0x71, 0x90, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, 0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD0, 0xFA, 0x01, 0x70, @@ -13510,13 +13539,13 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x05, 0x00, 0x00, 0x38, 0x40, 0x01, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, 0x38, 0x40, 0x01, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x16, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, -0x16, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x16, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, +0x16, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x1A, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, -0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xDC, 0xD1, 0xF2, 0x01, 0x31, 0xF0, 0x50, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x73, 0x63, 0x6F, -0x77, 0x2D, 0x30, 0x31, 0x20, 0x2D, 0x20, 0x4B, 0x61, 0x6C, 0x69, 0x6E, 0x69, 0x6E, 0x67, 0x72, -0x61, 0x64, +0x00, 0x46, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, +0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xDC, 0xD1, 0xF2, 0x01, 0x31, 0xF0, 0x50, 0x00, 0x00, 0x00, 0x17, 0x4D, +0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2D, 0x30, 0x31, 0x20, 0x2D, 0x20, 0x4B, 0x61, 0x6C, 0x69, 0x6E, +0x69, 0x6E, 0x67, 0x72, 0x61, 0x64, /* Europe/Kiev */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -14031,8 +14060,8 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { /* Europe/Minsk */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1E, 0xAA, 0x19, 0xAA, 0x38, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x22, 0xAA, 0x19, 0xAA, 0x38, 0xB5, 0xA4, 0x19, 0x60, 0xCA, 0x5E, 0x70, 0xD0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, 0xCF, 0x92, 0x34, 0x10, 0xD0, 0x0A, 0x02, 0x60, 0x15, 0x27, 0xA7, 0xD0, 0x16, 0x18, 0xDC, 0x40, 0x17, 0x08, 0xDB, 0x50, 0x17, 0xFA, 0x0F, 0xC0, 0x18, 0xEA, 0x0E, 0xD0, @@ -14049,36 +14078,20 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x40, 0x66, 0x15, 0x80, 0x41, 0x84, 0x2B, 0x00, 0x42, 0x45, 0xF7, 0x80, 0x43, 0x64, 0x0D, 0x00, 0x44, 0x25, 0xD9, 0x80, 0x45, 0x43, 0xEF, 0x00, 0x46, 0x05, 0xBB, 0x80, 0x47, 0x23, 0xD1, 0x00, 0x47, 0xEE, 0xD8, 0x00, 0x49, 0x03, 0xB3, 0x00, 0x49, 0xCE, 0xBA, 0x00, 0x4A, 0xE3, 0x95, 0x00, -0x4B, 0xAE, 0x9C, 0x00, 0x4C, 0xCC, 0xB1, 0x80, 0x4D, 0x8E, 0x7E, 0x00, 0x4E, 0xAC, 0x93, 0x80, -0x4F, 0x6E, 0x60, 0x00, 0x50, 0x8C, 0x75, 0x80, 0x51, 0x57, 0x7C, 0x80, 0x52, 0x6C, 0x57, 0x80, -0x53, 0x37, 0x5E, 0x80, 0x54, 0x4C, 0x39, 0x80, 0x55, 0x17, 0x40, 0x80, 0x56, 0x2C, 0x1B, 0x80, -0x56, 0xF7, 0x22, 0x80, 0x58, 0x15, 0x38, 0x00, 0x58, 0xD7, 0x04, 0x80, 0x59, 0xF5, 0x1A, 0x00, -0x5A, 0xB6, 0xE6, 0x80, 0x5B, 0xD4, 0xFC, 0x00, 0x5C, 0xA0, 0x03, 0x00, 0x5D, 0xB4, 0xDE, 0x00, -0x5E, 0x7F, 0xE5, 0x00, 0x5F, 0x94, 0xC0, 0x00, 0x60, 0x5F, 0xC7, 0x00, 0x61, 0x7D, 0xDC, 0x80, -0x62, 0x3F, 0xA9, 0x00, 0x63, 0x5D, 0xBE, 0x80, 0x64, 0x1F, 0x8B, 0x00, 0x65, 0x3D, 0xA0, 0x80, -0x66, 0x08, 0xA7, 0x80, 0x67, 0x1D, 0x82, 0x80, 0x67, 0xE8, 0x89, 0x80, 0x68, 0xFD, 0x64, 0x80, -0x69, 0xC8, 0x6B, 0x80, 0x6A, 0xDD, 0x46, 0x80, 0x6B, 0xA8, 0x4D, 0x80, 0x6C, 0xC6, 0x63, 0x00, -0x6D, 0x88, 0x2F, 0x80, 0x6E, 0xA6, 0x45, 0x00, 0x6F, 0x68, 0x11, 0x80, 0x70, 0x86, 0x27, 0x00, -0x71, 0x51, 0x2E, 0x00, 0x72, 0x66, 0x09, 0x00, 0x73, 0x31, 0x10, 0x00, 0x74, 0x45, 0xEB, 0x00, -0x75, 0x10, 0xF2, 0x00, 0x76, 0x2F, 0x07, 0x80, 0x76, 0xF0, 0xD4, 0x00, 0x78, 0x0E, 0xE9, 0x80, -0x78, 0xD0, 0xB6, 0x00, 0x79, 0xEE, 0xCB, 0x80, 0x7A, 0xB0, 0x98, 0x00, 0x7B, 0xCE, 0xAD, 0x80, -0x7C, 0x99, 0xB4, 0x80, 0x7D, 0xAE, 0x8F, 0x80, 0x7E, 0x79, 0x96, 0x80, 0x7F, 0x8E, 0x71, 0x80, -0x01, 0x02, 0x05, 0x03, 0x04, 0x03, 0x04, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x07, -0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x02, 0x09, 0x0A, 0x09, 0x0A, 0x09, -0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, -0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, -0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, +0x4B, 0xAE, 0x9C, 0x00, 0x4C, 0xCC, 0xB1, 0x80, 0x4D, 0x8E, 0x7E, 0x00, 0x01, 0x02, 0x05, 0x03, +0x04, 0x03, 0x04, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x07, 0x08, 0x07, 0x08, 0x07, +0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x02, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, -0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, -0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x00, 0x00, 0x19, 0xC8, 0x00, 0x00, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, -0x0C, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x38, -0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x08, 0x00, 0x00, 0x38, 0x40, 0x01, 0x15, 0x00, -0x00, 0x2A, 0x30, 0x01, 0x19, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x4D, 0x4D, 0x54, 0x00, 0x45, -0x45, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, -0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, -0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xDB, 0x92, 0xF0, 0x01, 0x3C, 0xB8, 0xBA, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x09, 0x0A, 0x0B, +0x00, 0x00, 0x19, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, +0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, +0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x08, +0x00, 0x00, 0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x19, 0x00, 0x00, 0x1C, 0x20, +0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x1E, 0x4D, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, +0x4D, 0x53, 0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, +0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x46, 0x45, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xDB, 0x92, 0xF0, 0x01, 0x3C, 0xB8, 0xBA, 0x00, 0x00, 0x00, 0x00, /* Europe/Monaco */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -16544,13 +16557,15 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { /* Pacific/Apia */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x57, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x91, 0x05, 0xFC, 0x00, -0xDA, 0x62, 0x04, 0x38, 0x4C, 0x9F, 0x27, 0xB0, 0x4D, 0x97, 0x2B, 0xE0, 0x01, 0x02, 0x03, 0x02, -0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x5E, 0x48, 0x00, 0x04, 0xFF, 0xFF, 0x65, 0x50, -0x00, 0x09, 0xFF, 0xFF, 0x73, 0x60, 0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x4D, 0x54, -0x00, 0x57, 0x53, 0x54, 0x00, 0x57, 0x53, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x74, 0x38, 0x9A, 0x00, 0x0C, 0x9D, 0x2A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x12, 0x91, 0x05, 0xFC, 0x00, +0xDA, 0x62, 0x04, 0x38, 0x4C, 0x9F, 0x27, 0xB0, 0x4D, 0x97, 0x2B, 0xE0, 0x4E, 0x7D, 0xE2, 0x60, +0x4E, 0xFD, 0x8B, 0xA0, 0x4F, 0x77, 0x0D, 0xE0, 0x01, 0x02, 0x03, 0x02, 0x03, 0x04, 0x05, 0xFF, +0xFF, 0x5F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x5E, 0x48, 0x00, 0x04, 0xFF, 0xFF, 0x65, 0x50, 0x00, +0x09, 0xFF, 0xFF, 0x73, 0x60, 0x01, 0x0D, 0x00, 0x00, 0xC4, 0xE0, 0x01, 0x0D, 0x00, 0x00, 0xB6, +0xD0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x4D, 0x54, 0x00, 0x57, 0x53, 0x54, 0x00, +0x57, 0x53, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x74, 0x38, 0x9A, 0x00, 0x0C, 0x9D, 0x2A, 0x00, 0x00, 0x00, 0x00, /* Pacific/Auckland */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x4E, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -16759,13 +16774,14 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { /* Pacific/Fiji */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x46, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x9A, 0x13, 0xB2, 0x3C, +0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x9A, 0x13, 0xB2, 0x3C, 0x36, 0x3B, 0x17, 0xE0, 0x36, 0xD7, 0xFA, 0x60, 0x38, 0x24, 0x34, 0x60, 0x38, 0xB7, 0xDC, 0x60, 0x4B, 0x11, 0x2C, 0xE0, 0x4B, 0xAE, 0x0F, 0x60, 0x4C, 0xC2, 0xEA, 0x60, 0x4D, 0x72, 0x41, 0xE0, -0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0xA7, 0x44, 0x00, 0x00, 0x00, -0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x46, -0x4A, 0x53, 0x54, 0x00, 0x46, 0x4A, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, -0xA8, 0xEA, 0x02, 0x22, 0xE6, 0x82, 0x00, 0x00, 0x00, 0x00, +0x4E, 0xA2, 0xCC, 0x60, 0x4F, 0x1A, 0xC4, 0xE0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x00, 0x00, 0xA7, 0x44, 0x00, 0x00, 0x00, 0x00, 0xB6, 0xD0, 0x01, 0x04, 0x00, +0x00, 0xA8, 0xC0, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x46, 0x4A, 0x53, 0x54, 0x00, 0x46, 0x4A, +0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0xA8, 0xEA, 0x02, 0x22, 0xE6, 0x82, +0x00, 0x00, 0x00, 0x00, /* Pacific/Funafuti */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -18157,4 +18173,4 @@ const unsigned char timelib_timezone_db_data_builtin[257855] = { 0x00, 0x00, 0x55, 0x54, 0x43, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00, }; -const timelib_tzdb timezonedb_builtin = { "2011.8", 573, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; +const timelib_tzdb timezonedb_builtin = { "2011.14", 575, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; diff --git a/ext/date/lib/tm2unixtime.c b/ext/date/lib/tm2unixtime.c index de877a382..7af06a8c1 100644 --- a/ext/date/lib/tm2unixtime.c +++ b/ext/date/lib/tm2unixtime.c @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: tm2unixtime.c 302890 2010-08-30 16:25:52Z derick $ */ +/* $Id: tm2unixtime.c 320481 2011-12-06 06:21:08Z derick $ */ #include "timelib.h" @@ -179,11 +179,11 @@ void timelib_do_rel_normalize(timelib_time *base, timelib_rel_time *rt) do {} while (do_range_limit(0, 12, 12, &rt->m, &rt->y)); } -static void do_normalize(timelib_time* time) +void timelib_do_normalize(timelib_time* time) { - do {} while (do_range_limit(0, 60, 60, &time->s, &time->i)); - do {} while (do_range_limit(0, 60, 60, &time->i, &time->h)); - do {} while (do_range_limit(0, 24, 24, &time->h, &time->d)); + if (time->s != TIMELIB_UNSET) do {} while (do_range_limit(0, 60, 60, &time->s, &time->i)); + if (time->s != TIMELIB_UNSET) do {} while (do_range_limit(0, 60, 60, &time->i, &time->h)); + if (time->s != TIMELIB_UNSET) do {} while (do_range_limit(0, 24, 24, &time->h, &time->d)); do {} while (do_range_limit(1, 13, 12, &time->m, &time->y)); do {} while (do_range_limit_days(&time->y, &time->m, &time->d)); @@ -195,7 +195,7 @@ static void do_adjust_relative(timelib_time* time) if (time->relative.have_weekday_relative) { do_adjust_for_weekday(time); } - do_normalize(time); + timelib_do_normalize(time); if (time->have_relative) { time->s += time->relative.s; @@ -215,7 +215,7 @@ static void do_adjust_relative(timelib_time* time) time->m++; break; } - do_normalize(time); + timelib_do_normalize(time); } static void do_adjust_special_weekday(timelib_time* time) @@ -280,7 +280,7 @@ static void do_adjust_special(timelib_time* time) break; } } - do_normalize(time); + timelib_do_normalize(time); memset(&(time->relative.special), 0, sizeof(time->relative.special)); } @@ -300,7 +300,7 @@ static void do_adjust_special_early(timelib_time* time) break; } } - do_normalize(time); + timelib_do_normalize(time); } static timelib_sll do_years(timelib_sll year) diff --git a/ext/date/lib/unixtime2tm.c b/ext/date/lib/unixtime2tm.c index e42da44a8..2894a1ce8 100644 --- a/ext/date/lib/unixtime2tm.c +++ b/ext/date/lib/unixtime2tm.c @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: unixtime2tm.c 307103 2011-01-05 04:13:23Z iliaa $ */ +/* $Id: unixtime2tm.c 319767 2011-11-24 17:13:47Z derick $ */ #include "timelib.h" @@ -146,7 +146,7 @@ void timelib_update_from_sse(timelib_time *tm) int z = tm->z; signed int dst = tm->dst; - timelib_unixtime2gmt(tm, tm->sse - (tm->z * 60)); + timelib_unixtime2gmt(tm, tm->sse - (tm->z * 60) + (tm->dst * 3600)); tm->z = z; tm->dst = dst; @@ -184,7 +184,7 @@ void timelib_unixtime2local(timelib_time *tm, timelib_sll ts) int z = tm->z; signed int dst = tm->dst; - timelib_unixtime2gmt(tm, ts - (tm->z * 60)); + timelib_unixtime2gmt(tm, ts - (tm->z * 60) + (tm->dst * 3600)); tm->z = z; tm->dst = dst; diff --git a/ext/date/php_date.c b/ext/date/php_date.c index ad2391fc0..b74b002c8 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2011 The PHP Group | + | Copyright (c) 1997-2012 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_date.c 314445 2011-08-07 18:12:52Z gwynne $ */ +/* $Id: php_date.c 321634 2012-01-01 13:15:04Z felipe $ */ #include "php.h" #include "php_streams.h" @@ -463,6 +463,8 @@ const zend_function_entry date_funcs_timezone[] = { const zend_function_entry date_funcs_interval[] = { PHP_ME(DateInterval, __construct, arginfo_date_interval_construct, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) + PHP_ME(DateInterval, __wakeup, NULL, ZEND_ACC_PUBLIC) + PHP_ME(DateInterval, __set_state, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) PHP_ME_MAPPING(format, date_interval_format, arginfo_date_method_interval_format, 0) PHP_ME_MAPPING(createFromDateString, date_interval_create_from_date_string, arginfo_date_interval_create_from_date_string, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) PHP_FE_END @@ -832,6 +834,12 @@ static timelib_tzinfo *php_date_parse_tzfile(char *formal_tzname, const timelib_ } return tzi; } + +timelib_tzinfo *php_date_parse_tzfile_wrapper(char *formal_tzname, const timelib_tzdb *tzdb) +{ + TSRMLS_FETCH(); + return php_date_parse_tzfile(formal_tzname, tzdb TSRMLS_CC); +} /* }}} */ /* {{{ Helper functions */ @@ -1367,7 +1375,7 @@ PHPAPI signed long php_parse_date(char *string, signed long *now) int error2; signed long retval; - parsed_time = timelib_strtotime(string, strlen(string), &error, DATE_TIMEZONEDB); + parsed_time = timelib_strtotime(string, strlen(string), &error, DATE_TIMEZONEDB, php_date_parse_tzfile_wrapper); if (error->error_count) { timelib_error_container_dtor(error); return -1; @@ -1404,7 +1412,7 @@ PHP_FUNCTION(strtotime) initial_ts = emalloc(25); snprintf(initial_ts, 24, "@%ld UTC", preset_ts); - t = timelib_strtotime(initial_ts, strlen(initial_ts), NULL, DATE_TIMEZONEDB); /* we ignore the error here, as this should never fail */ + t = timelib_strtotime(initial_ts, strlen(initial_ts), NULL, DATE_TIMEZONEDB, php_date_parse_tzfile_wrapper); /* we ignore the error here, as this should never fail */ timelib_update_ts(t, tzi); now->tz_info = tzi; now->zone_type = TIMELIB_ZONETYPE_ID; @@ -1426,7 +1434,7 @@ PHP_FUNCTION(strtotime) RETURN_FALSE; } - t = timelib_strtotime(times, time_len, &error, DATE_TIMEZONEDB); + t = timelib_strtotime(times, time_len, &error, DATE_TIMEZONEDB, php_date_parse_tzfile_wrapper); error1 = error->error_count; timelib_error_container_dtor(error); timelib_fill_holes(t, now, TIMELIB_NO_CLONE); @@ -2047,6 +2055,9 @@ static zend_object_value date_object_clone_date(zval *this_ptr TSRMLS_DC) zend_object_value new_ov = date_object_new_date_ex(old_obj->std.ce, &new_obj TSRMLS_CC); zend_objects_clone_members(&new_obj->std, new_ov, &old_obj->std, Z_OBJ_HANDLE_P(this_ptr) TSRMLS_CC); + if (!old_obj->time) { + return new_ov; + } /* this should probably moved to a new `timelib_time *timelime_time_clone(timelib_time *)` */ new_obj->time = timelib_time_ctor(); @@ -2168,6 +2179,10 @@ static zend_object_value date_object_clone_timezone(zval *this_ptr TSRMLS_DC) zend_object_value new_ov = date_object_new_timezone_ex(old_obj->std.ce, &new_obj TSRMLS_CC); zend_objects_clone_members(&new_obj->std, new_ov, &old_obj->std, Z_OBJ_HANDLE_P(this_ptr) TSRMLS_CC); + if (!old_obj->initialized) { + return new_ov; + } + new_obj->type = old_obj->type; new_obj->initialized = 1; switch (new_obj->type) { @@ -2388,9 +2403,9 @@ PHPAPI int php_date_initialize(php_date_obj *dateobj, /*const*/ char *time_str, timelib_time_dtor(dateobj->time); } if (format) { - dateobj->time = timelib_parse_from_format(format, time_str_len ? time_str : "", time_str_len ? time_str_len : 0, &err, DATE_TIMEZONEDB); + dateobj->time = timelib_parse_from_format(format, time_str_len ? time_str : "", time_str_len ? time_str_len : 0, &err, DATE_TIMEZONEDB, php_date_parse_tzfile_wrapper); } else { - dateobj->time = timelib_strtotime(time_str_len ? time_str : "now", time_str_len ? time_str_len : sizeof("now") -1, &err, DATE_TIMEZONEDB); + dateobj->time = timelib_strtotime(time_str_len ? time_str : "now", time_str_len ? time_str_len : sizeof("now") -1, &err, DATE_TIMEZONEDB, php_date_parse_tzfile_wrapper); } /* update last errors and warnings */ @@ -2724,7 +2739,7 @@ PHP_FUNCTION(date_parse) RETURN_FALSE; } - parsed_time = timelib_strtotime(date, date_len, &error, DATE_TIMEZONEDB); + parsed_time = timelib_strtotime(date, date_len, &error, DATE_TIMEZONEDB, php_date_parse_tzfile_wrapper); php_date_do_return_parsed_time(INTERNAL_FUNCTION_PARAM_PASSTHRU, parsed_time, error); } /* }}} */ @@ -2743,7 +2758,7 @@ PHP_FUNCTION(date_parse_from_format) RETURN_FALSE; } - parsed_time = timelib_parse_from_format(format, date, date_len, &error, DATE_TIMEZONEDB); + parsed_time = timelib_parse_from_format(format, date, date_len, &error, DATE_TIMEZONEDB, php_date_parse_tzfile_wrapper); php_date_do_return_parsed_time(INTERNAL_FUNCTION_PARAM_PASSTHRU, parsed_time, error); } /* }}} */ @@ -2785,7 +2800,7 @@ PHP_FUNCTION(date_modify) dateobj = (php_date_obj *) zend_object_store_get_object(object TSRMLS_CC); DATE_CHECK_INITIALIZED(dateobj->time, DateTime); - tmp_time = timelib_strtotime(modify, modify_len, &err, DATE_TIMEZONEDB); + tmp_time = timelib_strtotime(modify, modify_len, &err, DATE_TIMEZONEDB, php_date_parse_tzfile_wrapper); /* update last errors and warnings */ update_errors_warnings(err TSRMLS_CC); @@ -3606,6 +3621,70 @@ PHP_METHOD(DateInterval, __construct) } /* }}} */ +static long php_date_long_from_hash_element(HashTable *myht, char *element, size_t size) +{ + zval **z_arg = NULL; + + if (zend_hash_find(myht, element, size + 1, (void**) &z_arg) == SUCCESS) { + convert_to_long(*z_arg); + return Z_LVAL_PP(z_arg); + } else { + return -1; + } +} + +static int php_date_interval_initialize_from_hash(zval **return_value, php_interval_obj **intobj, HashTable *myht TSRMLS_DC) +{ + (*intobj)->diff = timelib_rel_time_ctor(); + + (*intobj)->diff->y = php_date_long_from_hash_element(myht, "y", 1); + (*intobj)->diff->m = php_date_long_from_hash_element(myht, "m", 1); + (*intobj)->diff->d = php_date_long_from_hash_element(myht, "d", 1); + (*intobj)->diff->h = php_date_long_from_hash_element(myht, "h", 1); + (*intobj)->diff->i = php_date_long_from_hash_element(myht, "i", 1); + (*intobj)->diff->s = php_date_long_from_hash_element(myht, "s", 1); + (*intobj)->diff->invert = php_date_long_from_hash_element(myht, "invert", 6); + (*intobj)->diff->days = php_date_long_from_hash_element(myht, "days", 4); + (*intobj)->initialized = 1; + + return 0; +} + +/* {{{ proto DateInterval::__set_state() +*/ +PHP_METHOD(DateInterval, __set_state) +{ + php_interval_obj *intobj; + zval *array; + HashTable *myht; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) { + RETURN_FALSE; + } + + myht = HASH_OF(array); + + php_date_instantiate(date_ce_interval, return_value TSRMLS_CC); + intobj = (php_interval_obj *) zend_object_store_get_object(return_value TSRMLS_CC); + php_date_interval_initialize_from_hash(&return_value, &intobj, myht TSRMLS_CC); +} +/* }}} */ + +/* {{{ proto DateInterval::__wakeup() +*/ +PHP_METHOD(DateInterval, __wakeup) +{ + zval *object = getThis(); + php_interval_obj *intobj; + HashTable *myht; + + intobj = (php_interval_obj *) zend_object_store_get_object(object TSRMLS_CC); + + myht = Z_OBJPROP_P(object); + + php_date_interval_initialize_from_hash(&return_value, &intobj, myht TSRMLS_CC); +} +/* }}} */ /* {{{ proto DateInterval date_interval_create_from_date_string(string time) Uses the normal date parsers and sets up a DateInterval from the relative parts of the parsed string */ @@ -3623,7 +3702,7 @@ PHP_FUNCTION(date_interval_create_from_date_string) php_date_instantiate(date_ce_interval, return_value TSRMLS_CC); - time = timelib_strtotime(time_str, time_str_len, &err, DATE_TIMEZONEDB); + time = timelib_strtotime(time_str, time_str_len, &err, DATE_TIMEZONEDB, php_date_parse_tzfile_wrapper); diobj = (php_interval_obj *) zend_object_store_get_object(return_value TSRMLS_CC); diobj->diff = timelib_rel_time_clone(&time->relative); diobj->initialized = 1; @@ -3661,8 +3740,8 @@ static char *date_interval_format(char *format, int format_len, timelib_rel_time case 'I': length = slprintf(buffer, 32, "%02d", (int) t->i); break; case 'i': length = slprintf(buffer, 32, "%d", (int) t->i); break; - case 'S': length = slprintf(buffer, 32, "%02d", (int) t->s); break; - case 's': length = slprintf(buffer, 32, "%d", (int) t->s); break; + case 'S': length = slprintf(buffer, 32, "%02ld", (long) t->s); break; + case 's': length = slprintf(buffer, 32, "%ld", (long) t->s); break; case 'a': { if ((int) t->days != -99999) { diff --git a/ext/date/php_date.h b/ext/date/php_date.h index cda0b331b..e7adafa24 100644 --- a/ext/date/php_date.h +++ b/ext/date/php_date.h @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2011 The PHP Group | + | Copyright (c) 1997-2012 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_date.h 306939 2011-01-01 02:19:59Z felipe $ */ +/* $Id: php_date.h 321634 2012-01-01 13:15:04Z felipe $ */ #ifndef PHP_DATE_H #define PHP_DATE_H @@ -82,6 +82,8 @@ PHP_FUNCTION(timezone_abbreviations_list); PHP_FUNCTION(timezone_version_get); PHP_METHOD(DateInterval, __construct); +PHP_METHOD(DateInterval, __wakeup); +PHP_METHOD(DateInterval, __set_state); PHP_FUNCTION(date_interval_format); PHP_FUNCTION(date_interval_create_from_date_string); diff --git a/ext/date/tests/DateInterval_format_a.phpt b/ext/date/tests/DateInterval_format_a.phpt index d095db56b..48c6cc167 100644 --- a/ext/date/tests/DateInterval_format_a.phpt +++ b/ext/date/tests/DateInterval_format_a.phpt @@ -8,10 +8,7 @@ date.timezone=UTC --SKIPIF-- <?php if (!method_exists('DateInterval', 'format')) die("skip: method doesn't exist"); -if (substr(PHP_OS, 0, 3) != 'WIN') die("skip this test is for Windows platforms only"); ?> ---XFAIL-- -Windows VC6 libs' floor()/ceil() choke on floats --FILE-- <?php diff --git a/ext/date/tests/DateTime_add-fall-type2-type2.phpt b/ext/date/tests/DateTime_add-fall-type2-type2.phpt index 82cc81c9e..894ff604e 100644 --- a/ext/date/tests/DateTime_add-fall-type2-type2.phpt +++ b/ext/date/tests/DateTime_add-fall-type2-type2.phpt @@ -2,8 +2,6 @@ DateTime::add() -- fall type2 type2 --CREDITS-- Daniel Convissor <danielc@php.net> ---XFAIL-- -Various bugs exist --FILE-- <?php @@ -16,38 +14,38 @@ require 'DateTime_data-fall-type2-type2.inc'; test_time_fall_type2_prev_type2_prev: ADD: 2010-10-04 02:18:48 EDT + P+0Y1M2DT16H19M40S = **2010-11-06 18:38:28 EDT** test_time_fall_type2_prev_type2_dt: ADD: 2010-11-06 18:38:28 EDT + P+0Y0M0DT5H31M52S = **2010-11-07 00:10:20 EDT** test_time_fall_type2_prev_type2_redodt: ADD: 2010-11-06 18:38:28 EDT + P+0Y0M0DT6H34M5S = **2010-11-07 01:12:33 EDT** -test_time_fall_type2_prev_type2_redost: ADD: 2010-11-06 18:38:28 EDT + P+0Y0M0DT7H36M16S = **2010-11-07 01:14:44 EST** -test_time_fall_type2_prev_type2_st: ADD: 2010-11-06 18:38:28 EDT + P+0Y0M0DT9H38M27S = **2010-11-07 03:16:55 EST** -test_time_fall_type2_prev_type2_post: ADD: 2010-11-06 18:38:28 EDT + P+0Y0M2DT1H21M31S = **2010-11-08 19:59:59 EST** +test_time_fall_type2_prev_type2_redost: ADD: 2010-11-06 18:38:28 EDT + P+0Y0M0DT7H36M16S = **2010-11-07 02:14:44 EDT** +test_time_fall_type2_prev_type2_st: ADD: 2010-11-06 18:38:28 EDT + P+0Y0M0DT9H38M27S = **2010-11-07 04:16:55 EDT** +test_time_fall_type2_prev_type2_post: ADD: 2010-11-06 18:38:28 EDT + P+0Y0M2DT1H21M31S = **2010-11-08 19:59:59 EDT** test_time_fall_type2_dt_type2_prev: ADD: 2010-11-07 00:10:20 EDT + P-0Y0M0DT5H31M52S = **2010-11-06 18:38:28 EDT** test_time_fall_type2_dt_type2_dt: ADD: 2010-11-07 00:10:20 EDT + P+0Y0M0DT0H5M15S = **2010-11-07 00:15:35 EDT** test_time_fall_type2_dt_type2_redodt: ADD: 2010-11-07 00:10:20 EDT + P+0Y0M0DT1H2M13S = **2010-11-07 01:12:33 EDT** -test_time_fall_type2_dt_type2_redost: ADD: 2010-11-07 00:10:20 EDT + P+0Y0M0DT2H4M24S = **2010-11-07 01:14:44 EST** -test_time_fall_type2_dt_type2_st: ADD: 2010-11-07 00:10:20 EDT + P+0Y0M0DT4H6M35S = **2010-11-07 03:16:55 EST** -test_time_fall_type2_dt_type2_post: ADD: 2010-11-07 00:10:20 EDT + P+0Y0M1DT20H49M39S = **2010-11-08 19:59:59 EST** +test_time_fall_type2_dt_type2_redost: ADD: 2010-11-07 00:10:20 EDT + P+0Y0M0DT2H4M24S = **2010-11-07 02:14:44 EDT** +test_time_fall_type2_dt_type2_st: ADD: 2010-11-07 00:10:20 EDT + P+0Y0M0DT4H6M35S = **2010-11-07 04:16:55 EDT** +test_time_fall_type2_dt_type2_post: ADD: 2010-11-07 00:10:20 EDT + P+0Y0M1DT20H49M39S = **2010-11-08 20:59:59 EDT** test_time_fall_type2_redodt_type2_prev: ADD: 2010-11-07 01:12:33 EDT + P-0Y0M0DT6H34M5S = **2010-11-06 18:38:28 EDT** test_time_fall_type2_redodt_type2_dt: ADD: 2010-11-07 01:12:33 EDT + P-0Y0M0DT1H2M13S = **2010-11-07 00:10:20 EDT** test_time_fall_type2_redodt_type2_redodt: ADD: 2010-11-07 01:12:33 EDT + P+0Y0M0DT0H3M2S = **2010-11-07 01:15:35 EDT** -test_time_fall_type2_redodt_type2_redost: ADD: 2010-11-07 01:12:33 EDT + P+0Y0M0DT1H2M11S = **2010-11-07 01:14:44 EST** -test_time_fall_type2_redodt_type2_st: ADD: 2010-11-07 01:12:33 EDT + P+0Y0M0DT3H4M22S = **2010-11-07 03:16:55 EST** -test_time_fall_type2_redodt_type2_post: ADD: 2010-11-07 01:12:33 EDT + P+0Y0M1DT19H47M26S = **2010-11-08 19:59:59 EST** -test_time_fall_type2_redost_type2_prev: ADD: 2010-11-07 01:14:44 EST + P-0Y0M0DT7H36M16S = **2010-11-06 18:38:28 EDT** -test_time_fall_type2_redost_type2_dt: ADD: 2010-11-07 01:14:44 EST + P-0Y0M0DT2H4M24S = **2010-11-07 00:10:20 EDT** -test_time_fall_type2_redost_type2_redodt: ADD: 2010-11-07 01:14:44 EST + P-0Y0M0DT1H2M11S = **2010-11-07 01:12:33 EDT** +test_time_fall_type2_redodt_type2_redost: ADD: 2010-11-07 01:12:33 EDT + P+0Y0M0DT1H2M11S = **2010-11-07 02:14:44 EDT** +test_time_fall_type2_redodt_type2_st: ADD: 2010-11-07 01:12:33 EDT + P+0Y0M0DT3H4M22S = **2010-11-07 04:16:55 EDT** +test_time_fall_type2_redodt_type2_post: ADD: 2010-11-07 01:12:33 EDT + P+0Y0M1DT19H47M26S = **2010-11-08 20:59:59 EDT** +test_time_fall_type2_redost_type2_prev: ADD: 2010-11-07 01:14:44 EST + P-0Y0M0DT7H36M16S = **2010-11-06 17:38:28 EST** +test_time_fall_type2_redost_type2_dt: ADD: 2010-11-07 01:14:44 EST + P-0Y0M0DT2H4M24S = **2010-11-06 23:10:20 EST** +test_time_fall_type2_redost_type2_redodt: ADD: 2010-11-07 01:14:44 EST + P-0Y0M0DT1H2M11S = **2010-11-07 00:12:33 EST** test_time_fall_type2_redost_type2_redost: ADD: 2010-11-07 01:14:44 EST + P+0Y0M0DT0H2M10S = **2010-11-07 01:16:54 EST** test_time_fall_type2_redost_type2_st: ADD: 2010-11-07 01:14:44 EST + P+0Y0M0DT2H2M11S = **2010-11-07 03:16:55 EST** test_time_fall_type2_redost_type2_post: ADD: 2010-11-07 01:14:44 EST + P+0Y0M1DT18H45M15S = **2010-11-08 19:59:59 EST** -test_time_fall_type2_st_type2_prev: ADD: 2010-11-07 03:16:55 EST + P-0Y0M0DT9H38M27S = **2010-11-06 18:38:28 EDT** -test_time_fall_type2_st_type2_dt: ADD: 2010-11-07 03:16:55 EST + P-0Y0M0DT4H6M35S = **2010-11-07 00:10:20 EDT** -test_time_fall_type2_st_type2_redodt: ADD: 2010-11-07 03:16:55 EST + P-0Y0M0DT3H4M22S = **2010-11-07 01:12:33 EDT** +test_time_fall_type2_st_type2_prev: ADD: 2010-11-07 03:16:55 EST + P-0Y0M0DT9H38M27S = **2010-11-06 17:38:28 EST** +test_time_fall_type2_st_type2_dt: ADD: 2010-11-07 03:16:55 EST + P-0Y0M0DT4H6M35S = **2010-11-06 23:10:20 EST** +test_time_fall_type2_st_type2_redodt: ADD: 2010-11-07 03:16:55 EST + P-0Y0M0DT3H4M22S = **2010-11-07 00:12:33 EST** test_time_fall_type2_st_type2_redost: ADD: 2010-11-07 03:16:55 EST + P-0Y0M0DT2H2M11S = **2010-11-07 01:14:44 EST** test_time_fall_type2_st_type2_st: ADD: 2010-11-07 03:16:55 EST + P+0Y0M0DT2H3M1S = **2010-11-07 05:19:56 EST** test_time_fall_type2_st_type2_post: ADD: 2010-11-07 03:16:55 EST + P+0Y0M1DT16H43M4S = **2010-11-08 19:59:59 EST** -test_time_fall_type2_post_type2_prev: ADD: 2010-11-08 19:59:59 EST + P-0Y0M2DT1H21M31S = **2010-11-06 18:38:28 EDT** -test_time_fall_type2_post_type2_dt: ADD: 2010-11-08 19:59:59 EST + P-0Y0M1DT20H49M39S = **2010-11-07 00:10:20 EDT** -test_time_fall_type2_post_type2_redodt: ADD: 2010-11-08 19:59:59 EST + P-0Y0M1DT19H47M26S = **2010-11-07 01:12:33 EDT** +test_time_fall_type2_post_type2_prev: ADD: 2010-11-08 19:59:59 EST + P-0Y0M2DT1H21M31S = **2010-11-06 18:38:28 EST** +test_time_fall_type2_post_type2_dt: ADD: 2010-11-08 19:59:59 EST + P-0Y0M1DT20H49M39S = **2010-11-06 23:10:20 EST** +test_time_fall_type2_post_type2_redodt: ADD: 2010-11-08 19:59:59 EST + P-0Y0M1DT19H47M26S = **2010-11-07 00:12:33 EST** test_time_fall_type2_post_type2_redost: ADD: 2010-11-08 19:59:59 EST + P-0Y0M1DT18H45M15S = **2010-11-07 01:14:44 EST** test_time_fall_type2_post_type2_st: ADD: 2010-11-08 19:59:59 EST + P-0Y0M1DT16H43M4S = **2010-11-07 03:16:55 EST** test_time_fall_type2_post_type2_post: ADD: 2010-11-08 18:57:55 EST + P+0Y0M0DT1H2M4S = **2010-11-08 19:59:59 EST** -test_time_fall_type2_dtsec_type2_stsec: ADD: 2010-11-07 01:59:59 EDT + P+0Y0M0DT0H0M1S = **2010-11-07 01:00:00 EST** -test_time_fall_type2_stsec_type2_dtsec: ADD: 2010-11-07 01:00:00 EST + P-0Y0M0DT0H0M1S = **2010-11-07 01:59:59 EDT** +test_time_fall_type2_dtsec_type2_stsec: ADD: 2010-11-07 01:59:59 EDT + P+0Y0M0DT0H0M1S = **2010-11-07 02:00:00 EDT** +test_time_fall_type2_stsec_type2_dtsec: ADD: 2010-11-07 01:00:00 EST + P-0Y0M0DT0H0M1S = **2010-11-07 00:59:59 EST** diff --git a/ext/date/tests/DateTime_add-spring-type2-type2.phpt b/ext/date/tests/DateTime_add-spring-type2-type2.phpt index b64c27476..e522873b6 100644 --- a/ext/date/tests/DateTime_add-spring-type2-type2.phpt +++ b/ext/date/tests/DateTime_add-spring-type2-type2.phpt @@ -2,8 +2,6 @@ DateTime::add() -- spring type2 type2 --CREDITS-- Daniel Convissor <danielc@php.net> ---XFAIL-- -Various bugs exist --FILE-- <?php @@ -15,19 +13,19 @@ require 'DateTime_data-spring-type2-type2.inc'; --EXPECT-- test_time_spring_type2_prev_type2_prev: ADD: 2010-02-11 02:18:48 EST + P+0Y1M2DT16H19M40S = **2010-03-13 18:38:28 EST** test_time_spring_type2_prev_type2_st: ADD: 2010-03-13 18:38:28 EST + P+0Y0M0DT5H31M52S = **2010-03-14 00:10:20 EST** -test_time_spring_type2_prev_type2_dt: ADD: 2010-03-13 18:38:28 EST + P+0Y0M0DT7H38M27S = **2010-03-14 03:16:55 EDT** -test_time_spring_type2_prev_type2_post: ADD: 2010-03-13 18:38:28 EST + P+0Y0M2DT1H21M31S = **2010-03-15 19:59:59 EDT** +test_time_spring_type2_prev_type2_dt: ADD: 2010-03-13 18:38:28 EST + P+0Y0M0DT7H38M27S = **2010-03-14 02:16:55 EST** +test_time_spring_type2_prev_type2_post: ADD: 2010-03-13 18:38:28 EST + P+0Y0M2DT1H21M31S = **2010-03-15 19:59:59 EST** test_time_spring_type2_st_type2_prev: ADD: 2010-03-14 00:10:20 EST + P-0Y0M0DT5H31M52S = **2010-03-13 18:38:28 EST** test_time_spring_type2_st_type2_st: ADD: 2010-03-14 00:10:20 EST + P+0Y0M0DT0H5M15S = **2010-03-14 00:15:35 EST** -test_time_spring_type2_st_type2_dt: ADD: 2010-03-14 00:10:20 EST + P+0Y0M0DT2H6M35S = **2010-03-14 03:16:55 EDT** -test_time_spring_type2_st_type2_post: ADD: 2010-03-14 00:10:20 EST + P+0Y0M1DT18H49M39S = **2010-03-15 19:59:59 EDT** -test_time_spring_type2_dt_type2_prev: ADD: 2010-03-14 03:16:55 EDT + P-0Y0M0DT7H38M27S = **2010-03-13 18:38:28 EST** -test_time_spring_type2_dt_type2_st: ADD: 2010-03-14 03:16:55 EDT + P-0Y0M0DT2H6M35S = **2010-03-14 00:10:20 EST** +test_time_spring_type2_st_type2_dt: ADD: 2010-03-14 00:10:20 EST + P+0Y0M0DT2H6M35S = **2010-03-14 02:16:55 EST** +test_time_spring_type2_st_type2_post: ADD: 2010-03-14 00:10:20 EST + P+0Y0M1DT18H49M39S = **2010-03-15 18:59:59 EST** +test_time_spring_type2_dt_type2_prev: ADD: 2010-03-14 03:16:55 EDT + P-0Y0M0DT7H38M27S = **2010-03-13 19:38:28 EDT** +test_time_spring_type2_dt_type2_st: ADD: 2010-03-14 03:16:55 EDT + P-0Y0M0DT2H6M35S = **2010-03-14 01:10:20 EDT** test_time_spring_type2_dt_type2_dt: ADD: 2010-03-14 03:16:55 EDT + P+0Y0M0DT2H3M1S = **2010-03-14 05:19:56 EDT** test_time_spring_type2_dt_type2_post: ADD: 2010-03-14 03:16:55 EDT + P+0Y0M1DT16H43M4S = **2010-03-15 19:59:59 EDT** -test_time_spring_type2_post_type2_prev: ADD: 2010-03-15 19:59:59 EDT + P-0Y0M2DT1H21M31S = **2010-03-13 18:38:28 EST** -test_time_spring_type2_post_type2_st: ADD: 2010-03-15 19:59:59 EDT + P-0Y0M1DT18H49M39S = **2010-03-14 00:10:20 EST** +test_time_spring_type2_post_type2_prev: ADD: 2010-03-15 19:59:59 EDT + P-0Y0M2DT1H21M31S = **2010-03-13 18:38:28 EDT** +test_time_spring_type2_post_type2_st: ADD: 2010-03-15 19:59:59 EDT + P-0Y0M1DT18H49M39S = **2010-03-14 01:10:20 EDT** test_time_spring_type2_post_type2_dt: ADD: 2010-03-15 19:59:59 EDT + P-0Y0M1DT16H43M4S = **2010-03-14 03:16:55 EDT** test_time_spring_type2_post_type2_post: ADD: 2010-03-15 18:57:55 EDT + P+0Y0M0DT1H2M4S = **2010-03-15 19:59:59 EDT** -test_time_spring_type2_stsec_type2_dtsec: ADD: 2010-03-13 01:59:59 EST + P+0Y0M0DT0H0M1S = **2010-03-15 03:00:00 EDT** -test_time_spring_type2_dtsec_type2_stsec: ADD: 2010-03-15 03:00:00 EDT + P-0Y0M0DT0H0M1S = **2010-03-15 01:59:59 EST** +test_time_spring_type2_stsec_type2_dtsec: ADD: 2010-03-14 01:59:59 EST + P+0Y0M0DT0H0M1S = **2010-03-14 02:00:00 EST** +test_time_spring_type2_dtsec_type2_stsec: ADD: 2010-03-14 03:00:00 EDT + P-0Y0M0DT0H0M1S = **2010-03-14 02:59:59 EDT** diff --git a/ext/date/tests/DateTime_data-dates.inc b/ext/date/tests/DateTime_data-dates.inc index be608dfcb..c6f04e16c 100644 --- a/ext/date/tests/DateTime_data-dates.inc +++ b/ext/date/tests/DateTime_data-dates.inc @@ -20,6 +20,7 @@ examine_diff('2007-02-07', '2000-02-07', 'P+7Y0M0DT0H0M0S', 2557); echo "test_years_positive__7_by_1_day: "; examine_diff('2007-02-08', '2000-02-07', 'P+7Y0M1DT0H0M0S', 2558); +// NOTE: sub() produces different answer. echo "test_years_positive__6_shy_1_day: "; examine_diff('2007-02-06', '2000-02-07', 'P+6Y11M30DT0H0M0S', 2556); @@ -48,6 +49,7 @@ examine_diff('2000-02-07', '2007-02-07', 'P-7Y0M0DT0H0M0S', 2557); echo "test_years_negative__7_by_1_day: "; examine_diff('2000-02-07', '2007-02-08', 'P-7Y0M1DT0H0M0S', 2558); +// NOTE: sub() produces different answer. echo "test_years_negative__6_shy_1_day: "; examine_diff('2000-02-07', '2007-02-06', 'P-6Y11M28DT0H0M0S', 2556); diff --git a/ext/date/tests/DateTime_data-february.inc b/ext/date/tests/DateTime_data-february.inc index 8c31ef69a..cc9d85df0 100644 --- a/ext/date/tests/DateTime_data-february.inc +++ b/ext/date/tests/DateTime_data-february.inc @@ -71,15 +71,19 @@ examine_diff('2010-03-01', '2010-01-01', 'P+0Y2M0DT0H0M0S', 59); echo "test_bug_49081__20: "; examine_diff('2010-03-01', '2010-01-31', 'P+0Y0M29DT0H0M0S', 29); +// NOTE: sub() produces different answer. echo "test_bug_49081__21: "; examine_diff('2010-03-27', '2010-01-31', 'P+0Y1M24DT0H0M0S', 55); +// NOTE: sub() produces different answer. echo "test_bug_49081__22: "; examine_diff('2010-03-28', '2010-01-31', 'P+0Y1M25DT0H0M0S', 56); +// NOTE: sub() produces different answer. echo "test_bug_49081__23: "; examine_diff('2010-03-29', '2010-01-31', 'P+0Y1M26DT0H0M0S', 57); +// NOTE: sub() produces different answer. echo "test_bug_49081__24: "; examine_diff('2010-03-30', '2010-01-31', 'P+0Y1M27DT0H0M0S', 58); @@ -168,18 +172,23 @@ examine_diff('2010-01-27', '2010-02-28', 'P-0Y1M1DT0H0M0S', 32); echo "test_bug_49081_negative__19: "; examine_diff('2010-01-01', '2010-03-01', 'P-0Y2M0DT0H0M0S', 59); +// NOTE: sub() produces different answer. echo "test_bug_49081_negative__20: "; examine_diff('2010-01-31', '2010-03-01', 'P-0Y1M1DT0H0M0S', 29); +// NOTE: sub() produces different answer. echo "test_bug_49081_negative__21: "; examine_diff('2010-01-31', '2010-03-27', 'P-0Y1M27DT0H0M0S', 55); +// NOTE: sub() produces different answer. echo "test_bug_49081_negative__22: "; examine_diff('2010-01-31', '2010-03-28', 'P-0Y1M28DT0H0M0S', 56); +// NOTE: sub() produces different answer. echo "test_bug_49081_negative__23: "; examine_diff('2010-01-31', '2010-03-29', 'P-0Y1M29DT0H0M0S', 57); +// NOTE: sub() produces different answer. echo "test_bug_49081_negative__24: "; examine_diff('2010-01-31', '2010-03-30', 'P-0Y1M30DT0H0M0S', 58); diff --git a/ext/date/tests/DateTime_data-spring-type2-type2.inc b/ext/date/tests/DateTime_data-spring-type2-type2.inc index 3556b207b..d9e07c313 100644 --- a/ext/date/tests/DateTime_data-spring-type2-type2.inc +++ b/ext/date/tests/DateTime_data-spring-type2-type2.inc @@ -99,11 +99,11 @@ $start = new DateTime('2010-03-15 18:57:55 EDT'); // sp post, zt2 examine_diff($end, $start, 'P+0Y0M0DT1H2M4S', 0); echo "test_time_spring_type2_stsec_type2_dtsec: "; -$end = new DateTime('2010-03-15 03:00:00 EDT'); // dtsec, zt2 -$start = new DateTime('2010-03-13 01:59:59 EST'); // stsec, zt2 +$end = new DateTime('2010-03-14 03:00:00 EDT'); // dtsec, zt2 +$start = new DateTime('2010-03-14 01:59:59 EST'); // stsec, zt2 examine_diff($end, $start, 'P+0Y0M0DT0H0M1S', 0); echo "test_time_spring_type2_dtsec_type2_stsec: "; -$end = new DateTime('2010-03-15 01:59:59 EST'); // stsec, zt2 -$start = new DateTime('2010-03-13 03:00:00 EDT'); // dtsec, zt2 +$end = new DateTime('2010-03-14 01:59:59 EST'); // stsec, zt2 +$start = new DateTime('2010-03-14 03:00:00 EDT'); // dtsec, zt2 examine_diff($end, $start, 'P-0Y0M0DT0H0M1S', 0); diff --git a/ext/date/tests/DateTime_data-spring-type2-type3.inc b/ext/date/tests/DateTime_data-spring-type2-type3.inc index b06825837..d66fc5177 100644 --- a/ext/date/tests/DateTime_data-spring-type2-type3.inc +++ b/ext/date/tests/DateTime_data-spring-type2-type3.inc @@ -99,11 +99,11 @@ $start = new DateTime('2010-03-15 18:57:55 EDT'); // sp post, zt2 examine_diff($end, $start, 'P+0Y0M0DT1H2M4S', 0); echo "test_time_spring_type2_stsec_type3_dtsec: "; -$end = new DateTime('2010-03-15 03:00:00'); // dtsec, zt3 -$start = new DateTime('2010-03-13 01:59:59 EST'); // stsec, zt2 +$end = new DateTime('2010-03-14 03:00:00'); // dtsec, zt3 +$start = new DateTime('2010-03-14 01:59:59 EST'); // stsec, zt2 examine_diff($end, $start, 'P+0Y0M0DT0H0M1S', 0); echo "test_time_spring_type2_dtsec_type3_stsec: "; -$end = new DateTime('2010-03-15 01:59:59'); // stsec, zt3 -$start = new DateTime('2010-03-13 03:00:00 EDT'); // dtsec, zt2 +$end = new DateTime('2010-03-14 01:59:59'); // stsec, zt3 +$start = new DateTime('2010-03-14 03:00:00 EDT'); // dtsec, zt2 examine_diff($end, $start, 'P-0Y0M0DT0H0M1S', 0); diff --git a/ext/date/tests/DateTime_data-spring-type3-type2.inc b/ext/date/tests/DateTime_data-spring-type3-type2.inc index 244cd5881..92211f4b1 100644 --- a/ext/date/tests/DateTime_data-spring-type3-type2.inc +++ b/ext/date/tests/DateTime_data-spring-type3-type2.inc @@ -99,11 +99,11 @@ $start = new DateTime('2010-03-15 18:57:55'); // sp post, zt3 examine_diff($end, $start, 'P+0Y0M0DT1H2M4S', 0); echo "test_time_spring_type3_stsec_type2_dtsec: "; -$end = new DateTime('2010-03-15 03:00:00 EDT'); // dtsec, zt2 -$start = new DateTime('2010-03-13 01:59:59'); // stsec, zt3 +$end = new DateTime('2010-03-14 03:00:00 EDT'); // dtsec, zt2 +$start = new DateTime('2010-03-14 01:59:59'); // stsec, zt3 examine_diff($end, $start, 'P+0Y0M0DT0H0M1S', 0); echo "test_time_spring_type3_dtsec_type2_stsec: "; -$end = new DateTime('2010-03-15 01:59:59 EST'); // stsec, zt2 -$start = new DateTime('2010-03-13 03:00:00'); // dtsec, zt3 +$end = new DateTime('2010-03-14 01:59:59 EST'); // stsec, zt2 +$start = new DateTime('2010-03-14 03:00:00'); // dtsec, zt3 examine_diff($end, $start, 'P-0Y0M0DT0H0M1S', 0); diff --git a/ext/date/tests/DateTime_data-spring-type3-type3.inc b/ext/date/tests/DateTime_data-spring-type3-type3.inc index d87373c5a..de1dee12e 100644 --- a/ext/date/tests/DateTime_data-spring-type3-type3.inc +++ b/ext/date/tests/DateTime_data-spring-type3-type3.inc @@ -99,11 +99,11 @@ $start = new DateTime('2010-03-15 18:57:55'); // sp post, zt3 examine_diff($end, $start, 'P+0Y0M0DT1H2M4S', 0); echo "test_time_spring_type3_stsec_type3_dtsec: "; -$end = new DateTime('2010-03-15 03:00:00'); // dtsec, zt3 -$start = new DateTime('2010-03-13 01:59:59'); // stsec, zt3 +$end = new DateTime('2010-03-14 03:00:00'); // dtsec, zt3 +$start = new DateTime('2010-03-14 01:59:59'); // stsec, zt3 examine_diff($end, $start, 'P+0Y0M0DT0H0M1S', 0); echo "test_time_spring_type3_dtsec_type3_stsec: "; -$end = new DateTime('2010-03-15 01:59:59'); // stsec, zt3 -$start = new DateTime('2010-03-13 03:00:00'); // dtsec, zt3 +$end = new DateTime('2010-03-14 01:59:59'); // stsec, zt3 +$start = new DateTime('2010-03-14 03:00:00'); // dtsec, zt3 examine_diff($end, $start, 'P-0Y0M0DT0H0M1S', 0); diff --git a/ext/date/tests/DateTime_days-spring-type2-type2.phpt b/ext/date/tests/DateTime_days-spring-type2-type2.phpt index 3f9c35352..3e702ace0 100644 --- a/ext/date/tests/DateTime_days-spring-type2-type2.phpt +++ b/ext/date/tests/DateTime_days-spring-type2-type2.phpt @@ -27,5 +27,5 @@ test_time_spring_type2_post_type2_prev: DAYS: **2** test_time_spring_type2_post_type2_st: DAYS: **1** test_time_spring_type2_post_type2_dt: DAYS: **1** test_time_spring_type2_post_type2_post: DAYS: **0** -test_time_spring_type2_stsec_type2_dtsec: DAYS: **0** +test_time_spring_type2_stsec_type2_dtsec: DAYS: **0** test_time_spring_type2_dtsec_type2_stsec: DAYS: **0** diff --git a/ext/date/tests/DateTime_days-spring-type2-type3.phpt b/ext/date/tests/DateTime_days-spring-type2-type3.phpt index 77ac5fdb6..0e23ac3e2 100644 --- a/ext/date/tests/DateTime_days-spring-type2-type3.phpt +++ b/ext/date/tests/DateTime_days-spring-type2-type3.phpt @@ -27,5 +27,5 @@ test_time_spring_type2_post_type3_prev: DAYS: **2** test_time_spring_type2_post_type3_st: DAYS: **1** test_time_spring_type2_post_type3_dt: DAYS: **1** test_time_spring_type2_post_type3_post: DAYS: **0** -test_time_spring_type2_stsec_type3_dtsec: DAYS: **0** +test_time_spring_type2_stsec_type3_dtsec: DAYS: **0** test_time_spring_type2_dtsec_type3_stsec: DAYS: **0** diff --git a/ext/date/tests/DateTime_days-spring-type3-type2.phpt b/ext/date/tests/DateTime_days-spring-type3-type2.phpt index 09aa8d9c1..4fb9ba76d 100644 --- a/ext/date/tests/DateTime_days-spring-type3-type2.phpt +++ b/ext/date/tests/DateTime_days-spring-type3-type2.phpt @@ -27,5 +27,5 @@ test_time_spring_type3_post_type2_prev: DAYS: **2** test_time_spring_type3_post_type2_st: DAYS: **1** test_time_spring_type3_post_type2_dt: DAYS: **1** test_time_spring_type3_post_type2_post: DAYS: **0** -test_time_spring_type3_stsec_type2_dtsec: DAYS: **0** +test_time_spring_type3_stsec_type2_dtsec: DAYS: **0** test_time_spring_type3_dtsec_type2_stsec: DAYS: **0** diff --git a/ext/date/tests/DateTime_days-spring-type3-type3.phpt b/ext/date/tests/DateTime_days-spring-type3-type3.phpt index f947329de..df44925fb 100644 --- a/ext/date/tests/DateTime_days-spring-type3-type3.phpt +++ b/ext/date/tests/DateTime_days-spring-type3-type3.phpt @@ -27,5 +27,5 @@ test_time_spring_type3_post_type3_prev: DAYS: **2** test_time_spring_type3_post_type3_st: DAYS: **1** test_time_spring_type3_post_type3_dt: DAYS: **1** test_time_spring_type3_post_type3_post: DAYS: **0** -test_time_spring_type3_stsec_type3_dtsec: DAYS: **0** +test_time_spring_type3_stsec_type3_dtsec: DAYS: **0** test_time_spring_type3_dtsec_type3_stsec: DAYS: **0** diff --git a/ext/date/tests/DateTime_diff-fall-type2-type2.phpt b/ext/date/tests/DateTime_diff-fall-type2-type2.phpt index 3e7cf7dbf..d655637ac 100644 --- a/ext/date/tests/DateTime_diff-fall-type2-type2.phpt +++ b/ext/date/tests/DateTime_diff-fall-type2-type2.phpt @@ -2,8 +2,6 @@ DateTime::diff() -- fall type2 type2 --CREDITS-- Daniel Convissor <danielc@php.net> ---XFAIL-- -Various bugs exist --FILE-- <?php @@ -18,7 +16,7 @@ test_time_fall_type2_prev_type2_dt: DIFF: 2010-11-07 00:10:20 EDT - 2010-11-06 1 test_time_fall_type2_prev_type2_redodt: DIFF: 2010-11-07 01:12:33 EDT - 2010-11-06 18:38:28 EDT = **P+0Y0M0DT6H34M5S** test_time_fall_type2_prev_type2_redost: DIFF: 2010-11-07 01:14:44 EST - 2010-11-06 18:38:28 EDT = **P+0Y0M0DT7H36M16S** test_time_fall_type2_prev_type2_st: DIFF: 2010-11-07 03:16:55 EST - 2010-11-06 18:38:28 EDT = **P+0Y0M0DT9H38M27S** -test_time_fall_type2_prev_type2_post: DIFF: 2010-11-08 19:59:59 EST - 2010-11-06 18:38:28 EDT = **P+0Y0M2DT1H21M31S** +test_time_fall_type2_prev_type2_post: DIFF: 2010-11-08 19:59:59 EST - 2010-11-06 18:38:28 EDT = **P+0Y0M2DT2H21M31S** test_time_fall_type2_dt_type2_prev: DIFF: 2010-11-06 18:38:28 EDT - 2010-11-07 00:10:20 EDT = **P-0Y0M0DT5H31M52S** test_time_fall_type2_dt_type2_dt: DIFF: 2010-11-07 00:15:35 EDT - 2010-11-07 00:10:20 EDT = **P+0Y0M0DT0H5M15S** test_time_fall_type2_dt_type2_redodt: DIFF: 2010-11-07 01:12:33 EDT - 2010-11-07 00:10:20 EDT = **P+0Y0M0DT1H2M13S** @@ -43,7 +41,7 @@ test_time_fall_type2_st_type2_redodt: DIFF: 2010-11-07 01:12:33 EDT - 2010-11-07 test_time_fall_type2_st_type2_redost: DIFF: 2010-11-07 01:14:44 EST - 2010-11-07 03:16:55 EST = **P-0Y0M0DT2H2M11S** test_time_fall_type2_st_type2_st: DIFF: 2010-11-07 05:19:56 EST - 2010-11-07 03:16:55 EST = **P+0Y0M0DT2H3M1S** test_time_fall_type2_st_type2_post: DIFF: 2010-11-08 19:59:59 EST - 2010-11-07 03:16:55 EST = **P+0Y0M1DT16H43M4S** -test_time_fall_type2_post_type2_prev: DIFF: 2010-11-06 18:38:28 EDT - 2010-11-08 19:59:59 EST = **P-0Y0M2DT1H21M31S** +test_time_fall_type2_post_type2_prev: DIFF: 2010-11-06 18:38:28 EDT - 2010-11-08 19:59:59 EST = **P-0Y0M2DT2H21M31S** test_time_fall_type2_post_type2_dt: DIFF: 2010-11-07 00:10:20 EDT - 2010-11-08 19:59:59 EST = **P-0Y0M1DT20H49M39S** test_time_fall_type2_post_type2_redodt: DIFF: 2010-11-07 01:12:33 EDT - 2010-11-08 19:59:59 EST = **P-0Y0M1DT19H47M26S** test_time_fall_type2_post_type2_redost: DIFF: 2010-11-07 01:14:44 EST - 2010-11-08 19:59:59 EST = **P-0Y0M1DT18H45M15S** diff --git a/ext/date/tests/DateTime_diff-spring-type2-type2.phpt b/ext/date/tests/DateTime_diff-spring-type2-type2.phpt index 4c590cd99..730cfd11e 100644 --- a/ext/date/tests/DateTime_diff-spring-type2-type2.phpt +++ b/ext/date/tests/DateTime_diff-spring-type2-type2.phpt @@ -2,8 +2,6 @@ DateTime::diff() -- spring type2 type2 --CREDITS-- Daniel Convissor <danielc@php.net> ---XFAIL-- -Various bugs exist --FILE-- <?php @@ -16,7 +14,7 @@ require 'DateTime_data-spring-type2-type2.inc'; test_time_spring_type2_prev_type2_prev: DIFF: 2010-03-13 18:38:28 EST - 2010-02-11 02:18:48 EST = **P+0Y1M2DT16H19M40S** test_time_spring_type2_prev_type2_st: DIFF: 2010-03-14 00:10:20 EST - 2010-03-13 18:38:28 EST = **P+0Y0M0DT5H31M52S** test_time_spring_type2_prev_type2_dt: DIFF: 2010-03-14 03:16:55 EDT - 2010-03-13 18:38:28 EST = **P+0Y0M0DT7H38M27S** -test_time_spring_type2_prev_type2_post: DIFF: 2010-03-15 19:59:59 EDT - 2010-03-13 18:38:28 EST = **P+0Y0M2DT1H21M31S** +test_time_spring_type2_prev_type2_post: DIFF: 2010-03-15 19:59:59 EDT - 2010-03-13 18:38:28 EST = **P+0Y0M2DT0H21M31S** test_time_spring_type2_st_type2_prev: DIFF: 2010-03-13 18:38:28 EST - 2010-03-14 00:10:20 EST = **P-0Y0M0DT5H31M52S** test_time_spring_type2_st_type2_st: DIFF: 2010-03-14 00:15:35 EST - 2010-03-14 00:10:20 EST = **P+0Y0M0DT0H5M15S** test_time_spring_type2_st_type2_dt: DIFF: 2010-03-14 03:16:55 EDT - 2010-03-14 00:10:20 EST = **P+0Y0M0DT2H6M35S** @@ -25,9 +23,9 @@ test_time_spring_type2_dt_type2_prev: DIFF: 2010-03-13 18:38:28 EST - 2010-03-14 test_time_spring_type2_dt_type2_st: DIFF: 2010-03-14 00:10:20 EST - 2010-03-14 03:16:55 EDT = **P-0Y0M0DT2H6M35S** test_time_spring_type2_dt_type2_dt: DIFF: 2010-03-14 05:19:56 EDT - 2010-03-14 03:16:55 EDT = **P+0Y0M0DT2H3M1S** test_time_spring_type2_dt_type2_post: DIFF: 2010-03-15 19:59:59 EDT - 2010-03-14 03:16:55 EDT = **P+0Y0M1DT16H43M4S** -test_time_spring_type2_post_type2_prev: DIFF: 2010-03-13 18:38:28 EST - 2010-03-15 19:59:59 EDT = **P-0Y0M2DT1H21M31S** +test_time_spring_type2_post_type2_prev: DIFF: 2010-03-13 18:38:28 EST - 2010-03-15 19:59:59 EDT = **P-0Y0M2DT0H21M31S** test_time_spring_type2_post_type2_st: DIFF: 2010-03-14 00:10:20 EST - 2010-03-15 19:59:59 EDT = **P-0Y0M1DT18H49M39S** test_time_spring_type2_post_type2_dt: DIFF: 2010-03-14 03:16:55 EDT - 2010-03-15 19:59:59 EDT = **P-0Y0M1DT16H43M4S** test_time_spring_type2_post_type2_post: DIFF: 2010-03-15 19:59:59 EDT - 2010-03-15 18:57:55 EDT = **P+0Y0M0DT1H2M4S** -test_time_spring_type2_stsec_type2_dtsec: DIFF: 2010-03-15 03:00:00 EDT - 2010-03-13 01:59:59 EST = **P+0Y0M0DT0H0M1S** -test_time_spring_type2_dtsec_type2_stsec: DIFF: 2010-03-15 01:59:59 EST - 2010-03-15 03:00:00 EDT = **P-0Y0M0DT0H0M1S** +test_time_spring_type2_stsec_type2_dtsec: DIFF: 2010-03-14 03:00:00 EDT - 2010-03-14 01:59:59 EST = **P+0Y0M0DT0H0M1S** +test_time_spring_type2_dtsec_type2_stsec: DIFF: 2010-03-14 01:59:59 EST - 2010-03-14 03:00:00 EDT = **P-0Y0M0DT0H0M1S** diff --git a/ext/date/tests/DateTime_sub-dates.phpt b/ext/date/tests/DateTime_sub-dates.phpt index 36ca25c16..26f49ba83 100644 --- a/ext/date/tests/DateTime_sub-dates.phpt +++ b/ext/date/tests/DateTime_sub-dates.phpt @@ -14,7 +14,7 @@ require 'DateTime_data-dates.inc'; test__7: SUB: 2009-01-14 00:00:00 EST - P+0Y0M7DT0H0M0S = **2009-01-07 00:00:00 EST** test_years_positive__7_by_0_day: SUB: 2007-02-07 00:00:00 EST - P+7Y0M0DT0H0M0S = **2000-02-07 00:00:00 EST** test_years_positive__7_by_1_day: SUB: 2007-02-08 00:00:00 EST - P+7Y0M1DT0H0M0S = **2000-02-07 00:00:00 EST** -test_years_positive__6_shy_1_day: SUB: 2007-02-06 00:00:00 EST - P+6Y11M30DT0H0M0S = **2000-02-07 00:00:00 EST** +test_years_positive__6_shy_1_day: SUB: 2007-02-06 00:00:00 EST - P+6Y11M30DT0H0M0S = **2000-02-05 00:00:00 EST** test_years_positive__7_by_1_month: SUB: 2007-03-07 00:00:00 EST - P+7Y1M0DT0H0M0S = **2000-02-07 00:00:00 EST** test_years_positive__6_shy_1_month: SUB: 2007-01-07 00:00:00 EST - P+6Y11M0DT0H0M0S = **2000-02-07 00:00:00 EST** test_years_positive__7_by_1_month_split_newyear: SUB: 2007-01-07 00:00:00 EST - P+7Y1M0DT0H0M0S = **1999-12-07 00:00:00 EST** @@ -22,7 +22,7 @@ test_years_positive__6_shy_1_month_split_newyear: SUB: 2006-12-07 00:00:00 EST - test_negative__7: SUB: 2009-01-07 00:00:00 EST - P-0Y0M7DT0H0M0S = **2009-01-14 00:00:00 EST** test_years_negative__7_by_0_day: SUB: 2000-02-07 00:00:00 EST - P-7Y0M0DT0H0M0S = **2007-02-07 00:00:00 EST** test_years_negative__7_by_1_day: SUB: 2000-02-07 00:00:00 EST - P-7Y0M1DT0H0M0S = **2007-02-08 00:00:00 EST** -test_years_negative__6_shy_1_day: SUB: 2000-02-07 00:00:00 EST - P-6Y11M28DT0H0M0S = **2007-02-06 00:00:00 EST** +test_years_negative__6_shy_1_day: SUB: 2000-02-07 00:00:00 EST - P-6Y11M28DT0H0M0S = **2007-02-04 00:00:00 EST** test_years_negative__7_by_1_month: SUB: 2000-02-07 00:00:00 EST - P-7Y1M0DT0H0M0S = **2007-03-07 00:00:00 EST** test_years_negative__6_shy_1_month: SUB: 2000-02-07 00:00:00 EST - P-6Y11M0DT0H0M0S = **2007-01-07 00:00:00 EST** test_years_negative__7_by_1_month_split_newyear: SUB: 1999-12-07 00:00:00 EST - P-7Y1M0DT0H0M0S = **2007-01-07 00:00:00 EST** diff --git a/ext/date/tests/DateTime_sub-fall-type2-type2.phpt b/ext/date/tests/DateTime_sub-fall-type2-type2.phpt index 3138e1cd8..e133b1f4d 100644 --- a/ext/date/tests/DateTime_sub-fall-type2-type2.phpt +++ b/ext/date/tests/DateTime_sub-fall-type2-type2.phpt @@ -2,8 +2,6 @@ DateTime::sub() -- fall type2 type2 --CREDITS-- Daniel Convissor <danielc@php.net> ---XFAIL-- -Various bugs exist --FILE-- <?php @@ -16,38 +14,38 @@ require 'DateTime_data-fall-type2-type2.inc'; test_time_fall_type2_prev_type2_prev: SUB: 2010-11-06 18:38:28 EDT - P+0Y1M2DT16H19M40S = **2010-10-04 02:18:48 EDT** test_time_fall_type2_prev_type2_dt: SUB: 2010-11-07 00:10:20 EDT - P+0Y0M0DT5H31M52S = **2010-11-06 18:38:28 EDT** test_time_fall_type2_prev_type2_redodt: SUB: 2010-11-07 01:12:33 EDT - P+0Y0M0DT6H34M5S = **2010-11-06 18:38:28 EDT** -test_time_fall_type2_prev_type2_redost: SUB: 2010-11-07 01:14:44 EST - P+0Y0M0DT7H36M16S = **2010-11-06 18:38:28 EDT** -test_time_fall_type2_prev_type2_st: SUB: 2010-11-07 03:16:55 EST - P+0Y0M0DT9H38M27S = **2010-11-06 18:38:28 EDT** -test_time_fall_type2_prev_type2_post: SUB: 2010-11-08 19:59:59 EST - P+0Y0M2DT1H21M31S = **2010-11-06 18:38:28 EDT** +test_time_fall_type2_prev_type2_redost: SUB: 2010-11-07 01:14:44 EST - P+0Y0M0DT7H36M16S = **2010-11-06 17:38:28 EST** +test_time_fall_type2_prev_type2_st: SUB: 2010-11-07 03:16:55 EST - P+0Y0M0DT9H38M27S = **2010-11-06 17:38:28 EST** +test_time_fall_type2_prev_type2_post: SUB: 2010-11-08 19:59:59 EST - P+0Y0M2DT1H21M31S = **2010-11-06 18:38:28 EST** test_time_fall_type2_dt_type2_prev: SUB: 2010-11-06 18:38:28 EDT - P-0Y0M0DT5H31M52S = **2010-11-07 00:10:20 EDT** test_time_fall_type2_dt_type2_dt: SUB: 2010-11-07 00:15:35 EDT - P+0Y0M0DT0H5M15S = **2010-11-07 00:10:20 EDT** test_time_fall_type2_dt_type2_redodt: SUB: 2010-11-07 01:12:33 EDT - P+0Y0M0DT1H2M13S = **2010-11-07 00:10:20 EDT** -test_time_fall_type2_dt_type2_redost: SUB: 2010-11-07 01:14:44 EST - P+0Y0M0DT2H4M24S = **2010-11-07 00:10:20 EDT** -test_time_fall_type2_dt_type2_st: SUB: 2010-11-07 03:16:55 EST - P+0Y0M0DT4H6M35S = **2010-11-07 00:10:20 EDT** -test_time_fall_type2_dt_type2_post: SUB: 2010-11-08 19:59:59 EST - P+0Y0M1DT20H49M39S = **2010-11-07 00:10:20 EDT** +test_time_fall_type2_dt_type2_redost: SUB: 2010-11-07 01:14:44 EST - P+0Y0M0DT2H4M24S = **2010-11-06 23:10:20 EST** +test_time_fall_type2_dt_type2_st: SUB: 2010-11-07 03:16:55 EST - P+0Y0M0DT4H6M35S = **2010-11-06 23:10:20 EST** +test_time_fall_type2_dt_type2_post: SUB: 2010-11-08 19:59:59 EST - P+0Y0M1DT20H49M39S = **2010-11-06 23:10:20 EST** test_time_fall_type2_redodt_type2_prev: SUB: 2010-11-06 18:38:28 EDT - P-0Y0M0DT6H34M5S = **2010-11-07 01:12:33 EDT** test_time_fall_type2_redodt_type2_dt: SUB: 2010-11-07 00:10:20 EDT - P-0Y0M0DT1H2M13S = **2010-11-07 01:12:33 EDT** test_time_fall_type2_redodt_type2_redodt: SUB: 2010-11-07 01:15:35 EDT - P+0Y0M0DT0H3M2S = **2010-11-07 01:12:33 EDT** -test_time_fall_type2_redodt_type2_redost: SUB: 2010-11-07 01:14:44 EST - P+0Y0M0DT1H2M11S = **2010-11-07 01:12:33 EDT** -test_time_fall_type2_redodt_type2_st: SUB: 2010-11-07 03:16:55 EST - P+0Y0M0DT3H4M22S = **2010-11-07 01:12:33 EDT** -test_time_fall_type2_redodt_type2_post: SUB: 2010-11-08 19:59:59 EST - P+0Y0M1DT19H47M26S = **2010-11-07 01:12:33 EDT** -test_time_fall_type2_redost_type2_prev: SUB: 2010-11-06 18:38:28 EDT - P-0Y0M0DT7H36M16S = **2010-11-07 01:14:44 EST** -test_time_fall_type2_redost_type2_dt: SUB: 2010-11-07 00:10:20 EDT - P-0Y0M0DT2H4M24S = **2010-11-07 01:14:44 EST** -test_time_fall_type2_redost_type2_redodt: SUB: 2010-11-07 01:12:33 EDT - P-0Y0M0DT1H2M11S = **2010-11-07 01:14:44 EST** +test_time_fall_type2_redodt_type2_redost: SUB: 2010-11-07 01:14:44 EST - P+0Y0M0DT1H2M11S = **2010-11-07 00:12:33 EST** +test_time_fall_type2_redodt_type2_st: SUB: 2010-11-07 03:16:55 EST - P+0Y0M0DT3H4M22S = **2010-11-07 00:12:33 EST** +test_time_fall_type2_redodt_type2_post: SUB: 2010-11-08 19:59:59 EST - P+0Y0M1DT19H47M26S = **2010-11-07 00:12:33 EST** +test_time_fall_type2_redost_type2_prev: SUB: 2010-11-06 18:38:28 EDT - P-0Y0M0DT7H36M16S = **2010-11-07 02:14:44 EDT** +test_time_fall_type2_redost_type2_dt: SUB: 2010-11-07 00:10:20 EDT - P-0Y0M0DT2H4M24S = **2010-11-07 02:14:44 EDT** +test_time_fall_type2_redost_type2_redodt: SUB: 2010-11-07 01:12:33 EDT - P-0Y0M0DT1H2M11S = **2010-11-07 02:14:44 EDT** test_time_fall_type2_redost_type2_redost: SUB: 2010-11-07 01:16:54 EST - P+0Y0M0DT0H2M10S = **2010-11-07 01:14:44 EST** test_time_fall_type2_redost_type2_st: SUB: 2010-11-07 03:16:55 EST - P+0Y0M0DT2H2M11S = **2010-11-07 01:14:44 EST** test_time_fall_type2_redost_type2_post: SUB: 2010-11-08 19:59:59 EST - P+0Y0M1DT18H45M15S = **2010-11-07 01:14:44 EST** -test_time_fall_type2_st_type2_prev: SUB: 2010-11-06 18:38:28 EDT - P-0Y0M0DT9H38M27S = **2010-11-07 03:16:55 EST** -test_time_fall_type2_st_type2_dt: SUB: 2010-11-07 00:10:20 EDT - P-0Y0M0DT4H6M35S = **2010-11-07 03:16:55 EST** -test_time_fall_type2_st_type2_redodt: SUB: 2010-11-07 01:12:33 EDT - P-0Y0M0DT3H4M22S = **2010-11-07 03:16:55 EST** +test_time_fall_type2_st_type2_prev: SUB: 2010-11-06 18:38:28 EDT - P-0Y0M0DT9H38M27S = **2010-11-07 04:16:55 EDT** +test_time_fall_type2_st_type2_dt: SUB: 2010-11-07 00:10:20 EDT - P-0Y0M0DT4H6M35S = **2010-11-07 04:16:55 EDT** +test_time_fall_type2_st_type2_redodt: SUB: 2010-11-07 01:12:33 EDT - P-0Y0M0DT3H4M22S = **2010-11-07 04:16:55 EDT** test_time_fall_type2_st_type2_redost: SUB: 2010-11-07 01:14:44 EST - P-0Y0M0DT2H2M11S = **2010-11-07 03:16:55 EST** test_time_fall_type2_st_type2_st: SUB: 2010-11-07 05:19:56 EST - P+0Y0M0DT2H3M1S = **2010-11-07 03:16:55 EST** test_time_fall_type2_st_type2_post: SUB: 2010-11-08 19:59:59 EST - P+0Y0M1DT16H43M4S = **2010-11-07 03:16:55 EST** -test_time_fall_type2_post_type2_prev: SUB: 2010-11-06 18:38:28 EDT - P-0Y0M2DT1H21M31S = **2010-11-08 19:59:59 EST** -test_time_fall_type2_post_type2_dt: SUB: 2010-11-07 00:10:20 EDT - P-0Y0M1DT20H49M39S = **2010-11-08 19:59:59 EST** -test_time_fall_type2_post_type2_redodt: SUB: 2010-11-07 01:12:33 EDT - P-0Y0M1DT19H47M26S = **2010-11-08 19:59:59 EST** +test_time_fall_type2_post_type2_prev: SUB: 2010-11-06 18:38:28 EDT - P-0Y0M2DT1H21M31S = **2010-11-08 19:59:59 EDT** +test_time_fall_type2_post_type2_dt: SUB: 2010-11-07 00:10:20 EDT - P-0Y0M1DT20H49M39S = **2010-11-08 20:59:59 EDT** +test_time_fall_type2_post_type2_redodt: SUB: 2010-11-07 01:12:33 EDT - P-0Y0M1DT19H47M26S = **2010-11-08 20:59:59 EDT** test_time_fall_type2_post_type2_redost: SUB: 2010-11-07 01:14:44 EST - P-0Y0M1DT18H45M15S = **2010-11-08 19:59:59 EST** test_time_fall_type2_post_type2_st: SUB: 2010-11-07 03:16:55 EST - P-0Y0M1DT16H43M4S = **2010-11-08 19:59:59 EST** test_time_fall_type2_post_type2_post: SUB: 2010-11-08 19:59:59 EST - P+0Y0M0DT1H2M4S = **2010-11-08 18:57:55 EST** -test_time_fall_type2_dtsec_type2_stsec: SUB: 2010-11-07 01:00:00 EST - P+0Y0M0DT0H0M1S = **2010-11-07 01:59:59 EDT** -test_time_fall_type2_stsec_type2_dtsec: SUB: 2010-11-07 01:59:59 EDT - P-0Y0M0DT0H0M1S = **2010-11-07 01:00:00 EST** +test_time_fall_type2_dtsec_type2_stsec: SUB: 2010-11-07 01:00:00 EST - P+0Y0M0DT0H0M1S = **2010-11-07 00:59:59 EST** +test_time_fall_type2_stsec_type2_dtsec: SUB: 2010-11-07 01:59:59 EDT - P-0Y0M0DT0H0M1S = **2010-11-07 02:00:00 EDT** diff --git a/ext/date/tests/DateTime_sub-february.phpt b/ext/date/tests/DateTime_sub-february.phpt index 89cba4bde..23c8da447 100644 --- a/ext/date/tests/DateTime_sub-february.phpt +++ b/ext/date/tests/DateTime_sub-february.phpt @@ -31,10 +31,10 @@ test_bug_49081__17: SUB: 2010-02-28 00:00:00 EST - P+0Y1M0DT0H0M0S = **2010-01-2 test_bug_49081__18: SUB: 2010-02-28 00:00:00 EST - P+0Y1M1DT0H0M0S = **2010-01-27 00:00:00 EST** test_bug_49081__19: SUB: 2010-03-01 00:00:00 EST - P+0Y2M0DT0H0M0S = **2010-01-01 00:00:00 EST** test_bug_49081__20: SUB: 2010-03-01 00:00:00 EST - P+0Y0M29DT0H0M0S = **2010-01-31 00:00:00 EST** -test_bug_49081__21: SUB: 2010-03-27 00:00:00 EDT - P+0Y1M24DT0H0M0S = **2010-01-31 00:00:00 EST** -test_bug_49081__22: SUB: 2010-03-28 00:00:00 EDT - P+0Y1M25DT0H0M0S = **2010-01-31 00:00:00 EST** -test_bug_49081__23: SUB: 2010-03-29 00:00:00 EDT - P+0Y1M26DT0H0M0S = **2010-01-31 00:00:00 EST** -test_bug_49081__24: SUB: 2010-03-30 00:00:00 EDT - P+0Y1M27DT0H0M0S = **2010-01-31 00:00:00 EST** +test_bug_49081__21: SUB: 2010-03-27 00:00:00 EDT - P+0Y1M24DT0H0M0S = **2010-02-03 00:00:00 EST** +test_bug_49081__22: SUB: 2010-03-28 00:00:00 EDT - P+0Y1M25DT0H0M0S = **2010-02-03 00:00:00 EST** +test_bug_49081__23: SUB: 2010-03-29 00:00:00 EDT - P+0Y1M26DT0H0M0S = **2010-02-03 00:00:00 EST** +test_bug_49081__24: SUB: 2010-03-30 00:00:00 EDT - P+0Y1M27DT0H0M0S = **2010-02-03 00:00:00 EST** test_bug_49081__25: SUB: 2010-03-31 00:00:00 EDT - P+0Y2M0DT0H0M0S = **2010-01-31 00:00:00 EST** test_bug_49081__26: SUB: 2010-03-31 00:00:00 EDT - P+0Y2M1DT0H0M0S = **2010-01-30 00:00:00 EST** test_bug_49081__27: SUB: 2009-01-31 00:00:00 EST - P+0Y0M30DT0H0M0S = **2009-01-01 00:00:00 EST** @@ -62,11 +62,11 @@ test_bug_49081_negative__16: SUB: 2010-01-29 00:00:00 EST - P-0Y0M30DT0H0M0S = * test_bug_49081_negative__17: SUB: 2010-01-28 00:00:00 EST - P-0Y1M0DT0H0M0S = **2010-02-28 00:00:00 EST** test_bug_49081_negative__18: SUB: 2010-01-27 00:00:00 EST - P-0Y1M1DT0H0M0S = **2010-02-28 00:00:00 EST** test_bug_49081_negative__19: SUB: 2010-01-01 00:00:00 EST - P-0Y2M0DT0H0M0S = **2010-03-01 00:00:00 EST** -test_bug_49081_negative__20: SUB: 2010-01-31 00:00:00 EST - P-0Y1M1DT0H0M0S = **2010-03-01 00:00:00 EST** -test_bug_49081_negative__21: SUB: 2010-01-31 00:00:00 EST - P-0Y1M27DT0H0M0S = **2010-03-27 00:00:00 EDT** -test_bug_49081_negative__22: SUB: 2010-01-31 00:00:00 EST - P-0Y1M28DT0H0M0S = **2010-03-28 00:00:00 EDT** -test_bug_49081_negative__23: SUB: 2010-01-31 00:00:00 EST - P-0Y1M29DT0H0M0S = **2010-03-29 00:00:00 EDT** -test_bug_49081_negative__24: SUB: 2010-01-31 00:00:00 EST - P-0Y1M30DT0H0M0S = **2010-03-30 00:00:00 EDT** +test_bug_49081_negative__20: SUB: 2010-01-31 00:00:00 EST - P-0Y1M1DT0H0M0S = **2010-03-04 00:00:00 EST** +test_bug_49081_negative__21: SUB: 2010-01-31 00:00:00 EST - P-0Y1M27DT0H0M0S = **2010-03-30 00:00:00 EDT** +test_bug_49081_negative__22: SUB: 2010-01-31 00:00:00 EST - P-0Y1M28DT0H0M0S = **2010-03-31 00:00:00 EDT** +test_bug_49081_negative__23: SUB: 2010-01-31 00:00:00 EST - P-0Y1M29DT0H0M0S = **2010-04-01 00:00:00 EDT** +test_bug_49081_negative__24: SUB: 2010-01-31 00:00:00 EST - P-0Y1M30DT0H0M0S = **2010-04-02 00:00:00 EDT** test_bug_49081_negative__25: SUB: 2010-01-31 00:00:00 EST - P-0Y2M0DT0H0M0S = **2010-03-31 00:00:00 EDT** test_bug_49081_negative__26: SUB: 2010-01-30 00:00:00 EST - P-0Y2M1DT0H0M0S = **2010-03-31 00:00:00 EDT** test_bug_49081_negative__27: SUB: 2009-01-01 00:00:00 EST - P-0Y0M30DT0H0M0S = **2009-01-31 00:00:00 EST** diff --git a/ext/date/tests/DateTime_sub-spring-type2-type2.phpt b/ext/date/tests/DateTime_sub-spring-type2-type2.phpt index 2b1817d79..925f1411e 100644 --- a/ext/date/tests/DateTime_sub-spring-type2-type2.phpt +++ b/ext/date/tests/DateTime_sub-spring-type2-type2.phpt @@ -2,8 +2,6 @@ DateTime::sub() -- spring type2 type2 --CREDITS-- Daniel Convissor <danielc@php.net> ---XFAIL-- -Various bugs exist --FILE-- <?php @@ -15,19 +13,19 @@ require 'DateTime_data-spring-type2-type2.inc'; --EXPECT-- test_time_spring_type2_prev_type2_prev: SUB: 2010-03-13 18:38:28 EST - P+0Y1M2DT16H19M40S = **2010-02-11 02:18:48 EST** test_time_spring_type2_prev_type2_st: SUB: 2010-03-14 00:10:20 EST - P+0Y0M0DT5H31M52S = **2010-03-13 18:38:28 EST** -test_time_spring_type2_prev_type2_dt: SUB: 2010-03-14 03:16:55 EDT - P+0Y0M0DT7H38M27S = **2010-03-13 18:38:28 EST** -test_time_spring_type2_prev_type2_post: SUB: 2010-03-15 19:59:59 EDT - P+0Y0M2DT1H21M31S = **2010-03-13 18:38:28 EST** +test_time_spring_type2_prev_type2_dt: SUB: 2010-03-14 03:16:55 EDT - P+0Y0M0DT7H38M27S = **2010-03-13 19:38:28 EDT** +test_time_spring_type2_prev_type2_post: SUB: 2010-03-15 19:59:59 EDT - P+0Y0M2DT1H21M31S = **2010-03-13 18:38:28 EDT** test_time_spring_type2_st_type2_prev: SUB: 2010-03-13 18:38:28 EST - P-0Y0M0DT5H31M52S = **2010-03-14 00:10:20 EST** test_time_spring_type2_st_type2_st: SUB: 2010-03-14 00:15:35 EST - P+0Y0M0DT0H5M15S = **2010-03-14 00:10:20 EST** -test_time_spring_type2_st_type2_dt: SUB: 2010-03-14 03:16:55 EDT - P+0Y0M0DT2H6M35S = **2010-03-14 00:10:20 EST** -test_time_spring_type2_st_type2_post: SUB: 2010-03-15 19:59:59 EDT - P+0Y0M1DT18H49M39S = **2010-03-14 00:10:20 EST** -test_time_spring_type2_dt_type2_prev: SUB: 2010-03-13 18:38:28 EST - P-0Y0M0DT7H38M27S = **2010-03-14 03:16:55 EDT** -test_time_spring_type2_dt_type2_st: SUB: 2010-03-14 00:10:20 EST - P-0Y0M0DT2H6M35S = **2010-03-14 03:16:55 EDT** +test_time_spring_type2_st_type2_dt: SUB: 2010-03-14 03:16:55 EDT - P+0Y0M0DT2H6M35S = **2010-03-14 01:10:20 EDT** +test_time_spring_type2_st_type2_post: SUB: 2010-03-15 19:59:59 EDT - P+0Y0M1DT18H49M39S = **2010-03-14 01:10:20 EDT** +test_time_spring_type2_dt_type2_prev: SUB: 2010-03-13 18:38:28 EST - P-0Y0M0DT7H38M27S = **2010-03-14 02:16:55 EST** +test_time_spring_type2_dt_type2_st: SUB: 2010-03-14 00:10:20 EST - P-0Y0M0DT2H6M35S = **2010-03-14 02:16:55 EST** test_time_spring_type2_dt_type2_dt: SUB: 2010-03-14 05:19:56 EDT - P+0Y0M0DT2H3M1S = **2010-03-14 03:16:55 EDT** test_time_spring_type2_dt_type2_post: SUB: 2010-03-15 19:59:59 EDT - P+0Y0M1DT16H43M4S = **2010-03-14 03:16:55 EDT** -test_time_spring_type2_post_type2_prev: SUB: 2010-03-13 18:38:28 EST - P-0Y0M2DT1H21M31S = **2010-03-15 19:59:59 EDT** -test_time_spring_type2_post_type2_st: SUB: 2010-03-14 00:10:20 EST - P-0Y0M1DT18H49M39S = **2010-03-15 19:59:59 EDT** +test_time_spring_type2_post_type2_prev: SUB: 2010-03-13 18:38:28 EST - P-0Y0M2DT1H21M31S = **2010-03-15 19:59:59 EST** +test_time_spring_type2_post_type2_st: SUB: 2010-03-14 00:10:20 EST - P-0Y0M1DT18H49M39S = **2010-03-15 18:59:59 EST** test_time_spring_type2_post_type2_dt: SUB: 2010-03-14 03:16:55 EDT - P-0Y0M1DT16H43M4S = **2010-03-15 19:59:59 EDT** test_time_spring_type2_post_type2_post: SUB: 2010-03-15 19:59:59 EDT - P+0Y0M0DT1H2M4S = **2010-03-15 18:57:55 EDT** -test_time_spring_type2_stsec_type2_dtsec: SUB: 2010-03-15 03:00:00 EDT - P+0Y0M0DT0H0M1S = **2010-03-13 01:59:59 EST** -test_time_spring_type2_dtsec_type2_stsec: SUB: 2010-03-15 01:59:59 EST - P-0Y0M0DT0H0M1S = **2010-03-15 03:00:00 EDT** +test_time_spring_type2_stsec_type2_dtsec: SUB: 2010-03-14 03:00:00 EDT - P+0Y0M0DT0H0M1S = **2010-03-14 02:59:59 EDT** +test_time_spring_type2_dtsec_type2_stsec: SUB: 2010-03-14 01:59:59 EST - P-0Y0M0DT0H0M1S = **2010-03-14 02:00:00 EST** diff --git a/ext/date/tests/bug13142.phpt b/ext/date/tests/bug13142.phpt index 60fc7e7f6..5254142ba 100644 --- a/ext/date/tests/bug13142.phpt +++ b/ext/date/tests/bug13142.phpt @@ -4,6 +4,9 @@ Bug #13142 (strtotime handling of "M d H:i:s Y" format) date.timezone=US/Eastern --SKIPIF-- <?php +if (defined('PHP_WINDOWS_VERSION_MAJOR')) { + die("skip. set TZ env is not supported at runtime."); +} if (!@putenv("TZ=US/Eastern") || getenv("TZ") != 'US/Eastern') { die("skip unable to change TZ enviroment variable\n"); } diff --git a/ext/date/tests/bug27780.phpt b/ext/date/tests/bug27780.phpt index bd3bc949b..af35b8fbf 100644 --- a/ext/date/tests/bug27780.phpt +++ b/ext/date/tests/bug27780.phpt @@ -1,5 +1,10 @@ --TEST-- Bug #27780 (strtotime(+1 xxx) returns a wrong date/time) +--SKIPIF-- +<?php +if (defined('PHP_WINDOWS_VERSION_MAJOR')) { + die("skip. Not the same TZ on windows."); +} --FILE-- <?php $timezones = array ( diff --git a/ext/date/tests/bug28088.phpt b/ext/date/tests/bug28088.phpt index 95866e00b..c31013938 100644 --- a/ext/date/tests/bug28088.phpt +++ b/ext/date/tests/bug28088.phpt @@ -1,9 +1,9 @@ --TEST-- Bug #28088 (strtotime() cannot convert 00 hours") +--INI-- +date.timezone=UTC --FILE-- <?php -putenv("TZ=GMT"); - echo "The following line rightly shows the correct date time:\n"; echo gmdate("m/d/y Hi", strtotime("04/04/04 2345")), "\n"; diff --git a/ext/date/tests/bug32555.phpt b/ext/date/tests/bug32555.phpt index a99d3e289..fca34ffa1 100644 --- a/ext/date/tests/bug32555.phpt +++ b/ext/date/tests/bug32555.phpt @@ -1,10 +1,13 @@ --TEST-- Bug #32555 (strtotime("tomorrow") can return false) +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') die('skip strftime uses system TZ'); +?> --INI-- date.timezone=US/Eastern --FILE-- <?php - $stamp = 1112427000; print strftime('%c %Z',strtotime('now',$stamp)) ."\n"; print strftime('%c %Z',strtotime('tomorrow',$stamp)) ."\n"; diff --git a/ext/date/tests/bug33415-2.phpt b/ext/date/tests/bug33415-2.phpt index 9ea537a9f..424be76fc 100644 --- a/ext/date/tests/bug33415-2.phpt +++ b/ext/date/tests/bug33415-2.phpt @@ -2,10 +2,10 @@ Bug #33415 [2] (Possibly invalid non-one-hour DST or timezone shifts) --FILE-- <?php +date_default_timezone_set('Africa/Bujumbura'); print "TZ=Africa/Bujumbura - *Note*: Unexpected, as does not appear to have a DST or timezone transition.\n"; -putenv("TZ=Africa/Bujumbura"); $tStamp = mktime (17, 17, 17, 1, 1, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Wednesday", $tStamp); @@ -13,7 +13,7 @@ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; print "wanted=Wednesday 00:00:00\n\n"; print "TZ=Asia/Thimbu - Is it OK for this to be 0:30 AM? yes\n"; -putenv("TZ=Asia/Thimbu"); +date_default_timezone_set('Asia/Thimbu'); $tStamp = mktime (17, 17, 17, 1, 6476, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Thursday", $tStamp); @@ -22,7 +22,7 @@ print "wanted=Thursday 00:30:00\n\n"; print "TZ=Indian/Cocos - Is it OK for this to be 6:30 AM? Note: does not appear to have a DST or timezone transition.\n"; -putenv("TZ=Indian/Cocos"); +date_default_timezone_set('Indian/Cocos'); $tStamp = mktime (17, 17, 17, 1, 1, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Thursday", $tStamp); @@ -31,7 +31,7 @@ print "wanted=Thursday 00:00:00\n\n"; print "TZ=Africa/Lubumbashi - Is it OK for this to be 2 AM? Note: does not appear to have a DST or timezone transition.\n"; -putenv("TZ=Africa/Lubumbashi"); +date_default_timezone_set('Africa/Lubumbashi'); $tStamp = mktime (17, 17, 17, 1, 1, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Saturday", $tStamp); @@ -39,7 +39,7 @@ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; print "wanted=Saturday 00:00:00\n\n"; print "TZ=Asia/Kashgar - Is it OK for this to be 3 AM? yes\n"; -putenv("TZ=Asia/Kashgar"); +date_default_timezone_set('Asia/Kashgar'); $tStamp = mktime (17, 17, 17, 1, 3767, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Thursday", $tStamp); @@ -48,7 +48,7 @@ print "wanted=Thursday 03:00:00\n\n"; print "TZ=Indian/Christmas - Is it OK for this to be 7 AM? Note: does not appear to have a DST or timezone transition.\n"; -putenv("TZ=Indian/Christmas"); +date_default_timezone_set('Indian/Christmas'); $tStamp = mktime (17, 17, 17, 1, 1, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Sunday", $tStamp); @@ -56,7 +56,7 @@ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; print "wanted=Sunday 00:00:00\n\n"; print "TZ=America/Santo_Domingo - Is it OK for this to be 0:30 AM? yes\n"; -putenv("TZ=America/Santo_Domingo"); +date_default_timezone_set('America/Santo_Domingo'); $tStamp = mktime (17, 17, 17, 1, 291, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Sunday", $tStamp); @@ -65,7 +65,7 @@ print "wanted=Sunday 00:30:00\n\n"; print "TZ=Pacific/Truk - Is it OK for this to be 10 AM? Note: does not appear to have a DST or timezone transition.\n"; -putenv("TZ=Pacific/Truk"); +date_default_timezone_set('Pacific/Truk'); $tStamp = mktime (17, 17, 17, 1, 1, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Tuesday", $tStamp); @@ -74,7 +74,7 @@ print "wanted=Tuesday 00:00:00\n\n"; print "TZ=Pacific/Ponape - Is it OK for this to be 11 AM? Note: does not appear to have a DST or timezone transition.\n"; -putenv("TZ=Pacific/Ponape"); +date_default_timezone_set('Pacific/Ponape'); $tStamp = mktime (17, 17, 17, 1, 1, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Monday", $tStamp); @@ -82,7 +82,7 @@ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; print "wanted=Monday 00:00:00\n\n"; print "TZ=America/Scoresbysund - Is it OK for this to be 2 AM? yes\n"; -putenv("TZ=America/Scoresbysund"); +date_default_timezone_set('America/Scoresbysund'); $tStamp = mktime (17, 17, 17, 1, 4099, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Sunday", $tStamp); @@ -90,7 +90,7 @@ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; print "wanted=Sunday 02:00:00\n\n"; print "TZ=America/Guyana - Is it OK for this to be 0:45 AM? yes\n"; -putenv("TZ=America/Guyana"); +date_default_timezone_set('America/Guyana'); $tStamp = mktime (17, 17, 17, 1, 2031, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Thursday", $tStamp); @@ -98,7 +98,7 @@ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; print "wanted=Thursday 00:45:00\n\n"; print "TZ=Asia/Tehran - Is it OK for this to be 0:30 AM? yes\n"; -putenv("TZ=Asia/Tehran"); +date_default_timezone_set('Asia/Tehran'); $tStamp = mktime (17, 17, 17, 1, 2855, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Tuesday", $tStamp); @@ -107,7 +107,7 @@ print "wanted=Tuesday 00:30:00\n\n"; print "TZ=Pacific/Tarawa - Is it OK for this to be Midday? Note: does not appear to have a DST or timezone transition.\n"; -putenv("TZ=Pacific/Tarawa"); +date_default_timezone_set('Pacific/Tarawa'); $tStamp = mktime (17, 17, 17, 1, 1, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Monday", $tStamp); @@ -115,7 +115,7 @@ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; print "wanted=Monday 00:00:00\n\n"; print "TZ=Africa/Monrovia - Is it OK for this to be 00:44:30 AM? yes\n"; -putenv("TZ=Africa/Monrovia"); +date_default_timezone_set('Africa/Monrovia'); $tStamp = mktime (17, 17, 17, 1, 845, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Monday", $tStamp); @@ -123,7 +123,7 @@ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; print "wanted=Monday 00:44:30\n\n"; print "TZ=Asia/Katmandu - Is it OK for this to 0:15 AM?. yes\n"; -putenv("TZ=Asia/Katmandu"); +date_default_timezone_set('Asia/Katmandu'); $tStamp = mktime (17, 17, 17, 1, 5838, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Wednesday", $tStamp); @@ -131,7 +131,7 @@ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; print "wanted=Wednesday 00:15:00\n\n"; print "TZ=Pacific/Nauru - Is it OK for this to be 0:30? yes\n"; -putenv("TZ=Pacific/Nauru"); +date_default_timezone_set('Pacific/Nauru'); $tStamp = mktime (17, 17, 17, 1, 3401, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Tuesday", $tStamp); @@ -139,7 +139,7 @@ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; print "wanted=Tuesday 00:30:00\n\n"; print "TZ=Pacific/Niue - Is it OK for this to be 0:30 AM? yes\n"; -putenv("TZ=Pacific/Niue"); +date_default_timezone_set('Pacific/Niue'); $tStamp = mktime (17, 17, 17, 1, 3189, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Sunday", $tStamp); @@ -148,7 +148,7 @@ print "wanted=Sunday 00:30:00\n\n"; print "TZ=Pacific/Port_Moresby - Is it OK for this to be 10 AM? No DST or timezone transition.\n"; -putenv("TZ=Pacific/Port_Moresby"); +date_default_timezone_set('Pacific/Port_Moresby'); $tStamp = mktime (17, 17, 17, 1, 1, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Thursday", $tStamp); @@ -156,7 +156,7 @@ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; print "wanted=Thursday 00:00:00\n\n"; print "TZ=America/Miquelon - Is it OK for this to be 1 AM ? yes\n"; -putenv("TZ=America/Miquelon"); +date_default_timezone_set('America/Miquelon'); $tStamp = mktime (17, 17, 17, 1, 3767, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Thursday", $tStamp); @@ -165,7 +165,7 @@ print "wanted=Thursday 01:00:00\n\n"; print "TZ=Pacific/Palau - Is it OK for this to be 9 AM? No DST or timezone transition.\n"; -putenv("TZ=Pacific/Palau"); +date_default_timezone_set('Pacific/Palau'); $tStamp = mktime (17, 17, 17, 1, 1, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Saturday", $tStamp); @@ -174,7 +174,7 @@ print "wanted=Saturday 00:00:00\n\n"; print "TZ=Pacific/Funafuti - Is it OK for this to be midday? Note: does not appear to have a DST or timezone transition.\n"; -putenv("TZ=Pacific/Funafuti"); +date_default_timezone_set('Pacific/Funafuti'); $tStamp = mktime (17, 17, 17, 1, 1, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Wednesday", $tStamp); @@ -183,7 +183,7 @@ print "wanted=Wednesday 00:00:00\n\n"; print "TZ=Pacific/Wake - Is it OK for this to be midday? Note: does not appear to have a DST or timezone transition.\n"; -putenv("TZ=Pacific/Wake"); +date_default_timezone_set('Pacific/Wake'); $tStamp = mktime (17, 17, 17, 1, 1, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Tuesday", $tStamp); @@ -192,7 +192,7 @@ print "wanted=Tuesday 00:00:00\n\n"; print "TZ=Pacific/Wallis - Is it OK for this to be midday? Note: does not appear to have a DST or timezone transition.\n"; -putenv("TZ=Pacific/Wallis"); +date_default_timezone_set('Pacific/Wallis'); $tStamp = mktime (17, 17, 17, 1, 1, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Tuesday", $tStamp); @@ -200,7 +200,7 @@ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; print "wanted=Tuesday 00:00:00\n\n"; print "TZ=America/Paramaribo - Is it OK for this to be 0:30 AM? yes\n"; -putenv("TZ=America/Paramaribo"); +date_default_timezone_set('America/Paramaribo'); $tStamp = mktime (17, 17, 17, 1, 5381, 1970); print "tStamp=". date("l Y-m-d H:i:s T I", $tStamp). "\n"; $strtotime_tstamp = strtotime("next Monday", $tStamp); diff --git a/ext/date/tests/bug33532.phpt b/ext/date/tests/bug33532.phpt index 286ceb4ce..148630855 100644 --- a/ext/date/tests/bug33532.phpt +++ b/ext/date/tests/bug33532.phpt @@ -3,6 +3,10 @@ Bug #33532 (Different output for strftime() and date()) --INI-- error_reporting=2047 date.timezone=UTC +--SKIPIF-- +<?php +if(PHP_OS == 'Darwin' || defined('PHP_WINDOWS_VERSION_MAJOR')) die("skip strftime uses system TZ on Darwin and Windows"); +?> --FILE-- <?php @@ -18,6 +22,7 @@ print "datestr " . date ("H:i:s A F j Y T", $tStamp) . "\n"; print "\nSetting TZ\n"; date_default_timezone_set('Australia/Sydney'); +putenv("TZ=Australia/Sydney"); $input = "10:00:00 AM July 1 2005"; print "input " . $input . "\n"; $tStamp = strtotime($input); diff --git a/ext/date/tests/bug48476.phpt b/ext/date/tests/bug48476.phpt new file mode 100644 index 000000000..2daa59487 --- /dev/null +++ b/ext/date/tests/bug48476.phpt @@ -0,0 +1,33 @@ +--TEST-- +Bug #48476 (cloning extended DateTime class without calling parent::__constr crashed PHP) +--FILE-- +<?php +class MyDateTime extends DateTime { + public function __construct() { } +} +class MyDateTimeZone extends DateTimeZone { + public function __construct() { } +} + +$o = new MyDateTime; +var_dump($o->format("d")); +$x = clone $o; + +var_dump($x->format("d")); + +clone $o; + + +var_dump(timezone_location_get(clone new MyDateTimezone)); +?> +--EXPECTF-- +Warning: DateTime::format(): The DateTime object has not been correctly initialized by its constructor in %sbug48476.php on line 10 +bool(false) + +Warning: DateTime::format(): The DateTime object has not been correctly initialized by its constructor in %sbug48476.php on line 13 +bool(false) + +Warning: timezone_location_get(): The DateTimeZone object has not been correctly initialized by its constructor in %sbug48476.php on line 18 +bool(false) + + diff --git a/ext/date/tests/bug48678.phpt b/ext/date/tests/bug48678.phpt index 896693463..e2cb724f7 100644 --- a/ext/date/tests/bug48678.phpt +++ b/ext/date/tests/bug48678.phpt @@ -1,12 +1,12 @@ --TEST-- -Bug #48678 DateInterval segfaults when unserialising +Bug #48678 (DateInterval segfaults when unserialising) --FILE-- <?php -$x = new dateinterval("P3Y6M4DT12H30M5S"); +$x = new DateInterval("P3Y6M4DT12H30M5S"); print_r($x); $y = unserialize(serialize($x)); print_r($y); ---EXPECT-- +--EXPECTF-- DateInterval Object ( [y] => 3 @@ -16,7 +16,7 @@ DateInterval Object [i] => 30 [s] => 5 [invert] => 0 - [days] => + [days] =>%s ) DateInterval Object ( @@ -27,5 +27,5 @@ DateInterval Object [i] => 30 [s] => 5 [invert] => 0 - [days] => + [days] =>%s ) diff --git a/ext/date/tests/bug50392.phpt b/ext/date/tests/bug50392.phpt index 4fa506ef5..9b1002317 100644 --- a/ext/date/tests/bug50392.phpt +++ b/ext/date/tests/bug50392.phpt @@ -1,5 +1,5 @@ --TEST-- -Bug #50392 date_create_from_format enforces 6 digits for 'u' format character +Bug #50392 (date_create_from_format enforces 6 digits for 'u' format character) --FILE-- <?php date_default_timezone_set('Europe/Bratislava'); diff --git a/ext/date/tests/bug51096.phpt b/ext/date/tests/bug51096.phpt index 31503bc7a..df31313a7 100644 --- a/ext/date/tests/bug51096.phpt +++ b/ext/date/tests/bug51096.phpt @@ -1,5 +1,5 @@ --TEST-- -Bug #51096: Test for "first day" vs "first day of". +Bug #51096 (Test for "first day" vs "first day of") --FILE-- <?php $tests = array( diff --git a/ext/date/tests/bug51866.phpt b/ext/date/tests/bug51866.phpt new file mode 100644 index 000000000..8d765b02f --- /dev/null +++ b/ext/date/tests/bug51866.phpt @@ -0,0 +1,161 @@ +--TEST-- +Bug #51866 (Lenient parsing with parseFromFormat) +--FILE-- +<?php +date_default_timezone_set('UTC'); + +$tests = array( + array( 'Y-m-d', '2001-11-29 13:20:01' ), + array( 'Y-m-d+', '2001-11-29 13:20:01' ), + array( 'Y-m-d +', '2001-11-29 13:20:01' ), + array( 'Y-m-d+', '2001-11-29' ), + array( 'Y-m-d +', '2001-11-29' ), + array( 'Y-m-d +', '2001-11-29 ' ), +); +foreach( $tests as $test ) +{ + list($format, $str) = $test; + var_dump($format, $str); + $d = DateTime::createFromFormat($format, $str); + var_dump($d); + var_dump(DateTime::getLastErrors()); + + echo "\n\n"; +} +--EXPECTF-- +string(5) "Y-m-d" +string(19) "2001-11-29 13:20:01" +bool(false) +array(4) { + ["warning_count"]=> + int(0) + ["warnings"]=> + array(0) { + } + ["error_count"]=> + int(1) + ["errors"]=> + array(1) { + [10]=> + string(13) "Trailing data" + } +} + + +string(6) "Y-m-d+" +string(19) "2001-11-29 13:20:01" +object(DateTime)#2 (3) { + ["date"]=> + string(19) "2001-11-29 %d:%d:%d" + ["timezone_type"]=> + int(3) + ["timezone"]=> + string(%d) "%s" +} +array(4) { + ["warning_count"]=> + int(1) + ["warnings"]=> + array(1) { + [10]=> + string(13) "Trailing data" + } + ["error_count"]=> + int(0) + ["errors"]=> + array(0) { + } +} + + +string(7) "Y-m-d +" +string(19) "2001-11-29 13:20:01" +object(DateTime)#3 (3) { + ["date"]=> + string(19) "2001-11-29 %d:%d:%d" + ["timezone_type"]=> + int(3) + ["timezone"]=> + string(%d) "%s" +} +array(4) { + ["warning_count"]=> + int(1) + ["warnings"]=> + array(1) { + [11]=> + string(13) "Trailing data" + } + ["error_count"]=> + int(0) + ["errors"]=> + array(0) { + } +} + + +string(6) "Y-m-d+" +string(10) "2001-11-29" +object(DateTime)#2 (3) { + ["date"]=> + string(19) "2001-11-29 %d:%d:%d" + ["timezone_type"]=> + int(3) + ["timezone"]=> + string(%d) "%s" +} +array(4) { + ["warning_count"]=> + int(0) + ["warnings"]=> + array(0) { + } + ["error_count"]=> + int(0) + ["errors"]=> + array(0) { + } +} + + +string(7) "Y-m-d +" +string(10) "2001-11-29" +bool(false) +array(4) { + ["warning_count"]=> + int(0) + ["warnings"]=> + array(0) { + } + ["error_count"]=> + int(1) + ["errors"]=> + array(1) { + [10]=> + string(12) "Data missing" + } +} + + +string(7) "Y-m-d +" +string(11) "2001-11-29 " +object(DateTime)#2 (3) { + ["date"]=> + string(19) "2001-11-29 %d:%d:%d" + ["timezone_type"]=> + int(3) + ["timezone"]=> + string(%d) "%s" +} +array(4) { + ["warning_count"]=> + int(0) + ["warnings"]=> + array(0) { + } + ["error_count"]=> + int(0) + ["errors"]=> + array(0) { + } +} diff --git a/ext/date/tests/bug51994.phpt b/ext/date/tests/bug51994.phpt index fb0fe46d8..2c456ba6e 100644 --- a/ext/date/tests/bug51994.phpt +++ b/ext/date/tests/bug51994.phpt @@ -1,12 +1,9 @@ --TEST-- Bug #51994 (date_parse_from_format is parsing invalid date using 'yz' format) ---XFAIL-- -Bug #51994 isn't fixed yet --FILE-- <?php $trans_date = '10153'; // 152nd day of year 2010 -> 03.06.2010 $a_date = date_parse_from_format('yz', $trans_date); - var_dump($a_date); ?> --EXPECTF-- diff --git a/ext/date/tests/bug52062-64bit.phpt b/ext/date/tests/bug52062-64bit.phpt new file mode 100644 index 000000000..e4a2a524f --- /dev/null +++ b/ext/date/tests/bug52062-64bit.phpt @@ -0,0 +1,27 @@ +--TEST-- +Bug #52062 (large timestamps with DateTime::getTimestamp and DateTime::setTimestamp) (64 bit) +--SKIPIF-- +<?php +if (PHP_INT_SIZE == 4) die('skip 64 bit only'); +?> +--INI-- +date.timezone=UTC +--FILE-- +<?php +$d = new DateTime('@100000000000'); +var_dump($d->format('Y-m-d H:i:s U')); +var_dump($d->getTimestamp()); + +$d->setTimestamp(100000000000); +var_dump($d->format('Y-m-d H:i:s U')); +var_dump($d->getTimestamp()); + +$i = new DateInterval('PT100000000000S'); +var_dump($i->format('%s')); +?> +--EXPECT-- +string(32) "5138-11-16 09:46:40 100000000000" +int(100000000000) +string(32) "5138-11-16 09:46:40 100000000000" +int(100000000000) +string(12) "100000000000" diff --git a/ext/date/tests/bug52062.phpt b/ext/date/tests/bug52062.phpt new file mode 100644 index 000000000..d3e1c9abf --- /dev/null +++ b/ext/date/tests/bug52062.phpt @@ -0,0 +1,27 @@ +--TEST-- +Bug #52062 (large timestamps with DateTime::getTimestamp and DateTime::setTimestamp) (32 bit) +--SKIPIF-- +<?php +if (PHP_INT_SIZE == 8) die('skip 32-bit only'); +?> +--INI-- +date.timezone=UTC +--FILE-- +<?php +$d = new DateTime('@100000000000'); +var_dump($d->format('Y-m-d H:i:s U')); +var_dump($d->getTimestamp()); + +$d->setTimestamp(100000000000); +var_dump($d->format('Y-m-d H:i:s U')); +var_dump($d->getTimestamp()); + +$i = new DateInterval('PT100000000000S'); +var_dump($i->format('%s')); +?> +--EXPECT-- +string(32) "5138-11-16 09:46:40 100000000000" +int(100000000000) +string(32) "5138-11-16 09:46:40 100000000000" +int(100000000000) +string(12) "100000000000" diff --git a/ext/date/tests/bug52113.phpt b/ext/date/tests/bug52113.phpt new file mode 100644 index 000000000..a7d9339d1 --- /dev/null +++ b/ext/date/tests/bug52113.phpt @@ -0,0 +1,102 @@ +--TEST-- +Bug #52113 (Seg fault while creating (by unserialization) DatePeriod) +--INI-- +date.timezone=UTC +--FILE-- +<?php +$start = new DateTime('2003-01-02 08:00:00'); +$end = new DateTime('2003-01-02 12:00:00'); +$diff = $start->diff($end); +$p = new DatePeriod($start, $diff, 2); +$diff_s = serialize($diff); +var_dump($diff, $diff_s); +var_export($diff); + +$diff_un = unserialize($diff_s); +$p = new DatePeriod($start, $diff_un, 2); +var_dump($diff_un, $p); + +$unser = DateInterval::__set_state(array( + 'y' => 7, + 'm' => 6, + 'd' => 5, + 'h' => 4, + 'i' => 3, + 's' => 2, + 'invert' => 1, + 'days' => 2400, +)); + +$p = new DatePeriod($start, $diff_un, 2); +var_dump($unser, $p); + +?> +--EXPECT-- +object(DateInterval)#3 (8) { + ["y"]=> + int(0) + ["m"]=> + int(0) + ["d"]=> + int(0) + ["h"]=> + int(4) + ["i"]=> + int(0) + ["s"]=> + int(0) + ["invert"]=> + int(0) + ["days"]=> + int(0) +} +string(128) "O:12:"DateInterval":8:{s:1:"y";i:0;s:1:"m";i:0;s:1:"d";i:0;s:1:"h";i:4;s:1:"i";i:0;s:1:"s";i:0;s:6:"invert";i:0;s:4:"days";i:0;}" +DateInterval::__set_state(array( + 'y' => 0, + 'm' => 0, + 'd' => 0, + 'h' => 4, + 'i' => 0, + 's' => 0, + 'invert' => 0, + 'days' => 0, +))object(DateInterval)#5 (8) { + ["y"]=> + int(0) + ["m"]=> + int(0) + ["d"]=> + int(0) + ["h"]=> + int(4) + ["i"]=> + int(0) + ["s"]=> + int(0) + ["invert"]=> + int(0) + ["days"]=> + int(0) +} +object(DatePeriod)#6 (0) { +} +object(DateInterval)#4 (8) { + ["y"]=> + int(7) + ["m"]=> + int(6) + ["d"]=> + int(5) + ["h"]=> + int(4) + ["i"]=> + int(3) + ["s"]=> + int(2) + ["invert"]=> + int(1) + ["days"]=> + int(2400) +} +object(DatePeriod)#7 (0) { +} diff --git a/ext/date/tests/bug53437.phpt b/ext/date/tests/bug53437.phpt new file mode 100644 index 000000000..f08986653 --- /dev/null +++ b/ext/date/tests/bug53437.phpt @@ -0,0 +1,28 @@ +--TEST-- +Bug #53437 (Crash when using unserialized DatePeriod instance) +--XFAIL-- +Bug #53437 Not fixed yet +--FILE-- +<?php +$dp = new DatePeriod(new DateTime('2010-01-01 UTC'), new DateInterval('P1D'), 2); + +echo "Original:\r\n"; +foreach($dp as $dt) { + echo $dt->format('Y-m-d H:i:s')."\r\n"; +} +echo "\r\n"; +var_dump($dp); + +$ser = serialize($dp); // $ser is: O:10:"DatePeriod":0:{} + +// Create dangerous instance +$dpu = unserialize($ser); // $dpu has invalid values??? +var_dump($dpu); + +echo "Unserialized:\r\n"; +// ???which leads to CRASH: +foreach($dpu as $dt) { + echo $dt->format('Y-m-d H:i:s')."\r\n"; +} +?> +--EXPECT-- diff --git a/ext/date/tests/bug53502.phpt b/ext/date/tests/bug53502.phpt new file mode 100644 index 000000000..6cfa5e07f --- /dev/null +++ b/ext/date/tests/bug53502.phpt @@ -0,0 +1,13 @@ +--TEST-- +Bug #53502 (strtotime with timezone memory leak) +--INI-- +date.timezone=UTC +--FILE-- +<?php +for ($i = 0; $i < 1000; $i++) { + strtotime('Monday 00:00 Europe/Paris'); // Memory leak +} +echo "Nothing, test only makes sense through valgrind.\n"; +?> +--EXPECT-- +Nothing, test only makes sense through valgrind. diff --git a/ext/date/tests/bug54597.phpt b/ext/date/tests/bug54597.phpt new file mode 100644 index 000000000..d196adf12 --- /dev/null +++ b/ext/date/tests/bug54597.phpt @@ -0,0 +1,18 @@ +--TEST-- +Bug #54597 (incorrect years for DateTime objects created with 4-digit years) +--INI-- +date.timezone=Europe/London +--FILE-- +<?php +$tz = new DateTimeZone("Europe/Amsterdam"); +$dateObject = new DateTime( 'January 0099', $tz ); +echo $dateObject->format( 'Y' ), "\n"; +$dateObject = new DateTime( 'January 1, 0099', $tz ); +echo $dateObject->format( 'Y' ), "\n"; +$dateObject = new DateTime( '0099-01', $tz ); +echo $dateObject->format( 'Y' ), "\n"; +?> +--EXPECT-- +0099 +0099 +0099 diff --git a/ext/date/tests/bug54851.phpt b/ext/date/tests/bug54851.phpt new file mode 100644 index 000000000..84d18ba5a --- /dev/null +++ b/ext/date/tests/bug54851.phpt @@ -0,0 +1,57 @@ +--TEST-- +Bug #54851 (DateTime::createFromFormat() doesn't interpret "D") +--INI-- +date.timezone=UTC +--FILE-- +<?php +$date = new DateTime("2011-05-17T22:14:12"); +$date2 = DateTime::createFromFormat("D H i s", $date->format("D"). ' 0 00 00'); +echo $date->format("r"), "\n"; +echo $date2->format("r"), "\n"; +var_dump($date->format("D") == $date2->format("D")); + +// Verify that our implementation works regardless of position +$datePre = DateTime::createFromFormat("!D d M Y", "Fri 17 may 2011"); +$datePost = DateTime::createFromFormat("!d M Y D", "17 may 2011 Fri"); +echo $datePre->format("r"), "\n"; +echo $datePost->format("r"), "\n"; +var_dump($datePre->format("Y-m-d") == $datePost->format("Y-m-d")); + +// Verify that our implementation is the same as for the constructor and +// strtotime +$date1 = new DateTime("Tuesday"); +$date2 = DateTime::createFromFormat("D H i s", "Tuesday 0 00 00"); +echo $date1->format('r'), "\n"; +echo $date2->format('r'), "\n"; +var_dump($date1->format('D') == $date2->format('D')); + +// - when the day is not the same as the day on the original date: +$date1 = DateTime::createFromFormat("!D d M Y", "Fri 19 November 2011"); +$date2 = new DateTime("Fri 19 November 2011"); +echo $date1->format('r'), "\n"; +echo $date2->format('r'), "\n"; +var_dump($date1->format('Y-m-d') == $date2->format('Y-m-d')); + +// - when the day *is* the same as the day on the original date: +$date1 = DateTime::createFromFormat("!D d M Y", "Sat 19 November 2011"); +$date2 = new DateTime("Sat 19 November 2011"); +echo $date1->format('r'), "\n"; +echo $date2->format('r'), "\n"; +var_dump($date1->format('Y-m-d') == $date2->format('Y-m-d')); +?> +--EXPECTF-- +Tue, 17 May 2011 22:14:12 +0000 +Tue, %d %s %d 00:00:00 +0000 +bool(true) +Fri, 20 May 2011 00:00:00 +0000 +Fri, 20 May 2011 00:00:00 +0000 +bool(true) +Tue, %d %s %d 00:00:00 +0000 +Tue, %d %s %d 00:00:00 +0000 +bool(true) +Fri, 25 Nov 2011 00:00:00 +0000 +Fri, 25 Nov 2011 00:00:00 +0000 +bool(true) +Sat, 19 Nov 2011 00:00:00 +0000 +Sat, 19 Nov 2011 00:00:00 +0000 +bool(true) diff --git a/ext/date/tests/bug55253.phpt b/ext/date/tests/bug55253.phpt index 3c0efc469..5751cc112 100755 --- a/ext/date/tests/bug55253.phpt +++ b/ext/date/tests/bug55253.phpt @@ -1,9 +1,7 @@ --TEST-- -DateTime::add() and sub() result -1 hour on objects with time zone type 2 +Bug #55253 (DateTime::add() and sub() result -1 hour on objects with time zone type 2) --CREDITS-- Daniel Convissor <danielc@php.net> ---XFAIL-- -Bug 55253 exists --FILE-- <?php diff --git a/ext/date/tests/bug60236.phpt b/ext/date/tests/bug60236.phpt new file mode 100644 index 000000000..faa0e160c --- /dev/null +++ b/ext/date/tests/bug60236.phpt @@ -0,0 +1,22 @@ +--TEST-- +Bug #60236 (TLA timezone dates are not converted properly from timestamp) +--INI-- +date.timezone=America/New_York +--FILE-- +<?php +$t = new DateTime('2010-07-06 18:38:28 EDT'); +$ts = $t->format('U'); +var_dump($ts); +$t->setTimestamp($ts); +var_dump($t); +?> +--EXPECT-- +string(10) "1278455908" +object(DateTime)#1 (3) { + ["date"]=> + string(19) "2010-07-06 18:38:28" + ["timezone_type"]=> + int(2) + ["timezone"]=> + string(3) "EDT" +} diff --git a/ext/date/tests/date.phpt b/ext/date/tests/date.phpt index ccdb3cda9..12bc9f0fc 100644 --- a/ext/date/tests/date.phpt +++ b/ext/date/tests/date.phpt @@ -3,13 +3,13 @@ date() function --FILE-- <?php $tmp = "cr"; -putenv ("TZ=GMT0"); +date_default_timezone_set('UTC'); for($a = 0;$a < strlen($tmp); $a++){ echo $tmp[$a], ': ', date($tmp[$a], 1043324459)."\n"; } -putenv ("TZ=MET"); +date_default_timezone_set("MET"); for($a = 0;$a < strlen($tmp); $a++){ echo $tmp[$a], ': ', date($tmp[$a], 1043324459)."\n"; diff --git a/ext/date/tests/date_default_timezone_set-1.phpt b/ext/date/tests/date_default_timezone_set-1.phpt index c6a6daf7a..bca8789e7 100644 --- a/ext/date/tests/date_default_timezone_set-1.phpt +++ b/ext/date/tests/date_default_timezone_set-1.phpt @@ -1,5 +1,9 @@ --TEST-- date_default_timezone_set() function [1] +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') die('skip diff TZ detection on windows.'); +?> --INI-- date.timezone= --FILE-- diff --git a/ext/date/tests/gmstrftime_variation22.phpt b/ext/date/tests/gmstrftime_variation22.phpt index 198941871..d9abdce17 100644 --- a/ext/date/tests/gmstrftime_variation22.phpt +++ b/ext/date/tests/gmstrftime_variation22.phpt @@ -5,8 +5,8 @@ Test gmstrftime() function : usage variation - Checking Preferred date and time if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { die("skip Test is not valid for Windows"); } -if (!setlocale(LC_ALL, "en_US.utf8", "en_US")) { - die("skip Locale en_US or en_US.utf8 is required to run this test"); +if (!setlocale(LC_TIME, "POSIX")) { + die("skip Locale POSIX is required to run this test"); } ?> --FILE-- @@ -21,7 +21,8 @@ echo "*** Testing gmstrftime() : usage variation ***\n"; // Initialise function arguments not being substituted (if any) $timestamp = gmmktime(8, 8, 8, 8, 8, 2008); -setlocale(LC_ALL, "en_US.utf8", "en_US"); +setlocale(LC_TIME, "POSIX"); +putenv("LC_TIME=POSIX"); date_default_timezone_set("Asia/Calcutta"); //array of values to iterate over @@ -46,13 +47,13 @@ foreach($inputs as $key =>$value) { --Preferred date and time representation-- string(2) "%c" -string(31) "Fri 08 Aug 2008 08:08:08 AM GMT" +string(24) "Fri Aug 8 08:08:08 2008" --Preferred date representation-- string(2) "%x" -string(10) "08/08/2008" +string(8) "08/08/08" --Preferred time representation-- string(2) "%X" -string(11) "08:08:08 AM" +string(8) "08:08:08" ===DONE=== diff --git a/ext/date/tests/mktime-2.phpt b/ext/date/tests/mktime-2.phpt index aa259b577..931f63755 100644 --- a/ext/date/tests/mktime-2.phpt +++ b/ext/date/tests/mktime-2.phpt @@ -5,13 +5,13 @@ error_reporting=2047 --FILE-- <?php $timezones = array( - 'GMT0', + 'UTC', 'Europe/London' ); foreach($timezones as $timezone) { - putenv('TZ='.$timezone); + date_default_timezone_set($timezone); /* status of daylight saving time unknown */ var_dump(mktime(0, 0, 0, 1, 1, 2002)); diff --git a/ext/date/tests/rfc-datetime_and_daylight_saving_time-type1.phpt b/ext/date/tests/rfc-datetime_and_daylight_saving_time-type1.phpt new file mode 100644 index 000000000..c29760891 --- /dev/null +++ b/ext/date/tests/rfc-datetime_and_daylight_saving_time-type1.phpt @@ -0,0 +1,380 @@ +--TEST-- +RFC: DateTime and Daylight Saving Time Transitions (zone type 1) +--CREDITS-- +Daniel Convissor <danielc@php.net> +--FILE-- +<?php + +date_default_timezone_set('America/New_York'); +$date_format = 'Y-m-d H:i:s e'; +$interval_format = 'P%dDT%hH'; + +/* + * Forward Transitions, diff(). + */ + +$end = new DateTime('2010-03-14 03:00:00 -0400'); +$start = new DateTime('2010-03-14 01:59:59 -0500'); +echo 'fd1 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format('PT%hH%iM%sS') . "\n"; + +$end = new DateTime('2010-03-14 04:30:00 -0400'); +$start = new DateTime('2010-03-13 04:30:00 -0500'); +echo 'fd2 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 03:30:00 -0400'); +$start = new DateTime('2010-03-13 04:30:00 -0500'); +echo 'fd3 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 01:30:00 -0500'); +$start = new DateTime('2010-03-13 04:30:00 -0500'); +echo 'fd4 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 01:30:00 -0500'); +$start = new DateTime('2010-03-13 01:30:00 -0500'); +echo 'fd5 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 03:30:00 -0400'); +$start = new DateTime('2010-03-13 03:30:00 -0500'); +echo 'fd6 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 03:30:00 -0400'); +$start = new DateTime('2010-03-13 02:30:00 -0500'); +echo 'fd7 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +echo "\n"; + +/* + * Forward Transitions, add(). + */ + +$start = new DateTime('2010-03-14 01:59:59 -0500'); +$interval_spec = 'PT1S'; +$interval = new DateInterval($interval_spec); +echo 'fa1 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 04:30:00 -0500'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fa2 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 04:30:00 -0500'); +$interval_spec = 'PT22H'; +$interval = new DateInterval($interval_spec); +echo 'fa3 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 04:30:00 -0500'); +$interval_spec = 'PT21H'; +$interval = new DateInterval($interval_spec); +echo 'fa4 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 01:30:00 -0500'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fa5 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 02:30:00 -0500'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fa6 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +echo "\n"; + +/* + * Forward Transitions, sub(). + */ + +$end = new DateTime('2010-03-14 03:00:00 -0400'); +$interval_spec = 'PT1S'; +$interval = new DateInterval($interval_spec); +echo 'fs1 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-14 04:30:00 -0400'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fs2 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-14 03:30:00 -0400'); +$interval_spec = 'PT22H'; +$interval = new DateInterval($interval_spec); +echo 'fs3 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-14 01:30:00 -0500'); +$interval_spec = 'PT21H'; +$interval = new DateInterval($interval_spec); +echo 'fs4 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-14 01:30:00 -0500'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fs5 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-15 03:30:00 -0400'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fs6 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-15 02:30:00 -0400'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fs7 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +echo "\n"; + +/* + * Backward Transitions, diff(). + */ + +$end = new DateTime('2010-11-07 01:00:00 -0500'); +$start = new DateTime('2010-11-07 01:59:59 -0400'); +echo 'bd1 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format('PT%hH%iM%sS') . "\n"; + +$end = new DateTime('2010-11-07 04:30:00 -0500'); +$start = new DateTime('2010-11-06 04:30:00 -0400'); +echo 'bd2 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 03:30:00 -0500'); +$start = new DateTime('2010-11-06 04:30:00 -0400'); +echo 'bd3 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 02:30:00 -0500'); +$start = new DateTime('2010-11-06 04:30:00 -0400'); +echo 'bd4 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 -0500'); +$start = new DateTime('2010-11-06 04:30:00 -0400'); +echo 'bd5 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 -0400'); +$start = new DateTime('2010-11-06 04:30:00 -0400'); +echo 'bd6 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 -0400'); +$start = new DateTime('2010-11-06 01:30:00 -0400'); +echo 'bd7 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 -0500'); +$start = new DateTime('2010-11-06 01:30:00 -0400'); +echo 'bd8 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +echo "\n"; + +/* + * Backward Transitions, add(). + */ + +$start = new DateTime('2010-11-07 01:59:59 -0400'); +$interval_spec = 'PT1S'; +$interval = new DateInterval($interval_spec); +echo 'ba1 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00 -0400'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'ba2 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00 -0400'); +$interval_spec = 'PT24H'; +$interval = new DateInterval($interval_spec); +echo 'ba3 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00 -0400'); +$interval_spec = 'PT23H'; +$interval = new DateInterval($interval_spec); +echo 'ba4 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00 -0400'); +$interval_spec = 'PT22H'; +$interval = new DateInterval($interval_spec); +echo 'ba5 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00 -0400'); +$interval_spec = 'PT21H'; +$interval = new DateInterval($interval_spec); +echo 'ba6 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 01:30:00 -0400'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'ba7 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 01:30:00 -0400'); +$interval_spec = 'P1DT1H'; +$interval = new DateInterval($interval_spec); +echo 'ba8 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00 -0400'); +$interval_spec = 'PT25H'; +$interval = new DateInterval($interval_spec); +echo 'ba9 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 03:30:00 -0400'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'ba10 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 02:30:00 -0400'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'ba11 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +echo "\n"; + +/* + * Backward Transitions, sub(). + */ + +$end = new DateTime('2010-11-07 01:00:00 -0500'); +$interval_spec = 'PT1S'; +$interval = new DateInterval($interval_spec); +echo 'bs1 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 04:30:00 -0500'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'bs2 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 03:30:00 -0500'); +$interval_spec = 'PT24H'; +$interval = new DateInterval($interval_spec); +echo 'bs3 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 02:30:00 -0500'); +$interval_spec = 'PT23H'; +$interval = new DateInterval($interval_spec); +echo 'bs4 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 -0500'); +$interval_spec = 'PT22H'; +$interval = new DateInterval($interval_spec); +echo 'bs5 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 -0400'); +$interval_spec = 'PT21H'; +$interval = new DateInterval($interval_spec); +echo 'bs6 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 -0400'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'bs7 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 -0500'); +$interval_spec = 'P1DT1H'; +$interval = new DateInterval($interval_spec); +echo 'bs8 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 03:30:00 -0500'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'bs9 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 02:30:00 -0500'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'bs10 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +?> +--EXPECT-- +fd1 2010-03-14 03:00:00 -04:00 - 2010-03-14 01:59:59 -05:00 = PT0H0M1S +fd2 2010-03-14 04:30:00 -04:00 - 2010-03-13 04:30:00 -05:00 = P0DT23H +fd3 2010-03-14 03:30:00 -04:00 - 2010-03-13 04:30:00 -05:00 = P0DT22H +fd4 2010-03-14 01:30:00 -05:00 - 2010-03-13 04:30:00 -05:00 = P0DT21H +fd5 2010-03-14 01:30:00 -05:00 - 2010-03-13 01:30:00 -05:00 = P1DT0H +fd6 2010-03-14 03:30:00 -04:00 - 2010-03-13 03:30:00 -05:00 = P0DT23H +fd7 2010-03-14 03:30:00 -04:00 - 2010-03-13 02:30:00 -05:00 = P1DT0H + +fa1 2010-03-14 01:59:59 -05:00 + PT1S = 2010-03-14 02:00:00 -05:00 +fa2 2010-03-13 04:30:00 -05:00 + P1D = 2010-03-14 04:30:00 -05:00 +fa3 2010-03-13 04:30:00 -05:00 + PT22H = 2010-03-14 02:30:00 -05:00 +fa4 2010-03-13 04:30:00 -05:00 + PT21H = 2010-03-14 01:30:00 -05:00 +fa5 2010-03-13 01:30:00 -05:00 + P1D = 2010-03-14 01:30:00 -05:00 +fa6 2010-03-13 02:30:00 -05:00 + P1D = 2010-03-14 02:30:00 -05:00 + +fs1 2010-03-14 03:00:00 -04:00 - PT1S = 2010-03-14 02:59:59 -04:00 +fs2 2010-03-14 04:30:00 -04:00 - P1D = 2010-03-13 04:30:00 -04:00 +fs3 2010-03-14 03:30:00 -04:00 - PT22H = 2010-03-13 05:30:00 -04:00 +fs4 2010-03-14 01:30:00 -05:00 - PT21H = 2010-03-13 04:30:00 -05:00 +fs5 2010-03-14 01:30:00 -05:00 - P1D = 2010-03-13 01:30:00 -05:00 +fs6 2010-03-15 03:30:00 -04:00 - P1D = 2010-03-14 03:30:00 -04:00 +fs7 2010-03-15 02:30:00 -04:00 - P1D = 2010-03-14 02:30:00 -04:00 + +bd1 2010-11-07 01:00:00 -05:00 - 2010-11-07 01:59:59 -04:00 = PT0H0M1S +bd2 2010-11-07 04:30:00 -05:00 - 2010-11-06 04:30:00 -04:00 = P1DT1H +bd3 2010-11-07 03:30:00 -05:00 - 2010-11-06 04:30:00 -04:00 = P1DT0H +bd4 2010-11-07 02:30:00 -05:00 - 2010-11-06 04:30:00 -04:00 = P0DT23H +bd5 2010-11-07 01:30:00 -05:00 - 2010-11-06 04:30:00 -04:00 = P0DT22H +bd6 2010-11-07 01:30:00 -04:00 - 2010-11-06 04:30:00 -04:00 = P0DT21H +bd7 2010-11-07 01:30:00 -04:00 - 2010-11-06 01:30:00 -04:00 = P1DT0H +bd8 2010-11-07 01:30:00 -05:00 - 2010-11-06 01:30:00 -04:00 = P1DT1H + +ba1 2010-11-07 01:59:59 -04:00 + PT1S = 2010-11-07 02:00:00 -04:00 +ba2 2010-11-06 04:30:00 -04:00 + P1D = 2010-11-07 04:30:00 -04:00 +ba3 2010-11-06 04:30:00 -04:00 + PT24H = 2010-11-07 04:30:00 -04:00 +ba4 2010-11-06 04:30:00 -04:00 + PT23H = 2010-11-07 03:30:00 -04:00 +ba5 2010-11-06 04:30:00 -04:00 + PT22H = 2010-11-07 02:30:00 -04:00 +ba6 2010-11-06 04:30:00 -04:00 + PT21H = 2010-11-07 01:30:00 -04:00 +ba7 2010-11-06 01:30:00 -04:00 + P1D = 2010-11-07 01:30:00 -04:00 +ba8 2010-11-06 01:30:00 -04:00 + P1DT1H = 2010-11-07 02:30:00 -04:00 +ba9 2010-11-06 04:30:00 -04:00 + PT25H = 2010-11-07 05:30:00 -04:00 +ba10 2010-11-06 03:30:00 -04:00 + P1D = 2010-11-07 03:30:00 -04:00 +ba11 2010-11-06 02:30:00 -04:00 + P1D = 2010-11-07 02:30:00 -04:00 + +bs1 2010-11-07 01:00:00 -05:00 - PT1S = 2010-11-07 00:59:59 -05:00 +bs2 2010-11-07 04:30:00 -05:00 - P1D = 2010-11-06 04:30:00 -05:00 +bs3 2010-11-07 03:30:00 -05:00 - PT24H = 2010-11-06 03:30:00 -05:00 +bs4 2010-11-07 02:30:00 -05:00 - PT23H = 2010-11-06 03:30:00 -05:00 +bs5 2010-11-07 01:30:00 -05:00 - PT22H = 2010-11-06 03:30:00 -05:00 +bs6 2010-11-07 01:30:00 -04:00 - PT21H = 2010-11-06 04:30:00 -04:00 +bs7 2010-11-07 01:30:00 -04:00 - P1D = 2010-11-06 01:30:00 -04:00 +bs8 2010-11-07 01:30:00 -05:00 - P1DT1H = 2010-11-06 00:30:00 -05:00 +bs9 2010-11-07 03:30:00 -05:00 - P1D = 2010-11-06 03:30:00 -05:00 +bs10 2010-11-07 02:30:00 -05:00 - P1D = 2010-11-06 02:30:00 -05:00 diff --git a/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt b/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt new file mode 100644 index 000000000..72585125e --- /dev/null +++ b/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt @@ -0,0 +1,380 @@ +--TEST-- +RFC: DateTime and Daylight Saving Time Transitions (zone type 2) +--CREDITS-- +Daniel Convissor <danielc@php.net> +--FILE-- +<?php + +date_default_timezone_set('America/New_York'); +$date_format = 'Y-m-d H:i:s T e'; +$interval_format = 'P%dDT%hH'; + +/* + * Forward Transitions, diff(). + */ + +$end = new DateTime('2010-03-14 03:00:00 EDT'); +$start = new DateTime('2010-03-14 01:59:59 EST'); +echo 'fd1 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format('PT%hH%iM%sS') . "\n"; + +$end = new DateTime('2010-03-14 04:30:00 EDT'); +$start = new DateTime('2010-03-13 04:30:00 EST'); +echo 'fd2 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 03:30:00 EDT'); +$start = new DateTime('2010-03-13 04:30:00 EST'); +echo 'fd3 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 01:30:00 EST'); +$start = new DateTime('2010-03-13 04:30:00 EST'); +echo 'fd4 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 01:30:00 EST'); +$start = new DateTime('2010-03-13 01:30:00 EST'); +echo 'fd5 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 03:30:00 EDT'); +$start = new DateTime('2010-03-13 03:30:00 EST'); +echo 'fd6 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 03:30:00 EDT'); +$start = new DateTime('2010-03-13 02:30:00 EST'); +echo 'fd7 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +echo "\n"; + +/* + * Forward Transitions, add(). + */ + +$start = new DateTime('2010-03-14 01:59:59 EST'); +$interval_spec = 'PT1S'; +$interval = new DateInterval($interval_spec); +echo 'fa1 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 04:30:00 EST'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fa2 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 04:30:00 EST'); +$interval_spec = 'PT22H'; +$interval = new DateInterval($interval_spec); +echo 'fa3 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 04:30:00 EST'); +$interval_spec = 'PT21H'; +$interval = new DateInterval($interval_spec); +echo 'fa4 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 01:30:00 EST'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fa5 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 02:30:00 EST'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fa6 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +echo "\n"; + +/* + * Forward Transitions, sub(). + */ + +$end = new DateTime('2010-03-14 03:00:00 EDT'); +$interval_spec = 'PT1S'; +$interval = new DateInterval($interval_spec); +echo 'fs1 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-14 04:30:00 EDT'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fs2 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-14 03:30:00 EDT'); +$interval_spec = 'PT22H'; +$interval = new DateInterval($interval_spec); +echo 'fs3 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-14 01:30:00 EST'); +$interval_spec = 'PT21H'; +$interval = new DateInterval($interval_spec); +echo 'fs4 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-14 01:30:00 EST'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fs5 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-15 03:30:00 EDT'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fs6 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-15 02:30:00 EDT'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fs7 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +echo "\n"; + +/* + * Backward Transitions, diff(). + */ + +$end = new DateTime('2010-11-07 01:00:00 EST'); +$start = new DateTime('2010-11-07 01:59:59 EDT'); +echo 'bd1 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format('PT%hH%iM%sS') . "\n"; + +$end = new DateTime('2010-11-07 04:30:00 EST'); +$start = new DateTime('2010-11-06 04:30:00 EDT'); +echo 'bd2 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 03:30:00 EST'); +$start = new DateTime('2010-11-06 04:30:00 EDT'); +echo 'bd3 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 02:30:00 EST'); +$start = new DateTime('2010-11-06 04:30:00 EDT'); +echo 'bd4 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EST'); +$start = new DateTime('2010-11-06 04:30:00 EDT'); +echo 'bd5 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EDT'); +$start = new DateTime('2010-11-06 04:30:00 EDT'); +echo 'bd6 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EDT'); +$start = new DateTime('2010-11-06 01:30:00 EDT'); +echo 'bd7 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EST'); +$start = new DateTime('2010-11-06 01:30:00 EDT'); +echo 'bd8 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +echo "\n"; + +/* + * Backward Transitions, add(). + */ + +$start = new DateTime('2010-11-07 01:59:59 EDT'); +$interval_spec = 'PT1S'; +$interval = new DateInterval($interval_spec); +echo 'ba1 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00 EDT'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'ba2 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00 EDT'); +$interval_spec = 'PT24H'; +$interval = new DateInterval($interval_spec); +echo 'ba3 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00 EDT'); +$interval_spec = 'PT23H'; +$interval = new DateInterval($interval_spec); +echo 'ba4 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00 EDT'); +$interval_spec = 'PT22H'; +$interval = new DateInterval($interval_spec); +echo 'ba5 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00 EDT'); +$interval_spec = 'PT21H'; +$interval = new DateInterval($interval_spec); +echo 'ba6 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 01:30:00 EDT'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'ba7 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 01:30:00 EDT'); +$interval_spec = 'P1DT1H'; +$interval = new DateInterval($interval_spec); +echo 'ba8 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00 EDT'); +$interval_spec = 'PT25H'; +$interval = new DateInterval($interval_spec); +echo 'ba9 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 03:30:00 EDT'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'ba10 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 02:30:00 EDT'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'ba11 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +echo "\n"; + +/* + * Backward Transitions, sub(). + */ + +$end = new DateTime('2010-11-07 01:00:00 EST'); +$interval_spec = 'PT1S'; +$interval = new DateInterval($interval_spec); +echo 'bs1 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 04:30:00 EST'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'bs2 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 03:30:00 EST'); +$interval_spec = 'PT24H'; +$interval = new DateInterval($interval_spec); +echo 'bs3 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 02:30:00 EST'); +$interval_spec = 'PT23H'; +$interval = new DateInterval($interval_spec); +echo 'bs4 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EST'); +$interval_spec = 'PT22H'; +$interval = new DateInterval($interval_spec); +echo 'bs5 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EDT'); +$interval_spec = 'PT21H'; +$interval = new DateInterval($interval_spec); +echo 'bs6 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EDT'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'bs7 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EST'); +$interval_spec = 'P1DT1H'; +$interval = new DateInterval($interval_spec); +echo 'bs8 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 03:30:00 EST'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'bs9 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 02:30:00 EST'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'bs10 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +?> +--EXPECT-- +fd1 2010-03-14 03:00:00 EDT EDT - 2010-03-14 01:59:59 EST EST = PT0H0M1S +fd2 2010-03-14 04:30:00 EDT EDT - 2010-03-13 04:30:00 EST EST = P0DT23H +fd3 2010-03-14 03:30:00 EDT EDT - 2010-03-13 04:30:00 EST EST = P0DT22H +fd4 2010-03-14 01:30:00 EST EST - 2010-03-13 04:30:00 EST EST = P0DT21H +fd5 2010-03-14 01:30:00 EST EST - 2010-03-13 01:30:00 EST EST = P1DT0H +fd6 2010-03-14 03:30:00 EDT EDT - 2010-03-13 03:30:00 EST EST = P0DT23H +fd7 2010-03-14 03:30:00 EDT EDT - 2010-03-13 02:30:00 EST EST = P1DT0H + +fa1 2010-03-14 01:59:59 EST EST + PT1S = 2010-03-14 02:00:00 EST EST +fa2 2010-03-13 04:30:00 EST EST + P1D = 2010-03-14 04:30:00 EST EST +fa3 2010-03-13 04:30:00 EST EST + PT22H = 2010-03-14 02:30:00 EST EST +fa4 2010-03-13 04:30:00 EST EST + PT21H = 2010-03-14 01:30:00 EST EST +fa5 2010-03-13 01:30:00 EST EST + P1D = 2010-03-14 01:30:00 EST EST +fa6 2010-03-13 02:30:00 EST EST + P1D = 2010-03-14 02:30:00 EST EST + +fs1 2010-03-14 03:00:00 EDT EDT - PT1S = 2010-03-14 02:59:59 EDT EDT +fs2 2010-03-14 04:30:00 EDT EDT - P1D = 2010-03-13 04:30:00 EDT EDT +fs3 2010-03-14 03:30:00 EDT EDT - PT22H = 2010-03-13 05:30:00 EDT EDT +fs4 2010-03-14 01:30:00 EST EST - PT21H = 2010-03-13 04:30:00 EST EST +fs5 2010-03-14 01:30:00 EST EST - P1D = 2010-03-13 01:30:00 EST EST +fs6 2010-03-15 03:30:00 EDT EDT - P1D = 2010-03-14 03:30:00 EDT EDT +fs7 2010-03-15 02:30:00 EDT EDT - P1D = 2010-03-14 02:30:00 EDT EDT + +bd1 2010-11-07 01:00:00 EST EST - 2010-11-07 01:59:59 EDT EDT = PT0H0M1S +bd2 2010-11-07 04:30:00 EST EST - 2010-11-06 04:30:00 EDT EDT = P1DT1H +bd3 2010-11-07 03:30:00 EST EST - 2010-11-06 04:30:00 EDT EDT = P1DT0H +bd4 2010-11-07 02:30:00 EST EST - 2010-11-06 04:30:00 EDT EDT = P0DT23H +bd5 2010-11-07 01:30:00 EST EST - 2010-11-06 04:30:00 EDT EDT = P0DT22H +bd6 2010-11-07 01:30:00 EDT EDT - 2010-11-06 04:30:00 EDT EDT = P0DT21H +bd7 2010-11-07 01:30:00 EDT EDT - 2010-11-06 01:30:00 EDT EDT = P1DT0H +bd8 2010-11-07 01:30:00 EST EST - 2010-11-06 01:30:00 EDT EDT = P1DT1H + +ba1 2010-11-07 01:59:59 EDT EDT + PT1S = 2010-11-07 02:00:00 EDT EDT +ba2 2010-11-06 04:30:00 EDT EDT + P1D = 2010-11-07 04:30:00 EDT EDT +ba3 2010-11-06 04:30:00 EDT EDT + PT24H = 2010-11-07 04:30:00 EDT EDT +ba4 2010-11-06 04:30:00 EDT EDT + PT23H = 2010-11-07 03:30:00 EDT EDT +ba5 2010-11-06 04:30:00 EDT EDT + PT22H = 2010-11-07 02:30:00 EDT EDT +ba6 2010-11-06 04:30:00 EDT EDT + PT21H = 2010-11-07 01:30:00 EDT EDT +ba7 2010-11-06 01:30:00 EDT EDT + P1D = 2010-11-07 01:30:00 EDT EDT +ba8 2010-11-06 01:30:00 EDT EDT + P1DT1H = 2010-11-07 02:30:00 EDT EDT +ba9 2010-11-06 04:30:00 EDT EDT + PT25H = 2010-11-07 05:30:00 EDT EDT +ba10 2010-11-06 03:30:00 EDT EDT + P1D = 2010-11-07 03:30:00 EDT EDT +ba11 2010-11-06 02:30:00 EDT EDT + P1D = 2010-11-07 02:30:00 EDT EDT + +bs1 2010-11-07 01:00:00 EST EST - PT1S = 2010-11-07 00:59:59 EST EST +bs2 2010-11-07 04:30:00 EST EST - P1D = 2010-11-06 04:30:00 EST EST +bs3 2010-11-07 03:30:00 EST EST - PT24H = 2010-11-06 03:30:00 EST EST +bs4 2010-11-07 02:30:00 EST EST - PT23H = 2010-11-06 03:30:00 EST EST +bs5 2010-11-07 01:30:00 EST EST - PT22H = 2010-11-06 03:30:00 EST EST +bs6 2010-11-07 01:30:00 EDT EDT - PT21H = 2010-11-06 04:30:00 EDT EDT +bs7 2010-11-07 01:30:00 EDT EDT - P1D = 2010-11-06 01:30:00 EDT EDT +bs8 2010-11-07 01:30:00 EST EST - P1DT1H = 2010-11-06 00:30:00 EST EST +bs9 2010-11-07 03:30:00 EST EST - P1D = 2010-11-06 03:30:00 EST EST +bs10 2010-11-07 02:30:00 EST EST - P1D = 2010-11-06 02:30:00 EST EST diff --git a/ext/date/tests/rfc-datetime_and_daylight_saving_time-type3.phpt b/ext/date/tests/rfc-datetime_and_daylight_saving_time-type3.phpt new file mode 100644 index 000000000..855fe4ef6 --- /dev/null +++ b/ext/date/tests/rfc-datetime_and_daylight_saving_time-type3.phpt @@ -0,0 +1,399 @@ +--TEST-- +RFC: DateTime and Daylight Saving Time Transitions (zone type 3) +--CREDITS-- +Daniel Convissor <danielc@php.net> +--XFAIL-- +RFC not implemented yet +--FILE-- +<?php + +date_default_timezone_set('America/New_York'); +$date_format = 'Y-m-d H:i:s T e'; +$interval_format = 'P%dDT%hH'; + +/* + * Forward Transitions, diff(). + */ + +$end = new DateTime('2010-03-14 03:00:00'); +$start = new DateTime('2010-03-14 01:59:59'); +echo 'fd1 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format('PT%hH%iM%sS') . "\n"; + +$end = new DateTime('2010-03-14 04:30:00'); +$start = new DateTime('2010-03-13 04:30:00'); +echo 'fd2 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 03:30:00'); +$start = new DateTime('2010-03-13 04:30:00'); +echo 'fd3 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 01:30:00'); +$start = new DateTime('2010-03-13 04:30:00'); +echo 'fd4 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 01:30:00'); +$start = new DateTime('2010-03-13 01:30:00'); +echo 'fd5 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 03:30:00'); +$start = new DateTime('2010-03-13 03:30:00'); +echo 'fd6 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-03-14 03:30:00'); +$start = new DateTime('2010-03-13 02:30:00'); +echo 'fd7 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +echo "\n"; + +/* + * Forward Transitions, add(). + */ + +$start = new DateTime('2010-03-14 01:59:59'); +$interval_spec = 'PT1S'; +$interval = new DateInterval($interval_spec); +echo 'fa1 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 04:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fa2 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 04:30:00'); +$interval_spec = 'PT22H'; +$interval = new DateInterval($interval_spec); +echo 'fa3 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 04:30:00'); +$interval_spec = 'PT21H'; +$interval = new DateInterval($interval_spec); +echo 'fa4 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 01:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fa5 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-03-13 02:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fa6 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +echo "\n"; + +/* + * Forward Transitions, sub(). + */ + +$end = new DateTime('2010-03-14 03:00:00'); +$interval_spec = 'PT1S'; +$interval = new DateInterval($interval_spec); +echo 'fs1 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-14 04:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fs2 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-14 03:30:00'); +$interval_spec = 'PT22H'; +$interval = new DateInterval($interval_spec); +echo 'fs3 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-14 01:30:00'); +$interval_spec = 'PT21H'; +$interval = new DateInterval($interval_spec); +echo 'fs4 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-14 01:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fs5 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-15 03:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fs6 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-03-15 02:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'fs7 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +echo "\n"; + + +/* + * For backward transitions, must create objects with zone type 2 + * where specifying Daylight or Standard time is required + * then converting them to zone type 3. + */ + +$tz = new DateTimeZone('America/New_York'); + +/* + * Backward Transitions, diff(). + */ + +$end = new DateTime('2010-11-07 01:00:00 EST'); +$end->setTimeZone($tz); +$start = new DateTime('2010-11-07 01:59:59'); +echo 'bd1 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format('PT%hH%iM%sS') . "\n"; + +$end = new DateTime('2010-11-07 04:30:00'); +$start = new DateTime('2010-11-06 04:30:00'); +echo 'bd2 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 03:30:00'); +$start = new DateTime('2010-11-06 04:30:00'); +echo 'bd3 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 02:30:00'); +$start = new DateTime('2010-11-06 04:30:00'); +echo 'bd4 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EST'); +$end->setTimeZone($tz); +$start = new DateTime('2010-11-06 04:30:00'); +echo 'bd5 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EDT'); +$end->setTimeZone($tz); +$start = new DateTime('2010-11-06 04:30:00'); +echo 'bd6 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00'); +$start = new DateTime('2010-11-06 01:30:00'); +echo 'bd7 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EST'); +$end->setTimeZone($tz); +$start = new DateTime('2010-11-06 01:30:00'); +echo 'bd8 ' . $end->format($date_format) . ' - ' . $start->format($date_format) + . ' = ' . $start->diff($end)->format($interval_format) . "\n"; + +echo "\n"; + +/* + * Backward Transitions, add(). + */ + +$start = new DateTime('2010-11-07 01:59:59'); +$interval_spec = 'PT1S'; +$interval = new DateInterval($interval_spec); +echo 'ba1 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'ba2 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00'); +$interval_spec = 'PT24H'; +$interval = new DateInterval($interval_spec); +echo 'ba3 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00'); +$interval_spec = 'PT23H'; +$interval = new DateInterval($interval_spec); +echo 'ba4 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00'); +$interval_spec = 'PT22H'; +$interval = new DateInterval($interval_spec); +echo 'ba5 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00'); +$interval_spec = 'PT21H'; +$interval = new DateInterval($interval_spec); +echo 'ba6 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 01:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'ba7 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 01:30:00'); +$interval_spec = 'P1DT1H'; +$interval = new DateInterval($interval_spec); +echo 'ba8 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 04:30:00'); +$interval_spec = 'PT25H'; +$interval = new DateInterval($interval_spec); +echo 'ba9 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 03:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'ba10 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +$start = new DateTime('2010-11-06 02:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'ba11 ' . $start->format($date_format) . " + $interval_spec = " + . $start->add($interval)->format($date_format) . "\n"; + +echo "\n"; + +/* + * Backward Transitions, sub(). + */ + +$end = new DateTime('2010-11-07 01:00:00 EST'); +$end->setTimeZone($tz); +$interval_spec = 'PT1S'; +$interval = new DateInterval($interval_spec); +echo 'bs1 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 04:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'bs2 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 03:30:00'); +$interval_spec = 'PT24H'; +$interval = new DateInterval($interval_spec); +echo 'bs3 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 02:30:00'); +$interval_spec = 'PT23H'; +$interval = new DateInterval($interval_spec); +echo 'bs4 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EST'); +$end->setTimeZone($tz); +$interval_spec = 'PT22H'; +$interval = new DateInterval($interval_spec); +echo 'bs5 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EDT'); +$end->setTimeZone($tz); +$interval_spec = 'PT21H'; +$interval = new DateInterval($interval_spec); +echo 'bs6 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'bs7 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 01:30:00 EST'); +$end->setTimeZone($tz); +$interval_spec = 'P1DT1H'; +$interval = new DateInterval($interval_spec); +echo 'bs8 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 03:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'bs9 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +$end = new DateTime('2010-11-07 02:30:00'); +$interval_spec = 'P1D'; +$interval = new DateInterval($interval_spec); +echo 'bs10 ' . $end->format($date_format) . " - $interval_spec = " + . $end->sub($interval)->format($date_format) . "\n"; + +?> +--EXPECT-- +fd1 2010-03-14 03:00:00 EDT America/New_York - 2010-03-14 01:59:59 EST America/New_York = PT0H0M1S +fd2 2010-03-14 04:30:00 EDT America/New_York - 2010-03-13 04:30:00 EST America/New_York = P1DT0H +fd3 2010-03-14 03:30:00 EDT America/New_York - 2010-03-13 04:30:00 EST America/New_York = P0DT22H +fd4 2010-03-14 01:30:00 EST America/New_York - 2010-03-13 04:30:00 EST America/New_York = P0DT21H +fd5 2010-03-14 01:30:00 EST America/New_York - 2010-03-13 01:30:00 EST America/New_York = P1DT0H +fd6 2010-03-14 03:30:00 EDT America/New_York - 2010-03-13 03:30:00 EST America/New_York = P1DT0H +fd7 2010-03-14 03:30:00 EDT America/New_York - 2010-03-13 02:30:00 EST America/New_York = P1DT1H + +fa1 2010-03-14 01:59:59 EST America/New_York + PT1S = 2010-03-14 03:00:00 EDT America/New_York +fa2 2010-03-13 04:30:00 EST America/New_York + P1D = 2010-03-14 04:30:00 EDT America/New_York +fa3 2010-03-13 04:30:00 EST America/New_York + PT22H = 2010-03-14 03:30:00 EDT America/New_York +fa4 2010-03-13 04:30:00 EST America/New_York + PT21H = 2010-03-14 01:30:00 EST America/New_York +fa5 2010-03-13 01:30:00 EST America/New_York + P1D = 2010-03-14 01:30:00 EST America/New_York +fa6 2010-03-13 02:30:00 EST America/New_York + P1D = 2010-03-14 03:30:00 EDT America/New_York + +fs1 2010-03-14 03:00:00 EDT America/New_York - PT1S = 2010-03-14 01:59:59 EST America/New_York +fs2 2010-03-14 04:30:00 EDT America/New_York - P1D = 2010-03-13 04:30:00 EST America/New_York +fs3 2010-03-14 03:30:00 EDT America/New_York - PT22H = 2010-03-13 04:30:00 EST America/New_York +fs4 2010-03-14 01:30:00 EST America/New_York - PT21H = 2010-03-13 04:30:00 EST America/New_York +fs5 2010-03-14 01:30:00 EST America/New_York - P1D = 2010-03-13 01:30:00 EST America/New_York +fs6 2010-03-15 03:30:00 EDT America/New_York - P1D = 2010-03-14 03:30:00 EDT America/New_York +fs7 2010-03-15 03:30:00 EDT America/New_York - P1D = 2010-03-14 03:30:00 EDT America/New_York + +bd1 2010-11-07 01:00:00 EST America/New_York - 2010-11-07 01:59:59 EDT America/New_York = PT0H0M1S +bd2 2010-11-07 04:30:00 EST America/New_York - 2010-11-06 04:30:00 EDT America/New_York = P1DT0H +bd3 2010-11-07 03:30:00 EST America/New_York - 2010-11-06 04:30:00 EDT America/New_York = P0DT24H +bd4 2010-11-07 02:30:00 EST America/New_York - 2010-11-06 04:30:00 EDT America/New_York = P0DT23H +bd5 2010-11-07 01:30:00 EST America/New_York - 2010-11-06 04:30:00 EDT America/New_York = P0DT22H +bd6 2010-11-07 01:30:00 EDT America/New_York - 2010-11-06 04:30:00 EDT America/New_York = P0DT21H +bd7 2010-11-07 01:30:00 EDT America/New_York - 2010-11-06 01:30:00 EDT America/New_York = P1DT0H +bd8 2010-11-07 01:30:00 EST America/New_York - 2010-11-06 01:30:00 EDT America/New_York = P1DT1H + +ba1 2010-11-07 01:59:59 EDT America/New_York + PT1S = 2010-11-07 01:00:00 EST America/New_York +ba2 2010-11-06 04:30:00 EDT America/New_York + P1D = 2010-11-07 04:30:00 EST America/New_York +ba3 2010-11-06 04:30:00 EDT America/New_York + PT24H = 2010-11-07 03:30:00 EST America/New_York +ba4 2010-11-06 04:30:00 EDT America/New_York + PT23H = 2010-11-07 02:30:00 EST America/New_York +ba5 2010-11-06 04:30:00 EDT America/New_York + PT22H = 2010-11-07 01:30:00 EST America/New_York +ba6 2010-11-06 04:30:00 EDT America/New_York + PT21H = 2010-11-07 01:30:00 EDT America/New_York +ba7 2010-11-06 01:30:00 EDT America/New_York + P1D = 2010-11-07 01:30:00 EDT America/New_York +ba8 2010-11-06 01:30:00 EDT America/New_York + P1DT1H = 2010-11-07 01:30:00 EST America/New_York +ba9 2010-11-06 04:30:00 EDT America/New_York + PT25H = 2010-11-07 04:30:00 EST America/New_York +ba10 2010-11-06 03:30:00 EDT America/New_York + P1D = 2010-11-07 03:30:00 EST America/New_York +ba11 2010-11-06 02:30:00 EDT America/New_York + P1D = 2010-11-07 02:30:00 EST America/New_York + +bs1 2010-11-07 01:00:00 EST America/New_York - PT1S = 2010-11-07 01:59:59 EDT America/New_York +bs2 2010-11-07 04:30:00 EST America/New_York - P1D = 2010-11-06 04:30:00 EDT America/New_York +bs3 2010-11-07 03:30:00 EST America/New_York - PT24H = 2010-11-06 04:30:00 EDT America/New_York +bs4 2010-11-07 02:30:00 EST America/New_York - PT23H = 2010-11-06 04:30:00 EDT America/New_York +bs5 2010-11-07 01:30:00 EST America/New_York - PT22H = 2010-11-06 04:30:00 EDT America/New_York +bs6 2010-11-07 01:30:00 EDT America/New_York - PT21H = 2010-11-06 04:30:00 EDT America/New_York +bs7 2010-11-07 01:30:00 EDT America/New_York - P1D = 2010-11-06 01:30:00 EDT America/New_York +bs8 2010-11-07 01:30:00 EST America/New_York - P1DT1H = 2010-11-06 00:30:00 EDT America/New_York +bs9 2010-11-07 03:30:00 EST America/New_York - P1D = 2010-11-06 03:30:00 EDT America/New_York +bs10 2010-11-07 02:30:00 EST America/New_York - P1D = 2010-11-06 02:30:00 EDT America/New_York diff --git a/ext/date/tests/strftime_variation22.phpt b/ext/date/tests/strftime_variation22.phpt index 151a7d206..7b72ca51e 100644 --- a/ext/date/tests/strftime_variation22.phpt +++ b/ext/date/tests/strftime_variation22.phpt @@ -5,8 +5,8 @@ Test strftime() function : usage variation - Checking Preferred date and time re if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { die("skip Test is not valid for Windows"); } -if(!setlocale(LC_ALL, "en_US.utf8", "en_US")) { - die("skip Locale en_US.utf8 or en_US is needed by test and is not available"); +if(!setlocale(LC_ALL, "POSIX")) { + die("skip Locale POSIX is needed by test and is not available"); } ?> --FILE-- @@ -20,7 +20,8 @@ if(!setlocale(LC_ALL, "en_US.utf8", "en_US")) { echo "*** Testing strftime() : usage variation ***\n"; // Initialise function arguments not being substituted (if any) -setlocale(LC_ALL, "en_US.utf8", "en_US"); +setlocale(LC_ALL, "POSIX"); +putenv("LC_ALL=POSIX"); date_default_timezone_set("Asia/Calcutta"); $timestamp = mktime(8, 8, 8, 8, 8, 2008); @@ -46,13 +47,13 @@ foreach($inputs as $key =>$value) { --Preferred date and time representation-- string(2) "%c" -string(31) "Fri 08 Aug 2008 08:08:08 AM IST" +string(24) "Fri Aug 8 08:08:08 2008" --Preferred date representation-- string(2) "%x" -string(10) "08/08/2008" +string(8) "08/08/08" --Preferred time representation-- string(2) "%X" -string(11) "08:08:08 AM" +string(8) "08:08:08" ===DONE=== diff --git a/ext/date/tests/timezone-configuration.phpt b/ext/date/tests/timezone-configuration.phpt index efd248977..c70d6456d 100644 --- a/ext/date/tests/timezone-configuration.phpt +++ b/ext/date/tests/timezone-configuration.phpt @@ -4,10 +4,10 @@ timezone configuration [1] date.timezone=GMT --FILE-- <?php - putenv('TZ=Europe/Oslo'); + date_default_timezone_set('Europe/Oslo'); echo strtotime("2005-06-18 22:15:44"), "\n"; - putenv('TZ=Europe/London'); + date_default_timezone_set('Europe/London'); echo strtotime("2005-06-18 22:15:44"), "\n"; date_default_timezone_set('Europe/Oslo'); |
