summaryrefslogtreecommitdiff
path: root/ext/date
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2012-01-11 15:43:42 +0100
committerOndřej Surý <ondrej@sury.org>2012-01-11 15:43:42 +0100
commit8f1428d29ef91d74b4d272af171675f2971eb15b (patch)
treea1f4f4d7dc5bfe8096806dd5c5266634e19fa07a /ext/date
parentc6e4182351e0173fe58de141e143aac2eacf5efe (diff)
downloadphp-upstream/5.3.9.tar.gz
Imported Upstream version 5.3.9upstream/5.3.9
Diffstat (limited to 'ext/date')
-rw-r--r--ext/date/lib/interval.c3
-rw-r--r--ext/date/lib/parse_date.c180
-rw-r--r--ext/date/lib/parse_date.c.orig25222
-rw-r--r--ext/date/lib/parse_date.re180
-rw-r--r--ext/date/lib/parse_iso_intervals.c6
-rw-r--r--ext/date/lib/parse_iso_intervals.re4
-rw-r--r--ext/date/lib/timelib.h14
-rw-r--r--ext/date/lib/timezonedb.h1522
-rw-r--r--ext/date/lib/tm2unixtime.c18
-rw-r--r--ext/date/lib/unixtime2tm.c6
-rw-r--r--ext/date/php_date.c105
-rw-r--r--ext/date/php_date.h6
-rw-r--r--ext/date/tests/DateInterval_format_a.phpt3
-rw-r--r--ext/date/tests/DateTime_add-fall-type2-type2.phpt42
-rw-r--r--ext/date/tests/DateTime_add-spring-type2-type2.phpt22
-rw-r--r--ext/date/tests/DateTime_data-dates.inc2
-rw-r--r--ext/date/tests/DateTime_data-february.inc9
-rw-r--r--ext/date/tests/DateTime_data-spring-type2-type2.inc8
-rw-r--r--ext/date/tests/DateTime_data-spring-type2-type3.inc8
-rw-r--r--ext/date/tests/DateTime_data-spring-type3-type2.inc8
-rw-r--r--ext/date/tests/DateTime_data-spring-type3-type3.inc8
-rw-r--r--ext/date/tests/DateTime_days-spring-type2-type2.phpt2
-rw-r--r--ext/date/tests/DateTime_days-spring-type2-type3.phpt2
-rw-r--r--ext/date/tests/DateTime_days-spring-type3-type2.phpt2
-rw-r--r--ext/date/tests/DateTime_days-spring-type3-type3.phpt2
-rw-r--r--ext/date/tests/DateTime_diff-fall-type2-type2.phpt6
-rw-r--r--ext/date/tests/DateTime_diff-spring-type2-type2.phpt10
-rw-r--r--ext/date/tests/DateTime_sub-dates.phpt4
-rw-r--r--ext/date/tests/DateTime_sub-fall-type2-type2.phpt42
-rw-r--r--ext/date/tests/DateTime_sub-february.phpt18
-rw-r--r--ext/date/tests/DateTime_sub-spring-type2-type2.phpt22
-rw-r--r--ext/date/tests/bug13142.phpt3
-rw-r--r--ext/date/tests/bug27780.phpt5
-rw-r--r--ext/date/tests/bug28088.phpt4
-rw-r--r--ext/date/tests/bug32555.phpt5
-rw-r--r--ext/date/tests/bug33415-2.phpt48
-rw-r--r--ext/date/tests/bug33532.phpt5
-rw-r--r--ext/date/tests/bug48476.phpt33
-rw-r--r--ext/date/tests/bug48678.phpt10
-rw-r--r--ext/date/tests/bug50392.phpt2
-rw-r--r--ext/date/tests/bug51096.phpt2
-rw-r--r--ext/date/tests/bug51866.phpt161
-rw-r--r--ext/date/tests/bug51994.phpt3
-rw-r--r--ext/date/tests/bug52062-64bit.phpt27
-rw-r--r--ext/date/tests/bug52062.phpt27
-rw-r--r--ext/date/tests/bug52113.phpt102
-rw-r--r--ext/date/tests/bug53437.phpt28
-rw-r--r--ext/date/tests/bug53502.phpt13
-rw-r--r--ext/date/tests/bug54597.phpt18
-rw-r--r--ext/date/tests/bug54851.phpt57
-rwxr-xr-xext/date/tests/bug55253.phpt4
-rw-r--r--ext/date/tests/bug60236.phpt22
-rw-r--r--ext/date/tests/date.phpt4
-rw-r--r--ext/date/tests/date_default_timezone_set-1.phpt4
-rw-r--r--ext/date/tests/gmstrftime_variation22.phpt13
-rw-r--r--ext/date/tests/mktime-2.phpt4
-rw-r--r--ext/date/tests/rfc-datetime_and_daylight_saving_time-type1.phpt380
-rw-r--r--ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt380
-rw-r--r--ext/date/tests/rfc-datetime_and_daylight_saving_time-type3.phpt399
-rw-r--r--ext/date/tests/strftime_variation22.phpt13
-rw-r--r--ext/date/tests/timezone-configuration.phpt4
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 = &in;
+ 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 = &in;
-
- 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 = &in;
+ 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');