diff options
Diffstat (limited to 'ext')
50 files changed, 28723 insertions, 3243 deletions
diff --git a/ext/date/lib/LICENSE.rst b/ext/date/lib/LICENSE.rst index cde273c6a9..70bf7b00bd 100644 --- a/ext/date/lib/LICENSE.rst +++ b/ext/date/lib/LICENSE.rst @@ -1,6 +1,7 @@ The MIT License (MIT) -Copyright (c) 2015 Derick Rethans +Copyright (c) 2015-2017 Derick Rethans +Copyright (c) 2017 MongoDB, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/ext/date/lib/astro.c b/ext/date/lib/astro.c index 69ff6c2056..bae96e2057 100644 --- a/ext/date/lib/astro.c +++ b/ext/date/lib/astro.c @@ -26,15 +26,15 @@ | Schlyter, who wrote this in December 1992 | */ +#include "timelib.h" #include <stdio.h> #include <math.h> -#include "timelib.h" #define days_since_2000_Jan_0(y,m,d) \ (367L*(y)-((7*((y)+(((m)+9)/12)))/4)+((275*(m))/9)+(d)-730530L) #ifndef PI - #define PI 3.1415926535897932384 +# define PI 3.1415926535897932384 #endif #define RADEG ( 180.0 / PI ) @@ -230,7 +230,8 @@ int timelib_astro_rise_set_altitude(timelib_time *t_loc, double lon, double lat, t_loc->i = t_loc->s = 0; timelib_update_ts(t_loc, NULL); - /* Calculate TS belonging to UTC 00:00 of the current day */ + /* Calculate TS belonging to UTC 00:00 of the current day, for input into + * the algorithm */ t_utc = timelib_time_ctor(); t_utc->y = t_loc->y; t_utc->m = t_loc->m; @@ -239,8 +240,8 @@ int timelib_astro_rise_set_altitude(timelib_time *t_loc, double lon, double lat, timelib_update_ts(t_utc, NULL); /* Compute d of 12h local mean solar time */ - timestamp = t_loc->sse; - d = timelib_ts_to_juliandate(timestamp) - lon/360.0; + timestamp = t_utc->sse; + d = timelib_ts_to_j2000(timestamp) + 2 - lon/360.0; /* Compute local sidereal time of this moment */ sidtime = astro_revolution(astro_GMST0(d) + 180.0 + lon); @@ -295,14 +296,18 @@ int timelib_astro_rise_set_altitude(timelib_time *t_loc, double lon, double lat, return rc; } -double timelib_ts_to_juliandate(timelib_sll ts) +double timelib_ts_to_julianday(timelib_sll ts) { double tmp; - tmp = ts; - tmp /= 86400; - tmp += 2440587.5; - tmp -= 2451543; + tmp = (double) ts; + tmp /= (double) 86400; + tmp += (double) 2440587.5; return tmp; } + +double timelib_ts_to_j2000(timelib_sll ts) +{ + return timelib_ts_to_julianday(ts) - 2451545; +} diff --git a/ext/date/lib/dow.c b/ext/date/lib/dow.c index 78aca8c702..33553e7806 100644 --- a/ext/date/lib/dow.c +++ b/ext/date/lib/dow.c @@ -23,6 +23,7 @@ */ #include "timelib.h" +#include "timelib_private.h" static int m_table_common[13] = { -1, 0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5 }; /* 1 = jan */ static int m_table_leap[13] = { -1, 6, 2, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5 }; /* 1 = jan */ @@ -137,17 +138,71 @@ void timelib_isoweek_from_date(timelib_sll y, timelib_sll m, timelib_sll d, time } } -timelib_sll timelib_daynr_from_weeknr(timelib_sll y, timelib_sll w, timelib_sll d) +void timelib_isodate_from_date(timelib_sll y, timelib_sll m, timelib_sll d, timelib_sll *iy, timelib_sll *iw, timelib_sll *id) +{ + timelib_isoweek_from_date(y, m, d, iw, iy); + *id = timelib_day_of_week_ex(y, m, d, 1); +} + +static timelib_sll timelib_daynr_from_weeknr_ex(timelib_sll iy, timelib_sll iw, timelib_sll id, timelib_sll *y) { timelib_sll dow, day; /* Figure out the dayofweek for y-1-1 */ - dow = timelib_day_of_week(y, 1, 1); + dow = timelib_day_of_week(iy, 1, 1); /* then use that to figure out the offset for day 1 of week 1 */ day = 0 - (dow > 4 ? dow - 7 : dow); + /* and adjust the year to the natural year if we need to */ + *y = (iw == 1 && day < 0 && id < dow) ? iy - 1 : iy; /* Add weeks and days */ - return day + ((w - 1) * 7) + d; + return day + ((iw - 1) * 7) + id; +} + +timelib_sll timelib_daynr_from_weeknr(timelib_sll iy, timelib_sll iw, timelib_sll id) +{ + timelib_sll dummy_iso_year; + + return timelib_daynr_from_weeknr_ex(iy, iw, id, &dummy_iso_year); +} + +void timelib_date_from_isodate(timelib_sll iy, timelib_sll iw, timelib_sll id, timelib_sll *y, timelib_sll *m, timelib_sll *d) +{ + timelib_sll daynr = timelib_daynr_from_weeknr_ex(iy, iw, id, y) + 1; + int *table; + + *m = 0; + + if (daynr <= 0) { + *y += 1; + } + + if (timelib_is_leap(*y)) { + table = ml_table_leap; + if (daynr > 366) { + *y += 1; + daynr -= 366; + } + } else { + table = ml_table_common; + if (daynr > 365) { + *y += 1; + daynr -= 365; + } + } + + do { + daynr -= table[*m]; + (*m)++; + } while (daynr > table[*m]); + + if (daynr <= 0) { + daynr += 31; + *y -= 1; + *m = 12; + } + + *d = daynr; } int timelib_valid_time(timelib_sll h, timelib_sll i, timelib_sll s) diff --git a/ext/date/lib/fallbackmap.h b/ext/date/lib/fallbackmap.h index af69482c0c..5a4c6123c3 100644 --- a/ext/date/lib/fallbackmap.h +++ b/ext/date/lib/fallbackmap.h @@ -1,42 +1,42 @@ - { "sst", 0, -660, "Pacific/Apia" }, - { "hst", 0, -600, "Pacific/Honolulu" }, - { "akst", 0, -540, "America/Anchorage" }, - { "akdt", 1, -480, "America/Anchorage" }, - { "pst", 0, -480, "America/Los_Angeles" }, - { "pdt", 1, -420, "America/Los_Angeles" }, - { "mst", 0, -420, "America/Denver" }, - { "mdt", 1, -360, "America/Denver" }, - { "cst", 0, -360, "America/Chicago" }, - { "cdt", 1, -300, "America/Chicago" }, - { "est", 0, -300, "America/New_York" }, - { "vet", 0, -270, "America/Caracas" }, - { "edt", 1, -240, "America/New_York" }, - { "ast", 0, -240, "America/Halifax" }, - { "adt", 1, -180, "America/Halifax" }, - { "brt", 0, -180, "America/Sao_Paulo" }, - { "brst", 1, -120, "America/Sao_Paulo" }, - { "azost", 0, -60, "Atlantic/Azores" }, - { "azodt", 1, 0, "Atlantic/Azores" }, - { "gmt", 0, 0, "Europe/London" }, - { "bst", 1, 60, "Europe/London" }, - { "cet", 0, 60, "Europe/Paris" }, - { "cest", 1, 120, "Europe/Paris" }, - { "eet", 0, 120, "Europe/Helsinki" }, - { "eest", 1, 180, "Europe/Helsinki" }, - { "msk", 0, 180, "Europe/Moscow" }, - { "msd", 1, 240, "Europe/Moscow" }, - { "gst", 0, 240, "Asia/Dubai" }, - { "pkt", 0, 300, "Asia/Karachi" }, - { "ist", 0, 330, "Asia/Kolkata" }, - { "npt", 0, 345, "Asia/Katmandu" }, - { "yekt", 1, 360, "Asia/Yekaterinburg" }, - { "novst", 1, 420, "Asia/Novosibirsk" }, - { "krat", 0, 420, "Asia/Krasnoyarsk" }, - { "cst", 0, 480, "Asia/Shanghai" }, - { "krast", 1, 480, "Asia/Krasnoyarsk" }, - { "jst", 0, 540, "Asia/Tokyo" }, - { "est", 0, 600, "Australia/Melbourne" }, - { "cst", 1, 630, "Australia/Adelaide" }, - { "est", 1, 660, "Australia/Melbourne" }, - { "nzst", 0, 720, "Pacific/Auckland" }, - { "nzdt", 1, 780, "Pacific/Auckland" }, + { "sst", 0, -660 * 60, "Pacific/Apia" }, + { "hst", 0, -600 * 60, "Pacific/Honolulu" }, + { "akst", 0, -540 * 60, "America/Anchorage" }, + { "akdt", 1, -480 * 60, "America/Anchorage" }, + { "pst", 0, -480 * 60, "America/Los_Angeles" }, + { "pdt", 1, -420 * 60, "America/Los_Angeles" }, + { "mst", 0, -420 * 60, "America/Denver" }, + { "mdt", 1, -360 * 60, "America/Denver" }, + { "cst", 0, -360 * 60, "America/Chicago" }, + { "cdt", 1, -300 * 60, "America/Chicago" }, + { "est", 0, -300 * 60, "America/New_York" }, + { "vet", 0, -270 * 60, "America/Caracas" }, + { "edt", 1, -240 * 60, "America/New_York" }, + { "ast", 0, -240 * 60, "America/Halifax" }, + { "adt", 1, -180 * 60, "America/Halifax" }, + { "brt", 0, -180 * 60, "America/Sao_Paulo" }, + { "brst", 1, -120 * 60, "America/Sao_Paulo" }, + { "azost", 0, -60 * 60, "Atlantic/Azores" }, + { "azodt", 1, 0 * 60, "Atlantic/Azores" }, + { "gmt", 0, 0 * 60, "Europe/London" }, + { "bst", 1, 60 * 60, "Europe/London" }, + { "cet", 0, 60 * 60, "Europe/Paris" }, + { "cest", 1, 120 * 60, "Europe/Paris" }, + { "eet", 0, 120 * 60, "Europe/Helsinki" }, + { "eest", 1, 180 * 60, "Europe/Helsinki" }, + { "msk", 0, 180 * 60, "Europe/Moscow" }, + { "msd", 1, 240 * 60, "Europe/Moscow" }, + { "gst", 0, 240 * 60, "Asia/Dubai" }, + { "pkt", 0, 300 * 60, "Asia/Karachi" }, + { "ist", 0, 330 * 60, "Asia/Kolkata" }, + { "npt", 0, 345 * 60, "Asia/Katmandu" }, + { "yekt", 1, 360 * 60, "Asia/Yekaterinburg" }, + { "novst", 1, 420 * 60, "Asia/Novosibirsk" }, + { "krat", 0, 420 * 60, "Asia/Krasnoyarsk" }, + { "cst", 0, 480 * 60, "Asia/Shanghai" }, + { "krast", 1, 480 * 60, "Asia/Krasnoyarsk" }, + { "jst", 0, 540 * 60, "Asia/Tokyo" }, + { "est", 0, 600 * 60, "Australia/Melbourne" }, + { "cst", 1, 630 * 60, "Australia/Adelaide" }, + { "est", 1, 660 * 60, "Australia/Melbourne" }, + { "nzst", 0, 720 * 60, "Pacific/Auckland" }, + { "nzdt", 1, 780 * 60, "Pacific/Auckland" }, diff --git a/ext/date/lib/interval.c b/ext/date/lib/interval.c index dee9f92eed..e034392a0f 100644 --- a/ext/date/lib/interval.c +++ b/ext/date/lib/interval.c @@ -23,6 +23,7 @@ */ #include "timelib.h" +#include "timelib_private.h" #include <math.h> timelib_rel_time *timelib_diff(timelib_time *one, timelib_time *two) @@ -65,7 +66,7 @@ timelib_rel_time *timelib_diff(timelib_time *one, timelib_time *two) rt->h = two->h - one->h; rt->i = two->i - one->i; rt->s = two->s - one->s; - rt->f = two->f - one->f; + rt->us = two->us - one->us; if (one_backup.dst == 0 && two_backup.dst == 1 && two->sse >= one->sse + 86400 - dst_corr) { rt->h += dst_h_corr; rt->i += dst_m_corr; @@ -111,7 +112,7 @@ timelib_time *timelib_add(timelib_time *old_time, timelib_rel_time *interval) t->relative.h = interval->h * bias; t->relative.i = interval->i * bias; t->relative.s = interval->s * bias; - t->relative.f = interval->f * bias; + t->relative.us = interval->us * bias; } t->have_relative = 1; t->sse_uptodate = 0; @@ -147,7 +148,7 @@ timelib_time *timelib_sub(timelib_time *old_time, timelib_rel_time *interval) t->relative.h = 0 - (interval->h * bias); t->relative.i = 0 - (interval->i * bias); t->relative.s = 0 - (interval->s * bias); - t->relative.f = 0 - (interval->f * bias); + t->relative.us = 0 - (interval->us * bias); t->have_relative = 1; t->sse_uptodate = 0; diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index 0cc708d84f..d99f0e907b 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.15.3 on Tue Jul 4 21:15:17 2017 */ +/* Generated by re2c 0.15.3 on Tue Aug 15 14:20:17 2017 */ #line 1 "ext/date/lib/parse_date.re" /* * The MIT License (MIT) @@ -27,21 +27,12 @@ /* $Id$ */ #include "timelib.h" +#include "timelib_private.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) @@ -52,18 +43,6 @@ # 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 TIMELIB_MICROSEC 9 - #define EOI 257 #define TIME 258 #define DATE 259 @@ -115,14 +94,14 @@ typedef unsigned char uchar; #define timelib_string_free timelib_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_HAVE_TIME() { if (s->time->have_time) { add_error(s, TIMELIB_ERR_DOUBLE_TIME, "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->us = 0; } } +#define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->us = 0; } +#define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, TIMELIB_ERR_DOUBLE_DATE, "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_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, TIMELIB_ERR_DOUBLE_TZ, "Double timezone specification") : add_warning(s, TIMELIB_WARN_DOUBLE_TZ, "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) @@ -148,8 +127,6 @@ typedef unsigned char uchar; #define YYDEBUG(s,c) #endif -#include "timelib_structs.h" - typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ @@ -178,17 +155,17 @@ typedef struct _timelib_relunit { } timelib_relunit; /* The timezone table. */ -const static timelib_tz_lookup_table timelib_timezone_lookup[] = { +static const timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; -const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { +static const timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; -const static timelib_tz_lookup_table timelib_timezone_utc[] = { +static const timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; @@ -357,37 +334,41 @@ uchar *fill(Scanner *s, uchar *cursor){ } #endif -static void add_warning(Scanner *s, char *error) +static void add_warning(Scanner *s, int error_code, char *error) { s->errors->warning_count++; s->errors->warning_messages = timelib_realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); + s->errors->warning_messages[s->errors->warning_count - 1].error_code = error_code; 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 = timelib_strdup(error); } -static void add_error(Scanner *s, char *error) +static void add_error(Scanner *s, int error_code, char *error) { s->errors->error_count++; s->errors->error_messages = timelib_realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); + s->errors->error_messages[s->errors->error_count - 1].error_code = error_code; 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 = timelib_strdup(error); } -static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr) +static void add_pbf_warning(Scanner *s, int error_code, char *error, char *sptr, char *cptr) { s->errors->warning_count++; s->errors->warning_messages = timelib_realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); + s->errors->warning_messages[s->errors->warning_count - 1].error_code = error_code; 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 = timelib_strdup(error); } -static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr) +static void add_pbf_error(Scanner *s, int error_code, char *error, char *sptr, char *cptr) { s->errors->error_count++; s->errors->error_messages = timelib_realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); + s->errors->error_messages[s->errors->error_count - 1].error_code = error_code; 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 = timelib_strdup(error); @@ -507,7 +488,7 @@ static void timelib_skip_day_suffix(char **ptr) } } -static double timelib_get_frac_nr(char **ptr, int max_length) +static timelib_sll timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = TIMELIB_UNSET; @@ -525,12 +506,9 @@ static double timelib_get_frac_nr(char **ptr, int max_length) ++len; } end = *ptr; - str = timelib_calloc(1, end - begin + 1); - memcpy(str, begin, end - begin); - if (str[0] == ':') { - str[0] = '.'; - } - tmp_nr = strtod(str, NULL); + str = timelib_calloc(1, end - begin); + memcpy(str, begin + 1, end - begin - 1); + tmp_nr = strtod(str, NULL) * pow(10, 7 - (end - begin)); timelib_free(str); return tmp_nr; } @@ -670,7 +648,7 @@ static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, S } switch (relunit->unit) { - case TIMELIB_MICROSEC: s->time->relative.f += (((double) amount * (double) relunit->multiplier) / 1000000); break; + case TIMELIB_MICROSEC: s->time->relative.us += amount * relunit->multiplier; break; 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; @@ -694,7 +672,7 @@ static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, S } } -const static timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst) +static const timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst) { int first_found = 0; const timelib_tz_lookup_table *tp, *first_found_elem = NULL; @@ -725,7 +703,7 @@ const static timelib_tz_lookup_table* abbr_search(const char *word, timelib_long /* 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 * 60) == gmtoffset && fmp->type == isdst) { + if (fmp->gmtoffset == gmtoffset && fmp->type == isdst) { return fmp; } } @@ -747,9 +725,9 @@ static timelib_long timelib_lookup_abbr(char **ptr, int *dst, char **tz_abbr, in memcpy(word, begin, end - begin); if ((tp = abbr_search(word, -1, 0))) { - value = -tp->gmtoffset / 60; + value = tp->gmtoffset; *dst = tp->type; - value += tp->type * 60; + value -= tp->type * 3600; *found = 1; } else { *found = 0; @@ -759,6 +737,42 @@ static timelib_long timelib_lookup_abbr(char **ptr, int *dst, char **tz_abbr, in return value; } +#define sHOUR(a) (int)(a * 3600) +#define sMIN(a) (int)(a * 60) + +static timelib_long timelib_parse_tz_cor(char **ptr) +{ + char *begin = *ptr, *end; + timelib_long tmp; + + while (isdigit(**ptr) || **ptr == ':') { + ++*ptr; + } + end = *ptr; + switch (end - begin) { + case 1: /* H */ + case 2: /* HH */ + return sHOUR(strtol(begin, NULL, 10)); + break; + case 3: /* H:M */ + case 4: /* H:MM, HH:M, HHMM */ + if (begin[1] == ':') { + tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 2, NULL, 10)); + return tmp; + } else if (begin[2] == ':') { + tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10)); + return tmp; + } else { + tmp = strtol(begin, NULL, 10); + return sHOUR(tmp / 100) + sMIN(tmp % 100); + } + case 5: /* HH:MM */ + tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10)); + return tmp; + } + return 0; +} + timelib_long timelib_parse_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; @@ -779,7 +793,7 @@ timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_n *tz_not_found = 0; t->dst = 0; - retval = -1 * timelib_parse_tz_cor(ptr); + retval = timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; @@ -787,7 +801,7 @@ timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_n *tz_not_found = 0; t->dst = 0; - retval = timelib_parse_tz_cor(ptr); + retval = -1 * timelib_parse_tz_cor(ptr); } else { int found = 0; timelib_long offset = 0; @@ -804,7 +818,9 @@ timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_n /* Otherwise, we look if we have a TimeZone identifier */ if (!found || strcmp("UTC", tz_abbr) == 0) { - if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) { + int dummy_error_code; + + if ((res = tz_wrapper(tz_abbr, tzdb, &dummy_error_code)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; @@ -838,11 +854,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) std: s->tok = cursor; s->len = 0; -#line 965 "ext/date/lib/parse_date.re" +#line 981 "ext/date/lib/parse_date.re" -#line 846 "ext/date/lib/parse_date.c" +#line 862 "<stdout>" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -880,6 +896,7 @@ std: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; + YYDEBUG(0, *YYCURSOR); if ((YYLIMIT - YYCURSOR) < 33) YYFILL(33); yych = *YYCURSOR; switch (yych) { @@ -958,6 +975,7 @@ std: default: goto yy53; } yy2: + YYDEBUG(2, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= 'E') { if (yych <= ')') { @@ -965,19 +983,20 @@ yy2: } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy165; - goto yy1521; + goto yy1523; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy165; if (yych >= 'a') goto yy170; } else { - if (yych <= 'e') goto yy1530; + if (yych <= 'e') goto yy1532; if (yych <= 'z') goto yy170; } } yy3: -#line 1673 "ext/date/lib/parse_date.re" + YYDEBUG(3, *YYCURSOR); +#line 1689 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); @@ -985,13 +1004,14 @@ yy3: TIMELIB_HAVE_TZ(); s->time->z = timelib_parse_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"); + add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } -#line 994 "ext/date/lib/parse_date.c" +#line 1013 "<stdout>" yy4: + YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -1000,7 +1020,7 @@ yy4: } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy165; - goto yy1521; + goto yy1523; } } else { if (yych <= 'd') { @@ -1008,12 +1028,13 @@ yy4: if (yych <= '`') goto yy3; goto yy165; } else { - if (yych <= 'e') goto yy1521; + if (yych <= 'e') goto yy1523; if (yych <= 'z') goto yy165; goto yy3; } } yy5: + YYDEBUG(5, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'D') { @@ -1022,12 +1043,12 @@ yy5: goto yy165; } else { if (yych <= 'H') { - if (yych <= 'E') goto yy1492; + if (yych <= 'E') goto yy1494; goto yy165; } else { - if (yych <= 'I') goto yy1493; + if (yych <= 'I') goto yy1495; if (yych <= 'N') goto yy165; - goto yy1491; + goto yy1493; } } } else { @@ -1036,21 +1057,22 @@ yy5: if (yych <= 'Z') goto yy165; goto yy3; } else { - if (yych == 'e') goto yy1508; + if (yych == 'e') goto yy1510; goto yy170; } } else { if (yych <= 'n') { - if (yych <= 'i') goto yy1509; + if (yych <= 'i') goto yy1511; goto yy170; } else { - if (yych <= 'o') goto yy1507; + if (yych <= 'o') goto yy1509; if (yych <= 'z') goto yy170; goto yy3; } } } yy6: + YYDEBUG(6, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'D') { @@ -1059,12 +1081,12 @@ yy6: goto yy165; } else { if (yych <= 'H') { - if (yych <= 'E') goto yy1492; + if (yych <= 'E') goto yy1494; goto yy165; } else { - if (yych <= 'I') goto yy1493; + if (yych <= 'I') goto yy1495; if (yych <= 'N') goto yy165; - goto yy1491; + goto yy1493; } } } else { @@ -1073,93 +1095,96 @@ yy6: if (yych <= 'Z') goto yy165; goto yy3; } else { - if (yych == 'e') goto yy1492; + if (yych == 'e') goto yy1494; goto yy165; } } else { if (yych <= 'n') { - if (yych <= 'i') goto yy1493; + if (yych <= 'i') goto yy1495; goto yy165; } else { - if (yych <= 'o') goto yy1491; + if (yych <= 'o') goto yy1493; if (yych <= 'z') goto yy165; goto yy3; } } } yy7: + YYDEBUG(7, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'A') { if (yych == ')') goto yy164; if (yych <= '@') goto yy3; - goto yy1461; + goto yy1463; } else { - if (yych == 'I') goto yy1462; + if (yych == 'I') goto yy1464; if (yych <= 'N') goto yy165; - goto yy1463; + goto yy1465; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy165; if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1476; + if (yych <= 'a') goto yy1478; goto yy170; } else { if (yych <= 'n') { - if (yych <= 'i') goto yy1477; + if (yych <= 'i') goto yy1479; goto yy170; } else { - if (yych <= 'o') goto yy1478; + if (yych <= 'o') goto yy1480; if (yych <= 'z') goto yy170; goto yy3; } } } yy8: + YYDEBUG(8, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'A') { if (yych == ')') goto yy164; if (yych <= '@') goto yy3; - goto yy1461; + goto yy1463; } else { - if (yych == 'I') goto yy1462; + if (yych == 'I') goto yy1464; if (yych <= 'N') goto yy165; - goto yy1463; + goto yy1465; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy165; if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1461; + if (yych <= 'a') goto yy1463; goto yy165; } else { if (yych <= 'n') { - if (yych <= 'i') goto yy1462; + if (yych <= 'i') goto yy1464; goto yy165; } else { - if (yych <= 'o') goto yy1463; + if (yych <= 'o') goto yy1465; if (yych <= 'z') goto yy165; goto yy3; } } } yy9: + YYDEBUG(9, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy164; case '0': - case '1': goto yy1391; - case '2': goto yy1392; + case '1': goto yy1393; + case '2': goto yy1394; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy1393; + case '9': goto yy1395; case 'A': case 'B': case 'C': @@ -1181,11 +1206,11 @@ yy9: case 'X': case 'Y': case 'Z': goto yy165; - case 'E': goto yy1386; - case 'H': goto yy1387; - case 'O': goto yy1388; - case 'U': goto yy1389; - case 'W': goto yy1390; + 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': @@ -1207,28 +1232,29 @@ yy9: case 'x': case 'y': case 'z': goto yy170; - case 'e': goto yy1429; - case 'h': goto yy1430; - case 'o': goto yy1431; - case 'u': goto yy1432; - case 'w': goto yy1433; + case 'e': goto yy1431; + case 'h': goto yy1432; + case 'o': goto yy1433; + case 'u': goto yy1434; + case 'w': goto yy1435; default: goto yy3; } yy10: + YYDEBUG(10, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy164; case '0': - case '1': goto yy1391; - case '2': goto yy1392; + case '1': goto yy1393; + case '2': goto yy1394; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy1393; + case '9': goto yy1395; case 'A': case 'B': case 'C': @@ -1272,31 +1298,34 @@ yy10: case 'y': case 'z': goto yy165; case 'E': - case 'e': goto yy1386; + case 'e': goto yy1388; case 'H': - case 'h': goto yy1387; + case 'h': goto yy1389; case 'O': - case 'o': goto yy1388; + case 'o': goto yy1390; case 'U': - case 'u': goto yy1389; + case 'u': goto yy1391; case 'W': - case 'w': goto yy1390; + case 'w': goto yy1392; default: goto yy3; } yy11: + YYDEBUG(11, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy1374; + if (yych == '-') goto yy1376; if (yych <= '/') goto yy12; - if (yych <= '9') goto yy1375; + if (yych <= '9') goto yy1377; yy12: -#line 1768 "ext/date/lib/parse_date.re" + YYDEBUG(12, *YYCURSOR); +#line 1784 "ext/date/lib/parse_date.re" { - add_error(s, "Unexpected character"); + add_error(s, TIMELIB_ERR_UNEXPECTED_CHARACTER, "Unexpected character"); goto std; } -#line 1299 "ext/date/lib/parse_date.c" +#line 1327 "<stdout>" yy13: + YYDEBUG(13, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { @@ -1306,16 +1335,16 @@ yy13: } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy165; - goto yy1310; + goto yy1311; } } else { if (yych <= 'N') { - if (yych == 'I') goto yy1311; + if (yych == 'I') goto yy1312; goto yy165; } else { - if (yych <= 'O') goto yy1312; + if (yych <= 'O') goto yy1313; if (yych <= 'Q') goto yy165; - goto yy1313; + goto yy1314; } } } else { @@ -1325,22 +1354,23 @@ yy13: if (yych <= '`') goto yy3; goto yy170; } else { - if (yych <= 'e') goto yy1351; + if (yych <= 'e') goto yy1353; if (yych <= 'h') goto yy170; - goto yy1352; + goto yy1354; } } else { if (yych <= 'q') { - if (yych == 'o') goto yy1353; + if (yych == 'o') goto yy1355; goto yy170; } else { - if (yych <= 'r') goto yy1354; + if (yych <= 'r') goto yy1356; if (yych <= 'z') goto yy170; goto yy3; } } } yy14: + YYDEBUG(14, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { @@ -1350,16 +1380,16 @@ yy14: } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy165; - goto yy1310; + goto yy1311; } } else { if (yych <= 'N') { - if (yych == 'I') goto yy1311; + if (yych == 'I') goto yy1312; goto yy165; } else { - if (yych <= 'O') goto yy1312; + if (yych <= 'O') goto yy1313; if (yych <= 'Q') goto yy165; - goto yy1313; + goto yy1314; } } } else { @@ -1369,54 +1399,57 @@ yy14: if (yych <= '`') goto yy3; goto yy165; } else { - if (yych <= 'e') goto yy1310; + if (yych <= 'e') goto yy1311; if (yych <= 'h') goto yy165; - goto yy1311; + goto yy1312; } } else { if (yych <= 'q') { - if (yych == 'o') goto yy1312; + if (yych == 'o') goto yy1313; goto yy165; } else { - if (yych <= 'r') goto yy1313; + if (yych <= 'r') goto yy1314; if (yych <= 'z') goto yy165; goto yy3; } } } yy15: + YYDEBUG(15, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy164; if (yych <= '@') goto yy3; - goto yy1296; + goto yy1297; } else { if (yych <= '`') { if (yych <= 'Z') goto yy165; goto yy3; } else { - if (yych <= 'a') goto yy1307; + if (yych <= 'a') goto yy1308; if (yych <= 'z') goto yy170; goto yy3; } } yy16: + YYDEBUG(16, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy164; if (yych <= '@') goto yy3; - goto yy1296; + goto yy1297; } else { if (yych <= '`') { if (yych <= 'Z') goto yy165; goto yy3; } else { - if (yych <= 'a') goto yy1296; + if (yych <= 'a') goto yy1297; if (yych <= 'z') goto yy165; goto yy3; } } yy17: + YYDEBUG(17, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy164; @@ -1427,12 +1460,13 @@ yy17: if (yych <= 'Z') goto yy165; goto yy3; } else { - if (yych <= 'a') goto yy1293; + if (yych <= 'a') goto yy1294; if (yych <= 'z') goto yy170; goto yy3; } } yy18: + YYDEBUG(18, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy164; @@ -1449,6 +1483,7 @@ yy18: } } yy19: + YYDEBUG(19, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { @@ -1492,6 +1527,7 @@ yy19: } } yy20: + YYDEBUG(20, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { @@ -1535,6 +1571,7 @@ yy20: } } yy21: + YYDEBUG(21, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { @@ -1558,6 +1595,7 @@ yy21: } } yy22: + YYDEBUG(22, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { @@ -1581,6 +1619,7 @@ yy22: } } yy23: + YYDEBUG(23, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -1603,6 +1642,7 @@ yy23: } } yy24: + YYDEBUG(24, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -1625,6 +1665,7 @@ yy24: } } yy25: + YYDEBUG(25, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '`') { @@ -1716,6 +1757,7 @@ yy25: } } yy26: + YYDEBUG(26, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '`') { @@ -1807,6 +1849,7 @@ yy26: } } yy27: + YYDEBUG(27, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '`') { @@ -1898,6 +1941,7 @@ yy27: } } yy28: + YYDEBUG(28, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '`') { @@ -1989,6 +2033,7 @@ yy28: } } yy29: + YYDEBUG(29, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'a') { @@ -2076,6 +2121,7 @@ yy29: } } yy30: + YYDEBUG(30, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { @@ -2097,6 +2143,7 @@ yy30: default: goto yy12; } yy31: + YYDEBUG(31, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -2139,6 +2186,7 @@ yy31: } } yy32: + YYDEBUG(32, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -2169,6 +2217,7 @@ yy32: } } yy33: + YYDEBUG(33, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -2199,6 +2248,7 @@ yy33: } } yy34: + YYDEBUG(34, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { @@ -2221,6 +2271,7 @@ yy34: } } yy35: + YYDEBUG(35, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { @@ -2243,6 +2294,7 @@ yy35: } } yy36: + YYDEBUG(36, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { @@ -2280,6 +2332,7 @@ yy36: } } yy37: + YYDEBUG(37, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { @@ -2317,6 +2370,7 @@ yy37: } } yy38: + YYDEBUG(38, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { @@ -2339,6 +2393,7 @@ yy38: } } yy39: + YYDEBUG(39, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { @@ -2361,6 +2416,7 @@ yy39: } } yy40: + YYDEBUG(40, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -2383,6 +2439,7 @@ yy40: } } yy41: + YYDEBUG(41, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -2405,6 +2462,7 @@ yy41: } } yy42: + YYDEBUG(42, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -2427,6 +2485,7 @@ yy42: } } yy43: + YYDEBUG(43, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -2449,6 +2508,7 @@ yy43: } } yy44: + YYDEBUG(44, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych == ')') goto yy164; @@ -2465,6 +2525,7 @@ yy44: } } yy45: + YYDEBUG(45, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') goto yy12; if (yych <= 'Z') goto yy180; @@ -2472,6 +2533,7 @@ yy45: if (yych <= 'z') goto yy180; goto yy12; yy46: + YYDEBUG(46, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy164; @@ -2483,6 +2545,7 @@ yy46: goto yy3; } yy47: + YYDEBUG(47, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy164; @@ -2494,6 +2557,7 @@ yy47: goto yy3; } yy48: + YYDEBUG(48, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { @@ -2502,29 +2566,36 @@ yy48: if (yych <= '/') goto yy49; if (yych <= '9') goto yy54; yy49: -#line 1757 "ext/date/lib/parse_date.re" + YYDEBUG(49, *YYCURSOR); +#line 1773 "ext/date/lib/parse_date.re" { goto std; } -#line 2510 "ext/date/lib/parse_date.c" +#line 2575 "<stdout>" yy50: + YYDEBUG(50, *YYCURSOR); yych = *++YYCURSOR; goto yy49; yy51: + YYDEBUG(51, *YYCURSOR); ++YYCURSOR; -#line 1762 "ext/date/lib/parse_date.re" + YYDEBUG(52, *YYCURSOR); +#line 1778 "ext/date/lib/parse_date.re" { s->pos = cursor; s->line++; goto std; } -#line 2521 "ext/date/lib/parse_date.c" +#line 2589 "<stdout>" yy53: + YYDEBUG(53, *YYCURSOR); yych = *++YYCURSOR; goto yy12; yy54: + YYDEBUG(54, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); yych = *YYCURSOR; + YYDEBUG(55, *YYCURSOR); if (yybm[0+yych] & 2) { goto yy54; } @@ -2592,6 +2663,7 @@ yy54: } } yy56: + YYDEBUG(56, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 16) { if (yyaccept <= 8) { @@ -2704,32 +2776,34 @@ yy56: } } else { if (yyaccept == 28) { - goto yy1377; + goto yy1379; } else { - goto yy1415; + goto yy1417; } } } else { if (yyaccept <= 31) { if (yyaccept == 30) { - goto yy1418; + goto yy1420; } else { - goto yy1498; + goto yy1500; } } else { if (yyaccept == 32) { - goto yy1506; + goto yy1508; } else { - goto yy1529; + goto yy1531; } } } } } yy57: + YYDEBUG(57, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; + YYDEBUG(58, *YYCURSOR); if (yybm[0+yych] & 4) { goto yy57; } @@ -2737,10 +2811,12 @@ yy57: if (yych <= '9') goto yy54; goto yy56; yy59: + YYDEBUG(59, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); yych = *YYCURSOR; yy60: + YYDEBUG(60, *YYCURSOR); if (yych <= 'X') { if (yych <= 'G') { if (yych <= ' ') { @@ -2817,6 +2893,7 @@ yy60: } } yy61: + YYDEBUG(61, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'N') { @@ -2838,15 +2915,18 @@ yy61: } } yy62: + YYDEBUG(62, *YYCURSOR); yych = *++YYCURSOR; if (yych == 0xB5) goto yy134; goto yy56; yy63: + YYDEBUG(63, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy132; if (yych == 's') goto yy132; goto yy56; yy64: + YYDEBUG(64, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { @@ -2868,16 +2948,19 @@ yy64: } } yy65: + YYDEBUG(65, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy116; if (yych == 'o') goto yy116; goto yy56; yy66: + YYDEBUG(66, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy115; if (yych == 'a') goto yy115; goto yy56; yy67: + YYDEBUG(67, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy100; @@ -2893,16 +2976,19 @@ yy67: } } yy68: + YYDEBUG(68, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy96; if (yych == 'e') goto yy96; goto yy56; yy69: + YYDEBUG(69, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy84; if (yych == 'e') goto yy84; goto yy56; yy70: + YYDEBUG(70, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy71; @@ -2917,21 +3003,25 @@ yy70: } } yy71: + YYDEBUG(71, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy79; if (yych == 'u') goto yy79; goto yy56; yy72: + YYDEBUG(72, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy73; if (yych != 'e') goto yy56; yy73: + YYDEBUG(73, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'S') goto yy75; if (yych == 's') goto yy75; yy74: -#line 1741 "ext/date/lib/parse_date.re" + YYDEBUG(74, *YYCURSOR); +#line 1757 "ext/date/lib/parse_date.re" { timelib_ull i; DEBUG_OUTPUT("relative"); @@ -2946,45 +3036,55 @@ yy74: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 2950 "ext/date/lib/parse_date.c" +#line 3040 "<stdout>" yy75: + YYDEBUG(75, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy76; if (yych != 'd') goto yy56; yy76: + YYDEBUG(76, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy77; if (yych != 'a') goto yy56; yy77: + YYDEBUG(77, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy78; if (yych != 'y') goto yy56; yy78: + YYDEBUG(78, *YYCURSOR); yych = *++YYCURSOR; goto yy74; yy79: + YYDEBUG(79, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy80; if (yych != 'r') goto yy74; yy80: + YYDEBUG(80, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy81; if (yych != 's') goto yy56; yy81: + YYDEBUG(81, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy82; if (yych != 'd') goto yy56; yy82: + YYDEBUG(82, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy83; if (yych != 'a') goto yy56; yy83: + YYDEBUG(83, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy78; if (yych == 'y') goto yy78; goto yy56; yy84: + YYDEBUG(84, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy56; @@ -2994,37 +3094,45 @@ yy84: if (yych <= 'd') goto yy86; if (yych >= 'f') goto yy56; } + YYDEBUG(85, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'K') goto yy92; if (yych == 'k') goto yy92; goto yy56; yy86: + YYDEBUG(86, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'N') goto yy87; if (yych != 'n') goto yy74; yy87: + YYDEBUG(87, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy88; if (yych != 'e') goto yy56; yy88: + YYDEBUG(88, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy89; if (yych != 's') goto yy56; yy89: + YYDEBUG(89, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy90; if (yych != 'd') goto yy56; yy90: + YYDEBUG(90, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy91; if (yych != 'a') goto yy56; yy91: + YYDEBUG(91, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy78; if (yych == 'y') goto yy78; goto yy56; yy92: + YYDEBUG(92, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -3040,45 +3148,55 @@ yy92: } } yy93: + YYDEBUG(93, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy94; if (yych != 'a') goto yy56; yy94: + YYDEBUG(94, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy95; if (yych != 'y') goto yy56; yy95: + YYDEBUG(95, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy78; if (yych == 's') goto yy78; goto yy74; yy96: + YYDEBUG(96, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy97; if (yych != 'a') goto yy56; yy97: + YYDEBUG(97, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy98; if (yych != 'r') goto yy56; yy98: + YYDEBUG(98, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy78; if (yych == 's') goto yy78; goto yy74; yy99: + YYDEBUG(99, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy112; if (yych == 'i') goto yy112; goto yy56; yy100: + YYDEBUG(100, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy101; if (yych != 'r') goto yy56; yy101: + YYDEBUG(101, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy102; if (yych != 't') goto yy56; yy102: + YYDEBUG(102, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy104; @@ -3091,87 +3209,106 @@ yy102: if (yych != 'n') goto yy56; } } + YYDEBUG(103, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy109; if (yych == 'i') goto yy109; goto yy56; yy104: + YYDEBUG(104, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy105; if (yych != 'n') goto yy56; yy105: + YYDEBUG(105, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy106; if (yych != 'i') goto yy56; yy106: + YYDEBUG(106, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy107; if (yych != 'g') goto yy56; yy107: + YYDEBUG(107, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy108; if (yych != 'h') goto yy56; yy108: + YYDEBUG(108, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy98; if (yych == 't') goto yy98; goto yy56; yy109: + YYDEBUG(109, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy110; if (yych != 'g') goto yy56; yy110: + YYDEBUG(110, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy111; if (yych != 'h') goto yy56; yy111: + YYDEBUG(111, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy98; if (yych == 't') goto yy98; goto yy56; yy112: + YYDEBUG(112, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy113; if (yych != 'd') goto yy74; yy113: + YYDEBUG(113, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy114; if (yych != 'a') goto yy56; yy114: + YYDEBUG(114, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy78; if (yych == 'y') goto yy78; goto yy56; yy115: + YYDEBUG(115, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy98; if (yych == 'y') goto yy98; goto yy56; yy116: + YYDEBUG(116, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy117; if (yych != 'u') goto yy56; yy117: + YYDEBUG(117, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy98; if (yych == 'r') goto yy98; goto yy56; yy118: + YYDEBUG(118, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy129; if (yych == 'n') goto yy129; goto yy56; yy119: + YYDEBUG(119, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy124; if (yych == 't') goto yy124; goto yy56; yy120: + YYDEBUG(120, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy121; if (yych != 'c') goto yy56; yy121: + YYDEBUG(121, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -3187,79 +3324,96 @@ yy121: } } yy122: + YYDEBUG(122, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy123; if (yych != 'n') goto yy56; yy123: + YYDEBUG(123, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy98; if (yych == 'd') goto yy98; goto yy56; yy124: + YYDEBUG(124, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy125; if (yych != 'u') goto yy74; yy125: + YYDEBUG(125, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy126; if (yych != 'r') goto yy56; yy126: + YYDEBUG(126, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy127; if (yych != 'd') goto yy56; yy127: + YYDEBUG(127, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy128; if (yych != 'a') goto yy56; yy128: + YYDEBUG(128, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy78; if (yych == 'y') goto yy78; goto yy56; yy129: + YYDEBUG(129, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy130; if (yych != 'd') goto yy74; yy130: + YYDEBUG(130, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy131; if (yych != 'a') goto yy56; yy131: + YYDEBUG(131, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy78; if (yych == 'y') goto yy78; goto yy56; yy132: + YYDEBUG(132, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy133; if (yych != 'e') goto yy56; yy133: + YYDEBUG(133, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy98; if (yych == 'c') goto yy98; goto yy56; yy134: + YYDEBUG(134, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy135; if (yych != 's') goto yy56; yy135: + YYDEBUG(135, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy136; if (yych != 'e') goto yy74; yy136: + YYDEBUG(136, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy98; if (yych == 'c') goto yy98; goto yy56; yy137: + YYDEBUG(137, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy160; if (yych == 'n') goto yy160; goto yy56; yy138: + YYDEBUG(138, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= 'K') { @@ -3281,26 +3435,31 @@ yy138: } } yy139: + YYDEBUG(139, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy140; if (yych != 'e') goto yy74; yy140: + YYDEBUG(140, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy98; if (yych == 'c') goto yy98; goto yy56; yy141: + YYDEBUG(141, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy153; if (yych == 'l') goto yy153; goto yy56; yy142: + YYDEBUG(142, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy146; if (yych == 'r') goto yy146; goto yy56; yy143: + YYDEBUG(143, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { @@ -3314,73 +3473,90 @@ yy143: if (yych != 'u') goto yy74; } } + YYDEBUG(144, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy145; if (yych != 't') goto yy56; yy145: + YYDEBUG(145, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy98; if (yych == 'e') goto yy98; goto yy56; yy146: + YYDEBUG(146, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy147; if (yych != 'o') goto yy56; yy147: + YYDEBUG(147, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy148; if (yych != 's') goto yy56; yy148: + YYDEBUG(148, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy149; if (yych != 'e') goto yy56; yy149: + YYDEBUG(149, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy150; if (yych != 'c') goto yy56; yy150: + YYDEBUG(150, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy151; if (yych != 'o') goto yy56; yy151: + YYDEBUG(151, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy152; if (yych != 'n') goto yy56; yy152: + YYDEBUG(152, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy98; if (yych == 'd') goto yy98; goto yy56; yy153: + YYDEBUG(153, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy154; if (yych != 'i') goto yy56; yy154: + YYDEBUG(154, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy155; if (yych != 's') goto yy56; yy155: + YYDEBUG(155, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy156; if (yych != 'e') goto yy56; yy156: + YYDEBUG(156, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy157; if (yych != 'c') goto yy56; yy157: + YYDEBUG(157, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy158; if (yych != 'o') goto yy56; yy158: + YYDEBUG(158, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy159; if (yych != 'n') goto yy56; yy159: + YYDEBUG(159, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy98; if (yych == 'd') goto yy98; goto yy56; yy160: + YYDEBUG(160, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -3396,24 +3572,29 @@ yy160: } } yy161: + YYDEBUG(161, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy163; if (yych == 'a') goto yy163; goto yy56; yy162: + YYDEBUG(162, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy98; if (yych == 'h') goto yy98; goto yy56; yy163: + YYDEBUG(163, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy78; if (yych == 'y') goto yy78; goto yy56; yy164: + YYDEBUG(164, *YYCURSOR); yych = *++YYCURSOR; goto yy3; yy165: + YYDEBUG(165, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy164; @@ -3424,6 +3605,7 @@ yy165: if (yych >= '{') goto yy3; } yy166: + YYDEBUG(166, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy164; @@ -3434,6 +3616,7 @@ yy166: if (yych >= '{') goto yy3; } yy167: + YYDEBUG(167, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy164; @@ -3444,6 +3627,7 @@ yy167: if (yych >= '{') goto yy3; } yy168: + YYDEBUG(168, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy164; @@ -3454,10 +3638,12 @@ yy168: if (yych >= '{') goto yy3; } yy169: + YYDEBUG(169, *YYCURSOR); yych = *++YYCURSOR; if (yych == ')') goto yy164; goto yy3; yy170: + YYDEBUG(170, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -3480,6 +3666,7 @@ yy170: } } yy171: + YYDEBUG(171, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -3502,6 +3689,7 @@ yy171: } } yy172: + YYDEBUG(172, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -3510,10 +3698,12 @@ yy172: } goto yy56; yy173: + YYDEBUG(173, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; + YYDEBUG(174, *YYCURSOR); if (yybm[0+yych] & 8) { goto yy173; } @@ -3526,6 +3716,7 @@ yy173: goto yy3; } yy175: + YYDEBUG(175, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -3548,6 +3739,7 @@ yy175: } } yy176: + YYDEBUG(176, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -3570,6 +3762,7 @@ yy176: } } yy177: + YYDEBUG(177, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -3589,10 +3782,12 @@ yy177: } } yy178: + YYDEBUG(178, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy179: + YYDEBUG(179, *YYCURSOR); if (yybm[0+yych] & 16) { goto yy178; } @@ -3605,6 +3800,7 @@ yy179: goto yy56; } yy180: + YYDEBUG(180, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy164; @@ -3616,6 +3812,7 @@ yy180: goto yy3; } yy181: + YYDEBUG(181, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == ')') goto yy164; @@ -3630,6 +3827,7 @@ yy181: goto yy3; } } + YYDEBUG(182, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -3651,6 +3849,7 @@ yy181: } } yy183: + YYDEBUG(183, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy184; @@ -3658,12 +3857,14 @@ yy183: if (yych <= '9') goto yy186; goto yy56; yy184: + YYDEBUG(184, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '9') goto yy186; if (yych <= ':') goto yy187; goto yy3; yy185: + YYDEBUG(185, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy3; @@ -3674,23 +3875,27 @@ yy185: goto yy3; } yy186: + YYDEBUG(186, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '5') goto yy188; if (yych <= '9') goto yy164; if (yych >= ';') goto yy3; yy187: + YYDEBUG(187, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '5') goto yy188; if (yych <= '9') goto yy164; goto yy3; yy188: + YYDEBUG(188, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '9') goto yy164; goto yy3; yy189: + YYDEBUG(189, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= '@') { @@ -3713,6 +3918,7 @@ yy189: } } yy190: + YYDEBUG(190, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= 'N') { if (yych <= ')') { @@ -3732,7 +3938,8 @@ yy190: } } yy191: -#line 1604 "ext/date/lib/parse_date.re" + YYDEBUG(191, *YYCURSOR); +#line 1620 "ext/date/lib/parse_date.re" { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); @@ -3749,8 +3956,9 @@ yy191: TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } -#line 3753 "ext/date/lib/parse_date.c" +#line 3960 "<stdout>" yy192: + YYDEBUG(192, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'K') { if (yych <= ')') { @@ -3772,6 +3980,7 @@ yy192: } } yy193: + YYDEBUG(193, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -3793,6 +4002,7 @@ yy193: } } yy194: + YYDEBUG(194, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy164; @@ -3808,6 +4018,7 @@ yy194: } } yy195: + YYDEBUG(195, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy164; @@ -3817,13 +4028,16 @@ yy195: if (yych != 'y') goto yy3; } yy196: + YYDEBUG(196, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy197; if (yych != 's') goto yy191; yy197: + YYDEBUG(197, *YYCURSOR); yych = *++YYCURSOR; goto yy191; yy198: + YYDEBUG(198, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -3845,6 +4059,7 @@ yy198: } } yy199: + YYDEBUG(199, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -3866,6 +4081,7 @@ yy199: } } yy200: + YYDEBUG(200, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -3876,15 +4092,18 @@ yy200: if (yych != 'd') goto yy3; } yy201: + YYDEBUG(201, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy202; if (yych != 'a') goto yy56; yy202: + YYDEBUG(202, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy197; if (yych == 'y') goto yy197; goto yy56; yy203: + YYDEBUG(203, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -3921,6 +4140,7 @@ yy203: } } } + YYDEBUG(204, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -3951,6 +4171,7 @@ yy203: } } yy205: + YYDEBUG(205, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'J') { @@ -3981,6 +4202,7 @@ yy205: } } yy206: + YYDEBUG(206, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -4011,6 +4233,7 @@ yy206: } } yy207: + YYDEBUG(207, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -4036,6 +4259,7 @@ yy207: } } yy208: + YYDEBUG(208, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -4059,6 +4283,7 @@ yy208: } } yy209: + YYDEBUG(209, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -4081,6 +4306,7 @@ yy209: } } yy210: + YYDEBUG(210, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -4095,6 +4321,7 @@ yy210: goto yy191; } yy211: + YYDEBUG(211, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -4125,6 +4352,7 @@ yy211: } } yy212: + YYDEBUG(212, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -4155,6 +4383,7 @@ yy212: } } yy213: + YYDEBUG(213, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -4178,14 +4407,17 @@ yy213: } } yy214: + YYDEBUG(214, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy202; if (yych != 'a') goto yy179; + YYDEBUG(215, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy197; if (yych == 'y') goto yy210; goto yy179; yy216: + YYDEBUG(216, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { @@ -4207,6 +4439,7 @@ yy216: } } yy217: + YYDEBUG(217, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -4242,7 +4475,8 @@ yy217: } } yy218: -#line 1663 "ext/date/lib/parse_date.re" + YYDEBUG(218, *YYCURSOR); +#line 1679 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("monthtext"); TIMELIB_INIT; @@ -4251,12 +4485,14 @@ yy218: TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 4255 "ext/date/lib/parse_date.c" +#line 4489 "<stdout>" yy219: + YYDEBUG(219, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23); yych = *YYCURSOR; yy220: + YYDEBUG(220, *YYCURSOR); if (yybm[0+yych] & 32) { goto yy219; } @@ -4266,6 +4502,7 @@ yy220: if (yych <= '9') goto yy224; goto yy56; yy221: + YYDEBUG(221, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy220; if (yych <= '0') goto yy324; @@ -4273,6 +4510,7 @@ yy221: if (yych <= '3') goto yy326; goto yy220; yy222: + YYDEBUG(222, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= ' ') { @@ -4316,6 +4554,7 @@ yy222: } } yy223: + YYDEBUG(223, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '1') { if (yych <= ' ') { @@ -4360,6 +4599,7 @@ yy223: } } yy224: + YYDEBUG(224, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= ' ') { @@ -4403,6 +4643,7 @@ yy224: } } yy225: + YYDEBUG(225, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { @@ -4424,6 +4665,7 @@ yy225: } } yy226: + YYDEBUG(226, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { @@ -4445,6 +4687,7 @@ yy226: } } yy227: + YYDEBUG(227, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -4455,10 +4698,12 @@ yy227: if (yych != 'e') goto yy3; } yy228: + YYDEBUG(228, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy229; if (yych != 'r') goto yy56; yy229: + YYDEBUG(229, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { @@ -4476,17 +4721,20 @@ yy229: } } yy230: + YYDEBUG(230, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy320; goto yy56; yy231: + YYDEBUG(231, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych == 't') goto yy319; goto yy237; yy232: -#line 1409 "ext/date/lib/parse_date.re" + YYDEBUG(232, *YYCURSOR); +#line 1425 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("datetextual | datenoyear"); @@ -4499,28 +4747,33 @@ yy232: TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 4503 "ext/date/lib/parse_date.c" +#line 4751 "<stdout>" yy233: + YYDEBUG(233, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy319; goto yy237; yy234: + YYDEBUG(234, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy319; goto yy237; yy235: + YYDEBUG(235, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'h') goto yy319; goto yy237; yy236: + YYDEBUG(236, *YYCURSOR); yyaccept = 6; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); yych = *YYCURSOR; yy237: + YYDEBUG(237, *YYCURSOR); if (yybm[0+yych] & 64) { goto yy236; } @@ -4535,6 +4788,7 @@ yy237: goto yy232; } yy238: + YYDEBUG(238, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -4554,6 +4808,7 @@ yy238: } } yy239: + YYDEBUG(239, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy308; @@ -4561,6 +4816,7 @@ yy239: if (yych <= '9') goto yy298; goto yy56; yy240: + YYDEBUG(240, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy299; @@ -4572,6 +4828,7 @@ yy240: goto yy56; } yy241: + YYDEBUG(241, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy244; @@ -4583,6 +4840,7 @@ yy241: goto yy56; } yy242: + YYDEBUG(242, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy244; @@ -4593,16 +4851,19 @@ yy242: goto yy56; } yy243: + YYDEBUG(243, *YYCURSOR); yych = *++YYCURSOR; if (yych == '.') goto yy244; if (yych != ':') goto yy56; yy244: + YYDEBUG(244, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy245; if (yych <= '9') goto yy247; goto yy56; yy245: + YYDEBUG(245, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -4612,7 +4873,8 @@ yy245: if (yych <= ':') goto yy248; } yy246: -#line 1711 "ext/date/lib/parse_date.re" + YYDEBUG(246, *YYCURSOR); +#line 1727 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); @@ -4628,26 +4890,28 @@ yy246: s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + s->time->us = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_parse_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"); + add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 4645 "ext/date/lib/parse_date.c" +#line 4907 "<stdout>" yy247: + YYDEBUG(247, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy248; if (yych != ':') goto yy246; yy248: + YYDEBUG(248, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy249; @@ -4655,18 +4919,22 @@ yy248: if (yych <= '9') goto yy251; goto yy56; yy249: + YYDEBUG(249, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy246; if (yych <= '9') goto yy252; goto yy246; yy250: + YYDEBUG(250, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy252; goto yy246; yy251: + YYDEBUG(251, *YYCURSOR); yych = *++YYCURSOR; goto yy246; yy252: + YYDEBUG(252, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '*') { @@ -4691,10 +4959,12 @@ yy252: } } yy253: + YYDEBUG(253, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy254: + YYDEBUG(254, *YYCURSOR); if (yych <= '@') { if (yych <= '\'') { if (yych <= '\t') { @@ -4736,6 +5006,7 @@ yy254: } } yy255: + YYDEBUG(255, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych == ')') goto yy251; @@ -4752,6 +5023,7 @@ yy255: } } yy256: + YYDEBUG(256, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy284; @@ -4759,6 +5031,7 @@ yy256: if (yych <= '9') goto yy286; goto yy56; yy257: + YYDEBUG(257, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') goto yy56; if (yych <= 'Z') goto yy261; @@ -4766,6 +5039,7 @@ yy257: if (yych <= 'z') goto yy261; goto yy56; yy258: + YYDEBUG(258, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { @@ -4789,6 +5063,7 @@ yy258: } } yy259: + YYDEBUG(259, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy251; @@ -4800,6 +5075,7 @@ yy259: goto yy246; } yy260: + YYDEBUG(260, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { @@ -4823,6 +5099,7 @@ yy260: } } yy261: + YYDEBUG(261, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy251; @@ -4833,6 +5110,7 @@ yy261: if (yych >= '{') goto yy246; } yy262: + YYDEBUG(262, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy251; @@ -4843,6 +5121,7 @@ yy262: if (yych >= '{') goto yy246; } yy263: + YYDEBUG(263, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy251; @@ -4853,6 +5132,7 @@ yy263: if (yych >= '{') goto yy246; } yy264: + YYDEBUG(264, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy251; @@ -4863,6 +5143,7 @@ yy264: if (yych >= '{') goto yy246; } yy265: + YYDEBUG(265, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy251; @@ -4873,15 +5154,18 @@ yy265: if (yych >= '{') goto yy246; } yy266: + YYDEBUG(266, *YYCURSOR); yych = *++YYCURSOR; if (yych == ')') goto yy251; goto yy246; yy267: + YYDEBUG(267, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy272; if (yych == 'm') goto yy272; goto yy56; yy268: + YYDEBUG(268, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { @@ -4905,6 +5189,7 @@ yy268: } } yy269: + YYDEBUG(269, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy270; @@ -4913,8 +5198,10 @@ yy269: if (yych != ' ') goto yy56; } yy270: + YYDEBUG(270, *YYCURSOR); ++YYCURSOR; -#line 1687 "ext/date/lib/parse_date.re" + YYDEBUG(271, *YYCURSOR); +#line 1703 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); TIMELIB_INIT; @@ -4929,7 +5216,7 @@ yy270: s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + s->time->us = timelib_get_frac_nr((char **) &ptr, 8); } } @@ -4937,8 +5224,9 @@ yy270: TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 4941 "ext/date/lib/parse_date.c" +#line 5228 "<stdout>" yy272: + YYDEBUG(272, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy270; @@ -4950,6 +5238,7 @@ yy272: goto yy56; } yy273: + YYDEBUG(273, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -4972,6 +5261,7 @@ yy273: } } yy274: + YYDEBUG(274, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -4994,6 +5284,7 @@ yy274: } } yy275: + YYDEBUG(275, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -5002,10 +5293,12 @@ yy275: if (yych <= '`') goto yy56; if (yych >= '{') goto yy56; yy276: + YYDEBUG(276, *YYCURSOR); yyaccept = 7; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; + YYDEBUG(277, *YYCURSOR); if (yych <= '@') { if (yych <= '-') { if (yych <= ',') goto yy246; @@ -5026,6 +5319,7 @@ yy276: } } yy278: + YYDEBUG(278, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -5047,6 +5341,7 @@ yy278: if (yych >= '{') goto yy246; } } + YYDEBUG(279, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -5068,6 +5363,7 @@ yy278: if (yych >= '{') goto yy246; } } + YYDEBUG(280, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -5089,9 +5385,11 @@ yy278: } } yy281: + YYDEBUG(281, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; + YYDEBUG(282, *YYCURSOR); if (yych <= '/') { if (yych == '-') goto yy275; if (yych <= '.') goto yy56; @@ -5107,6 +5405,7 @@ yy281: } } yy283: + YYDEBUG(283, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { @@ -5142,12 +5441,14 @@ yy283: } } yy284: + YYDEBUG(284, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy246; if (yych <= '9') goto yy286; if (yych <= ':') goto yy287; goto yy246; yy285: + YYDEBUG(285, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy246; @@ -5158,23 +5459,27 @@ yy285: goto yy246; } yy286: + YYDEBUG(286, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy246; if (yych <= '5') goto yy288; if (yych <= '9') goto yy251; if (yych >= ';') goto yy246; yy287: + YYDEBUG(287, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy246; if (yych <= '5') goto yy288; if (yych <= '9') goto yy251; goto yy246; yy288: + YYDEBUG(288, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy246; if (yych <= '9') goto yy251; goto yy246; yy289: + YYDEBUG(289, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == ')') goto yy251; @@ -5189,6 +5494,7 @@ yy289: goto yy246; } } + YYDEBUG(290, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -5211,6 +5517,7 @@ yy289: } } yy291: + YYDEBUG(291, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { @@ -5238,9 +5545,11 @@ yy291: } } yy292: + YYDEBUG(292, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; + YYDEBUG(293, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { if (yych == '\t') goto yy292; @@ -5258,6 +5567,7 @@ yy292: } } yy294: + YYDEBUG(294, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy56; @@ -5266,10 +5576,12 @@ yy294: if (yych == 'm') goto yy296; goto yy56; } + YYDEBUG(295, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy296; if (yych != 'm') goto yy56; yy296: + YYDEBUG(296, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy270; @@ -5279,6 +5591,7 @@ yy296: if (yych <= ' ') goto yy270; if (yych != '.') goto yy56; } + YYDEBUG(297, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy270; @@ -5289,16 +5602,19 @@ yy296: goto yy56; } yy298: + YYDEBUG(298, *YYCURSOR); yych = *++YYCURSOR; if (yych == '.') goto yy299; if (yych != ':') goto yy56; yy299: + YYDEBUG(299, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy300; if (yych <= '9') goto yy301; goto yy56; yy300: + YYDEBUG(300, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -5310,11 +5626,13 @@ yy300: goto yy246; } yy301: + YYDEBUG(301, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy302; if (yych != ':') goto yy246; yy302: + YYDEBUG(302, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy303; @@ -5322,14 +5640,17 @@ yy302: if (yych <= '9') goto yy251; goto yy56; yy303: + YYDEBUG(303, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy246; if (yych <= '9') goto yy305; goto yy246; yy304: + YYDEBUG(304, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy246; yy305: + YYDEBUG(305, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '*') { @@ -5354,10 +5675,12 @@ yy305: } } yy306: + YYDEBUG(306, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy307: + YYDEBUG(307, *YYCURSOR); if (yych <= '+') { if (yych <= ' ') { if (yych == '\t') goto yy306; @@ -5385,6 +5708,7 @@ yy307: } } yy308: + YYDEBUG(308, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy299; @@ -5395,6 +5719,7 @@ yy308: goto yy56; } yy309: + YYDEBUG(309, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy299; @@ -5405,6 +5730,7 @@ yy309: goto yy56; } yy310: + YYDEBUG(310, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -5417,6 +5743,7 @@ yy310: goto yy232; } yy311: + YYDEBUG(311, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -5429,6 +5756,7 @@ yy311: goto yy232; } yy312: + YYDEBUG(312, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -5441,6 +5769,7 @@ yy312: goto yy232; } yy313: + YYDEBUG(313, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -5452,16 +5781,20 @@ yy313: goto yy232; } yy314: + YYDEBUG(314, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy232; if (yych >= ':') goto yy232; yy315: + YYDEBUG(315, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy232; if (yych >= ':') goto yy232; + YYDEBUG(316, *YYCURSOR); yych = *++YYCURSOR; goto yy232; yy317: + YYDEBUG(317, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -5473,6 +5806,7 @@ yy317: goto yy232; } yy318: + YYDEBUG(318, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -5484,16 +5818,20 @@ yy318: goto yy232; } yy319: + YYDEBUG(319, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x00) goto yy238; goto yy237; yy320: + YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(321, *YYCURSOR); ++YYCURSOR; -#line 1381 "ext/date/lib/parse_date.re" + YYDEBUG(322, *YYCURSOR); +#line 1397 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("datenoday"); @@ -5506,8 +5844,9 @@ yy320: TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 5510 "ext/date/lib/parse_date.c" +#line 5848 "<stdout>" yy323: + YYDEBUG(323, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= ' ') { @@ -5551,6 +5890,7 @@ yy323: } } yy324: + YYDEBUG(324, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= ' ') { @@ -5594,6 +5934,7 @@ yy324: } } yy325: + YYDEBUG(325, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= ' ') { @@ -5637,6 +5978,7 @@ yy325: } } yy326: + YYDEBUG(326, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '1') { if (yych <= ' ') { @@ -5680,6 +6022,7 @@ yy326: } } yy327: + YYDEBUG(327, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= ' ') { @@ -5722,14 +6065,17 @@ yy327: } } } + YYDEBUG(328, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(329, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy330; if (yych <= '9') goto yy331; yy330: -#line 1525 "ext/date/lib/parse_date.re" + YYDEBUG(330, *YYCURSOR); +#line 1541 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("pgtextshort"); @@ -5742,17 +6088,21 @@ yy330: TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 5746 "ext/date/lib/parse_date.c" +#line 6092 "<stdout>" yy331: + YYDEBUG(331, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy330; if (yych >= ':') goto yy330; + YYDEBUG(332, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy330; if (yych >= ':') goto yy330; + YYDEBUG(333, *YYCURSOR); yych = *++YYCURSOR; goto yy330; yy334: + YYDEBUG(334, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { @@ -5783,6 +6133,7 @@ yy334: } } yy335: + YYDEBUG(335, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -5826,6 +6177,7 @@ yy335: } } yy336: + YYDEBUG(336, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 8) { goto yy173; @@ -5836,6 +6188,7 @@ yy336: if (yych <= '3') goto yy326; goto yy220; yy337: + YYDEBUG(337, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { @@ -5866,6 +6219,7 @@ yy337: } } yy338: + YYDEBUG(338, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { @@ -5896,6 +6250,7 @@ yy338: } } yy339: + YYDEBUG(339, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -5919,10 +6274,12 @@ yy339: } } yy340: + YYDEBUG(340, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy229; if (yych != 'r') goto yy179; yy341: + YYDEBUG(341, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -5946,12 +6303,14 @@ yy341: } } yy342: + YYDEBUG(342, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 8) { goto yy173; } goto yy220; yy343: + YYDEBUG(343, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -5973,6 +6332,7 @@ yy343: } } yy344: + YYDEBUG(344, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -6014,6 +6374,7 @@ yy344: } } yy345: + YYDEBUG(345, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { @@ -6035,6 +6396,7 @@ yy345: } } yy346: + YYDEBUG(346, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -6056,6 +6418,7 @@ yy346: } } yy347: + YYDEBUG(347, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Q') { if (yych == ')') goto yy164; @@ -6066,6 +6429,7 @@ yy347: goto yy3; } yy348: + YYDEBUG(348, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -6096,6 +6460,7 @@ yy348: } } yy349: + YYDEBUG(349, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -6140,6 +6505,7 @@ yy349: } } yy350: + YYDEBUG(350, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { @@ -6170,6 +6536,7 @@ yy350: } } yy351: + YYDEBUG(351, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -6200,6 +6567,7 @@ yy351: } } yy352: + YYDEBUG(352, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -6223,6 +6591,7 @@ yy352: } } yy353: + YYDEBUG(353, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { @@ -6245,6 +6614,7 @@ yy353: } } yy354: + YYDEBUG(354, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -6267,6 +6637,7 @@ yy354: } } yy355: + YYDEBUG(355, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { @@ -6288,6 +6659,7 @@ yy355: } } yy356: + YYDEBUG(356, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy164; @@ -6297,7 +6669,8 @@ yy356: if (yych <= 'z') goto yy167; } yy357: -#line 1583 "ext/date/lib/parse_date.re" + YYDEBUG(357, *YYCURSOR); +#line 1599 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("ago"); TIMELIB_INIT; @@ -6317,8 +6690,9 @@ yy357: TIMELIB_DEINIT; return TIMELIB_AGO; } -#line 6321 "ext/date/lib/parse_date.c" +#line 6694 "<stdout>" yy358: + YYDEBUG(358, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -6360,6 +6734,7 @@ yy358: } } yy359: + YYDEBUG(359, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { @@ -6381,6 +6756,7 @@ yy359: } } yy360: + YYDEBUG(360, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -6405,6 +6781,7 @@ yy360: } } yy361: + YYDEBUG(361, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -6446,6 +6823,7 @@ yy361: } } yy362: + YYDEBUG(362, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -6467,6 +6845,7 @@ yy362: } } yy363: + YYDEBUG(363, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -6488,6 +6867,7 @@ yy363: } } yy364: + YYDEBUG(364, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { @@ -6510,6 +6890,7 @@ yy364: } } yy365: + YYDEBUG(365, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { @@ -6540,6 +6921,7 @@ yy365: } } yy366: + YYDEBUG(366, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -6570,6 +6952,7 @@ yy366: } } yy367: + YYDEBUG(367, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -6600,6 +6983,7 @@ yy367: } } yy368: + YYDEBUG(368, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -6623,6 +7007,7 @@ yy368: } } yy369: + YYDEBUG(369, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -6667,6 +7052,7 @@ yy369: } } yy370: + YYDEBUG(370, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'K') { @@ -6697,6 +7083,7 @@ yy370: } } yy371: + YYDEBUG(371, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -6732,6 +7119,7 @@ yy371: } } yy372: + YYDEBUG(372, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -6776,6 +7164,7 @@ yy372: } } yy373: + YYDEBUG(373, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -6806,6 +7195,7 @@ yy373: } } yy374: + YYDEBUG(374, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -6836,6 +7226,7 @@ yy374: } } yy375: + YYDEBUG(375, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -6862,6 +7253,7 @@ yy375: } } yy376: + YYDEBUG(376, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= '@') { @@ -6885,6 +7277,7 @@ yy376: } } yy377: + YYDEBUG(377, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -6906,6 +7299,7 @@ yy377: } } yy378: + YYDEBUG(378, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -6947,6 +7341,7 @@ yy378: } } yy379: + YYDEBUG(379, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy164; @@ -6962,6 +7357,7 @@ yy379: } } yy380: + YYDEBUG(380, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -6983,6 +7379,7 @@ yy380: } } yy381: + YYDEBUG(381, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy164; @@ -6993,6 +7390,7 @@ yy381: goto yy3; } yy382: + YYDEBUG(382, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -7035,6 +7433,7 @@ yy382: } } yy383: + YYDEBUG(383, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -7076,6 +7475,7 @@ yy383: } } yy384: + YYDEBUG(384, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -7100,6 +7500,7 @@ yy384: } } yy385: + YYDEBUG(385, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -7141,6 +7542,7 @@ yy385: } } yy386: + YYDEBUG(386, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -7171,6 +7573,7 @@ yy386: } } yy387: + YYDEBUG(387, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -7215,6 +7618,7 @@ yy387: } } yy388: + YYDEBUG(388, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -7240,6 +7644,7 @@ yy388: } } yy389: + YYDEBUG(389, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -7270,6 +7675,7 @@ yy389: } } yy390: + YYDEBUG(390, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -7293,6 +7699,7 @@ yy390: } } yy391: + YYDEBUG(391, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -7337,6 +7744,7 @@ yy391: } } yy392: + YYDEBUG(392, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -7381,6 +7789,7 @@ yy392: } } yy393: + YYDEBUG(393, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -7416,6 +7825,7 @@ yy393: } } yy394: + YYDEBUG(394, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -7445,6 +7855,7 @@ yy394: } } yy395: + YYDEBUG(395, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -7469,6 +7880,7 @@ yy395: } } yy396: + YYDEBUG(396, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -7497,6 +7909,7 @@ yy396: } } } + YYDEBUG(397, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -7525,6 +7938,7 @@ yy396: } } } + YYDEBUG(398, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -7549,6 +7963,7 @@ yy396: } } yy399: + YYDEBUG(399, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -7573,6 +7988,7 @@ yy399: } } yy400: + YYDEBUG(400, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -7603,6 +8019,7 @@ yy400: } } yy401: + YYDEBUG(401, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -7676,6 +8093,7 @@ yy401: } } yy402: + YYDEBUG(402, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { @@ -7759,6 +8177,7 @@ yy402: } } yy403: + YYDEBUG(403, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { @@ -7838,9 +8257,11 @@ yy403: } } yy404: + YYDEBUG(404, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; + YYDEBUG(405, *YYCURSOR); if (yybm[0+yych] & 4) { goto yy57; } @@ -7854,6 +8275,7 @@ yy404: goto yy56; } yy406: + YYDEBUG(406, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -7922,6 +8344,7 @@ yy406: } } yy407: + YYDEBUG(407, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -7988,33 +8411,40 @@ yy407: } } } + YYDEBUG(408, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych >= ':') goto yy60; yy409: + YYDEBUG(409, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 2) { goto yy54; } if (yych != '-') goto yy60; yy410: + YYDEBUG(410, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy411; if (yych <= '1') goto yy412; goto yy56; yy411: + YYDEBUG(411, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy413; goto yy56; yy412: + YYDEBUG(412, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '3') goto yy56; yy413: + YYDEBUG(413, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy56; + YYDEBUG(414, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy415; @@ -8022,23 +8452,28 @@ yy413: if (yych <= '3') goto yy417; goto yy56; yy415: + YYDEBUG(415, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy418; goto yy56; yy416: + YYDEBUG(416, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy418; goto yy56; yy417: + YYDEBUG(417, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '2') goto yy56; yy418: + YYDEBUG(418, *YYCURSOR); ++YYCURSOR; yy419: -#line 1286 "ext/date/lib/parse_date.re" + YYDEBUG(419, *YYCURSOR); +#line 1302 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); TIMELIB_INIT; @@ -8049,8 +8484,9 @@ yy419: TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 8053 "ext/date/lib/parse_date.c" +#line 8488 "<stdout>" yy420: + YYDEBUG(420, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -8119,6 +8555,7 @@ yy420: } } yy421: + YYDEBUG(421, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { @@ -8196,6 +8633,7 @@ yy421: } } } + YYDEBUG(422, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -8262,6 +8700,7 @@ yy421: } } } + YYDEBUG(423, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { @@ -8333,6 +8772,7 @@ yy421: } } yy424: + YYDEBUG(424, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy426; if (yych <= '0') goto yy700; @@ -8340,10 +8780,12 @@ yy424: if (yych <= '9') goto yy702; goto yy426; yy425: + YYDEBUG(425, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy426: + YYDEBUG(426, *YYCURSOR); if (yych <= 'W') { if (yych <= 'G') { if (yych <= '.') { @@ -8437,6 +8879,7 @@ yy426: } } yy427: + YYDEBUG(427, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'I') { @@ -8464,6 +8907,7 @@ yy427: } } yy428: + YYDEBUG(428, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { @@ -8485,6 +8929,7 @@ yy428: } } yy429: + YYDEBUG(429, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '`') { if (yych <= 'D') { @@ -8508,6 +8953,7 @@ yy429: } } yy430: + YYDEBUG(430, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy115; @@ -8523,6 +8969,7 @@ yy430: } } yy431: + YYDEBUG(431, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { @@ -8544,6 +8991,7 @@ yy431: } } yy432: + YYDEBUG(432, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy71; @@ -8559,12 +9007,14 @@ yy432: } } yy433: + YYDEBUG(433, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy706; if (yych <= '/') goto yy60; if (yych <= '9') goto yy705; goto yy60; yy434: + YYDEBUG(434, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'c') { if (yych == 'O') goto yy494; @@ -8575,10 +9025,12 @@ yy434: goto yy56; } yy435: + YYDEBUG(435, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy693; goto yy56; yy436: + YYDEBUG(436, *YYCURSOR); yych = *++YYCURSOR; switch (yych) { case '0': @@ -8610,6 +9062,7 @@ yy436: default: goto yy56; } yy437: + YYDEBUG(437, *YYCURSOR); yych = *++YYCURSOR; switch (yych) { case '0': goto yy580; @@ -8641,6 +9094,7 @@ yy437: default: goto yy542; } yy438: + YYDEBUG(438, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy542; @@ -8652,6 +9106,7 @@ yy438: goto yy542; } yy439: + YYDEBUG(439, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -8672,7 +9127,8 @@ yy439: } } yy440: -#line 1423 "ext/date/lib/parse_date.re" + YYDEBUG(440, *YYCURSOR); +#line 1439 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; @@ -8683,8 +9139,9 @@ yy440: TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 8687 "ext/date/lib/parse_date.c" +#line 9143 "<stdout>" yy441: + YYDEBUG(441, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -8706,6 +9163,7 @@ yy441: } } yy442: + YYDEBUG(442, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -8727,6 +9185,7 @@ yy442: } } yy443: + YYDEBUG(443, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy521; @@ -8742,6 +9201,7 @@ yy443: } } yy444: + YYDEBUG(444, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'L') { @@ -8764,22 +9224,26 @@ yy444: } } yy445: + YYDEBUG(445, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy508; if (yych == 'c') goto yy508; goto yy56; yy446: + YYDEBUG(446, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy494; if (yych == 'o') goto yy494; goto yy56; yy447: + YYDEBUG(447, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy454; if (yych <= '9') goto yy456; goto yy56; yy448: + YYDEBUG(448, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy56; @@ -8789,10 +9253,12 @@ yy448: goto yy56; } yy449: + YYDEBUG(449, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy450; if (yych != 'm') goto yy56; yy450: + YYDEBUG(450, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy452; @@ -8802,6 +9268,7 @@ yy450: if (yych <= ' ') goto yy452; if (yych != '.') goto yy56; } + YYDEBUG(451, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy452; @@ -8810,8 +9277,10 @@ yy450: if (yych != ' ') goto yy56; } yy452: + YYDEBUG(452, *YYCURSOR); ++YYCURSOR; -#line 1141 "ext/date/lib/parse_date.re" + YYDEBUG(453, *YYCURSOR); +#line 1157 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; @@ -8827,8 +9296,9 @@ yy452: TIMELIB_DEINIT; return TIMELIB_TIME12; } -#line 8831 "ext/date/lib/parse_date.c" +#line 9300 "<stdout>" yy454: + YYDEBUG(454, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -8838,7 +9308,8 @@ yy454: if (yych <= ':') goto yy457; } yy455: -#line 1178 "ext/date/lib/parse_date.re" + YYDEBUG(455, *YYCURSOR); +#line 1194 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); @@ -8850,26 +9321,28 @@ yy455: s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + s->time->us = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_parse_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"); + add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 8867 "ext/date/lib/parse_date.c" +#line 9338 "<stdout>" yy456: + YYDEBUG(456, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy457; if (yych != ':') goto yy455; yy457: + YYDEBUG(457, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy458; @@ -8877,6 +9350,7 @@ yy457: if (yych <= '9') goto yy460; goto yy56; yy458: + YYDEBUG(458, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy461; @@ -8884,27 +9358,33 @@ yy458: if (yych <= '9') goto yy464; goto yy455; yy459: + YYDEBUG(459, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy461; if (yych == '0') goto yy464; goto yy455; yy460: + YYDEBUG(460, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych != '.') goto yy455; yy461: + YYDEBUG(461, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; yy462: + YYDEBUG(462, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; + YYDEBUG(463, *YYCURSOR); if (yych <= '/') goto yy455; if (yych <= '9') goto yy462; goto yy455; yy464: + YYDEBUG(464, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -8927,9 +9407,11 @@ yy464: } } yy465: + YYDEBUG(465, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; + YYDEBUG(466, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { if (yych == '\t') goto yy465; @@ -8947,6 +9429,7 @@ yy465: } } yy467: + YYDEBUG(467, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy56; @@ -8955,10 +9438,12 @@ yy467: if (yych == 'm') goto yy469; goto yy56; } + YYDEBUG(468, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy469; if (yych != 'm') goto yy56; yy469: + YYDEBUG(469, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy452; @@ -8968,6 +9453,7 @@ yy469: if (yych <= ' ') goto yy452; if (yych != '.') goto yy56; } + YYDEBUG(470, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy452; @@ -8978,6 +9464,7 @@ yy469: goto yy56; } yy471: + YYDEBUG(471, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { @@ -9005,9 +9492,11 @@ yy471: } } yy472: + YYDEBUG(472, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; + YYDEBUG(473, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { if (yych == '\t') goto yy472; @@ -9025,6 +9514,7 @@ yy472: } } yy474: + YYDEBUG(474, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych == '.') goto yy491; @@ -9035,6 +9525,7 @@ yy474: goto yy56; } yy475: + YYDEBUG(475, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy476; @@ -9042,6 +9533,7 @@ yy475: if (yych <= '9') goto yy460; goto yy56; yy476: + YYDEBUG(476, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy461; @@ -9049,11 +9541,13 @@ yy476: if (yych <= '9') goto yy478; goto yy455; yy477: + YYDEBUG(477, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy461; if (yych != '0') goto yy455; yy478: + YYDEBUG(478, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { @@ -9082,18 +9576,22 @@ yy478: } } yy479: + YYDEBUG(479, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy489; goto yy56; yy480: + YYDEBUG(480, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; yy481: + YYDEBUG(481, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; + YYDEBUG(482, *YYCURSOR); if (yych <= 'O') { if (yych <= '9') { if (yych <= '/') goto yy56; @@ -9110,6 +9608,7 @@ yy481: } } yy483: + YYDEBUG(483, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy56; @@ -9118,10 +9617,12 @@ yy483: if (yych == 'm') goto yy485; goto yy56; } + YYDEBUG(484, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy485; if (yych != 'm') goto yy56; yy485: + YYDEBUG(485, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy487; @@ -9131,6 +9632,7 @@ yy485: if (yych <= ' ') goto yy487; if (yych != '.') goto yy56; } + YYDEBUG(486, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy487; @@ -9139,8 +9641,10 @@ yy485: if (yych != ' ') goto yy56; } yy487: + YYDEBUG(487, *YYCURSOR); ++YYCURSOR; -#line 1158 "ext/date/lib/parse_date.re" + YYDEBUG(488, *YYCURSOR); +#line 1174 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("mssqltime"); TIMELIB_INIT; @@ -9151,7 +9655,7 @@ yy487: s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + s->time->us = timelib_get_frac_nr((char **) &ptr, 8); } } timelib_eat_spaces((char **) &ptr); @@ -9159,12 +9663,14 @@ yy487: TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 9163 "ext/date/lib/parse_date.c" +#line 9667 "<stdout>" yy489: + YYDEBUG(489, *YYCURSOR); yyaccept = 10; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; + YYDEBUG(490, *YYCURSOR); if (yych <= 'O') { if (yych <= '9') { if (yych <= '/') goto yy455; @@ -9184,10 +9690,12 @@ yy489: } } yy491: + YYDEBUG(491, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy492; if (yych != 'm') goto yy56; yy492: + YYDEBUG(492, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy452; @@ -9197,6 +9705,7 @@ yy492: if (yych <= ' ') goto yy452; if (yych != '.') goto yy56; } + YYDEBUG(493, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy452; @@ -9207,10 +9716,12 @@ yy492: goto yy56; } yy494: + YYDEBUG(494, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy495; if (yych != 'v') goto yy56; yy495: + YYDEBUG(495, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9232,10 +9743,12 @@ yy495: } } yy496: + YYDEBUG(496, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy497: + YYDEBUG(497, *YYCURSOR); if (yych <= ' ') { if (yych == '\t') goto yy496; if (yych <= 0x1F) goto yy56; @@ -9250,11 +9763,13 @@ yy497: } } yy498: + YYDEBUG(498, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy499; if (yych <= '9') goto yy505; yy499: -#line 1340 "ext/date/lib/parse_date.re" + YYDEBUG(499, *YYCURSOR); +#line 1356 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("datefull"); @@ -9268,24 +9783,29 @@ yy499: TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } -#line 9272 "ext/date/lib/parse_date.c" +#line 9787 "<stdout>" yy500: + YYDEBUG(500, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy501; if (yych != 'm') goto yy56; yy501: + YYDEBUG(501, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy502; if (yych != 'b') goto yy56; yy502: + YYDEBUG(502, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy503; if (yych != 'e') goto yy56; yy503: + YYDEBUG(503, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy504; if (yych != 'r') goto yy56; yy504: + YYDEBUG(504, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { @@ -9303,20 +9823,25 @@ yy504: } } yy505: + YYDEBUG(505, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy499; if (yych >= ':') goto yy499; yy506: + YYDEBUG(506, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy499; if (yych >= ':') goto yy499; + YYDEBUG(507, *YYCURSOR); yych = *++YYCURSOR; goto yy499; yy508: + YYDEBUG(508, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy509; if (yych != 't') goto yy56; yy509: + YYDEBUG(509, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9339,28 +9864,34 @@ yy509: } } yy510: + YYDEBUG(510, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy511; if (yych != 'b') goto yy56; yy511: + YYDEBUG(511, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy512; if (yych != 'e') goto yy56; yy512: + YYDEBUG(512, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy504; if (yych == 'r') goto yy504; goto yy56; yy513: + YYDEBUG(513, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy517; if (yych == 'g') goto yy517; goto yy56; yy514: + YYDEBUG(514, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy515; if (yych != 'r') goto yy56; yy515: + YYDEBUG(515, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9383,11 +9914,13 @@ yy515: } } yy516: + YYDEBUG(516, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy504; if (yych == 'l') goto yy504; goto yy56; yy517: + YYDEBUG(517, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9410,15 +9943,18 @@ yy517: } } yy518: + YYDEBUG(518, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy519; if (yych != 's') goto yy56; yy519: + YYDEBUG(519, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy504; if (yych == 't') goto yy504; goto yy56; yy520: + YYDEBUG(520, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy527; @@ -9434,10 +9970,12 @@ yy520: } } yy521: + YYDEBUG(521, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy522; if (yych != 'n') goto yy56; yy522: + YYDEBUG(522, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9460,19 +9998,23 @@ yy522: } } yy523: + YYDEBUG(523, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy524; if (yych != 'a') goto yy56; yy524: + YYDEBUG(524, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy525; if (yych != 'r') goto yy56; yy525: + YYDEBUG(525, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy504; if (yych == 'y') goto yy504; goto yy56; yy526: + YYDEBUG(526, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9496,6 +10038,7 @@ yy526: } } yy527: + YYDEBUG(527, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9519,6 +10062,7 @@ yy527: } } yy528: + YYDEBUG(528, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -9540,6 +10084,7 @@ yy528: } } yy529: + YYDEBUG(529, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -9559,6 +10104,7 @@ yy529: if (yych != 'I') goto yy440; } } + YYDEBUG(530, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -9580,6 +10126,7 @@ yy529: } } yy531: + YYDEBUG(531, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -9601,6 +10148,7 @@ yy531: } } yy532: + YYDEBUG(532, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9614,6 +10162,7 @@ yy532: goto yy455; } yy533: + YYDEBUG(533, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -9628,6 +10177,7 @@ yy533: goto yy455; } yy534: + YYDEBUG(534, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9641,6 +10191,7 @@ yy534: goto yy455; } yy535: + YYDEBUG(535, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9652,16 +10203,19 @@ yy535: goto yy455; } yy536: + YYDEBUG(536, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy559; if (yych == 'e') goto yy559; goto yy56; yy537: + YYDEBUG(537, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy556; if (yych == 'a') goto yy556; goto yy56; yy538: + YYDEBUG(538, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy514; @@ -9677,20 +10231,24 @@ yy538: } } yy539: + YYDEBUG(539, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy549; if (yych == 'e') goto yy549; goto yy56; yy540: + YYDEBUG(540, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy543; if (yych == 'e') goto yy543; goto yy56; yy541: + YYDEBUG(541, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy542: + YYDEBUG(542, *YYCURSOR); switch (yych) { case '\t': case ' ': @@ -9718,10 +10276,12 @@ yy542: default: goto yy56; } yy543: + YYDEBUG(543, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy544; if (yych != 'c') goto yy56; yy544: + YYDEBUG(544, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9744,27 +10304,33 @@ yy544: } } yy545: + YYDEBUG(545, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy546; if (yych != 'm') goto yy56; yy546: + YYDEBUG(546, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy547; if (yych != 'b') goto yy56; yy547: + YYDEBUG(547, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy548; if (yych != 'e') goto yy56; yy548: + YYDEBUG(548, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy504; if (yych == 'r') goto yy504; goto yy56; yy549: + YYDEBUG(549, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy550; if (yych != 'p') goto yy56; yy550: + YYDEBUG(550, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9787,6 +10353,7 @@ yy550: } } yy551: + YYDEBUG(551, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9809,23 +10376,28 @@ yy551: } } yy552: + YYDEBUG(552, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy553; if (yych != 'm') goto yy56; yy553: + YYDEBUG(553, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy554; if (yych != 'b') goto yy56; yy554: + YYDEBUG(554, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy555; if (yych != 'e') goto yy56; yy555: + YYDEBUG(555, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy504; if (yych == 'r') goto yy504; goto yy56; yy556: + YYDEBUG(556, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy557; @@ -9840,6 +10412,7 @@ yy556: } } yy557: + YYDEBUG(557, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9862,15 +10435,18 @@ yy557: } } yy558: + YYDEBUG(558, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy504; if (yych == 'h') goto yy504; goto yy56; yy559: + YYDEBUG(559, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy560; if (yych != 'b') goto yy56; yy560: + YYDEBUG(560, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -9893,23 +10469,28 @@ yy560: } } yy561: + YYDEBUG(561, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy562; if (yych != 'u') goto yy56; yy562: + YYDEBUG(562, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy563; if (yych != 'a') goto yy56; yy563: + YYDEBUG(563, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy564; if (yych != 'r') goto yy56; yy564: + YYDEBUG(564, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy504; if (yych == 'y') goto yy504; goto yy56; yy565: + YYDEBUG(565, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy572; @@ -9917,22 +10498,28 @@ yy565: if (yych <= '9') goto yy574; goto yy56; yy566: + YYDEBUG(566, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(567, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; yy568: + YYDEBUG(568, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; yy569: + YYDEBUG(569, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(570, *YYCURSOR); ++YYCURSOR; -#line 1355 "ext/date/lib/parse_date.re" + YYDEBUG(571, *YYCURSOR); +#line 1371 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("pointed date YYYY"); TIMELIB_INIT; @@ -9943,8 +10530,9 @@ yy569: TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 9947 "ext/date/lib/parse_date.c" +#line 10534 "<stdout>" yy572: + YYDEBUG(572, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy461; @@ -9952,6 +10540,7 @@ yy572: if (yych <= '9') goto yy577; goto yy455; yy573: + YYDEBUG(573, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -9963,18 +10552,21 @@ yy573: goto yy455; } yy574: + YYDEBUG(574, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy461; if (yych <= '/') goto yy455; if (yych >= ':') goto yy455; yy575: + YYDEBUG(575, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy576; if (yych <= '9') goto yy569; yy576: -#line 1367 "ext/date/lib/parse_date.re" + YYDEBUG(576, *YYCURSOR); +#line 1383 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("pointed date YY"); @@ -9987,8 +10579,9 @@ yy576: TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 9991 "ext/date/lib/parse_date.c" +#line 10583 "<stdout>" yy577: + YYDEBUG(577, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -10017,6 +10610,7 @@ yy577: } } yy578: + YYDEBUG(578, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { @@ -10045,6 +10639,7 @@ yy578: } } yy579: + YYDEBUG(579, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { @@ -10078,6 +10673,7 @@ yy579: } } yy580: + YYDEBUG(580, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; @@ -10089,6 +10685,7 @@ yy580: goto yy56; } yy581: + YYDEBUG(581, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; @@ -10099,12 +10696,14 @@ yy581: if (yych >= '3') goto yy56; } yy582: + YYDEBUG(582, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy56; if (yych <= '-') goto yy619; if (yych <= '.') goto yy566; goto yy56; yy583: + YYDEBUG(583, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy615; @@ -10120,16 +10719,19 @@ yy583: } } yy584: + YYDEBUG(584, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy612; if (yych == 'e') goto yy612; goto yy56; yy585: + YYDEBUG(585, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy609; if (yych == 'a') goto yy609; goto yy56; yy586: + YYDEBUG(586, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy606; @@ -10145,29 +10747,35 @@ yy586: } } yy587: + YYDEBUG(587, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy602; if (yych == 'e') goto yy602; goto yy56; yy588: + YYDEBUG(588, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy600; if (yych == 'c') goto yy600; goto yy56; yy589: + YYDEBUG(589, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy598; if (yych == 'o') goto yy598; goto yy56; yy590: + YYDEBUG(590, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy591; if (yych != 'e') goto yy56; yy591: + YYDEBUG(591, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy592; if (yych != 'c') goto yy56; yy592: + YYDEBUG(592, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -10191,6 +10799,7 @@ yy592: } } yy593: + YYDEBUG(593, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy497; if (yych <= '0') goto yy594; @@ -10198,31 +10807,37 @@ yy593: if (yych <= '3') goto yy596; goto yy497; yy594: + YYDEBUG(594, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy499; if (yych <= '9') goto yy597; goto yy499; yy595: + YYDEBUG(595, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy499; if (yych <= '9') goto yy597; goto yy499; yy596: + YYDEBUG(596, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy499; if (yych <= '1') goto yy597; if (yych <= '9') goto yy505; goto yy499; yy597: + YYDEBUG(597, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy499; if (yych <= '9') goto yy506; goto yy499; yy598: + YYDEBUG(598, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy599; if (yych != 'v') goto yy56; yy599: + YYDEBUG(599, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -10247,10 +10862,12 @@ yy599: } } yy600: + YYDEBUG(600, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy601; if (yych != 't') goto yy56; yy601: + YYDEBUG(601, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -10275,10 +10892,12 @@ yy601: } } yy602: + YYDEBUG(602, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy603; if (yych != 'p') goto yy56; yy603: + YYDEBUG(603, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -10302,6 +10921,7 @@ yy603: } } yy604: + YYDEBUG(604, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -10326,15 +10946,18 @@ yy604: } } yy605: + YYDEBUG(605, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy608; if (yych == 'g') goto yy608; goto yy56; yy606: + YYDEBUG(606, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy607; if (yych != 'r') goto yy56; yy607: + YYDEBUG(607, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -10359,6 +10982,7 @@ yy607: } } yy608: + YYDEBUG(608, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -10383,6 +11007,7 @@ yy608: } } yy609: + YYDEBUG(609, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy610; @@ -10397,6 +11022,7 @@ yy609: } } yy610: + YYDEBUG(610, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -10421,6 +11047,7 @@ yy610: } } yy611: + YYDEBUG(611, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -10442,10 +11069,12 @@ yy611: } } yy612: + YYDEBUG(612, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy613; if (yych != 'b') goto yy56; yy613: + YYDEBUG(613, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -10470,6 +11099,7 @@ yy613: } } yy614: + YYDEBUG(614, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy618; @@ -10485,10 +11115,12 @@ yy614: } } yy615: + YYDEBUG(615, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy616; if (yych != 'n') goto yy56; yy616: + YYDEBUG(616, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -10513,6 +11145,7 @@ yy616: } } yy617: + YYDEBUG(617, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -10537,6 +11170,7 @@ yy617: } } yy618: + YYDEBUG(618, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -10561,6 +11195,7 @@ yy618: } } yy619: + YYDEBUG(619, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy620; @@ -10568,6 +11203,7 @@ yy619: if (yych <= '9') goto yy623; goto yy56; yy620: + YYDEBUG(620, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -10583,7 +11219,8 @@ yy620: } } yy621: -#line 1326 "ext/date/lib/parse_date.re" + YYDEBUG(621, *YYCURSOR); +#line 1342 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("gnudateshort"); @@ -10596,8 +11233,9 @@ yy621: TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 10600 "ext/date/lib/parse_date.c" +#line 11237 "<stdout>" yy622: + YYDEBUG(622, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -10620,6 +11258,7 @@ yy622: } } yy623: + YYDEBUG(623, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -10638,24 +11277,30 @@ yy623: } } yy624: + YYDEBUG(624, *YYCURSOR); yych = *++YYCURSOR; if (yych == 't') goto yy628; goto yy56; yy625: + YYDEBUG(625, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy628; goto yy56; yy626: + YYDEBUG(626, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy628; goto yy56; yy627: + YYDEBUG(627, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'h') goto yy56; yy628: + YYDEBUG(628, *YYCURSOR); yych = *++YYCURSOR; goto yy621; yy629: + YYDEBUG(629, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -10674,6 +11319,7 @@ yy629: } } yy630: + YYDEBUG(630, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -10692,7 +11338,8 @@ yy630: } } yy631: -#line 1270 "ext/date/lib/parse_date.re" + YYDEBUG(631, *YYCURSOR); +#line 1286 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("americanshort | american"); @@ -10707,8 +11354,9 @@ yy631: TIMELIB_DEINIT; return TIMELIB_AMERICAN; } -#line 10711 "ext/date/lib/parse_date.c" +#line 11358 "<stdout>" yy632: + YYDEBUG(632, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -10731,6 +11379,7 @@ yy632: } } yy633: + YYDEBUG(633, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -10748,6 +11397,7 @@ yy633: } } yy634: + YYDEBUG(634, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy682; @@ -10763,16 +11413,19 @@ yy634: } } yy635: + YYDEBUG(635, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy680; if (yych == 'e') goto yy680; goto yy56; yy636: + YYDEBUG(636, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy679; if (yych == 'a') goto yy679; goto yy56; yy637: + YYDEBUG(637, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy678; @@ -10788,92 +11441,116 @@ yy637: } } yy638: + YYDEBUG(638, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy675; if (yych == 'e') goto yy675; goto yy56; yy639: + YYDEBUG(639, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy674; if (yych == 'c') goto yy674; goto yy56; yy640: + YYDEBUG(640, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy673; if (yych == 'o') goto yy673; goto yy56; yy641: + YYDEBUG(641, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy642; if (yych != 'e') goto yy56; yy642: + YYDEBUG(642, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy643; if (yych != 'c') goto yy56; yy643: + YYDEBUG(643, *YYCURSOR); yych = *++YYCURSOR; if (yych != '/') goto yy56; yy644: + YYDEBUG(644, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(645, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(646, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(647, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(648, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy56; + YYDEBUG(649, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy650; if (yych <= '2') goto yy651; goto yy56; yy650: + YYDEBUG(650, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy652; goto yy56; yy651: + YYDEBUG(651, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '5') goto yy56; yy652: + YYDEBUG(652, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy56; + YYDEBUG(653, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '6') goto yy56; + YYDEBUG(654, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(655, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy56; + YYDEBUG(656, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy657; if (yych <= '6') goto yy658; goto yy56; yy657: + YYDEBUG(657, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy659; goto yy56; yy658: + YYDEBUG(658, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy56; yy659: + YYDEBUG(659, *YYCURSOR); yych = *++YYCURSOR; if (yych == '\t') goto yy660; if (yych != ' ') goto yy56; yy660: + YYDEBUG(660, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; + YYDEBUG(661, *YYCURSOR); if (yych <= '*') { if (yych <= '\t') { if (yych <= 0x08) goto yy56; @@ -10890,10 +11567,12 @@ yy660: if (yych != 'G') goto yy56; } } + YYDEBUG(662, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy671; goto yy56; yy663: + YYDEBUG(663, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy664; @@ -10901,12 +11580,14 @@ yy663: if (yych <= '9') goto yy667; goto yy56; yy664: + YYDEBUG(664, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy665; if (yych <= '9') goto yy667; if (yych <= ':') goto yy668; yy665: -#line 1553 "ext/date/lib/parse_date.re" + YYDEBUG(665, *YYCURSOR); +#line 1569 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("clf"); @@ -10921,13 +11602,14 @@ yy665: s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_parse_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"); + add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 10930 "ext/date/lib/parse_date.c" +#line 11611 "<stdout>" yy666: + YYDEBUG(666, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy665; @@ -10938,46 +11620,56 @@ yy666: goto yy665; } yy667: + YYDEBUG(667, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy665; if (yych <= '5') goto yy669; if (yych <= '9') goto yy670; if (yych >= ';') goto yy665; yy668: + YYDEBUG(668, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy665; if (yych <= '5') goto yy669; if (yych <= '9') goto yy670; goto yy665; yy669: + YYDEBUG(669, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy665; if (yych >= ':') goto yy665; yy670: + YYDEBUG(670, *YYCURSOR); yych = *++YYCURSOR; goto yy665; yy671: + YYDEBUG(671, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'T') goto yy56; + YYDEBUG(672, *YYCURSOR); yych = *++YYCURSOR; if (yych == '+') goto yy663; if (yych == '-') goto yy663; goto yy56; yy673: + YYDEBUG(673, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy643; if (yych == 'v') goto yy643; goto yy56; yy674: + YYDEBUG(674, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy643; if (yych == 't') goto yy643; goto yy56; yy675: + YYDEBUG(675, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy676; if (yych != 'p') goto yy56; yy676: + YYDEBUG(676, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '/') goto yy644; @@ -10988,16 +11680,19 @@ yy676: goto yy56; } yy677: + YYDEBUG(677, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy643; if (yych == 'g') goto yy643; goto yy56; yy678: + YYDEBUG(678, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy643; if (yych == 'r') goto yy643; goto yy56; yy679: + YYDEBUG(679, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy643; @@ -11013,11 +11708,13 @@ yy679: } } yy680: + YYDEBUG(680, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy643; if (yych == 'b') goto yy643; goto yy56; yy681: + YYDEBUG(681, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy643; @@ -11033,47 +11730,59 @@ yy681: } } yy682: + YYDEBUG(682, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy643; if (yych == 'n') goto yy643; goto yy56; yy683: + YYDEBUG(683, *YYCURSOR); yych = *++YYCURSOR; if (yych == 't') goto yy692; goto yy56; yy684: + YYDEBUG(684, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy692; goto yy56; yy685: + YYDEBUG(685, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy692; goto yy56; yy686: + YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'h') goto yy692; goto yy56; yy687: + YYDEBUG(687, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(688, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy631; if (yych >= ':') goto yy631; + YYDEBUG(689, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy631; if (yych >= ':') goto yy631; + YYDEBUG(690, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy631; if (yych >= ':') goto yy631; + YYDEBUG(691, *YYCURSOR); yych = *++YYCURSOR; goto yy631; yy692: + YYDEBUG(692, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '/') goto yy687; goto yy631; yy693: + YYDEBUG(693, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') { if (yych == '\t') goto yy695; @@ -11084,6 +11793,7 @@ yy693: if (yych >= '0') goto yy542; } yy694: + YYDEBUG(694, *YYCURSOR); yych = *++YYCURSOR; switch (yych) { case 'A': @@ -11105,6 +11815,7 @@ yy694: default: goto yy56; } yy695: + YYDEBUG(695, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy542; if (yych <= '0') goto yy700; @@ -11112,6 +11823,7 @@ yy695: if (yych <= '9') goto yy702; goto yy542; yy696: + YYDEBUG(696, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy542; if (yych <= '0') goto yy697; @@ -11119,6 +11831,7 @@ yy696: if (yych <= '9') goto yy699; goto yy542; yy697: + YYDEBUG(697, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy56; if (yych <= '.') goto yy566; @@ -11126,17 +11839,20 @@ yy697: if (yych <= '9') goto yy699; goto yy56; yy698: + YYDEBUG(698, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy56; if (yych <= '.') goto yy566; if (yych <= '/') goto yy56; if (yych >= '3') goto yy56; yy699: + YYDEBUG(699, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy56; if (yych <= '.') goto yy566; goto yy56; yy700: + YYDEBUG(700, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; @@ -11148,6 +11864,7 @@ yy700: goto yy56; } yy701: + YYDEBUG(701, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; @@ -11158,25 +11875,30 @@ yy701: if (yych >= '3') goto yy56; } yy702: + YYDEBUG(702, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy56; if (yych <= '-') goto yy566; if (yych >= '/') goto yy56; yy703: + YYDEBUG(703, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(704, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy575; goto yy56; yy705: + YYDEBUG(705, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy749; if (yych <= '/') goto yy60; if (yych <= '9') goto yy747; goto yy60; yy706: + YYDEBUG(706, *YYCURSOR); yych = *++YYCURSOR; switch (yych) { case '0': goto yy715; @@ -11208,6 +11930,7 @@ yy706: default: goto yy56; } yy707: + YYDEBUG(707, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy746; @@ -11223,16 +11946,19 @@ yy707: } } yy708: + YYDEBUG(708, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy744; if (yych == 'e') goto yy744; goto yy56; yy709: + YYDEBUG(709, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy743; if (yych == 'a') goto yy743; goto yy56; yy710: + YYDEBUG(710, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy742; @@ -11248,41 +11974,49 @@ yy710: } } yy711: + YYDEBUG(711, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy739; if (yych == 'e') goto yy739; goto yy56; yy712: + YYDEBUG(712, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy738; if (yych == 'c') goto yy738; goto yy56; yy713: + YYDEBUG(713, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy737; if (yych == 'o') goto yy737; goto yy56; yy714: + YYDEBUG(714, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy729; if (yych == 'e') goto yy729; goto yy56; yy715: + YYDEBUG(715, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy718; if (yych <= '/') goto yy56; if (yych <= '9') goto yy722; goto yy56; yy716: + YYDEBUG(716, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy718; if (yych <= '/') goto yy56; if (yych <= '2') goto yy722; goto yy56; yy717: + YYDEBUG(717, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy56; yy718: + YYDEBUG(718, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy719; @@ -11290,6 +12024,7 @@ yy718: if (yych <= '9') goto yy721; goto yy56; yy719: + YYDEBUG(719, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -11308,6 +12043,7 @@ yy719: } } yy720: + YYDEBUG(720, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -11326,6 +12062,7 @@ yy720: } } yy721: + YYDEBUG(721, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { @@ -11338,8 +12075,10 @@ yy721: goto yy621; } yy722: + YYDEBUG(722, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy56; + YYDEBUG(723, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy56; @@ -11349,6 +12088,7 @@ yy722: if (yych <= '9') goto yy721; goto yy56; } + YYDEBUG(724, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -11367,6 +12107,7 @@ yy722: } } yy725: + YYDEBUG(725, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -11385,6 +12126,7 @@ yy725: } } yy726: + YYDEBUG(726, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -11403,6 +12145,7 @@ yy726: } } yy727: + YYDEBUG(727, *YYCURSOR); yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { @@ -11413,7 +12156,8 @@ yy727: if (yych <= 't') goto yy627; } yy728: -#line 1298 "ext/date/lib/parse_date.re" + YYDEBUG(728, *YYCURSOR); +#line 1314 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("iso8601date2"); @@ -11426,15 +12170,18 @@ yy728: TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 11430 "ext/date/lib/parse_date.c" +#line 12174 "<stdout>" yy729: + YYDEBUG(729, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy730; if (yych != 'c') goto yy56; yy730: + YYDEBUG(730, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy56; yy731: + YYDEBUG(731, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy732; @@ -11442,22 +12189,27 @@ yy731: if (yych <= '3') goto yy734; goto yy56; yy732: + YYDEBUG(732, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy735; goto yy56; yy733: + YYDEBUG(733, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy735; goto yy56; yy734: + YYDEBUG(734, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '2') goto yy56; yy735: + YYDEBUG(735, *YYCURSOR); ++YYCURSOR; -#line 1539 "ext/date/lib/parse_date.re" + YYDEBUG(736, *YYCURSOR); +#line 1555 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("pgtextreverse"); @@ -11470,22 +12222,26 @@ yy735: TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 11474 "ext/date/lib/parse_date.c" +#line 12226 "<stdout>" yy737: + YYDEBUG(737, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy730; if (yych == 'v') goto yy730; goto yy56; yy738: + YYDEBUG(738, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy730; if (yych == 't') goto yy730; goto yy56; yy739: + YYDEBUG(739, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy740; if (yych != 'p') goto yy56; yy740: + YYDEBUG(740, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '-') goto yy731; @@ -11496,16 +12252,19 @@ yy740: goto yy56; } yy741: + YYDEBUG(741, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy730; if (yych == 'g') goto yy730; goto yy56; yy742: + YYDEBUG(742, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy730; if (yych == 'r') goto yy730; goto yy56; yy743: + YYDEBUG(743, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy730; @@ -11521,11 +12280,13 @@ yy743: } } yy744: + YYDEBUG(744, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy730; if (yych == 'b') goto yy730; goto yy56; yy745: + YYDEBUG(745, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy730; @@ -11541,11 +12302,13 @@ yy745: } } yy746: + YYDEBUG(746, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy730; if (yych == 'n') goto yy730; goto yy56; yy747: + YYDEBUG(747, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { @@ -11623,7 +12386,8 @@ yy747: } } yy748: -#line 1574 "ext/date/lib/parse_date.re" + YYDEBUG(748, *YYCURSOR); +#line 1590 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("year4"); TIMELIB_INIT; @@ -11631,8 +12395,9 @@ yy748: TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 11635 "ext/date/lib/parse_date.c" +#line 12399 "<stdout>" yy749: + YYDEBUG(749, *YYCURSOR); yych = *++YYCURSOR; switch (yych) { case '0': goto yy750; @@ -11664,18 +12429,21 @@ yy749: default: goto yy56; } yy750: + YYDEBUG(750, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy718; if (yych <= '/') goto yy56; if (yych <= '9') goto yy717; goto yy56; yy751: + YYDEBUG(751, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy718; if (yych <= '/') goto yy56; if (yych <= '2') goto yy717; goto yy56; yy752: + YYDEBUG(752, *YYCURSOR); yych = *++YYCURSOR; switch (yych) { case '0': goto yy937; @@ -11708,6 +12476,7 @@ yy752: default: goto yy903; } yy753: + YYDEBUG(753, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy911; @@ -11715,10 +12484,12 @@ yy753: if (yych <= '9') goto yy913; goto yy56; yy754: + YYDEBUG(754, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); yych = *YYCURSOR; yy755: + YYDEBUG(755, *YYCURSOR); if (yych <= 'W') { if (yych <= 'G') { if (yych <= '.') { @@ -11811,6 +12582,7 @@ yy755: } } yy756: + YYDEBUG(756, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy903; if (yych <= '0') goto yy895; @@ -11818,6 +12590,7 @@ yy756: if (yych <= '3') goto yy897; goto yy903; yy757: + YYDEBUG(757, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= 'U') { if (yych == 'I') goto yy894; @@ -11826,7 +12599,8 @@ yy757: if (yych <= 'X') goto yy848; } yy758: -#line 1395 "ext/date/lib/parse_date.re" + YYDEBUG(758, *YYCURSOR); +#line 1411 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("datenodayrev"); @@ -11839,16 +12613,19 @@ yy758: TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 11843 "ext/date/lib/parse_date.c" +#line 12617 "<stdout>" yy759: + YYDEBUG(759, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy892; goto yy758; yy760: + YYDEBUG(760, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy891; goto yy758; yy761: + YYDEBUG(761, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy884; @@ -11864,6 +12641,7 @@ yy761: } } yy762: + YYDEBUG(762, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { @@ -11885,6 +12663,7 @@ yy762: } } yy763: + YYDEBUG(763, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'I') { @@ -11912,6 +12691,7 @@ yy763: } } yy764: + YYDEBUG(764, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy868; @@ -11927,6 +12707,7 @@ yy764: } } yy765: + YYDEBUG(765, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { @@ -11948,16 +12729,19 @@ yy765: } } yy766: + YYDEBUG(766, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy855; if (yych == 'c') goto yy855; goto yy56; yy767: + YYDEBUG(767, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy849; if (yych == 'o') goto yy849; goto yy56; yy768: + YYDEBUG(768, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy115; @@ -11973,29 +12757,34 @@ yy768: } } yy769: + YYDEBUG(769, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '0') goto yy839; if (yych <= '9') goto yy840; goto yy60; yy770: + YYDEBUG(770, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '2') goto yy808; if (yych <= '9') goto yy787; goto yy60; yy771: + YYDEBUG(771, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy788; if (yych <= '1') goto yy789; goto yy56; yy772: + YYDEBUG(772, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '9') goto yy787; goto yy60; yy773: + YYDEBUG(773, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '5') goto yy783; @@ -12003,6 +12792,7 @@ yy773: if (yych <= '9') goto yy54; goto yy60; yy774: + YYDEBUG(774, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy56; @@ -12019,27 +12809,32 @@ yy774: } } yy775: + YYDEBUG(775, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy56; if (yych <= '9') goto yy778; goto yy56; yy776: + YYDEBUG(776, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy778; goto yy56; yy777: + YYDEBUG(777, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '4') goto yy56; yy778: + YYDEBUG(778, *YYCURSOR); yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy780; if (yych <= '/') goto yy779; if (yych <= '7') goto yy781; yy779: -#line 1506 "ext/date/lib/parse_date.re" + YYDEBUG(779, *YYCURSOR); +#line 1522 "ext/date/lib/parse_date.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); @@ -12057,14 +12852,17 @@ yy779: TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 12061 "ext/date/lib/parse_date.c" +#line 12856 "<stdout>" yy780: + YYDEBUG(780, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '8') goto yy56; yy781: + YYDEBUG(781, *YYCURSOR); ++YYCURSOR; -#line 1487 "ext/date/lib/parse_date.re" + YYDEBUG(782, *YYCURSOR); +#line 1503 "ext/date/lib/parse_date.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); @@ -12082,19 +12880,22 @@ yy781: TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 12086 "ext/date/lib/parse_date.c" +#line 12884 "<stdout>" yy783: + YYDEBUG(783, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '9') goto yy785; goto yy60; yy784: + YYDEBUG(784, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '6') goto yy785; if (yych <= '9') goto yy54; goto yy60; yy785: + YYDEBUG(785, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { @@ -12148,7 +12949,8 @@ yy785: } } yy786: -#line 1473 "ext/date/lib/parse_date.re" + YYDEBUG(786, *YYCURSOR); +#line 1489 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("pgydotd"); @@ -12161,24 +12963,29 @@ yy786: TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } -#line 12165 "ext/date/lib/parse_date.c" +#line 12967 "<stdout>" yy787: + YYDEBUG(787, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '9') goto yy785; goto yy60; yy788: + YYDEBUG(788, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy790; goto yy56; yy789: + YYDEBUG(789, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '3') goto yy56; yy790: + YYDEBUG(790, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy56; + YYDEBUG(791, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy792; @@ -12186,64 +12993,80 @@ yy790: if (yych <= '3') goto yy794; goto yy56; yy792: + YYDEBUG(792, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy795; goto yy56; yy793: + YYDEBUG(793, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy795; goto yy56; yy794: + YYDEBUG(794, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '2') goto yy56; yy795: + YYDEBUG(795, *YYCURSOR); yych = *++YYCURSOR; if (yych != ' ') goto yy56; + YYDEBUG(796, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy797; if (yych <= '2') goto yy798; goto yy56; yy797: + YYDEBUG(797, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy799; goto yy56; yy798: + YYDEBUG(798, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '5') goto yy56; yy799: + YYDEBUG(799, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy56; + YYDEBUG(800, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '6') goto yy56; + YYDEBUG(801, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(802, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy56; + YYDEBUG(803, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy804; if (yych <= '6') goto yy805; goto yy56; yy804: + YYDEBUG(804, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy806; goto yy56; yy805: + YYDEBUG(805, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy56; yy806: + YYDEBUG(806, *YYCURSOR); ++YYCURSOR; yy807: -#line 1447 "ext/date/lib/parse_date.re" + YYDEBUG(807, *YYCURSOR); +#line 1463 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); @@ -12257,19 +13080,20 @@ yy807: 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); + s->time->us = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_parse_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"); + add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database"); } } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } -#line 12272 "ext/date/lib/parse_date.c" +#line 13095 "<stdout>" yy808: + YYDEBUG(808, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy60; @@ -12280,6 +13104,7 @@ yy808: goto yy60; } yy809: + YYDEBUG(809, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -12348,6 +13173,7 @@ yy809: } } yy810: + YYDEBUG(810, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -12416,6 +13242,7 @@ yy810: } } yy811: + YYDEBUG(811, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -12488,6 +13315,7 @@ yy811: } } yy812: + YYDEBUG(812, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { @@ -12557,7 +13385,8 @@ yy812: } } yy813: -#line 1435 "ext/date/lib/parse_date.re" + YYDEBUG(813, *YYCURSOR); +#line 1451 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; @@ -12568,8 +13397,9 @@ yy813: TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } -#line 12572 "ext/date/lib/parse_date.c" +#line 13401 "<stdout>" yy814: + YYDEBUG(814, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { @@ -12592,6 +13422,7 @@ yy814: } } yy815: + YYDEBUG(815, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { @@ -12612,47 +13443,56 @@ yy815: goto yy56; } } + YYDEBUG(816, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy823; if (yych <= '9') goto yy818; goto yy56; yy817: + YYDEBUG(817, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '4') goto yy823; if (yych <= '5') goto yy819; goto yy56; yy818: + YYDEBUG(818, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '6') goto yy56; yy819: + YYDEBUG(819, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; yy820: + YYDEBUG(820, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy821; if (yych <= '6') goto yy822; goto yy56; yy821: + YYDEBUG(821, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy806; goto yy56; yy822: + YYDEBUG(822, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy806; goto yy56; yy823: + YYDEBUG(823, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy824; if (yych <= '9') goto yy820; goto yy56; yy824: + YYDEBUG(824, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy825; @@ -12660,6 +13500,7 @@ yy824: if (yych <= '9') goto yy820; goto yy56; yy825: + YYDEBUG(825, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy827; @@ -12667,6 +13508,7 @@ yy825: if (yych <= '9') goto yy806; goto yy56; yy826: + YYDEBUG(826, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy827; @@ -12674,15 +13516,18 @@ yy826: if (yych <= '6') goto yy822; goto yy56; yy827: + YYDEBUG(827, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy807; if (yych <= '9') goto yy806; goto yy807; yy828: + YYDEBUG(828, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy806; goto yy807; yy829: + YYDEBUG(829, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy838; @@ -12690,6 +13535,7 @@ yy829: if (yych <= ':') goto yy832; goto yy56; yy830: + YYDEBUG(830, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy56; @@ -12700,34 +13546,42 @@ yy830: goto yy56; } yy831: + YYDEBUG(831, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy819; if (yych != ':') goto yy56; yy832: + YYDEBUG(832, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '6') goto yy56; + YYDEBUG(833, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(834, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy56; + YYDEBUG(835, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy836; if (yych <= '6') goto yy837; goto yy56; yy836: + YYDEBUG(836, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy806; goto yy56; yy837: + YYDEBUG(837, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy806; goto yy56; yy838: + YYDEBUG(838, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy824; @@ -12735,6 +13589,7 @@ yy838: if (yych <= ':') goto yy832; goto yy56; yy839: + YYDEBUG(839, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy60; @@ -12746,6 +13601,7 @@ yy839: goto yy60; } yy840: + YYDEBUG(840, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy60; @@ -12757,87 +13613,107 @@ yy840: goto yy60; } yy841: + YYDEBUG(841, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '9') goto yy812; goto yy60; yy842: + YYDEBUG(842, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy843; if (yych != 'c') goto yy56; yy843: + YYDEBUG(843, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy844; if (yych != 'e') goto yy758; yy844: + YYDEBUG(844, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy845; if (yych != 'm') goto yy56; yy845: + YYDEBUG(845, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy846; if (yych != 'b') goto yy56; yy846: + YYDEBUG(846, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy847; if (yych != 'e') goto yy56; yy847: + YYDEBUG(847, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy848; if (yych != 'r') goto yy56; yy848: + YYDEBUG(848, *YYCURSOR); yych = *++YYCURSOR; goto yy758; yy849: + YYDEBUG(849, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy850; if (yych != 'v') goto yy56; yy850: + YYDEBUG(850, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy851; if (yych != 'e') goto yy758; yy851: + YYDEBUG(851, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy852; if (yych != 'm') goto yy56; yy852: + YYDEBUG(852, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy853; if (yych != 'b') goto yy56; yy853: + YYDEBUG(853, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy854; if (yych != 'e') goto yy56; yy854: + YYDEBUG(854, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy848; if (yych == 'r') goto yy848; goto yy56; yy855: + YYDEBUG(855, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy856; if (yych != 't') goto yy56; yy856: + YYDEBUG(856, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'O') goto yy857; if (yych != 'o') goto yy758; yy857: + YYDEBUG(857, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy858; if (yych != 'b') goto yy56; yy858: + YYDEBUG(858, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy859; if (yych != 'e') goto yy56; yy859: + YYDEBUG(859, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy848; if (yych == 'r') goto yy848; goto yy56; yy860: + YYDEBUG(860, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy121; @@ -12851,65 +13727,79 @@ yy860: } } yy861: + YYDEBUG(861, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy862; if (yych != 't') goto yy758; yy862: + YYDEBUG(862, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy863; if (yych != 'e') goto yy758; yy863: + YYDEBUG(863, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy864; if (yych != 'm') goto yy56; yy864: + YYDEBUG(864, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy865; if (yych != 'b') goto yy56; yy865: + YYDEBUG(865, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy866; if (yych != 'e') goto yy56; yy866: + YYDEBUG(866, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy848; if (yych == 'r') goto yy848; goto yy56; yy867: + YYDEBUG(867, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy871; if (yych == 'g') goto yy871; goto yy56; yy868: + YYDEBUG(868, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy869; if (yych != 'r') goto yy56; yy869: + YYDEBUG(869, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'I') goto yy870; if (yych != 'i') goto yy758; yy870: + YYDEBUG(870, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy848; if (yych == 'l') goto yy848; goto yy56; yy871: + YYDEBUG(871, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy872; if (yych != 'u') goto yy758; yy872: + YYDEBUG(872, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy873; if (yych != 's') goto yy56; yy873: + YYDEBUG(873, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy848; if (yych == 't') goto yy848; goto yy56; yy874: + YYDEBUG(874, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy875; @@ -12924,42 +13814,51 @@ yy874: } } yy875: + YYDEBUG(875, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'C') goto yy876; if (yych != 'c') goto yy758; yy876: + YYDEBUG(876, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy848; if (yych == 'h') goto yy848; goto yy56; yy877: + YYDEBUG(877, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy878; if (yych != 'b') goto yy56; yy878: + YYDEBUG(878, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy879; if (yych != 'r') goto yy758; yy879: + YYDEBUG(879, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy880; if (yych != 'u') goto yy56; yy880: + YYDEBUG(880, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy881; if (yych != 'a') goto yy56; yy881: + YYDEBUG(881, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy882; if (yych != 'r') goto yy56; yy882: + YYDEBUG(882, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy848; if (yych == 'y') goto yy848; goto yy56; yy883: + YYDEBUG(883, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy890; @@ -12975,93 +13874,113 @@ yy883: } } yy884: + YYDEBUG(884, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy885; if (yych != 'n') goto yy56; yy885: + YYDEBUG(885, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy886; if (yych != 'u') goto yy758; yy886: + YYDEBUG(886, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy887; if (yych != 'a') goto yy56; yy887: + YYDEBUG(887, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy888; if (yych != 'r') goto yy56; yy888: + YYDEBUG(888, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy848; if (yych == 'y') goto yy848; goto yy56; yy889: + YYDEBUG(889, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy848; if (yych == 'e') goto yy848; goto yy758; yy890: + YYDEBUG(890, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy848; if (yych == 'y') goto yy848; goto yy758; yy891: + YYDEBUG(891, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy848; goto yy758; yy892: + YYDEBUG(892, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'I') goto yy758; + YYDEBUG(893, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy848; goto yy758; yy894: + YYDEBUG(894, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy848; goto yy758; yy895: + YYDEBUG(895, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy910; if (yych <= '9') goto yy909; goto yy56; yy896: + YYDEBUG(896, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy908; goto yy56; yy897: + YYDEBUG(897, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy906; if (yych <= '6') goto yy905; goto yy56; yy898: + YYDEBUG(898, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy877; if (yych == 'e') goto yy877; goto yy56; yy899: + YYDEBUG(899, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy874; if (yych == 'a') goto yy874; goto yy56; yy900: + YYDEBUG(900, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy904; if (yych == 'e') goto yy904; goto yy56; yy901: + YYDEBUG(901, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy842; if (yych == 'e') goto yy842; goto yy56; yy902: + YYDEBUG(902, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy903: + YYDEBUG(903, *YYCURSOR); switch (yych) { case '\t': case ' ': @@ -13089,53 +14008,64 @@ yy903: default: goto yy56; } yy904: + YYDEBUG(904, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy861; if (yych == 'p') goto yy861; goto yy56; yy905: + YYDEBUG(905, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '6') goto yy907; goto yy56; yy906: + YYDEBUG(906, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; yy907: + YYDEBUG(907, *YYCURSOR); yych = *++YYCURSOR; goto yy786; yy908: + YYDEBUG(908, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy907; goto yy56; yy909: + YYDEBUG(909, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy907; goto yy56; yy910: + YYDEBUG(910, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy56; if (yych <= '9') goto yy907; goto yy56; yy911: + YYDEBUG(911, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') goto yy56; if (yych <= '/') goto yy914; if (yych <= '9') goto yy922; goto yy56; yy912: + YYDEBUG(912, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') goto yy56; if (yych <= '/') goto yy914; if (yych <= '2') goto yy922; goto yy56; yy913: + YYDEBUG(913, *YYCURSOR); yych = *++YYCURSOR; if (yych != '/') goto yy56; yy914: + YYDEBUG(914, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy915; @@ -13143,6 +14073,7 @@ yy914: if (yych <= '9') goto yy917; goto yy56; yy915: + YYDEBUG(915, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -13161,6 +14092,7 @@ yy915: } } yy916: + YYDEBUG(916, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -13179,6 +14111,7 @@ yy916: } } yy917: + YYDEBUG(917, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { @@ -13191,24 +14124,30 @@ yy917: goto yy419; } yy918: + YYDEBUG(918, *YYCURSOR); yych = *++YYCURSOR; if (yych == 't') goto yy418; goto yy56; yy919: + YYDEBUG(919, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy418; goto yy56; yy920: + YYDEBUG(920, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy418; goto yy56; yy921: + YYDEBUG(921, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'h') goto yy418; goto yy56; yy922: + YYDEBUG(922, *YYCURSOR); yych = *++YYCURSOR; if (yych != '/') goto yy56; + YYDEBUG(923, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy56; @@ -13218,6 +14157,7 @@ yy922: if (yych <= '9') goto yy917; goto yy56; } + YYDEBUG(924, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -13236,6 +14176,7 @@ yy922: } } yy925: + YYDEBUG(925, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -13254,6 +14195,7 @@ yy925: } } yy926: + YYDEBUG(926, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -13272,6 +14214,7 @@ yy926: } } yy927: + YYDEBUG(927, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -13289,6 +14232,7 @@ yy927: } } yy928: + YYDEBUG(928, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy1008; @@ -13304,16 +14248,19 @@ yy928: } } yy929: + YYDEBUG(929, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1005; if (yych == 'e') goto yy1005; goto yy56; yy930: + YYDEBUG(930, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1002; if (yych == 'a') goto yy1002; goto yy56; yy931: + YYDEBUG(931, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy999; @@ -13329,26 +14276,31 @@ yy931: } } yy932: + YYDEBUG(932, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy995; if (yych == 'e') goto yy995; goto yy56; yy933: + YYDEBUG(933, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy993; if (yych == 'c') goto yy993; goto yy56; yy934: + YYDEBUG(934, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy991; if (yych == 'o') goto yy991; goto yy56; yy935: + YYDEBUG(935, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy989; if (yych == 'e') goto yy989; goto yy56; yy936: + YYDEBUG(936, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy775; @@ -13356,13 +14308,15 @@ yy936: if (yych <= '5') goto yy777; goto yy56; yy937: + YYDEBUG(937, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy941; if (yych <= '/') goto yy938; if (yych <= '9') goto yy960; yy938: -#line 1312 "ext/date/lib/parse_date.re" + YYDEBUG(938, *YYCURSOR); +#line 1328 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("gnudateshorter"); @@ -13375,8 +14329,9 @@ yy938: TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 13379 "ext/date/lib/parse_date.c" +#line 14333 "<stdout>" yy939: + YYDEBUG(939, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy941; @@ -13384,10 +14339,12 @@ yy939: if (yych <= '2') goto yy960; goto yy938; yy940: + YYDEBUG(940, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych != '-') goto yy938; yy941: + YYDEBUG(941, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy942; @@ -13395,6 +14352,7 @@ yy941: if (yych <= '9') goto yy944; goto yy56; yy942: + YYDEBUG(942, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { @@ -13417,6 +14375,7 @@ yy942: } } yy943: + YYDEBUG(943, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { @@ -13438,6 +14397,7 @@ yy943: } } yy944: + YYDEBUG(944, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -13455,22 +14415,27 @@ yy944: } } yy945: + YYDEBUG(945, *YYCURSOR); yych = *++YYCURSOR; if (yych == 't') goto yy959; goto yy56; yy946: + YYDEBUG(946, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy959; goto yy56; yy947: + YYDEBUG(947, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy959; goto yy56; yy948: + YYDEBUG(948, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'h') goto yy959; goto yy56; yy949: + YYDEBUG(949, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy950; @@ -13478,36 +14443,43 @@ yy949: if (yych <= '9') goto yy952; goto yy56; yy950: + YYDEBUG(950, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy952; if (yych <= ':') goto yy953; goto yy56; yy951: + YYDEBUG(951, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '4') goto yy952; if (yych == ':') goto yy953; goto yy56; yy952: + YYDEBUG(952, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy56; yy953: + YYDEBUG(953, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy954; if (yych <= '9') goto yy955; goto yy56; yy954: + YYDEBUG(954, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy955; if (yych <= ':') goto yy956; goto yy56; yy955: + YYDEBUG(955, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy56; yy956: + YYDEBUG(956, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy957; @@ -13515,23 +14487,28 @@ yy956: if (yych <= '9') goto yy806; goto yy56; yy957: + YYDEBUG(957, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy807; if (yych <= '9') goto yy806; goto yy807; yy958: + YYDEBUG(958, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy806; goto yy807; yy959: + YYDEBUG(959, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'T') goto yy949; goto yy621; yy960: + YYDEBUG(960, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych != '-') goto yy938; + YYDEBUG(961, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy56; @@ -13541,6 +14518,7 @@ yy960: if (yych <= '9') goto yy944; goto yy56; } + YYDEBUG(962, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { @@ -13563,6 +14541,7 @@ yy960: } } yy963: + YYDEBUG(963, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { @@ -13585,6 +14564,7 @@ yy963: } } yy964: + YYDEBUG(964, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { @@ -13606,6 +14586,7 @@ yy964: } } yy965: + YYDEBUG(965, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -13623,6 +14604,7 @@ yy965: } } yy966: + YYDEBUG(966, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy967; @@ -13630,34 +14612,41 @@ yy966: if (yych <= '9') goto yy952; goto yy56; yy967: + YYDEBUG(967, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy969; if (yych <= ':') goto yy953; goto yy56; yy968: + YYDEBUG(968, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '4') goto yy969; if (yych == ':') goto yy953; goto yy56; yy969: + YYDEBUG(969, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy56; + YYDEBUG(970, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy971; if (yych <= '9') goto yy955; goto yy56; yy971: + YYDEBUG(971, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy972; if (yych <= ':') goto yy956; goto yy56; yy972: + YYDEBUG(972, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy56; + YYDEBUG(973, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy974; @@ -13665,25 +14654,31 @@ yy972: if (yych <= '9') goto yy806; goto yy56; yy974: + YYDEBUG(974, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy807; if (yych <= '9') goto yy976; goto yy807; yy975: + YYDEBUG(975, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy807; yy976: + YYDEBUG(976, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych != '.') goto yy807; + YYDEBUG(977, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; yy978: + YYDEBUG(978, *YYCURSOR); yyaccept = 22; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; + YYDEBUG(979, *YYCURSOR); if (yych <= '-') { if (yych == '+') goto yy981; if (yych <= ',') goto yy807; @@ -13696,10 +14691,12 @@ yy978: if (yych != 'G') goto yy807; } } + YYDEBUG(980, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy987; goto yy56; yy981: + YYDEBUG(981, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy982; @@ -13707,12 +14704,14 @@ yy981: if (yych <= '9') goto yy984; goto yy56; yy982: + YYDEBUG(982, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy807; if (yych <= '9') goto yy984; if (yych <= ':') goto yy985; goto yy807; yy983: + YYDEBUG(983, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy807; @@ -13723,34 +14722,41 @@ yy983: goto yy807; } yy984: + YYDEBUG(984, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy807; if (yych <= '5') goto yy986; if (yych <= '9') goto yy806; if (yych >= ';') goto yy807; yy985: + YYDEBUG(985, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy807; if (yych <= '5') goto yy986; if (yych <= '9') goto yy806; goto yy807; yy986: + YYDEBUG(986, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy807; if (yych <= '9') goto yy806; goto yy807; yy987: + YYDEBUG(987, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'T') goto yy56; + YYDEBUG(988, *YYCURSOR); yych = *++YYCURSOR; if (yych == '+') goto yy981; if (yych == '-') goto yy981; goto yy56; yy989: + YYDEBUG(989, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy990; if (yych != 'c') goto yy56; yy990: + YYDEBUG(990, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -13762,10 +14768,12 @@ yy990: goto yy758; } yy991: + YYDEBUG(991, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy992; if (yych != 'v') goto yy56; yy992: + YYDEBUG(992, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -13777,10 +14785,12 @@ yy992: goto yy758; } yy993: + YYDEBUG(993, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy994; if (yych != 't') goto yy56; yy994: + YYDEBUG(994, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -13792,10 +14802,12 @@ yy994: goto yy758; } yy995: + YYDEBUG(995, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy996; if (yych != 'p') goto yy56; yy996: + YYDEBUG(996, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -13806,6 +14818,7 @@ yy996: if (yych != 't') goto yy758; } yy997: + YYDEBUG(997, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -13817,15 +14830,18 @@ yy997: goto yy758; } yy998: + YYDEBUG(998, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy1001; if (yych == 'g') goto yy1001; goto yy56; yy999: + YYDEBUG(999, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1000; if (yych != 'r') goto yy56; yy1000: + YYDEBUG(1000, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { @@ -13837,6 +14853,7 @@ yy1000: goto yy758; } yy1001: + YYDEBUG(1001, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -13848,6 +14865,7 @@ yy1001: goto yy758; } yy1002: + YYDEBUG(1002, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy1003; @@ -13862,6 +14880,7 @@ yy1002: } } yy1003: + YYDEBUG(1003, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { @@ -13873,15 +14892,18 @@ yy1003: goto yy758; } yy1004: + YYDEBUG(1004, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy731; goto yy758; yy1005: + YYDEBUG(1005, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1006; if (yych != 'b') goto yy56; yy1006: + YYDEBUG(1006, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -13893,6 +14915,7 @@ yy1006: goto yy758; } yy1007: + YYDEBUG(1007, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy1011; @@ -13908,10 +14931,12 @@ yy1007: } } yy1008: + YYDEBUG(1008, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy1009; if (yych != 'n') goto yy56; yy1009: + YYDEBUG(1009, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -13923,6 +14948,7 @@ yy1009: goto yy758; } yy1010: + YYDEBUG(1010, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -13934,6 +14960,7 @@ yy1010: goto yy758; } yy1011: + YYDEBUG(1011, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -13945,6 +14972,7 @@ yy1011: goto yy758; } yy1012: + YYDEBUG(1012, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= '\t') { @@ -13966,6 +14994,7 @@ yy1012: } } yy1013: + YYDEBUG(1013, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy121; @@ -13981,6 +15010,7 @@ yy1013: } } yy1014: + YYDEBUG(1014, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= ',') { @@ -14004,6 +15034,7 @@ yy1014: } } yy1015: + YYDEBUG(1015, *YYCURSOR); yych = *++YYCURSOR; switch (yych) { case '0': goto yy1019; @@ -14035,6 +15066,7 @@ yy1015: default: goto yy542; } yy1016: + YYDEBUG(1016, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1018; if (yych <= '0') goto yy700; @@ -14042,10 +15074,12 @@ yy1016: if (yych <= '9') goto yy702; goto yy1018; yy1017: + YYDEBUG(1017, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy1018: + YYDEBUG(1018, *YYCURSOR); if (yych <= 'W') { if (yych <= 'G') { if (yych <= '.') { @@ -14138,6 +15172,7 @@ yy1018: } } yy1019: + YYDEBUG(1019, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; @@ -14149,6 +15184,7 @@ yy1019: goto yy56; } yy1020: + YYDEBUG(1020, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; @@ -14159,12 +15195,14 @@ yy1020: if (yych >= '3') goto yy56; } yy1021: + YYDEBUG(1021, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy56; if (yych <= '-') goto yy1022; if (yych <= '.') goto yy566; goto yy56; yy1022: + YYDEBUG(1022, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy56; @@ -14174,6 +15212,7 @@ yy1022: if (yych <= '9') goto yy623; goto yy56; } + YYDEBUG(1023, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -14192,6 +15231,7 @@ yy1022: } } yy1024: + YYDEBUG(1024, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -14210,6 +15250,7 @@ yy1024: } } yy1025: + YYDEBUG(1025, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -14231,6 +15272,7 @@ yy1025: } } yy1026: + YYDEBUG(1026, *YYCURSOR); yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { @@ -14249,6 +15291,7 @@ yy1026: } } yy1027: + YYDEBUG(1027, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { @@ -14274,6 +15317,7 @@ yy1027: } } yy1028: + YYDEBUG(1028, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy542; @@ -14285,16 +15329,19 @@ yy1028: goto yy542; } yy1029: + YYDEBUG(1029, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1047; if (yych <= '9') goto yy1048; goto yy56; yy1030: + YYDEBUG(1030, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy749; if (yych <= '/') goto yy60; if (yych >= ':') goto yy60; + YYDEBUG(1031, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { @@ -14374,7 +15421,8 @@ yy1030: } } yy1032: -#line 1204 "ext/date/lib/parse_date.re" + YYDEBUG(1032, *YYCURSOR); +#line 1220 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; @@ -14389,32 +15437,36 @@ yy1032: break; default: TIMELIB_DEINIT; - add_error(s, "Double time specification"); + add_error(s, TIMELIB_ERR_DOUBLE_TIME, "Double time specification"); return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } -#line 14400 "ext/date/lib/parse_date.c" +#line 15448 "<stdout>" yy1033: + YYDEBUG(1033, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '0') goto yy1045; if (yych <= '9') goto yy1046; goto yy60; yy1034: + YYDEBUG(1034, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '2') goto yy1044; if (yych <= '9') goto yy1043; goto yy60; yy1035: + YYDEBUG(1035, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '9') goto yy1043; goto yy60; yy1036: + YYDEBUG(1036, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '5') goto yy1041; @@ -14422,17 +15474,20 @@ yy1036: if (yych <= '9') goto yy1039; goto yy60; yy1037: + YYDEBUG(1037, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '9') goto yy1039; goto yy60; yy1038: + YYDEBUG(1038, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych <= '0') goto yy1039; if (yych <= '9') goto yy54; goto yy60; yy1039: + YYDEBUG(1039, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { @@ -14486,7 +15541,8 @@ yy1039: } } yy1040: -#line 1250 "ext/date/lib/parse_date.re" + YYDEBUG(1040, *YYCURSOR); +#line 1266 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); @@ -14499,14 +15555,15 @@ yy1040: if (*ptr != '\0') { s->time->z = timelib_parse_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"); + add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } -#line 14509 "ext/date/lib/parse_date.c" +#line 15565 "<stdout>" yy1041: + YYDEBUG(1041, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -14575,6 +15632,7 @@ yy1041: } } yy1042: + YYDEBUG(1042, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -14648,6 +15706,7 @@ yy1042: } } yy1043: + YYDEBUG(1043, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -14716,6 +15775,7 @@ yy1043: } } yy1044: + YYDEBUG(1044, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { @@ -14799,6 +15859,7 @@ yy1044: } } yy1045: + YYDEBUG(1045, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { @@ -14882,6 +15943,7 @@ yy1045: } } yy1046: + YYDEBUG(1046, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { @@ -14965,6 +16027,7 @@ yy1046: } } yy1047: + YYDEBUG(1047, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -14976,11 +16039,13 @@ yy1047: goto yy455; } yy1048: + YYDEBUG(1048, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy1049; if (yych != ':') goto yy455; yy1049: + YYDEBUG(1049, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1050; @@ -14988,6 +16053,7 @@ yy1049: if (yych <= '9') goto yy460; goto yy56; yy1050: + YYDEBUG(1050, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy461; @@ -14995,12 +16061,14 @@ yy1050: if (yych <= '9') goto yy460; goto yy455; yy1051: + YYDEBUG(1051, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy461; if (yych == '0') goto yy460; goto yy455; yy1052: + YYDEBUG(1052, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -15014,6 +16082,7 @@ yy1052: goto yy455; } yy1053: + YYDEBUG(1053, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -15028,6 +16097,7 @@ yy1053: goto yy455; } yy1054: + YYDEBUG(1054, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -15041,6 +16111,7 @@ yy1054: goto yy455; } yy1055: + YYDEBUG(1055, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -15051,6 +16122,7 @@ yy1055: goto yy455; } yy1056: + YYDEBUG(1056, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1057; @@ -15058,6 +16130,7 @@ yy1056: if (yych <= '9') goto yy574; goto yy56; yy1057: + YYDEBUG(1057, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy461; @@ -15065,6 +16138,7 @@ yy1057: if (yych <= '9') goto yy1059; goto yy455; yy1058: + YYDEBUG(1058, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -15076,6 +16150,7 @@ yy1058: goto yy455; } yy1059: + YYDEBUG(1059, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy461; @@ -15083,6 +16158,7 @@ yy1059: if (yych <= '9') goto yy569; goto yy455; yy1060: + YYDEBUG(1060, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { @@ -15108,6 +16184,7 @@ yy1060: } } yy1061: + YYDEBUG(1061, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { @@ -15133,6 +16210,7 @@ yy1061: } } yy1062: + YYDEBUG(1062, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -15154,6 +16232,7 @@ yy1062: } } yy1063: + YYDEBUG(1063, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { @@ -15175,6 +16254,7 @@ yy1063: } } yy1064: + YYDEBUG(1064, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { @@ -15196,6 +16276,7 @@ yy1064: } } yy1065: + YYDEBUG(1065, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { @@ -15217,6 +16298,7 @@ yy1065: } } yy1066: + YYDEBUG(1066, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -15227,18 +16309,22 @@ yy1066: if (yych != 'u') goto yy3; } yy1067: + YYDEBUG(1067, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy1068; if (yych != 's') goto yy56; yy1068: + YYDEBUG(1068, *YYCURSOR); yych = *++YYCURSOR; if (yych == '\t') goto yy1069; if (yych != ' ') goto yy56; yy1069: + YYDEBUG(1069, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); yych = *YYCURSOR; yy1070: + YYDEBUG(1070, *YYCURSOR); if (yych <= 'X') { if (yych <= 'G') { if (yych <= ' ') { @@ -15315,6 +16401,7 @@ yy1070: } } yy1071: + YYDEBUG(1071, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'N') { @@ -15336,15 +16423,18 @@ yy1071: } } yy1072: + YYDEBUG(1072, *YYCURSOR); yych = *++YYCURSOR; if (yych == 0xB5) goto yy1151; goto yy56; yy1073: + YYDEBUG(1073, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy1149; if (yych == 's') goto yy1149; goto yy56; yy1074: + YYDEBUG(1074, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { @@ -15366,16 +16456,19 @@ yy1074: } } yy1075: + YYDEBUG(1075, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy1133; if (yych == 'o') goto yy1133; goto yy56; yy1076: + YYDEBUG(1076, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1132; if (yych == 'a') goto yy1132; goto yy56; yy1077: + YYDEBUG(1077, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy1117; @@ -15391,16 +16484,19 @@ yy1077: } } yy1078: + YYDEBUG(1078, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1113; if (yych == 'e') goto yy1113; goto yy56; yy1079: + YYDEBUG(1079, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1099; if (yych == 'e') goto yy1099; goto yy56; yy1080: + YYDEBUG(1080, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy1081; @@ -15415,15 +16511,18 @@ yy1080: } } yy1081: + YYDEBUG(1081, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy1094; if (yych == 'u') goto yy1094; goto yy56; yy1082: + YYDEBUG(1082, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1083; if (yych != 'e') goto yy56; yy1083: + YYDEBUG(1083, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { @@ -15437,7 +16536,8 @@ yy1083: } } yy1084: -#line 1646 "ext/date/lib/parse_date.re" + YYDEBUG(1084, *YYCURSOR); +#line 1662 "ext/date/lib/parse_date.re" { timelib_sll i; int behavior = 0; @@ -15453,11 +16553,13 @@ yy1084: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 15457 "ext/date/lib/parse_date.c" +#line 16557 "<stdout>" yy1085: + YYDEBUG(1085, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; + YYDEBUG(1086, *YYCURSOR); if (yych <= ' ') { if (yych == '\t') goto yy1085; if (yych <= 0x1F) goto yy56; @@ -15472,30 +16574,37 @@ yy1085: } } yy1087: + YYDEBUG(1087, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy1088; if (yych != 'd') goto yy56; yy1088: + YYDEBUG(1088, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1089; if (yych != 'a') goto yy56; yy1089: + YYDEBUG(1089, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1090; if (yych != 'y') goto yy56; yy1090: + YYDEBUG(1090, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\t') goto yy1085; if (yych == ' ') goto yy1085; goto yy1084; yy1091: + YYDEBUG(1091, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'F') goto yy1092; if (yych != 'f') goto yy56; yy1092: + YYDEBUG(1092, *YYCURSOR); ++YYCURSOR; -#line 1119 "ext/date/lib/parse_date.re" + YYDEBUG(1093, *YYCURSOR); +#line 1135 "ext/date/lib/parse_date.re" { timelib_sll i; int behavior = 0; @@ -15516,8 +16625,9 @@ yy1092: TIMELIB_DEINIT; return TIMELIB_WEEK_DAY_OF_MONTH; } -#line 15520 "ext/date/lib/parse_date.c" +#line 16629 "<stdout>" yy1094: + YYDEBUG(1094, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { @@ -15531,23 +16641,28 @@ yy1094: if (yych != 'r') goto yy1084; } } + YYDEBUG(1095, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy1096; if (yych != 's') goto yy56; yy1096: + YYDEBUG(1096, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy1097; if (yych != 'd') goto yy56; yy1097: + YYDEBUG(1097, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1098; if (yych != 'a') goto yy56; yy1098: + YYDEBUG(1098, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1090; if (yych == 'y') goto yy1090; goto yy56; yy1099: + YYDEBUG(1099, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy56; @@ -15557,11 +16672,13 @@ yy1099: if (yych <= 'd') goto yy1101; if (yych >= 'f') goto yy56; } + YYDEBUG(1100, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'K') goto yy1107; if (yych == 'k') goto yy1107; goto yy56; yy1101: + YYDEBUG(1101, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { @@ -15575,27 +16692,33 @@ yy1101: if (yych != 'n') goto yy1084; } } + YYDEBUG(1102, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1103; if (yych != 'e') goto yy56; yy1103: + YYDEBUG(1103, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy1104; if (yych != 's') goto yy56; yy1104: + YYDEBUG(1104, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy1105; if (yych != 'd') goto yy56; yy1105: + YYDEBUG(1105, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1106; if (yych != 'a') goto yy56; yy1106: + YYDEBUG(1106, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1090; if (yych == 'y') goto yy1090; goto yy56; yy1107: + YYDEBUG(1107, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -15609,7 +16732,8 @@ yy1107: } } yy1108: -#line 1622 "ext/date/lib/parse_date.re" + YYDEBUG(1108, *YYCURSOR); +#line 1638 "ext/date/lib/parse_date.re" { timelib_sll i; int behavior = 0; @@ -15632,50 +16756,61 @@ yy1108: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 15636 "ext/date/lib/parse_date.c" +#line 16760 "<stdout>" yy1109: + YYDEBUG(1109, *YYCURSOR); yych = *++YYCURSOR; goto yy1084; yy1110: + YYDEBUG(1110, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1111; if (yych != 'a') goto yy56; yy1111: + YYDEBUG(1111, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1112; if (yych != 'y') goto yy56; yy1112: + YYDEBUG(1112, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy1109; if (yych == 's') goto yy1109; goto yy1084; yy1113: + YYDEBUG(1113, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1114; if (yych != 'a') goto yy56; yy1114: + YYDEBUG(1114, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1115; if (yych != 'r') goto yy56; yy1115: + YYDEBUG(1115, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy1109; if (yych == 's') goto yy1109; goto yy1084; yy1116: + YYDEBUG(1116, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1129; if (yych == 'i') goto yy1129; goto yy56; yy1117: + YYDEBUG(1117, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1118; if (yych != 'r') goto yy56; yy1118: + YYDEBUG(1118, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1119; if (yych != 't') goto yy56; yy1119: + YYDEBUG(1119, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy1121; @@ -15688,45 +16823,55 @@ yy1119: if (yych != 'n') goto yy56; } } + YYDEBUG(1120, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1126; if (yych == 'i') goto yy1126; goto yy56; yy1121: + YYDEBUG(1121, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy1122; if (yych != 'n') goto yy56; yy1122: + YYDEBUG(1122, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1123; if (yych != 'i') goto yy56; yy1123: + YYDEBUG(1123, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy1124; if (yych != 'g') goto yy56; yy1124: + YYDEBUG(1124, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy1125; if (yych != 'h') goto yy56; yy1125: + YYDEBUG(1125, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1115; if (yych == 't') goto yy1115; goto yy56; yy1126: + YYDEBUG(1126, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy1127; if (yych != 'g') goto yy56; yy1127: + YYDEBUG(1127, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy1128; if (yych != 'h') goto yy56; yy1128: + YYDEBUG(1128, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1115; if (yych == 't') goto yy1115; goto yy56; yy1129: + YYDEBUG(1129, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { @@ -15740,43 +16885,52 @@ yy1129: if (yych != 'd') goto yy1084; } } + YYDEBUG(1130, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1131; if (yych != 'a') goto yy56; yy1131: + YYDEBUG(1131, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1090; if (yych == 'y') goto yy1090; goto yy56; yy1132: + YYDEBUG(1132, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1115; if (yych == 'y') goto yy1115; goto yy56; yy1133: + YYDEBUG(1133, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy1134; if (yych != 'u') goto yy56; yy1134: + YYDEBUG(1134, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1115; if (yych == 'r') goto yy1115; goto yy56; yy1135: + YYDEBUG(1135, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy1146; if (yych == 'n') goto yy1146; goto yy56; yy1136: + YYDEBUG(1136, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1141; if (yych == 't') goto yy1141; goto yy56; yy1137: + YYDEBUG(1137, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1138; if (yych != 'c') goto yy56; yy1138: + YYDEBUG(1138, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -15792,15 +16946,18 @@ yy1138: } } yy1139: + YYDEBUG(1139, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy1140; if (yych != 'n') goto yy56; yy1140: + YYDEBUG(1140, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy1115; if (yych == 'd') goto yy1115; goto yy56; yy1141: + YYDEBUG(1141, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { @@ -15814,23 +16971,28 @@ yy1141: if (yych != 'u') goto yy1084; } } + YYDEBUG(1142, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1143; if (yych != 'r') goto yy56; yy1143: + YYDEBUG(1143, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy1144; if (yych != 'd') goto yy56; yy1144: + YYDEBUG(1144, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1145; if (yych != 'a') goto yy56; yy1145: + YYDEBUG(1145, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1090; if (yych == 'y') goto yy1090; goto yy56; yy1146: + YYDEBUG(1146, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { @@ -15844,43 +17006,52 @@ yy1146: if (yych != 'd') goto yy1084; } } + YYDEBUG(1147, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1148; if (yych != 'a') goto yy56; yy1148: + YYDEBUG(1148, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1090; if (yych == 'y') goto yy1090; goto yy56; yy1149: + YYDEBUG(1149, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1150; if (yych != 'e') goto yy56; yy1150: + YYDEBUG(1150, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1115; if (yych == 'c') goto yy1115; goto yy56; yy1151: + YYDEBUG(1151, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy1152; if (yych != 's') goto yy56; yy1152: + YYDEBUG(1152, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy1153; if (yych != 'e') goto yy1084; yy1153: + YYDEBUG(1153, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1115; if (yych == 'c') goto yy1115; goto yy56; yy1154: + YYDEBUG(1154, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy1177; if (yych == 'n') goto yy1177; goto yy56; yy1155: + YYDEBUG(1155, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= 'K') { @@ -15902,26 +17073,31 @@ yy1155: } } yy1156: + YYDEBUG(1156, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy1157; if (yych != 'e') goto yy1084; yy1157: + YYDEBUG(1157, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1115; if (yych == 'c') goto yy1115; goto yy56; yy1158: + YYDEBUG(1158, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy1170; if (yych == 'l') goto yy1170; goto yy56; yy1159: + YYDEBUG(1159, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1163; if (yych == 'r') goto yy1163; goto yy56; yy1160: + YYDEBUG(1160, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { @@ -15935,73 +17111,90 @@ yy1160: if (yych != 'u') goto yy1084; } } + YYDEBUG(1161, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1162; if (yych != 't') goto yy56; yy1162: + YYDEBUG(1162, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1115; if (yych == 'e') goto yy1115; goto yy56; yy1163: + YYDEBUG(1163, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy1164; if (yych != 'o') goto yy56; yy1164: + YYDEBUG(1164, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy1165; if (yych != 's') goto yy56; yy1165: + YYDEBUG(1165, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1166; if (yych != 'e') goto yy56; yy1166: + YYDEBUG(1166, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1167; if (yych != 'c') goto yy56; yy1167: + YYDEBUG(1167, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy1168; if (yych != 'o') goto yy56; yy1168: + YYDEBUG(1168, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy1169; if (yych != 'n') goto yy56; yy1169: + YYDEBUG(1169, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy1115; if (yych == 'd') goto yy1115; goto yy56; yy1170: + YYDEBUG(1170, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1171; if (yych != 'i') goto yy56; yy1171: + YYDEBUG(1171, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy1172; if (yych != 's') goto yy56; yy1172: + YYDEBUG(1172, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1173; if (yych != 'e') goto yy56; yy1173: + YYDEBUG(1173, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1174; if (yych != 'c') goto yy56; yy1174: + YYDEBUG(1174, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy1175; if (yych != 'o') goto yy56; yy1175: + YYDEBUG(1175, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy1176; if (yych != 'n') goto yy56; yy1176: + YYDEBUG(1176, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy1115; if (yych == 'd') goto yy1115; goto yy56; yy1177: + YYDEBUG(1177, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -16023,21 +17216,25 @@ yy1177: } } yy1178: + YYDEBUG(1178, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1180; if (yych == 'a') goto yy1180; goto yy56; yy1179: + YYDEBUG(1179, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy1115; if (yych == 'h') goto yy1115; goto yy56; yy1180: + YYDEBUG(1180, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1090; if (yych == 'y') goto yy1090; goto yy56; yy1181: + YYDEBUG(1181, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -16068,6 +17265,7 @@ yy1181: } } yy1182: + YYDEBUG(1182, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { @@ -16098,6 +17296,7 @@ yy1182: } } yy1183: + YYDEBUG(1183, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { @@ -16128,6 +17327,7 @@ yy1183: } } yy1184: + YYDEBUG(1184, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -16158,6 +17358,7 @@ yy1184: } } yy1185: + YYDEBUG(1185, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -16181,9 +17382,11 @@ yy1185: } } yy1186: + YYDEBUG(1186, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy1068; if (yych != 's') goto yy179; + YYDEBUG(1187, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 16) { goto yy178; @@ -16206,6 +17409,7 @@ yy1186: } } yy1188: + YYDEBUG(1188, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { @@ -16228,6 +17432,7 @@ yy1188: } } yy1189: + YYDEBUG(1189, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -16249,6 +17454,7 @@ yy1189: } } yy1190: + YYDEBUG(1190, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { @@ -16270,6 +17476,7 @@ yy1190: } } yy1191: + YYDEBUG(1191, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -16291,6 +17498,7 @@ yy1191: } } yy1192: + YYDEBUG(1192, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -16312,6 +17520,7 @@ yy1192: } } yy1193: + YYDEBUG(1193, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -16322,18 +17531,22 @@ yy1193: if (yych != 't') goto yy3; } yy1194: + YYDEBUG(1194, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy1195; if (yych != 'h') goto yy56; yy1195: + YYDEBUG(1195, *YYCURSOR); yych = *++YYCURSOR; if (yych == '\t') goto yy1196; if (yych != ' ') goto yy56; yy1196: + YYDEBUG(1196, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); yych = *YYCURSOR; yy1197: + YYDEBUG(1197, *YYCURSOR); if (yych <= 'X') { if (yych <= 'G') { if (yych <= ' ') { @@ -16408,10 +17621,12 @@ yy1197: } } } + YYDEBUG(1198, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1199; if (yych != 'e') goto yy56; yy1199: + YYDEBUG(1199, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy56; @@ -16421,10 +17636,12 @@ yy1199: if (yych <= 'd') goto yy1101; if (yych >= 'f') goto yy56; } + YYDEBUG(1200, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'K') goto yy1201; if (yych != 'k') goto yy56; yy1201: + YYDEBUG(1201, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == 'D') goto yy1110; @@ -16440,6 +17657,7 @@ yy1201: } } yy1202: + YYDEBUG(1202, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -16461,6 +17679,7 @@ yy1202: } } yy1203: + YYDEBUG(1203, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -16482,6 +17701,7 @@ yy1203: } } yy1204: + YYDEBUG(1204, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -16505,6 +17725,7 @@ yy1204: } } yy1205: + YYDEBUG(1205, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { @@ -16516,6 +17737,7 @@ yy1205: goto yy3; } yy1206: + YYDEBUG(1206, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { @@ -16546,6 +17768,7 @@ yy1206: } } yy1207: + YYDEBUG(1207, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -16576,6 +17799,7 @@ yy1207: } } yy1208: + YYDEBUG(1208, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { @@ -16606,6 +17830,7 @@ yy1208: } } yy1209: + YYDEBUG(1209, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -16636,6 +17861,7 @@ yy1209: } } yy1210: + YYDEBUG(1210, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -16666,6 +17892,7 @@ yy1210: } } yy1211: + YYDEBUG(1211, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -16689,10 +17916,12 @@ yy1211: } } yy1212: + YYDEBUG(1212, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy1195; if (yych != 'h') goto yy179; yy1213: + YYDEBUG(1213, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 16) { goto yy178; @@ -16715,6 +17944,7 @@ yy1213: } } yy1214: + YYDEBUG(1214, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -16745,6 +17975,7 @@ yy1214: } } yy1215: + YYDEBUG(1215, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -16775,6 +18006,7 @@ yy1215: } } yy1216: + YYDEBUG(1216, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -16818,6 +18050,7 @@ yy1216: } } yy1217: + YYDEBUG(1217, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -16843,6 +18076,7 @@ yy1217: } } yy1218: + YYDEBUG(1218, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= 'B') { @@ -16880,6 +18114,7 @@ yy1218: } } yy1219: + YYDEBUG(1219, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -16902,6 +18137,7 @@ yy1219: } } yy1220: + YYDEBUG(1220, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { @@ -16924,6 +18160,7 @@ yy1220: } } yy1221: + YYDEBUG(1221, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -16945,6 +18182,7 @@ yy1221: } } yy1222: + YYDEBUG(1222, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -16966,6 +18204,7 @@ yy1222: } } yy1223: + YYDEBUG(1223, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy164; @@ -16981,6 +18220,7 @@ yy1223: } } yy1224: + YYDEBUG(1224, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { @@ -17002,10 +18242,12 @@ yy1224: } } yy1225: + YYDEBUG(1225, *YYCURSOR); yych = *++YYCURSOR; if (yych == ')') goto yy164; goto yy191; yy1226: + YYDEBUG(1226, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -17027,6 +18269,7 @@ yy1226: } } yy1227: + YYDEBUG(1227, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -17048,6 +18291,7 @@ yy1227: } } yy1228: + YYDEBUG(1228, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { @@ -17070,6 +18314,7 @@ yy1228: } } yy1229: + YYDEBUG(1229, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { @@ -17091,6 +18336,7 @@ yy1229: } } yy1230: + YYDEBUG(1230, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -17112,6 +18358,7 @@ yy1230: } } yy1231: + YYDEBUG(1231, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -17133,6 +18380,7 @@ yy1231: } } yy1232: + YYDEBUG(1232, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -17143,11 +18391,13 @@ yy1232: if (yych != 'a') goto yy3; } yy1233: + YYDEBUG(1233, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy197; if (yych == 'y') goto yy197; goto yy56; yy1234: + YYDEBUG(1234, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { @@ -17170,6 +18420,7 @@ yy1234: } } yy1235: + YYDEBUG(1235, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -17192,6 +18443,7 @@ yy1235: } } yy1236: + YYDEBUG(1236, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -17233,6 +18485,7 @@ yy1236: } } yy1237: + YYDEBUG(1237, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -17274,6 +18527,7 @@ yy1237: } } yy1238: + YYDEBUG(1238, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { @@ -17295,6 +18549,7 @@ yy1238: } } yy1239: + YYDEBUG(1239, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { @@ -17305,15 +18560,18 @@ yy1239: if (yych != 'b') goto yy3; } yy1240: + YYDEBUG(1240, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1241; if (yych != 'e') goto yy56; yy1241: + YYDEBUG(1241, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy229; if (yych == 'r') goto yy229; goto yy56; yy1242: + YYDEBUG(1242, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -17335,6 +18593,7 @@ yy1242: } } yy1243: + YYDEBUG(1243, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -17356,6 +18615,7 @@ yy1243: } } yy1244: + YYDEBUG(1244, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -17367,6 +18627,7 @@ yy1244: goto yy3; } yy1245: + YYDEBUG(1245, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -17388,6 +18649,7 @@ yy1245: } } yy1246: + YYDEBUG(1246, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -17410,6 +18672,7 @@ yy1246: } } yy1247: + YYDEBUG(1247, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { @@ -17455,6 +18718,7 @@ yy1247: } } yy1248: + YYDEBUG(1248, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -17485,6 +18749,7 @@ yy1248: } } yy1249: + YYDEBUG(1249, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -17515,6 +18780,7 @@ yy1249: } } yy1250: + YYDEBUG(1250, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -17545,6 +18811,7 @@ yy1250: } } yy1251: + YYDEBUG(1251, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -17575,6 +18842,7 @@ yy1251: } } yy1252: + YYDEBUG(1252, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -17600,6 +18868,7 @@ yy1252: } } yy1253: + YYDEBUG(1253, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -17630,6 +18899,7 @@ yy1253: } } yy1254: + YYDEBUG(1254, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -17649,6 +18919,7 @@ yy1254: } } yy1255: + YYDEBUG(1255, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -17679,6 +18950,7 @@ yy1255: } } yy1256: + YYDEBUG(1256, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -17709,6 +18981,7 @@ yy1256: } } yy1257: + YYDEBUG(1257, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { @@ -17738,6 +19011,7 @@ yy1257: } } yy1258: + YYDEBUG(1258, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -17768,6 +19042,7 @@ yy1258: } } yy1259: + YYDEBUG(1259, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -17798,6 +19073,7 @@ yy1259: } } yy1260: + YYDEBUG(1260, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -17828,6 +19104,7 @@ yy1260: } } yy1261: + YYDEBUG(1261, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -17852,11 +19129,13 @@ yy1261: } } yy1262: + YYDEBUG(1262, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy197; if (yych == 'y') goto yy210; goto yy179; yy1263: + YYDEBUG(1263, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -17887,6 +19166,7 @@ yy1263: } } yy1264: + YYDEBUG(1264, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -17917,6 +19197,7 @@ yy1264: } } yy1265: + YYDEBUG(1265, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -17961,6 +19242,7 @@ yy1265: } } yy1266: + YYDEBUG(1266, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -18005,6 +19287,7 @@ yy1266: } } yy1267: + YYDEBUG(1267, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { @@ -18035,6 +19318,7 @@ yy1267: } } yy1268: + YYDEBUG(1268, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { @@ -18058,14 +19342,17 @@ yy1268: } } yy1269: + YYDEBUG(1269, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1241; if (yych != 'e') goto yy179; + YYDEBUG(1270, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy229; if (yych == 'r') goto yy341; goto yy179; yy1271: + YYDEBUG(1271, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -18096,6 +19383,7 @@ yy1271: } } yy1272: + YYDEBUG(1272, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -18126,6 +19414,7 @@ yy1272: } } yy1273: + YYDEBUG(1273, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -18149,6 +19438,7 @@ yy1273: } } yy1274: + YYDEBUG(1274, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -18179,6 +19469,7 @@ yy1274: } } yy1275: + YYDEBUG(1275, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -18209,6 +19500,7 @@ yy1275: } } yy1276: + YYDEBUG(1276, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { @@ -18230,6 +19522,7 @@ yy1276: } } yy1277: + YYDEBUG(1277, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'K') { if (yych <= ')') { @@ -18251,6 +19544,7 @@ yy1277: } } yy1278: + YYDEBUG(1278, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { @@ -18268,16 +19562,20 @@ yy1278: } } yy1279: + YYDEBUG(1279, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy1280; if (yych != 'o') goto yy56; yy1280: + YYDEBUG(1280, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'F') goto yy1281; if (yych != 'f') goto yy56; yy1281: + YYDEBUG(1281, *YYCURSOR); yych = *++YYCURSOR; if (yych != ' ') goto yy56; + YYDEBUG(1282, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy1283; @@ -18285,13 +19583,29 @@ yy1281: if (yych <= '9') goto yy1286; goto yy56; yy1283: + YYDEBUG(1283, *YYCURSOR); yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1287; - if (yych <= '9') goto yy1286; - goto yy1287; + if (yych <= '@') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1287; + } else { + if (yych <= ' ') goto yy1287; + if (yych <= '/') goto yy1284; + if (yych <= '9') goto yy1286; + } + } else { + if (yych <= '`') { + if (yych <= 'A') goto yy1289; + if (yych == 'P') goto yy1289; + } else { + if (yych <= 'a') goto yy1289; + if (yych == 'p') goto yy1289; + } + } yy1284: -#line 1096 "ext/date/lib/parse_date.re" + YYDEBUG(1284, *YYCURSOR); +#line 1112 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("backof | frontof"); TIMELIB_INIT; @@ -18313,67 +19627,114 @@ yy1284: TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 18317 "ext/date/lib/parse_date.c" +#line 19631 "<stdout>" yy1285: + YYDEBUG(1285, *YYCURSOR); yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1287; - if (yych >= '5') goto yy1287; + if (yych <= '@') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1287; + goto yy1284; + } else { + if (yych <= ' ') goto yy1287; + if (yych <= '/') goto yy1284; + if (yych >= '5') goto yy1284; + } + } else { + if (yych <= '`') { + if (yych <= 'A') goto yy1289; + if (yych == 'P') goto yy1289; + goto yy1284; + } else { + if (yych <= 'a') goto yy1289; + if (yych == 'p') goto yy1289; + goto yy1284; + } + } yy1286: + YYDEBUG(1286, *YYCURSOR); yyaccept = 27; - YYMARKER = ++YYCURSOR; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych != '\t') goto yy1284; + } else { + if (yych <= ' ') goto yy1287; + if (yych <= '@') goto yy1284; + goto yy1289; + } + } else { + if (yych <= '`') { + if (yych == 'P') goto yy1289; + goto yy1284; + } else { + if (yych <= 'a') goto yy1289; + if (yych == 'p') goto yy1289; + goto yy1284; + } + } +yy1287: + YYDEBUG(1287, *YYCURSOR); + ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; -yy1287: + YYDEBUG(1288, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { - if (yych == '\t') goto yy1286; - goto yy1284; + if (yych == '\t') goto yy1287; + goto yy56; } else { - if (yych <= ' ') goto yy1286; - if (yych <= '@') goto yy1284; + if (yych <= ' ') goto yy1287; + if (yych <= '@') goto yy56; } } else { if (yych <= '`') { - if (yych != 'P') goto yy1284; + if (yych != 'P') goto yy56; } else { - if (yych <= 'a') goto yy1288; - if (yych != 'p') goto yy1284; + if (yych <= 'a') goto yy1289; + if (yych != 'p') goto yy56; } } -yy1288: +yy1289: + YYDEBUG(1289, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy56; } else { - if (yych <= 'M') goto yy1290; - if (yych == 'm') goto yy1290; + if (yych <= 'M') goto yy1291; + if (yych == 'm') goto yy1291; goto yy56; } + YYDEBUG(1290, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy1290; + if (yych == 'M') goto yy1291; if (yych != 'm') goto yy56; -yy1290: +yy1291: + YYDEBUG(1291, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1292; - if (yych == '\t') goto yy1292; + if (yych <= 0x00) goto yy1293; + if (yych == '\t') goto yy1293; goto yy56; } else { - if (yych <= ' ') goto yy1292; + if (yych <= ' ') goto yy1293; if (yych != '.') goto yy56; } + YYDEBUG(1292, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy1292; + if (yych <= 0x00) goto yy1293; if (yych <= 0x08) goto yy56; } else { if (yych != ' ') goto yy56; } -yy1292: +yy1293: + YYDEBUG(1293, *YYCURSOR); yych = *++YYCURSOR; goto yy1284; -yy1293: +yy1294: + YYDEBUG(1294, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { @@ -18397,13 +19758,14 @@ yy1293: if (yych <= '`') goto yy3; goto yy171; } else { - if (yych <= 'c') goto yy1294; + if (yych <= 'c') goto yy1295; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1294: +yy1295: + YYDEBUG(1295, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'J') { @@ -18427,13 +19789,14 @@ yy1294: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 'k') goto yy1295; + if (yych <= 'k') goto yy1296; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1295: +yy1296: + YYDEBUG(1296, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -18458,7 +19821,8 @@ yy1295: goto yy3; } } -yy1296: +yy1297: + YYDEBUG(1297, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -18474,12 +19838,13 @@ yy1296: if (yych <= '`') goto yy3; goto yy166; } else { - if (yych <= 's') goto yy1297; + if (yych <= 's') goto yy1298; if (yych <= 'z') goto yy166; goto yy3; } } -yy1297: +yy1298: + YYDEBUG(1298, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -18495,12 +19860,13 @@ yy1297: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 't') goto yy1298; + if (yych <= 't') goto yy1299; if (yych <= 'z') goto yy167; goto yy3; } } -yy1298: +yy1299: + YYDEBUG(1299, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { @@ -18521,19 +19887,23 @@ yy1298: goto yy3; } } -yy1299: +yy1300: + YYDEBUG(1300, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy1300; + if (yych == 'D') goto yy1301; if (yych != 'd') goto yy1070; -yy1300: +yy1301: + YYDEBUG(1301, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1301; + if (yych == 'A') goto yy1302; if (yych != 'a') goto yy56; -yy1301: +yy1302: + YYDEBUG(1302, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy1302; + if (yych == 'Y') goto yy1303; if (yych != 'y') goto yy56; -yy1302: +yy1303: + YYDEBUG(1303, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -18543,16 +19913,20 @@ yy1302: if (yych == 's') goto yy1109; goto yy1084; } + YYDEBUG(1304, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy1304; + if (yych == 'O') goto yy1305; if (yych != 'o') goto yy56; -yy1304: +yy1305: + YYDEBUG(1305, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy1305; + if (yych == 'F') goto yy1306; if (yych != 'f') goto yy56; -yy1305: +yy1306: + YYDEBUG(1306, *YYCURSOR); ++YYCURSOR; -#line 1079 "ext/date/lib/parse_date.re" + YYDEBUG(1307, *YYCURSOR); +#line 1095 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("firstdayof | lastdayof"); TIMELIB_INIT; @@ -18568,8 +19942,9 @@ yy1305: TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 18572 "ext/date/lib/parse_date.c" -yy1307: +#line 19946 "<stdout>" +yy1308: + YYDEBUG(1308, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -18584,7 +19959,7 @@ yy1307: } } else { if (yych <= '_') { - if (yych <= 'S') goto yy1297; + if (yych <= 'S') goto yy1298; if (yych <= 'Z') goto yy166; if (yych <= '^') goto yy3; goto yy172; @@ -18593,13 +19968,14 @@ yy1307: if (yych <= '`') goto yy3; goto yy171; } else { - if (yych <= 's') goto yy1308; + if (yych <= 's') goto yy1309; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1308: +yy1309: + YYDEBUG(1309, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -18614,7 +19990,7 @@ yy1308: } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1298; + if (yych <= 'T') goto yy1299; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -18623,20 +19999,21 @@ yy1308: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 't') goto yy1309; + if (yych <= 't') goto yy1310; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1309: +yy1310: + YYDEBUG(1310, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { if (yych == '\t') goto yy1069; if (yych <= 0x1F) goto yy3; - goto yy1299; + goto yy1300; } else { if (yych == ')') goto yy164; if (yych <= ',') goto yy3; @@ -18658,7 +20035,8 @@ yy1309: } } } -yy1310: +yy1311: + YYDEBUG(1311, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { @@ -18667,7 +20045,7 @@ yy1310: } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy166; - goto yy1346; + goto yy1348; } } else { if (yych <= 'a') { @@ -18675,35 +20053,37 @@ yy1310: if (yych <= '`') goto yy3; goto yy166; } else { - if (yych <= 'b') goto yy1346; + if (yych <= 'b') goto yy1348; if (yych <= 'z') goto yy166; goto yy3; } } -yy1311: +yy1312: + YYDEBUG(1312, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= '@') { if (yych == ')') goto yy164; goto yy3; } else { - if (yych == 'F') goto yy1336; + if (yych == 'F') goto yy1338; if (yych <= 'Q') goto yy166; - goto yy1335; + goto yy1337; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy166; if (yych <= '`') goto yy3; if (yych <= 'e') goto yy166; - goto yy1336; + goto yy1338; } else { - if (yych == 'r') goto yy1335; + if (yych == 'r') goto yy1337; if (yych <= 'z') goto yy166; goto yy3; } } -yy1312: +yy1313: + YYDEBUG(1313, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { @@ -18712,7 +20092,7 @@ yy1312: } else { if (yych <= '@') goto yy3; if (yych <= 'T') goto yy166; - goto yy1332; + goto yy1334; } } else { if (yych <= 't') { @@ -18720,19 +20100,20 @@ yy1312: if (yych <= '`') goto yy3; goto yy166; } else { - if (yych <= 'u') goto yy1332; + if (yych <= 'u') goto yy1334; if (yych <= 'z') goto yy166; goto yy3; } } -yy1313: +yy1314: + YYDEBUG(1314, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= '@') { if (yych == ')') goto yy164; goto yy3; } else { - if (yych == 'I') goto yy1315; + if (yych == 'I') goto yy1316; if (yych <= 'N') goto yy166; } } else { @@ -18740,14 +20121,15 @@ yy1313: if (yych <= 'Z') goto yy166; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy166; - goto yy1315; + goto yy1316; } else { - if (yych == 'o') goto yy1314; + if (yych == 'o') goto yy1315; if (yych <= 'z') goto yy166; goto yy3; } } -yy1314: +yy1315: + YYDEBUG(1315, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -18756,7 +20138,7 @@ yy1314: } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy167; - goto yy1318; + goto yy1319; } } else { if (yych <= 'm') { @@ -18764,12 +20146,13 @@ yy1314: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 'n') goto yy1318; + if (yych <= 'n') goto yy1319; if (yych <= 'z') goto yy167; goto yy3; } } -yy1315: +yy1316: + YYDEBUG(1316, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -18785,12 +20168,13 @@ yy1315: if (yych <= '`') goto yy191; goto yy167; } else { - if (yych <= 'd') goto yy1316; + if (yych <= 'd') goto yy1317; if (yych <= 'z') goto yy167; goto yy191; } } -yy1316: +yy1317: + YYDEBUG(1317, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy164; @@ -18800,12 +20184,13 @@ yy1316: if (yych <= 'Z') goto yy168; goto yy3; } else { - if (yych <= 'a') goto yy1317; + if (yych <= 'a') goto yy1318; if (yych <= 'z') goto yy168; goto yy3; } } -yy1317: +yy1318: + YYDEBUG(1318, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { @@ -18827,7 +20212,8 @@ yy1317: goto yy3; } } -yy1318: +yy1319: + YYDEBUG(1319, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -18843,16 +20229,17 @@ yy1318: if (yych <= '`') goto yy3; goto yy168; } else { - if (yych <= 't') goto yy1319; + if (yych <= 't') goto yy1320; if (yych <= 'z') goto yy168; goto yy3; } } -yy1319: +yy1320: + YYDEBUG(1320, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { - if (yych == ' ') goto yy1320; + if (yych == ' ') goto yy1321; if (yych <= '(') goto yy3; goto yy164; } else { @@ -18865,88 +20252,157 @@ yy1319: goto yy3; } } -yy1320: +yy1321: + YYDEBUG(1321, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy1321; + if (yych == 'O') goto yy1322; if (yych != 'o') goto yy56; -yy1321: +yy1322: + YYDEBUG(1322, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy1322; + if (yych == 'F') goto yy1323; if (yych != 'f') goto yy56; -yy1322: +yy1323: + YYDEBUG(1323, *YYCURSOR); yych = *++YYCURSOR; if (yych != ' ') goto yy56; + YYDEBUG(1324, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1324; - if (yych <= '2') goto yy1325; - if (yych <= '9') goto yy1326; + if (yych <= '1') goto yy1325; + if (yych <= '2') goto yy1326; + if (yych <= '9') goto yy1327; goto yy56; -yy1324: - yyaccept = 27; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1327; - if (yych <= '9') goto yy1326; - goto yy1327; yy1325: + YYDEBUG(1325, *YYCURSOR); yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1327; - if (yych >= '5') goto yy1327; + if (yych <= '@') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1328; + goto yy1284; + } else { + if (yych <= ' ') goto yy1328; + if (yych <= '/') goto yy1284; + if (yych <= '9') goto yy1327; + goto yy1284; + } + } else { + if (yych <= '`') { + if (yych <= 'A') goto yy1330; + if (yych == 'P') goto yy1330; + goto yy1284; + } else { + if (yych <= 'a') goto yy1330; + if (yych == 'p') goto yy1330; + goto yy1284; + } + } yy1326: + YYDEBUG(1326, *YYCURSOR); yyaccept = 27; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1328; + goto yy1284; + } else { + if (yych <= ' ') goto yy1328; + if (yych <= '/') goto yy1284; + if (yych >= '5') goto yy1284; + } + } else { + if (yych <= '`') { + if (yych <= 'A') goto yy1330; + if (yych == 'P') goto yy1330; + goto yy1284; + } else { + if (yych <= 'a') goto yy1330; + if (yych == 'p') goto yy1330; + goto yy1284; + } + } yy1327: + YYDEBUG(1327, *YYCURSOR); + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { - if (yych == '\t') goto yy1326; - goto yy1284; + if (yych != '\t') goto yy1284; } else { - if (yych <= ' ') goto yy1326; + if (yych <= ' ') goto yy1328; if (yych <= '@') goto yy1284; + goto yy1330; } } else { if (yych <= '`') { - if (yych != 'P') goto yy1284; + if (yych == 'P') goto yy1330; + goto yy1284; } else { - if (yych <= 'a') goto yy1328; - if (yych != 'p') goto yy1284; + if (yych <= 'a') goto yy1330; + if (yych == 'p') goto yy1330; + goto yy1284; } } yy1328: + YYDEBUG(1328, *YYCURSOR); + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + YYDEBUG(1329, *YYCURSOR); + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1328; + goto yy56; + } else { + if (yych <= ' ') goto yy1328; + if (yych <= '@') goto yy56; + } + } else { + if (yych <= '`') { + if (yych != 'P') goto yy56; + } else { + if (yych <= 'a') goto yy1330; + if (yych != 'p') goto yy56; + } + } +yy1330: + YYDEBUG(1330, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy56; } else { - if (yych <= 'M') goto yy1330; - if (yych == 'm') goto yy1330; + if (yych <= 'M') goto yy1332; + if (yych == 'm') goto yy1332; goto yy56; } + YYDEBUG(1331, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy1330; + if (yych == 'M') goto yy1332; if (yych != 'm') goto yy56; -yy1330: +yy1332: + YYDEBUG(1332, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1292; - if (yych == '\t') goto yy1292; + if (yych <= 0x00) goto yy1293; + if (yych == '\t') goto yy1293; goto yy56; } else { - if (yych <= ' ') goto yy1292; + if (yych <= ' ') goto yy1293; if (yych != '.') goto yy56; } + YYDEBUG(1333, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy1292; + if (yych <= 0x00) goto yy1293; if (yych <= 0x08) goto yy56; - goto yy1292; + goto yy1293; } else { - if (yych == ' ') goto yy1292; + if (yych == ' ') goto yy1293; goto yy56; } -yy1332: +yy1334: + YYDEBUG(1334, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -18962,12 +20418,13 @@ yy1332: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 'r') goto yy1333; + if (yych <= 'r') goto yy1335; if (yych <= 'z') goto yy167; goto yy3; } } -yy1333: +yy1335: + YYDEBUG(1335, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -18983,12 +20440,13 @@ yy1333: if (yych <= '`') goto yy3; goto yy168; } else { - if (yych <= 't') goto yy1334; + if (yych <= 't') goto yy1336; if (yych <= 'z') goto yy168; goto yy3; } } -yy1334: +yy1336: + YYDEBUG(1336, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -19010,7 +20468,8 @@ yy1334: goto yy3; } } -yy1335: +yy1337: + YYDEBUG(1337, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -19019,7 +20478,7 @@ yy1335: } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy167; - goto yy1338; + goto yy1340; } } else { if (yych <= 'r') { @@ -19027,12 +20486,13 @@ yy1335: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 's') goto yy1338; + if (yych <= 's') goto yy1340; if (yych <= 'z') goto yy167; goto yy3; } } -yy1336: +yy1338: + YYDEBUG(1338, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -19048,12 +20508,13 @@ yy1336: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 't') goto yy1337; + if (yych <= 't') goto yy1339; if (yych <= 'z') goto yy167; goto yy3; } } -yy1337: +yy1339: + YYDEBUG(1339, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -19075,7 +20536,8 @@ yy1337: goto yy3; } } -yy1338: +yy1340: + YYDEBUG(1340, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -19091,12 +20553,13 @@ yy1338: if (yych <= '`') goto yy3; goto yy168; } else { - if (yych <= 't') goto yy1339; + if (yych <= 't') goto yy1341; if (yych <= 'z') goto yy168; goto yy3; } } -yy1339: +yy1341: + YYDEBUG(1341, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { @@ -19117,19 +20580,23 @@ yy1339: goto yy3; } } -yy1340: +yy1342: + YYDEBUG(1342, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy1341; + if (yych == 'D') goto yy1343; if (yych != 'd') goto yy1197; -yy1341: +yy1343: + YYDEBUG(1343, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1342; + if (yych == 'A') goto yy1344; if (yych != 'a') goto yy56; -yy1342: +yy1344: + YYDEBUG(1344, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy1343; + if (yych == 'Y') goto yy1345; if (yych != 'y') goto yy56; -yy1343: +yy1345: + YYDEBUG(1345, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -19139,15 +20606,18 @@ yy1343: if (yych == 's') goto yy1109; goto yy1084; } + YYDEBUG(1346, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy1345; + if (yych == 'O') goto yy1347; if (yych != 'o') goto yy56; -yy1345: +yy1347: + YYDEBUG(1347, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy1305; - if (yych == 'f') goto yy1305; + if (yych == 'F') goto yy1306; + if (yych == 'f') goto yy1306; goto yy56; -yy1346: +yy1348: + YYDEBUG(1348, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -19182,13 +20652,14 @@ yy1346: if (yych <= '`') goto yy218; goto yy167; } else { - if (yych <= 'r') goto yy1347; + if (yych <= 'r') goto yy1349; if (yych <= 'z') goto yy167; goto yy218; } } } -yy1347: +yy1349: + YYDEBUG(1349, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { @@ -19204,12 +20675,13 @@ yy1347: if (yych <= '`') goto yy3; goto yy168; } else { - if (yych <= 'u') goto yy1348; + if (yych <= 'u') goto yy1350; if (yych <= 'z') goto yy168; goto yy3; } } -yy1348: +yy1350: + YYDEBUG(1350, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy164; @@ -19219,27 +20691,30 @@ yy1348: if (yych <= 'Z') goto yy169; goto yy3; } else { - if (yych <= 'a') goto yy1349; + if (yych <= 'a') goto yy1351; if (yych <= 'z') goto yy169; goto yy3; } } -yy1349: +yy1351: + YYDEBUG(1351, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy164; goto yy3; } else { - if (yych <= 'R') goto yy1350; + if (yych <= 'R') goto yy1352; if (yych != 'r') goto yy3; } -yy1350: +yy1352: + YYDEBUG(1352, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy229; if (yych == 'y') goto yy229; goto yy56; -yy1351: +yy1353: + YYDEBUG(1353, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { @@ -19254,7 +20729,7 @@ yy1351: } } else { if (yych <= '_') { - if (yych <= 'B') goto yy1346; + if (yych <= 'B') goto yy1348; if (yych <= 'Z') goto yy166; if (yych <= '^') goto yy3; goto yy172; @@ -19263,13 +20738,14 @@ yy1351: if (yych <= '`') goto yy3; goto yy171; } else { - if (yych <= 'b') goto yy1369; + if (yych <= 'b') goto yy1371; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1352: +yy1354: + YYDEBUG(1354, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -19286,14 +20762,14 @@ yy1352: if (yych <= '/') goto yy172; goto yy3; } else { - if (yych == 'F') goto yy1336; + if (yych == 'F') goto yy1338; goto yy166; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'R') goto yy1335; + if (yych <= 'R') goto yy1337; goto yy166; } else { if (yych == '_') goto yy172; @@ -19301,16 +20777,17 @@ yy1352: } } else { if (yych <= 'q') { - if (yych == 'f') goto yy1365; + if (yych == 'f') goto yy1367; goto yy171; } else { - if (yych <= 'r') goto yy1364; + if (yych <= 'r') goto yy1366; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1353: +yy1355: + YYDEBUG(1355, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -19325,7 +20802,7 @@ yy1353: } } else { if (yych <= '_') { - if (yych <= 'U') goto yy1332; + if (yych <= 'U') goto yy1334; if (yych <= 'Z') goto yy166; if (yych <= '^') goto yy3; goto yy172; @@ -19334,13 +20811,14 @@ yy1353: if (yych <= '`') goto yy3; goto yy171; } else { - if (yych <= 'u') goto yy1361; + if (yych <= 'u') goto yy1363; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1354: +yy1356: + YYDEBUG(1356, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -19357,14 +20835,14 @@ yy1354: if (yych <= '/') goto yy172; goto yy3; } else { - if (yych == 'I') goto yy1315; + if (yych == 'I') goto yy1316; goto yy166; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'O') goto yy1314; + if (yych <= 'O') goto yy1315; goto yy166; } else { if (yych == '_') goto yy172; @@ -19372,16 +20850,17 @@ yy1354: } } else { if (yych <= 'n') { - if (yych == 'i') goto yy1356; + if (yych == 'i') goto yy1358; goto yy171; } else { - if (yych <= 'o') goto yy1355; + if (yych <= 'o') goto yy1357; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1355: +yy1357: + YYDEBUG(1357, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -19396,7 +20875,7 @@ yy1355: } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1318; + if (yych <= 'N') goto yy1319; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -19405,13 +20884,14 @@ yy1355: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 'n') goto yy1359; + if (yych <= 'n') goto yy1361; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1356: +yy1358: + YYDEBUG(1358, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -19426,7 +20906,7 @@ yy1356: } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1316; + if (yych <= 'D') goto yy1317; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy191; goto yy172; @@ -19435,13 +20915,14 @@ yy1356: if (yych <= '`') goto yy191; goto yy175; } else { - if (yych <= 'd') goto yy1357; + if (yych <= 'd') goto yy1359; if (yych <= 'z') goto yy175; goto yy191; } } } -yy1357: +yy1359: + YYDEBUG(1359, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -19455,18 +20936,19 @@ yy1357: } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1317; + if (yych <= 'A') goto yy1318; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1358; + if (yych <= 'a') goto yy1360; if (yych <= 'z') goto yy176; goto yy3; } } -yy1358: +yy1360: + YYDEBUG(1360, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -19496,7 +20978,8 @@ yy1358: } } } -yy1359: +yy1361: + YYDEBUG(1361, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -19511,7 +20994,7 @@ yy1359: } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1319; + if (yych <= 'T') goto yy1320; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; @@ -19520,18 +21003,19 @@ yy1359: if (yych <= '`') goto yy3; goto yy176; } else { - if (yych <= 't') goto yy1360; + if (yych <= 't') goto yy1362; if (yych <= 'z') goto yy176; goto yy3; } } } -yy1360: +yy1362: + YYDEBUG(1362, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= '(') { - if (yych == ' ') goto yy1320; + if (yych == ' ') goto yy1321; goto yy3; } else { if (yych <= ')') goto yy164; @@ -19551,7 +21035,8 @@ yy1360: goto yy3; } } -yy1361: +yy1363: + YYDEBUG(1363, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -19566,7 +21051,7 @@ yy1361: } } else { if (yych <= '_') { - if (yych <= 'R') goto yy1333; + if (yych <= 'R') goto yy1335; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -19575,13 +21060,14 @@ yy1361: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 'r') goto yy1362; + if (yych <= 'r') goto yy1364; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1362: +yy1364: + YYDEBUG(1364, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -19596,7 +21082,7 @@ yy1362: } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1334; + if (yych <= 'T') goto yy1336; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; @@ -19605,13 +21091,14 @@ yy1362: if (yych <= '`') goto yy3; goto yy176; } else { - if (yych <= 't') goto yy1363; + if (yych <= 't') goto yy1365; if (yych <= 'z') goto yy176; goto yy3; } } } -yy1363: +yy1365: + YYDEBUG(1365, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -19641,7 +21128,8 @@ yy1363: } } } -yy1364: +yy1366: + YYDEBUG(1366, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -19656,7 +21144,7 @@ yy1364: } } else { if (yych <= '_') { - if (yych <= 'S') goto yy1338; + if (yych <= 'S') goto yy1340; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -19665,13 +21153,14 @@ yy1364: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 's') goto yy1367; + if (yych <= 's') goto yy1369; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1365: +yy1367: + YYDEBUG(1367, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -19686,7 +21175,7 @@ yy1365: } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1337; + if (yych <= 'T') goto yy1339; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -19695,13 +21184,14 @@ yy1365: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 't') goto yy1366; + if (yych <= 't') goto yy1368; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1366: +yy1368: + YYDEBUG(1368, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -19731,7 +21221,8 @@ yy1366: } } } -yy1367: +yy1369: + YYDEBUG(1369, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -19746,7 +21237,7 @@ yy1367: } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1339; + if (yych <= 'T') goto yy1341; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; @@ -19755,20 +21246,21 @@ yy1367: if (yych <= '`') goto yy3; goto yy176; } else { - if (yych <= 't') goto yy1368; + if (yych <= 't') goto yy1370; if (yych <= 'z') goto yy176; goto yy3; } } } -yy1368: +yy1370: + YYDEBUG(1370, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { if (yych == '\t') goto yy1196; if (yych <= 0x1F) goto yy3; - goto yy1340; + goto yy1342; } else { if (yych == ')') goto yy164; if (yych <= ',') goto yy3; @@ -19790,7 +21282,8 @@ yy1368: } } } -yy1369: +yy1371: + YYDEBUG(1371, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -19818,7 +21311,7 @@ yy1369: if (yych <= '@') goto yy218; goto yy167; } else { - if (yych <= 'R') goto yy1347; + if (yych <= 'R') goto yy1349; if (yych <= 'Z') goto yy167; goto yy218; } @@ -19828,13 +21321,14 @@ yy1369: if (yych <= '`') goto yy218; goto yy175; } else { - if (yych <= 'r') goto yy1370; + if (yych <= 'r') goto yy1372; if (yych <= 'z') goto yy175; goto yy218; } } } -yy1370: +yy1372: + YYDEBUG(1372, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -19849,7 +21343,7 @@ yy1370: } } else { if (yych <= '_') { - if (yych <= 'U') goto yy1348; + if (yych <= 'U') goto yy1350; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; @@ -19858,13 +21352,14 @@ yy1370: if (yych <= '`') goto yy3; goto yy176; } else { - if (yych <= 'u') goto yy1371; + if (yych <= 'u') goto yy1373; if (yych <= 'z') goto yy176; goto yy3; } } } -yy1371: +yy1373: + YYDEBUG(1373, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -19878,18 +21373,19 @@ yy1371: } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1349; + if (yych <= 'A') goto yy1351; if (yych <= 'Z') goto yy169; if (yych <= '^') goto yy3; goto yy172; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1372; + if (yych <= 'a') goto yy1374; if (yych <= 'z') goto yy177; goto yy3; } } -yy1372: +yy1374: + YYDEBUG(1374, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -19903,34 +21399,39 @@ yy1372: } } else { if (yych <= '`') { - if (yych <= 'R') goto yy1350; + if (yych <= 'R') goto yy1352; if (yych == '_') goto yy172; goto yy3; } else { - if (yych == 'r') goto yy1373; + if (yych == 'r') goto yy1375; if (yych <= 'z') goto yy178; goto yy3; } } -yy1373: +yy1375: + YYDEBUG(1375, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy229; if (yych == 'y') goto yy341; goto yy179; -yy1374: +yy1376: + YYDEBUG(1376, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; -yy1375: +yy1377: + YYDEBUG(1377, *YYCURSOR); yyaccept = 28; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; - if (yych == '.') goto yy1378; - if (yych <= '/') goto yy1377; - if (yych <= '9') goto yy1375; -yy1377: -#line 1025 "ext/date/lib/parse_date.re" + YYDEBUG(1378, *YYCURSOR); + if (yych == '.') goto yy1380; + if (yych <= '/') goto yy1379; + if (yych <= '9') goto yy1377; +yy1379: + YYDEBUG(1379, *YYCURSOR); +#line 1041 "ext/date/lib/parse_date.re" { timelib_ull i; @@ -19945,7 +21446,7 @@ yy1377: 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->us = 0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; @@ -19955,30 +21456,38 @@ yy1377: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 19959 "ext/date/lib/parse_date.c" -yy1378: +#line 21460 "<stdout>" +yy1380: + YYDEBUG(1380, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(1381, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(1382, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(1383, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(1384, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(1385, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(1386, *YYCURSOR); ++YYCURSOR; -#line 1051 "ext/date/lib/parse_date.re" + YYDEBUG(1387, *YYCURSOR); +#line 1067 "ext/date/lib/parse_date.re" { - timelib_ull i, ms; + timelib_ull i, us; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); @@ -19987,14 +21496,14 @@ yy1378: TIMELIB_HAVE_TZ(); i = timelib_get_unsigned_nr((char **) &ptr, 24); - ms = timelib_get_unsigned_nr((char **) &ptr, 24); + us = 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->us = 0; s->time->relative.s += i; - s->time->relative.f = ((double) ms) / 1000000.0; + s->time->relative.us = us; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; @@ -20003,8 +21512,9 @@ yy1378: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 20007 "ext/date/lib/parse_date.c" -yy1386: +#line 21516 "<stdout>" +yy1388: + YYDEBUG(1388, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -20013,7 +21523,7 @@ yy1386: } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy166; - goto yy1427; + goto yy1429; } } else { if (yych <= 'm') { @@ -20021,58 +21531,61 @@ yy1386: if (yych <= '`') goto yy3; goto yy166; } else { - if (yych <= 'n') goto yy1427; + if (yych <= 'n') goto yy1429; if (yych <= 'z') goto yy166; goto yy3; } } -yy1387: +yy1389: + YYDEBUG(1389, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy164; goto yy3; } else { - if (yych == 'I') goto yy1419; + if (yych == 'I') goto yy1421; if (yych <= 'T') goto yy166; - goto yy1420; + goto yy1422; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy166; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy166; - goto yy1419; + goto yy1421; } else { - if (yych == 'u') goto yy1420; + if (yych == 'u') goto yy1422; if (yych <= 'z') goto yy166; goto yy3; } } -yy1388: +yy1390: + YYDEBUG(1390, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= '@') { if (yych == ')') goto yy164; goto yy3; } else { - if (yych == 'D') goto yy1408; + if (yych == 'D') goto yy1410; if (yych <= 'L') goto yy166; - goto yy1409; + goto yy1411; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy166; if (yych <= '`') goto yy3; if (yych <= 'c') goto yy166; - goto yy1408; + goto yy1410; } else { - if (yych == 'm') goto yy1409; + if (yych == 'm') goto yy1411; if (yych <= 'z') goto yy166; goto yy3; } } -yy1389: +yy1391: + YYDEBUG(1391, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -20081,7 +21594,7 @@ yy1389: } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy166; - goto yy1404; + goto yy1406; } } else { if (yych <= 'd') { @@ -20089,12 +21602,13 @@ yy1389: if (yych <= '`') goto yy3; goto yy166; } else { - if (yych <= 'e') goto yy1404; + if (yych <= 'e') goto yy1406; if (yych <= 'z') goto yy166; goto yy3; } } -yy1390: +yy1392: + YYDEBUG(1392, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -20103,7 +21617,7 @@ yy1390: } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy166; - goto yy1400; + goto yy1402; } } else { if (yych <= 'd') { @@ -20111,68 +21625,78 @@ yy1390: if (yych <= '`') goto yy3; goto yy166; } else { - if (yych <= 'e') goto yy1400; + if (yych <= 'e') goto yy1402; if (yych <= 'z') goto yy166; goto yy3; } } -yy1391: +yy1393: + YYDEBUG(1393, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy1029; goto yy56; } else { - if (yych <= '9') goto yy1394; + if (yych <= '9') goto yy1396; if (yych <= ':') goto yy1029; goto yy56; } -yy1392: +yy1394: + YYDEBUG(1394, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy1029; goto yy56; } else { - if (yych <= '4') goto yy1394; + if (yych <= '4') goto yy1396; if (yych == ':') goto yy1029; goto yy56; } -yy1393: +yy1395: + YYDEBUG(1395, *YYCURSOR); yych = *++YYCURSOR; if (yych == '.') goto yy1029; if (yych == ':') goto yy1029; goto yy56; -yy1394: +yy1396: + YYDEBUG(1396, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy1029; goto yy56; } else { - if (yych <= '5') goto yy1395; + if (yych <= '5') goto yy1397; if (yych == ':') goto yy1029; goto yy56; } -yy1395: +yy1397: + YYDEBUG(1397, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; + YYDEBUG(1398, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy1032; - if (yych <= '5') goto yy1397; - if (yych <= '6') goto yy1398; + if (yych <= '5') goto yy1399; + if (yych <= '6') goto yy1400; goto yy1032; -yy1397: +yy1399: + YYDEBUG(1399, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1399; + if (yych <= '9') goto yy1401; goto yy56; -yy1398: +yy1400: + YYDEBUG(1400, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy56; -yy1399: +yy1401: + YYDEBUG(1401, *YYCURSOR); yych = *++YYCURSOR; goto yy1040; -yy1400: +yy1402: + YYDEBUG(1402, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { @@ -20188,12 +21712,13 @@ yy1400: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 'l') goto yy1401; + if (yych <= 'l') goto yy1403; if (yych <= 'z') goto yy167; goto yy3; } } -yy1401: +yy1403: + YYDEBUG(1403, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'F') { if (yych <= ')') { @@ -20209,12 +21734,13 @@ yy1401: if (yych <= '`') goto yy3; goto yy168; } else { - if (yych <= 'f') goto yy1402; + if (yych <= 'f') goto yy1404; if (yych <= 'z') goto yy168; goto yy3; } } -yy1402: +yy1404: + YYDEBUG(1404, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -20230,12 +21756,13 @@ yy1402: if (yych <= '`') goto yy3; goto yy169; } else { - if (yych <= 't') goto yy1403; + if (yych <= 't') goto yy1405; if (yych <= 'z') goto yy169; goto yy3; } } -yy1403: +yy1405: + YYDEBUG(1405, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -20246,7 +21773,8 @@ yy1403: if (yych == 'h') goto yy1195; goto yy3; } -yy1404: +yy1406: + YYDEBUG(1406, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -20262,12 +21790,13 @@ yy1404: if (yych <= '`') goto yy191; goto yy167; } else { - if (yych <= 's') goto yy1405; + if (yych <= 's') goto yy1407; if (yych <= 'z') goto yy167; goto yy191; } } -yy1405: +yy1407: + YYDEBUG(1407, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -20283,12 +21812,13 @@ yy1405: if (yych <= '`') goto yy3; goto yy168; } else { - if (yych <= 'd') goto yy1406; + if (yych <= 'd') goto yy1408; if (yych <= 'z') goto yy168; goto yy3; } } -yy1406: +yy1408: + YYDEBUG(1408, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy164; @@ -20298,12 +21828,13 @@ yy1406: if (yych <= 'Z') goto yy169; goto yy3; } else { - if (yych <= 'a') goto yy1407; + if (yych <= 'a') goto yy1409; if (yych <= 'z') goto yy169; goto yy3; } } -yy1407: +yy1409: + YYDEBUG(1409, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy164; @@ -20313,23 +21844,25 @@ yy1407: if (yych == 'y') goto yy197; goto yy3; } -yy1408: +yy1410: + YYDEBUG(1410, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy164; if (yych <= '@') goto yy3; - goto yy1416; + goto yy1418; } else { if (yych <= '`') { if (yych <= 'Z') goto yy167; goto yy3; } else { - if (yych <= 'a') goto yy1416; + if (yych <= 'a') goto yy1418; if (yych <= 'z') goto yy167; goto yy3; } } -yy1409: +yy1411: + YYDEBUG(1411, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { @@ -20345,12 +21878,13 @@ yy1409: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 'o') goto yy1410; + if (yych <= 'o') goto yy1412; if (yych <= 'z') goto yy167; goto yy3; } } -yy1410: +yy1412: + YYDEBUG(1412, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -20366,12 +21900,13 @@ yy1410: if (yych <= '`') goto yy3; goto yy168; } else { - if (yych <= 'r') goto yy1411; + if (yych <= 'r') goto yy1413; if (yych <= 'z') goto yy168; goto yy3; } } -yy1411: +yy1413: + YYDEBUG(1413, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -20387,29 +21922,33 @@ yy1411: if (yych <= '`') goto yy3; goto yy169; } else { - if (yych <= 'r') goto yy1412; + if (yych <= 'r') goto yy1414; if (yych <= 'z') goto yy169; goto yy3; } } -yy1412: +yy1414: + YYDEBUG(1414, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych == ')') goto yy164; goto yy3; } else { - if (yych <= 'O') goto yy1413; + if (yych <= 'O') goto yy1415; if (yych != 'o') goto yy3; } -yy1413: +yy1415: + YYDEBUG(1415, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy1414; + if (yych == 'W') goto yy1416; if (yych != 'w') goto yy56; -yy1414: +yy1416: + YYDEBUG(1416, *YYCURSOR); ++YYCURSOR; -yy1415: -#line 1013 "ext/date/lib/parse_date.re" +yy1417: + YYDEBUG(1417, *YYCURSOR); +#line 1029 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; @@ -20420,8 +21959,9 @@ yy1415: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 20424 "ext/date/lib/parse_date.c" -yy1416: +#line 21963 "<stdout>" +yy1418: + YYDEBUG(1418, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { @@ -20437,22 +21977,24 @@ yy1416: if (yych <= '`') goto yy3; goto yy168; } else { - if (yych <= 'y') goto yy1417; + if (yych <= 'y') goto yy1419; if (yych <= 'z') goto yy168; goto yy3; } } -yy1417: +yy1419: + YYDEBUG(1419, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy164; } else { if (yych <= 'Z') goto yy169; - if (yych <= '`') goto yy1418; + if (yych <= '`') goto yy1420; if (yych <= 'z') goto yy169; } -yy1418: -#line 1003 "ext/date/lib/parse_date.re" +yy1420: + YYDEBUG(1420, *YYCURSOR); +#line 1019 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; @@ -20461,8 +22003,9 @@ yy1418: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 20465 "ext/date/lib/parse_date.c" -yy1419: +#line 22007 "<stdout>" +yy1421: + YYDEBUG(1421, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= '@') { @@ -20470,8 +22013,8 @@ yy1419: goto yy3; } else { if (yych <= 'Q') goto yy167; - if (yych <= 'R') goto yy1425; - goto yy1426; + if (yych <= 'R') goto yy1427; + goto yy1428; } } else { if (yych <= 'q') { @@ -20479,13 +22022,14 @@ yy1419: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 'r') goto yy1425; - if (yych <= 's') goto yy1426; + if (yych <= 'r') goto yy1427; + if (yych <= 's') goto yy1428; if (yych <= 'z') goto yy167; goto yy3; } } -yy1420: +yy1422: + YYDEBUG(1422, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -20501,12 +22045,13 @@ yy1420: if (yych <= '`') goto yy191; goto yy167; } else { - if (yych <= 'r') goto yy1421; + if (yych <= 'r') goto yy1423; if (yych <= 'z') goto yy167; goto yy191; } } -yy1421: +yy1423: + YYDEBUG(1423, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -20522,12 +22067,13 @@ yy1421: if (yych <= '`') goto yy3; goto yy168; } else { - if (yych <= 's') goto yy1422; + if (yych <= 's') goto yy1424; if (yych <= 'z') goto yy168; goto yy3; } } -yy1422: +yy1424: + YYDEBUG(1424, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -20543,27 +22089,30 @@ yy1422: if (yych <= '`') goto yy3; goto yy169; } else { - if (yych <= 'd') goto yy1423; + if (yych <= 'd') goto yy1425; if (yych <= 'z') goto yy169; goto yy3; } } -yy1423: +yy1425: + YYDEBUG(1425, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy164; goto yy3; } else { - if (yych <= 'A') goto yy1424; + if (yych <= 'A') goto yy1426; if (yych != 'a') goto yy3; } -yy1424: +yy1426: + YYDEBUG(1426, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy197; if (yych == 'y') goto yy197; goto yy56; -yy1425: +yy1427: + YYDEBUG(1427, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -20585,7 +22134,8 @@ yy1425: goto yy3; } } -yy1426: +yy1428: + YYDEBUG(1428, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { @@ -20607,7 +22157,8 @@ yy1426: goto yy3; } } -yy1427: +yy1429: + YYDEBUG(1429, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -20623,12 +22174,13 @@ yy1427: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 't') goto yy1428; + if (yych <= 't') goto yy1430; if (yych <= 'z') goto yy167; goto yy3; } } -yy1428: +yy1430: + YYDEBUG(1430, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -20650,7 +22202,8 @@ yy1428: goto yy3; } } -yy1429: +yy1431: + YYDEBUG(1431, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -20665,7 +22218,7 @@ yy1429: } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1427; + if (yych <= 'N') goto yy1429; if (yych <= 'Z') goto yy166; if (yych <= '^') goto yy3; goto yy172; @@ -20674,13 +22227,14 @@ yy1429: if (yych <= '`') goto yy3; goto yy171; } else { - if (yych <= 'n') goto yy1459; + if (yych <= 'n') goto yy1461; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1430: +yy1432: + YYDEBUG(1432, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -20697,14 +22251,14 @@ yy1430: if (yych <= '/') goto yy172; goto yy3; } else { - if (yych == 'I') goto yy1419; + if (yych == 'I') goto yy1421; goto yy166; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'U') goto yy1420; + if (yych <= 'U') goto yy1422; goto yy166; } else { if (yych == '_') goto yy172; @@ -20712,16 +22266,17 @@ yy1430: } } else { if (yych <= 't') { - if (yych == 'i') goto yy1451; + if (yych == 'i') goto yy1453; goto yy171; } else { - if (yych <= 'u') goto yy1452; + if (yych <= 'u') goto yy1454; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1431: +yy1433: + YYDEBUG(1433, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { @@ -20738,14 +22293,14 @@ yy1431: if (yych <= '/') goto yy172; goto yy3; } else { - if (yych == 'D') goto yy1408; + if (yych == 'D') goto yy1410; goto yy166; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'M') goto yy1409; + if (yych <= 'M') goto yy1411; goto yy166; } else { if (yych == '_') goto yy172; @@ -20753,16 +22308,17 @@ yy1431: } } else { if (yych <= 'l') { - if (yych == 'd') goto yy1442; + if (yych == 'd') goto yy1444; goto yy171; } else { - if (yych <= 'm') goto yy1443; + if (yych <= 'm') goto yy1445; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1432: +yy1434: + YYDEBUG(1434, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -20777,7 +22333,7 @@ yy1432: } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1404; + if (yych <= 'E') goto yy1406; if (yych <= 'Z') goto yy166; if (yych <= '^') goto yy3; goto yy172; @@ -20786,13 +22342,14 @@ yy1432: if (yych <= '`') goto yy3; goto yy171; } else { - if (yych <= 'e') goto yy1438; + if (yych <= 'e') goto yy1440; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1433: +yy1435: + YYDEBUG(1435, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -20807,7 +22364,7 @@ yy1433: } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1400; + if (yych <= 'E') goto yy1402; if (yych <= 'Z') goto yy166; if (yych <= '^') goto yy3; goto yy172; @@ -20816,13 +22373,14 @@ yy1433: if (yych <= '`') goto yy3; goto yy171; } else { - if (yych <= 'e') goto yy1434; + if (yych <= 'e') goto yy1436; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1434: +yy1436: + YYDEBUG(1436, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'K') { @@ -20837,7 +22395,7 @@ yy1434: } } else { if (yych <= '_') { - if (yych <= 'L') goto yy1401; + if (yych <= 'L') goto yy1403; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -20846,13 +22404,14 @@ yy1434: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 'l') goto yy1435; + if (yych <= 'l') goto yy1437; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1435: +yy1437: + YYDEBUG(1437, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { @@ -20867,7 +22426,7 @@ yy1435: } } else { if (yych <= '_') { - if (yych <= 'F') goto yy1402; + if (yych <= 'F') goto yy1404; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; @@ -20876,13 +22435,14 @@ yy1435: if (yych <= '`') goto yy3; goto yy176; } else { - if (yych <= 'f') goto yy1436; + if (yych <= 'f') goto yy1438; if (yych <= 'z') goto yy176; goto yy3; } } } -yy1436: +yy1438: + YYDEBUG(1438, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -20897,7 +22457,7 @@ yy1436: } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1403; + if (yych <= 'T') goto yy1405; if (yych <= 'Z') goto yy169; if (yych <= '^') goto yy3; goto yy172; @@ -20906,13 +22466,14 @@ yy1436: if (yych <= '`') goto yy3; goto yy177; } else { - if (yych <= 't') goto yy1437; + if (yych <= 't') goto yy1439; if (yych <= 'z') goto yy177; goto yy3; } } } -yy1437: +yy1439: + YYDEBUG(1439, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -20935,7 +22496,8 @@ yy1437: goto yy3; } } -yy1438: +yy1440: + YYDEBUG(1440, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -20950,7 +22512,7 @@ yy1438: } } else { if (yych <= '_') { - if (yych <= 'S') goto yy1405; + if (yych <= 'S') goto yy1407; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy191; goto yy172; @@ -20959,13 +22521,14 @@ yy1438: if (yych <= '`') goto yy191; goto yy175; } else { - if (yych <= 's') goto yy1439; + if (yych <= 's') goto yy1441; if (yych <= 'z') goto yy175; goto yy191; } } } -yy1439: +yy1441: + YYDEBUG(1441, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -20980,7 +22543,7 @@ yy1439: } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1406; + if (yych <= 'D') goto yy1408; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; @@ -20989,13 +22552,14 @@ yy1439: if (yych <= '`') goto yy3; goto yy176; } else { - if (yych <= 'd') goto yy1440; + if (yych <= 'd') goto yy1442; if (yych <= 'z') goto yy176; goto yy3; } } } -yy1440: +yy1442: + YYDEBUG(1442, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -21009,18 +22573,19 @@ yy1440: } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1407; + if (yych <= 'A') goto yy1409; if (yych <= 'Z') goto yy169; if (yych <= '^') goto yy3; goto yy172; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1441; + if (yych <= 'a') goto yy1443; if (yych <= 'z') goto yy177; goto yy3; } } -yy1441: +yy1443: + YYDEBUG(1443, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -21043,7 +22608,8 @@ yy1441: goto yy3; } } -yy1442: +yy1444: + YYDEBUG(1444, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -21057,18 +22623,19 @@ yy1442: } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1416; + if (yych <= 'A') goto yy1418; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1449; + if (yych <= 'a') goto yy1451; if (yych <= 'z') goto yy175; goto yy3; } } -yy1443: +yy1445: + YYDEBUG(1445, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -21083,7 +22650,7 @@ yy1443: } } else { if (yych <= '_') { - if (yych <= 'O') goto yy1410; + if (yych <= 'O') goto yy1412; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -21092,13 +22659,14 @@ yy1443: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 'o') goto yy1444; + if (yych <= 'o') goto yy1446; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1444: +yy1446: + YYDEBUG(1446, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -21113,7 +22681,7 @@ yy1444: } } else { if (yych <= '_') { - if (yych <= 'R') goto yy1411; + if (yych <= 'R') goto yy1413; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; @@ -21122,13 +22690,14 @@ yy1444: if (yych <= '`') goto yy3; goto yy176; } else { - if (yych <= 'r') goto yy1445; + if (yych <= 'r') goto yy1447; if (yych <= 'z') goto yy176; goto yy3; } } } -yy1445: +yy1447: + YYDEBUG(1447, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -21143,7 +22712,7 @@ yy1445: } } else { if (yych <= '_') { - if (yych <= 'R') goto yy1412; + if (yych <= 'R') goto yy1414; if (yych <= 'Z') goto yy169; if (yych <= '^') goto yy3; goto yy172; @@ -21152,13 +22721,14 @@ yy1445: if (yych <= '`') goto yy3; goto yy177; } else { - if (yych <= 'r') goto yy1446; + if (yych <= 'r') goto yy1448; if (yych <= 'z') goto yy177; goto yy3; } } } -yy1446: +yy1448: + YYDEBUG(1448, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -21172,19 +22742,21 @@ yy1446: } } else { if (yych <= '`') { - if (yych <= 'O') goto yy1413; + if (yych <= 'O') goto yy1415; if (yych == '_') goto yy172; goto yy3; } else { - if (yych == 'o') goto yy1447; + if (yych == 'o') goto yy1449; if (yych <= 'z') goto yy178; goto yy3; } } -yy1447: +yy1449: + YYDEBUG(1449, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy1414; + if (yych == 'W') goto yy1416; if (yych != 'w') goto yy179; + YYDEBUG(1450, *YYCURSOR); yyaccept = 29; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -21192,13 +22764,14 @@ yy1447: } if (yych <= '.') { if (yych == '-') goto yy172; - goto yy1415; + goto yy1417; } else { if (yych <= '/') goto yy172; if (yych == '_') goto yy172; - goto yy1415; + goto yy1417; } -yy1449: +yy1451: + YYDEBUG(1451, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -21213,7 +22786,7 @@ yy1449: } } else { if (yych <= '_') { - if (yych <= 'Y') goto yy1417; + if (yych <= 'Y') goto yy1419; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; @@ -21222,36 +22795,38 @@ yy1449: if (yych <= '`') goto yy3; goto yy176; } else { - if (yych <= 'y') goto yy1450; + if (yych <= 'y') goto yy1452; if (yych <= 'z') goto yy176; goto yy3; } } } -yy1450: +yy1452: + YYDEBUG(1452, *YYCURSOR); yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych == ')') goto yy164; - goto yy1418; + goto yy1420; } else { - if (yych == '.') goto yy1418; + if (yych == '.') goto yy1420; goto yy172; } } else { if (yych <= '^') { - if (yych <= '@') goto yy1418; + if (yych <= '@') goto yy1420; if (yych <= 'Z') goto yy169; - goto yy1418; + goto yy1420; } else { if (yych <= '_') goto yy172; - if (yych <= '`') goto yy1418; + if (yych <= '`') goto yy1420; if (yych <= 'z') goto yy177; - goto yy1418; + goto yy1420; } } -yy1451: +yy1453: + YYDEBUG(1453, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -21266,13 +22841,13 @@ yy1451: } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy167; - goto yy1425; + goto yy1427; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'S') goto yy1426; + if (yych <= 'S') goto yy1428; goto yy167; } else { if (yych == '_') goto yy172; @@ -21281,15 +22856,16 @@ yy1451: } else { if (yych <= 'r') { if (yych <= 'q') goto yy175; - goto yy1457; + goto yy1459; } else { - if (yych <= 's') goto yy1458; + if (yych <= 's') goto yy1460; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1452: +yy1454: + YYDEBUG(1454, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -21304,7 +22880,7 @@ yy1452: } } else { if (yych <= '_') { - if (yych <= 'R') goto yy1421; + if (yych <= 'R') goto yy1423; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy191; goto yy172; @@ -21313,13 +22889,14 @@ yy1452: if (yych <= '`') goto yy191; goto yy175; } else { - if (yych <= 'r') goto yy1453; + if (yych <= 'r') goto yy1455; if (yych <= 'z') goto yy175; goto yy191; } } } -yy1453: +yy1455: + YYDEBUG(1455, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -21334,7 +22911,7 @@ yy1453: } } else { if (yych <= '_') { - if (yych <= 'S') goto yy1422; + if (yych <= 'S') goto yy1424; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; @@ -21343,13 +22920,14 @@ yy1453: if (yych <= '`') goto yy3; goto yy176; } else { - if (yych <= 's') goto yy1454; + if (yych <= 's') goto yy1456; if (yych <= 'z') goto yy176; goto yy3; } } } -yy1454: +yy1456: + YYDEBUG(1456, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -21364,7 +22942,7 @@ yy1454: } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1423; + if (yych <= 'D') goto yy1425; if (yych <= 'Z') goto yy169; if (yych <= '^') goto yy3; goto yy172; @@ -21373,13 +22951,14 @@ yy1454: if (yych <= '`') goto yy3; goto yy177; } else { - if (yych <= 'd') goto yy1455; + if (yych <= 'd') goto yy1457; if (yych <= 'z') goto yy177; goto yy3; } } } -yy1455: +yy1457: + YYDEBUG(1457, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -21393,22 +22972,24 @@ yy1455: } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1424; + if (yych <= 'A') goto yy1426; if (yych <= '^') goto yy3; goto yy172; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1456; + if (yych <= 'a') goto yy1458; if (yych <= 'z') goto yy178; goto yy3; } } -yy1456: +yy1458: + YYDEBUG(1458, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy197; if (yych == 'y') goto yy210; goto yy179; -yy1457: +yy1459: + YYDEBUG(1459, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -21438,7 +23019,8 @@ yy1457: } } } -yy1458: +yy1460: + YYDEBUG(1460, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { @@ -21467,7 +23049,8 @@ yy1458: } } } -yy1459: +yy1461: + YYDEBUG(1461, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -21482,7 +23065,7 @@ yy1459: } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1428; + if (yych <= 'T') goto yy1430; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -21491,13 +23074,14 @@ yy1459: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 't') goto yy1460; + if (yych <= 't') goto yy1462; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1460: +yy1462: + YYDEBUG(1462, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -21527,30 +23111,32 @@ yy1460: } } } -yy1461: +yy1463: + YYDEBUG(1463, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= '@') { if (yych == ')') goto yy164; goto yy3; } else { - if (yych == 'R') goto yy1473; + if (yych == 'R') goto yy1475; if (yych <= 'X') goto yy166; - goto yy1474; + goto yy1476; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy166; if (yych <= '`') goto yy3; if (yych <= 'q') goto yy166; - goto yy1473; + goto yy1475; } else { - if (yych == 'y') goto yy1474; + if (yych == 'y') goto yy1476; if (yych <= 'z') goto yy166; goto yy3; } } -yy1462: +yy1464: + YYDEBUG(1464, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -21559,7 +23145,7 @@ yy1462: } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy166; - goto yy1467; + goto yy1469; } } else { if (yych <= 'c') { @@ -21567,12 +23153,13 @@ yy1462: if (yych <= '`') goto yy3; goto yy166; } else { - if (yych <= 'd') goto yy1467; + if (yych <= 'd') goto yy1469; if (yych <= 'z') goto yy166; goto yy3; } } -yy1463: +yy1465: + YYDEBUG(1465, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -21588,12 +23175,13 @@ yy1463: if (yych <= '`') goto yy3; goto yy166; } else { - if (yych <= 'n') goto yy1464; + if (yych <= 'n') goto yy1466; if (yych <= 'z') goto yy166; goto yy3; } } -yy1464: +yy1466: + YYDEBUG(1466, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -21609,12 +23197,13 @@ yy1464: if (yych <= '`') goto yy191; goto yy167; } else { - if (yych <= 'd') goto yy1465; + if (yych <= 'd') goto yy1467; if (yych <= 'z') goto yy167; goto yy191; } } -yy1465: +yy1467: + YYDEBUG(1467, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy164; @@ -21624,12 +23213,13 @@ yy1465: if (yych <= 'Z') goto yy168; goto yy3; } else { - if (yych <= 'a') goto yy1466; + if (yych <= 'a') goto yy1468; if (yych <= 'z') goto yy168; goto yy3; } } -yy1466: +yy1468: + YYDEBUG(1468, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { @@ -21651,7 +23241,8 @@ yy1466: goto yy3; } } -yy1467: +yy1469: + YYDEBUG(1469, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -21667,12 +23258,13 @@ yy1467: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 'n') goto yy1468; + if (yych <= 'n') goto yy1470; if (yych <= 'z') goto yy167; goto yy3; } } -yy1468: +yy1470: + YYDEBUG(1470, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { @@ -21688,12 +23280,13 @@ yy1468: if (yych <= '`') goto yy3; goto yy168; } else { - if (yych <= 'i') goto yy1469; + if (yych <= 'i') goto yy1471; if (yych <= 'z') goto yy168; goto yy3; } } -yy1469: +yy1471: + YYDEBUG(1471, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { @@ -21709,29 +23302,33 @@ yy1469: if (yych <= '`') goto yy3; goto yy169; } else { - if (yych <= 'g') goto yy1470; + if (yych <= 'g') goto yy1472; if (yych <= 'z') goto yy169; goto yy3; } } -yy1470: +yy1472: + YYDEBUG(1472, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy164; goto yy3; } else { - if (yych <= 'H') goto yy1471; + if (yych <= 'H') goto yy1473; if (yych != 'h') goto yy3; } -yy1471: +yy1473: + YYDEBUG(1473, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy1472; + if (yych == 'T') goto yy1474; if (yych != 't') goto yy56; -yy1472: +yy1474: + YYDEBUG(1474, *YYCURSOR); yych = *++YYCURSOR; - goto yy1418; -yy1473: + goto yy1420; +yy1475: + YYDEBUG(1475, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -21759,7 +23356,7 @@ yy1473: if (yych <= '9') goto yy220; goto yy218; } else { - if (yych == 'C') goto yy1475; + if (yych == 'C') goto yy1477; goto yy167; } } else { @@ -21767,13 +23364,14 @@ yy1473: if (yych <= '`') goto yy218; goto yy167; } else { - if (yych <= 'c') goto yy1475; + if (yych <= 'c') goto yy1477; if (yych <= 'z') goto yy167; goto yy218; } } } -yy1474: +yy1476: + YYDEBUG(1476, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { @@ -21798,7 +23396,8 @@ yy1474: goto yy218; } } -yy1475: +yy1477: + YYDEBUG(1477, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -21820,7 +23419,8 @@ yy1475: goto yy3; } } -yy1476: +yy1478: + YYDEBUG(1478, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -21837,14 +23437,14 @@ yy1476: if (yych <= '/') goto yy172; goto yy3; } else { - if (yych == 'R') goto yy1473; + if (yych == 'R') goto yy1475; goto yy166; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'Y') goto yy1474; + if (yych <= 'Y') goto yy1476; goto yy166; } else { if (yych == '_') goto yy172; @@ -21852,16 +23452,17 @@ yy1476: } } else { if (yych <= 'x') { - if (yych == 'r') goto yy1488; + if (yych == 'r') goto yy1490; goto yy171; } else { - if (yych <= 'y') goto yy1489; + if (yych <= 'y') goto yy1491; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1477: +yy1479: + YYDEBUG(1479, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -21876,7 +23477,7 @@ yy1477: } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1467; + if (yych <= 'D') goto yy1469; if (yych <= 'Z') goto yy166; if (yych <= '^') goto yy3; goto yy172; @@ -21885,13 +23486,14 @@ yy1477: if (yych <= '`') goto yy3; goto yy171; } else { - if (yych <= 'd') goto yy1482; + if (yych <= 'd') goto yy1484; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1478: +yy1480: + YYDEBUG(1480, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -21906,7 +23508,7 @@ yy1478: } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1464; + if (yych <= 'N') goto yy1466; if (yych <= 'Z') goto yy166; if (yych <= '^') goto yy3; goto yy172; @@ -21915,13 +23517,14 @@ yy1478: if (yych <= '`') goto yy3; goto yy171; } else { - if (yych <= 'n') goto yy1479; + if (yych <= 'n') goto yy1481; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1479: +yy1481: + YYDEBUG(1481, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -21936,7 +23539,7 @@ yy1479: } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1465; + if (yych <= 'D') goto yy1467; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy191; goto yy172; @@ -21945,13 +23548,14 @@ yy1479: if (yych <= '`') goto yy191; goto yy175; } else { - if (yych <= 'd') goto yy1480; + if (yych <= 'd') goto yy1482; if (yych <= 'z') goto yy175; goto yy191; } } } -yy1480: +yy1482: + YYDEBUG(1482, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -21965,18 +23569,19 @@ yy1480: } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1466; + if (yych <= 'A') goto yy1468; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1481; + if (yych <= 'a') goto yy1483; if (yych <= 'z') goto yy176; goto yy3; } } -yy1481: +yy1483: + YYDEBUG(1483, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -22006,7 +23611,8 @@ yy1481: } } } -yy1482: +yy1484: + YYDEBUG(1484, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -22021,7 +23627,7 @@ yy1482: } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1468; + if (yych <= 'N') goto yy1470; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -22030,13 +23636,14 @@ yy1482: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 'n') goto yy1483; + if (yych <= 'n') goto yy1485; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1483: +yy1485: + YYDEBUG(1485, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { @@ -22051,7 +23658,7 @@ yy1483: } } else { if (yych <= '_') { - if (yych <= 'I') goto yy1469; + if (yych <= 'I') goto yy1471; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; @@ -22060,13 +23667,14 @@ yy1483: if (yych <= '`') goto yy3; goto yy176; } else { - if (yych <= 'i') goto yy1484; + if (yych <= 'i') goto yy1486; if (yych <= 'z') goto yy176; goto yy3; } } } -yy1484: +yy1486: + YYDEBUG(1486, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { @@ -22081,7 +23689,7 @@ yy1484: } } else { if (yych <= '_') { - if (yych <= 'G') goto yy1470; + if (yych <= 'G') goto yy1472; if (yych <= 'Z') goto yy169; if (yych <= '^') goto yy3; goto yy172; @@ -22090,13 +23698,14 @@ yy1484: if (yych <= '`') goto yy3; goto yy177; } else { - if (yych <= 'g') goto yy1485; + if (yych <= 'g') goto yy1487; if (yych <= 'z') goto yy177; goto yy3; } } } -yy1485: +yy1487: + YYDEBUG(1487, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -22110,19 +23719,21 @@ yy1485: } } else { if (yych <= '`') { - if (yych <= 'H') goto yy1471; + if (yych <= 'H') goto yy1473; if (yych == '_') goto yy172; goto yy3; } else { - if (yych == 'h') goto yy1486; + if (yych == 'h') goto yy1488; if (yych <= 'z') goto yy178; goto yy3; } } -yy1486: +yy1488: + YYDEBUG(1488, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy1472; + if (yych == 'T') goto yy1474; if (yych != 't') goto yy179; + YYDEBUG(1489, *YYCURSOR); yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -22130,13 +23741,14 @@ yy1486: } if (yych <= '.') { if (yych == '-') goto yy172; - goto yy1418; + goto yy1420; } else { if (yych <= '/') goto yy172; if (yych == '_') goto yy172; - goto yy1418; + goto yy1420; } -yy1488: +yy1490: + YYDEBUG(1490, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -22164,7 +23776,7 @@ yy1488: if (yych <= '@') goto yy218; goto yy167; } else { - if (yych <= 'C') goto yy1475; + if (yych <= 'C') goto yy1477; if (yych <= 'Z') goto yy167; goto yy218; } @@ -22174,13 +23786,14 @@ yy1488: if (yych <= '`') goto yy218; goto yy175; } else { - if (yych <= 'c') goto yy1490; + if (yych <= 'c') goto yy1492; if (yych <= 'z') goto yy175; goto yy218; } } } -yy1489: +yy1491: + YYDEBUG(1491, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -22215,7 +23828,8 @@ yy1489: } } } -yy1490: +yy1492: + YYDEBUG(1492, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -22245,7 +23859,8 @@ yy1490: } } } -yy1491: +yy1493: + YYDEBUG(1493, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'W') { if (yych <= 'N') { @@ -22253,29 +23868,30 @@ yy1491: if (yych <= '@') goto yy3; goto yy166; } else { - if (yych <= 'O') goto yy1499; + if (yych <= 'O') goto yy1501; if (yych <= 'U') goto yy166; - if (yych <= 'V') goto yy1500; - goto yy1497; + if (yych <= 'V') goto yy1502; + goto yy1499; } } else { if (yych <= 'o') { if (yych <= 'Z') goto yy166; if (yych <= '`') goto yy3; if (yych <= 'n') goto yy166; - goto yy1499; + goto yy1501; } else { if (yych <= 'v') { if (yych <= 'u') goto yy166; - goto yy1500; + goto yy1502; } else { - if (yych <= 'w') goto yy1497; + if (yych <= 'w') goto yy1499; if (yych <= 'z') goto yy166; goto yy3; } } } -yy1492: +yy1494: + YYDEBUG(1494, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { @@ -22284,7 +23900,7 @@ yy1492: } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy166; - goto yy1496; + goto yy1498; } } else { if (yych <= 'w') { @@ -22292,12 +23908,13 @@ yy1492: if (yych <= '`') goto yy3; goto yy166; } else { - if (yych <= 'x') goto yy1496; + if (yych <= 'x') goto yy1498; if (yych <= 'z') goto yy166; goto yy3; } } -yy1493: +yy1495: + YYDEBUG(1495, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -22313,12 +23930,13 @@ yy1493: if (yych <= '`') goto yy3; goto yy166; } else { - if (yych <= 'n') goto yy1494; + if (yych <= 'n') goto yy1496; if (yych <= 'z') goto yy166; goto yy3; } } -yy1494: +yy1496: + YYDEBUG(1496, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -22334,12 +23952,13 @@ yy1494: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 't') goto yy1495; + if (yych <= 't') goto yy1497; if (yych <= 'z') goto yy167; goto yy3; } } -yy1495: +yy1497: + YYDEBUG(1497, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -22361,7 +23980,8 @@ yy1495: goto yy3; } } -yy1496: +yy1498: + YYDEBUG(1498, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -22370,7 +23990,7 @@ yy1496: } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy167; - goto yy1426; + goto yy1428; } } else { if (yych <= 's') { @@ -22378,22 +23998,24 @@ yy1496: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 't') goto yy1426; + if (yych <= 't') goto yy1428; if (yych <= 'z') goto yy167; goto yy3; } } -yy1497: +yy1499: + YYDEBUG(1499, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy164; } else { if (yych <= 'Z') goto yy167; - if (yych <= '`') goto yy1498; + if (yych <= '`') goto yy1500; if (yych <= 'z') goto yy167; } -yy1498: -#line 982 "ext/date/lib/parse_date.re" +yy1500: + YYDEBUG(1500, *YYCURSOR); +#line 998 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("now"); TIMELIB_INIT; @@ -22401,8 +24023,9 @@ yy1498: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22405 "ext/date/lib/parse_date.c" -yy1499: +#line 24027 "<stdout>" +yy1501: + YYDEBUG(1501, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -22411,7 +24034,7 @@ yy1499: } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy167; - goto yy1505; + goto yy1507; } } else { if (yych <= 'm') { @@ -22419,12 +24042,13 @@ yy1499: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 'n') goto yy1505; + if (yych <= 'n') goto yy1507; if (yych <= 'z') goto yy167; goto yy3; } } -yy1500: +yy1502: + YYDEBUG(1502, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -22459,13 +24083,14 @@ yy1500: if (yych <= '`') goto yy218; goto yy167; } else { - if (yych <= 'e') goto yy1501; + if (yych <= 'e') goto yy1503; if (yych <= 'z') goto yy167; goto yy218; } } } -yy1501: +yy1503: + YYDEBUG(1503, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { @@ -22481,12 +24106,13 @@ yy1501: if (yych <= '`') goto yy3; goto yy168; } else { - if (yych <= 'm') goto yy1502; + if (yych <= 'm') goto yy1504; if (yych <= 'z') goto yy168; goto yy3; } } -yy1502: +yy1504: + YYDEBUG(1504, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { @@ -22502,37 +24128,41 @@ yy1502: if (yych <= '`') goto yy3; goto yy169; } else { - if (yych <= 'b') goto yy1503; + if (yych <= 'b') goto yy1505; if (yych <= 'z') goto yy169; goto yy3; } } -yy1503: +yy1505: + YYDEBUG(1505, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy164; goto yy3; } else { - if (yych <= 'E') goto yy1504; + if (yych <= 'E') goto yy1506; if (yych != 'e') goto yy3; } -yy1504: +yy1506: + YYDEBUG(1506, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy229; if (yych == 'r') goto yy229; goto yy56; -yy1505: +yy1507: + YYDEBUG(1507, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy164; } else { if (yych <= 'Z') goto yy168; - if (yych <= '`') goto yy1506; + if (yych <= '`') goto yy1508; if (yych <= 'z') goto yy168; } -yy1506: -#line 991 "ext/date/lib/parse_date.re" +yy1508: + YYDEBUG(1508, *YYCURSOR); +#line 1007 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("noon"); TIMELIB_INIT; @@ -22543,8 +24173,9 @@ yy1506: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22547 "ext/date/lib/parse_date.c" -yy1507: +#line 24177 "<stdout>" +yy1509: + YYDEBUG(1509, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { @@ -22562,15 +24193,15 @@ yy1507: if (yych <= '@') goto yy3; goto yy166; } else { - if (yych <= 'O') goto yy1499; + if (yych <= 'O') goto yy1501; if (yych <= 'U') goto yy166; - goto yy1500; + goto yy1502; } } } else { if (yych <= 'n') { if (yych <= '^') { - if (yych <= 'W') goto yy1497; + if (yych <= 'W') goto yy1499; if (yych <= 'Z') goto yy166; goto yy3; } else { @@ -22580,17 +24211,18 @@ yy1507: } } else { if (yych <= 'v') { - if (yych <= 'o') goto yy1514; + if (yych <= 'o') goto yy1516; if (yych <= 'u') goto yy171; - goto yy1515; + goto yy1517; } else { - if (yych <= 'w') goto yy1513; + if (yych <= 'w') goto yy1515; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1508: +yy1510: + YYDEBUG(1510, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -22605,7 +24237,7 @@ yy1508: } } else { if (yych <= '_') { - if (yych <= 'X') goto yy1496; + if (yych <= 'X') goto yy1498; if (yych <= 'Z') goto yy166; if (yych <= '^') goto yy3; goto yy172; @@ -22614,13 +24246,14 @@ yy1508: if (yych <= '`') goto yy3; goto yy171; } else { - if (yych <= 'x') goto yy1512; + if (yych <= 'x') goto yy1514; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1509: +yy1511: + YYDEBUG(1511, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -22635,7 +24268,7 @@ yy1509: } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1494; + if (yych <= 'N') goto yy1496; if (yych <= 'Z') goto yy166; if (yych <= '^') goto yy3; goto yy172; @@ -22644,13 +24277,14 @@ yy1509: if (yych <= '`') goto yy3; goto yy171; } else { - if (yych <= 'n') goto yy1510; + if (yych <= 'n') goto yy1512; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1510: +yy1512: + YYDEBUG(1512, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -22665,7 +24299,7 @@ yy1510: } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1495; + if (yych <= 'T') goto yy1497; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -22674,13 +24308,14 @@ yy1510: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 't') goto yy1511; + if (yych <= 't') goto yy1513; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1511: +yy1513: + YYDEBUG(1513, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -22710,7 +24345,8 @@ yy1511: } } } -yy1512: +yy1514: + YYDEBUG(1514, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -22725,7 +24361,7 @@ yy1512: } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1426; + if (yych <= 'T') goto yy1428; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -22734,36 +24370,38 @@ yy1512: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 't') goto yy1458; + if (yych <= 't') goto yy1460; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1513: +yy1515: + YYDEBUG(1515, *YYCURSOR); yyaccept = 31; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych == ')') goto yy164; - goto yy1498; + goto yy1500; } else { - if (yych == '.') goto yy1498; + if (yych == '.') goto yy1500; goto yy172; } } else { if (yych <= '^') { - if (yych <= '@') goto yy1498; + if (yych <= '@') goto yy1500; if (yych <= 'Z') goto yy167; - goto yy1498; + goto yy1500; } else { if (yych <= '_') goto yy172; - if (yych <= '`') goto yy1498; + if (yych <= '`') goto yy1500; if (yych <= 'z') goto yy175; - goto yy1498; + goto yy1500; } } -yy1514: +yy1516: + YYDEBUG(1516, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -22778,7 +24416,7 @@ yy1514: } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1505; + if (yych <= 'N') goto yy1507; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -22787,13 +24425,14 @@ yy1514: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 'n') goto yy1520; + if (yych <= 'n') goto yy1522; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1515: +yy1517: + YYDEBUG(1517, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -22821,7 +24460,7 @@ yy1515: if (yych <= '@') goto yy218; goto yy167; } else { - if (yych <= 'E') goto yy1501; + if (yych <= 'E') goto yy1503; if (yych <= 'Z') goto yy167; goto yy218; } @@ -22831,13 +24470,14 @@ yy1515: if (yych <= '`') goto yy218; goto yy175; } else { - if (yych <= 'e') goto yy1516; + if (yych <= 'e') goto yy1518; if (yych <= 'z') goto yy175; goto yy218; } } } -yy1516: +yy1518: + YYDEBUG(1518, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { @@ -22852,7 +24492,7 @@ yy1516: } } else { if (yych <= '_') { - if (yych <= 'M') goto yy1502; + if (yych <= 'M') goto yy1504; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; @@ -22861,13 +24501,14 @@ yy1516: if (yych <= '`') goto yy3; goto yy176; } else { - if (yych <= 'm') goto yy1517; + if (yych <= 'm') goto yy1519; if (yych <= 'z') goto yy176; goto yy3; } } } -yy1517: +yy1519: + YYDEBUG(1519, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { @@ -22882,7 +24523,7 @@ yy1517: } } else { if (yych <= '_') { - if (yych <= 'B') goto yy1503; + if (yych <= 'B') goto yy1505; if (yych <= 'Z') goto yy169; if (yych <= '^') goto yy3; goto yy172; @@ -22891,13 +24532,14 @@ yy1517: if (yych <= '`') goto yy3; goto yy177; } else { - if (yych <= 'b') goto yy1518; + if (yych <= 'b') goto yy1520; if (yych <= 'z') goto yy177; goto yy3; } } } -yy1518: +yy1520: + YYDEBUG(1520, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -22911,44 +24553,47 @@ yy1518: } } else { if (yych <= '`') { - if (yych <= 'E') goto yy1504; + if (yych <= 'E') goto yy1506; if (yych == '_') goto yy172; goto yy3; } else { - if (yych == 'e') goto yy1519; + if (yych == 'e') goto yy1521; if (yych <= 'z') goto yy178; goto yy3; } } -yy1519: +yy1521: + YYDEBUG(1521, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy229; if (yych == 'r') goto yy341; goto yy179; -yy1520: +yy1522: + YYDEBUG(1522, *YYCURSOR); yyaccept = 32; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych == ')') goto yy164; - goto yy1506; + goto yy1508; } else { - if (yych == '.') goto yy1506; + if (yych == '.') goto yy1508; goto yy172; } } else { if (yych <= '^') { - if (yych <= '@') goto yy1506; + if (yych <= '@') goto yy1508; if (yych <= 'Z') goto yy168; - goto yy1506; + goto yy1508; } else { if (yych <= '_') goto yy172; - if (yych <= '`') goto yy1506; + if (yych <= '`') goto yy1508; if (yych <= 'z') goto yy176; - goto yy1506; + goto yy1508; } } -yy1521: +yy1523: + YYDEBUG(1523, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -22964,12 +24609,13 @@ yy1521: if (yych <= '`') goto yy3; goto yy166; } else { - if (yych <= 's') goto yy1522; + if (yych <= 's') goto yy1524; if (yych <= 'z') goto yy166; goto yy3; } } -yy1522: +yy1524: + YYDEBUG(1524, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -22985,12 +24631,13 @@ yy1522: if (yych <= '`') goto yy3; goto yy167; } else { - if (yych <= 't') goto yy1523; + if (yych <= 't') goto yy1525; if (yych <= 'z') goto yy167; goto yy3; } } -yy1523: +yy1525: + YYDEBUG(1525, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -23006,12 +24653,13 @@ yy1523: if (yych <= '`') goto yy3; goto yy168; } else { - if (yych <= 'e') goto yy1524; + if (yych <= 'e') goto yy1526; if (yych <= 'z') goto yy168; goto yy3; } } -yy1524: +yy1526: + YYDEBUG(1526, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -23027,33 +24675,38 @@ yy1524: if (yych <= '`') goto yy3; goto yy169; } else { - if (yych <= 'r') goto yy1525; + if (yych <= 'r') goto yy1527; if (yych <= 'z') goto yy169; goto yy3; } } -yy1525: +yy1527: + YYDEBUG(1527, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy164; goto yy3; } else { - if (yych <= 'D') goto yy1526; + if (yych <= 'D') goto yy1528; if (yych != 'd') goto yy3; } -yy1526: +yy1528: + YYDEBUG(1528, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1527; + if (yych == 'A') goto yy1529; if (yych != 'a') goto yy56; -yy1527: +yy1529: + YYDEBUG(1529, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy1528; + if (yych == 'Y') goto yy1530; if (yych != 'y') goto yy56; -yy1528: +yy1530: + YYDEBUG(1530, *YYCURSOR); ++YYCURSOR; -yy1529: -#line 970 "ext/date/lib/parse_date.re" +yy1531: + YYDEBUG(1531, *YYCURSOR); +#line 986 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; @@ -23064,8 +24717,9 @@ yy1529: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 23068 "ext/date/lib/parse_date.c" -yy1530: +#line 24721 "<stdout>" +yy1532: + YYDEBUG(1532, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -23080,7 +24734,7 @@ yy1530: } } else { if (yych <= '_') { - if (yych <= 'S') goto yy1522; + if (yych <= 'S') goto yy1524; if (yych <= 'Z') goto yy166; if (yych <= '^') goto yy3; goto yy172; @@ -23089,13 +24743,14 @@ yy1530: if (yych <= '`') goto yy3; goto yy171; } else { - if (yych <= 's') goto yy1531; + if (yych <= 's') goto yy1533; if (yych <= 'z') goto yy171; goto yy3; } } } -yy1531: +yy1533: + YYDEBUG(1533, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -23110,7 +24765,7 @@ yy1531: } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1523; + if (yych <= 'T') goto yy1525; if (yych <= 'Z') goto yy167; if (yych <= '^') goto yy3; goto yy172; @@ -23119,13 +24774,14 @@ yy1531: if (yych <= '`') goto yy3; goto yy175; } else { - if (yych <= 't') goto yy1532; + if (yych <= 't') goto yy1534; if (yych <= 'z') goto yy175; goto yy3; } } } -yy1532: +yy1534: + YYDEBUG(1534, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -23140,7 +24796,7 @@ yy1532: } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1524; + if (yych <= 'E') goto yy1526; if (yych <= 'Z') goto yy168; if (yych <= '^') goto yy3; goto yy172; @@ -23149,13 +24805,14 @@ yy1532: if (yych <= '`') goto yy3; goto yy176; } else { - if (yych <= 'e') goto yy1533; + if (yych <= 'e') goto yy1535; if (yych <= 'z') goto yy176; goto yy3; } } } -yy1533: +yy1535: + YYDEBUG(1535, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -23170,7 +24827,7 @@ yy1533: } } else { if (yych <= '_') { - if (yych <= 'R') goto yy1525; + if (yych <= 'R') goto yy1527; if (yych <= 'Z') goto yy169; if (yych <= '^') goto yy3; goto yy172; @@ -23179,13 +24836,14 @@ yy1533: if (yych <= '`') goto yy3; goto yy177; } else { - if (yych <= 'r') goto yy1534; + if (yych <= 'r') goto yy1536; if (yych <= 'z') goto yy177; goto yy3; } } } -yy1534: +yy1536: + YYDEBUG(1536, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -23199,22 +24857,25 @@ yy1534: } } else { if (yych <= '`') { - if (yych <= 'D') goto yy1526; + if (yych <= 'D') goto yy1528; if (yych == '_') goto yy172; goto yy3; } else { - if (yych == 'd') goto yy1535; + if (yych == 'd') goto yy1537; if (yych <= 'z') goto yy178; goto yy3; } } -yy1535: +yy1537: + YYDEBUG(1537, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1527; + if (yych == 'A') goto yy1529; if (yych != 'a') goto yy179; + YYDEBUG(1538, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy1528; + if (yych == 'Y') goto yy1530; if (yych != 'y') goto yy179; + YYDEBUG(1539, *YYCURSOR); yyaccept = 33; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -23222,14 +24883,14 @@ yy1535: } if (yych <= '.') { if (yych == '-') goto yy172; - goto yy1529; + goto yy1531; } else { if (yych <= '/') goto yy172; if (yych == '_') goto yy172; - goto yy1529; + goto yy1531; } } -#line 1772 "ext/date/lib/parse_date.re" +#line 1788 "ext/date/lib/parse_date.re" } @@ -23258,13 +24919,13 @@ timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_contai } if (e - s < 0) { in.time = timelib_time_ctor(); - add_error(&in, "Empty string"); + add_error(&in, TIMELIB_ERR_EMPTY_STRING, "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->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->us = in.time->dst = in.time->z = TIMELIB_UNSET; in.time->is_localtime = in.time->zone_type = 0; return in.time; } @@ -23282,7 +24943,7 @@ timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_contai in.time->h = TIMELIB_UNSET; in.time->i = TIMELIB_UNSET; in.time->s = TIMELIB_UNSET; - in.time->f = TIMELIB_UNSET; + in.time->us = TIMELIB_UNSET; in.time->z = TIMELIB_UNSET; in.time->dst = TIMELIB_UNSET; in.tzdb = tzdb; @@ -23299,11 +24960,11 @@ timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_contai /* 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"); + add_warning(&in, TIMELIB_WARN_INVALID_TIME, "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"); + add_warning(&in, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid"); } timelib_free(in.str); @@ -23318,12 +24979,12 @@ timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_contai #define TIMELIB_CHECK_NUMBER \ if (strchr("0123456789", *ptr) == NULL) \ { \ - add_pbf_error(s, "Unexpected data found.", string, begin); \ + add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \ } #define TIMELIB_CHECK_SIGNED_NUMBER \ if (strchr("-0123456789", *ptr) == NULL) \ { \ - add_pbf_error(s, "Unexpected data found.", string, begin); \ + add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \ } static void timelib_time_reset_fields(timelib_time *time) @@ -23334,7 +24995,7 @@ static void timelib_time_reset_fields(timelib_time *time) time->m = 1; time->d = 1; time->h = time->i = time->s = 0; - time->f = 0.0; + time->us = 0; time->tz_info = NULL; } @@ -23348,7 +25009,7 @@ static void timelib_time_reset_unset_fields(timelib_time *time) 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; + if (time->us == TIMELIB_UNSET ) time->us = 0; } timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper) @@ -23375,7 +25036,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, in.time->h = TIMELIB_UNSET; in.time->i = TIMELIB_UNSET; in.time->s = TIMELIB_UNSET; - in.time->f = TIMELIB_UNSET; + in.time->us = TIMELIB_UNSET; in.time->z = TIMELIB_UNSET; in.time->dst = TIMELIB_UNSET; in.tzdb = tzdb; @@ -23393,7 +25054,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, tmprel = timelib_lookup_relunit((char **) &ptr); if (!tmprel) { - add_pbf_error(s, "A textual day could not be found", string, begin); + add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_DAY, "A textual day could not be found", string, begin); break; } else { in.time->have_relative = 1; @@ -23407,7 +25068,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_DAY, "A two digit day could not be found", string, begin); } break; case 'S': /* day suffix, ignored, nor checked */ @@ -23416,7 +25077,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_THREE_DIGIT_DAY_OF_YEAR, "A three digit day-of-year could not be found", string, begin); } else { s->time->m = 1; s->time->d = tmp + 1; @@ -23428,14 +25089,14 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MONTH, "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); + add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_MONTH, "A textual month could not be found", string, begin); } else { s->time->m = tmp; } @@ -23445,7 +25106,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_YEAR, "A two digit year could not be found", string, begin); } TIMELIB_PROCESS_YEAR(s->time->y, length); } @@ -23453,32 +25114,32 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR, "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); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "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); + add_pbf_error(s, TIMELIB_ERR_HOUR_LARGER_THAN_12, "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); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "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); + add_pbf_error(s, TIMELIB_ERR_MERIDIAN_BEFORE_HOUR, "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); + add_pbf_error(s, TIMELIB_ERR_NO_MERIDIAN, "A meridian could not be found", string, begin); } else { s->time->h += tmp; } @@ -23491,7 +25152,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MINUTE, "A two digit minute could not be found", string, begin); } else { s->time->i = min; } @@ -23505,13 +25166,13 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, TIMELIB_CHECK_NUMBER; sec = timelib_get_nr_ex((char **) &ptr, 2, &length); if (sec == TIMELIB_UNSET || length != 2) { - add_pbf_error(s, "A two digit second could not be found", string, begin); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_SECOND, "A two digit second could not be found", string, begin); } else { s->time->s = sec; } } break; - case 'u': /* up to six digit millisecond */ + case 'u': /* up to six digit microsecond */ { double f; char *tptr; @@ -23519,9 +25180,9 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_SIX_DIGIT_MICROSECOND, "A six digit microsecond could not be found", string, begin); } else { - s->time->f = (f / pow(10, (ptr - tptr))); + s->time->us = (f * pow(10, 6 - (ptr - tptr))); } } break; @@ -23551,7 +25212,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, int tz_not_found; s->time->z = timelib_parse_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); + add_pbf_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database", string, begin); } } break; @@ -23560,7 +25221,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, if (*ptr == ';' || *ptr == ':' || *ptr == '/' || *ptr == '.' || *ptr == ',' || *ptr == '-' || *ptr == '(' || *ptr == ')') { ++ptr; } else { - add_pbf_error(s, "The separation symbol ([;:/.,-]) could not be found", string, begin); + add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol ([;:/.,-]) could not be found", string, begin); } break; @@ -23575,7 +25236,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, if (*ptr == *fptr) { ++ptr; } else { - add_pbf_error(s, "The separation symbol could not be found", string, begin); + add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol could not be found", string, begin); } break; @@ -23593,14 +25254,14 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, case '\\': /* escaped char */ if(!fptr[1]) { - add_pbf_error(s, "Escaped character expected", string, begin); + add_pbf_error(s, TIMELIB_ERR_EXPECTED_ESCAPE_CHAR, "Escaped character expected", string, begin); break; } fptr++; if (*ptr == *fptr) { ++ptr; } else { - add_pbf_error(s, "The escaped character could not be found", string, begin); + add_pbf_error(s, TIMELIB_ERR_NO_ESCAPED_CHAR, "The escaped character could not be found", string, begin); } break; @@ -23614,7 +25275,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, default: if (*fptr != *ptr) { - add_pbf_error(s, "The format separator does not match", string, begin); + add_pbf_error(s, TIMELIB_ERR_WRONG_FORMAT_SEP, "The format separator does not match", string, begin); } ptr++; } @@ -23622,9 +25283,9 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, } if (*ptr) { if (allow_extra) { - add_pbf_warning(s, "Trailing data", string, ptr); + add_pbf_warning(s, TIMELIB_WARN_TRAILING_DATA, "Trailing data", string, ptr); } else { - add_pbf_error(s, "Trailing data", string, ptr); + add_pbf_error(s, TIMELIB_ERR_TRAILING_DATA, "Trailing data", string, ptr); } } /* ignore trailing +'s */ @@ -23645,7 +25306,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, break; default: - add_pbf_error(s, "Data missing", string, ptr); + add_pbf_error(s, TIMELIB_ERR_DATA_MISSING, "Data missing", string, ptr); done = 1; } } @@ -23668,13 +25329,13 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_warning(s, TIMELIB_WARN_INVALID_TIME, "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); + add_pbf_warning(s, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid", string, ptr); } if (errors) { @@ -23691,15 +25352,15 @@ void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) parsed->h = 0; parsed->i = 0; parsed->s = 0; - parsed->f = 0; + parsed->us = 0; } if ( parsed->y != TIMELIB_UNSET || parsed->m != TIMELIB_UNSET || parsed->d != TIMELIB_UNSET || parsed->h != TIMELIB_UNSET || parsed->i != TIMELIB_UNSET || parsed->s != TIMELIB_UNSET ) { - if (parsed->f == TIMELIB_UNSET) parsed->f = 0; + if (parsed->us == TIMELIB_UNSET) parsed->us = 0; } else { - if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0; + if (parsed->us == TIMELIB_UNSET) parsed->us = now->us != TIMELIB_UNSET ? now->us : 0; } if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0; if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0; diff --git a/ext/date/lib/parse_date.c.orig b/ext/date/lib/parse_date.c.orig new file mode 100644 index 0000000000..89b6a06c48 --- /dev/null +++ b/ext/date/lib/parse_date.c.orig @@ -0,0 +1,23670 @@ +/* Generated by re2c 0.15.3 on Tue Jul 4 21:22:52 2017 */ +/* + * The MIT License (MIT) + * + * Copyright (c) 2015 Derick Rethans + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +/* $Id$ */ + +#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 TIMELIB_MICROSEC 9 + +#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 timelib_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, l) { \ + if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \ + /* (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; + +/* 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[] = { + { "ms", TIMELIB_MICROSEC, 1000 }, + { "msec", TIMELIB_MICROSEC, 1000 }, + { "msecs", TIMELIB_MICROSEC, 1000 }, + { "millisecond", TIMELIB_MICROSEC, 1000 }, + { "milliseconds", TIMELIB_MICROSEC, 1000 }, + { "µs", TIMELIB_MICROSEC, 1 }, + { "usec", TIMELIB_MICROSEC, 1 }, + { "usecs", TIMELIB_MICROSEC, 1 }, + { "µsec", TIMELIB_MICROSEC, 1 }, + { "µsecs", TIMELIB_MICROSEC, 1 }, + { "microsecond", TIMELIB_MICROSEC, 1 }, + { "microseconds", TIMELIB_MICROSEC, 1 }, + { "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*) timelib_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]; + timelib_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 = timelib_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 = timelib_strdup(error); +} + +static void add_error(Scanner *s, char *error) +{ + s->errors->error_count++; + s->errors->error_messages = timelib_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 = timelib_strdup(error); +} + +static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr) +{ + s->errors->warning_count++; + s->errors->warning_messages = timelib_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 = timelib_strdup(error); +} + +static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr) +{ + s->errors->error_count++; + s->errors->error_messages = timelib_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 = timelib_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; + } + if (**ptr == 'M' || **ptr == 'm') { + ++*ptr; + } + if (**ptr == '.') { + ++*ptr; + } + return retval; +} + +static timelib_sll timelib_meridian_with_check(char **ptr, timelib_sll h) +{ + timelib_sll retval = 0; + + while (**ptr && !strchr("AaPp", **ptr)) { + ++*ptr; + } + if(!**ptr) { + return TIMELIB_UNSET; + } + 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 = timelib_calloc(1, s->cur - s->tok + 1); + memcpy(tmp, s->tok, s->cur - s->tok); + + return tmp; +} + +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; + 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; + if (scanned_length) { + *scanned_length = end - begin; + } + str = timelib_calloc(1, end - begin + 1); + memcpy(str, begin, end - begin); + tmp_nr = strtoll(str, NULL, 10); + timelib_free(str); + 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)) { + 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 = timelib_calloc(1, end - begin + 1); + memcpy(str, begin, end - begin); + if (str[0] == ':') { + str[0] = '.'; + } + tmp_nr = strtod(str, NULL); + timelib_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 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 = timelib_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; + } + } + + timelib_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 timelib_long timelib_lookup_month(char **ptr) +{ + char *word; + char *begin = *ptr, *end; + timelib_long value = 0; + const timelib_lookup_table *tp; + + while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { + ++*ptr; + } + end = *ptr; + word = timelib_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; + } + } + + timelib_free(word); + return value; +} + +static timelib_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 != ';' && **ptr != ':' && + **ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) { + ++*ptr; + } + end = *ptr; + word = timelib_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; + } + } + + timelib_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_MICROSEC: s->time->relative.f += (((double) amount * (double) relunit->multiplier) / 1000000); break; + 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* abbr_search(const char *word, timelib_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; + } + + /* 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 * 60) == gmtoffset && fmp->type == isdst) { + return fmp; + } + } + return NULL; +} + +static timelib_long timelib_lookup_abbr(char **ptr, int *dst, char **tz_abbr, int *found) +{ + char *word; + char *begin = *ptr, *end; + timelib_long value = 0; + const timelib_tz_lookup_table *tp; + + while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') { + ++*ptr; + } + end = *ptr; + word = timelib_calloc(1, end - begin + 1); + memcpy(word, begin, end - begin); + + if ((tp = abbr_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; +} + +timelib_long timelib_parse_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; + timelib_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; + timelib_long offset = 0; + char *tz_abbr; + + t->is_localtime = 1; + + /* First, we lookup by abbreviation only */ + offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found); + if (found) { + t->zone_type = TIMELIB_ZONETYPE_ABBR; + timelib_time_tz_abbr_update(t, tz_abbr); + } + + /* Otherwise, we look if we have a TimeZone identifier */ + if (!found || strcmp("UTC", tz_abbr) == 0) { + if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) { + t->tz_info = res; + t->zone_type = TIMELIB_ZONETYPE_ID; + found++; + } + } + timelib_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++) { \ + timelib_free(arg.v[i]); \ + } \ + if (arg.v) { \ + timelib_free(arg.v); \ + } \ +} + +static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) +{ + uchar *cursor = s->cur; + char *str, *ptr = NULL; + +std: + s->tok = cursor; + s->len = 0; + + + +{ + 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, + }; + if ((YYLIMIT - YYCURSOR) < 33) YYFILL(33); + yych = *YYCURSOR; + switch (yych) { + case 0x00: + case '\n': goto yy51; + case '\t': + case ' ': goto yy48; + case '(': goto yy45; + case '+': + case '-': goto yy30; + case ',': + case '.': goto yy50; + case '0': goto yy25; + case '1': goto yy26; + case '2': goto yy27; + case '3': goto yy28; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy29; + case '@': goto yy11; + case 'A': goto yy36; + case 'B': goto yy17; + case 'C': + case 'H': + case 'K': + case 'Q': + case 'R': + case 'U': + case 'Z': goto yy46; + case 'D': goto yy40; + case 'E': goto yy21; + case 'F': goto yy13; + case 'G': goto yy44; + case 'I': goto yy31; + case 'J': goto yy34; + case 'L': goto yy15; + case 'M': goto yy7; + case 'N': goto yy5; + case 'O': goto yy38; + case 'P': goto yy23; + case 'S': goto yy19; + case 'T': goto yy9; + case 'V': goto yy32; + case 'W': goto yy42; + case 'X': goto yy33; + case 'Y': goto yy2; + case 'a': goto yy37; + case 'b': goto yy18; + case 'c': + case 'g': + case 'h': + case 'i': + case 'k': + case 'q': + case 'r': + case 'u': + case 'v': + case 'x': + case 'z': goto yy47; + case 'd': goto yy41; + case 'e': goto yy22; + case 'f': goto yy14; + 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 'w': goto yy43; + case 'y': goto yy4; + default: goto yy53; + } +yy2: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= 'E') { + if (yych <= ')') { + if (yych >= ')') goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; + goto yy1521; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy165; + if (yych >= 'a') goto yy170; + } else { + if (yych <= 'e') goto yy1530; + if (yych <= 'z') goto yy170; + } + } +yy3: + { + int tz_not_found; + DEBUG_OUTPUT("tzcorrection | tz"); + TIMELIB_INIT; + TIMELIB_HAVE_TZ(); + s->time->z = timelib_parse_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"); + } + TIMELIB_DEINIT; + return TIMELIB_TIMEZONE; + } +yy4: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; + goto yy1521; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy165; + } else { + if (yych <= 'e') goto yy1521; + if (yych <= 'z') goto yy165; + goto yy3; + } + } +yy5: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'D') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy165; + } else { + if (yych <= 'H') { + if (yych <= 'E') goto yy1492; + goto yy165; + } else { + if (yych <= 'I') goto yy1493; + if (yych <= 'N') goto yy165; + goto yy1491; + } + } + } else { + if (yych <= 'h') { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { + if (yych == 'e') goto yy1508; + goto yy170; + } + } else { + if (yych <= 'n') { + if (yych <= 'i') goto yy1509; + goto yy170; + } else { + if (yych <= 'o') goto yy1507; + if (yych <= 'z') goto yy170; + goto yy3; + } + } + } +yy6: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'D') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy165; + } else { + if (yych <= 'H') { + if (yych <= 'E') goto yy1492; + goto yy165; + } else { + if (yych <= 'I') goto yy1493; + if (yych <= 'N') goto yy165; + goto yy1491; + } + } + } else { + if (yych <= 'h') { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { + if (yych == 'e') goto yy1492; + goto yy165; + } + } else { + if (yych <= 'n') { + if (yych <= 'i') goto yy1493; + goto yy165; + } else { + if (yych <= 'o') goto yy1491; + if (yych <= 'z') goto yy165; + goto yy3; + } + } + } +yy7: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy1461; + } else { + if (yych == 'I') goto yy1462; + if (yych <= 'N') goto yy165; + goto yy1463; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1476; + goto yy170; + } else { + if (yych <= 'n') { + if (yych <= 'i') goto yy1477; + goto yy170; + } else { + if (yych <= 'o') goto yy1478; + if (yych <= 'z') goto yy170; + goto yy3; + } + } + } +yy8: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy1461; + } else { + if (yych == 'I') goto yy1462; + if (yych <= 'N') goto yy165; + goto yy1463; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1461; + goto yy165; + } else { + if (yych <= 'n') { + if (yych <= 'i') goto yy1462; + goto yy165; + } else { + if (yych <= 'o') goto yy1463; + if (yych <= 'z') goto yy165; + goto yy3; + } + } + } +yy9: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy164; + case '0': + case '1': goto yy1391; + case '2': goto yy1392; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1393; + 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 yy165; + case 'E': goto yy1386; + case 'H': goto yy1387; + case 'O': goto yy1388; + case 'U': goto yy1389; + case 'W': goto yy1390; + 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 yy170; + case 'e': goto yy1429; + case 'h': goto yy1430; + case 'o': goto yy1431; + case 'u': goto yy1432; + case 'w': goto yy1433; + default: goto yy3; + } +yy10: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy164; + case '0': + case '1': goto yy1391; + case '2': goto yy1392; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1393; + 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 yy165; + case 'E': + case 'e': goto yy1386; + case 'H': + case 'h': goto yy1387; + case 'O': + case 'o': goto yy1388; + case 'U': + case 'u': goto yy1389; + case 'W': + case 'w': goto yy1390; + default: goto yy3; + } +yy11: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy1374; + if (yych <= '/') goto yy12; + if (yych <= '9') goto yy1375; +yy12: + { + add_error(s, "Unexpected character"); + goto std; + } +yy13: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; + goto yy1310; + } + } else { + if (yych <= 'N') { + if (yych == 'I') goto yy1311; + goto yy165; + } else { + if (yych <= 'O') goto yy1312; + if (yych <= 'Q') goto yy165; + goto yy1313; + } + } + } else { + if (yych <= 'i') { + if (yych <= 'd') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy170; + } else { + if (yych <= 'e') goto yy1351; + if (yych <= 'h') goto yy170; + goto yy1352; + } + } else { + if (yych <= 'q') { + if (yych == 'o') goto yy1353; + goto yy170; + } else { + if (yych <= 'r') goto yy1354; + if (yych <= 'z') goto yy170; + goto yy3; + } + } + } +yy14: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; + goto yy1310; + } + } else { + if (yych <= 'N') { + if (yych == 'I') goto yy1311; + goto yy165; + } else { + if (yych <= 'O') goto yy1312; + if (yych <= 'Q') goto yy165; + goto yy1313; + } + } + } else { + if (yych <= 'i') { + if (yych <= 'd') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy165; + } else { + if (yych <= 'e') goto yy1310; + if (yych <= 'h') goto yy165; + goto yy1311; + } + } else { + if (yych <= 'q') { + if (yych == 'o') goto yy1312; + goto yy165; + } else { + if (yych <= 'r') goto yy1313; + if (yych <= 'z') goto yy165; + goto yy3; + } + } + } +yy15: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy1296; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { + if (yych <= 'a') goto yy1307; + if (yych <= 'z') goto yy170; + goto yy3; + } + } +yy16: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy1296; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { + if (yych <= 'a') goto yy1296; + if (yych <= 'z') goto yy165; + goto yy3; + } + } +yy17: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy1276; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { + if (yych <= 'a') goto yy1293; + if (yych <= 'z') goto yy170; + goto yy3; + } + } +yy18: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy1276; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { + if (yych <= 'a') goto yy1276; + if (yych <= 'z') goto yy165; + goto yy3; + } + } +yy19: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy1219; + goto yy165; + } + } else { + if (yych <= 'H') { + if (yych <= 'E') goto yy1218; + goto yy165; + } else { + if (yych <= 'I') goto yy1220; + if (yych <= 'T') goto yy165; + goto yy1221; + } + } + } else { + if (yych <= 'e') { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { + if (yych <= 'a') goto yy1248; + if (yych <= 'd') goto yy170; + goto yy1247; + } + } else { + if (yych <= 't') { + if (yych == 'i') goto yy1249; + goto yy170; + } else { + if (yych <= 'u') goto yy1250; + if (yych <= 'z') goto yy170; + goto yy3; + } + } + } +yy20: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy1219; + goto yy165; + } + } else { + if (yych <= 'H') { + if (yych <= 'E') goto yy1218; + goto yy165; + } else { + if (yych <= 'I') goto yy1220; + if (yych <= 'T') goto yy165; + goto yy1221; + } + } + } else { + if (yych <= 'e') { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { + if (yych <= 'a') goto yy1219; + if (yych <= 'd') goto yy165; + goto yy1218; + } + } else { + if (yych <= 't') { + if (yych == 'i') goto yy1220; + goto yy165; + } else { + if (yych <= 'u') goto yy1221; + if (yych <= 'z') goto yy165; + goto yy3; + } + } + } +yy21: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == 'I') goto yy1188; + if (yych <= 'K') goto yy165; + goto yy1189; + } + } else { + if (yych <= 'i') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy170; + goto yy1206; + } else { + if (yych == 'l') goto yy1207; + if (yych <= 'z') goto yy170; + goto yy3; + } + } +yy22: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == 'I') goto yy1188; + if (yych <= 'K') goto yy165; + goto yy1189; + } + } else { + if (yych <= 'i') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy165; + goto yy1188; + } else { + if (yych == 'l') goto yy1189; + if (yych <= 'z') goto yy165; + goto yy3; + } + } +yy23: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy165; + goto yy1062; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy170; + } else { + if (yych <= 'r') goto yy1181; + if (yych <= 'z') goto yy170; + goto yy3; + } + } +yy24: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy165; + goto yy1062; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy165; + } else { + if (yych <= 'r') goto yy1062; + if (yych <= 'z') goto yy165; + goto yy3; + } + } +yy25: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '`') { + if (yych <= '@') { + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1016; + goto yy12; + } else { + if (yych <= ' ') goto yy1018; + if (yych <= ',') goto yy12; + goto yy437; + } + } else { + if (yych <= '0') { + if (yych <= '.') goto yy1028; + if (yych <= '/') goto yy436; + goto yy1061; + } else { + if (yych <= '9') goto yy1060; + if (yych <= ':') goto yy1029; + goto yy12; + } + } + } else { + if (yych <= 'G') { + if (yych <= 'D') { + if (yych <= 'A') goto yy1018; + if (yych <= 'C') goto yy12; + goto yy1018; + } else { + if (yych == 'F') goto yy1018; + goto yy12; + } + } else { + if (yych <= 'O') { + if (yych <= 'J') goto yy1018; + if (yych <= 'L') goto yy12; + goto yy1018; + } else { + if (yych <= 'R') goto yy12; + if (yych <= 'Y') goto yy1018; + goto yy12; + } + } + } + } else { + if (yych <= 'n') { + if (yych <= 'g') { + if (yych <= 'd') { + if (yych <= 'a') goto yy1018; + if (yych <= 'c') goto yy12; + goto yy1018; + } else { + if (yych == 'f') goto yy1018; + goto yy12; + } + } else { + if (yych <= 'j') { + if (yych == 'i') goto yy12; + goto yy1018; + } else { + if (yych <= 'l') goto yy12; + if (yych <= 'm') goto yy1018; + goto yy434; + } + } + } else { + if (yych <= 'u') { + if (yych <= 'r') { + if (yych <= 'o') goto yy1018; + if (yych <= 'q') goto yy12; + goto yy435; + } else { + if (yych <= 's') goto yy429; + if (yych <= 't') goto yy432; + goto yy1018; + } + } else { + if (yych <= 'x') { + if (yych == 'w') goto yy1018; + goto yy12; + } else { + if (yych <= 'y') goto yy1018; + if (yych == 0xC2) goto yy1018; + goto yy12; + } + } + } + } +yy26: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '`') { + if (yych <= '@') { + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy424; + goto yy12; + } else { + if (yych <= ' ') goto yy426; + if (yych <= ',') goto yy12; + goto yy437; + } + } else { + if (yych <= '2') { + if (yych <= '.') goto yy438; + if (yych <= '/') goto yy436; + goto yy1060; + } else { + if (yych <= '9') goto yy1027; + if (yych <= ':') goto yy447; + goto yy12; + } + } + } else { + if (yych <= 'G') { + if (yych <= 'D') { + if (yych <= 'A') goto yy426; + if (yych <= 'C') goto yy12; + goto yy426; + } else { + if (yych == 'F') goto yy426; + goto yy12; + } + } else { + if (yych <= 'P') { + if (yych <= 'J') goto yy426; + if (yych <= 'L') goto yy12; + goto yy426; + } else { + if (yych <= 'R') goto yy12; + if (yych <= 'Y') goto yy426; + goto yy12; + } + } + } + } else { + if (yych <= 'n') { + if (yych <= 'g') { + if (yych <= 'd') { + if (yych <= 'a') goto yy426; + if (yych <= 'c') goto yy12; + goto yy426; + } else { + if (yych == 'f') goto yy426; + goto yy12; + } + } else { + if (yych <= 'j') { + if (yych == 'i') goto yy12; + goto yy426; + } else { + if (yych <= 'l') goto yy12; + if (yych <= 'm') goto yy426; + goto yy434; + } + } + } else { + if (yych <= 'u') { + if (yych <= 'r') { + if (yych <= 'p') goto yy426; + if (yych <= 'q') goto yy12; + goto yy435; + } else { + if (yych <= 's') goto yy429; + if (yych <= 't') goto yy432; + goto yy426; + } + } else { + if (yych <= 'x') { + if (yych == 'w') goto yy426; + goto yy12; + } else { + if (yych <= 'y') goto yy426; + if (yych == 0xC2) goto yy426; + goto yy12; + } + } + } + } +yy27: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '`') { + if (yych <= '@') { + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy424; + goto yy12; + } else { + if (yych <= ' ') goto yy426; + if (yych <= ',') goto yy12; + goto yy437; + } + } else { + if (yych <= '4') { + if (yych <= '.') goto yy438; + if (yych <= '/') goto yy436; + goto yy1027; + } else { + if (yych <= '9') goto yy1014; + if (yych <= ':') goto yy447; + goto yy12; + } + } + } else { + if (yych <= 'G') { + if (yych <= 'D') { + if (yych <= 'A') goto yy426; + if (yych <= 'C') goto yy12; + goto yy426; + } else { + if (yych == 'F') goto yy426; + goto yy12; + } + } else { + if (yych <= 'P') { + if (yych <= 'J') goto yy426; + if (yych <= 'L') goto yy12; + goto yy426; + } else { + if (yych <= 'R') goto yy12; + if (yych <= 'Y') goto yy426; + goto yy12; + } + } + } + } else { + if (yych <= 'n') { + if (yych <= 'g') { + if (yych <= 'd') { + if (yych <= 'a') goto yy426; + if (yych <= 'c') goto yy12; + goto yy426; + } else { + if (yych == 'f') goto yy426; + goto yy12; + } + } else { + if (yych <= 'j') { + if (yych == 'i') goto yy12; + goto yy426; + } else { + if (yych <= 'l') goto yy12; + if (yych <= 'm') goto yy426; + goto yy434; + } + } + } else { + if (yych <= 'u') { + if (yych <= 'r') { + if (yych <= 'p') goto yy426; + if (yych <= 'q') goto yy12; + goto yy435; + } else { + if (yych <= 's') goto yy429; + if (yych <= 't') goto yy432; + goto yy426; + } + } else { + if (yych <= 'x') { + if (yych == 'w') goto yy426; + goto yy12; + } else { + if (yych <= 'y') goto yy426; + if (yych == 0xC2) goto yy426; + goto yy12; + } + } + } + } +yy28: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '`') { + if (yych <= '@') { + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy424; + goto yy12; + } else { + if (yych <= ' ') goto yy426; + if (yych <= ',') goto yy12; + goto yy437; + } + } else { + if (yych <= '1') { + if (yych <= '.') goto yy438; + if (yych <= '/') goto yy436; + goto yy1014; + } else { + if (yych <= '9') goto yy433; + if (yych <= ':') goto yy447; + goto yy12; + } + } + } else { + if (yych <= 'G') { + if (yych <= 'D') { + if (yych <= 'A') goto yy426; + if (yych <= 'C') goto yy12; + goto yy426; + } else { + if (yych == 'F') goto yy426; + goto yy12; + } + } else { + if (yych <= 'P') { + if (yych <= 'J') goto yy426; + if (yych <= 'L') goto yy12; + goto yy426; + } else { + if (yych <= 'R') goto yy12; + if (yych <= 'Y') goto yy426; + goto yy12; + } + } + } + } else { + if (yych <= 'n') { + if (yych <= 'g') { + if (yych <= 'd') { + if (yych <= 'a') goto yy426; + if (yych <= 'c') goto yy12; + goto yy426; + } else { + if (yych == 'f') goto yy426; + goto yy12; + } + } else { + if (yych <= 'j') { + if (yych == 'i') goto yy12; + goto yy426; + } else { + if (yych <= 'l') goto yy12; + if (yych <= 'm') goto yy426; + goto yy434; + } + } + } else { + if (yych <= 'u') { + if (yych <= 'r') { + if (yych <= 'p') goto yy426; + if (yych <= 'q') goto yy12; + goto yy435; + } else { + if (yych <= 's') goto yy429; + if (yych <= 't') goto yy432; + goto yy426; + } + } else { + if (yych <= 'x') { + if (yych == 'w') goto yy426; + goto yy12; + } else { + if (yych <= 'y') goto yy426; + if (yych == 0xC2) goto yy426; + goto yy12; + } + } + } + } +yy29: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'a') { + if (yych <= 'A') { + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy424; + goto yy12; + } else { + if (yych <= ' ') goto yy426; + if (yych <= ',') goto yy12; + goto yy437; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy438; + if (yych <= '/') goto yy436; + goto yy433; + } else { + if (yych <= ':') goto yy447; + if (yych <= '@') goto yy12; + goto yy426; + } + } + } else { + if (yych <= 'J') { + if (yych <= 'E') { + if (yych == 'D') goto yy426; + goto yy12; + } else { + if (yych == 'G') goto yy12; + goto yy426; + } + } else { + if (yych <= 'R') { + if (yych <= 'L') goto yy12; + if (yych <= 'P') goto yy426; + goto yy12; + } else { + if (yych <= 'Y') goto yy426; + if (yych <= '`') goto yy12; + goto yy426; + } + } + } + } else { + if (yych <= 'p') { + if (yych <= 'h') { + if (yych <= 'e') { + if (yych == 'd') goto yy426; + goto yy12; + } else { + if (yych == 'g') goto yy12; + goto yy426; + } + } else { + if (yych <= 'l') { + if (yych == 'j') goto yy426; + goto yy12; + } else { + if (yych == 'n') goto yy434; + goto yy426; + } + } + } else { + if (yych <= 'v') { + if (yych <= 's') { + if (yych <= 'q') goto yy12; + if (yych <= 'r') goto yy435; + goto yy429; + } else { + if (yych <= 't') goto yy432; + if (yych <= 'u') goto yy426; + goto yy12; + } + } else { + if (yych <= 'y') { + if (yych == 'x') goto yy12; + goto yy426; + } else { + if (yych == 0xC2) goto yy426; + goto yy12; + } + } + } + } +yy30: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 4) { + goto yy57; + } + switch (yych) { + case '+': + case '-': goto yy404; + case '0': + case '1': goto yy401; + case '2': goto yy402; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy403; + default: goto yy12; + } +yy31: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy3; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy3; + } else { + if (yych == '/') goto yy3; + goto yy220; + } + } + } else { + if (yych <= 'V') { + if (yych <= 'H') { + if (yych <= '@') goto yy3; + goto yy165; + } else { + if (yych <= 'I') goto yy400; + if (yych <= 'U') goto yy165; + goto yy399; + } + } else { + if (yych <= 'Z') { + if (yych == 'X') goto yy399; + goto yy165; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy170; + goto yy3; + } + } + } +yy32: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy220; + if (yych <= 0x1F) goto yy3; + goto yy220; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy220; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy220; + if (yych <= '@') goto yy3; + goto yy165; + } else { + if (yych <= 'Z') { + if (yych <= 'I') goto yy396; + goto yy165; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy170; + goto yy3; + } + } + } +yy33: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy220; + if (yych <= 0x1F) goto yy3; + goto yy220; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy220; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy220; + if (yych <= '@') goto yy3; + goto yy165; + } else { + if (yych <= 'Z') { + if (yych <= 'I') goto yy394; + goto yy165; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy170; + goto yy3; + } + } + } +yy34: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'A') goto yy377; + if (yych <= 'T') goto yy165; + goto yy376; + } + } else { + if (yych <= 'a') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy386; + } else { + if (yych == 'u') goto yy385; + if (yych <= 'z') goto yy170; + goto yy3; + } + } +yy35: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'A') goto yy377; + if (yych <= 'T') goto yy165; + goto yy376; + } + } else { + if (yych <= 'a') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy377; + } else { + if (yych == 'u') goto yy376; + if (yych <= 'z') goto yy165; + goto yy3; + } + } +yy36: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'F') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy165; + } else { + if (yych <= 'O') { + if (yych <= 'G') goto yy355; + goto yy165; + } else { + if (yych <= 'P') goto yy354; + if (yych <= 'T') goto yy165; + goto yy353; + } + } + } else { + if (yych <= 'o') { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { + if (yych == 'g') goto yy367; + goto yy170; + } + } else { + if (yych <= 't') { + if (yych <= 'p') goto yy366; + goto yy170; + } else { + if (yych <= 'u') goto yy365; + if (yych <= 'z') goto yy170; + goto yy3; + } + } + } +yy37: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'F') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy165; + } else { + if (yych <= 'O') { + if (yych <= 'G') goto yy355; + goto yy165; + } else { + if (yych <= 'P') goto yy354; + if (yych <= 'T') goto yy165; + goto yy353; + } + } + } else { + if (yych <= 'o') { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { + if (yych == 'g') goto yy355; + goto yy165; + } + } else { + if (yych <= 't') { + if (yych <= 'p') goto yy354; + goto yy165; + } else { + if (yych <= 'u') goto yy353; + if (yych <= 'z') goto yy165; + goto yy3; + } + } + } +yy38: + yych = *++YYCURSOR; + if (yych <= 'C') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy165; + goto yy343; + } + } else { + if (yych <= 'b') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy170; + } else { + if (yych <= 'c') goto yy348; + if (yych <= 'z') goto yy170; + goto yy3; + } + } +yy39: + yych = *++YYCURSOR; + if (yych <= 'C') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy165; + goto yy343; + } + } else { + if (yych <= 'b') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy165; + } else { + if (yych <= 'c') goto yy343; + if (yych <= 'z') goto yy165; + goto yy3; + } + } +yy40: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; + goto yy216; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy170; + } else { + if (yych <= 'e') goto yy334; + if (yych <= 'z') goto yy170; + goto yy3; + } + } +yy41: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; + goto yy216; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy165; + } else { + if (yych <= 'e') goto yy216; + if (yych <= 'z') goto yy165; + goto yy3; + } + } +yy42: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; + goto yy189; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy170; + } else { + if (yych <= 'e') goto yy203; + if (yych <= 'z') goto yy170; + goto yy3; + } + } +yy43: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; + goto yy189; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + goto yy165; + } else { + if (yych <= 'e') goto yy189; + if (yych <= 'z') goto yy165; + goto yy3; + } + } +yy44: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy165; + } else { + if (yych <= 'Z') { + if (yych <= 'M') goto yy181; + goto yy165; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy170; + goto yy3; + } + } +yy45: + yych = *++YYCURSOR; + if (yych <= '@') goto yy12; + if (yych <= 'Z') goto yy180; + if (yych <= '`') goto yy12; + if (yych <= 'z') goto yy180; + goto yy12; +yy46: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy170; + goto yy3; + } +yy47: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy165; + goto yy3; + } +yy48: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 4) { + goto yy57; + } + if (yych <= '/') goto yy49; + if (yych <= '9') goto yy54; +yy49: + { + goto std; + } +yy50: + yych = *++YYCURSOR; + goto yy49; +yy51: + ++YYCURSOR; + { + s->pos = cursor; s->line++; + goto std; + } +yy53: + yych = *++YYCURSOR; + goto yy12; +yy54: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); + yych = *YYCURSOR; + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych <= 'X') { + if (yych <= 'G') { + if (yych <= ' ') { + if (yych == '\t') goto yy59; + if (yych >= ' ') goto yy59; + } else { + if (yych <= 'D') { + if (yych >= 'D') goto yy66; + } else { + if (yych == 'F') goto yy67; + } + } + } else { + if (yych <= 'S') { + if (yych <= 'L') { + if (yych <= 'H') goto yy65; + } else { + if (yych <= 'M') goto yy61; + if (yych >= 'S') goto yy64; + } + } else { + if (yych <= 'U') { + if (yych <= 'T') goto yy70; + goto yy63; + } else { + if (yych == 'W') goto yy69; + } + } + } + } else { + if (yych <= 'r') { + if (yych <= 'f') { + if (yych <= 'c') { + if (yych <= 'Y') goto yy68; + } else { + if (yych <= 'd') goto yy66; + if (yych >= 'f') goto yy67; + } + } else { + if (yych <= 'h') { + if (yych >= 'h') goto yy65; + } else { + if (yych == 'm') goto yy61; + } + } + } else { + if (yych <= 'w') { + if (yych <= 't') { + if (yych <= 's') goto yy64; + goto yy70; + } else { + if (yych <= 'u') goto yy63; + if (yych >= 'w') goto yy69; + } + } else { + if (yych <= 'y') { + if (yych >= 'y') goto yy68; + } else { + if (yych == 0xC2) goto yy62; + } + } + } + } +yy56: + YYCURSOR = YYMARKER; + if (yyaccept <= 16) { + if (yyaccept <= 8) { + if (yyaccept <= 4) { + if (yyaccept <= 2) { + if (yyaccept <= 1) { + if (yyaccept == 0) { + goto yy3; + } else { + goto yy12; + } + } else { + goto yy49; + } + } else { + if (yyaccept == 3) { + goto yy74; + } else { + goto yy191; + } + } + } else { + if (yyaccept <= 6) { + if (yyaccept == 5) { + goto yy218; + } else { + goto yy232; + } + } else { + if (yyaccept == 7) { + goto yy246; + } else { + goto yy357; + } + } + } + } else { + if (yyaccept <= 12) { + if (yyaccept <= 10) { + if (yyaccept == 9) { + goto yy440; + } else { + goto yy455; + } + } else { + if (yyaccept == 11) { + goto yy576; + } else { + goto yy621; + } + } + } else { + if (yyaccept <= 14) { + if (yyaccept == 13) { + goto yy631; + } else { + goto yy728; + } + } else { + if (yyaccept == 15) { + goto yy748; + } else { + goto yy779; + } + } + } + } + } else { + if (yyaccept <= 25) { + if (yyaccept <= 21) { + if (yyaccept <= 19) { + if (yyaccept <= 18) { + if (yyaccept == 17) { + goto yy786; + } else { + goto yy813; + } + } else { + goto yy758; + } + } else { + if (yyaccept == 20) { + goto yy419; + } else { + goto yy938; + } + } + } else { + if (yyaccept <= 23) { + if (yyaccept == 22) { + goto yy807; + } else { + goto yy1032; + } + } else { + if (yyaccept == 24) { + goto yy1040; + } else { + goto yy1084; + } + } + } + } else { + if (yyaccept <= 29) { + if (yyaccept <= 27) { + if (yyaccept == 26) { + goto yy1108; + } else { + goto yy1284; + } + } else { + if (yyaccept == 28) { + goto yy1377; + } else { + goto yy1415; + } + } + } else { + if (yyaccept <= 31) { + if (yyaccept == 30) { + goto yy1418; + } else { + goto yy1498; + } + } else { + if (yyaccept == 32) { + goto yy1506; + } else { + goto yy1529; + } + } + } + } + } +yy57: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 4) { + goto yy57; + } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy54; + goto yy56; +yy59: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); + yych = *YYCURSOR; +yy60: + if (yych <= 'X') { + if (yych <= 'G') { + if (yych <= ' ') { + if (yych == '\t') goto yy59; + if (yych <= 0x1F) goto yy56; + goto yy59; + } else { + if (yych <= 'D') { + if (yych <= 'C') goto yy56; + goto yy66; + } else { + if (yych == 'F') goto yy67; + goto yy56; + } + } + } else { + if (yych <= 'S') { + if (yych <= 'L') { + if (yych <= 'H') goto yy65; + goto yy56; + } else { + if (yych <= 'M') goto yy61; + if (yych <= 'R') goto yy56; + goto yy64; + } + } else { + if (yych <= 'U') { + if (yych <= 'T') goto yy70; + goto yy63; + } else { + if (yych == 'W') goto yy69; + goto yy56; + } + } + } + } else { + if (yych <= 'r') { + if (yych <= 'f') { + if (yych <= 'c') { + if (yych <= 'Y') goto yy68; + goto yy56; + } else { + if (yych <= 'd') goto yy66; + if (yych <= 'e') goto yy56; + goto yy67; + } + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy65; + } else { + if (yych != 'm') goto yy56; + } + } + } else { + if (yych <= 'w') { + if (yych <= 't') { + if (yych <= 's') goto yy64; + goto yy70; + } else { + if (yych <= 'u') goto yy63; + if (yych <= 'v') goto yy56; + goto yy69; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy56; + goto yy68; + } else { + if (yych == 0xC2) goto yy62; + goto yy56; + } + } + } + } +yy61: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= 'N') { + if (yych == 'I') goto yy138; + goto yy56; + } else { + if (yych <= 'O') goto yy137; + if (yych <= 'R') goto yy56; + goto yy139; + } + } else { + if (yych <= 'n') { + if (yych == 'i') goto yy138; + goto yy56; + } else { + if (yych <= 'o') goto yy137; + if (yych == 's') goto yy139; + goto yy56; + } + } +yy62: + yych = *++YYCURSOR; + if (yych == 0xB5) goto yy134; + goto yy56; +yy63: + yych = *++YYCURSOR; + if (yych == 'S') goto yy132; + if (yych == 's') goto yy132; + goto yy56; +yy64: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych == 'A') goto yy119; + goto yy56; + } else { + if (yych <= 'E') goto yy120; + if (yych <= 'T') goto yy56; + goto yy118; + } + } else { + if (yych <= 'd') { + if (yych == 'a') goto yy119; + goto yy56; + } else { + if (yych <= 'e') goto yy120; + if (yych == 'u') goto yy118; + goto yy56; + } + } +yy65: + yych = *++YYCURSOR; + if (yych == 'O') goto yy116; + if (yych == 'o') goto yy116; + goto yy56; +yy66: + yych = *++YYCURSOR; + if (yych == 'A') goto yy115; + if (yych == 'a') goto yy115; + goto yy56; +yy67: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych == 'O') goto yy100; + if (yych <= 'Q') goto yy56; + goto yy99; + } else { + if (yych <= 'o') { + if (yych <= 'n') goto yy56; + goto yy100; + } else { + if (yych == 'r') goto yy99; + goto yy56; + } + } +yy68: + yych = *++YYCURSOR; + if (yych == 'E') goto yy96; + if (yych == 'e') goto yy96; + goto yy56; +yy69: + yych = *++YYCURSOR; + if (yych == 'E') goto yy84; + if (yych == 'e') goto yy84; + goto yy56; +yy70: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'H') goto yy71; + if (yych <= 'T') goto yy56; + goto yy72; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + } else { + if (yych == 'u') goto yy72; + goto yy56; + } + } +yy71: + yych = *++YYCURSOR; + if (yych == 'U') goto yy79; + if (yych == 'u') goto yy79; + goto yy56; +yy72: + yych = *++YYCURSOR; + if (yych == 'E') goto yy73; + if (yych != 'e') goto yy56; +yy73: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'S') goto yy75; + if (yych == 's') goto yy75; +yy74: + { + 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; + } +yy75: + yych = *++YYCURSOR; + if (yych == 'D') goto yy76; + if (yych != 'd') goto yy56; +yy76: + yych = *++YYCURSOR; + if (yych == 'A') goto yy77; + if (yych != 'a') goto yy56; +yy77: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy78; + if (yych != 'y') goto yy56; +yy78: + yych = *++YYCURSOR; + goto yy74; +yy79: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'R') goto yy80; + if (yych != 'r') goto yy74; +yy80: + yych = *++YYCURSOR; + if (yych == 'S') goto yy81; + if (yych != 's') goto yy56; +yy81: + yych = *++YYCURSOR; + if (yych == 'D') goto yy82; + if (yych != 'd') goto yy56; +yy82: + yych = *++YYCURSOR; + if (yych == 'A') goto yy83; + if (yych != 'a') goto yy56; +yy83: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy78; + if (yych == 'y') goto yy78; + goto yy56; +yy84: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= 'C') goto yy56; + if (yych <= 'D') goto yy86; + } else { + if (yych <= 'c') goto yy56; + if (yych <= 'd') goto yy86; + if (yych >= 'f') goto yy56; + } + yych = *++YYCURSOR; + if (yych == 'K') goto yy92; + if (yych == 'k') goto yy92; + goto yy56; +yy86: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'N') goto yy87; + if (yych != 'n') goto yy74; +yy87: + yych = *++YYCURSOR; + if (yych == 'E') goto yy88; + if (yych != 'e') goto yy56; +yy88: + yych = *++YYCURSOR; + if (yych == 'S') goto yy89; + if (yych != 's') goto yy56; +yy89: + yych = *++YYCURSOR; + if (yych == 'D') goto yy90; + if (yych != 'd') goto yy56; +yy90: + yych = *++YYCURSOR; + if (yych == 'A') goto yy91; + if (yych != 'a') goto yy56; +yy91: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy78; + if (yych == 'y') goto yy78; + goto yy56; +yy92: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == 'D') goto yy93; + if (yych <= 'R') goto yy74; + goto yy78; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy74; + } else { + if (yych == 's') goto yy78; + goto yy74; + } + } +yy93: + yych = *++YYCURSOR; + if (yych == 'A') goto yy94; + if (yych != 'a') goto yy56; +yy94: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy95; + if (yych != 'y') goto yy56; +yy95: + yych = *++YYCURSOR; + if (yych == 'S') goto yy78; + if (yych == 's') goto yy78; + goto yy74; +yy96: + yych = *++YYCURSOR; + if (yych == 'A') goto yy97; + if (yych != 'a') goto yy56; +yy97: + yych = *++YYCURSOR; + if (yych == 'R') goto yy98; + if (yych != 'r') goto yy56; +yy98: + yych = *++YYCURSOR; + if (yych == 'S') goto yy78; + if (yych == 's') goto yy78; + goto yy74; +yy99: + yych = *++YYCURSOR; + if (yych == 'I') goto yy112; + if (yych == 'i') goto yy112; + goto yy56; +yy100: + yych = *++YYCURSOR; + if (yych == 'R') goto yy101; + if (yych != 'r') goto yy56; +yy101: + yych = *++YYCURSOR; + if (yych == 'T') goto yy102; + if (yych != 't') goto yy56; +yy102: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'H') goto yy104; + if (yych <= 'M') goto yy56; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy104; + } else { + if (yych != 'n') goto yy56; + } + } + yych = *++YYCURSOR; + if (yych == 'I') goto yy109; + if (yych == 'i') goto yy109; + goto yy56; +yy104: + yych = *++YYCURSOR; + if (yych == 'N') goto yy105; + if (yych != 'n') goto yy56; +yy105: + yych = *++YYCURSOR; + if (yych == 'I') goto yy106; + if (yych != 'i') goto yy56; +yy106: + yych = *++YYCURSOR; + if (yych == 'G') goto yy107; + if (yych != 'g') goto yy56; +yy107: + yych = *++YYCURSOR; + if (yych == 'H') goto yy108; + if (yych != 'h') goto yy56; +yy108: + yych = *++YYCURSOR; + if (yych == 'T') goto yy98; + if (yych == 't') goto yy98; + goto yy56; +yy109: + yych = *++YYCURSOR; + if (yych == 'G') goto yy110; + if (yych != 'g') goto yy56; +yy110: + yych = *++YYCURSOR; + if (yych == 'H') goto yy111; + if (yych != 'h') goto yy56; +yy111: + yych = *++YYCURSOR; + if (yych == 'T') goto yy98; + if (yych == 't') goto yy98; + goto yy56; +yy112: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'D') goto yy113; + if (yych != 'd') goto yy74; +yy113: + yych = *++YYCURSOR; + if (yych == 'A') goto yy114; + if (yych != 'a') goto yy56; +yy114: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy78; + if (yych == 'y') goto yy78; + goto yy56; +yy115: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy98; + if (yych == 'y') goto yy98; + goto yy56; +yy116: + yych = *++YYCURSOR; + if (yych == 'U') goto yy117; + if (yych != 'u') goto yy56; +yy117: + yych = *++YYCURSOR; + if (yych == 'R') goto yy98; + if (yych == 'r') goto yy98; + goto yy56; +yy118: + yych = *++YYCURSOR; + if (yych == 'N') goto yy129; + if (yych == 'n') goto yy129; + goto yy56; +yy119: + yych = *++YYCURSOR; + if (yych == 'T') goto yy124; + if (yych == 't') goto yy124; + goto yy56; +yy120: + yych = *++YYCURSOR; + if (yych == 'C') goto yy121; + if (yych != 'c') goto yy56; +yy121: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == 'O') goto yy122; + if (yych <= 'R') goto yy74; + goto yy78; + } else { + if (yych <= 'o') { + if (yych <= 'n') goto yy74; + } else { + if (yych == 's') goto yy78; + goto yy74; + } + } +yy122: + yych = *++YYCURSOR; + if (yych == 'N') goto yy123; + if (yych != 'n') goto yy56; +yy123: + yych = *++YYCURSOR; + if (yych == 'D') goto yy98; + if (yych == 'd') goto yy98; + goto yy56; +yy124: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'U') goto yy125; + if (yych != 'u') goto yy74; +yy125: + yych = *++YYCURSOR; + if (yych == 'R') goto yy126; + if (yych != 'r') goto yy56; +yy126: + yych = *++YYCURSOR; + if (yych == 'D') goto yy127; + if (yych != 'd') goto yy56; +yy127: + yych = *++YYCURSOR; + if (yych == 'A') goto yy128; + if (yych != 'a') goto yy56; +yy128: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy78; + if (yych == 'y') goto yy78; + goto yy56; +yy129: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'D') goto yy130; + if (yych != 'd') goto yy74; +yy130: + yych = *++YYCURSOR; + if (yych == 'A') goto yy131; + if (yych != 'a') goto yy56; +yy131: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy78; + if (yych == 'y') goto yy78; + goto yy56; +yy132: + yych = *++YYCURSOR; + if (yych == 'E') goto yy133; + if (yych != 'e') goto yy56; +yy133: + yych = *++YYCURSOR; + if (yych == 'C') goto yy98; + if (yych == 'c') goto yy98; + goto yy56; +yy134: + yych = *++YYCURSOR; + if (yych == 'S') goto yy135; + if (yych != 's') goto yy56; +yy135: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'E') goto yy136; + if (yych != 'e') goto yy74; +yy136: + yych = *++YYCURSOR; + if (yych == 'C') goto yy98; + if (yych == 'c') goto yy98; + goto yy56; +yy137: + yych = *++YYCURSOR; + if (yych == 'N') goto yy160; + if (yych == 'n') goto yy160; + goto yy56; +yy138: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= 'K') { + if (yych == 'C') goto yy142; + goto yy56; + } else { + if (yych <= 'L') goto yy141; + if (yych <= 'M') goto yy56; + goto yy143; + } + } else { + if (yych <= 'k') { + if (yych == 'c') goto yy142; + goto yy56; + } else { + if (yych <= 'l') goto yy141; + if (yych == 'n') goto yy143; + goto yy56; + } + } +yy139: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'E') goto yy140; + if (yych != 'e') goto yy74; +yy140: + yych = *++YYCURSOR; + if (yych == 'C') goto yy98; + if (yych == 'c') goto yy98; + goto yy56; +yy141: + yych = *++YYCURSOR; + if (yych == 'L') goto yy153; + if (yych == 'l') goto yy153; + goto yy56; +yy142: + yych = *++YYCURSOR; + if (yych == 'R') goto yy146; + if (yych == 'r') goto yy146; + goto yy56; +yy143: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'U') { + if (yych == 'S') goto yy78; + if (yych <= 'T') goto yy74; + } else { + if (yych <= 's') { + if (yych <= 'r') goto yy74; + goto yy78; + } else { + if (yych != 'u') goto yy74; + } + } + yych = *++YYCURSOR; + if (yych == 'T') goto yy145; + if (yych != 't') goto yy56; +yy145: + yych = *++YYCURSOR; + if (yych == 'E') goto yy98; + if (yych == 'e') goto yy98; + goto yy56; +yy146: + yych = *++YYCURSOR; + if (yych == 'O') goto yy147; + if (yych != 'o') goto yy56; +yy147: + yych = *++YYCURSOR; + if (yych == 'S') goto yy148; + if (yych != 's') goto yy56; +yy148: + yych = *++YYCURSOR; + if (yych == 'E') goto yy149; + if (yych != 'e') goto yy56; +yy149: + yych = *++YYCURSOR; + if (yych == 'C') goto yy150; + if (yych != 'c') goto yy56; +yy150: + yych = *++YYCURSOR; + if (yych == 'O') goto yy151; + if (yych != 'o') goto yy56; +yy151: + yych = *++YYCURSOR; + if (yych == 'N') goto yy152; + if (yych != 'n') goto yy56; +yy152: + yych = *++YYCURSOR; + if (yych == 'D') goto yy98; + if (yych == 'd') goto yy98; + goto yy56; +yy153: + yych = *++YYCURSOR; + if (yych == 'I') goto yy154; + if (yych != 'i') goto yy56; +yy154: + yych = *++YYCURSOR; + if (yych == 'S') goto yy155; + if (yych != 's') goto yy56; +yy155: + yych = *++YYCURSOR; + if (yych == 'E') goto yy156; + if (yych != 'e') goto yy56; +yy156: + yych = *++YYCURSOR; + if (yych == 'C') goto yy157; + if (yych != 'c') goto yy56; +yy157: + yych = *++YYCURSOR; + if (yych == 'O') goto yy158; + if (yych != 'o') goto yy56; +yy158: + yych = *++YYCURSOR; + if (yych == 'N') goto yy159; + if (yych != 'n') goto yy56; +yy159: + yych = *++YYCURSOR; + if (yych == 'D') goto yy98; + if (yych == 'd') goto yy98; + goto yy56; +yy160: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych == 'D') goto yy161; + if (yych <= 'S') goto yy74; + goto yy162; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy74; + } else { + if (yych == 't') goto yy162; + goto yy74; + } + } +yy161: + yych = *++YYCURSOR; + if (yych == 'A') goto yy163; + if (yych == 'a') goto yy163; + goto yy56; +yy162: + yych = *++YYCURSOR; + if (yych == 'H') goto yy98; + if (yych == 'h') goto yy98; + goto yy56; +yy163: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy78; + if (yych == 'y') goto yy78; + goto yy56; +yy164: + yych = *++YYCURSOR; + goto yy3; +yy165: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; + } +yy166: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; + } +yy167: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; + } +yy168: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; + } +yy169: + yych = *++YYCURSOR; + if (yych == ')') goto yy164; + goto yy3; +yy170: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + goto yy172; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy166; + goto yy3; + } else { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; + } + } +yy171: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy167; + goto yy3; + } else { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy175; + goto yy3; + } + } +yy172: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 8) { + goto yy173; + } + goto yy56; +yy173: + yyaccept = 0; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 8) { + goto yy173; + } + if (yych <= '.') { + if (yych == '-') goto yy172; + goto yy3; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; + goto yy3; + } +yy175: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + goto yy172; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy168; + goto yy3; + } else { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; + } + } +yy176: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + goto yy172; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy169; + goto yy3; + } else { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; + } + } +yy177: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy178; + } + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych <= '/') { + if (yych <= '.') goto yy3; + goto yy172; + } else { + if (yych == '_') goto yy172; + goto yy3; + } + } +yy178: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy179: + if (yybm[0+yych] & 16) { + goto yy178; + } + if (yych <= '.') { + if (yych == '-') goto yy172; + goto yy56; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; + goto yy56; + } +yy180: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy165; + goto yy3; + } +yy181: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy166; + } else { + if (yych <= 'Z') { + if (yych >= 'U') goto yy166; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy166; + goto yy3; + } + } + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych != '+') goto yy3; + } + } else { + if (yych <= 'Z') { + if (yych <= '-') goto yy183; + if (yych <= '@') goto yy3; + goto yy167; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy183: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy184; + if (yych <= '2') goto yy185; + if (yych <= '9') goto yy186; + goto yy56; +yy184: + yych = *++YYCURSOR; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy186; + if (yych <= ':') goto yy187; + goto yy3; +yy185: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy3; + if (yych >= '5') goto yy188; + } else { + if (yych <= '9') goto yy164; + if (yych <= ':') goto yy187; + goto yy3; + } +yy186: + yych = *++YYCURSOR; + if (yych <= '/') goto yy3; + if (yych <= '5') goto yy188; + if (yych <= '9') goto yy164; + if (yych >= ';') goto yy3; +yy187: + yych = *++YYCURSOR; + if (yych <= '/') goto yy3; + if (yych <= '5') goto yy188; + if (yych <= '9') goto yy164; + goto yy3; +yy188: + yych = *++YYCURSOR; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy164; + goto yy3; +yy189: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'C') goto yy166; + if (yych >= 'E') goto yy192; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'd') goto yy190; + if (yych <= 'e') goto yy192; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy190: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= 'N') { + if (yych <= ')') { + if (yych >= ')') goto yy164; + } else { + if (yych <= '@') goto yy191; + if (yych <= 'M') goto yy167; + goto yy198; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy167; + if (yych >= 'a') goto yy167; + } else { + if (yych <= 'n') goto yy198; + if (yych <= 'z') goto yy167; + } + } +yy191: + { + 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; + } +yy192: + yych = *++YYCURSOR; + if (yych <= 'K') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'J') goto yy167; + } + } else { + if (yych <= 'j') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'k') goto yy193; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy193: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy168; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'd') goto yy194; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy194: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy169; + goto yy3; + } else { + if (yych <= 'a') goto yy195; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy195: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'Y') goto yy196; + if (yych != 'y') goto yy3; + } +yy196: + yych = *++YYCURSOR; + if (yych == 'S') goto yy197; + if (yych != 's') goto yy191; +yy197: + yych = *++YYCURSOR; + goto yy191; +yy198: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy168; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'e') goto yy199; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy199: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy169; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 's') goto yy200; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy200: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'D') goto yy201; + if (yych != 'd') goto yy3; + } +yy201: + yych = *++YYCURSOR; + if (yych == 'A') goto yy202; + if (yych != 'a') goto yy56; +yy202: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy197; + if (yych == 'y') goto yy197; + goto yy56; +yy203: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych <= '/') { + if (yych <= '.') goto yy3; + goto yy172; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy166; + goto yy190; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'E') goto yy192; + goto yy166; + } else { + if (yych == '_') goto yy172; + goto yy3; + } + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy171; + } else { + if (yych <= 'e') goto yy205; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy191; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy191; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy198; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy191; + goto yy175; + } else { + if (yych <= 'n') goto yy211; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +yy205: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'J') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'K') goto yy193; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'j') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'k') goto yy206; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy206: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy194; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'd') goto yy207; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy207: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy195; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy208; + if (yych <= 'z') goto yy177; + goto yy3; + } + } +yy208: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'Y') goto yy196; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'y') goto yy209; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy209: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '.') { + if (yych == '-') goto yy172; + goto yy191; + } else { + if (yych <= '/') goto yy172; + if (yych <= 'R') goto yy191; + goto yy197; + } + } else { + if (yych <= '`') { + if (yych == '_') goto yy172; + goto yy191; + } else { + if (yych == 's') goto yy210; + if (yych <= 'z') goto yy178; + goto yy191; + } + } +yy210: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy178; + } + if (yych <= '.') { + if (yych == '-') goto yy172; + goto yy191; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; + goto yy191; + } +yy211: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy199; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'e') goto yy212; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy212: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy200; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 's') goto yy213; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy213: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'D') goto yy201; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'd') goto yy214; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy214: + yych = *++YYCURSOR; + if (yych == 'A') goto yy202; + if (yych != 'a') goto yy179; + yych = *++YYCURSOR; + if (yych == 'Y') goto yy197; + if (yych == 'y') goto yy210; + goto yy179; +yy216: + yych = *++YYCURSOR; + if (yych <= 'C') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy166; + } + } else { + if (yych <= 'b') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'c') goto yy217; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy217: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych >= '\t') goto yy220; + } else { + if (yych == ' ') goto yy220; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + } else { + if (yych <= '-') goto yy221; + if (yych <= '.') goto yy220; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy220; + } else { + if (yych == 'E') goto yy225; + goto yy167; + } + } else { + if (yych <= 'd') { + if (yych >= 'a') goto yy167; + } else { + if (yych <= 'e') goto yy225; + if (yych <= 'z') goto yy167; + } + } + } +yy218: + { + DEBUG_OUTPUT("monthtext"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->m = timelib_lookup_month((char **) &ptr); + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } +yy219: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23); + yych = *YYCURSOR; +yy220: + if (yybm[0+yych] & 32) { + goto yy219; + } + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy222; + if (yych <= '3') goto yy223; + if (yych <= '9') goto yy224; + goto yy56; +yy221: + yych = *++YYCURSOR; + if (yych <= '/') goto yy220; + if (yych <= '0') goto yy324; + if (yych <= '2') goto yy325; + if (yych <= '3') goto yy326; + goto yy220; +yy222: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy238; + goto yy56; + } else { + if (yych <= '\t') goto yy236; + if (yych <= 0x1F) goto yy56; + goto yy236; + } + } else { + if (yych <= '-') { + if (yych == ',') goto yy236; + goto yy56; + } else { + if (yych <= '.') goto yy236; + if (yych <= '/') goto yy56; + goto yy323; + } + } + } else { + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy236; + } else { + if (yych == 'h') goto yy236; + goto yy56; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy233; + if (yych <= 'q') goto yy56; + goto yy234; + } else { + if (yych <= 's') goto yy231; + if (yych <= 't') goto yy235; + goto yy56; + } + } + } +yy223: + yych = *++YYCURSOR; + if (yych <= '1') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy238; + goto yy56; + } else { + if (yych <= '\t') goto yy236; + if (yych <= 0x1F) goto yy56; + goto yy236; + } + } else { + if (yych <= '-') { + if (yych == ',') goto yy236; + goto yy56; + } else { + if (yych <= '.') goto yy236; + if (yych <= '/') goto yy56; + goto yy323; + } + } + } else { + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= '9') goto yy230; + if (yych <= 'c') goto yy56; + goto yy236; + } else { + if (yych == 'h') goto yy236; + goto yy56; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy233; + if (yych <= 'q') goto yy56; + goto yy234; + } else { + if (yych <= 's') goto yy231; + if (yych <= 't') goto yy235; + goto yy56; + } + } + } +yy224: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy238; + goto yy56; + } else { + if (yych <= '\t') goto yy236; + if (yych <= 0x1F) goto yy56; + goto yy236; + } + } else { + if (yych <= '-') { + if (yych == ',') goto yy236; + goto yy56; + } else { + if (yych <= '.') goto yy236; + if (yych <= '/') goto yy56; + goto yy230; + } + } + } else { + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy236; + } else { + if (yych == 'h') goto yy236; + goto yy56; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy233; + if (yych <= 'q') goto yy56; + goto yy234; + } else { + if (yych <= 's') goto yy231; + if (yych <= 't') goto yy235; + goto yy56; + } + } + } +yy225: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'L') goto yy168; + } + } else { + if (yych <= 'l') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'm') goto yy226; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy226: + yych = *++YYCURSOR; + if (yych <= 'B') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy169; + } + } else { + if (yych <= 'a') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'b') goto yy227; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy227: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'E') goto yy228; + if (yych != 'e') goto yy3; + } +yy228: + yych = *++YYCURSOR; + if (yych == 'R') goto yy229; + if (yych != 'r') goto yy56; +yy229: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy220; + if (yych <= 0x1F) goto yy218; + goto yy220; + } else { + if (yych <= '.') { + if (yych <= ',') goto yy218; + goto yy220; + } else { + if (yych <= '/') goto yy218; + if (yych <= '9') goto yy220; + goto yy218; + } + } +yy230: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy320; + goto yy56; +yy231: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy319; + goto yy237; +yy232: + { + 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_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } +yy233: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'd') goto yy319; + goto yy237; +yy234: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'd') goto yy319; + goto yy237; +yy235: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'h') goto yy319; + goto yy237; +yy236: + yyaccept = 6; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); + yych = *YYCURSOR; +yy237: + if (yybm[0+yych] & 64) { + goto yy236; + } + if (yych <= '2') { + if (yych <= '/') goto yy232; + if (yych <= '0') goto yy310; + if (yych <= '1') goto yy311; + goto yy312; + } else { + if (yych <= '9') goto yy313; + if (yych == 'T') goto yy239; + goto yy232; + } +yy238: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '0') { + if (yych <= '/') goto yy232; + goto yy240; + } else { + if (yych <= '1') goto yy241; + if (yych <= '2') goto yy242; + goto yy243; + } + } else { + if (yych <= 'T') { + if (yych <= 'S') goto yy232; + } else { + if (yych != 't') goto yy232; + } + } +yy239: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy308; + if (yych <= '2') goto yy309; + if (yych <= '9') goto yy298; + goto yy56; +yy240: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy299; + goto yy56; + } else { + if (yych <= '0') goto yy298; + if (yych <= '9') goto yy243; + if (yych <= ':') goto yy299; + goto yy56; + } +yy241: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy244; + goto yy56; + } else { + if (yych <= '2') goto yy243; + if (yych <= '9') goto yy298; + if (yych <= ':') goto yy244; + goto yy56; + } +yy242: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy244; + goto yy56; + } else { + if (yych <= '4') goto yy298; + if (yych == ':') goto yy244; + goto yy56; + } +yy243: + yych = *++YYCURSOR; + if (yych == '.') goto yy244; + if (yych != ':') goto yy56; +yy244: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy245; + if (yych <= '9') goto yy247; + goto yy56; +yy245: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy248; + } else { + if (yych <= '9') goto yy291; + if (yych <= ':') goto yy248; + } +yy246: + { + 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_parse_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"); + } + } + TIMELIB_DEINIT; + return TIMELIB_SHORTDATE_WITH_TIME; + } +yy247: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy248; + if (yych != ':') goto yy246; +yy248: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy249; + if (yych <= '6') goto yy250; + if (yych <= '9') goto yy251; + goto yy56; +yy249: + yych = *++YYCURSOR; + if (yych <= '/') goto yy246; + if (yych <= '9') goto yy252; + goto yy246; +yy250: + yych = *++YYCURSOR; + if (yych == '0') goto yy252; + goto yy246; +yy251: + yych = *++YYCURSOR; + goto yy246; +yy252: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '*') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy254; + goto yy246; + } else { + if (yych <= ' ') goto yy254; + if (yych == '(') goto yy254; + goto yy246; + } + } else { + if (yych <= '@') { + if (yych == ',') goto yy246; + if (yych <= '-') goto yy254; + goto yy246; + } else { + if (yych <= 'Z') goto yy254; + if (yych <= '`') goto yy246; + if (yych <= 'z') goto yy254; + goto yy246; + } + } +yy253: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; +yy254: + if (yych <= '@') { + if (yych <= '\'') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy253; + } else { + if (yych == ' ') goto yy253; + goto yy56; + } + } else { + if (yych <= '+') { + if (yych <= '(') goto yy257; + if (yych <= '*') goto yy56; + goto yy256; + } else { + if (yych == '-') goto yy256; + goto yy56; + } + } + } else { + if (yych <= 'Z') { + if (yych <= 'G') { + if (yych <= 'A') goto yy258; + if (yych <= 'F') goto yy259; + } else { + if (yych == 'P') goto yy258; + goto yy259; + } + } else { + if (yych <= 'o') { + if (yych <= '`') goto yy56; + if (yych <= 'a') goto yy260; + goto yy261; + } else { + if (yych <= 'p') goto yy260; + if (yych <= 'z') goto yy261; + goto yy56; + } + } + } +yy255: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych == ')') goto yy251; + if (yych <= '@') goto yy246; + goto yy262; + } else { + if (yych <= 'Z') { + if (yych <= 'M') goto yy289; + goto yy262; + } else { + if (yych <= '`') goto yy246; + if (yych <= 'z') goto yy273; + goto yy246; + } + } +yy256: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy284; + if (yych <= '2') goto yy285; + if (yych <= '9') goto yy286; + goto yy56; +yy257: + yych = *++YYCURSOR; + if (yych <= '@') goto yy56; + if (yych <= 'Z') goto yy261; + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy261; + goto yy56; +yy258: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy251; + goto yy246; + } else { + if (yych <= '.') goto yy267; + if (yych <= '@') goto yy246; + goto yy262; + } + } else { + if (yych <= '`') { + if (yych <= 'M') goto yy268; + if (yych <= 'Z') goto yy262; + goto yy246; + } else { + if (yych == 'm') goto yy283; + if (yych <= 'z') goto yy273; + goto yy246; + } + } +yy259: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy251; + goto yy246; + } else { + if (yych <= 'Z') goto yy262; + if (yych <= '`') goto yy246; + if (yych <= 'z') goto yy273; + goto yy246; + } +yy260: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy251; + goto yy246; + } else { + if (yych <= '.') goto yy267; + if (yych <= '@') goto yy246; + goto yy262; + } + } else { + if (yych <= '`') { + if (yych <= 'M') goto yy268; + if (yych <= 'Z') goto yy262; + goto yy246; + } else { + if (yych == 'm') goto yy268; + if (yych <= 'z') goto yy262; + goto yy246; + } + } +yy261: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy251; + goto yy246; + } else { + if (yych <= 'Z') goto yy262; + if (yych <= '`') goto yy246; + if (yych >= '{') goto yy246; + } +yy262: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy251; + goto yy246; + } else { + if (yych <= 'Z') goto yy263; + if (yych <= '`') goto yy246; + if (yych >= '{') goto yy246; + } +yy263: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy251; + goto yy246; + } else { + if (yych <= 'Z') goto yy264; + if (yych <= '`') goto yy246; + if (yych >= '{') goto yy246; + } +yy264: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy251; + goto yy246; + } else { + if (yych <= 'Z') goto yy265; + if (yych <= '`') goto yy246; + if (yych >= '{') goto yy246; + } +yy265: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy251; + goto yy246; + } else { + if (yych <= 'Z') goto yy266; + if (yych <= '`') goto yy246; + if (yych >= '{') goto yy246; + } +yy266: + yych = *++YYCURSOR; + if (yych == ')') goto yy251; + goto yy246; +yy267: + yych = *++YYCURSOR; + if (yych == 'M') goto yy272; + if (yych == 'm') goto yy272; + goto yy56; +yy268: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ')') { + if (yych <= '\t') { + if (yych <= 0x00) goto yy270; + if (yych <= 0x08) goto yy246; + goto yy270; + } else { + if (yych == ' ') goto yy270; + if (yych <= '(') goto yy246; + goto yy251; + } + } else { + if (yych <= '@') { + if (yych != '.') goto yy246; + } else { + if (yych <= 'Z') goto yy263; + if (yych <= '`') goto yy246; + if (yych <= 'z') goto yy263; + goto yy246; + } + } +yy269: + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy270; + if (yych <= 0x08) goto yy56; + } else { + if (yych != ' ') goto yy56; + } +yy270: + ++YYCURSOR; + { + 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; + } +yy272: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy270; + if (yych == '\t') goto yy270; + goto yy56; + } else { + if (yych <= ' ') goto yy270; + if (yych == '.') goto yy269; + goto yy56; + } +yy273: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy251; + goto yy246; + } else { + if (yych == '.') goto yy246; + goto yy275; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy246; + if (yych <= 'Z') goto yy263; + goto yy246; + } else { + if (yych <= '_') goto yy275; + if (yych <= '`') goto yy246; + if (yych >= '{') goto yy246; + } + } +yy274: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy251; + goto yy246; + } else { + if (yych == '.') goto yy246; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy246; + if (yych <= 'Z') goto yy264; + goto yy246; + } else { + if (yych <= '_') goto yy275; + if (yych <= '`') goto yy246; + if (yych <= 'z') goto yy278; + goto yy246; + } + } +yy275: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '@') goto yy56; + if (yych <= 'Z') goto yy276; + if (yych <= '`') goto yy56; + if (yych >= '{') goto yy56; +yy276: + yyaccept = 7; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '@') { + if (yych <= '-') { + if (yych <= ',') goto yy246; + goto yy275; + } else { + if (yych == '/') goto yy275; + goto yy246; + } + } else { + if (yych <= '_') { + if (yych <= 'Z') goto yy276; + if (yych <= '^') goto yy246; + goto yy275; + } else { + if (yych <= '`') goto yy246; + if (yych <= 'z') goto yy276; + goto yy246; + } + } +yy278: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy251; + goto yy246; + } else { + if (yych == '.') goto yy246; + goto yy275; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy246; + if (yych <= 'Z') goto yy265; + goto yy246; + } else { + if (yych <= '_') goto yy275; + if (yych <= '`') goto yy246; + if (yych >= '{') goto yy246; + } + } + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy251; + goto yy246; + } else { + if (yych == '.') goto yy246; + goto yy275; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy246; + if (yych <= 'Z') goto yy266; + goto yy246; + } else { + if (yych <= '_') goto yy275; + if (yych <= '`') goto yy246; + if (yych >= '{') goto yy246; + } + } + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy246; + goto yy251; + } else { + if (yych == '-') goto yy275; + goto yy246; + } + } else { + if (yych <= '_') { + if (yych <= '/') goto yy275; + if (yych <= '^') goto yy246; + goto yy275; + } else { + if (yych <= '`') goto yy246; + if (yych >= '{') goto yy246; + } + } +yy281: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') { + if (yych == '-') goto yy275; + if (yych <= '.') goto yy56; + goto yy275; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy56; + goto yy275; + } else { + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy281; + goto yy56; + } + } +yy283: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy270; + if (yych == '\t') goto yy270; + goto yy246; + } else { + if (yych <= '(') { + if (yych <= ' ') goto yy270; + goto yy246; + } else { + if (yych <= ')') goto yy251; + if (yych <= ',') goto yy246; + goto yy275; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '.') goto yy269; + if (yych <= '/') goto yy275; + if (yych <= '@') goto yy246; + goto yy263; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy246; + goto yy275; + } else { + if (yych <= '`') goto yy246; + if (yych <= 'z') goto yy274; + goto yy246; + } + } + } +yy284: + yych = *++YYCURSOR; + if (yych <= '/') goto yy246; + if (yych <= '9') goto yy286; + if (yych <= ':') goto yy287; + goto yy246; +yy285: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy246; + if (yych >= '5') goto yy288; + } else { + if (yych <= '9') goto yy251; + if (yych <= ':') goto yy287; + goto yy246; + } +yy286: + yych = *++YYCURSOR; + if (yych <= '/') goto yy246; + if (yych <= '5') goto yy288; + if (yych <= '9') goto yy251; + if (yych >= ';') goto yy246; +yy287: + yych = *++YYCURSOR; + if (yych <= '/') goto yy246; + if (yych <= '5') goto yy288; + if (yych <= '9') goto yy251; + goto yy246; +yy288: + yych = *++YYCURSOR; + if (yych <= '/') goto yy246; + if (yych <= '9') goto yy251; + goto yy246; +yy289: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == ')') goto yy251; + if (yych <= '@') goto yy246; + goto yy263; + } else { + if (yych <= 'Z') { + if (yych >= 'U') goto yy263; + } else { + if (yych <= '`') goto yy246; + if (yych <= 'z') goto yy263; + goto yy246; + } + } + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= ')') { + if (yych <= '(') goto yy246; + goto yy251; + } else { + if (yych == '+') goto yy256; + goto yy246; + } + } else { + if (yych <= 'Z') { + if (yych <= '-') goto yy256; + if (yych <= '@') goto yy246; + goto yy264; + } else { + if (yych <= '`') goto yy246; + if (yych <= 'z') goto yy264; + goto yy246; + } + } +yy291: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy292; + if (yych <= 0x1F) goto yy246; + } else { + if (yych == '.') goto yy248; + if (yych <= '9') goto yy246; + goto yy248; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy294; + if (yych <= 'O') goto yy246; + goto yy294; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy246; + goto yy294; + } else { + if (yych == 'p') goto yy294; + goto yy246; + } + } + } +yy292: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy292; + goto yy56; + } else { + if (yych <= ' ') goto yy292; + if (yych <= '@') goto yy56; + } + } else { + if (yych <= '`') { + if (yych != 'P') goto yy56; + } else { + if (yych <= 'a') goto yy294; + if (yych != 'p') goto yy56; + } + } +yy294: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { + if (yych <= 'M') goto yy296; + if (yych == 'm') goto yy296; + goto yy56; + } + yych = *++YYCURSOR; + if (yych == 'M') goto yy296; + if (yych != 'm') goto yy56; +yy296: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy270; + if (yych == '\t') goto yy270; + goto yy56; + } else { + if (yych <= ' ') goto yy270; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy270; + if (yych <= 0x08) goto yy56; + goto yy270; + } else { + if (yych == ' ') goto yy270; + goto yy56; + } +yy298: + yych = *++YYCURSOR; + if (yych == '.') goto yy299; + if (yych != ':') goto yy56; +yy299: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy300; + if (yych <= '9') goto yy301; + goto yy56; +yy300: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy302; + goto yy246; + } else { + if (yych <= '9') goto yy301; + if (yych <= ':') goto yy302; + goto yy246; + } +yy301: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy302; + if (yych != ':') goto yy246; +yy302: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy303; + if (yych <= '6') goto yy304; + if (yych <= '9') goto yy251; + goto yy56; +yy303: + yych = *++YYCURSOR; + if (yych <= '/') goto yy246; + if (yych <= '9') goto yy305; + goto yy246; +yy304: + yych = *++YYCURSOR; + if (yych != '0') goto yy246; +yy305: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '*') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy307; + goto yy246; + } else { + if (yych <= ' ') goto yy307; + if (yych == '(') goto yy307; + goto yy246; + } + } else { + if (yych <= '@') { + if (yych == ',') goto yy246; + if (yych <= '-') goto yy307; + goto yy246; + } else { + if (yych <= 'Z') goto yy307; + if (yych <= '`') goto yy246; + if (yych <= 'z') goto yy307; + goto yy246; + } + } +yy306: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; +yy307: + if (yych <= '+') { + if (yych <= ' ') { + if (yych == '\t') goto yy306; + if (yych <= 0x1F) goto yy56; + goto yy306; + } else { + if (yych == '(') goto yy257; + if (yych <= '*') goto yy56; + goto yy256; + } + } else { + if (yych <= 'F') { + if (yych == '-') goto yy256; + if (yych <= '@') goto yy56; + goto yy259; + } else { + if (yych <= 'Z') { + if (yych <= 'G') goto yy255; + goto yy259; + } else { + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy261; + goto yy56; + } + } + } +yy308: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy299; + goto yy56; + } else { + if (yych <= '9') goto yy298; + if (yych <= ':') goto yy299; + goto yy56; + } +yy309: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy299; + goto yy56; + } else { + if (yych <= '4') goto yy298; + if (yych == ':') goto yy299; + goto yy56; + } +yy310: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy299; + goto yy232; + } else { + if (yych <= '0') goto yy317; + if (yych <= '9') goto yy318; + if (yych <= ':') goto yy299; + goto yy232; + } +yy311: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy244; + goto yy232; + } else { + if (yych <= '2') goto yy318; + if (yych <= '9') goto yy317; + if (yych <= ':') goto yy244; + goto yy232; + } +yy312: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy244; + goto yy232; + } else { + if (yych <= '4') goto yy317; + if (yych <= '9') goto yy314; + if (yych <= ':') goto yy244; + goto yy232; + } +yy313: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy244; + goto yy232; + } else { + if (yych <= '9') goto yy314; + if (yych <= ':') goto yy244; + goto yy232; + } +yy314: + yych = *++YYCURSOR; + if (yych <= '/') goto yy232; + if (yych >= ':') goto yy232; +yy315: + yych = *++YYCURSOR; + if (yych <= '/') goto yy232; + if (yych >= ':') goto yy232; + yych = *++YYCURSOR; + goto yy232; +yy317: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy299; + goto yy232; + } else { + if (yych <= '9') goto yy315; + if (yych <= ':') goto yy299; + goto yy232; + } +yy318: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy244; + goto yy232; + } else { + if (yych <= '9') goto yy315; + if (yych <= ':') goto yy244; + goto yy232; + } +yy319: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 0x00) goto yy238; + goto yy237; +yy320: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++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_ex((char **) &ptr, 4, &length); + s->time->d = 1; + TIMELIB_PROCESS_YEAR(s->time->y, length); + TIMELIB_DEINIT; + return TIMELIB_DATE_NO_DAY; + } +yy323: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy238; + goto yy56; + } else { + if (yych <= '\t') goto yy236; + if (yych <= 0x1F) goto yy56; + goto yy236; + } + } else { + if (yych <= '-') { + if (yych == ',') goto yy236; + goto yy56; + } else { + if (yych <= '.') goto yy236; + if (yych <= '/') goto yy56; + goto yy320; + } + } + } else { + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy236; + } else { + if (yych == 'h') goto yy236; + goto yy56; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy233; + if (yych <= 'q') goto yy56; + goto yy234; + } else { + if (yych <= 's') goto yy231; + if (yych <= 't') goto yy235; + goto yy56; + } + } + } +yy324: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy238; + goto yy56; + } else { + if (yych <= '\t') goto yy236; + if (yych <= 0x1F) goto yy56; + goto yy236; + } + } else { + if (yych <= '-') { + if (yych == ',') goto yy236; + goto yy56; + } else { + if (yych <= '.') goto yy236; + if (yych <= '/') goto yy56; + goto yy327; + } + } + } else { + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy236; + } else { + if (yych == 'h') goto yy236; + goto yy56; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy233; + if (yych <= 'q') goto yy56; + goto yy234; + } else { + if (yych <= 's') goto yy231; + if (yych <= 't') goto yy235; + goto yy56; + } + } + } +yy325: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy238; + goto yy56; + } else { + if (yych <= '\t') goto yy236; + if (yych <= 0x1F) goto yy56; + goto yy236; + } + } else { + if (yych <= '-') { + if (yych == ',') goto yy236; + goto yy56; + } else { + if (yych <= '.') goto yy236; + if (yych <= '/') goto yy56; + goto yy327; + } + } + } else { + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy236; + } else { + if (yych == 'h') goto yy236; + goto yy56; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy233; + if (yych <= 'q') goto yy56; + goto yy234; + } else { + if (yych <= 's') goto yy231; + if (yych <= 't') goto yy235; + goto yy56; + } + } + } +yy326: + yych = *++YYCURSOR; + if (yych <= '1') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy238; + goto yy56; + } else { + if (yych <= '\t') goto yy236; + if (yych <= 0x1F) goto yy56; + goto yy236; + } + } else { + if (yych <= '-') { + if (yych == ',') goto yy236; + goto yy56; + } else { + if (yych <= '.') goto yy236; + if (yych <= '/') goto yy56; + } + } + } else { + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= '9') goto yy230; + if (yych <= 'c') goto yy56; + goto yy236; + } else { + if (yych == 'h') goto yy236; + goto yy56; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy233; + if (yych <= 'q') goto yy56; + goto yy234; + } else { + if (yych <= 's') goto yy231; + if (yych <= 't') goto yy235; + goto yy56; + } + } + } +yy327: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy238; + goto yy56; + } else { + if (yych <= '\t') goto yy236; + if (yych <= 0x1F) goto yy56; + goto yy236; + } + } else { + if (yych <= '-') { + if (yych <= '+') goto yy56; + if (yych <= ',') goto yy236; + } else { + if (yych <= '.') goto yy236; + if (yych <= '/') goto yy56; + goto yy320; + } + } + } else { + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy236; + } else { + if (yych == 'h') goto yy236; + goto yy56; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy233; + if (yych <= 'q') goto yy56; + goto yy234; + } else { + if (yych <= 's') goto yy231; + if (yych <= 't') goto yy235; + goto yy56; + } + } + } + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '/') goto yy330; + if (yych <= '9') goto yy331; +yy330: + { + 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_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); + TIMELIB_DEINIT; + return TIMELIB_PG_TEXT; + } +yy331: + yych = *++YYCURSOR; + if (yych <= '/') goto yy330; + if (yych >= ':') goto yy330; + yych = *++YYCURSOR; + if (yych <= '/') goto yy330; + if (yych >= ':') goto yy330; + yych = *++YYCURSOR; + goto yy330; +yy334: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'B') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'C') goto yy217; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'b') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'c') goto yy335; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy335: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + } else { + if (yych == '/') goto yy172; + goto yy220; + } + } + } else { + if (yych <= '^') { + if (yych <= 'D') { + if (yych <= '@') goto yy218; + goto yy167; + } else { + if (yych <= 'E') goto yy225; + if (yych <= 'Z') goto yy167; + goto yy218; + } + } else { + if (yych <= 'd') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy218; + goto yy175; + } else { + if (yych <= 'e') goto yy337; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +yy336: + yych = *++YYCURSOR; + if (yybm[0+yych] & 8) { + goto yy173; + } + if (yych <= '/') goto yy220; + if (yych <= '0') goto yy324; + if (yych <= '2') goto yy325; + if (yych <= '3') goto yy326; + goto yy220; +yy337: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'M') goto yy226; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'l') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'm') goto yy338; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy338: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'B') goto yy227; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'b') goto yy339; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy339: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'E') goto yy228; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'e') goto yy340; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy340: + yych = *++YYCURSOR; + if (yych == 'R') goto yy229; + if (yych != 'r') goto yy179; +yy341: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy178; + } + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy220; + goto yy218; + } else { + if (yych <= ' ') goto yy220; + if (yych <= ',') goto yy218; + } + } else { + if (yych <= '9') { + if (yych == '/') goto yy172; + goto yy220; + } else { + if (yych == '_') goto yy172; + goto yy218; + } + } +yy342: + yych = *++YYCURSOR; + if (yybm[0+yych] & 8) { + goto yy173; + } + goto yy220; +yy343: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy166; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 't') goto yy344; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy344: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy218; + } else { + if (yych <= '-') goto yy221; + if (yych <= '.') goto yy220; + goto yy218; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych != 'O') goto yy167; + } + } else { + if (yych <= 'n') { + if (yych <= '`') goto yy218; + goto yy167; + } else { + if (yych <= 'o') goto yy345; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +yy345: + yych = *++YYCURSOR; + if (yych <= 'B') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy168; + } + } else { + if (yych <= 'a') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'b') goto yy346; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy346: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy169; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'e') goto yy347; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy347: + yych = *++YYCURSOR; + if (yych <= 'Q') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'R') goto yy229; + if (yych == 'r') goto yy229; + goto yy3; + } +yy348: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy344; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 't') goto yy349; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy349: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy336; + } else { + if (yych == '/') goto yy172; + goto yy220; + } + } + } else { + if (yych <= '^') { + if (yych <= 'N') { + if (yych <= '@') goto yy218; + goto yy167; + } else { + if (yych <= 'O') goto yy345; + if (yych <= 'Z') goto yy167; + goto yy218; + } + } else { + if (yych <= 'n') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy218; + goto yy175; + } else { + if (yych <= 'o') goto yy350; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +yy350: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'B') goto yy346; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'b') goto yy351; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy351: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy347; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'e') goto yy352; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy352: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'R') goto yy229; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'r') goto yy341; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy353: + yych = *++YYCURSOR; + if (yych <= 'G') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'F') goto yy166; + goto yy361; + } + } else { + if (yych <= 'f') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'g') goto yy361; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy354: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy166; + goto yy358; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'r') goto yy358; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy355: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'N') goto yy166; + } + } else { + if (yych <= 'n') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'o') goto yy356; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy356: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy357; + if (yych <= 'z') goto yy167; + } +yy357: + { + 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; + } +yy358: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy218; + } else { + if (yych <= '-') goto yy221; + if (yych <= '.') goto yy220; + goto yy218; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych != 'I') goto yy167; + } + } else { + if (yych <= 'h') { + if (yych <= '`') goto yy218; + goto yy167; + } else { + if (yych <= 'i') goto yy359; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +yy359: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'K') goto yy168; + } + } else { + if (yych <= 'k') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'l') goto yy360; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy360: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy220; + goto yy218; + } else { + if (yych <= ' ') goto yy220; + if (yych == ')') goto yy164; + goto yy218; + } + } else { + if (yych <= '@') { + if (yych == '/') goto yy218; + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy218; + if (yych <= 'z') goto yy169; + goto yy218; + } + } +yy361: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy218; + } else { + if (yych <= '-') goto yy221; + if (yych <= '.') goto yy220; + goto yy218; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych != 'U') goto yy167; + } + } else { + if (yych <= 't') { + if (yych <= '`') goto yy218; + goto yy167; + } else { + if (yych <= 'u') goto yy362; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +yy362: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy168; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 's') goto yy363; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy363: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy169; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 't') goto yy364; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy364: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '.') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy220; + } else { + if (yych <= '/') goto yy218; + if (yych <= '9') goto yy220; + goto yy218; + } + } +yy365: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'F') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'G') goto yy361; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'f') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'g') goto yy372; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy366: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy358; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'r') goto yy369; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy367: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'O') goto yy356; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'n') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'o') goto yy368; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy368: + yyaccept = 8; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy357; + } else { + if (yych == '.') goto yy357; + goto yy172; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy357; + if (yych <= 'Z') goto yy167; + goto yy357; + } else { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy357; + if (yych <= 'z') goto yy175; + goto yy357; + } + } +yy369: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy336; + } else { + if (yych == '/') goto yy172; + goto yy220; + } + } + } else { + if (yych <= '^') { + if (yych <= 'H') { + if (yych <= '@') goto yy218; + goto yy167; + } else { + if (yych <= 'I') goto yy359; + if (yych <= 'Z') goto yy167; + goto yy218; + } + } else { + if (yych <= 'h') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy218; + goto yy175; + } else { + if (yych <= 'i') goto yy370; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +yy370: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'K') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'L') goto yy360; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'k') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'l') goto yy371; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy371: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy220; + if (yych <= 0x1F) goto yy218; + goto yy220; + } else { + if (yych <= ')') { + if (yych <= '(') goto yy218; + goto yy164; + } else { + if (yych <= ',') goto yy218; + if (yych <= '-') goto yy342; + goto yy220; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '/') goto yy172; + if (yych <= '9') goto yy220; + if (yych <= '@') goto yy218; + goto yy169; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy218; + goto yy172; + } else { + if (yych <= '`') goto yy218; + if (yych <= 'z') goto yy177; + goto yy218; + } + } + } +yy372: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy336; + } else { + if (yych == '/') goto yy172; + goto yy220; + } + } + } else { + if (yych <= '^') { + if (yych <= 'T') { + if (yych <= '@') goto yy218; + goto yy167; + } else { + if (yych <= 'U') goto yy362; + if (yych <= 'Z') goto yy167; + goto yy218; + } + } else { + if (yych <= 't') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy218; + goto yy175; + } else { + if (yych <= 'u') goto yy373; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +yy373: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy363; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 's') goto yy374; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy374: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy364; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 't') goto yy375; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy375: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy178; + } + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy220; + goto yy218; + } else { + if (yych <= ' ') goto yy220; + if (yych == ')') goto yy164; + goto yy218; + } + } else { + if (yych <= '/') { + if (yych <= '-') goto yy342; + if (yych <= '.') goto yy220; + goto yy172; + } else { + if (yych <= '9') goto yy220; + if (yych == '_') goto yy172; + goto yy218; + } + } +yy376: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == 'L') goto yy383; + if (yych <= 'M') goto yy166; + goto yy382; + } + } else { + if (yych <= 'l') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'k') goto yy166; + goto yy383; + } else { + if (yych == 'n') goto yy382; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy377: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy166; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'n') goto yy378; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy378: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy218; + } else { + if (yych <= '-') goto yy221; + if (yych <= '.') goto yy220; + goto yy218; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych != 'U') goto yy167; + } + } else { + if (yych <= 't') { + if (yych <= '`') goto yy218; + goto yy167; + } else { + if (yych <= 'u') goto yy379; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +yy379: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy168; + goto yy3; + } else { + if (yych <= 'a') goto yy380; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy380: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy169; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'r') goto yy381; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy381: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'Y') goto yy229; + if (yych == 'y') goto yy229; + goto yy3; + } +yy382: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy218; + } else { + if (yych <= '-') goto yy221; + if (yych <= '.') goto yy220; + goto yy218; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych == 'E') goto yy384; + goto yy167; + } + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy218; + goto yy167; + } else { + if (yych <= 'e') goto yy384; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +yy383: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy218; + } else { + if (yych <= '-') goto yy221; + if (yych <= '.') goto yy220; + goto yy218; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych != 'Y') goto yy167; + } + } else { + if (yych <= 'x') { + if (yych <= '`') goto yy218; + goto yy167; + } else { + if (yych <= 'y') goto yy384; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +yy384: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy220; + goto yy218; + } else { + if (yych <= ' ') goto yy220; + if (yych == ')') goto yy164; + goto yy218; + } + } else { + if (yych <= '@') { + if (yych == '/') goto yy218; + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy218; + if (yych <= 'z') goto yy168; + goto yy218; + } + } +yy385: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych == '-') goto yy172; + goto yy3; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy172; + goto yy3; + } else { + if (yych == 'L') goto yy383; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'N') goto yy382; + goto yy166; + } else { + if (yych == '_') goto yy172; + goto yy3; + } + } else { + if (yych <= 'm') { + if (yych == 'l') goto yy392; + goto yy171; + } else { + if (yych <= 'n') goto yy391; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy386: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy378; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'n') goto yy387; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy387: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy336; + } else { + if (yych == '/') goto yy172; + goto yy220; + } + } + } else { + if (yych <= '^') { + if (yych <= 'T') { + if (yych <= '@') goto yy218; + goto yy167; + } else { + if (yych <= 'U') goto yy379; + if (yych <= 'Z') goto yy167; + goto yy218; + } + } else { + if (yych <= 't') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy218; + goto yy175; + } else { + if (yych <= 'u') goto yy388; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +yy388: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy380; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy389; + if (yych <= 'z') goto yy176; + goto yy3; + } + } +yy389: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy381; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'r') goto yy390; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy390: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'Y') goto yy229; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'y') goto yy341; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy391: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy336; + } else { + if (yych == '/') goto yy172; + goto yy220; + } + } + } else { + if (yych <= '^') { + if (yych <= 'D') { + if (yych <= '@') goto yy218; + goto yy167; + } else { + if (yych <= 'E') goto yy384; + if (yych <= 'Z') goto yy167; + goto yy218; + } + } else { + if (yych <= 'd') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy218; + goto yy175; + } else { + if (yych <= 'e') goto yy393; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +yy392: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy336; + } else { + if (yych == '/') goto yy172; + goto yy220; + } + } + } else { + if (yych <= '^') { + if (yych <= 'X') { + if (yych <= '@') goto yy218; + goto yy167; + } else { + if (yych <= 'Y') goto yy384; + if (yych <= 'Z') goto yy167; + goto yy218; + } + } else { + if (yych <= 'x') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy218; + goto yy175; + } else { + if (yych <= 'y') goto yy393; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +yy393: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy220; + if (yych <= 0x1F) goto yy218; + goto yy220; + } else { + if (yych <= ')') { + if (yych <= '(') goto yy218; + goto yy164; + } else { + if (yych <= ',') goto yy218; + if (yych <= '-') goto yy342; + goto yy220; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '/') goto yy172; + if (yych <= '9') goto yy220; + if (yych <= '@') goto yy218; + goto yy168; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy218; + goto yy172; + } else { + if (yych <= '`') goto yy218; + if (yych <= 'z') goto yy176; + goto yy218; + } + } + } +yy394: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy220; + if (yych <= 0x1F) goto yy3; + goto yy220; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy220; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy220; + if (yych <= '@') goto yy3; + goto yy166; + } else { + if (yych <= 'Z') { + if (yych >= 'J') goto yy166; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy166; + goto yy3; + } + } + } +yy395: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy220; + goto yy3; + } else { + if (yych <= ' ') goto yy220; + if (yych == ')') goto yy164; + goto yy3; + } + } else { + if (yych <= '@') { + if (yych == '/') goto yy3; + if (yych <= '9') goto yy220; + goto yy3; + } else { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy396: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy220; + if (yych <= 0x1F) goto yy3; + goto yy220; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy220; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy220; + if (yych <= '@') goto yy3; + goto yy166; + } else { + if (yych <= 'Z') { + if (yych >= 'J') goto yy166; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy166; + goto yy3; + } + } + } + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy220; + if (yych <= 0x1F) goto yy3; + goto yy220; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy220; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy220; + if (yych <= '@') goto yy3; + goto yy167; + } else { + if (yych <= 'Z') { + if (yych >= 'J') goto yy167; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy167; + goto yy3; + } + } + } + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy220; + goto yy3; + } else { + if (yych <= ' ') goto yy220; + if (yych == ')') goto yy164; + goto yy3; + } + } else { + if (yych <= '@') { + if (yych == '/') goto yy3; + if (yych <= '9') goto yy220; + goto yy3; + } else { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy399: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy220; + goto yy3; + } else { + if (yych <= ' ') goto yy220; + if (yych == ')') goto yy164; + goto yy3; + } + } else { + if (yych <= '@') { + if (yych == '/') goto yy3; + if (yych <= '9') goto yy220; + goto yy3; + } else { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy400: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy220; + if (yych <= 0x1F) goto yy3; + goto yy220; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy220; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy220; + if (yych <= '@') goto yy3; + goto yy166; + } else { + if (yych <= 'Z') { + if (yych <= 'I') goto yy395; + goto yy166; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy166; + goto yy3; + } + } + } +yy401: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; + } else { + if (yych <= '9') { + if (yych <= '/') goto yy3; + goto yy421; + } else { + if (yych <= ':') goto yy187; + if (yych <= 'C') goto yy3; + goto yy60; + } + } + } else { + if (yych <= 'L') { + if (yych <= 'F') { + if (yych <= 'E') goto yy3; + goto yy60; + } else { + if (yych == 'H') goto yy60; + goto yy3; + } + } else { + if (yych <= 'R') { + if (yych <= 'M') goto yy60; + goto yy3; + } else { + if (yych == 'V') goto yy3; + goto yy60; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych <= 'c') goto yy3; + goto yy60; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy3; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy3; + } else { + if (yych == 'v') goto yy3; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy3; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy3; + } + } + } + } +yy402: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'C') { + if (yych <= '/') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy60; + } else { + if (yych == ' ') goto yy60; + goto yy3; + } + } else { + if (yych <= '5') { + if (yych <= '4') goto yy421; + goto yy406; + } else { + if (yych <= '9') goto yy407; + if (yych <= ':') goto yy187; + goto yy3; + } + } + } else { + if (yych <= 'H') { + if (yych <= 'E') { + if (yych <= 'D') goto yy60; + goto yy3; + } else { + if (yych == 'G') goto yy3; + goto yy60; + } + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy3; + goto yy60; + } else { + if (yych <= 'R') goto yy3; + if (yych <= 'U') goto yy60; + goto yy3; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych <= 'X') { + if (yych <= 'W') goto yy60; + goto yy3; + } else { + if (yych <= 'Y') goto yy60; + if (yych <= 'c') goto yy3; + goto yy60; + } + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy3; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy3; + } else { + if (yych == 'v') goto yy3; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy3; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy3; + } + } + } + } +yy403: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'C') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; + } else { + if (yych <= '5') { + if (yych <= '/') goto yy3; + goto yy406; + } else { + if (yych <= '9') goto yy407; + if (yych <= ':') goto yy187; + goto yy3; + } + } + } else { + if (yych <= 'H') { + if (yych <= 'E') { + if (yych <= 'D') goto yy60; + goto yy3; + } else { + if (yych == 'G') goto yy3; + goto yy60; + } + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy3; + goto yy60; + } else { + if (yych <= 'R') goto yy3; + if (yych <= 'U') goto yy60; + goto yy3; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych <= 'X') { + if (yych <= 'W') goto yy60; + goto yy3; + } else { + if (yych <= 'Y') goto yy60; + if (yych <= 'c') goto yy3; + goto yy60; + } + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy3; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy3; + } else { + if (yych == 'v') goto yy3; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy3; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy3; + } + } + } + } +yy404: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 4) { + goto yy57; + } + if (yych <= ',') { + if (yych == '+') goto yy404; + goto yy56; + } else { + if (yych <= '-') goto yy404; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy54; + goto yy56; + } +yy406: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= 'E') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; + } else { + if (yych <= '9') { + if (yych <= '/') goto yy3; + goto yy420; + } else { + if (yych == 'D') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'L') { + if (yych == 'G') goto yy3; + if (yych <= 'H') goto yy60; + goto yy3; + } else { + if (yych <= 'R') { + if (yych <= 'M') goto yy60; + goto yy3; + } else { + if (yych == 'V') goto yy3; + goto yy60; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych <= 'c') goto yy3; + goto yy60; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy3; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy3; + } else { + if (yych == 'v') goto yy3; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy3; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy3; + } + } + } + } +yy407: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= 'E') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; + } else { + if (yych <= '9') { + if (yych <= '/') goto yy3; + } else { + if (yych == 'D') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'L') { + if (yych == 'G') goto yy3; + if (yych <= 'H') goto yy60; + goto yy3; + } else { + if (yych <= 'R') { + if (yych <= 'M') goto yy60; + goto yy3; + } else { + if (yych == 'V') goto yy3; + goto yy60; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych <= 'c') goto yy3; + goto yy60; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy3; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy3; + } else { + if (yych == 'v') goto yy3; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy3; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy3; + } + } + } + } + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych >= ':') goto yy60; +yy409: + yych = *++YYCURSOR; + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych != '-') goto yy60; +yy410: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy411; + if (yych <= '1') goto yy412; + goto yy56; +yy411: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy413; + goto yy56; +yy412: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; +yy413: + yych = *++YYCURSOR; + if (yych != '-') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy415; + if (yych <= '2') goto yy416; + if (yych <= '3') goto yy417; + goto yy56; +yy415: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy418; + goto yy56; +yy416: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy418; + goto yy56; +yy417: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '2') goto yy56; +yy418: + ++YYCURSOR; +yy419: + { + 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; + } +yy420: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= 'E') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; + } else { + if (yych <= '9') { + if (yych <= '/') goto yy3; + goto yy409; + } else { + if (yych == 'D') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'L') { + if (yych == 'G') goto yy3; + if (yych <= 'H') goto yy60; + goto yy3; + } else { + if (yych <= 'R') { + if (yych <= 'M') goto yy60; + goto yy3; + } else { + if (yych == 'V') goto yy3; + goto yy60; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych <= 'c') goto yy3; + goto yy60; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy3; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy3; + } else { + if (yych == 'v') goto yy3; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy3; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy3; + } + } + } + } +yy421: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'C') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; + } else { + if (yych <= '5') { + if (yych <= '/') goto yy3; + } else { + if (yych <= '9') goto yy420; + if (yych <= ':') goto yy187; + goto yy3; + } + } + } else { + if (yych <= 'H') { + if (yych <= 'E') { + if (yych <= 'D') goto yy60; + goto yy3; + } else { + if (yych == 'G') goto yy3; + goto yy60; + } + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy3; + goto yy60; + } else { + if (yych <= 'R') goto yy3; + if (yych <= 'U') goto yy60; + goto yy3; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych <= 'X') { + if (yych <= 'W') goto yy60; + goto yy3; + } else { + if (yych <= 'Y') goto yy60; + if (yych <= 'c') goto yy3; + goto yy60; + } + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy3; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy3; + } else { + if (yych == 'v') goto yy3; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy3; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy3; + } + } + } + } + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= 'E') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; + } else { + if (yych <= '9') { + if (yych <= '/') goto yy3; + } else { + if (yych == 'D') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'L') { + if (yych == 'G') goto yy3; + if (yych <= 'H') goto yy60; + goto yy3; + } else { + if (yych <= 'R') { + if (yych <= 'M') goto yy60; + goto yy3; + } else { + if (yych == 'V') goto yy3; + goto yy60; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych <= 'c') goto yy3; + goto yy60; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy3; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy3; + } else { + if (yych == 'v') goto yy3; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy3; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy3; + } + } + } + } + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych <= 'W') { + if (yych <= 'E') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; + } else { + if (yych <= '-') { + if (yych <= ',') goto yy3; + goto yy410; + } else { + if (yych == 'D') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'L') { + if (yych == 'G') goto yy3; + if (yych <= 'H') goto yy60; + goto yy3; + } else { + if (yych <= 'R') { + if (yych <= 'M') goto yy60; + goto yy3; + } else { + if (yych == 'V') goto yy3; + goto yy60; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych <= 'c') goto yy3; + goto yy60; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy3; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy3; + } else { + if (yych == 'v') goto yy3; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy3; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy3; + } + } + } + } +yy424: + yych = *++YYCURSOR; + if (yych <= '/') goto yy426; + if (yych <= '0') goto yy700; + if (yych <= '1') goto yy701; + if (yych <= '9') goto yy702; + goto yy426; +yy425: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy426: + if (yych <= 'W') { + if (yych <= 'G') { + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy425; + goto yy56; + } else { + if (yych <= ' ') goto yy425; + if (yych <= ',') goto yy56; + goto yy541; + } + } else { + if (yych <= 'C') { + if (yych == 'A') goto yy444; + goto yy56; + } else { + if (yych <= 'D') goto yy430; + if (yych == 'F') goto yy431; + goto yy56; + } + } + } else { + if (yych <= 'O') { + if (yych <= 'J') { + if (yych <= 'H') goto yy65; + if (yych <= 'I') goto yy439; + goto yy443; + } else { + if (yych <= 'L') goto yy56; + if (yych <= 'M') goto yy427; + if (yych <= 'N') goto yy446; + goto yy445; + } + } else { + if (yych <= 'S') { + if (yych <= 'P') goto yy448; + if (yych <= 'R') goto yy56; + goto yy428; + } else { + if (yych <= 'T') goto yy70; + if (yych <= 'U') goto yy63; + if (yych <= 'V') goto yy441; + goto yy69; + } + } + } + } else { + if (yych <= 'm') { + if (yych <= 'e') { + if (yych <= '`') { + if (yych <= 'X') goto yy442; + if (yych <= 'Y') goto yy68; + goto yy56; + } else { + if (yych <= 'a') goto yy444; + if (yych == 'd') goto yy430; + goto yy56; + } + } else { + if (yych <= 'h') { + if (yych <= 'f') goto yy431; + if (yych <= 'g') goto yy56; + goto yy65; + } else { + if (yych == 'j') goto yy443; + if (yych <= 'l') goto yy56; + } + } + } else { + if (yych <= 'u') { + if (yych <= 'p') { + if (yych <= 'n') goto yy446; + if (yych <= 'o') goto yy445; + goto yy448; + } else { + if (yych <= 'r') goto yy56; + if (yych <= 's') goto yy428; + if (yych <= 't') goto yy70; + goto yy63; + } + } else { + if (yych <= 'x') { + if (yych == 'w') goto yy69; + goto yy56; + } else { + if (yych <= 'y') goto yy68; + if (yych == 0xC2) goto yy62; + goto yy56; + } + } + } + } +yy427: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= 'I') { + if (yych == 'A') goto yy556; + if (yych <= 'H') goto yy56; + goto yy138; + } else { + if (yych == 'O') goto yy137; + if (yych <= 'R') goto yy56; + goto yy139; + } + } else { + if (yych <= 'i') { + if (yych == 'a') goto yy556; + if (yych <= 'h') goto yy56; + goto yy138; + } else { + if (yych <= 'o') { + if (yych <= 'n') goto yy56; + goto yy137; + } else { + if (yych == 's') goto yy139; + goto yy56; + } + } + } +yy428: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych == 'A') goto yy119; + goto yy56; + } else { + if (yych <= 'E') goto yy1013; + if (yych <= 'T') goto yy56; + goto yy118; + } + } else { + if (yych <= 'd') { + if (yych == 'a') goto yy119; + goto yy56; + } else { + if (yych <= 'e') goto yy1013; + if (yych == 'u') goto yy118; + goto yy56; + } + } +yy429: + yych = *++YYCURSOR; + if (yych <= '`') { + if (yych <= 'D') { + if (yych == 'A') goto yy119; + goto yy56; + } else { + if (yych <= 'E') goto yy1013; + if (yych == 'U') goto yy118; + goto yy56; + } + } else { + if (yych <= 'e') { + if (yych <= 'a') goto yy119; + if (yych <= 'd') goto yy56; + goto yy1013; + } else { + if (yych <= 's') goto yy56; + if (yych <= 't') goto yy693; + if (yych <= 'u') goto yy118; + goto yy56; + } + } +yy430: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych == 'A') goto yy115; + if (yych <= 'D') goto yy56; + goto yy543; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy115; + } else { + if (yych == 'e') goto yy543; + goto yy56; + } + } +yy431: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= 'N') { + if (yych == 'E') goto yy559; + goto yy56; + } else { + if (yych <= 'O') goto yy100; + if (yych <= 'Q') goto yy56; + goto yy99; + } + } else { + if (yych <= 'n') { + if (yych == 'e') goto yy559; + goto yy56; + } else { + if (yych <= 'o') goto yy100; + if (yych == 'r') goto yy99; + goto yy56; + } + } +yy432: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'H') goto yy71; + if (yych <= 'T') goto yy56; + goto yy72; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy1012; + } else { + if (yych == 'u') goto yy72; + goto yy56; + } + } +yy433: + yych = *++YYCURSOR; + if (yych == '-') goto yy706; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy705; + goto yy60; +yy434: + yych = *++YYCURSOR; + if (yych <= 'c') { + if (yych == 'O') goto yy494; + goto yy56; + } else { + if (yych <= 'd') goto yy693; + if (yych == 'o') goto yy494; + goto yy56; + } +yy435: + yych = *++YYCURSOR; + if (yych == 'd') goto yy693; + goto yy56; +yy436: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': goto yy630; + case '3': goto yy632; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy633; + case 'A': + case 'a': goto yy637; + case 'D': + case 'd': goto yy641; + case 'F': + case 'f': goto yy635; + case 'J': + case 'j': goto yy634; + case 'M': + case 'm': goto yy636; + case 'N': + case 'n': goto yy640; + case 'O': + case 'o': goto yy639; + case 'S': + case 's': goto yy638; + default: goto yy56; + } +yy437: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy580; + case '1': goto yy581; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy582; + case 'A': + case 'a': goto yy586; + case 'D': + case 'd': goto yy590; + case 'F': + case 'f': goto yy584; + case 'J': + case 'j': goto yy583; + case 'M': + case 'm': goto yy585; + case 'N': + case 'n': goto yy589; + case 'O': + case 'o': goto yy588; + case 'S': + case 's': goto yy587; + default: goto yy542; + } +yy438: + yych = *++YYCURSOR; + if (yych <= '1') { + if (yych <= '/') goto yy542; + if (yych <= '0') goto yy532; + goto yy533; + } else { + if (yych <= '5') goto yy534; + if (yych <= '9') goto yy535; + goto yy542; + } +yy439: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych <= '.') goto yy496; + } + } else { + if (yych <= 'U') { + if (yych <= '9') goto yy498; + if (yych == 'I') goto yy531; + } else { + if (yych == 'W') goto yy440; + if (yych <= 'X') goto yy504; + } + } +yy440: + { + 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; + } +yy441: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy440; + goto yy496; + } else { + if (yych == ' ') goto yy496; + goto yy440; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy496; + if (yych <= '/') goto yy440; + goto yy498; + } else { + if (yych == 'I') goto yy529; + goto yy440; + } + } +yy442: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy440; + goto yy496; + } else { + if (yych == ' ') goto yy496; + goto yy440; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy496; + if (yych <= '/') goto yy440; + goto yy498; + } else { + if (yych == 'I') goto yy528; + goto yy440; + } + } +yy443: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy521; + if (yych <= 'T') goto yy56; + goto yy520; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy521; + } else { + if (yych == 'u') goto yy520; + goto yy56; + } + } +yy444: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= 'L') { + if (yych == '.') goto yy449; + goto yy56; + } else { + if (yych <= 'M') goto yy450; + if (yych == 'P') goto yy514; + goto yy56; + } + } else { + if (yych <= 'o') { + if (yych <= 'U') goto yy513; + if (yych == 'm') goto yy450; + goto yy56; + } else { + if (yych <= 'p') goto yy514; + if (yych == 'u') goto yy513; + goto yy56; + } + } +yy445: + yych = *++YYCURSOR; + if (yych == 'C') goto yy508; + if (yych == 'c') goto yy508; + goto yy56; +yy446: + yych = *++YYCURSOR; + if (yych == 'O') goto yy494; + if (yych == 'o') goto yy494; + goto yy56; +yy447: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy454; + if (yych <= '9') goto yy456; + goto yy56; +yy448: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { + if (yych <= 'M') goto yy450; + if (yych == 'm') goto yy450; + goto yy56; + } +yy449: + yych = *++YYCURSOR; + if (yych == 'M') goto yy450; + if (yych != 'm') goto yy56; +yy450: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy452; + if (yych == '\t') goto yy452; + goto yy56; + } else { + if (yych <= ' ') goto yy452; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy452; + if (yych <= 0x08) goto yy56; + } else { + if (yych != ' ') goto yy56; + } +yy452: + ++YYCURSOR; + { + 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; + } +yy454: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy457; + } else { + if (yych <= '9') goto yy471; + if (yych <= ':') goto yy457; + } +yy455: + { + 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_parse_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"); + } + } + TIMELIB_DEINIT; + return TIMELIB_TIME24_WITH_ZONE; + } +yy456: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy457; + if (yych != ':') goto yy455; +yy457: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy458; + if (yych <= '6') goto yy459; + if (yych <= '9') goto yy460; + goto yy56; +yy458: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy461; + if (yych <= '/') goto yy455; + if (yych <= '9') goto yy464; + goto yy455; +yy459: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy461; + if (yych == '0') goto yy464; + goto yy455; +yy460: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych != '.') goto yy455; +yy461: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy462: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy455; + if (yych <= '9') goto yy462; + goto yy455; +yy464: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= 0x1F) { + if (yych != '\t') goto yy455; + } else { + if (yych <= ' ') goto yy465; + if (yych == '.') goto yy461; + goto yy455; + } + } else { + if (yych <= '`') { + if (yych <= 'A') goto yy467; + if (yych == 'P') goto yy467; + goto yy455; + } else { + if (yych <= 'a') goto yy467; + if (yych == 'p') goto yy467; + goto yy455; + } + } +yy465: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy465; + goto yy56; + } else { + if (yych <= ' ') goto yy465; + if (yych <= '@') goto yy56; + } + } else { + if (yych <= '`') { + if (yych != 'P') goto yy56; + } else { + if (yych <= 'a') goto yy467; + if (yych != 'p') goto yy56; + } + } +yy467: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { + if (yych <= 'M') goto yy469; + if (yych == 'm') goto yy469; + goto yy56; + } + yych = *++YYCURSOR; + if (yych == 'M') goto yy469; + if (yych != 'm') goto yy56; +yy469: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy452; + if (yych == '\t') goto yy452; + goto yy56; + } else { + if (yych <= ' ') goto yy452; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy452; + if (yych <= 0x08) goto yy56; + goto yy452; + } else { + if (yych == ' ') goto yy452; + goto yy56; + } +yy471: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy472; + if (yych <= 0x1F) goto yy455; + } else { + if (yych == '.') goto yy457; + if (yych <= '9') goto yy455; + goto yy475; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy474; + if (yych <= 'O') goto yy455; + goto yy474; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy455; + goto yy474; + } else { + if (yych == 'p') goto yy474; + goto yy455; + } + } + } +yy472: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy472; + goto yy56; + } else { + if (yych <= ' ') goto yy472; + if (yych <= '@') goto yy56; + } + } else { + if (yych <= '`') { + if (yych != 'P') goto yy56; + } else { + if (yych <= 'a') goto yy474; + if (yych != 'p') goto yy56; + } + } +yy474: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych == '.') goto yy491; + goto yy56; + } else { + if (yych <= 'M') goto yy492; + if (yych == 'm') goto yy492; + goto yy56; + } +yy475: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy476; + if (yych <= '6') goto yy477; + if (yych <= '9') goto yy460; + goto yy56; +yy476: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy461; + if (yych <= '/') goto yy455; + if (yych <= '9') goto yy478; + goto yy455; +yy477: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy461; + if (yych != '0') goto yy455; +yy478: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy465; + if (yych <= 0x1F) goto yy455; + goto yy465; + } else { + if (yych == '.') goto yy479; + if (yych <= '9') goto yy455; + goto yy480; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy467; + if (yych <= 'O') goto yy455; + goto yy467; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy455; + goto yy467; + } else { + if (yych == 'p') goto yy467; + goto yy455; + } + } + } +yy479: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy489; + goto yy56; +yy480: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy481: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'O') { + if (yych <= '9') { + if (yych <= '/') goto yy56; + goto yy481; + } else { + if (yych != 'A') goto yy56; + } + } else { + if (yych <= 'a') { + if (yych <= 'P') goto yy483; + if (yych <= '`') goto yy56; + } else { + if (yych != 'p') goto yy56; + } + } +yy483: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { + if (yych <= 'M') goto yy485; + if (yych == 'm') goto yy485; + goto yy56; + } + yych = *++YYCURSOR; + if (yych == 'M') goto yy485; + if (yych != 'm') goto yy56; +yy485: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy487; + if (yych == '\t') goto yy487; + goto yy56; + } else { + if (yych <= ' ') goto yy487; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy487; + if (yych <= 0x08) goto yy56; + } else { + if (yych != ' ') goto yy56; + } +yy487: + ++YYCURSOR; + { + 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; + } +yy489: + yyaccept = 10; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'O') { + if (yych <= '9') { + if (yych <= '/') goto yy455; + goto yy489; + } else { + if (yych == 'A') goto yy483; + goto yy455; + } + } else { + if (yych <= 'a') { + if (yych <= 'P') goto yy483; + if (yych <= '`') goto yy455; + goto yy483; + } else { + if (yych == 'p') goto yy483; + goto yy455; + } + } +yy491: + yych = *++YYCURSOR; + if (yych == 'M') goto yy492; + if (yych != 'm') goto yy56; +yy492: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy452; + if (yych == '\t') goto yy452; + goto yy56; + } else { + if (yych <= ' ') goto yy452; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy452; + if (yych <= 0x08) goto yy56; + goto yy452; + } else { + if (yych == ' ') goto yy452; + goto yy56; + } +yy494: + yych = *++YYCURSOR; + if (yych == 'V') goto yy495; + if (yych != 'v') goto yy56; +yy495: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych != '\t') goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'E') goto yy500; + if (yych == 'e') goto yy500; + goto yy440; + } + } +yy496: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); + yych = *YYCURSOR; +yy497: + if (yych <= ' ') { + if (yych == '\t') goto yy496; + if (yych <= 0x1F) goto yy56; + goto yy496; + } else { + if (yych <= '.') { + if (yych <= ',') goto yy56; + goto yy496; + } else { + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + } + } +yy498: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '/') goto yy499; + if (yych <= '9') goto yy505; +yy499: + { + 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_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL; + } +yy500: + yych = *++YYCURSOR; + if (yych == 'M') goto yy501; + if (yych != 'm') goto yy56; +yy501: + yych = *++YYCURSOR; + if (yych == 'B') goto yy502; + if (yych != 'b') goto yy56; +yy502: + yych = *++YYCURSOR; + if (yych == 'E') goto yy503; + if (yych != 'e') goto yy56; +yy503: + yych = *++YYCURSOR; + if (yych == 'R') goto yy504; + if (yych != 'r') goto yy56; +yy504: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy496; + if (yych <= 0x1F) goto yy440; + goto yy496; + } else { + if (yych <= '.') { + if (yych <= ',') goto yy440; + goto yy496; + } else { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } + } +yy505: + yych = *++YYCURSOR; + if (yych <= '/') goto yy499; + if (yych >= ':') goto yy499; +yy506: + yych = *++YYCURSOR; + if (yych <= '/') goto yy499; + if (yych >= ':') goto yy499; + yych = *++YYCURSOR; + goto yy499; +yy508: + yych = *++YYCURSOR; + if (yych == 'T') goto yy509; + if (yych != 't') goto yy56; +yy509: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + goto yy496; + } + } else { + if (yych <= 'N') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'O') goto yy510; + if (yych != 'o') goto yy440; + } + } +yy510: + yych = *++YYCURSOR; + if (yych == 'B') goto yy511; + if (yych != 'b') goto yy56; +yy511: + yych = *++YYCURSOR; + if (yych == 'E') goto yy512; + if (yych != 'e') goto yy56; +yy512: + yych = *++YYCURSOR; + if (yych == 'R') goto yy504; + if (yych == 'r') goto yy504; + goto yy56; +yy513: + yych = *++YYCURSOR; + if (yych == 'G') goto yy517; + if (yych == 'g') goto yy517; + goto yy56; +yy514: + yych = *++YYCURSOR; + if (yych == 'R') goto yy515; + if (yych != 'r') goto yy56; +yy515: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + goto yy496; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'I') goto yy516; + if (yych != 'i') goto yy440; + } + } +yy516: + yych = *++YYCURSOR; + if (yych == 'L') goto yy504; + if (yych == 'l') goto yy504; + goto yy56; +yy517: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + goto yy496; + } + } else { + if (yych <= 'T') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'U') goto yy518; + if (yych != 'u') goto yy440; + } + } +yy518: + yych = *++YYCURSOR; + if (yych == 'S') goto yy519; + if (yych != 's') goto yy56; +yy519: + yych = *++YYCURSOR; + if (yych == 'T') goto yy504; + if (yych == 't') goto yy504; + goto yy56; +yy520: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy527; + if (yych <= 'M') goto yy56; + goto yy526; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy527; + } else { + if (yych == 'n') goto yy526; + goto yy56; + } + } +yy521: + yych = *++YYCURSOR; + if (yych == 'N') goto yy522; + if (yych != 'n') goto yy56; +yy522: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + goto yy496; + } + } else { + if (yych <= 'T') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'U') goto yy523; + if (yych != 'u') goto yy440; + } + } +yy523: + yych = *++YYCURSOR; + if (yych == 'A') goto yy524; + if (yych != 'a') goto yy56; +yy524: + yych = *++YYCURSOR; + if (yych == 'R') goto yy525; + if (yych != 'r') goto yy56; +yy525: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy504; + if (yych == 'y') goto yy504; + goto yy56; +yy526: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + goto yy496; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'E') goto yy504; + if (yych == 'e') goto yy504; + goto yy440; + } + } +yy527: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + goto yy496; + } + } else { + if (yych <= 'X') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'Y') goto yy504; + if (yych == 'y') goto yy504; + goto yy440; + } + } +yy528: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy440; + goto yy496; + } else { + if (yych == ' ') goto yy496; + goto yy440; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy496; + if (yych <= '/') goto yy440; + goto yy498; + } else { + if (yych == 'I') goto yy504; + goto yy440; + } + } +yy529: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy440; + goto yy496; + } else { + if (yych == ' ') goto yy496; + goto yy440; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy496; + if (yych <= '/') goto yy440; + goto yy498; + } else { + if (yych != 'I') goto yy440; + } + } + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy440; + goto yy496; + } else { + if (yych == ' ') goto yy496; + goto yy440; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy496; + if (yych <= '/') goto yy440; + goto yy498; + } else { + if (yych == 'I') goto yy504; + goto yy440; + } + } +yy531: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy440; + goto yy496; + } else { + if (yych == ' ') goto yy496; + goto yy440; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy496; + if (yych <= '/') goto yy440; + goto yy498; + } else { + if (yych == 'I') goto yy504; + goto yy440; + } + } +yy532: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy455; + if (yych <= '-') goto yy566; + goto yy565; + } else { + if (yych <= '/') goto yy455; + if (yych <= '9') goto yy579; + if (yych <= ':') goto yy457; + goto yy455; + } +yy533: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') goto yy455; + if (yych <= '-') goto yy566; + if (yych <= '.') goto yy565; + goto yy455; + } else { + if (yych <= '2') goto yy579; + if (yych <= '9') goto yy578; + if (yych <= ':') goto yy457; + goto yy455; + } +yy534: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy455; + if (yych <= '-') goto yy566; + goto yy565; + } else { + if (yych <= '/') goto yy455; + if (yych <= '9') goto yy578; + if (yych <= ':') goto yy457; + goto yy455; + } +yy535: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy455; + if (yych <= '-') goto yy566; + goto yy565; + } else { + if (yych == ':') goto yy457; + goto yy455; + } +yy536: + yych = *++YYCURSOR; + if (yych == 'E') goto yy559; + if (yych == 'e') goto yy559; + goto yy56; +yy537: + yych = *++YYCURSOR; + if (yych == 'A') goto yy556; + if (yych == 'a') goto yy556; + goto yy56; +yy538: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy514; + if (yych <= 'T') goto yy56; + goto yy513; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy514; + } else { + if (yych == 'u') goto yy513; + goto yy56; + } + } +yy539: + yych = *++YYCURSOR; + if (yych == 'E') goto yy549; + if (yych == 'e') goto yy549; + goto yy56; +yy540: + yych = *++YYCURSOR; + if (yych == 'E') goto yy543; + if (yych == 'e') goto yy543; + goto yy56; +yy541: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy542: + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy541; + case 'A': + case 'a': goto yy538; + case 'D': + case 'd': goto yy540; + case 'F': + case 'f': goto yy536; + case 'I': goto yy439; + case 'J': + case 'j': goto yy443; + case 'M': + case 'm': goto yy537; + case 'N': + case 'n': goto yy446; + case 'O': + case 'o': goto yy445; + case 'S': + case 's': goto yy539; + case 'V': goto yy441; + case 'X': goto yy442; + default: goto yy56; + } +yy543: + yych = *++YYCURSOR; + if (yych == 'C') goto yy544; + if (yych != 'c') goto yy56; +yy544: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + goto yy496; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'E') goto yy545; + if (yych != 'e') goto yy440; + } + } +yy545: + yych = *++YYCURSOR; + if (yych == 'M') goto yy546; + if (yych != 'm') goto yy56; +yy546: + yych = *++YYCURSOR; + if (yych == 'B') goto yy547; + if (yych != 'b') goto yy56; +yy547: + yych = *++YYCURSOR; + if (yych == 'E') goto yy548; + if (yych != 'e') goto yy56; +yy548: + yych = *++YYCURSOR; + if (yych == 'R') goto yy504; + if (yych == 'r') goto yy504; + goto yy56; +yy549: + yych = *++YYCURSOR; + if (yych == 'P') goto yy550; + if (yych != 'p') goto yy56; +yy550: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + goto yy496; + } + } else { + if (yych <= 'S') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'T') goto yy551; + if (yych != 't') goto yy440; + } + } +yy551: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + goto yy496; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'E') goto yy552; + if (yych != 'e') goto yy440; + } + } +yy552: + yych = *++YYCURSOR; + if (yych == 'M') goto yy553; + if (yych != 'm') goto yy56; +yy553: + yych = *++YYCURSOR; + if (yych == 'B') goto yy554; + if (yych != 'b') goto yy56; +yy554: + yych = *++YYCURSOR; + if (yych == 'E') goto yy555; + if (yych != 'e') goto yy56; +yy555: + yych = *++YYCURSOR; + if (yych == 'R') goto yy504; + if (yych == 'r') goto yy504; + goto yy56; +yy556: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'R') goto yy557; + if (yych <= 'X') goto yy56; + goto yy504; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + } else { + if (yych == 'y') goto yy504; + goto yy56; + } + } +yy557: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + goto yy496; + } + } else { + if (yych <= 'B') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'C') goto yy558; + if (yych != 'c') goto yy440; + } + } +yy558: + yych = *++YYCURSOR; + if (yych == 'H') goto yy504; + if (yych == 'h') goto yy504; + goto yy56; +yy559: + yych = *++YYCURSOR; + if (yych == 'B') goto yy560; + if (yych != 'b') goto yy56; +yy560: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + goto yy496; + } + } else { + if (yych <= 'Q') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'R') goto yy561; + if (yych != 'r') goto yy440; + } + } +yy561: + yych = *++YYCURSOR; + if (yych == 'U') goto yy562; + if (yych != 'u') goto yy56; +yy562: + yych = *++YYCURSOR; + if (yych == 'A') goto yy563; + if (yych != 'a') goto yy56; +yy563: + yych = *++YYCURSOR; + if (yych == 'R') goto yy564; + if (yych != 'r') goto yy56; +yy564: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy504; + if (yych == 'y') goto yy504; + goto yy56; +yy565: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy572; + if (yych <= '6') goto yy573; + if (yych <= '9') goto yy574; + goto yy56; +yy566: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy568: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy569: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; + { + 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; + } +yy572: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy461; + if (yych <= '/') goto yy455; + if (yych <= '9') goto yy577; + goto yy455; +yy573: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy461; + goto yy455; + } else { + if (yych <= '0') goto yy577; + if (yych <= '9') goto yy575; + goto yy455; + } +yy574: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy461; + if (yych <= '/') goto yy455; + if (yych >= ':') goto yy455; +yy575: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy576; + if (yych <= '9') goto yy569; +yy576: + { + 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_ex((char **) &ptr, 2, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL_POINTED; + } +yy577: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= ' ') { + if (yych == '\t') goto yy465; + if (yych <= 0x1F) goto yy455; + goto yy465; + } else { + if (yych == '.') goto yy461; + if (yych <= '/') goto yy455; + goto yy569; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy467; + if (yych <= 'O') goto yy455; + goto yy467; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy455; + goto yy467; + } else { + if (yych == 'p') goto yy467; + goto yy455; + } + } + } +yy578: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy472; + if (yych <= 0x1F) goto yy455; + goto yy472; + } else { + if (yych == '.') goto yy457; + if (yych <= '9') goto yy455; + goto yy457; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy474; + if (yych <= 'O') goto yy455; + goto yy474; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy455; + goto yy474; + } else { + if (yych == 'p') goto yy474; + goto yy455; + } + } + } +yy579: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy472; + if (yych <= 0x1F) goto yy455; + goto yy472; + } else { + if (yych <= '-') { + if (yych <= ',') goto yy455; + goto yy566; + } else { + if (yych <= '.') goto yy565; + if (yych <= '9') goto yy455; + goto yy457; + } + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy474; + if (yych <= 'O') goto yy455; + goto yy474; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy455; + goto yy474; + } else { + if (yych == 'p') goto yy474; + goto yy455; + } + } + } +yy580: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy619; + goto yy566; + } else { + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy582; + goto yy56; + } +yy581: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy619; + goto yy566; + } else { + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; + } +yy582: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy619; + if (yych <= '.') goto yy566; + goto yy56; +yy583: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy615; + if (yych <= 'T') goto yy56; + goto yy614; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy615; + } else { + if (yych == 'u') goto yy614; + goto yy56; + } + } +yy584: + yych = *++YYCURSOR; + if (yych == 'E') goto yy612; + if (yych == 'e') goto yy612; + goto yy56; +yy585: + yych = *++YYCURSOR; + if (yych == 'A') goto yy609; + if (yych == 'a') goto yy609; + goto yy56; +yy586: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy606; + if (yych <= 'T') goto yy56; + goto yy605; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy606; + } else { + if (yych == 'u') goto yy605; + goto yy56; + } + } +yy587: + yych = *++YYCURSOR; + if (yych == 'E') goto yy602; + if (yych == 'e') goto yy602; + goto yy56; +yy588: + yych = *++YYCURSOR; + if (yych == 'C') goto yy600; + if (yych == 'c') goto yy600; + goto yy56; +yy589: + yych = *++YYCURSOR; + if (yych == 'O') goto yy598; + if (yych == 'o') goto yy598; + goto yy56; +yy590: + yych = *++YYCURSOR; + if (yych == 'E') goto yy591; + if (yych != 'e') goto yy56; +yy591: + yych = *++YYCURSOR; + if (yych == 'C') goto yy592; + if (yych != 'c') goto yy56; +yy592: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych >= '.') goto yy496; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'E') goto yy545; + if (yych == 'e') goto yy545; + goto yy440; + } + } +yy593: + yych = *++YYCURSOR; + if (yych <= '/') goto yy497; + if (yych <= '0') goto yy594; + if (yych <= '2') goto yy595; + if (yych <= '3') goto yy596; + goto yy497; +yy594: + yych = *++YYCURSOR; + if (yych <= '/') goto yy499; + if (yych <= '9') goto yy597; + goto yy499; +yy595: + yych = *++YYCURSOR; + if (yych <= '/') goto yy499; + if (yych <= '9') goto yy597; + goto yy499; +yy596: + yych = *++YYCURSOR; + if (yych <= '/') goto yy499; + if (yych <= '1') goto yy597; + if (yych <= '9') goto yy505; + goto yy499; +yy597: + yych = *++YYCURSOR; + if (yych <= '/') goto yy499; + if (yych <= '9') goto yy506; + goto yy499; +yy598: + yych = *++YYCURSOR; + if (yych == 'V') goto yy599; + if (yych != 'v') goto yy56; +yy599: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych <= '-') goto yy593; + goto yy496; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'E') goto yy500; + if (yych == 'e') goto yy500; + goto yy440; + } + } +yy600: + yych = *++YYCURSOR; + if (yych == 'T') goto yy601; + if (yych != 't') goto yy56; +yy601: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych <= '-') goto yy593; + goto yy496; + } + } else { + if (yych <= 'N') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'O') goto yy510; + if (yych == 'o') goto yy510; + goto yy440; + } + } +yy602: + yych = *++YYCURSOR; + if (yych == 'P') goto yy603; + if (yych != 'p') goto yy56; +yy603: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych <= '-') goto yy593; + goto yy496; + } + } else { + if (yych <= 'S') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'T') goto yy604; + if (yych != 't') goto yy440; + } + } +yy604: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych <= '-') goto yy593; + goto yy496; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'E') goto yy552; + if (yych == 'e') goto yy552; + goto yy440; + } + } +yy605: + yych = *++YYCURSOR; + if (yych == 'G') goto yy608; + if (yych == 'g') goto yy608; + goto yy56; +yy606: + yych = *++YYCURSOR; + if (yych == 'R') goto yy607; + if (yych != 'r') goto yy56; +yy607: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych <= '-') goto yy593; + goto yy496; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'I') goto yy516; + if (yych == 'i') goto yy516; + goto yy440; + } + } +yy608: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych <= '-') goto yy593; + goto yy496; + } + } else { + if (yych <= 'T') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'U') goto yy518; + if (yych == 'u') goto yy518; + goto yy440; + } + } +yy609: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'R') goto yy610; + if (yych <= 'X') goto yy56; + goto yy611; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + } else { + if (yych == 'y') goto yy611; + goto yy56; + } + } +yy610: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych <= '-') goto yy593; + goto yy496; + } + } else { + if (yych <= 'B') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'C') goto yy558; + if (yych == 'c') goto yy558; + goto yy440; + } + } +yy611: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy440; + goto yy496; + } else { + if (yych == ' ') goto yy496; + goto yy440; + } + } else { + if (yych <= '.') { + if (yych <= '-') goto yy593; + goto yy496; + } else { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } + } +yy612: + yych = *++YYCURSOR; + if (yych == 'B') goto yy613; + if (yych != 'b') goto yy56; +yy613: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych <= '-') goto yy593; + goto yy496; + } + } else { + if (yych <= 'Q') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'R') goto yy561; + if (yych == 'r') goto yy561; + goto yy440; + } + } +yy614: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy618; + if (yych <= 'M') goto yy56; + goto yy617; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy618; + } else { + if (yych == 'n') goto yy617; + goto yy56; + } + } +yy615: + yych = *++YYCURSOR; + if (yych == 'N') goto yy616; + if (yych != 'n') goto yy56; +yy616: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych <= '-') goto yy593; + goto yy496; + } + } else { + if (yych <= 'T') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'U') goto yy523; + if (yych == 'u') goto yy523; + goto yy440; + } + } +yy617: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych <= '-') goto yy593; + goto yy496; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'E') goto yy504; + if (yych == 'e') goto yy504; + goto yy440; + } + } +yy618: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy496; + goto yy440; + } else { + if (yych <= ' ') goto yy496; + if (yych <= ',') goto yy440; + if (yych <= '-') goto yy593; + goto yy496; + } + } else { + if (yych <= 'X') { + if (yych <= '/') goto yy440; + if (yych <= '9') goto yy498; + goto yy440; + } else { + if (yych <= 'Y') goto yy504; + if (yych == 'y') goto yy504; + goto yy440; + } + } +yy619: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy620; + if (yych <= '3') goto yy622; + if (yych <= '9') goto yy623; + goto yy56; +yy620: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy621; + if (yych <= '9') goto yy629; + if (yych >= 'n') goto yy625; + } else { + if (yych <= 'r') { + if (yych >= 'r') goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + } + } +yy621: + { + int length = 0; + DEBUG_OUTPUT("gnudateshort"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + 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, length); + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } +yy622: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '1') { + if (yych <= '/') goto yy621; + goto yy629; + } else { + if (yych <= '9') goto yy568; + if (yych <= 'm') goto yy621; + goto yy625; + } + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy621; + goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy621; + } + } +yy623: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy621; + if (yych <= '9') goto yy568; + if (yych <= 'm') goto yy621; + goto yy625; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy621; + goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy621; + } + } +yy624: + yych = *++YYCURSOR; + if (yych == 't') goto yy628; + goto yy56; +yy625: + yych = *++YYCURSOR; + if (yych == 'd') goto yy628; + goto yy56; +yy626: + yych = *++YYCURSOR; + if (yych == 'd') goto yy628; + goto yy56; +yy627: + yych = *++YYCURSOR; + if (yych != 'h') goto yy56; +yy628: + yych = *++YYCURSOR; + goto yy621; +yy629: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy621; + if (yych <= '9') goto yy569; + if (yych <= 'm') goto yy621; + goto yy625; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy621; + goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy621; + } + } +yy630: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') { + if (yych >= '/') goto yy687; + } else { + if (yych <= '9') goto yy633; + if (yych >= 'n') goto yy684; + } + } else { + if (yych <= 'r') { + if (yych >= 'r') goto yy685; + } else { + if (yych <= 's') goto yy683; + if (yych <= 't') goto yy686; + } + } +yy631: + { + 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_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); + } + TIMELIB_DEINIT; + return TIMELIB_AMERICAN; + } +yy632: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') { + if (yych <= '.') goto yy631; + goto yy687; + } else { + if (yych <= '1') goto yy633; + if (yych <= 'm') goto yy631; + goto yy684; + } + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy631; + goto yy685; + } else { + if (yych <= 's') goto yy683; + if (yych <= 't') goto yy686; + goto yy631; + } + } +yy633: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych == '/') goto yy687; + if (yych <= 'm') goto yy631; + goto yy684; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy631; + goto yy685; + } else { + if (yych <= 's') goto yy683; + if (yych <= 't') goto yy686; + goto yy631; + } + } +yy634: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy682; + if (yych <= 'T') goto yy56; + goto yy681; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy682; + } else { + if (yych == 'u') goto yy681; + goto yy56; + } + } +yy635: + yych = *++YYCURSOR; + if (yych == 'E') goto yy680; + if (yych == 'e') goto yy680; + goto yy56; +yy636: + yych = *++YYCURSOR; + if (yych == 'A') goto yy679; + if (yych == 'a') goto yy679; + goto yy56; +yy637: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy678; + if (yych <= 'T') goto yy56; + goto yy677; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy678; + } else { + if (yych == 'u') goto yy677; + goto yy56; + } + } +yy638: + yych = *++YYCURSOR; + if (yych == 'E') goto yy675; + if (yych == 'e') goto yy675; + goto yy56; +yy639: + yych = *++YYCURSOR; + if (yych == 'C') goto yy674; + if (yych == 'c') goto yy674; + goto yy56; +yy640: + yych = *++YYCURSOR; + if (yych == 'O') goto yy673; + if (yych == 'o') goto yy673; + goto yy56; +yy641: + yych = *++YYCURSOR; + if (yych == 'E') goto yy642; + if (yych != 'e') goto yy56; +yy642: + yych = *++YYCURSOR; + if (yych == 'C') goto yy643; + if (yych != 'c') goto yy56; +yy643: + yych = *++YYCURSOR; + if (yych != '/') goto yy56; +yy644: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych != ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy650; + if (yych <= '2') goto yy651; + goto yy56; +yy650: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy652; + goto yy56; +yy651: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '5') goto yy56; +yy652: + yych = *++YYCURSOR; + if (yych != ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '6') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych != ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy657; + if (yych <= '6') goto yy658; + goto yy56; +yy657: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy659; + goto yy56; +yy658: + yych = *++YYCURSOR; + if (yych != '0') goto yy56; +yy659: + yych = *++YYCURSOR; + if (yych == '\t') goto yy660; + if (yych != ' ') goto yy56; +yy660: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; + if (yych <= '*') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy660; + } else { + if (yych == ' ') goto yy660; + goto yy56; + } + } else { + if (yych <= '-') { + if (yych == ',') goto yy56; + goto yy663; + } else { + if (yych != 'G') goto yy56; + } + } + yych = *++YYCURSOR; + if (yych == 'M') goto yy671; + goto yy56; +yy663: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy664; + if (yych <= '2') goto yy666; + if (yych <= '9') goto yy667; + goto yy56; +yy664: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '/') goto yy665; + if (yych <= '9') goto yy667; + if (yych <= ':') goto yy668; +yy665: + { + 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_parse_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"); + } + TIMELIB_DEINIT; + return TIMELIB_CLF; + } +yy666: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy665; + if (yych >= '5') goto yy669; + } else { + if (yych <= '9') goto yy670; + if (yych <= ':') goto yy668; + goto yy665; + } +yy667: + yych = *++YYCURSOR; + if (yych <= '/') goto yy665; + if (yych <= '5') goto yy669; + if (yych <= '9') goto yy670; + if (yych >= ';') goto yy665; +yy668: + yych = *++YYCURSOR; + if (yych <= '/') goto yy665; + if (yych <= '5') goto yy669; + if (yych <= '9') goto yy670; + goto yy665; +yy669: + yych = *++YYCURSOR; + if (yych <= '/') goto yy665; + if (yych >= ':') goto yy665; +yy670: + yych = *++YYCURSOR; + goto yy665; +yy671: + yych = *++YYCURSOR; + if (yych != 'T') goto yy56; + yych = *++YYCURSOR; + if (yych == '+') goto yy663; + if (yych == '-') goto yy663; + goto yy56; +yy673: + yych = *++YYCURSOR; + if (yych == 'V') goto yy643; + if (yych == 'v') goto yy643; + goto yy56; +yy674: + yych = *++YYCURSOR; + if (yych == 'T') goto yy643; + if (yych == 't') goto yy643; + goto yy56; +yy675: + yych = *++YYCURSOR; + if (yych == 'P') goto yy676; + if (yych != 'p') goto yy56; +yy676: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == '/') goto yy644; + goto yy56; + } else { + if (yych <= 'T') goto yy643; + if (yych == 't') goto yy643; + goto yy56; + } +yy677: + yych = *++YYCURSOR; + if (yych == 'G') goto yy643; + if (yych == 'g') goto yy643; + goto yy56; +yy678: + yych = *++YYCURSOR; + if (yych == 'R') goto yy643; + if (yych == 'r') goto yy643; + goto yy56; +yy679: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'R') goto yy643; + if (yych <= 'X') goto yy56; + goto yy643; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + goto yy643; + } else { + if (yych == 'y') goto yy643; + goto yy56; + } + } +yy680: + yych = *++YYCURSOR; + if (yych == 'B') goto yy643; + if (yych == 'b') goto yy643; + goto yy56; +yy681: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy643; + if (yych <= 'M') goto yy56; + goto yy643; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy643; + } else { + if (yych == 'n') goto yy643; + goto yy56; + } + } +yy682: + yych = *++YYCURSOR; + if (yych == 'N') goto yy643; + if (yych == 'n') goto yy643; + goto yy56; +yy683: + yych = *++YYCURSOR; + if (yych == 't') goto yy692; + goto yy56; +yy684: + yych = *++YYCURSOR; + if (yych == 'd') goto yy692; + goto yy56; +yy685: + yych = *++YYCURSOR; + if (yych == 'd') goto yy692; + goto yy56; +yy686: + yych = *++YYCURSOR; + if (yych == 'h') goto yy692; + goto yy56; +yy687: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy631; + if (yych >= ':') goto yy631; + yych = *++YYCURSOR; + if (yych <= '/') goto yy631; + if (yych >= ':') goto yy631; + yych = *++YYCURSOR; + if (yych <= '/') goto yy631; + if (yych >= ':') goto yy631; + yych = *++YYCURSOR; + goto yy631; +yy692: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '/') goto yy687; + goto yy631; +yy693: + yych = *++YYCURSOR; + if (yych <= ',') { + if (yych == '\t') goto yy695; + goto yy542; + } else { + if (yych <= '-') goto yy696; + if (yych <= '.') goto yy695; + if (yych >= '0') goto yy542; + } +yy694: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy637; + case 'D': + case 'd': goto yy641; + case 'F': + case 'f': goto yy635; + case 'J': + case 'j': goto yy634; + case 'M': + case 'm': goto yy636; + case 'N': + case 'n': goto yy640; + case 'O': + case 'o': goto yy639; + case 'S': + case 's': goto yy638; + default: goto yy56; + } +yy695: + yych = *++YYCURSOR; + if (yych <= '/') goto yy542; + if (yych <= '0') goto yy700; + if (yych <= '1') goto yy701; + if (yych <= '9') goto yy702; + goto yy542; +yy696: + yych = *++YYCURSOR; + if (yych <= '/') goto yy542; + if (yych <= '0') goto yy697; + if (yych <= '1') goto yy698; + if (yych <= '9') goto yy699; + goto yy542; +yy697: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '.') goto yy566; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy699; + goto yy56; +yy698: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '.') goto yy566; + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; +yy699: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '.') goto yy566; + goto yy56; +yy700: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy566; + goto yy703; + } else { + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy702; + goto yy56; + } +yy701: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy566; + goto yy703; + } else { + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; + } +yy702: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy566; + if (yych >= '/') goto yy56; +yy703: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy575; + goto yy56; +yy705: + yych = *++YYCURSOR; + if (yych == '-') goto yy749; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy747; + goto yy60; +yy706: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy715; + case '1': goto yy716; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy717; + case 'A': + case 'a': goto yy710; + case 'D': + case 'd': goto yy714; + case 'F': + case 'f': goto yy708; + case 'J': + case 'j': goto yy707; + case 'M': + case 'm': goto yy709; + case 'N': + case 'n': goto yy713; + case 'O': + case 'o': goto yy712; + case 'S': + case 's': goto yy711; + default: goto yy56; + } +yy707: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy746; + if (yych <= 'T') goto yy56; + goto yy745; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy746; + } else { + if (yych == 'u') goto yy745; + goto yy56; + } + } +yy708: + yych = *++YYCURSOR; + if (yych == 'E') goto yy744; + if (yych == 'e') goto yy744; + goto yy56; +yy709: + yych = *++YYCURSOR; + if (yych == 'A') goto yy743; + if (yych == 'a') goto yy743; + goto yy56; +yy710: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy742; + if (yych <= 'T') goto yy56; + goto yy741; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy742; + } else { + if (yych == 'u') goto yy741; + goto yy56; + } + } +yy711: + yych = *++YYCURSOR; + if (yych == 'E') goto yy739; + if (yych == 'e') goto yy739; + goto yy56; +yy712: + yych = *++YYCURSOR; + if (yych == 'C') goto yy738; + if (yych == 'c') goto yy738; + goto yy56; +yy713: + yych = *++YYCURSOR; + if (yych == 'O') goto yy737; + if (yych == 'o') goto yy737; + goto yy56; +yy714: + yych = *++YYCURSOR; + if (yych == 'E') goto yy729; + if (yych == 'e') goto yy729; + goto yy56; +yy715: + yych = *++YYCURSOR; + if (yych == '-') goto yy718; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy722; + goto yy56; +yy716: + yych = *++YYCURSOR; + if (yych == '-') goto yy718; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy722; + goto yy56; +yy717: + yych = *++YYCURSOR; + if (yych != '-') goto yy56; +yy718: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy719; + if (yych <= '3') goto yy720; + if (yych <= '9') goto yy721; + goto yy56; +yy719: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy621; + if (yych <= '9') goto yy721; + if (yych <= 'm') goto yy621; + goto yy625; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy621; + goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy621; + } + } +yy720: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy621; + if (yych <= '1') goto yy721; + if (yych <= 'm') goto yy621; + goto yy625; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy621; + goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy621; + } + } +yy721: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'q') { + if (yych == 'n') goto yy625; + goto yy621; + } else { + if (yych <= 'r') goto yy626; + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy621; + } +yy722: + yych = *++YYCURSOR; + if (yych != '-') goto yy56; + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych >= '1') goto yy725; + } else { + if (yych <= '3') goto yy726; + if (yych <= '9') goto yy721; + goto yy56; + } + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy621; + if (yych <= '9') goto yy727; + if (yych <= 'm') goto yy621; + goto yy625; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy621; + goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy621; + } + } +yy725: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy621; + if (yych <= '9') goto yy727; + if (yych <= 'm') goto yy621; + goto yy625; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy621; + goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy621; + } + } +yy726: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy621; + if (yych <= '1') goto yy727; + if (yych <= 'm') goto yy621; + goto yy625; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy621; + goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy621; + } + } +yy727: + yyaccept = 14; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'q') { + if (yych == 'n') goto yy625; + } else { + if (yych <= 'r') goto yy626; + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + } +yy728: + { + int length = 0; + DEBUG_OUTPUT("iso8601date2"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + 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, length); + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } +yy729: + yych = *++YYCURSOR; + if (yych == 'C') goto yy730; + if (yych != 'c') goto yy56; +yy730: + yych = *++YYCURSOR; + if (yych != '-') goto yy56; +yy731: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy732; + if (yych <= '2') goto yy733; + if (yych <= '3') goto yy734; + goto yy56; +yy732: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy735; + goto yy56; +yy733: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy735; + goto yy56; +yy734: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '2') goto yy56; +yy735: + ++YYCURSOR; + { + int length = 0; + DEBUG_OUTPUT("pgtextreverse"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + 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, length); + TIMELIB_DEINIT; + return TIMELIB_PG_TEXT; + } +yy737: + yych = *++YYCURSOR; + if (yych == 'V') goto yy730; + if (yych == 'v') goto yy730; + goto yy56; +yy738: + yych = *++YYCURSOR; + if (yych == 'T') goto yy730; + if (yych == 't') goto yy730; + goto yy56; +yy739: + yych = *++YYCURSOR; + if (yych == 'P') goto yy740; + if (yych != 'p') goto yy56; +yy740: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == '-') goto yy731; + goto yy56; + } else { + if (yych <= 'T') goto yy730; + if (yych == 't') goto yy730; + goto yy56; + } +yy741: + yych = *++YYCURSOR; + if (yych == 'G') goto yy730; + if (yych == 'g') goto yy730; + goto yy56; +yy742: + yych = *++YYCURSOR; + if (yych == 'R') goto yy730; + if (yych == 'r') goto yy730; + goto yy56; +yy743: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'R') goto yy730; + if (yych <= 'X') goto yy56; + goto yy730; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + goto yy730; + } else { + if (yych == 'y') goto yy730; + goto yy56; + } + } +yy744: + yych = *++YYCURSOR; + if (yych == 'B') goto yy730; + if (yych == 'b') goto yy730; + goto yy56; +yy745: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy730; + if (yych <= 'M') goto yy56; + goto yy730; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy730; + } else { + if (yych == 'n') goto yy730; + goto yy56; + } + } +yy746: + yych = *++YYCURSOR; + if (yych == 'N') goto yy730; + if (yych == 'n') goto yy730; + goto yy56; +yy747: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'O') { + if (yych <= '3') { + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy755; + } else { + if (yych <= ' ') goto yy755; + if (yych >= '-') goto yy752; + } + } else { + if (yych <= '0') { + if (yych <= '.') goto yy756; + if (yych <= '/') goto yy753; + goto yy769; + } else { + if (yych <= '1') goto yy770; + if (yych <= '2') goto yy772; + goto yy773; + } + } + } else { + if (yych <= 'D') { + if (yych <= '@') { + if (yych <= '9') goto yy54; + if (yych <= ':') goto yy771; + } else { + if (yych <= 'A') goto yy755; + if (yych >= 'D') goto yy755; + } + } else { + if (yych <= 'G') { + if (yych == 'F') goto yy755; + } else { + if (yych <= 'J') goto yy755; + if (yych >= 'M') goto yy755; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'a') { + if (yych <= 'W') { + if (yych <= 'R') goto yy748; + if (yych <= 'V') goto yy755; + goto yy774; + } else { + if (yych <= 'Y') goto yy755; + if (yych >= 'a') goto yy755; + } + } else { + if (yych <= 'e') { + if (yych == 'd') goto yy755; + } else { + if (yych != 'g') goto yy755; + } + } + } else { + if (yych <= 'u') { + if (yych <= 'l') { + if (yych == 'j') goto yy755; + } else { + if (yych <= 'o') goto yy755; + if (yych >= 's') goto yy755; + } + } else { + if (yych <= 'x') { + if (yych == 'w') goto yy755; + } else { + if (yych <= 'y') goto yy755; + if (yych == 0xC2) goto yy755; + } + } + } + } +yy748: + { + DEBUG_OUTPUT("year4"); + TIMELIB_INIT; + s->time->y = timelib_get_nr((char **) &ptr, 4); + TIMELIB_DEINIT; + return TIMELIB_CLF; + } +yy749: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy750; + case '1': goto yy751; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy717; + case 'A': + case 'a': goto yy710; + case 'D': + case 'd': goto yy714; + case 'F': + case 'f': goto yy708; + case 'J': + case 'j': goto yy707; + case 'M': + case 'm': goto yy709; + case 'N': + case 'n': goto yy713; + case 'O': + case 'o': goto yy712; + case 'S': + case 's': goto yy711; + default: goto yy56; + } +yy750: + yych = *++YYCURSOR; + if (yych == '-') goto yy718; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy717; + goto yy56; +yy751: + yych = *++YYCURSOR; + if (yych == '-') goto yy718; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy717; + goto yy56; +yy752: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy937; + case '1': goto yy939; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy940; + case 'A': + case 'a': goto yy931; + case 'D': + case 'd': goto yy935; + case 'F': + case 'f': goto yy929; + case 'J': + case 'j': goto yy928; + case 'M': + case 'm': goto yy930; + case 'N': + case 'n': goto yy934; + case 'O': + case 'o': goto yy933; + case 'S': + case 's': goto yy932; + case 'W': goto yy936; + default: goto yy903; + } +yy753: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy911; + if (yych <= '1') goto yy912; + if (yych <= '9') goto yy913; + goto yy56; +yy754: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); + yych = *YYCURSOR; +yy755: + if (yych <= 'W') { + if (yych <= 'G') { + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy754; + goto yy56; + } else { + if (yych <= ' ') goto yy754; + if (yych <= ',') goto yy56; + goto yy902; + } + } else { + if (yych <= 'C') { + if (yych == 'A') goto yy764; + goto yy56; + } else { + if (yych <= 'D') goto yy768; + if (yych == 'F') goto yy762; + goto yy56; + } + } + } else { + if (yych <= 'N') { + if (yych <= 'J') { + if (yych <= 'H') goto yy65; + if (yych <= 'I') goto yy757; + goto yy761; + } else { + if (yych <= 'L') goto yy56; + if (yych <= 'M') goto yy763; + goto yy767; + } + } else { + if (yych <= 'S') { + if (yych <= 'O') goto yy766; + if (yych <= 'R') goto yy56; + goto yy765; + } else { + if (yych <= 'T') goto yy70; + if (yych <= 'U') goto yy63; + if (yych <= 'V') goto yy759; + goto yy69; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych <= '`') { + if (yych <= 'X') goto yy760; + if (yych <= 'Y') goto yy68; + goto yy56; + } else { + if (yych <= 'a') goto yy764; + if (yych <= 'c') goto yy56; + goto yy768; + } + } else { + if (yych <= 'g') { + if (yych == 'f') goto yy762; + goto yy56; + } else { + if (yych <= 'h') goto yy65; + if (yych == 'j') goto yy761; + goto yy56; + } + } + } else { + if (yych <= 'u') { + if (yych <= 'o') { + if (yych <= 'm') goto yy763; + if (yych <= 'n') goto yy767; + goto yy766; + } else { + if (yych <= 'r') goto yy56; + if (yych <= 's') goto yy765; + if (yych <= 't') goto yy70; + goto yy63; + } + } else { + if (yych <= 'x') { + if (yych == 'w') goto yy69; + goto yy56; + } else { + if (yych <= 'y') goto yy68; + if (yych == 0xC2) goto yy62; + goto yy56; + } + } + } + } +yy756: + yych = *++YYCURSOR; + if (yych <= '/') goto yy903; + if (yych <= '0') goto yy895; + if (yych <= '2') goto yy896; + if (yych <= '3') goto yy897; + goto yy903; +yy757: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= 'U') { + if (yych == 'I') goto yy894; + } else { + if (yych == 'W') goto yy758; + if (yych <= 'X') goto yy848; + } +yy758: + { + int length = 0; + DEBUG_OUTPUT("datenodayrev"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + 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, length); + TIMELIB_DEINIT; + return TIMELIB_DATE_NO_DAY; + } +yy759: + yych = *++YYCURSOR; + if (yych == 'I') goto yy892; + goto yy758; +yy760: + yych = *++YYCURSOR; + if (yych == 'I') goto yy891; + goto yy758; +yy761: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy884; + if (yych <= 'T') goto yy56; + goto yy883; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy884; + } else { + if (yych == 'u') goto yy883; + goto yy56; + } + } +yy762: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= 'N') { + if (yych == 'E') goto yy877; + goto yy56; + } else { + if (yych <= 'O') goto yy100; + if (yych <= 'Q') goto yy56; + goto yy99; + } + } else { + if (yych <= 'n') { + if (yych == 'e') goto yy877; + goto yy56; + } else { + if (yych <= 'o') goto yy100; + if (yych == 'r') goto yy99; + goto yy56; + } + } +yy763: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= 'I') { + if (yych == 'A') goto yy874; + if (yych <= 'H') goto yy56; + goto yy138; + } else { + if (yych == 'O') goto yy137; + if (yych <= 'R') goto yy56; + goto yy139; + } + } else { + if (yych <= 'i') { + if (yych == 'a') goto yy874; + if (yych <= 'h') goto yy56; + goto yy138; + } else { + if (yych <= 'o') { + if (yych <= 'n') goto yy56; + goto yy137; + } else { + if (yych == 's') goto yy139; + goto yy56; + } + } + } +yy764: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy868; + if (yych <= 'T') goto yy56; + goto yy867; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy868; + } else { + if (yych == 'u') goto yy867; + goto yy56; + } + } +yy765: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych == 'A') goto yy119; + goto yy56; + } else { + if (yych <= 'E') goto yy860; + if (yych <= 'T') goto yy56; + goto yy118; + } + } else { + if (yych <= 'd') { + if (yych == 'a') goto yy119; + goto yy56; + } else { + if (yych <= 'e') goto yy860; + if (yych == 'u') goto yy118; + goto yy56; + } + } +yy766: + yych = *++YYCURSOR; + if (yych == 'C') goto yy855; + if (yych == 'c') goto yy855; + goto yy56; +yy767: + yych = *++YYCURSOR; + if (yych == 'O') goto yy849; + if (yych == 'o') goto yy849; + goto yy56; +yy768: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych == 'A') goto yy115; + if (yych <= 'D') goto yy56; + goto yy842; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy115; + } else { + if (yych == 'e') goto yy842; + goto yy56; + } + } +yy769: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy839; + if (yych <= '9') goto yy840; + goto yy60; +yy770: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '2') goto yy808; + if (yych <= '9') goto yy787; + goto yy60; +yy771: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy788; + if (yych <= '1') goto yy789; + goto yy56; +yy772: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy787; + goto yy60; +yy773: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '5') goto yy783; + if (yych <= '6') goto yy784; + if (yych <= '9') goto yy54; + goto yy60; +yy774: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy775; + if (yych <= '4') goto yy776; + goto yy777; + } else { + if (yych <= 'E') { + if (yych <= 'D') goto yy56; + goto yy84; + } else { + if (yych == 'e') goto yy84; + goto yy56; + } + } +yy775: + yych = *++YYCURSOR; + if (yych <= '0') goto yy56; + if (yych <= '9') goto yy778; + goto yy56; +yy776: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy778; + goto yy56; +yy777: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '4') goto yy56; +yy778: + yyaccept = 16; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy780; + if (yych <= '/') goto yy779; + if (yych <= '7') goto yy781; +yy779: + { + 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; + } +yy780: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '8') goto yy56; +yy781: + ++YYCURSOR; + { + 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; + } +yy783: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy785; + goto yy60; +yy784: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '6') goto yy785; + if (yych <= '9') goto yy54; + goto yy60; +yy785: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych <= 'X') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych >= ' ') goto yy60; + } else { + if (yych == 'D') goto yy60; + if (yych >= 'F') goto yy60; + } + } else { + if (yych <= 'M') { + if (yych == 'H') goto yy60; + if (yych >= 'M') goto yy60; + } else { + if (yych <= 'U') { + if (yych >= 'S') goto yy60; + } else { + if (yych == 'W') goto yy60; + } + } + } + } else { + if (yych <= 'm') { + if (yych <= 'e') { + if (yych <= 'Y') goto yy60; + if (yych == 'd') goto yy60; + } else { + if (yych <= 'g') { + if (yych <= 'f') goto yy60; + } else { + if (yych <= 'h') goto yy60; + if (yych >= 'm') goto yy60; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') goto yy786; + if (yych != 'v') goto yy60; + } else { + if (yych <= 'y') { + if (yych >= 'y') goto yy60; + } else { + if (yych == 0xC2) goto yy60; + } + } + } + } +yy786: + { + int length = 0; + DEBUG_OUTPUT("pgydotd"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + 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, length); + TIMELIB_DEINIT; + return TIMELIB_PG_YEARDAY; + } +yy787: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy785; + goto yy60; +yy788: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy790; + goto yy56; +yy789: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; +yy790: + yych = *++YYCURSOR; + if (yych != ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy792; + if (yych <= '2') goto yy793; + if (yych <= '3') goto yy794; + goto yy56; +yy792: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy795; + goto yy56; +yy793: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy795; + goto yy56; +yy794: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '2') goto yy56; +yy795: + yych = *++YYCURSOR; + if (yych != ' ') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy797; + if (yych <= '2') goto yy798; + goto yy56; +yy797: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy799; + goto yy56; +yy798: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '5') goto yy56; +yy799: + yych = *++YYCURSOR; + if (yych != ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '6') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych != ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy804; + if (yych <= '6') goto yy805; + goto yy56; +yy804: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy806; + goto yy56; +yy805: + yych = *++YYCURSOR; + if (yych != '0') goto yy56; +yy806: + ++YYCURSOR; +yy807: + { + 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_parse_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"); + } + } + } + TIMELIB_DEINIT; + return TIMELIB_XMLRPC_SOAP; + } +yy808: + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy60; + if (yych >= '1') goto yy810; + } else { + if (yych <= '3') goto yy811; + if (yych <= '9') goto yy785; + goto yy60; + } +yy809: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= 'E') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy786; + goto yy60; + } else { + if (yych <= '9') { + if (yych <= '/') goto yy786; + goto yy812; + } else { + if (yych == 'D') goto yy60; + goto yy786; + } + } + } else { + if (yych <= 'L') { + if (yych == 'G') goto yy786; + if (yych <= 'H') goto yy60; + goto yy786; + } else { + if (yych <= 'R') { + if (yych <= 'M') goto yy60; + goto yy786; + } else { + if (yych == 'V') goto yy786; + goto yy60; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych <= 'c') goto yy786; + goto yy60; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy786; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy786; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy786; + } else { + if (yych == 'v') goto yy786; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy786; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy786; + } + } + } + } +yy810: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= 'E') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy786; + goto yy60; + } else { + if (yych <= '9') { + if (yych <= '/') goto yy786; + goto yy812; + } else { + if (yych == 'D') goto yy60; + goto yy786; + } + } + } else { + if (yych <= 'L') { + if (yych == 'G') goto yy786; + if (yych <= 'H') goto yy60; + goto yy786; + } else { + if (yych <= 'R') { + if (yych <= 'M') goto yy60; + goto yy786; + } else { + if (yych == 'V') goto yy786; + goto yy60; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych <= 'c') goto yy786; + goto yy60; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy786; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy786; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy786; + } else { + if (yych == 'v') goto yy786; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy786; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy786; + } + } + } + } +yy811: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy786; + goto yy60; + } else { + if (yych <= '1') { + if (yych <= '/') goto yy786; + } else { + if (yych <= '9') goto yy54; + if (yych <= 'C') goto yy786; + goto yy60; + } + } + } else { + if (yych <= 'L') { + if (yych <= 'F') { + if (yych <= 'E') goto yy786; + goto yy60; + } else { + if (yych == 'H') goto yy60; + goto yy786; + } + } else { + if (yych <= 'R') { + if (yych <= 'M') goto yy60; + goto yy786; + } else { + if (yych == 'V') goto yy786; + goto yy60; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych <= 'c') goto yy786; + goto yy60; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy786; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy786; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy786; + } else { + if (yych == 'v') goto yy786; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy786; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy786; + } + } + } + } +yy812: + yyaccept = 18; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych <= 'X') { + if (yych <= 'G') { + if (yych <= ' ') { + if (yych == '\t') goto yy59; + if (yych >= ' ') goto yy59; + } else { + if (yych <= 'D') { + if (yych >= 'D') goto yy66; + } else { + if (yych == 'F') goto yy67; + } + } + } else { + if (yych <= 'S') { + if (yych <= 'L') { + if (yych <= 'H') goto yy65; + } else { + if (yych <= 'M') goto yy61; + if (yych >= 'S') goto yy64; + } + } else { + if (yych <= 'U') { + if (yych <= 'T') goto yy814; + goto yy63; + } else { + if (yych == 'W') goto yy69; + } + } + } + } else { + if (yych <= 'r') { + if (yych <= 'f') { + if (yych <= 'c') { + if (yych <= 'Y') goto yy68; + } else { + if (yych <= 'd') goto yy66; + if (yych >= 'f') goto yy67; + } + } else { + if (yych <= 'h') { + if (yych >= 'h') goto yy65; + } else { + if (yych == 'm') goto yy61; + } + } + } else { + if (yych <= 'w') { + if (yych <= 't') { + if (yych <= 's') goto yy64; + goto yy815; + } else { + if (yych <= 'u') goto yy63; + if (yych >= 'w') goto yy69; + } + } else { + if (yych <= 'y') { + if (yych >= 'y') goto yy68; + } else { + if (yych == 0xC2) goto yy62; + } + } + } + } +yy813: + { + 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; + } +yy814: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy829; + goto yy830; + } else { + if (yych <= '9') goto yy831; + if (yych <= 'G') goto yy56; + goto yy71; + } + } else { + if (yych <= 'g') { + if (yych == 'U') goto yy72; + goto yy56; + } else { + if (yych <= 'h') goto yy71; + if (yych == 'u') goto yy72; + goto yy56; + } + } +yy815: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych >= '2') goto yy817; + } else { + if (yych <= '9') goto yy818; + if (yych <= 'G') goto yy56; + goto yy71; + } + } else { + if (yych <= 'g') { + if (yych == 'U') goto yy72; + goto yy56; + } else { + if (yych <= 'h') goto yy71; + if (yych == 'u') goto yy72; + goto yy56; + } + } + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy823; + if (yych <= '9') goto yy818; + goto yy56; +yy817: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy823; + if (yych <= '5') goto yy819; + goto yy56; +yy818: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '6') goto yy56; +yy819: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy820: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy821; + if (yych <= '6') goto yy822; + goto yy56; +yy821: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy806; + goto yy56; +yy822: + yych = *++YYCURSOR; + if (yych == '0') goto yy806; + goto yy56; +yy823: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy824; + if (yych <= '9') goto yy820; + goto yy56; +yy824: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy825; + if (yych <= '6') goto yy826; + if (yych <= '9') goto yy820; + goto yy56; +yy825: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy827; + if (yych <= '6') goto yy828; + if (yych <= '9') goto yy806; + goto yy56; +yy826: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy827; + if (yych <= '5') goto yy821; + if (yych <= '6') goto yy822; + goto yy56; +yy827: + yych = *++YYCURSOR; + if (yych <= '/') goto yy807; + if (yych <= '9') goto yy806; + goto yy807; +yy828: + yych = *++YYCURSOR; + if (yych == '0') goto yy806; + goto yy807; +yy829: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy838; + if (yych <= '9') goto yy831; + if (yych <= ':') goto yy832; + goto yy56; +yy830: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy838; + goto yy819; + } else { + if (yych == ':') goto yy832; + goto yy56; + } +yy831: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy819; + if (yych != ':') goto yy56; +yy832: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '6') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych != ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy836; + if (yych <= '6') goto yy837; + goto yy56; +yy836: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy806; + goto yy56; +yy837: + yych = *++YYCURSOR; + if (yych == '0') goto yy806; + goto yy56; +yy838: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy824; + if (yych <= '9') goto yy820; + if (yych <= ':') goto yy832; + goto yy56; +yy839: + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy841; + goto yy810; + } else { + if (yych <= '3') goto yy811; + if (yych <= '9') goto yy785; + goto yy60; + } +yy840: + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy809; + goto yy810; + } else { + if (yych <= '3') goto yy811; + if (yych <= '9') goto yy785; + goto yy60; + } +yy841: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy812; + goto yy60; +yy842: + yych = *++YYCURSOR; + if (yych == 'C') goto yy843; + if (yych != 'c') goto yy56; +yy843: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'E') goto yy844; + if (yych != 'e') goto yy758; +yy844: + yych = *++YYCURSOR; + if (yych == 'M') goto yy845; + if (yych != 'm') goto yy56; +yy845: + yych = *++YYCURSOR; + if (yych == 'B') goto yy846; + if (yych != 'b') goto yy56; +yy846: + yych = *++YYCURSOR; + if (yych == 'E') goto yy847; + if (yych != 'e') goto yy56; +yy847: + yych = *++YYCURSOR; + if (yych == 'R') goto yy848; + if (yych != 'r') goto yy56; +yy848: + yych = *++YYCURSOR; + goto yy758; +yy849: + yych = *++YYCURSOR; + if (yych == 'V') goto yy850; + if (yych != 'v') goto yy56; +yy850: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'E') goto yy851; + if (yych != 'e') goto yy758; +yy851: + yych = *++YYCURSOR; + if (yych == 'M') goto yy852; + if (yych != 'm') goto yy56; +yy852: + yych = *++YYCURSOR; + if (yych == 'B') goto yy853; + if (yych != 'b') goto yy56; +yy853: + yych = *++YYCURSOR; + if (yych == 'E') goto yy854; + if (yych != 'e') goto yy56; +yy854: + yych = *++YYCURSOR; + if (yych == 'R') goto yy848; + if (yych == 'r') goto yy848; + goto yy56; +yy855: + yych = *++YYCURSOR; + if (yych == 'T') goto yy856; + if (yych != 't') goto yy56; +yy856: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'O') goto yy857; + if (yych != 'o') goto yy758; +yy857: + yych = *++YYCURSOR; + if (yych == 'B') goto yy858; + if (yych != 'b') goto yy56; +yy858: + yych = *++YYCURSOR; + if (yych == 'E') goto yy859; + if (yych != 'e') goto yy56; +yy859: + yych = *++YYCURSOR; + if (yych == 'R') goto yy848; + if (yych == 'r') goto yy848; + goto yy56; +yy860: + yych = *++YYCURSOR; + if (yych <= 'P') { + if (yych == 'C') goto yy121; + if (yych <= 'O') goto yy56; + } else { + if (yych <= 'c') { + if (yych <= 'b') goto yy56; + goto yy121; + } else { + if (yych != 'p') goto yy56; + } + } +yy861: + yych = *++YYCURSOR; + if (yych == 'T') goto yy862; + if (yych != 't') goto yy758; +yy862: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'E') goto yy863; + if (yych != 'e') goto yy758; +yy863: + yych = *++YYCURSOR; + if (yych == 'M') goto yy864; + if (yych != 'm') goto yy56; +yy864: + yych = *++YYCURSOR; + if (yych == 'B') goto yy865; + if (yych != 'b') goto yy56; +yy865: + yych = *++YYCURSOR; + if (yych == 'E') goto yy866; + if (yych != 'e') goto yy56; +yy866: + yych = *++YYCURSOR; + if (yych == 'R') goto yy848; + if (yych == 'r') goto yy848; + goto yy56; +yy867: + yych = *++YYCURSOR; + if (yych == 'G') goto yy871; + if (yych == 'g') goto yy871; + goto yy56; +yy868: + yych = *++YYCURSOR; + if (yych == 'R') goto yy869; + if (yych != 'r') goto yy56; +yy869: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'I') goto yy870; + if (yych != 'i') goto yy758; +yy870: + yych = *++YYCURSOR; + if (yych == 'L') goto yy848; + if (yych == 'l') goto yy848; + goto yy56; +yy871: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'U') goto yy872; + if (yych != 'u') goto yy758; +yy872: + yych = *++YYCURSOR; + if (yych == 'S') goto yy873; + if (yych != 's') goto yy56; +yy873: + yych = *++YYCURSOR; + if (yych == 'T') goto yy848; + if (yych == 't') goto yy848; + goto yy56; +yy874: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'R') goto yy875; + if (yych <= 'X') goto yy56; + goto yy848; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + } else { + if (yych == 'y') goto yy848; + goto yy56; + } + } +yy875: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'C') goto yy876; + if (yych != 'c') goto yy758; +yy876: + yych = *++YYCURSOR; + if (yych == 'H') goto yy848; + if (yych == 'h') goto yy848; + goto yy56; +yy877: + yych = *++YYCURSOR; + if (yych == 'B') goto yy878; + if (yych != 'b') goto yy56; +yy878: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'R') goto yy879; + if (yych != 'r') goto yy758; +yy879: + yych = *++YYCURSOR; + if (yych == 'U') goto yy880; + if (yych != 'u') goto yy56; +yy880: + yych = *++YYCURSOR; + if (yych == 'A') goto yy881; + if (yych != 'a') goto yy56; +yy881: + yych = *++YYCURSOR; + if (yych == 'R') goto yy882; + if (yych != 'r') goto yy56; +yy882: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy848; + if (yych == 'y') goto yy848; + goto yy56; +yy883: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy890; + if (yych <= 'M') goto yy56; + goto yy889; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy890; + } else { + if (yych == 'n') goto yy889; + goto yy56; + } + } +yy884: + yych = *++YYCURSOR; + if (yych == 'N') goto yy885; + if (yych != 'n') goto yy56; +yy885: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'U') goto yy886; + if (yych != 'u') goto yy758; +yy886: + yych = *++YYCURSOR; + if (yych == 'A') goto yy887; + if (yych != 'a') goto yy56; +yy887: + yych = *++YYCURSOR; + if (yych == 'R') goto yy888; + if (yych != 'r') goto yy56; +yy888: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy848; + if (yych == 'y') goto yy848; + goto yy56; +yy889: + yych = *++YYCURSOR; + if (yych == 'E') goto yy848; + if (yych == 'e') goto yy848; + goto yy758; +yy890: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy848; + if (yych == 'y') goto yy848; + goto yy758; +yy891: + yych = *++YYCURSOR; + if (yych == 'I') goto yy848; + goto yy758; +yy892: + yych = *++YYCURSOR; + if (yych != 'I') goto yy758; + yych = *++YYCURSOR; + if (yych == 'I') goto yy848; + goto yy758; +yy894: + yych = *++YYCURSOR; + if (yych == 'I') goto yy848; + goto yy758; +yy895: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy910; + if (yych <= '9') goto yy909; + goto yy56; +yy896: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy908; + goto yy56; +yy897: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy906; + if (yych <= '6') goto yy905; + goto yy56; +yy898: + yych = *++YYCURSOR; + if (yych == 'E') goto yy877; + if (yych == 'e') goto yy877; + goto yy56; +yy899: + yych = *++YYCURSOR; + if (yych == 'A') goto yy874; + if (yych == 'a') goto yy874; + goto yy56; +yy900: + yych = *++YYCURSOR; + if (yych == 'E') goto yy904; + if (yych == 'e') goto yy904; + goto yy56; +yy901: + yych = *++YYCURSOR; + if (yych == 'E') goto yy842; + if (yych == 'e') goto yy842; + goto yy56; +yy902: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; +yy903: + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy902; + case 'A': + case 'a': goto yy764; + case 'D': + case 'd': goto yy901; + case 'F': + case 'f': goto yy898; + case 'I': goto yy757; + case 'J': + case 'j': goto yy761; + case 'M': + case 'm': goto yy899; + case 'N': + case 'n': goto yy767; + case 'O': + case 'o': goto yy766; + case 'S': + case 's': goto yy900; + case 'V': goto yy759; + case 'X': goto yy760; + default: goto yy56; + } +yy904: + yych = *++YYCURSOR; + if (yych == 'P') goto yy861; + if (yych == 'p') goto yy861; + goto yy56; +yy905: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '6') goto yy907; + goto yy56; +yy906: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy907: + yych = *++YYCURSOR; + goto yy786; +yy908: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy907; + goto yy56; +yy909: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy907; + goto yy56; +yy910: + yych = *++YYCURSOR; + if (yych <= '0') goto yy56; + if (yych <= '9') goto yy907; + goto yy56; +yy911: + yych = *++YYCURSOR; + if (yych <= '.') goto yy56; + if (yych <= '/') goto yy914; + if (yych <= '9') goto yy922; + goto yy56; +yy912: + yych = *++YYCURSOR; + if (yych <= '.') goto yy56; + if (yych <= '/') goto yy914; + if (yych <= '2') goto yy922; + goto yy56; +yy913: + yych = *++YYCURSOR; + if (yych != '/') goto yy56; +yy914: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy915; + if (yych <= '3') goto yy916; + if (yych <= '9') goto yy917; + goto yy56; +yy915: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy419; + if (yych <= '9') goto yy917; + if (yych <= 'm') goto yy419; + goto yy919; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy419; + goto yy920; + } else { + if (yych <= 's') goto yy918; + if (yych <= 't') goto yy921; + goto yy419; + } + } +yy916: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy419; + if (yych <= '1') goto yy917; + if (yych <= 'm') goto yy419; + goto yy919; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy419; + goto yy920; + } else { + if (yych <= 's') goto yy918; + if (yych <= 't') goto yy921; + goto yy419; + } + } +yy917: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'q') { + if (yych == 'n') goto yy919; + goto yy419; + } else { + if (yych <= 'r') goto yy920; + if (yych <= 's') goto yy918; + if (yych <= 't') goto yy921; + goto yy419; + } +yy918: + yych = *++YYCURSOR; + if (yych == 't') goto yy418; + goto yy56; +yy919: + yych = *++YYCURSOR; + if (yych == 'd') goto yy418; + goto yy56; +yy920: + yych = *++YYCURSOR; + if (yych == 'd') goto yy418; + goto yy56; +yy921: + yych = *++YYCURSOR; + if (yych == 'h') goto yy418; + goto yy56; +yy922: + yych = *++YYCURSOR; + if (yych != '/') goto yy56; + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych >= '1') goto yy925; + } else { + if (yych <= '3') goto yy926; + if (yych <= '9') goto yy917; + goto yy56; + } + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy419; + if (yych <= '9') goto yy927; + if (yych <= 'm') goto yy419; + goto yy919; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy419; + goto yy920; + } else { + if (yych <= 's') goto yy918; + if (yych <= 't') goto yy921; + goto yy419; + } + } +yy925: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy419; + if (yych <= '9') goto yy927; + if (yych <= 'm') goto yy419; + goto yy919; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy419; + goto yy920; + } else { + if (yych <= 's') goto yy918; + if (yych <= 't') goto yy921; + goto yy419; + } + } +yy926: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy419; + if (yych <= '1') goto yy927; + if (yych <= 'm') goto yy419; + goto yy919; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy419; + goto yy920; + } else { + if (yych <= 's') goto yy918; + if (yych <= 't') goto yy921; + goto yy419; + } + } +yy927: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych == '/') goto yy418; + if (yych <= 'm') goto yy419; + goto yy919; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy419; + goto yy920; + } else { + if (yych <= 's') goto yy918; + if (yych <= 't') goto yy921; + goto yy419; + } + } +yy928: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy1008; + if (yych <= 'T') goto yy56; + goto yy1007; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy1008; + } else { + if (yych == 'u') goto yy1007; + goto yy56; + } + } +yy929: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1005; + if (yych == 'e') goto yy1005; + goto yy56; +yy930: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1002; + if (yych == 'a') goto yy1002; + goto yy56; +yy931: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy999; + if (yych <= 'T') goto yy56; + goto yy998; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy999; + } else { + if (yych == 'u') goto yy998; + goto yy56; + } + } +yy932: + yych = *++YYCURSOR; + if (yych == 'E') goto yy995; + if (yych == 'e') goto yy995; + goto yy56; +yy933: + yych = *++YYCURSOR; + if (yych == 'C') goto yy993; + if (yych == 'c') goto yy993; + goto yy56; +yy934: + yych = *++YYCURSOR; + if (yych == 'O') goto yy991; + if (yych == 'o') goto yy991; + goto yy56; +yy935: + yych = *++YYCURSOR; + if (yych == 'E') goto yy989; + if (yych == 'e') goto yy989; + goto yy56; +yy936: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy775; + if (yych <= '4') goto yy776; + if (yych <= '5') goto yy777; + goto yy56; +yy937: + yyaccept = 21; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy941; + if (yych <= '/') goto yy938; + if (yych <= '9') goto yy960; +yy938: + { + int length = 0; + DEBUG_OUTPUT("gnudateshorter"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + 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, length); + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } +yy939: + yyaccept = 21; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy941; + if (yych <= '/') goto yy938; + if (yych <= '2') goto yy960; + goto yy938; +yy940: + yyaccept = 21; + yych = *(YYMARKER = ++YYCURSOR); + if (yych != '-') goto yy938; +yy941: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy942; + if (yych <= '3') goto yy943; + if (yych <= '9') goto yy944; + goto yy56; +yy942: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'm') { + if (yych <= '9') { + if (yych <= '/') goto yy621; + goto yy944; + } else { + if (yych == 'T') goto yy949; + goto yy621; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy946; + if (yych <= 'q') goto yy621; + goto yy947; + } else { + if (yych <= 's') goto yy945; + if (yych <= 't') goto yy948; + goto yy621; + } + } +yy943: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'm') { + if (yych <= '1') { + if (yych <= '/') goto yy621; + } else { + if (yych == 'T') goto yy949; + goto yy621; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy946; + if (yych <= 'q') goto yy621; + goto yy947; + } else { + if (yych <= 's') goto yy945; + if (yych <= 't') goto yy948; + goto yy621; + } + } +yy944: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych == 'T') goto yy949; + if (yych <= 'm') goto yy621; + goto yy946; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy621; + goto yy947; + } else { + if (yych <= 's') goto yy945; + if (yych <= 't') goto yy948; + goto yy621; + } + } +yy945: + yych = *++YYCURSOR; + if (yych == 't') goto yy959; + goto yy56; +yy946: + yych = *++YYCURSOR; + if (yych == 'd') goto yy959; + goto yy56; +yy947: + yych = *++YYCURSOR; + if (yych == 'd') goto yy959; + goto yy56; +yy948: + yych = *++YYCURSOR; + if (yych == 'h') goto yy959; + goto yy56; +yy949: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy950; + if (yych <= '2') goto yy951; + if (yych <= '9') goto yy952; + goto yy56; +yy950: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy952; + if (yych <= ':') goto yy953; + goto yy56; +yy951: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy952; + if (yych == ':') goto yy953; + goto yy56; +yy952: + yych = *++YYCURSOR; + if (yych != ':') goto yy56; +yy953: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy954; + if (yych <= '9') goto yy955; + goto yy56; +yy954: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy955; + if (yych <= ':') goto yy956; + goto yy56; +yy955: + yych = *++YYCURSOR; + if (yych != ':') goto yy56; +yy956: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy957; + if (yych <= '6') goto yy958; + if (yych <= '9') goto yy806; + goto yy56; +yy957: + yych = *++YYCURSOR; + if (yych <= '/') goto yy807; + if (yych <= '9') goto yy806; + goto yy807; +yy958: + yych = *++YYCURSOR; + if (yych == '0') goto yy806; + goto yy807; +yy959: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'T') goto yy949; + goto yy621; +yy960: + yyaccept = 21; + yych = *(YYMARKER = ++YYCURSOR); + if (yych != '-') goto yy938; + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych >= '1') goto yy963; + } else { + if (yych <= '3') goto yy964; + if (yych <= '9') goto yy944; + goto yy56; + } + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'm') { + if (yych <= '9') { + if (yych <= '/') goto yy621; + goto yy965; + } else { + if (yych == 'T') goto yy949; + goto yy621; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy946; + if (yych <= 'q') goto yy621; + goto yy947; + } else { + if (yych <= 's') goto yy945; + if (yych <= 't') goto yy948; + goto yy621; + } + } +yy963: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'm') { + if (yych <= '9') { + if (yych <= '/') goto yy621; + goto yy965; + } else { + if (yych == 'T') goto yy949; + goto yy621; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy946; + if (yych <= 'q') goto yy621; + goto yy947; + } else { + if (yych <= 's') goto yy945; + if (yych <= 't') goto yy948; + goto yy621; + } + } +yy964: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'm') { + if (yych <= '1') { + if (yych <= '/') goto yy621; + } else { + if (yych == 'T') goto yy949; + goto yy621; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy946; + if (yych <= 'q') goto yy621; + goto yy947; + } else { + if (yych <= 's') goto yy945; + if (yych <= 't') goto yy948; + goto yy621; + } + } +yy965: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych == 'T') goto yy966; + if (yych <= 'm') goto yy419; + goto yy946; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy419; + goto yy947; + } else { + if (yych <= 's') goto yy945; + if (yych <= 't') goto yy948; + goto yy419; + } + } +yy966: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy967; + if (yych <= '2') goto yy968; + if (yych <= '9') goto yy952; + goto yy56; +yy967: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy969; + if (yych <= ':') goto yy953; + goto yy56; +yy968: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy969; + if (yych == ':') goto yy953; + goto yy56; +yy969: + yych = *++YYCURSOR; + if (yych != ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy971; + if (yych <= '9') goto yy955; + goto yy56; +yy971: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy972; + if (yych <= ':') goto yy956; + goto yy56; +yy972: + yych = *++YYCURSOR; + if (yych != ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy974; + if (yych <= '6') goto yy975; + if (yych <= '9') goto yy806; + goto yy56; +yy974: + yych = *++YYCURSOR; + if (yych <= '/') goto yy807; + if (yych <= '9') goto yy976; + goto yy807; +yy975: + yych = *++YYCURSOR; + if (yych != '0') goto yy807; +yy976: + yyaccept = 22; + yych = *(YYMARKER = ++YYCURSOR); + if (yych != '.') goto yy807; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy978: + yyaccept = 22; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; + if (yych <= '-') { + if (yych == '+') goto yy981; + if (yych <= ',') goto yy807; + goto yy981; + } else { + if (yych <= '9') { + if (yych <= '/') goto yy807; + goto yy978; + } else { + if (yych != 'G') goto yy807; + } + } + yych = *++YYCURSOR; + if (yych == 'M') goto yy987; + goto yy56; +yy981: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy982; + if (yych <= '2') goto yy983; + if (yych <= '9') goto yy984; + goto yy56; +yy982: + yych = *++YYCURSOR; + if (yych <= '/') goto yy807; + if (yych <= '9') goto yy984; + if (yych <= ':') goto yy985; + goto yy807; +yy983: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy807; + if (yych >= '5') goto yy986; + } else { + if (yych <= '9') goto yy806; + if (yych <= ':') goto yy985; + goto yy807; + } +yy984: + yych = *++YYCURSOR; + if (yych <= '/') goto yy807; + if (yych <= '5') goto yy986; + if (yych <= '9') goto yy806; + if (yych >= ';') goto yy807; +yy985: + yych = *++YYCURSOR; + if (yych <= '/') goto yy807; + if (yych <= '5') goto yy986; + if (yych <= '9') goto yy806; + goto yy807; +yy986: + yych = *++YYCURSOR; + if (yych <= '/') goto yy807; + if (yych <= '9') goto yy806; + goto yy807; +yy987: + yych = *++YYCURSOR; + if (yych != 'T') goto yy56; + yych = *++YYCURSOR; + if (yych == '+') goto yy981; + if (yych == '-') goto yy981; + goto yy56; +yy989: + yych = *++YYCURSOR; + if (yych == 'C') goto yy990; + if (yych != 'c') goto yy56; +yy990: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == '-') goto yy731; + goto yy758; + } else { + if (yych <= 'E') goto yy844; + if (yych == 'e') goto yy844; + goto yy758; + } +yy991: + yych = *++YYCURSOR; + if (yych == 'V') goto yy992; + if (yych != 'v') goto yy56; +yy992: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == '-') goto yy731; + goto yy758; + } else { + if (yych <= 'E') goto yy851; + if (yych == 'e') goto yy851; + goto yy758; + } +yy993: + yych = *++YYCURSOR; + if (yych == 'T') goto yy994; + if (yych != 't') goto yy56; +yy994: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych == '-') goto yy731; + goto yy758; + } else { + if (yych <= 'O') goto yy857; + if (yych == 'o') goto yy857; + goto yy758; + } +yy995: + yych = *++YYCURSOR; + if (yych == 'P') goto yy996; + if (yych != 'p') goto yy56; +yy996: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == '-') goto yy731; + goto yy758; + } else { + if (yych <= 'T') goto yy997; + if (yych != 't') goto yy758; + } +yy997: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == '-') goto yy731; + goto yy758; + } else { + if (yych <= 'E') goto yy863; + if (yych == 'e') goto yy863; + goto yy758; + } +yy998: + yych = *++YYCURSOR; + if (yych == 'G') goto yy1001; + if (yych == 'g') goto yy1001; + goto yy56; +yy999: + yych = *++YYCURSOR; + if (yych == 'R') goto yy1000; + if (yych != 'r') goto yy56; +yy1000: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'H') { + if (yych == '-') goto yy731; + goto yy758; + } else { + if (yych <= 'I') goto yy870; + if (yych == 'i') goto yy870; + goto yy758; + } +yy1001: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych == '-') goto yy731; + goto yy758; + } else { + if (yych <= 'U') goto yy872; + if (yych == 'u') goto yy872; + goto yy758; + } +yy1002: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'R') goto yy1003; + if (yych <= 'X') goto yy56; + goto yy1004; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + } else { + if (yych == 'y') goto yy1004; + goto yy56; + } + } +yy1003: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'B') { + if (yych == '-') goto yy731; + goto yy758; + } else { + if (yych <= 'C') goto yy876; + if (yych == 'c') goto yy876; + goto yy758; + } +yy1004: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy731; + goto yy758; +yy1005: + yych = *++YYCURSOR; + if (yych == 'B') goto yy1006; + if (yych != 'b') goto yy56; +yy1006: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych == '-') goto yy731; + goto yy758; + } else { + if (yych <= 'R') goto yy879; + if (yych == 'r') goto yy879; + goto yy758; + } +yy1007: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy1011; + if (yych <= 'M') goto yy56; + goto yy1010; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy1011; + } else { + if (yych == 'n') goto yy1010; + goto yy56; + } + } +yy1008: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1009; + if (yych != 'n') goto yy56; +yy1009: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych == '-') goto yy731; + goto yy758; + } else { + if (yych <= 'U') goto yy886; + if (yych == 'u') goto yy886; + goto yy758; + } +yy1010: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == '-') goto yy731; + goto yy758; + } else { + if (yych <= 'E') goto yy848; + if (yych == 'e') goto yy848; + goto yy758; + } +yy1011: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych == '-') goto yy731; + goto yy758; + } else { + if (yych <= 'Y') goto yy848; + if (yych == 'y') goto yy848; + goto yy758; + } +yy1012: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy542; + goto yy695; + } else { + if (yych <= ',') goto yy542; + if (yych <= '-') goto yy696; + goto yy695; + } + } else { + if (yych <= 'U') { + if (yych <= '/') goto yy694; + if (yych <= 'T') goto yy542; + goto yy79; + } else { + if (yych == 'u') goto yy79; + goto yy542; + } + } +yy1013: + yych = *++YYCURSOR; + if (yych <= 'P') { + if (yych == 'C') goto yy121; + if (yych <= 'O') goto yy56; + goto yy550; + } else { + if (yych <= 'c') { + if (yych <= 'b') goto yy56; + goto yy121; + } else { + if (yych == 'p') goto yy550; + goto yy56; + } + } +yy1014: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '\t') goto yy1016; + goto yy1018; + } else { + if (yych <= '-') goto yy1015; + if (yych <= '.') goto yy695; + if (yych <= '/') goto yy694; + goto yy705; + } + } else { + if (yych <= 'q') { + if (yych == 'n') goto yy434; + goto yy1018; + } else { + if (yych <= 'r') goto yy435; + if (yych <= 's') goto yy429; + if (yych <= 't') goto yy432; + goto yy1018; + } + } +yy1015: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy1019; + case '1': goto yy1020; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy582; + case 'A': + case 'a': goto yy586; + case 'D': + case 'd': goto yy590; + case 'F': + case 'f': goto yy584; + case 'J': + case 'j': goto yy583; + case 'M': + case 'm': goto yy585; + case 'N': + case 'n': goto yy589; + case 'O': + case 'o': goto yy588; + case 'S': + case 's': goto yy587; + default: goto yy542; + } +yy1016: + yych = *++YYCURSOR; + if (yych <= '/') goto yy1018; + if (yych <= '0') goto yy700; + if (yych <= '1') goto yy701; + if (yych <= '9') goto yy702; + goto yy1018; +yy1017: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy1018: + if (yych <= 'W') { + if (yych <= 'G') { + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1017; + goto yy56; + } else { + if (yych <= ' ') goto yy1017; + if (yych <= ',') goto yy56; + goto yy541; + } + } else { + if (yych <= 'C') { + if (yych == 'A') goto yy538; + goto yy56; + } else { + if (yych <= 'D') goto yy430; + if (yych == 'F') goto yy431; + goto yy56; + } + } + } else { + if (yych <= 'N') { + if (yych <= 'J') { + if (yych <= 'H') goto yy65; + if (yych <= 'I') goto yy439; + goto yy443; + } else { + if (yych <= 'L') goto yy56; + if (yych <= 'M') goto yy427; + goto yy446; + } + } else { + if (yych <= 'S') { + if (yych <= 'O') goto yy445; + if (yych <= 'R') goto yy56; + goto yy428; + } else { + if (yych <= 'T') goto yy70; + if (yych <= 'U') goto yy63; + if (yych <= 'V') goto yy441; + goto yy69; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych <= '`') { + if (yych <= 'X') goto yy442; + if (yych <= 'Y') goto yy68; + goto yy56; + } else { + if (yych <= 'a') goto yy538; + if (yych <= 'c') goto yy56; + goto yy430; + } + } else { + if (yych <= 'g') { + if (yych == 'f') goto yy431; + goto yy56; + } else { + if (yych <= 'h') goto yy65; + if (yych == 'j') goto yy443; + goto yy56; + } + } + } else { + if (yych <= 'u') { + if (yych <= 'o') { + if (yych <= 'm') goto yy427; + if (yych <= 'n') goto yy446; + goto yy445; + } else { + if (yych <= 'r') goto yy56; + if (yych <= 's') goto yy428; + if (yych <= 't') goto yy70; + goto yy63; + } + } else { + if (yych <= 'x') { + if (yych == 'w') goto yy69; + goto yy56; + } else { + if (yych <= 'y') goto yy68; + if (yych == 0xC2) goto yy62; + goto yy56; + } + } + } + } +yy1019: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy619; + goto yy566; + } else { + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1021; + goto yy56; + } +yy1020: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy619; + goto yy566; + } else { + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; + } +yy1021: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy1022; + if (yych <= '.') goto yy566; + goto yy56; +yy1022: + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych >= '1') goto yy1024; + } else { + if (yych <= '3') goto yy1025; + if (yych <= '9') goto yy623; + goto yy56; + } + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy621; + if (yych <= '9') goto yy1026; + if (yych <= 'm') goto yy621; + goto yy625; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy621; + goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy621; + } + } +yy1024: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy621; + if (yych <= '9') goto yy1026; + if (yych <= 'm') goto yy621; + goto yy625; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy621; + goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy621; + } + } +yy1025: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '1') { + if (yych <= '/') goto yy621; + } else { + if (yych <= '9') goto yy568; + if (yych <= 'm') goto yy621; + goto yy625; + } + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy621; + goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy621; + } + } +yy1026: + yyaccept = 14; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy728; + if (yych <= '9') goto yy569; + if (yych <= 'm') goto yy728; + goto yy625; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy728; + goto yy626; + } else { + if (yych <= 's') goto yy624; + if (yych <= 't') goto yy627; + goto yy728; + } + } +yy1027: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= '-') { + if (yych == '\t') goto yy1016; + if (yych <= ',') goto yy1018; + goto yy1015; + } else { + if (yych <= '.') goto yy1028; + if (yych <= '/') goto yy694; + if (yych <= '5') goto yy1030; + goto yy705; + } + } else { + if (yych <= 'q') { + if (yych <= ':') goto yy1029; + if (yych == 'n') goto yy434; + goto yy1018; + } else { + if (yych <= 'r') goto yy435; + if (yych <= 's') goto yy429; + if (yych <= 't') goto yy432; + goto yy1018; + } + } +yy1028: + yych = *++YYCURSOR; + if (yych <= '1') { + if (yych <= '/') goto yy542; + if (yych <= '0') goto yy1052; + goto yy1053; + } else { + if (yych <= '5') goto yy1054; + if (yych <= '9') goto yy1055; + goto yy542; + } +yy1029: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1047; + if (yych <= '9') goto yy1048; + goto yy56; +yy1030: + yych = *++YYCURSOR; + if (yych == '-') goto yy749; + if (yych <= '/') goto yy60; + if (yych >= ':') goto yy60; + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '3') { + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy755; + } else { + if (yych <= ' ') goto yy755; + if (yych >= '-') goto yy752; + } + } else { + if (yych <= '0') { + if (yych <= '.') goto yy756; + if (yych <= '/') goto yy753; + goto yy1033; + } else { + if (yych <= '1') goto yy1034; + if (yych <= '2') goto yy1035; + goto yy1036; + } + } + } else { + if (yych <= 'A') { + if (yych <= '9') { + if (yych <= '5') goto yy1037; + if (yych <= '6') goto yy1038; + goto yy54; + } else { + if (yych <= ':') goto yy771; + if (yych >= 'A') goto yy755; + } + } else { + if (yych <= 'E') { + if (yych == 'D') goto yy755; + } else { + if (yych == 'G') goto yy1032; + if (yych <= 'J') goto yy755; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= '`') { + if (yych <= 'V') { + if (yych <= 'O') goto yy755; + if (yych >= 'S') goto yy755; + } else { + if (yych <= 'W') goto yy774; + if (yych <= 'Y') goto yy755; + } + } else { + if (yych <= 'd') { + if (yych <= 'a') goto yy755; + if (yych >= 'd') goto yy755; + } else { + if (yych == 'f') goto yy755; + if (yych >= 'h') goto yy755; + } + } + } else { + if (yych <= 'u') { + if (yych <= 'l') { + if (yych == 'j') goto yy755; + } else { + if (yych <= 'o') goto yy755; + if (yych >= 's') goto yy755; + } + } else { + if (yych <= 'x') { + if (yych == 'w') goto yy755; + } else { + if (yych <= 'y') goto yy755; + if (yych == 0xC2) goto yy755; + } + } + } + } +yy1032: + { + 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; + } +yy1033: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy1045; + if (yych <= '9') goto yy1046; + goto yy60; +yy1034: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '2') goto yy1044; + if (yych <= '9') goto yy1043; + goto yy60; +yy1035: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy1043; + goto yy60; +yy1036: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '5') goto yy1041; + if (yych <= '6') goto yy1042; + if (yych <= '9') goto yy1039; + goto yy60; +yy1037: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy1039; + goto yy60; +yy1038: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy1039; + if (yych <= '9') goto yy54; + goto yy60; +yy1039: + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych <= 'X') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych >= ' ') goto yy60; + } else { + if (yych == 'D') goto yy60; + if (yych >= 'F') goto yy60; + } + } else { + if (yych <= 'M') { + if (yych == 'H') goto yy60; + if (yych >= 'M') goto yy60; + } else { + if (yych <= 'U') { + if (yych >= 'S') goto yy60; + } else { + if (yych == 'W') goto yy60; + } + } + } + } else { + if (yych <= 'm') { + if (yych <= 'e') { + if (yych <= 'Y') goto yy60; + if (yych == 'd') goto yy60; + } else { + if (yych <= 'g') { + if (yych <= 'f') goto yy60; + } else { + if (yych <= 'h') goto yy60; + if (yych >= 'm') goto yy60; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') goto yy1040; + if (yych != 'v') goto yy60; + } else { + if (yych <= 'y') { + if (yych >= 'y') goto yy60; + } else { + if (yych == 0xC2) goto yy60; + } + } + } + } +yy1040: + { + 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_parse_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"); + } + } + TIMELIB_DEINIT; + return TIMELIB_ISO_NOCOLON; + } +yy1041: + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= 'E') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1040; + goto yy60; + } else { + if (yych <= '9') { + if (yych <= '/') goto yy1040; + goto yy785; + } else { + if (yych == 'D') goto yy60; + goto yy1040; + } + } + } else { + if (yych <= 'L') { + if (yych == 'G') goto yy1040; + if (yych <= 'H') goto yy60; + goto yy1040; + } else { + if (yych <= 'R') { + if (yych <= 'M') goto yy60; + goto yy1040; + } else { + if (yych == 'V') goto yy1040; + goto yy60; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych <= 'c') goto yy1040; + goto yy60; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy1040; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy1040; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy1040; + } else { + if (yych == 'v') goto yy1040; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy1040; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy1040; + } + } + } + } +yy1042: + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1040; + goto yy60; + } else { + if (yych <= '6') { + if (yych <= '/') goto yy1040; + goto yy785; + } else { + if (yych <= '9') goto yy54; + if (yych <= 'C') goto yy1040; + goto yy60; + } + } + } else { + if (yych <= 'L') { + if (yych <= 'F') { + if (yych <= 'E') goto yy1040; + goto yy60; + } else { + if (yych == 'H') goto yy60; + goto yy1040; + } + } else { + if (yych <= 'R') { + if (yych <= 'M') goto yy60; + goto yy1040; + } else { + if (yych == 'V') goto yy1040; + goto yy60; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych <= 'c') goto yy1040; + goto yy60; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy1040; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy1040; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy1040; + } else { + if (yych == 'v') goto yy1040; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy1040; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy1040; + } + } + } + } +yy1043: + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= 'E') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1040; + goto yy60; + } else { + if (yych <= '9') { + if (yych <= '/') goto yy1040; + goto yy785; + } else { + if (yych == 'D') goto yy60; + goto yy1040; + } + } + } else { + if (yych <= 'L') { + if (yych == 'G') goto yy1040; + if (yych <= 'H') goto yy60; + goto yy1040; + } else { + if (yych <= 'R') { + if (yych <= 'M') goto yy60; + goto yy1040; + } else { + if (yych == 'V') goto yy1040; + goto yy60; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych <= 'c') goto yy1040; + goto yy60; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy1040; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy1040; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy1040; + } else { + if (yych == 'v') goto yy1040; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy1040; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy1040; + } + } + } + } +yy1044: + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'C') { + if (yych <= '/') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy1040; + goto yy60; + } else { + if (yych == ' ') goto yy60; + goto yy1040; + } + } else { + if (yych <= '2') { + if (yych <= '0') goto yy809; + goto yy810; + } else { + if (yych <= '3') goto yy811; + if (yych <= '9') goto yy785; + goto yy1040; + } + } + } else { + if (yych <= 'H') { + if (yych <= 'E') { + if (yych <= 'D') goto yy60; + goto yy1040; + } else { + if (yych == 'G') goto yy1040; + goto yy60; + } + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy1040; + goto yy60; + } else { + if (yych <= 'R') goto yy1040; + if (yych <= 'U') goto yy60; + goto yy1040; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych <= 'X') { + if (yych <= 'W') goto yy60; + goto yy1040; + } else { + if (yych <= 'Y') goto yy60; + if (yych <= 'c') goto yy1040; + goto yy60; + } + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy1040; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy1040; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy1040; + } else { + if (yych == 'v') goto yy1040; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy1040; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy1040; + } + } + } + } +yy1045: + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'C') { + if (yych <= '/') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy1040; + goto yy60; + } else { + if (yych == ' ') goto yy60; + goto yy1040; + } + } else { + if (yych <= '2') { + if (yych <= '0') goto yy841; + goto yy810; + } else { + if (yych <= '3') goto yy811; + if (yych <= '9') goto yy785; + goto yy1040; + } + } + } else { + if (yych <= 'H') { + if (yych <= 'E') { + if (yych <= 'D') goto yy60; + goto yy1040; + } else { + if (yych == 'G') goto yy1040; + goto yy60; + } + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy1040; + goto yy60; + } else { + if (yych <= 'R') goto yy1040; + if (yych <= 'U') goto yy60; + goto yy1040; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych <= 'X') { + if (yych <= 'W') goto yy60; + goto yy1040; + } else { + if (yych <= 'Y') goto yy60; + if (yych <= 'c') goto yy1040; + goto yy60; + } + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy1040; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy1040; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy1040; + } else { + if (yych == 'v') goto yy1040; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy1040; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy1040; + } + } + } + } +yy1046: + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'C') { + if (yych <= '/') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy1040; + goto yy60; + } else { + if (yych == ' ') goto yy60; + goto yy1040; + } + } else { + if (yych <= '2') { + if (yych <= '0') goto yy809; + goto yy810; + } else { + if (yych <= '3') goto yy811; + if (yych <= '9') goto yy785; + goto yy1040; + } + } + } else { + if (yych <= 'H') { + if (yych <= 'E') { + if (yych <= 'D') goto yy60; + goto yy1040; + } else { + if (yych == 'G') goto yy1040; + goto yy60; + } + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy1040; + goto yy60; + } else { + if (yych <= 'R') goto yy1040; + if (yych <= 'U') goto yy60; + goto yy1040; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych <= 'X') { + if (yych <= 'W') goto yy60; + goto yy1040; + } else { + if (yych <= 'Y') goto yy60; + if (yych <= 'c') goto yy1040; + goto yy60; + } + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy1040; + goto yy60; + } else { + if (yych == 'h') goto yy60; + goto yy1040; + } + } + } else { + if (yych <= 'w') { + if (yych <= 'r') { + if (yych <= 'm') goto yy60; + goto yy1040; + } else { + if (yych == 'v') goto yy1040; + goto yy60; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy1040; + goto yy60; + } else { + if (yych == 0xC2) goto yy60; + goto yy1040; + } + } + } + } +yy1047: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy1049; + goto yy455; + } else { + if (yych <= '9') goto yy1048; + if (yych <= ':') goto yy1049; + goto yy455; + } +yy1048: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy1049; + if (yych != ':') goto yy455; +yy1049: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1050; + if (yych <= '6') goto yy1051; + if (yych <= '9') goto yy460; + goto yy56; +yy1050: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy461; + if (yych <= '/') goto yy455; + if (yych <= '9') goto yy460; + goto yy455; +yy1051: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy461; + if (yych == '0') goto yy460; + goto yy455; +yy1052: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy455; + if (yych <= '-') goto yy566; + goto yy1056; + } else { + if (yych <= '/') goto yy455; + if (yych <= '9') goto yy1055; + if (yych <= ':') goto yy1049; + goto yy455; + } +yy1053: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') goto yy455; + if (yych <= '-') goto yy566; + if (yych <= '.') goto yy1056; + goto yy455; + } else { + if (yych <= '2') goto yy1055; + if (yych <= '9') goto yy1048; + if (yych <= ':') goto yy1049; + goto yy455; + } +yy1054: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy455; + if (yych <= '-') goto yy566; + goto yy1056; + } else { + if (yych <= '/') goto yy455; + if (yych <= '9') goto yy1048; + if (yych <= ':') goto yy1049; + goto yy455; + } +yy1055: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy455; + if (yych <= '-') goto yy566; + } else { + if (yych == ':') goto yy1049; + goto yy455; + } +yy1056: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1057; + if (yych <= '6') goto yy1058; + if (yych <= '9') goto yy574; + goto yy56; +yy1057: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy461; + if (yych <= '/') goto yy455; + if (yych <= '9') goto yy1059; + goto yy455; +yy1058: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy461; + goto yy455; + } else { + if (yych <= '0') goto yy1059; + if (yych <= '9') goto yy575; + goto yy455; + } +yy1059: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy461; + if (yych <= '/') goto yy455; + if (yych <= '9') goto yy569; + goto yy455; +yy1060: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= '-') { + if (yych == '\t') goto yy424; + if (yych <= ',') goto yy426; + goto yy1015; + } else { + if (yych <= '.') goto yy438; + if (yych <= '/') goto yy436; + if (yych <= '5') goto yy1030; + goto yy705; + } + } else { + if (yych <= 'q') { + if (yych <= ':') goto yy447; + if (yych == 'n') goto yy434; + goto yy426; + } else { + if (yych <= 'r') goto yy435; + if (yych <= 's') goto yy429; + if (yych <= 't') goto yy432; + goto yy426; + } + } +yy1061: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= '-') { + if (yych == '\t') goto yy1016; + if (yych <= ',') goto yy1018; + goto yy1015; + } else { + if (yych <= '.') goto yy1028; + if (yych <= '/') goto yy436; + if (yych <= '5') goto yy1030; + goto yy705; + } + } else { + if (yych <= 'q') { + if (yych <= ':') goto yy1029; + if (yych == 'n') goto yy434; + goto yy1018; + } else { + if (yych <= 'r') goto yy435; + if (yych <= 's') goto yy429; + if (yych <= 't') goto yy432; + goto yy1018; + } + } +yy1062: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy166; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'e') goto yy1063; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1063: + yych = *++YYCURSOR; + if (yych <= 'V') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'U') goto yy167; + } + } else { + if (yych <= 'u') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'v') goto yy1064; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1064: + yych = *++YYCURSOR; + if (yych <= 'I') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'H') goto yy168; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'i') goto yy1065; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1065: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'N') goto yy169; + } + } else { + if (yych <= 'n') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'o') goto yy1066; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1066: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'U') goto yy1067; + if (yych != 'u') goto yy3; + } +yy1067: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1068; + if (yych != 's') goto yy56; +yy1068: + yych = *++YYCURSOR; + if (yych == '\t') goto yy1069; + if (yych != ' ') goto yy56; +yy1069: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); + yych = *YYCURSOR; +yy1070: + if (yych <= 'X') { + if (yych <= 'G') { + if (yych <= ' ') { + if (yych == '\t') goto yy1069; + if (yych <= 0x1F) goto yy56; + goto yy1069; + } else { + if (yych <= 'D') { + if (yych <= 'C') goto yy56; + goto yy1076; + } else { + if (yych == 'F') goto yy1077; + goto yy56; + } + } + } else { + if (yych <= 'S') { + if (yych <= 'L') { + if (yych <= 'H') goto yy1075; + goto yy56; + } else { + if (yych <= 'M') goto yy1071; + if (yych <= 'R') goto yy56; + goto yy1074; + } + } else { + if (yych <= 'U') { + if (yych <= 'T') goto yy1080; + goto yy1073; + } else { + if (yych == 'W') goto yy1079; + goto yy56; + } + } + } + } else { + if (yych <= 'r') { + if (yych <= 'f') { + if (yych <= 'c') { + if (yych <= 'Y') goto yy1078; + goto yy56; + } else { + if (yych <= 'd') goto yy1076; + if (yych <= 'e') goto yy56; + goto yy1077; + } + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy1075; + } else { + if (yych != 'm') goto yy56; + } + } + } else { + if (yych <= 'w') { + if (yych <= 't') { + if (yych <= 's') goto yy1074; + goto yy1080; + } else { + if (yych <= 'u') goto yy1073; + if (yych <= 'v') goto yy56; + goto yy1079; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy56; + goto yy1078; + } else { + if (yych == 0xC2) goto yy1072; + goto yy56; + } + } + } + } +yy1071: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= 'N') { + if (yych == 'I') goto yy1155; + goto yy56; + } else { + if (yych <= 'O') goto yy1154; + if (yych <= 'R') goto yy56; + goto yy1156; + } + } else { + if (yych <= 'n') { + if (yych == 'i') goto yy1155; + goto yy56; + } else { + if (yych <= 'o') goto yy1154; + if (yych == 's') goto yy1156; + goto yy56; + } + } +yy1072: + yych = *++YYCURSOR; + if (yych == 0xB5) goto yy1151; + goto yy56; +yy1073: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1149; + if (yych == 's') goto yy1149; + goto yy56; +yy1074: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych == 'A') goto yy1136; + goto yy56; + } else { + if (yych <= 'E') goto yy1137; + if (yych <= 'T') goto yy56; + goto yy1135; + } + } else { + if (yych <= 'd') { + if (yych == 'a') goto yy1136; + goto yy56; + } else { + if (yych <= 'e') goto yy1137; + if (yych == 'u') goto yy1135; + goto yy56; + } + } +yy1075: + yych = *++YYCURSOR; + if (yych == 'O') goto yy1133; + if (yych == 'o') goto yy1133; + goto yy56; +yy1076: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1132; + if (yych == 'a') goto yy1132; + goto yy56; +yy1077: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych == 'O') goto yy1117; + if (yych <= 'Q') goto yy56; + goto yy1116; + } else { + if (yych <= 'o') { + if (yych <= 'n') goto yy56; + goto yy1117; + } else { + if (yych == 'r') goto yy1116; + goto yy56; + } + } +yy1078: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1113; + if (yych == 'e') goto yy1113; + goto yy56; +yy1079: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1099; + if (yych == 'e') goto yy1099; + goto yy56; +yy1080: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'H') goto yy1081; + if (yych <= 'T') goto yy56; + goto yy1082; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + } else { + if (yych == 'u') goto yy1082; + goto yy56; + } + } +yy1081: + yych = *++YYCURSOR; + if (yych == 'U') goto yy1094; + if (yych == 'u') goto yy1094; + goto yy56; +yy1082: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1083; + if (yych != 'e') goto yy56; +yy1083: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1085; + if (yych >= ' ') goto yy1085; + } else { + if (yych <= 'S') { + if (yych >= 'S') goto yy1087; + } else { + if (yych == 's') goto yy1087; + } + } +yy1084: + { + 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; + } +yy1085: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= ' ') { + if (yych == '\t') goto yy1085; + if (yych <= 0x1F) goto yy56; + goto yy1085; + } else { + if (yych <= 'O') { + if (yych <= 'N') goto yy56; + goto yy1091; + } else { + if (yych == 'o') goto yy1091; + goto yy56; + } + } +yy1087: + yych = *++YYCURSOR; + if (yych == 'D') goto yy1088; + if (yych != 'd') goto yy56; +yy1088: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1089; + if (yych != 'a') goto yy56; +yy1089: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1090; + if (yych != 'y') goto yy56; +yy1090: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '\t') goto yy1085; + if (yych == ' ') goto yy1085; + goto yy1084; +yy1091: + yych = *++YYCURSOR; + if (yych == 'F') goto yy1092; + if (yych != 'f') goto yy56; +yy1092: + ++YYCURSOR; + { + 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; + } +yy1094: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1085; + if (yych <= 0x1F) goto yy1084; + goto yy1085; + } else { + if (yych <= 'R') { + if (yych <= 'Q') goto yy1084; + } else { + if (yych != 'r') goto yy1084; + } + } + yych = *++YYCURSOR; + if (yych == 'S') goto yy1096; + if (yych != 's') goto yy56; +yy1096: + yych = *++YYCURSOR; + if (yych == 'D') goto yy1097; + if (yych != 'd') goto yy56; +yy1097: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1098; + if (yych != 'a') goto yy56; +yy1098: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1090; + if (yych == 'y') goto yy1090; + goto yy56; +yy1099: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= 'C') goto yy56; + if (yych <= 'D') goto yy1101; + } else { + if (yych <= 'c') goto yy56; + if (yych <= 'd') goto yy1101; + if (yych >= 'f') goto yy56; + } + yych = *++YYCURSOR; + if (yych == 'K') goto yy1107; + if (yych == 'k') goto yy1107; + goto yy56; +yy1101: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1085; + if (yych <= 0x1F) goto yy1084; + goto yy1085; + } else { + if (yych <= 'N') { + if (yych <= 'M') goto yy1084; + } else { + if (yych != 'n') goto yy1084; + } + } + yych = *++YYCURSOR; + if (yych == 'E') goto yy1103; + if (yych != 'e') goto yy56; +yy1103: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1104; + if (yych != 's') goto yy56; +yy1104: + yych = *++YYCURSOR; + if (yych == 'D') goto yy1105; + if (yych != 'd') goto yy56; +yy1105: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1106; + if (yych != 'a') goto yy56; +yy1106: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1090; + if (yych == 'y') goto yy1090; + goto yy56; +yy1107: + yyaccept = 26; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == 'D') goto yy1110; + if (yych >= 'S') goto yy1109; + } else { + if (yych <= 'd') { + if (yych >= 'd') goto yy1110; + } else { + if (yych == 's') goto yy1109; + } + } +yy1108: + { + 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; + } +yy1109: + yych = *++YYCURSOR; + goto yy1084; +yy1110: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1111; + if (yych != 'a') goto yy56; +yy1111: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1112; + if (yych != 'y') goto yy56; +yy1112: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1109; + if (yych == 's') goto yy1109; + goto yy1084; +yy1113: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1114; + if (yych != 'a') goto yy56; +yy1114: + yych = *++YYCURSOR; + if (yych == 'R') goto yy1115; + if (yych != 'r') goto yy56; +yy1115: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1109; + if (yych == 's') goto yy1109; + goto yy1084; +yy1116: + yych = *++YYCURSOR; + if (yych == 'I') goto yy1129; + if (yych == 'i') goto yy1129; + goto yy56; +yy1117: + yych = *++YYCURSOR; + if (yych == 'R') goto yy1118; + if (yych != 'r') goto yy56; +yy1118: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1119; + if (yych != 't') goto yy56; +yy1119: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'H') goto yy1121; + if (yych <= 'M') goto yy56; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy1121; + } else { + if (yych != 'n') goto yy56; + } + } + yych = *++YYCURSOR; + if (yych == 'I') goto yy1126; + if (yych == 'i') goto yy1126; + goto yy56; +yy1121: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1122; + if (yych != 'n') goto yy56; +yy1122: + yych = *++YYCURSOR; + if (yych == 'I') goto yy1123; + if (yych != 'i') goto yy56; +yy1123: + yych = *++YYCURSOR; + if (yych == 'G') goto yy1124; + if (yych != 'g') goto yy56; +yy1124: + yych = *++YYCURSOR; + if (yych == 'H') goto yy1125; + if (yych != 'h') goto yy56; +yy1125: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1115; + if (yych == 't') goto yy1115; + goto yy56; +yy1126: + yych = *++YYCURSOR; + if (yych == 'G') goto yy1127; + if (yych != 'g') goto yy56; +yy1127: + yych = *++YYCURSOR; + if (yych == 'H') goto yy1128; + if (yych != 'h') goto yy56; +yy1128: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1115; + if (yych == 't') goto yy1115; + goto yy56; +yy1129: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1085; + if (yych <= 0x1F) goto yy1084; + goto yy1085; + } else { + if (yych <= 'D') { + if (yych <= 'C') goto yy1084; + } else { + if (yych != 'd') goto yy1084; + } + } + yych = *++YYCURSOR; + if (yych == 'A') goto yy1131; + if (yych != 'a') goto yy56; +yy1131: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1090; + if (yych == 'y') goto yy1090; + goto yy56; +yy1132: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1115; + if (yych == 'y') goto yy1115; + goto yy56; +yy1133: + yych = *++YYCURSOR; + if (yych == 'U') goto yy1134; + if (yych != 'u') goto yy56; +yy1134: + yych = *++YYCURSOR; + if (yych == 'R') goto yy1115; + if (yych == 'r') goto yy1115; + goto yy56; +yy1135: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1146; + if (yych == 'n') goto yy1146; + goto yy56; +yy1136: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1141; + if (yych == 't') goto yy1141; + goto yy56; +yy1137: + yych = *++YYCURSOR; + if (yych == 'C') goto yy1138; + if (yych != 'c') goto yy56; +yy1138: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == 'O') goto yy1139; + if (yych <= 'R') goto yy1084; + goto yy1109; + } else { + if (yych <= 'o') { + if (yych <= 'n') goto yy1084; + } else { + if (yych == 's') goto yy1109; + goto yy1084; + } + } +yy1139: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1140; + if (yych != 'n') goto yy56; +yy1140: + yych = *++YYCURSOR; + if (yych == 'D') goto yy1115; + if (yych == 'd') goto yy1115; + goto yy56; +yy1141: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1085; + if (yych <= 0x1F) goto yy1084; + goto yy1085; + } else { + if (yych <= 'U') { + if (yych <= 'T') goto yy1084; + } else { + if (yych != 'u') goto yy1084; + } + } + yych = *++YYCURSOR; + if (yych == 'R') goto yy1143; + if (yych != 'r') goto yy56; +yy1143: + yych = *++YYCURSOR; + if (yych == 'D') goto yy1144; + if (yych != 'd') goto yy56; +yy1144: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1145; + if (yych != 'a') goto yy56; +yy1145: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1090; + if (yych == 'y') goto yy1090; + goto yy56; +yy1146: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1085; + if (yych <= 0x1F) goto yy1084; + goto yy1085; + } else { + if (yych <= 'D') { + if (yych <= 'C') goto yy1084; + } else { + if (yych != 'd') goto yy1084; + } + } + yych = *++YYCURSOR; + if (yych == 'A') goto yy1148; + if (yych != 'a') goto yy56; +yy1148: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1090; + if (yych == 'y') goto yy1090; + goto yy56; +yy1149: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1150; + if (yych != 'e') goto yy56; +yy1150: + yych = *++YYCURSOR; + if (yych == 'C') goto yy1115; + if (yych == 'c') goto yy1115; + goto yy56; +yy1151: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1152; + if (yych != 's') goto yy56; +yy1152: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'E') goto yy1153; + if (yych != 'e') goto yy1084; +yy1153: + yych = *++YYCURSOR; + if (yych == 'C') goto yy1115; + if (yych == 'c') goto yy1115; + goto yy56; +yy1154: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1177; + if (yych == 'n') goto yy1177; + goto yy56; +yy1155: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= 'K') { + if (yych == 'C') goto yy1159; + goto yy56; + } else { + if (yych <= 'L') goto yy1158; + if (yych <= 'M') goto yy56; + goto yy1160; + } + } else { + if (yych <= 'k') { + if (yych == 'c') goto yy1159; + goto yy56; + } else { + if (yych <= 'l') goto yy1158; + if (yych == 'n') goto yy1160; + goto yy56; + } + } +yy1156: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'E') goto yy1157; + if (yych != 'e') goto yy1084; +yy1157: + yych = *++YYCURSOR; + if (yych == 'C') goto yy1115; + if (yych == 'c') goto yy1115; + goto yy56; +yy1158: + yych = *++YYCURSOR; + if (yych == 'L') goto yy1170; + if (yych == 'l') goto yy1170; + goto yy56; +yy1159: + yych = *++YYCURSOR; + if (yych == 'R') goto yy1163; + if (yych == 'r') goto yy1163; + goto yy56; +yy1160: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'U') { + if (yych == 'S') goto yy1109; + if (yych <= 'T') goto yy1084; + } else { + if (yych <= 's') { + if (yych <= 'r') goto yy1084; + goto yy1109; + } else { + if (yych != 'u') goto yy1084; + } + } + yych = *++YYCURSOR; + if (yych == 'T') goto yy1162; + if (yych != 't') goto yy56; +yy1162: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1115; + if (yych == 'e') goto yy1115; + goto yy56; +yy1163: + yych = *++YYCURSOR; + if (yych == 'O') goto yy1164; + if (yych != 'o') goto yy56; +yy1164: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1165; + if (yych != 's') goto yy56; +yy1165: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1166; + if (yych != 'e') goto yy56; +yy1166: + yych = *++YYCURSOR; + if (yych == 'C') goto yy1167; + if (yych != 'c') goto yy56; +yy1167: + yych = *++YYCURSOR; + if (yych == 'O') goto yy1168; + if (yych != 'o') goto yy56; +yy1168: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1169; + if (yych != 'n') goto yy56; +yy1169: + yych = *++YYCURSOR; + if (yych == 'D') goto yy1115; + if (yych == 'd') goto yy1115; + goto yy56; +yy1170: + yych = *++YYCURSOR; + if (yych == 'I') goto yy1171; + if (yych != 'i') goto yy56; +yy1171: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1172; + if (yych != 's') goto yy56; +yy1172: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1173; + if (yych != 'e') goto yy56; +yy1173: + yych = *++YYCURSOR; + if (yych == 'C') goto yy1174; + if (yych != 'c') goto yy56; +yy1174: + yych = *++YYCURSOR; + if (yych == 'O') goto yy1175; + if (yych != 'o') goto yy56; +yy1175: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1176; + if (yych != 'n') goto yy56; +yy1176: + yych = *++YYCURSOR; + if (yych == 'D') goto yy1115; + if (yych == 'd') goto yy1115; + goto yy56; +yy1177: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1085; + goto yy1084; + } else { + if (yych <= ' ') goto yy1085; + if (yych <= 'C') goto yy1084; + } + } else { + if (yych <= 'c') { + if (yych == 'T') goto yy1179; + goto yy1084; + } else { + if (yych <= 'd') goto yy1178; + if (yych == 't') goto yy1179; + goto yy1084; + } + } +yy1178: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1180; + if (yych == 'a') goto yy1180; + goto yy56; +yy1179: + yych = *++YYCURSOR; + if (yych == 'H') goto yy1115; + if (yych == 'h') goto yy1115; + goto yy56; +yy1180: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1090; + if (yych == 'y') goto yy1090; + goto yy56; +yy1181: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy1063; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'e') goto yy1182; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1182: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'U') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'V') goto yy1064; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'u') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'v') goto yy1183; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1183: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'H') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'I') goto yy1065; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'h') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'i') goto yy1184; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1184: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'O') goto yy1066; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'n') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'o') goto yy1185; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1185: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'U') goto yy1067; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'u') goto yy1186; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1186: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1068; + if (yych != 's') goto yy179; + yych = *++YYCURSOR; + if (yybm[0+yych] & 16) { + goto yy178; + } + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy1069; + } else { + if (yych == ' ') goto yy1069; + goto yy56; + } + } else { + if (yych <= '/') { + if (yych == '.') goto yy56; + goto yy172; + } else { + if (yych == '_') goto yy172; + goto yy56; + } + } +yy1188: + yych = *++YYCURSOR; + if (yych <= 'G') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'F') goto yy166; + goto yy1202; + } + } else { + if (yych <= 'f') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'g') goto yy1202; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1189: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy166; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'e') goto yy1190; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1190: + yych = *++YYCURSOR; + if (yych <= 'V') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'U') goto yy167; + } + } else { + if (yych <= 'u') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'v') goto yy1191; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1191: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy168; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'e') goto yy1192; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1192: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy169; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'n') goto yy1193; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1193: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'T') goto yy1194; + if (yych != 't') goto yy3; + } +yy1194: + yych = *++YYCURSOR; + if (yych == 'H') goto yy1195; + if (yych != 'h') goto yy56; +yy1195: + yych = *++YYCURSOR; + if (yych == '\t') goto yy1196; + if (yych != ' ') goto yy56; +yy1196: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12); + yych = *YYCURSOR; +yy1197: + if (yych <= 'X') { + if (yych <= 'G') { + if (yych <= ' ') { + if (yych == '\t') goto yy1196; + if (yych <= 0x1F) goto yy56; + goto yy1196; + } else { + if (yych <= 'D') { + if (yych <= 'C') goto yy56; + goto yy1076; + } else { + if (yych == 'F') goto yy1077; + goto yy56; + } + } + } else { + if (yych <= 'S') { + if (yych <= 'L') { + if (yych <= 'H') goto yy1075; + goto yy56; + } else { + if (yych <= 'M') goto yy1071; + if (yych <= 'R') goto yy56; + goto yy1074; + } + } else { + if (yych <= 'U') { + if (yych <= 'T') goto yy1080; + goto yy1073; + } else { + if (yych != 'W') goto yy56; + } + } + } + } else { + if (yych <= 'r') { + if (yych <= 'f') { + if (yych <= 'c') { + if (yych <= 'Y') goto yy1078; + goto yy56; + } else { + if (yych <= 'd') goto yy1076; + if (yych <= 'e') goto yy56; + goto yy1077; + } + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy1075; + } else { + if (yych == 'm') goto yy1071; + goto yy56; + } + } + } else { + if (yych <= 'w') { + if (yych <= 't') { + if (yych <= 's') goto yy1074; + goto yy1080; + } else { + if (yych <= 'u') goto yy1073; + if (yych <= 'v') goto yy56; + } + } else { + if (yych <= 'y') { + if (yych <= 'x') goto yy56; + goto yy1078; + } else { + if (yych == 0xC2) goto yy1072; + goto yy56; + } + } + } + } + yych = *++YYCURSOR; + if (yych == 'E') goto yy1199; + if (yych != 'e') goto yy56; +yy1199: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= 'C') goto yy56; + if (yych <= 'D') goto yy1101; + } else { + if (yych <= 'c') goto yy56; + if (yych <= 'd') goto yy1101; + if (yych >= 'f') goto yy56; + } + yych = *++YYCURSOR; + if (yych == 'K') goto yy1201; + if (yych != 'k') goto yy56; +yy1201: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == 'D') goto yy1110; + if (yych <= 'R') goto yy56; + goto yy1109; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy1110; + } else { + if (yych == 's') goto yy1109; + goto yy56; + } + } +yy1202: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy167; + } + } else { + if (yych <= 'g') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'h') goto yy1203; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1203: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy168; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 't') goto yy1204; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1204: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1196; + goto yy3; + } else { + if (yych <= ' ') goto yy1196; + if (yych == ')') goto yy164; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych == 'H') goto yy1205; + if (yych <= 'Z') goto yy169; + goto yy3; + } else { + if (yych == 'h') goto yy1205; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1205: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 0x1F) { + if (yych == '\t') goto yy1196; + goto yy3; + } else { + if (yych <= ' ') goto yy1196; + if (yych == ')') goto yy164; + goto yy3; + } +yy1206: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'F') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'G') goto yy1202; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'f') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'g') goto yy1214; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1207: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy1190; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'e') goto yy1208; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1208: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'U') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'V') goto yy1191; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'u') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'v') goto yy1209; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1209: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy1192; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'e') goto yy1210; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1210: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy1193; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'n') goto yy1211; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1211: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'T') goto yy1194; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 't') goto yy1212; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1212: + yych = *++YYCURSOR; + if (yych == 'H') goto yy1195; + if (yych != 'h') goto yy179; +yy1213: + yych = *++YYCURSOR; + if (yybm[0+yych] & 16) { + goto yy178; + } + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy1196; + } else { + if (yych == ' ') goto yy1196; + goto yy56; + } + } else { + if (yych <= '/') { + if (yych == '.') goto yy56; + goto yy172; + } else { + if (yych == '_') goto yy172; + goto yy56; + } + } +yy1214: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'H') goto yy1203; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'h') goto yy1215; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1215: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1204; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 't') goto yy1216; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1216: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy1196; + } else { + if (yych == ' ') goto yy1196; + goto yy3; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + goto yy172; + } + } + } else { + if (yych <= '^') { + if (yych <= 'G') { + if (yych <= '@') goto yy3; + goto yy169; + } else { + if (yych <= 'H') goto yy1205; + if (yych <= 'Z') goto yy169; + goto yy3; + } + } else { + if (yych <= 'g') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'h') goto yy1217; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1217: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy178; + } + if (yych <= ')') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1196; + goto yy3; + } else { + if (yych <= ' ') goto yy1196; + if (yych <= '(') goto yy3; + goto yy164; + } + } else { + if (yych <= '.') { + if (yych == '-') goto yy172; + goto yy3; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; + goto yy3; + } + } +yy1218: + yych = *++YYCURSOR; + if (yych <= 'V') { + if (yych <= 'B') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy166; + } else { + if (yych <= 'O') { + if (yych <= 'C') goto yy1234; + goto yy166; + } else { + if (yych <= 'P') goto yy1236; + if (yych <= 'U') goto yy166; + goto yy1235; + } + } + } else { + if (yych <= 'o') { + if (yych <= '`') { + if (yych <= 'Z') goto yy166; + goto yy3; + } else { + if (yych == 'c') goto yy1234; + goto yy166; + } + } else { + if (yych <= 'u') { + if (yych <= 'p') goto yy1236; + goto yy166; + } else { + if (yych <= 'v') goto yy1235; + if (yych <= 'z') goto yy166; + goto yy3; + } + } + } +yy1219: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy166; + goto yy1229; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 't') goto yy1229; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1220: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'W') goto yy166; + goto yy1226; + } + } else { + if (yych <= 'w') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'x') goto yy1226; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1221: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy166; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'n') goto yy1222; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1222: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy191; + goto yy164; + } else { + if (yych <= '@') goto yy191; + if (yych <= 'C') goto yy167; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy191; + goto yy167; + } else { + if (yych <= 'd') goto yy1223; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +yy1223: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy168; + goto yy3; + } else { + if (yych <= 'a') goto yy1224; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1224: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'X') goto yy169; + } + } else { + if (yych <= 'x') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'y') goto yy1225; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1225: + yych = *++YYCURSOR; + if (yych == ')') goto yy164; + goto yy191; +yy1226: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy167; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 't') goto yy1227; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1227: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy168; + } + } else { + if (yych <= 'g') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'h') goto yy1228; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1228: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy1196; + } else { + if (yych == ' ') goto yy1196; + goto yy3; + } + } else { + if (yych <= 'Z') { + if (yych <= ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy169; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1229: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= ')') { + if (yych <= '(') goto yy191; + goto yy164; + } else { + if (yych <= '@') goto yy191; + if (yych <= 'T') goto yy167; + } + } else { + if (yych <= 't') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy191; + goto yy167; + } else { + if (yych <= 'u') goto yy1230; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +yy1230: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy168; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'r') goto yy1231; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1231: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy169; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'd') goto yy1232; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1232: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'A') goto yy1233; + if (yych != 'a') goto yy3; + } +yy1233: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy197; + if (yych == 'y') goto yy197; + goto yy56; +yy1234: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'N') goto yy167; + goto yy1245; + } + } else { + if (yych <= 'n') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'o') goto yy1245; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1235: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy167; + goto yy1242; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'e') goto yy1242; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1236: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy218; + } else { + if (yych <= '-') goto yy221; + if (yych <= '.') goto yy220; + goto yy218; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych != 'T') goto yy167; + } + } else { + if (yych <= 's') { + if (yych <= '`') goto yy218; + goto yy167; + } else { + if (yych <= 't') goto yy1237; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +yy1237: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy218; + } else { + if (yych <= '-') goto yy221; + if (yych <= '.') goto yy220; + goto yy218; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych != 'E') goto yy168; + } + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy218; + goto yy168; + } else { + if (yych <= 'e') goto yy1238; + if (yych <= 'z') goto yy168; + goto yy218; + } + } + } +yy1238: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'L') goto yy169; + } + } else { + if (yych <= 'l') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'm') goto yy1239; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1239: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'B') goto yy1240; + if (yych != 'b') goto yy3; + } +yy1240: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1241; + if (yych != 'e') goto yy56; +yy1241: + yych = *++YYCURSOR; + if (yych == 'R') goto yy229; + if (yych == 'r') goto yy229; + goto yy56; +yy1242: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy168; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'n') goto yy1243; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1243: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy169; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 't') goto yy1244; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1244: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'H') goto yy1195; + if (yych == 'h') goto yy1195; + goto yy3; + } +yy1245: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy168; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'n') goto yy1246; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1246: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy169; + goto yy1205; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'd') goto yy1205; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1247: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'U') { + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + goto yy172; + } + } else { + if (yych <= 'C') { + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy166; + goto yy1234; + } else { + if (yych == 'P') goto yy1236; + goto yy166; + } + } + } else { + if (yych <= 'b') { + if (yych <= '^') { + if (yych <= 'V') goto yy1235; + if (yych <= 'Z') goto yy166; + goto yy3; + } else { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy3; + goto yy171; + } + } else { + if (yych <= 'p') { + if (yych <= 'c') goto yy1263; + if (yych <= 'o') goto yy171; + goto yy1265; + } else { + if (yych == 'v') goto yy1264; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1248: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1229; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 't') goto yy1258; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1249: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'X') goto yy1226; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'w') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'x') goto yy1255; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1250: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy1222; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'n') goto yy1251; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1251: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy191; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy191; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy1223; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy191; + goto yy175; + } else { + if (yych <= 'd') goto yy1252; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +yy1252: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy1224; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1253; + if (yych <= 'z') goto yy176; + goto yy3; + } + } +yy1253: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'Y') goto yy1225; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'x') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'y') goto yy1254; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1254: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy178; + } + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy191; + goto yy172; + } else { + if (yych <= '/') { + if (yych <= '.') goto yy191; + goto yy172; + } else { + if (yych == '_') goto yy172; + goto yy191; + } + } +yy1255: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1227; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 't') goto yy1256; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1256: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'H') goto yy1228; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'h') goto yy1257; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1257: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1196; + if (yych <= 0x1F) goto yy3; + goto yy1196; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } + } else { + if (yych <= 'Z') { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1258: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy191; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy191; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'U') goto yy1230; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; + } else { + if (yych <= 't') { + if (yych <= '`') goto yy191; + goto yy175; + } else { + if (yych <= 'u') goto yy1259; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +yy1259: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy1231; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'r') goto yy1260; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1260: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy1232; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'd') goto yy1261; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1261: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy1233; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1262; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1262: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy197; + if (yych == 'y') goto yy210; + goto yy179; +yy1263: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'O') goto yy1245; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'n') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'o') goto yy1274; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1264: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy1242; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'e') goto yy1271; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1265: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy336; + } else { + if (yych == '/') goto yy172; + goto yy220; + } + } + } else { + if (yych <= '^') { + if (yych <= 'S') { + if (yych <= '@') goto yy218; + goto yy167; + } else { + if (yych <= 'T') goto yy1237; + if (yych <= 'Z') goto yy167; + goto yy218; + } + } else { + if (yych <= 's') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy218; + goto yy175; + } else { + if (yych <= 't') goto yy1266; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +yy1266: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy336; + } else { + if (yych == '/') goto yy172; + goto yy220; + } + } + } else { + if (yych <= '^') { + if (yych <= 'D') { + if (yych <= '@') goto yy218; + goto yy168; + } else { + if (yych <= 'E') goto yy1238; + if (yych <= 'Z') goto yy168; + goto yy218; + } + } else { + if (yych <= 'd') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy218; + goto yy176; + } else { + if (yych <= 'e') goto yy1267; + if (yych <= 'z') goto yy176; + goto yy218; + } + } + } +yy1267: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'M') goto yy1239; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'l') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'm') goto yy1268; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1268: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'B') goto yy1240; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'b') goto yy1269; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1269: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1241; + if (yych != 'e') goto yy179; + yych = *++YYCURSOR; + if (yych == 'R') goto yy229; + if (yych == 'r') goto yy341; + goto yy179; +yy1271: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy1243; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'n') goto yy1272; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1272: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1244; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 't') goto yy1273; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1273: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'H') goto yy1195; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'h') goto yy1213; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1274: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy1246; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'n') goto yy1275; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1275: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy1205; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'd') goto yy1217; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1276: + yych = *++YYCURSOR; + if (yych <= 'C') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy166; + } + } else { + if (yych <= 'b') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'c') goto yy1277; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1277: + yych = *++YYCURSOR; + if (yych <= 'K') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'J') goto yy167; + } + } else { + if (yych <= 'j') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'k') goto yy1278; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1278: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ')') { + if (yych == ' ') goto yy1279; + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy3; + goto yy168; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1279: + yych = *++YYCURSOR; + if (yych == 'O') goto yy1280; + if (yych != 'o') goto yy56; +yy1280: + yych = *++YYCURSOR; + if (yych == 'F') goto yy1281; + if (yych != 'f') goto yy56; +yy1281: + yych = *++YYCURSOR; + if (yych != ' ') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1283; + if (yych <= '2') goto yy1285; + if (yych <= '9') goto yy1286; + goto yy56; +yy1283: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy1287; + if (yych <= '9') goto yy1286; + goto yy1287; +yy1284: + { + 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; + } +yy1285: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy1287; + if (yych >= '5') goto yy1287; +yy1286: + yyaccept = 27; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; +yy1287: + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1286; + goto yy1284; + } else { + if (yych <= ' ') goto yy1286; + if (yych <= '@') goto yy1284; + } + } else { + if (yych <= '`') { + if (yych != 'P') goto yy1284; + } else { + if (yych <= 'a') goto yy1288; + if (yych != 'p') goto yy1284; + } + } +yy1288: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { + if (yych <= 'M') goto yy1290; + if (yych == 'm') goto yy1290; + goto yy56; + } + yych = *++YYCURSOR; + if (yych == 'M') goto yy1290; + if (yych != 'm') goto yy56; +yy1290: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy1292; + if (yych == '\t') goto yy1292; + goto yy56; + } else { + if (yych <= ' ') goto yy1292; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy1292; + if (yych <= 0x08) goto yy56; + } else { + if (yych != ' ') goto yy56; + } +yy1292: + yych = *++YYCURSOR; + goto yy1284; +yy1293: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'B') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'C') goto yy1277; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'b') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'c') goto yy1294; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1294: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'J') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'K') goto yy1278; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'j') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'k') goto yy1295; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1295: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= '(') { + if (yych == ' ') goto yy1279; + goto yy3; + } else { + if (yych <= ')') goto yy164; + if (yych == '-') goto yy172; + goto yy3; + } + } else { + if (yych <= '^') { + if (yych <= '/') goto yy172; + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy168; + goto yy3; + } else { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy176; + goto yy3; + } + } +yy1296: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy166; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 's') goto yy1297; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1297: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy167; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 't') goto yy1298; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1298: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy1069; + } else { + if (yych != ' ') goto yy3; + } + } else { + if (yych <= 'Z') { + if (yych <= ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy168; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1299: + yych = *++YYCURSOR; + if (yych == 'D') goto yy1300; + if (yych != 'd') goto yy1070; +yy1300: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1301; + if (yych != 'a') goto yy56; +yy1301: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1302; + if (yych != 'y') goto yy56; +yy1302: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych != ' ') goto yy1084; + } else { + if (yych <= 'S') goto yy1109; + if (yych == 's') goto yy1109; + goto yy1084; + } + yych = *++YYCURSOR; + if (yych == 'O') goto yy1304; + if (yych != 'o') goto yy56; +yy1304: + yych = *++YYCURSOR; + if (yych == 'F') goto yy1305; + if (yych != 'f') goto yy56; +yy1305: + ++YYCURSOR; + { + DEBUG_OUTPUT("firstdayof | lastdayof"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + + /* skip "last day of" or "first day of" */ + if (*ptr == 'l' || *ptr == 'L') { + s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH; + } else { + s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH; + } + + TIMELIB_DEINIT; + return TIMELIB_LF_DAY_OF_MONTH; + } +yy1307: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy1297; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 's') goto yy1308; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1308: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1298; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 't') goto yy1309; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1309: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1069; + if (yych <= 0x1F) goto yy3; + goto yy1299; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } + } else { + if (yych <= 'Z') { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1310: + yych = *++YYCURSOR; + if (yych <= 'B') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy166; + goto yy1346; + } + } else { + if (yych <= 'a') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'b') goto yy1346; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1311: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == 'F') goto yy1336; + if (yych <= 'Q') goto yy166; + goto yy1335; + } + } else { + if (yych <= 'f') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'e') goto yy166; + goto yy1336; + } else { + if (yych == 'r') goto yy1335; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1312: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'T') goto yy166; + goto yy1332; + } + } else { + if (yych <= 't') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'u') goto yy1332; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1313: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == 'I') goto yy1315; + if (yych <= 'N') goto yy166; + } + } else { + if (yych <= 'i') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy166; + goto yy1315; + } else { + if (yych == 'o') goto yy1314; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1314: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy167; + goto yy1318; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'n') goto yy1318; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1315: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy191; + goto yy164; + } else { + if (yych <= '@') goto yy191; + if (yych <= 'C') goto yy167; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy191; + goto yy167; + } else { + if (yych <= 'd') goto yy1316; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +yy1316: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy168; + goto yy3; + } else { + if (yych <= 'a') goto yy1317; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1317: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'X') goto yy169; + goto yy1225; + } + } else { + if (yych <= 'x') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'y') goto yy1225; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1318: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy168; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 't') goto yy1319; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1319: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ')') { + if (yych == ' ') goto yy1320; + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy3; + goto yy169; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1320: + yych = *++YYCURSOR; + if (yych == 'O') goto yy1321; + if (yych != 'o') goto yy56; +yy1321: + yych = *++YYCURSOR; + if (yych == 'F') goto yy1322; + if (yych != 'f') goto yy56; +yy1322: + yych = *++YYCURSOR; + if (yych != ' ') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1324; + if (yych <= '2') goto yy1325; + if (yych <= '9') goto yy1326; + goto yy56; +yy1324: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy1327; + if (yych <= '9') goto yy1326; + goto yy1327; +yy1325: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy1327; + if (yych >= '5') goto yy1327; +yy1326: + yyaccept = 27; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; +yy1327: + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1326; + goto yy1284; + } else { + if (yych <= ' ') goto yy1326; + if (yych <= '@') goto yy1284; + } + } else { + if (yych <= '`') { + if (yych != 'P') goto yy1284; + } else { + if (yych <= 'a') goto yy1328; + if (yych != 'p') goto yy1284; + } + } +yy1328: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { + if (yych <= 'M') goto yy1330; + if (yych == 'm') goto yy1330; + goto yy56; + } + yych = *++YYCURSOR; + if (yych == 'M') goto yy1330; + if (yych != 'm') goto yy56; +yy1330: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy1292; + if (yych == '\t') goto yy1292; + goto yy56; + } else { + if (yych <= ' ') goto yy1292; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy1292; + if (yych <= 0x08) goto yy56; + goto yy1292; + } else { + if (yych == ' ') goto yy1292; + goto yy56; + } +yy1332: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy167; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'r') goto yy1333; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1333: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy168; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 't') goto yy1334; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1334: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy169; + goto yy1205; + } + } else { + if (yych <= 'g') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'h') goto yy1205; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1335: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy167; + goto yy1338; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 's') goto yy1338; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1336: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy167; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 't') goto yy1337; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1337: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy168; + goto yy1228; + } + } else { + if (yych <= 'g') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'h') goto yy1228; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1338: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy168; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 't') goto yy1339; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1339: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy1196; + } else { + if (yych != ' ') goto yy3; + } + } else { + if (yych <= 'Z') { + if (yych <= ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy169; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1340: + yych = *++YYCURSOR; + if (yych == 'D') goto yy1341; + if (yych != 'd') goto yy1197; +yy1341: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1342; + if (yych != 'a') goto yy56; +yy1342: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1343; + if (yych != 'y') goto yy56; +yy1343: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych != ' ') goto yy1084; + } else { + if (yych <= 'S') goto yy1109; + if (yych == 's') goto yy1109; + goto yy1084; + } + yych = *++YYCURSOR; + if (yych == 'O') goto yy1345; + if (yych != 'o') goto yy56; +yy1345: + yych = *++YYCURSOR; + if (yych == 'F') goto yy1305; + if (yych == 'f') goto yy1305; + goto yy56; +yy1346: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy218; + } else { + if (yych <= '-') goto yy221; + if (yych <= '.') goto yy220; + goto yy218; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych != 'R') goto yy167; + } + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy218; + goto yy167; + } else { + if (yych <= 'r') goto yy1347; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +yy1347: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'T') goto yy168; + } + } else { + if (yych <= 't') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'u') goto yy1348; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1348: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy169; + goto yy3; + } else { + if (yych <= 'a') goto yy1349; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1349: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'R') goto yy1350; + if (yych != 'r') goto yy3; + } +yy1350: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy229; + if (yych == 'y') goto yy229; + goto yy56; +yy1351: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'B') goto yy1346; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'b') goto yy1369; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1352: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych == '-') goto yy172; + goto yy3; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy172; + goto yy3; + } else { + if (yych == 'F') goto yy1336; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'R') goto yy1335; + goto yy166; + } else { + if (yych == '_') goto yy172; + goto yy3; + } + } else { + if (yych <= 'q') { + if (yych == 'f') goto yy1365; + goto yy171; + } else { + if (yych <= 'r') goto yy1364; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1353: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'U') goto yy1332; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 't') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'u') goto yy1361; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1354: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych == '-') goto yy172; + goto yy3; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy172; + goto yy3; + } else { + if (yych == 'I') goto yy1315; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'O') goto yy1314; + goto yy166; + } else { + if (yych == '_') goto yy172; + goto yy3; + } + } else { + if (yych <= 'n') { + if (yych == 'i') goto yy1356; + goto yy171; + } else { + if (yych <= 'o') goto yy1355; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1355: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy1318; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'n') goto yy1359; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1356: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy191; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy191; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy1316; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy191; + goto yy175; + } else { + if (yych <= 'd') goto yy1357; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +yy1357: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy1317; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1358; + if (yych <= 'z') goto yy176; + goto yy3; + } + } +yy1358: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'Y') goto yy1225; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'x') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'y') goto yy1254; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1359: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1319; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 't') goto yy1360; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1360: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= '(') { + if (yych == ' ') goto yy1320; + goto yy3; + } else { + if (yych <= ')') goto yy164; + if (yych == '-') goto yy172; + goto yy3; + } + } else { + if (yych <= '^') { + if (yych <= '/') goto yy172; + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy169; + goto yy3; + } else { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy177; + goto yy3; + } + } +yy1361: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy1333; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'r') goto yy1362; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1362: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1334; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 't') goto yy1363; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1363: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'H') goto yy1205; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'h') goto yy1217; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1364: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy1338; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 's') goto yy1367; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1365: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1337; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 't') goto yy1366; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1366: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'H') goto yy1228; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'h') goto yy1257; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1367: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1339; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 't') goto yy1368; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1368: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1196; + if (yych <= 0x1F) goto yy3; + goto yy1340; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } + } else { + if (yych <= 'Z') { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1369: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy336; + } else { + if (yych == '/') goto yy172; + goto yy220; + } + } + } else { + if (yych <= '^') { + if (yych <= 'Q') { + if (yych <= '@') goto yy218; + goto yy167; + } else { + if (yych <= 'R') goto yy1347; + if (yych <= 'Z') goto yy167; + goto yy218; + } + } else { + if (yych <= 'q') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy218; + goto yy175; + } else { + if (yych <= 'r') goto yy1370; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +yy1370: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'U') goto yy1348; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 't') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'u') goto yy1371; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1371: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy1349; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1372; + if (yych <= 'z') goto yy177; + goto yy3; + } + } +yy1372: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'R') goto yy1350; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'r') goto yy1373; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1373: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy229; + if (yych == 'y') goto yy341; + goto yy179; +yy1374: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy1375: + yyaccept = 28; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); + yych = *YYCURSOR; + if (yych == '.') goto yy1378; + if (yych <= '/') goto yy1377; + if (yych <= '9') goto yy1375; +yy1377: + { + 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; + s->time->dst = 0; + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +yy1378: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; + { + timelib_ull i, ms; + + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_UNHAVE_DATE(); + TIMELIB_UNHAVE_TIME(); + TIMELIB_HAVE_TZ(); + + i = timelib_get_unsigned_nr((char **) &ptr, 24); + ms = 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->relative.f = ((double) ms) / 1000000.0; + s->time->is_localtime = 1; + s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; + s->time->z = 0; + s->time->dst = 0; + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +yy1386: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy166; + goto yy1427; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'n') goto yy1427; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1387: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == 'I') goto yy1419; + if (yych <= 'T') goto yy166; + goto yy1420; + } + } else { + if (yych <= 'i') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy166; + goto yy1419; + } else { + if (yych == 'u') goto yy1420; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1388: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == 'D') goto yy1408; + if (yych <= 'L') goto yy166; + goto yy1409; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'c') goto yy166; + goto yy1408; + } else { + if (yych == 'm') goto yy1409; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1389: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy166; + goto yy1404; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'e') goto yy1404; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1390: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy166; + goto yy1400; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'e') goto yy1400; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1391: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1029; + goto yy56; + } else { + if (yych <= '9') goto yy1394; + if (yych <= ':') goto yy1029; + goto yy56; + } +yy1392: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1029; + goto yy56; + } else { + if (yych <= '4') goto yy1394; + if (yych == ':') goto yy1029; + goto yy56; + } +yy1393: + yych = *++YYCURSOR; + if (yych == '.') goto yy1029; + if (yych == ':') goto yy1029; + goto yy56; +yy1394: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1029; + goto yy56; + } else { + if (yych <= '5') goto yy1395; + if (yych == ':') goto yy1029; + goto yy56; + } +yy1395: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy1032; + if (yych <= '5') goto yy1397; + if (yych <= '6') goto yy1398; + goto yy1032; +yy1397: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1399; + goto yy56; +yy1398: + yych = *++YYCURSOR; + if (yych != '0') goto yy56; +yy1399: + yych = *++YYCURSOR; + goto yy1040; +yy1400: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'K') goto yy167; + } + } else { + if (yych <= 'k') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'l') goto yy1401; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1401: + yych = *++YYCURSOR; + if (yych <= 'F') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'E') goto yy168; + } + } else { + if (yych <= 'e') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'f') goto yy1402; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1402: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy169; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 't') goto yy1403; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1403: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'H') goto yy1195; + if (yych == 'h') goto yy1195; + goto yy3; + } +yy1404: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy191; + goto yy164; + } else { + if (yych <= '@') goto yy191; + if (yych <= 'R') goto yy167; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy191; + goto yy167; + } else { + if (yych <= 's') goto yy1405; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +yy1405: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy168; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'd') goto yy1406; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1406: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy169; + goto yy3; + } else { + if (yych <= 'a') goto yy1407; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1407: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'Y') goto yy197; + if (yych == 'y') goto yy197; + goto yy3; + } +yy1408: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy1416; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy167; + goto yy3; + } else { + if (yych <= 'a') goto yy1416; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1409: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'N') goto yy167; + } + } else { + if (yych <= 'n') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'o') goto yy1410; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1410: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy168; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'r') goto yy1411; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1411: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy169; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'r') goto yy1412; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1412: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'O') goto yy1413; + if (yych != 'o') goto yy3; + } +yy1413: + yych = *++YYCURSOR; + if (yych == 'W') goto yy1414; + if (yych != 'w') goto yy56; +yy1414: + ++YYCURSOR; +yy1415: + { + DEBUG_OUTPUT("tomorrow"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_UNHAVE_TIME(); + + s->time->relative.d = 1; + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +yy1416: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'X') goto yy168; + } + } else { + if (yych <= 'x') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'y') goto yy1417; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1417: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy1418; + if (yych <= 'z') goto yy169; + } +yy1418: + { + DEBUG_OUTPUT("midnight | today"); + TIMELIB_INIT; + TIMELIB_UNHAVE_TIME(); + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +yy1419: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'Q') goto yy167; + if (yych <= 'R') goto yy1425; + goto yy1426; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'r') goto yy1425; + if (yych <= 's') goto yy1426; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1420: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy191; + goto yy164; + } else { + if (yych <= '@') goto yy191; + if (yych <= 'Q') goto yy167; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy191; + goto yy167; + } else { + if (yych <= 'r') goto yy1421; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +yy1421: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy168; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 's') goto yy1422; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1422: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy169; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'd') goto yy1423; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1423: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'A') goto yy1424; + if (yych != 'a') goto yy3; + } +yy1424: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy197; + if (yych == 'y') goto yy197; + goto yy56; +yy1425: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy168; + goto yy1228; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'd') goto yy1228; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1426: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy1069; + } else { + if (yych == ' ') goto yy1069; + goto yy3; + } + } else { + if (yych <= 'Z') { + if (yych <= ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy168; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1427: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy167; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 't') goto yy1428; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1428: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy168; + goto yy1228; + } + } else { + if (yych <= 'g') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'h') goto yy1228; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1429: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy1427; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'n') goto yy1459; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1430: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych == '-') goto yy172; + goto yy3; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy172; + goto yy3; + } else { + if (yych == 'I') goto yy1419; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'U') goto yy1420; + goto yy166; + } else { + if (yych == '_') goto yy172; + goto yy3; + } + } else { + if (yych <= 't') { + if (yych == 'i') goto yy1451; + goto yy171; + } else { + if (yych <= 'u') goto yy1452; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1431: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych == '-') goto yy172; + goto yy3; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy172; + goto yy3; + } else { + if (yych == 'D') goto yy1408; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'M') goto yy1409; + goto yy166; + } else { + if (yych == '_') goto yy172; + goto yy3; + } + } else { + if (yych <= 'l') { + if (yych == 'd') goto yy1442; + goto yy171; + } else { + if (yych <= 'm') goto yy1443; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1432: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy1404; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'e') goto yy1438; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1433: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy1400; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'e') goto yy1434; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1434: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'K') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'L') goto yy1401; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'k') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'l') goto yy1435; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1435: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'E') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'F') goto yy1402; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'e') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'f') goto yy1436; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1436: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1403; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 't') goto yy1437; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1437: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'H') goto yy1195; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'h') goto yy1213; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1438: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy191; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy191; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy1405; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy191; + goto yy175; + } else { + if (yych <= 's') goto yy1439; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +yy1439: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy1406; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'd') goto yy1440; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1440: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy1407; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1441; + if (yych <= 'z') goto yy177; + goto yy3; + } + } +yy1441: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'Y') goto yy197; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'y') goto yy210; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1442: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy1416; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1449; + if (yych <= 'z') goto yy175; + goto yy3; + } + } +yy1443: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'O') goto yy1410; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'n') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'o') goto yy1444; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1444: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy1411; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'r') goto yy1445; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1445: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy1412; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'r') goto yy1446; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1446: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'O') goto yy1413; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'o') goto yy1447; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1447: + yych = *++YYCURSOR; + if (yych == 'W') goto yy1414; + if (yych != 'w') goto yy179; + yyaccept = 29; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy178; + } + if (yych <= '.') { + if (yych == '-') goto yy172; + goto yy1415; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; + goto yy1415; + } +yy1449: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'Y') goto yy1417; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'x') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'y') goto yy1450; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1450: + yyaccept = 30; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy1418; + } else { + if (yych == '.') goto yy1418; + goto yy172; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy1418; + if (yych <= 'Z') goto yy169; + goto yy1418; + } else { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy1418; + if (yych <= 'z') goto yy177; + goto yy1418; + } + } +yy1451: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych <= '/') { + if (yych <= '.') goto yy3; + goto yy172; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy167; + goto yy1425; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'S') goto yy1426; + goto yy167; + } else { + if (yych == '_') goto yy172; + goto yy3; + } + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy175; + goto yy1457; + } else { + if (yych <= 's') goto yy1458; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1452: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy191; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy191; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy1421; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy191; + goto yy175; + } else { + if (yych <= 'r') goto yy1453; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +yy1453: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy1422; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 's') goto yy1454; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1454: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy1423; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'd') goto yy1455; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1455: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy1424; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1456; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1456: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy197; + if (yych == 'y') goto yy210; + goto yy179; +yy1457: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy1228; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'd') goto yy1257; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1458: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1069; + if (yych <= 0x1F) goto yy3; + goto yy1069; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } + } else { + if (yych <= 'Z') { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1459: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1428; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 't') goto yy1460; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1460: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'H') goto yy1228; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'h') goto yy1257; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1461: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == 'R') goto yy1473; + if (yych <= 'X') goto yy166; + goto yy1474; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'q') goto yy166; + goto yy1473; + } else { + if (yych == 'y') goto yy1474; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1462: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy166; + goto yy1467; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'd') goto yy1467; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1463: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy166; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'n') goto yy1464; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1464: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy191; + goto yy164; + } else { + if (yych <= '@') goto yy191; + if (yych <= 'C') goto yy167; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy191; + goto yy167; + } else { + if (yych <= 'd') goto yy1465; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +yy1465: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy168; + goto yy3; + } else { + if (yych <= 'a') goto yy1466; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1466: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'X') goto yy169; + goto yy1225; + } + } else { + if (yych <= 'x') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'y') goto yy1225; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1467: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy167; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'n') goto yy1468; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1468: + yych = *++YYCURSOR; + if (yych <= 'I') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'H') goto yy168; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'i') goto yy1469; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1469: + yych = *++YYCURSOR; + if (yych <= 'G') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'F') goto yy169; + } + } else { + if (yych <= 'f') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'g') goto yy1470; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1470: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'H') goto yy1471; + if (yych != 'h') goto yy3; + } +yy1471: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1472; + if (yych != 't') goto yy56; +yy1472: + yych = *++YYCURSOR; + goto yy1418; +yy1473: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy218; + } else { + if (yych <= '-') goto yy221; + if (yych <= '.') goto yy220; + goto yy218; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych == 'C') goto yy1475; + goto yy167; + } + } else { + if (yych <= 'b') { + if (yych <= '`') goto yy218; + goto yy167; + } else { + if (yych <= 'c') goto yy1475; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +yy1474: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy220; + if (yych <= 0x1F) goto yy218; + goto yy220; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy221; + } + } else { + if (yych <= '@') { + if (yych == '/') goto yy218; + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy218; + if (yych <= 'z') goto yy167; + goto yy218; + } + } +yy1475: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy168; + goto yy360; + } + } else { + if (yych <= 'g') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'h') goto yy360; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1476: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych == '-') goto yy172; + goto yy3; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy172; + goto yy3; + } else { + if (yych == 'R') goto yy1473; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'Y') goto yy1474; + goto yy166; + } else { + if (yych == '_') goto yy172; + goto yy3; + } + } else { + if (yych <= 'x') { + if (yych == 'r') goto yy1488; + goto yy171; + } else { + if (yych <= 'y') goto yy1489; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1477: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy1467; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'd') goto yy1482; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1478: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy1464; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'n') goto yy1479; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1479: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy191; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy191; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy1465; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy191; + goto yy175; + } else { + if (yych <= 'd') goto yy1480; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +yy1480: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy1466; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1481; + if (yych <= 'z') goto yy176; + goto yy3; + } + } +yy1481: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'Y') goto yy1225; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'x') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'y') goto yy1254; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1482: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy1468; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'n') goto yy1483; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1483: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'H') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'I') goto yy1469; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'h') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'i') goto yy1484; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1484: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'F') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'G') goto yy1470; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'f') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'g') goto yy1485; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1485: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'H') goto yy1471; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'h') goto yy1486; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1486: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1472; + if (yych != 't') goto yy179; + yyaccept = 30; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy178; + } + if (yych <= '.') { + if (yych == '-') goto yy172; + goto yy1418; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; + goto yy1418; + } +yy1488: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy336; + } else { + if (yych == '/') goto yy172; + goto yy220; + } + } + } else { + if (yych <= '^') { + if (yych <= 'B') { + if (yych <= '@') goto yy218; + goto yy167; + } else { + if (yych <= 'C') goto yy1475; + if (yych <= 'Z') goto yy167; + goto yy218; + } + } else { + if (yych <= 'b') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy218; + goto yy175; + } else { + if (yych <= 'c') goto yy1490; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +yy1489: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy220; + if (yych <= 0x1F) goto yy218; + goto yy220; + } else { + if (yych <= ')') { + if (yych <= '(') goto yy218; + goto yy164; + } else { + if (yych <= ',') goto yy218; + if (yych <= '-') goto yy336; + goto yy220; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '/') goto yy172; + if (yych <= '9') goto yy220; + if (yych <= '@') goto yy218; + goto yy167; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy218; + goto yy172; + } else { + if (yych <= '`') goto yy218; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +yy1490: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'H') goto yy360; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'h') goto yy371; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1491: + yych = *++YYCURSOR; + if (yych <= 'W') { + if (yych <= 'N') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; + goto yy166; + } else { + if (yych <= 'O') goto yy1499; + if (yych <= 'U') goto yy166; + if (yych <= 'V') goto yy1500; + goto yy1497; + } + } else { + if (yych <= 'o') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'n') goto yy166; + goto yy1499; + } else { + if (yych <= 'v') { + if (yych <= 'u') goto yy166; + goto yy1500; + } else { + if (yych <= 'w') goto yy1497; + if (yych <= 'z') goto yy166; + goto yy3; + } + } + } +yy1492: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'W') goto yy166; + goto yy1496; + } + } else { + if (yych <= 'w') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'x') goto yy1496; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1493: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy166; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 'n') goto yy1494; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1494: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy167; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 't') goto yy1495; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1495: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy168; + goto yy1228; + } + } else { + if (yych <= 'g') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'h') goto yy1228; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1496: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy167; + goto yy1426; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 't') goto yy1426; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1497: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy1498; + if (yych <= 'z') goto yy167; + } +yy1498: + { + DEBUG_OUTPUT("now"); + TIMELIB_INIT; + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +yy1499: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy167; + goto yy1505; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 'n') goto yy1505; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1500: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy164; + goto yy218; + } else { + if (yych <= '-') goto yy221; + if (yych <= '.') goto yy220; + goto yy218; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy220; + goto yy218; + } else { + if (yych != 'E') goto yy167; + } + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy218; + goto yy167; + } else { + if (yych <= 'e') goto yy1501; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +yy1501: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'L') goto yy168; + } + } else { + if (yych <= 'l') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'm') goto yy1502; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1502: + yych = *++YYCURSOR; + if (yych <= 'B') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy169; + } + } else { + if (yych <= 'a') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'b') goto yy1503; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1503: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'E') goto yy1504; + if (yych != 'e') goto yy3; + } +yy1504: + yych = *++YYCURSOR; + if (yych == 'R') goto yy229; + if (yych == 'r') goto yy229; + goto yy56; +yy1505: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy1506; + if (yych <= 'z') goto yy168; + } +yy1506: + { + DEBUG_OUTPUT("noon"); + TIMELIB_INIT; + TIMELIB_UNHAVE_TIME(); + TIMELIB_HAVE_TIME(); + s->time->h = 12; + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +yy1507: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych == '-') goto yy172; + goto yy3; + } + } else { + if (yych <= 'N') { + if (yych <= '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } else { + if (yych <= 'O') goto yy1499; + if (yych <= 'U') goto yy166; + goto yy1500; + } + } + } else { + if (yych <= 'n') { + if (yych <= '^') { + if (yych <= 'W') goto yy1497; + if (yych <= 'Z') goto yy166; + goto yy3; + } else { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy3; + goto yy171; + } + } else { + if (yych <= 'v') { + if (yych <= 'o') goto yy1514; + if (yych <= 'u') goto yy171; + goto yy1515; + } else { + if (yych <= 'w') goto yy1513; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1508: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'X') goto yy1496; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'w') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'x') goto yy1512; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1509: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy1494; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 'n') goto yy1510; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1510: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1495; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 't') goto yy1511; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1511: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'H') goto yy1228; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'h') goto yy1257; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1512: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1426; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 't') goto yy1458; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1513: + yyaccept = 31; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy1498; + } else { + if (yych == '.') goto yy1498; + goto yy172; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy1498; + if (yych <= 'Z') goto yy167; + goto yy1498; + } else { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy1498; + if (yych <= 'z') goto yy175; + goto yy1498; + } + } +yy1514: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy1505; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 'n') goto yy1520; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1515: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy218; + goto yy220; + } else { + if (yych == ' ') goto yy220; + goto yy218; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy164; + if (yych <= ',') goto yy218; + goto yy336; + } else { + if (yych == '/') goto yy172; + goto yy220; + } + } + } else { + if (yych <= '^') { + if (yych <= 'D') { + if (yych <= '@') goto yy218; + goto yy167; + } else { + if (yych <= 'E') goto yy1501; + if (yych <= 'Z') goto yy167; + goto yy218; + } + } else { + if (yych <= 'd') { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy218; + goto yy175; + } else { + if (yych <= 'e') goto yy1516; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +yy1516: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'M') goto yy1502; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'l') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'm') goto yy1517; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1517: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'B') goto yy1503; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'b') goto yy1518; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1518: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'E') goto yy1504; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'e') goto yy1519; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1519: + yych = *++YYCURSOR; + if (yych == 'R') goto yy229; + if (yych == 'r') goto yy341; + goto yy179; +yy1520: + yyaccept = 32; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy1506; + } else { + if (yych == '.') goto yy1506; + goto yy172; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy1506; + if (yych <= 'Z') goto yy168; + goto yy1506; + } else { + if (yych <= '_') goto yy172; + if (yych <= '`') goto yy1506; + if (yych <= 'z') goto yy176; + goto yy1506; + } + } +yy1521: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy166; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + goto yy166; + } else { + if (yych <= 's') goto yy1522; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +yy1522: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy167; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy167; + if (yych <= '`') goto yy3; + goto yy167; + } else { + if (yych <= 't') goto yy1523; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +yy1523: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy168; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy168; + if (yych <= '`') goto yy3; + goto yy168; + } else { + if (yych <= 'e') goto yy1524; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +yy1524: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy164; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy169; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy169; + if (yych <= '`') goto yy3; + goto yy169; + } else { + if (yych <= 'r') goto yy1525; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +yy1525: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych <= 'D') goto yy1526; + if (yych != 'd') goto yy3; + } +yy1526: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1527; + if (yych != 'a') goto yy56; +yy1527: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1528; + if (yych != 'y') goto yy56; +yy1528: + ++YYCURSOR; +yy1529: + { + DEBUG_OUTPUT("yesterday"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_UNHAVE_TIME(); + + s->time->relative.d = -1; + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +yy1530: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy1522; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy3; + goto yy171; + } else { + if (yych <= 's') goto yy1531; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +yy1531: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy167; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy1523; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy175; + } else { + if (yych <= 't') goto yy1532; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +yy1532: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy168; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy1524; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy176; + } else { + if (yych <= 'e') goto yy1533; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +yy1533: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; + goto yy172; + } else { + if (yych == '/') goto yy172; + if (yych <= '@') goto yy3; + goto yy169; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy1525; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy177; + } else { + if (yych <= 'r') goto yy1534; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +yy1534: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= ',') { + if (yych == ')') goto yy164; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy172; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'D') goto yy1526; + if (yych == '_') goto yy172; + goto yy3; + } else { + if (yych == 'd') goto yy1535; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +yy1535: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1527; + if (yych != 'a') goto yy179; + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1528; + if (yych != 'y') goto yy179; + yyaccept = 33; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy178; + } + if (yych <= '.') { + if (yych == '-') goto yy172; + goto yy1529; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; + goto yy1529; + } +} + +} + +#define YYMAXFILL 33 + +timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper) +{ + Scanner in; + int t; + char *e = s + len - 1; + + memset(&in, 0, sizeof(in)); + in.errors = timelib_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 = timelib_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; + in.time->relative.days = TIMELIB_UNSET; + + do { + t = scan(&in, tz_get_wrapper); +#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"); + } + + timelib_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); \ + } +#define TIMELIB_CHECK_SIGNED_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, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper) +{ + char *fptr = format; + char *ptr = string; + char *begin; + timelib_sll tmp; + Scanner in; + Scanner *s = ∈ + int allow_extra = 0; + + memset(&in, 0, sizeof(in)); + in.errors = timelib_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 */ + { + 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 */ + 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) - 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; + + 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 */ + { + 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); + } + 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 */ + { + 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 */ + { + 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 digit second could not be found", string, begin); + } else { + s->time->s = sec; + } + } + 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_SIGNED_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->relative.s += tmp; + s->time->is_localtime = 1; + s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; + s->time->z = 0; + s->time->dst = 0; + break; + + case 'e': /* timezone */ + case 'P': /* timezone */ + case 'T': /* timezone */ + case 'O': /* timezone */ + { + int tz_not_found; + s->time->z = timelib_parse_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); + } + } + 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 */ + if(!fptr[1]) { + add_pbf_error(s, "Escaped character expected", string, begin); + break; + } + 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; + + 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); + } + ptr++; + } + fptr++; + } + if (*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. */ + int done = 0; + while (*fptr && !done) { + 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); + done = 1; + } + } + } + + /* 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->m != TIMELIB_UNSET || parsed->d != TIMELIB_UNSET || + parsed->h != TIMELIB_UNSET || parsed->i != TIMELIB_UNSET || parsed->s != TIMELIB_UNSET + ) { + if (parsed->f == TIMELIB_UNSET) parsed->f = 0; + } else { + if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0; + } + if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0; + if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0; + if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 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->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 ? timelib_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 ? timelib_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, timelib_long gmtoffset, int isdst) +{ + const timelib_tz_lookup_table *tp; + + tp = abbr_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 74d9ea3a0f..033977252b 100644 --- a/ext/date/lib/parse_date.re +++ b/ext/date/lib/parse_date.re @@ -25,21 +25,12 @@ /* $Id$ */ #include "timelib.h" +#include "timelib_private.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) @@ -50,18 +41,6 @@ # 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 TIMELIB_MICROSEC 9 - #define EOI 257 #define TIME 258 #define DATE 259 @@ -113,14 +92,14 @@ typedef unsigned char uchar; #define timelib_string_free timelib_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_HAVE_TIME() { if (s->time->have_time) { add_error(s, TIMELIB_ERR_DOUBLE_TIME, "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->us = 0; } } +#define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->us = 0; } +#define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, TIMELIB_ERR_DOUBLE_DATE, "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_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, TIMELIB_ERR_DOUBLE_TZ, "Double timezone specification") : add_warning(s, TIMELIB_WARN_DOUBLE_TZ, "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) @@ -146,8 +125,6 @@ typedef unsigned char uchar; #define YYDEBUG(s,c) #endif -#include "timelib_structs.h" - typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ @@ -176,17 +153,17 @@ typedef struct _timelib_relunit { } timelib_relunit; /* The timezone table. */ -const static timelib_tz_lookup_table timelib_timezone_lookup[] = { +static const timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; -const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { +static const timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; -const static timelib_tz_lookup_table timelib_timezone_utc[] = { +static const timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; @@ -355,37 +332,41 @@ uchar *fill(Scanner *s, uchar *cursor){ } #endif -static void add_warning(Scanner *s, char *error) +static void add_warning(Scanner *s, int error_code, char *error) { s->errors->warning_count++; s->errors->warning_messages = timelib_realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); + s->errors->warning_messages[s->errors->warning_count - 1].error_code = error_code; 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 = timelib_strdup(error); } -static void add_error(Scanner *s, char *error) +static void add_error(Scanner *s, int error_code, char *error) { s->errors->error_count++; s->errors->error_messages = timelib_realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); + s->errors->error_messages[s->errors->error_count - 1].error_code = error_code; 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 = timelib_strdup(error); } -static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr) +static void add_pbf_warning(Scanner *s, int error_code, char *error, char *sptr, char *cptr) { s->errors->warning_count++; s->errors->warning_messages = timelib_realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); + s->errors->warning_messages[s->errors->warning_count - 1].error_code = error_code; 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 = timelib_strdup(error); } -static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr) +static void add_pbf_error(Scanner *s, int error_code, char *error, char *sptr, char *cptr) { s->errors->error_count++; s->errors->error_messages = timelib_realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); + s->errors->error_messages[s->errors->error_count - 1].error_code = error_code; 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 = timelib_strdup(error); @@ -505,7 +486,7 @@ static void timelib_skip_day_suffix(char **ptr) } } -static double timelib_get_frac_nr(char **ptr, int max_length) +static timelib_sll timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = TIMELIB_UNSET; @@ -523,12 +504,9 @@ static double timelib_get_frac_nr(char **ptr, int max_length) ++len; } end = *ptr; - str = timelib_calloc(1, end - begin + 1); - memcpy(str, begin, end - begin); - if (str[0] == ':') { - str[0] = '.'; - } - tmp_nr = strtod(str, NULL); + str = timelib_calloc(1, end - begin); + memcpy(str, begin + 1, end - begin - 1); + tmp_nr = strtod(str, NULL) * pow(10, 7 - (end - begin)); timelib_free(str); return tmp_nr; } @@ -668,7 +646,7 @@ static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, S } switch (relunit->unit) { - case TIMELIB_MICROSEC: s->time->relative.f += (((double) amount * (double) relunit->multiplier) / 1000000); break; + case TIMELIB_MICROSEC: s->time->relative.us += amount * relunit->multiplier; break; 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; @@ -692,7 +670,7 @@ static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, S } } -const static timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst) +static const timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst) { int first_found = 0; const timelib_tz_lookup_table *tp, *first_found_elem = NULL; @@ -723,7 +701,7 @@ const static timelib_tz_lookup_table* abbr_search(const char *word, timelib_long /* 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 * 60) == gmtoffset && fmp->type == isdst) { + if (fmp->gmtoffset == gmtoffset && fmp->type == isdst) { return fmp; } } @@ -745,9 +723,9 @@ static timelib_long timelib_lookup_abbr(char **ptr, int *dst, char **tz_abbr, in memcpy(word, begin, end - begin); if ((tp = abbr_search(word, -1, 0))) { - value = -tp->gmtoffset / 60; + value = tp->gmtoffset; *dst = tp->type; - value += tp->type * 60; + value -= tp->type * 3600; *found = 1; } else { *found = 0; @@ -757,6 +735,42 @@ static timelib_long timelib_lookup_abbr(char **ptr, int *dst, char **tz_abbr, in return value; } +#define sHOUR(a) (int)(a * 3600) +#define sMIN(a) (int)(a * 60) + +static timelib_long timelib_parse_tz_cor(char **ptr) +{ + char *begin = *ptr, *end; + timelib_long tmp; + + while (isdigit(**ptr) || **ptr == ':') { + ++*ptr; + } + end = *ptr; + switch (end - begin) { + case 1: /* H */ + case 2: /* HH */ + return sHOUR(strtol(begin, NULL, 10)); + break; + case 3: /* H:M */ + case 4: /* H:MM, HH:M, HHMM */ + if (begin[1] == ':') { + tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 2, NULL, 10)); + return tmp; + } else if (begin[2] == ':') { + tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10)); + return tmp; + } else { + tmp = strtol(begin, NULL, 10); + return sHOUR(tmp / 100) + sMIN(tmp % 100); + } + case 5: /* HH:MM */ + tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10)); + return tmp; + } + return 0; +} + timelib_long timelib_parse_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; @@ -777,7 +791,7 @@ timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_n *tz_not_found = 0; t->dst = 0; - retval = -1 * timelib_parse_tz_cor(ptr); + retval = timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; @@ -785,7 +799,7 @@ timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_n *tz_not_found = 0; t->dst = 0; - retval = timelib_parse_tz_cor(ptr); + retval = -1 * timelib_parse_tz_cor(ptr); } else { int found = 0; timelib_long offset = 0; @@ -802,7 +816,9 @@ timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_n /* Otherwise, we look if we have a TimeZone identifier */ if (!found || strcmp("UTC", tz_abbr) == 0) { - if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) { + int dummy_error_code; + + if ((res = tz_wrapper(tz_abbr, tzdb, &dummy_error_code)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; @@ -931,8 +947,8 @@ isoweek = year4 "-"? "W" weekofyear; exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz; firstdayof = 'first day of'; lastdayof = 'last day of'; -backof = 'back of ' hour24 space? meridian?; -frontof = 'front of ' hour24 space? meridian?; +backof = 'back of ' hour24 (space? meridian)?; +frontof = 'front of ' hour24 (space? meridian)?; /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; @@ -1036,7 +1052,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of 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->us = 0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; @@ -1049,7 +1065,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of timestampms { - timelib_ull i, ms; + timelib_ull i, us; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); @@ -1058,14 +1074,14 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of TIMELIB_HAVE_TZ(); i = timelib_get_unsigned_nr((char **) &ptr, 24); - ms = timelib_get_unsigned_nr((char **) &ptr, 24); + us = 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->us = 0; s->time->relative.s += i; - s->time->relative.f = ((double) ms) / 1000000.0; + s->time->relative.us = us; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; @@ -1165,7 +1181,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + s->time->us = timelib_get_frac_nr((char **) &ptr, 8); } } timelib_eat_spaces((char **) &ptr); @@ -1186,14 +1202,14 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + s->time->us = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_parse_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"); + add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; @@ -1215,7 +1231,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of break; default: TIMELIB_DEINIT; - add_error(s, "Double time specification"); + add_error(s, TIMELIB_ERR_DOUBLE_TIME, "Double time specification"); return TIMELIB_ERROR; } s->time->have_time++; @@ -1259,7 +1275,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of if (*ptr != '\0') { s->time->z = timelib_parse_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"); + add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; @@ -1457,11 +1473,11 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of 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); + s->time->us = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_parse_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"); + add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database"); } } } @@ -1564,7 +1580,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_parse_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"); + add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_CLF; @@ -1677,7 +1693,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of TIMELIB_HAVE_TZ(); s->time->z = timelib_parse_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"); + add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_TIMEZONE; @@ -1698,7 +1714,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + s->time->us = timelib_get_frac_nr((char **) &ptr, 8); } } @@ -1723,14 +1739,14 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + s->time->us = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_parse_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"); + add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; @@ -1766,7 +1782,7 @@ weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of any { - add_error(s, "Unexpected character"); + add_error(s, TIMELIB_ERR_UNEXPECTED_CHARACTER, "Unexpected character"); goto std; } */ @@ -1797,13 +1813,13 @@ timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_contai } if (e - s < 0) { in.time = timelib_time_ctor(); - add_error(&in, "Empty string"); + add_error(&in, TIMELIB_ERR_EMPTY_STRING, "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->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->us = in.time->dst = in.time->z = TIMELIB_UNSET; in.time->is_localtime = in.time->zone_type = 0; return in.time; } @@ -1821,7 +1837,7 @@ timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_contai in.time->h = TIMELIB_UNSET; in.time->i = TIMELIB_UNSET; in.time->s = TIMELIB_UNSET; - in.time->f = TIMELIB_UNSET; + in.time->us = TIMELIB_UNSET; in.time->z = TIMELIB_UNSET; in.time->dst = TIMELIB_UNSET; in.tzdb = tzdb; @@ -1838,11 +1854,11 @@ timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_contai /* 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"); + add_warning(&in, TIMELIB_WARN_INVALID_TIME, "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"); + add_warning(&in, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid"); } timelib_free(in.str); @@ -1857,12 +1873,12 @@ timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_contai #define TIMELIB_CHECK_NUMBER \ if (strchr("0123456789", *ptr) == NULL) \ { \ - add_pbf_error(s, "Unexpected data found.", string, begin); \ + add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \ } #define TIMELIB_CHECK_SIGNED_NUMBER \ if (strchr("-0123456789", *ptr) == NULL) \ { \ - add_pbf_error(s, "Unexpected data found.", string, begin); \ + add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \ } static void timelib_time_reset_fields(timelib_time *time) @@ -1873,7 +1889,7 @@ static void timelib_time_reset_fields(timelib_time *time) time->m = 1; time->d = 1; time->h = time->i = time->s = 0; - time->f = 0.0; + time->us = 0; time->tz_info = NULL; } @@ -1887,7 +1903,7 @@ static void timelib_time_reset_unset_fields(timelib_time *time) 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; + if (time->us == TIMELIB_UNSET ) time->us = 0; } timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper) @@ -1914,7 +1930,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, in.time->h = TIMELIB_UNSET; in.time->i = TIMELIB_UNSET; in.time->s = TIMELIB_UNSET; - in.time->f = TIMELIB_UNSET; + in.time->us = TIMELIB_UNSET; in.time->z = TIMELIB_UNSET; in.time->dst = TIMELIB_UNSET; in.tzdb = tzdb; @@ -1932,7 +1948,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, tmprel = timelib_lookup_relunit((char **) &ptr); if (!tmprel) { - add_pbf_error(s, "A textual day could not be found", string, begin); + add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_DAY, "A textual day could not be found", string, begin); break; } else { in.time->have_relative = 1; @@ -1946,7 +1962,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_DAY, "A two digit day could not be found", string, begin); } break; case 'S': /* day suffix, ignored, nor checked */ @@ -1955,7 +1971,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_THREE_DIGIT_DAY_OF_YEAR, "A three digit day-of-year could not be found", string, begin); } else { s->time->m = 1; s->time->d = tmp + 1; @@ -1967,14 +1983,14 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MONTH, "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); + add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_MONTH, "A textual month could not be found", string, begin); } else { s->time->m = tmp; } @@ -1984,7 +2000,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_YEAR, "A two digit year could not be found", string, begin); } TIMELIB_PROCESS_YEAR(s->time->y, length); } @@ -1992,32 +2008,32 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR, "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); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "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); + add_pbf_error(s, TIMELIB_ERR_HOUR_LARGER_THAN_12, "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); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "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); + add_pbf_error(s, TIMELIB_ERR_MERIDIAN_BEFORE_HOUR, "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); + add_pbf_error(s, TIMELIB_ERR_NO_MERIDIAN, "A meridian could not be found", string, begin); } else { s->time->h += tmp; } @@ -2030,7 +2046,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MINUTE, "A two digit minute could not be found", string, begin); } else { s->time->i = min; } @@ -2044,13 +2060,13 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, TIMELIB_CHECK_NUMBER; sec = timelib_get_nr_ex((char **) &ptr, 2, &length); if (sec == TIMELIB_UNSET || length != 2) { - add_pbf_error(s, "A two digit second could not be found", string, begin); + add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_SECOND, "A two digit second could not be found", string, begin); } else { s->time->s = sec; } } break; - case 'u': /* up to six digit millisecond */ + case 'u': /* up to six digit microsecond */ { double f; char *tptr; @@ -2058,9 +2074,9 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_error(s, TIMELIB_ERR_NO_SIX_DIGIT_MICROSECOND, "A six digit microsecond could not be found", string, begin); } else { - s->time->f = (f / pow(10, (ptr - tptr))); + s->time->us = (f * pow(10, 6 - (ptr - tptr))); } } break; @@ -2090,7 +2106,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, int tz_not_found; s->time->z = timelib_parse_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); + add_pbf_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database", string, begin); } } break; @@ -2099,7 +2115,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, if (*ptr == ';' || *ptr == ':' || *ptr == '/' || *ptr == '.' || *ptr == ',' || *ptr == '-' || *ptr == '(' || *ptr == ')') { ++ptr; } else { - add_pbf_error(s, "The separation symbol ([;:/.,-]) could not be found", string, begin); + add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol ([;:/.,-]) could not be found", string, begin); } break; @@ -2114,7 +2130,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, if (*ptr == *fptr) { ++ptr; } else { - add_pbf_error(s, "The separation symbol could not be found", string, begin); + add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol could not be found", string, begin); } break; @@ -2132,14 +2148,14 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, case '\\': /* escaped char */ if(!fptr[1]) { - add_pbf_error(s, "Escaped character expected", string, begin); + add_pbf_error(s, TIMELIB_ERR_EXPECTED_ESCAPE_CHAR, "Escaped character expected", string, begin); break; } fptr++; if (*ptr == *fptr) { ++ptr; } else { - add_pbf_error(s, "The escaped character could not be found", string, begin); + add_pbf_error(s, TIMELIB_ERR_NO_ESCAPED_CHAR, "The escaped character could not be found", string, begin); } break; @@ -2153,7 +2169,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, default: if (*fptr != *ptr) { - add_pbf_error(s, "The format separator does not match", string, begin); + add_pbf_error(s, TIMELIB_ERR_WRONG_FORMAT_SEP, "The format separator does not match", string, begin); } ptr++; } @@ -2161,9 +2177,9 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, } if (*ptr) { if (allow_extra) { - add_pbf_warning(s, "Trailing data", string, ptr); + add_pbf_warning(s, TIMELIB_WARN_TRAILING_DATA, "Trailing data", string, ptr); } else { - add_pbf_error(s, "Trailing data", string, ptr); + add_pbf_error(s, TIMELIB_ERR_TRAILING_DATA, "Trailing data", string, ptr); } } /* ignore trailing +'s */ @@ -2184,7 +2200,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, break; default: - add_pbf_error(s, "Data missing", string, ptr); + add_pbf_error(s, TIMELIB_ERR_DATA_MISSING, "Data missing", string, ptr); done = 1; } } @@ -2207,13 +2223,13 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, 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); + add_pbf_warning(s, TIMELIB_WARN_INVALID_TIME, "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); + add_pbf_warning(s, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid", string, ptr); } if (errors) { @@ -2230,15 +2246,15 @@ void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) parsed->h = 0; parsed->i = 0; parsed->s = 0; - parsed->f = 0; + parsed->us = 0; } if ( parsed->y != TIMELIB_UNSET || parsed->m != TIMELIB_UNSET || parsed->d != TIMELIB_UNSET || parsed->h != TIMELIB_UNSET || parsed->i != TIMELIB_UNSET || parsed->s != TIMELIB_UNSET ) { - if (parsed->f == TIMELIB_UNSET) parsed->f = 0; + if (parsed->us == TIMELIB_UNSET) parsed->us = 0; } else { - if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0; + if (parsed->us == TIMELIB_UNSET) parsed->us = now->us != TIMELIB_UNSET ? now->us : 0; } if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0; if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0; diff --git a/ext/date/lib/parse_iso_intervals.c b/ext/date/lib/parse_iso_intervals.c index 237201623b..60fb5df006 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 Thu Aug 13 10:30:12 2015 */ +/* Generated by re2c 0.15.3 on Tue Aug 15 14:21:00 2017 */ #line 1 "ext/date/lib/parse_iso_intervals.re" /* * The MIT License (MIT) @@ -27,19 +27,10 @@ /* $Id$ */ #include "timelib.h" +#include "timelib_private.h" -#include <stdio.h> #include <ctype.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) @@ -50,15 +41,6 @@ # 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 EOI 257 #define TIMELIB_PERIOD 260 @@ -90,8 +72,6 @@ typedef unsigned char uchar; #define YYDEBUG(s,c) #endif -#include "timelib_structs.h" - typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; @@ -110,15 +90,6 @@ typedef struct Scanner { int have_end_date; } Scanner; -static void add_warning(Scanner *s, char *error) -{ - s->errors->warning_count++; - s->errors->warning_messages = timelib_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 = timelib_strdup(error); -} - static void add_error(Scanner *s, char *error) { s->errors->error_count++; @@ -182,55 +153,6 @@ static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) return dir * timelib_get_nr(ptr, max_length); } -static void timelib_eat_spaces(char **ptr) -{ - while (**ptr == ' ' || **ptr == '\t') { - ++*ptr; - } -} - -static void timelib_eat_until_separator(char **ptr) -{ - while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) { - ++*ptr; - } -} - -static timelib_long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb) -{ - timelib_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); - } - while (**ptr == ')') { - ++*ptr; - } - return retval; -} - #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ @@ -254,49 +176,49 @@ static int scan(Scanner *s) std: s->tok = cursor; s->len = 0; -#line 282 "ext/date/lib/parse_iso_intervals.re" +#line 204 "ext/date/lib/parse_iso_intervals.re" -#line 262 "ext/date/lib/parse_iso_intervals.c" +#line 184 "<stdout>" { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { - 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, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 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, 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, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 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, 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) < 20) YYFILL(20); yych = *YYCURSOR; if (yych <= ',') { @@ -321,30 +243,35 @@ std: if (yych != 'R') goto yy11; } } + YYDEBUG(2, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy3; if (yych <= '9') goto yy98; yy3: -#line 395 "ext/date/lib/parse_iso_intervals.re" + YYDEBUG(3, *YYCURSOR); +#line 317 "ext/date/lib/parse_iso_intervals.re" { add_error(s, "Unexpected character"); goto std; } -#line 334 "ext/date/lib/parse_iso_intervals.c" +#line 258 "<stdout>" yy4: + YYDEBUG(4, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy3; if (yych <= '9') goto yy59; goto yy3; yy5: + YYDEBUG(5, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy6; if (yych <= '9') goto yy12; if (yych == 'T') goto yy14; yy6: -#line 322 "ext/date/lib/parse_iso_intervals.re" + YYDEBUG(6, *YYCURSOR); +#line 244 "ext/date/lib/parse_iso_intervals.re" { timelib_sll nr; int in_time = 0; @@ -385,26 +312,32 @@ yy6: TIMELIB_DEINIT; return TIMELIB_PERIOD; } -#line 389 "ext/date/lib/parse_iso_intervals.c" +#line 316 "<stdout>" yy7: + YYDEBUG(7, *YYCURSOR); ++YYCURSOR; -#line 384 "ext/date/lib/parse_iso_intervals.re" + YYDEBUG(8, *YYCURSOR); +#line 306 "ext/date/lib/parse_iso_intervals.re" { goto std; } -#line 396 "ext/date/lib/parse_iso_intervals.c" +#line 325 "<stdout>" yy9: + YYDEBUG(9, *YYCURSOR); ++YYCURSOR; -#line 389 "ext/date/lib/parse_iso_intervals.re" + YYDEBUG(10, *YYCURSOR); +#line 311 "ext/date/lib/parse_iso_intervals.re" { s->pos = cursor; s->line++; goto std; } -#line 404 "ext/date/lib/parse_iso_intervals.c" +#line 335 "<stdout>" yy11: + YYDEBUG(11, *YYCURSOR); yych = *++YYCURSOR; goto yy3; yy12: + YYDEBUG(12, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '9') { @@ -421,13 +354,15 @@ yy12: } } yy13: + YYDEBUG(13, *YYCURSOR); YYCURSOR = YYMARKER; - if (yyaccept <= 0) { + if (yyaccept == 0) { goto yy3; } else { goto yy6; } yy14: + YYDEBUG(14, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 128) { @@ -435,9 +370,11 @@ yy14: } goto yy6; yy15: + YYDEBUG(15, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; + YYDEBUG(16, *YYCURSOR); if (yybm[0+yych] & 128) { goto yy15; } @@ -449,23 +386,28 @@ yy15: if (yych != 'S') goto yy13; } yy17: + YYDEBUG(17, *YYCURSOR); yych = *++YYCURSOR; goto yy6; yy18: + YYDEBUG(18, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy6; if (yych <= '9') goto yy22; goto yy6; yy19: + YYDEBUG(19, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy6; if (yych >= ':') goto yy6; yy20: + YYDEBUG(20, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; + YYDEBUG(21, *YYCURSOR); if (yych <= 'L') { if (yych <= '/') goto yy13; if (yych <= '9') goto yy20; @@ -476,18 +418,22 @@ yy20: goto yy13; } yy22: + YYDEBUG(22, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; + YYDEBUG(23, *YYCURSOR); if (yych <= '/') goto yy13; if (yych <= '9') goto yy22; if (yych == 'S') goto yy17; goto yy13; yy24: + YYDEBUG(24, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy14; goto yy6; yy25: + YYDEBUG(25, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '9') { @@ -507,6 +453,7 @@ yy25: } } yy26: + YYDEBUG(26, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy6; @@ -514,6 +461,7 @@ yy26: if (yych == 'T') goto yy14; goto yy6; yy27: + YYDEBUG(27, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy6; @@ -521,6 +469,7 @@ yy27: if (yych == 'T') goto yy14; goto yy6; yy28: + YYDEBUG(28, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy6; @@ -528,9 +477,11 @@ yy28: if (yych == 'T') goto yy14; goto yy6; yy29: + YYDEBUG(29, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; + YYDEBUG(30, *YYCURSOR); if (yych <= 'D') { if (yych <= '/') goto yy13; if (yych <= '9') goto yy29; @@ -546,9 +497,11 @@ yy29: } } yy31: + YYDEBUG(31, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; + YYDEBUG(32, *YYCURSOR); if (yych <= 'C') { if (yych <= '/') goto yy13; if (yych <= '9') goto yy31; @@ -559,14 +512,17 @@ yy31: goto yy13; } yy33: + YYDEBUG(33, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; + YYDEBUG(34, *YYCURSOR); if (yych <= '/') goto yy13; if (yych <= '9') goto yy33; if (yych == 'D') goto yy24; goto yy13; yy35: + YYDEBUG(35, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '9') { @@ -585,18 +541,22 @@ yy35: goto yy13; } } + YYDEBUG(36, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy39; + YYDEBUG(37, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '0') goto yy40; if (yych <= '1') goto yy41; goto yy13; yy38: + YYDEBUG(38, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; yy39: + YYDEBUG(39, *YYCURSOR); if (yych <= 'L') { if (yych <= '9') { if (yych <= '/') goto yy13; @@ -616,17 +576,21 @@ yy39: } } yy40: + YYDEBUG(40, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '9') goto yy42; goto yy13; yy41: + YYDEBUG(41, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '3') goto yy13; yy42: + YYDEBUG(42, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy13; + YYDEBUG(43, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '0') goto yy44; @@ -634,55 +598,70 @@ yy42: if (yych <= '3') goto yy46; goto yy13; yy44: + YYDEBUG(44, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '9') goto yy47; goto yy13; yy45: + YYDEBUG(45, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '9') goto yy47; goto yy13; yy46: + YYDEBUG(46, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '2') goto yy13; yy47: + YYDEBUG(47, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'T') goto yy13; + YYDEBUG(48, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '1') goto yy49; if (yych <= '2') goto yy50; goto yy13; yy49: + YYDEBUG(49, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '9') goto yy51; goto yy13; yy50: + YYDEBUG(50, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '5') goto yy13; yy51: + YYDEBUG(51, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy13; + YYDEBUG(52, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '6') goto yy13; + YYDEBUG(53, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= ':') goto yy13; + YYDEBUG(54, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy13; + YYDEBUG(55, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '6') goto yy13; + YYDEBUG(56, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= ':') goto yy13; + YYDEBUG(57, *YYCURSOR); ++YYCURSOR; -#line 364 "ext/date/lib/parse_iso_intervals.re" + YYDEBUG(58, *YYCURSOR); +#line 286 "ext/date/lib/parse_iso_intervals.re" { DEBUG_OUTPUT("combinedrep"); TIMELIB_INIT; @@ -701,14 +680,17 @@ yy51: TIMELIB_DEINIT; return TIMELIB_PERIOD; } -#line 705 "ext/date/lib/parse_iso_intervals.c" +#line 684 "<stdout>" yy59: + YYDEBUG(59, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= ':') goto yy13; + YYDEBUG(60, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= ':') goto yy13; + YYDEBUG(61, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '-') goto yy64; @@ -719,33 +701,40 @@ yy59: goto yy13; } yy62: + YYDEBUG(62, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy13; if (yych <= '9') goto yy85; goto yy13; yy63: + YYDEBUG(63, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '2') goto yy85; goto yy13; yy64: + YYDEBUG(64, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '0') goto yy65; if (yych <= '1') goto yy66; goto yy13; yy65: + YYDEBUG(65, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy13; if (yych <= '9') goto yy67; goto yy13; yy66: + YYDEBUG(66, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '3') goto yy13; yy67: + YYDEBUG(67, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy13; + YYDEBUG(68, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '0') goto yy69; @@ -753,58 +742,74 @@ yy67: if (yych <= '3') goto yy71; goto yy13; yy69: + YYDEBUG(69, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy13; if (yych <= '9') goto yy72; goto yy13; yy70: + YYDEBUG(70, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '9') goto yy72; goto yy13; yy71: + YYDEBUG(71, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '2') goto yy13; yy72: + YYDEBUG(72, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'T') goto yy13; + YYDEBUG(73, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '1') goto yy74; if (yych <= '2') goto yy75; goto yy13; yy74: + YYDEBUG(74, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '9') goto yy76; goto yy13; yy75: + YYDEBUG(75, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '5') goto yy13; yy76: + YYDEBUG(76, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy13; + YYDEBUG(77, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '6') goto yy13; + YYDEBUG(78, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= ':') goto yy13; + YYDEBUG(79, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy13; + YYDEBUG(80, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '6') goto yy13; + YYDEBUG(81, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= ':') goto yy13; + YYDEBUG(82, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'Z') goto yy13; yy83: + YYDEBUG(83, *YYCURSOR); ++YYCURSOR; -#line 298 "ext/date/lib/parse_iso_intervals.re" + YYDEBUG(84, *YYCURSOR); +#line 220 "ext/date/lib/parse_iso_intervals.re" { timelib_time *current; @@ -827,8 +832,9 @@ yy83: TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 831 "ext/date/lib/parse_iso_intervals.c" +#line 836 "<stdout>" yy85: + YYDEBUG(85, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '0') goto yy86; @@ -836,60 +842,75 @@ yy85: if (yych <= '3') goto yy88; goto yy13; yy86: + YYDEBUG(86, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy13; if (yych <= '9') goto yy89; goto yy13; yy87: + YYDEBUG(87, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '9') goto yy89; goto yy13; yy88: + YYDEBUG(88, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '2') goto yy13; yy89: + YYDEBUG(89, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'T') goto yy13; + YYDEBUG(90, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '1') goto yy91; if (yych <= '2') goto yy92; goto yy13; yy91: + YYDEBUG(91, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych <= '9') goto yy93; goto yy13; yy92: + YYDEBUG(92, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '5') goto yy13; yy93: + YYDEBUG(93, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '6') goto yy13; + YYDEBUG(94, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= ':') goto yy13; + YYDEBUG(95, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= '6') goto yy13; + YYDEBUG(96, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy13; if (yych >= ':') goto yy13; + YYDEBUG(97, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Z') goto yy83; goto yy13; yy98: + YYDEBUG(98, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; + YYDEBUG(99, *YYCURSOR); if (yych <= '/') goto yy100; if (yych <= '9') goto yy98; yy100: -#line 287 "ext/date/lib/parse_iso_intervals.re" + YYDEBUG(100, *YYCURSOR); +#line 209 "ext/date/lib/parse_iso_intervals.re" { DEBUG_OUTPUT("recurrences"); TIMELIB_INIT; @@ -899,9 +920,9 @@ yy100: s->have_recurrences = 1; return TIMELIB_PERIOD; } -#line 903 "ext/date/lib/parse_iso_intervals.c" +#line 924 "<stdout>" } -#line 399 "ext/date/lib/parse_iso_intervals.re" +#line 321 "ext/date/lib/parse_iso_intervals.re" } #ifdef PHP_WIN32 @@ -960,7 +981,7 @@ void timelib_strtointerval(char *s, size_t len, in.begin->h = TIMELIB_UNSET; in.begin->i = TIMELIB_UNSET; in.begin->s = TIMELIB_UNSET; - in.begin->f = 0; + in.begin->us = 0; in.begin->z = 0; in.begin->dst = 0; in.begin->is_localtime = 0; @@ -973,7 +994,7 @@ void timelib_strtointerval(char *s, size_t len, in.end->h = TIMELIB_UNSET; in.end->i = TIMELIB_UNSET; in.end->s = TIMELIB_UNSET; - in.end->f = 0; + in.end->us = 0; in.end->z = 0; in.end->dst = 0; in.end->is_localtime = 0; diff --git a/ext/date/lib/parse_iso_intervals.re b/ext/date/lib/parse_iso_intervals.re index 6f23bb16f2..7a481c836d 100644 --- a/ext/date/lib/parse_iso_intervals.re +++ b/ext/date/lib/parse_iso_intervals.re @@ -25,19 +25,10 @@ /* $Id$ */ #include "timelib.h" +#include "timelib_private.h" -#include <stdio.h> #include <ctype.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) @@ -48,15 +39,6 @@ # 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 EOI 257 #define TIMELIB_PERIOD 260 @@ -88,8 +70,6 @@ typedef unsigned char uchar; #define YYDEBUG(s,c) #endif -#include "timelib_structs.h" - typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; @@ -108,15 +88,6 @@ typedef struct Scanner { int have_end_date; } Scanner; -static void add_warning(Scanner *s, char *error) -{ - s->errors->warning_count++; - s->errors->warning_messages = timelib_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 = timelib_strdup(error); -} - static void add_error(Scanner *s, char *error) { s->errors->error_count++; @@ -180,55 +151,6 @@ static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) return dir * timelib_get_nr(ptr, max_length); } -static void timelib_eat_spaces(char **ptr) -{ - while (**ptr == ' ' || **ptr == '\t') { - ++*ptr; - } -} - -static void timelib_eat_until_separator(char **ptr) -{ - while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) { - ++*ptr; - } -} - -static timelib_long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb) -{ - timelib_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); - } - while (**ptr == ')') { - ++*ptr; - } - return retval; -} - #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ @@ -454,7 +376,7 @@ void timelib_strtointerval(char *s, size_t len, in.begin->h = TIMELIB_UNSET; in.begin->i = TIMELIB_UNSET; in.begin->s = TIMELIB_UNSET; - in.begin->f = 0; + in.begin->us = 0; in.begin->z = 0; in.begin->dst = 0; in.begin->is_localtime = 0; @@ -467,7 +389,7 @@ void timelib_strtointerval(char *s, size_t len, in.end->h = TIMELIB_UNSET; in.end->i = TIMELIB_UNSET; in.end->s = TIMELIB_UNSET; - in.end->f = 0; + in.end->us = 0; in.end->z = 0; in.end->dst = 0; in.end->is_localtime = 0; diff --git a/ext/date/lib/parse_tz.c b/ext/date/lib/parse_tz.c index 20d7eeac19..f3e49cb469 100644 --- a/ext/date/lib/parse_tz.c +++ b/ext/date/lib/parse_tz.c @@ -23,18 +23,7 @@ */ #include "timelib.h" - -#include <stdio.h> - -#ifdef HAVE_LOCALE_H -#include <locale.h> -#endif - -#ifdef HAVE_STRING_H -#include <string.h> -#else -#include <strings.h> -#endif +#include "timelib_private.h" #define TIMELIB_SUPPORTS_V2DATA #include "timezonedb.h" @@ -49,13 +38,32 @@ # endif #endif +#if defined(__s390__) +# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +# define WORDS_BIGENDIAN +# else +# undef WORDS_BIGENDIAN +# endif +#endif + #ifdef WORDS_BIGENDIAN -#define timelib_conv_int(l) (l) +static inline uint32_t timelib_conv_int_unsigned(uint32_t value) +{ + return value; +} #else -#define timelib_conv_int(l) ((l & 0x000000ff) << 24) + ((l & 0x0000ff00) << 8) + ((l & 0x00ff0000) >> 8) + ((l & 0xff000000) >> 24) +static inline uint32_t timelib_conv_int_unsigned(uint32_t value) +{ + return ((value & 0x000000ff) << 24) + + ((value & 0x0000ff00) << 8) + + ((value & 0x00ff0000) >> 8) + + ((value & 0xff000000) >> 24); +} #endif -static int read_preamble(const unsigned char **tzf, timelib_tzinfo *tz) +#define timelib_conv_int_signed(value) ((int32_t) timelib_conv_int_unsigned((int32_t) value)) + +static int read_php_preamble(const unsigned char **tzf, timelib_tzinfo *tz) { uint32_t version; @@ -78,21 +86,67 @@ static int read_preamble(const unsigned char **tzf, timelib_tzinfo *tz) return version; } +static int read_tzif_preamble(const unsigned char **tzf, timelib_tzinfo *tz) +{ + uint32_t version; + + /* read ID */ + switch ((*tzf)[4]) { + case '\0': + version = 0; + break; + case '2': + version = 2; + break; + case '3': + version = 3; + break; + default: + return -1; + } + *tzf += 5; + + /* set BC flag and country code to default */ + tz->bc = 0; + tz->location.country_code[0] = '?'; + tz->location.country_code[1] = '?'; + tz->location.country_code[2] = '\0'; + + /* skip rest of preamble */ + *tzf += 15; + + return version; +} + +static int read_preamble(const unsigned char **tzf, timelib_tzinfo *tz, unsigned int *type) +{ + /* read marker (TZif) or (PHP) */ + if (memcmp(*tzf, "PHP", 3) == 0) { + *type = TIMELIB_TZINFO_PHP; + return read_php_preamble(tzf, tz); + } else if (memcmp(*tzf, "TZif", 4) == 0) { + *type = TIMELIB_TZINFO_ZONEINFO; + return read_tzif_preamble(tzf, tz); + } else { + return -1; + } +} + static void read_header(const unsigned char **tzf, timelib_tzinfo *tz) { uint32_t buffer[6]; memcpy(&buffer, *tzf, sizeof(buffer)); - tz->bit32.ttisgmtcnt = timelib_conv_int(buffer[0]); - tz->bit32.ttisstdcnt = timelib_conv_int(buffer[1]); - tz->bit32.leapcnt = timelib_conv_int(buffer[2]); - tz->bit32.timecnt = timelib_conv_int(buffer[3]); - tz->bit32.typecnt = timelib_conv_int(buffer[4]); - tz->bit32.charcnt = timelib_conv_int(buffer[5]); + tz->bit32.ttisgmtcnt = timelib_conv_int_unsigned(buffer[0]); + tz->bit32.ttisstdcnt = timelib_conv_int_unsigned(buffer[1]); + tz->bit32.leapcnt = timelib_conv_int_unsigned(buffer[2]); + tz->bit32.timecnt = timelib_conv_int_unsigned(buffer[3]); + tz->bit32.typecnt = timelib_conv_int_unsigned(buffer[4]); + tz->bit32.charcnt = timelib_conv_int_unsigned(buffer[5]); *tzf += sizeof(buffer); } -static void skip_64bit_transistions(const unsigned char **tzf, timelib_tzinfo *tz) +static void skip_64bit_transitions(const unsigned char **tzf, timelib_tzinfo *tz) { if (tz->bit64.timecnt) { *tzf += (sizeof(int64_t) * tz->bit64.timecnt); @@ -100,7 +154,7 @@ static void skip_64bit_transistions(const unsigned char **tzf, timelib_tzinfo *t } } -static void read_transistions(const unsigned char **tzf, timelib_tzinfo *tz) +static int read_transitions(const unsigned char **tzf, timelib_tzinfo *tz) { int32_t *buffer = NULL; uint32_t i; @@ -109,18 +163,22 @@ static void read_transistions(const unsigned char **tzf, timelib_tzinfo *tz) if (tz->bit32.timecnt) { buffer = (int32_t*) timelib_malloc(tz->bit32.timecnt * sizeof(int32_t)); if (!buffer) { - return; + return TIMELIB_ERROR_CANNOT_ALLOCATE; } memcpy(buffer, *tzf, sizeof(int32_t) * tz->bit32.timecnt); *tzf += (sizeof(int32_t) * tz->bit32.timecnt); for (i = 0; i < tz->bit32.timecnt; i++) { - buffer[i] = timelib_conv_int(buffer[i]); + buffer[i] = timelib_conv_int_signed(buffer[i]); + /* Sanity check to see whether TS is just increasing */ + if (i > 0 && !(buffer[i] > buffer[i - 1])) { + return TIMELIB_ERROR_CORRUPT_TRANSITIONS_DONT_INCREASE; + } } cbuffer = (unsigned char*) timelib_malloc(tz->bit32.timecnt * sizeof(unsigned char)); if (!cbuffer) { timelib_free(buffer); - return; + return TIMELIB_ERROR_CANNOT_ALLOCATE; } memcpy(cbuffer, *tzf, sizeof(unsigned char) * tz->bit32.timecnt); *tzf += sizeof(unsigned char) * tz->bit32.timecnt; @@ -128,6 +186,8 @@ static void read_transistions(const unsigned char **tzf, timelib_tzinfo *tz) tz->trans = buffer; tz->trans_idx = cbuffer; + + return 0; } static void skip_64bit_types(const unsigned char **tzf, timelib_tzinfo *tz) @@ -145,7 +205,7 @@ static void skip_64bit_types(const unsigned char **tzf, timelib_tzinfo *tz) } } -static void read_types(const unsigned char **tzf, timelib_tzinfo *tz) +static int read_types(const unsigned char **tzf, timelib_tzinfo *tz) { unsigned char *buffer; int32_t *leap_buffer; @@ -153,7 +213,7 @@ static void read_types(const unsigned char **tzf, timelib_tzinfo *tz) buffer = (unsigned char*) timelib_malloc(tz->bit32.typecnt * sizeof(unsigned char) * 6); if (!buffer) { - return; + return TIMELIB_ERROR_CANNOT_ALLOCATE; } memcpy(buffer, *tzf, sizeof(unsigned char) * 6 * tz->bit32.typecnt); *tzf += sizeof(unsigned char) * 6 * tz->bit32.typecnt; @@ -161,12 +221,13 @@ static void read_types(const unsigned char **tzf, timelib_tzinfo *tz) tz->type = (ttinfo*) timelib_malloc(tz->bit32.typecnt * sizeof(struct ttinfo)); if (!tz->type) { timelib_free(buffer); - return; + return TIMELIB_ERROR_CANNOT_ALLOCATE; } for (i = 0; i < tz->bit32.typecnt; i++) { j = i * 6; - tz->type[i].offset = (buffer[j] * 16777216) + (buffer[j + 1] * 65536) + (buffer[j + 2] * 256) + buffer[j + 3]; + tz->type[i].offset = 0; + tz->type[i].offset += (int32_t) (((uint32_t) buffer[j]) << 24) + (buffer[j + 1] << 16) + (buffer[j + 2] << 8) + tz->type[i].offset + buffer[j + 3]; tz->type[i].isdst = buffer[j + 4]; tz->type[i].abbr_idx = buffer[j + 5]; } @@ -174,7 +235,7 @@ static void read_types(const unsigned char **tzf, timelib_tzinfo *tz) tz->timezone_abbr = (char*) timelib_malloc(tz->bit32.charcnt); if (!tz->timezone_abbr) { - return; + return TIMELIB_ERROR_CORRUPT_NO_ABBREVIATION; } memcpy(tz->timezone_abbr, *tzf, sizeof(char) * tz->bit32.charcnt); *tzf += sizeof(char) * tz->bit32.charcnt; @@ -182,7 +243,7 @@ static void read_types(const unsigned char **tzf, timelib_tzinfo *tz) if (tz->bit32.leapcnt) { leap_buffer = (int32_t *) timelib_malloc(tz->bit32.leapcnt * 2 * sizeof(int32_t)); if (!leap_buffer) { - return; + return TIMELIB_ERROR_CANNOT_ALLOCATE; } memcpy(leap_buffer, *tzf, sizeof(int32_t) * tz->bit32.leapcnt * 2); *tzf += sizeof(int32_t) * tz->bit32.leapcnt * 2; @@ -190,11 +251,11 @@ static void read_types(const unsigned char **tzf, timelib_tzinfo *tz) tz->leap_times = (tlinfo*) timelib_malloc(tz->bit32.leapcnt * sizeof(tlinfo)); if (!tz->leap_times) { timelib_free(leap_buffer); - return; + return TIMELIB_ERROR_CANNOT_ALLOCATE; } for (i = 0; i < tz->bit32.leapcnt; i++) { - tz->leap_times[i].trans = timelib_conv_int(leap_buffer[i * 2]); - tz->leap_times[i].offset = timelib_conv_int(leap_buffer[i * 2 + 1]); + tz->leap_times[i].trans = timelib_conv_int_signed(leap_buffer[i * 2]); + tz->leap_times[i].offset = timelib_conv_int_signed(leap_buffer[i * 2 + 1]); } timelib_free(leap_buffer); } @@ -202,7 +263,7 @@ static void read_types(const unsigned char **tzf, timelib_tzinfo *tz) if (tz->bit32.ttisstdcnt) { buffer = (unsigned char*) timelib_malloc(tz->bit32.ttisstdcnt * sizeof(unsigned char)); if (!buffer) { - return; + return TIMELIB_ERROR_CANNOT_ALLOCATE; } memcpy(buffer, *tzf, sizeof(unsigned char) * tz->bit32.ttisstdcnt); *tzf += sizeof(unsigned char) * tz->bit32.ttisstdcnt; @@ -216,7 +277,7 @@ static void read_types(const unsigned char **tzf, timelib_tzinfo *tz) if (tz->bit32.ttisgmtcnt) { buffer = (unsigned char*) timelib_malloc(tz->bit32.ttisgmtcnt * sizeof(unsigned char)); if (!buffer) { - return; + return TIMELIB_ERROR_CANNOT_ALLOCATE; } memcpy(buffer, *tzf, sizeof(unsigned char) * tz->bit32.ttisgmtcnt); *tzf += sizeof(unsigned char) * tz->bit32.ttisgmtcnt; @@ -226,6 +287,8 @@ static void read_types(const unsigned char **tzf, timelib_tzinfo *tz) } timelib_free(buffer); } + + return 0; } static void skip_posix_string(const unsigned char **tzf, timelib_tzinfo *tz) @@ -246,11 +309,11 @@ static void read_location(const unsigned char **tzf, timelib_tzinfo *tz) uint32_t comments_len; memcpy(&buffer, *tzf, sizeof(buffer)); - tz->location.latitude = timelib_conv_int(buffer[0]); + tz->location.latitude = timelib_conv_int_unsigned(buffer[0]); tz->location.latitude = (tz->location.latitude / 100000) - 90; - tz->location.longitude = timelib_conv_int(buffer[1]); + tz->location.longitude = timelib_conv_int_unsigned(buffer[1]); tz->location.longitude = (tz->location.longitude / 100000) - 180; - comments_len = timelib_conv_int(buffer[2]); + comments_len = timelib_conv_int_unsigned(buffer[2]); *tzf += sizeof(buffer); tz->location.comments = timelib_malloc(comments_len + 1); @@ -259,6 +322,15 @@ static void read_location(const unsigned char **tzf, timelib_tzinfo *tz) *tzf += comments_len; } +static void set_default_location_and_comments(const unsigned char **tzf, timelib_tzinfo *tz) +{ + tz->location.latitude = 0; + tz->location.longitude = 0; + tz->location.comments = timelib_malloc(2); + tz->location.comments[0] = '?'; + tz->location.comments[1] = '\0'; +} + void timelib_dump_tzinfo(timelib_tzinfo *tz) { uint32_t i; @@ -307,7 +379,13 @@ static int seek_to_tz_position(const unsigned char **tzf, char *timezone, const int left = 0, right = tzdb->index_size - 1; #ifdef HAVE_SETLOCALE char *cur_locale = NULL, *tmp; +#endif + + if (tzdb->index_size == 0) { + return 0; + } +#ifdef HAVE_SETLOCALE tmp = setlocale(LC_CTYPE, NULL); if (tmp) { cur_locale = timelib_strdup(tmp); @@ -346,10 +424,10 @@ const timelib_tzdb *timelib_builtin_db(void) return &timezonedb_builtin; } -const timelib_tzdb_index_entry *timelib_timezone_builtin_identifiers_list(int *count) +const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(timelib_tzdb *tzdb, int *count) { - *count = sizeof(timezonedb_idx_builtin) / sizeof(*timezonedb_idx_builtin); - return timezonedb_idx_builtin; + *count = tzdb->index_size; + return tzdb->index; } int timelib_timezone_id_is_valid(char *timezone, const timelib_tzdb *tzdb) @@ -358,9 +436,17 @@ int timelib_timezone_id_is_valid(char *timezone, const timelib_tzdb *tzdb) return (seek_to_tz_position(&tzf, timezone, tzdb)); } -static void skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz) +static int skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz) { - *tzf += 20; + if (memcmp(*tzf, "TZif2", 5) == 0) { + *tzf += 20; + return 1; + } else if (memcmp(*tzf, "TZif3", 5) == 0) { + *tzf += 20; + return 1; + } else { + return 0; + } } static void read_64bit_header(const unsigned char **tzf, timelib_tzinfo *tz) @@ -368,43 +454,124 @@ static void read_64bit_header(const unsigned char **tzf, timelib_tzinfo *tz) uint32_t buffer[6]; memcpy(&buffer, *tzf, sizeof(buffer)); - tz->bit64.ttisgmtcnt = timelib_conv_int(buffer[0]); - tz->bit64.ttisstdcnt = timelib_conv_int(buffer[1]); - tz->bit64.leapcnt = timelib_conv_int(buffer[2]); - tz->bit64.timecnt = timelib_conv_int(buffer[3]); - tz->bit64.typecnt = timelib_conv_int(buffer[4]); - tz->bit64.charcnt = timelib_conv_int(buffer[5]); + tz->bit64.ttisgmtcnt = timelib_conv_int_unsigned(buffer[0]); + tz->bit64.ttisstdcnt = timelib_conv_int_unsigned(buffer[1]); + tz->bit64.leapcnt = timelib_conv_int_unsigned(buffer[2]); + tz->bit64.timecnt = timelib_conv_int_unsigned(buffer[3]); + tz->bit64.typecnt = timelib_conv_int_unsigned(buffer[4]); + tz->bit64.charcnt = timelib_conv_int_unsigned(buffer[5]); *tzf += sizeof(buffer); } -timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb) +static timelib_tzinfo* timelib_tzinfo_ctor(char *name) +{ + timelib_tzinfo *t; + t = timelib_calloc(1, sizeof(timelib_tzinfo)); + t->name = timelib_strdup(name); + + return t; +} + +timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb, int *error_code) { const unsigned char *tzf; timelib_tzinfo *tmp; int version; + int transitions_result, types_result; + unsigned int type; /* TIMELIB_TZINFO_PHP or TIMELIB_TZINFO_ZONEINFO */ if (seek_to_tz_position(&tzf, timezone, tzdb)) { tmp = timelib_tzinfo_ctor(timezone); - version = read_preamble(&tzf, tmp); + version = read_preamble(&tzf, tmp, &type); + if (version == -1) { + *error_code = TIMELIB_ERROR_UNSUPPORTED_VERSION; + timelib_tzinfo_dtor(tmp); + return NULL; + } +//printf("- timezone: %s, version: %0d\n", timezone, version); + read_header(&tzf, tmp); - read_transistions(&tzf, tmp); - read_types(&tzf, tmp); - if (version == 2) { - skip_64bit_preamble(&tzf, tmp); + if ((transitions_result = read_transitions(&tzf, tmp)) != 0) { + /* Corrupt file as transitions do not increase */ + *error_code = transitions_result; + timelib_tzinfo_dtor(tmp); + return NULL; + } + if ((types_result = read_types(&tzf, tmp)) != 0) { + *error_code = types_result; + timelib_tzinfo_dtor(tmp); + return NULL; + } + if (version == 2 || version == 3) { + if (!skip_64bit_preamble(&tzf, tmp)) { + /* 64 bit preamble is not in place */ + *error_code = TIMELIB_ERROR_CORRUPT_NO_64BIT_PREAMBLE; + return NULL; + } read_64bit_header(&tzf, tmp); - skip_64bit_transistions(&tzf, tmp); + skip_64bit_transitions(&tzf, tmp); skip_64bit_types(&tzf, tmp); skip_posix_string(&tzf, tmp); } - read_location(&tzf, tmp); + + if (type == TIMELIB_TZINFO_PHP) { + read_location(&tzf, tmp); + } else { + set_default_location_and_comments(&tzf, tmp); + } } else { + *error_code = TIMELIB_ERROR_NO_SUCH_TIMEZONE; tmp = NULL; } return tmp; } +void timelib_tzinfo_dtor(timelib_tzinfo *tz) +{ + TIMELIB_TIME_FREE(tz->name); + TIMELIB_TIME_FREE(tz->trans); + TIMELIB_TIME_FREE(tz->trans_idx); + TIMELIB_TIME_FREE(tz->type); + TIMELIB_TIME_FREE(tz->timezone_abbr); + TIMELIB_TIME_FREE(tz->leap_times); + TIMELIB_TIME_FREE(tz->location.comments); + TIMELIB_TIME_FREE(tz); + tz = NULL; +} + +timelib_tzinfo *timelib_tzinfo_clone(timelib_tzinfo *tz) +{ + timelib_tzinfo *tmp = timelib_tzinfo_ctor(tz->name); + tmp->bit32.ttisgmtcnt = tz->bit32.ttisgmtcnt; + tmp->bit32.ttisstdcnt = tz->bit32.ttisstdcnt; + tmp->bit32.leapcnt = tz->bit32.leapcnt; + tmp->bit32.timecnt = tz->bit32.timecnt; + tmp->bit32.typecnt = tz->bit32.typecnt; + tmp->bit32.charcnt = tz->bit32.charcnt; + + if (tz->bit32.timecnt) { + tmp->trans = (int32_t *) timelib_malloc(tz->bit32.timecnt * sizeof(int32_t)); + tmp->trans_idx = (unsigned char*) timelib_malloc(tz->bit32.timecnt * sizeof(unsigned char)); + memcpy(tmp->trans, tz->trans, tz->bit32.timecnt * sizeof(int32_t)); + memcpy(tmp->trans_idx, tz->trans_idx, tz->bit32.timecnt * sizeof(unsigned char)); + } + + tmp->type = (ttinfo*) timelib_malloc(tz->bit32.typecnt * sizeof(struct ttinfo)); + memcpy(tmp->type, tz->type, tz->bit32.typecnt * sizeof(struct ttinfo)); + + tmp->timezone_abbr = (char*) timelib_malloc(tz->bit32.charcnt); + memcpy(tmp->timezone_abbr, tz->timezone_abbr, tz->bit32.charcnt); + + if (tz->bit32.leapcnt) { + tmp->leap_times = (tlinfo*) timelib_malloc(tz->bit32.leapcnt * sizeof(tlinfo)); + memcpy(tmp->leap_times, tz->leap_times, tz->bit32.leapcnt * sizeof(tlinfo)); + } + + return tmp; +} + static ttinfo* fetch_timezone_offset(timelib_tzinfo *tz, timelib_sll ts, timelib_sll *transition_time) { uint32_t i; @@ -483,18 +650,18 @@ timelib_time_offset *timelib_get_time_zone_info(timelib_sll ts, timelib_tzinfo * int32_t offset = 0, leap_secs = 0; char *abbr; timelib_time_offset *tmp = timelib_time_offset_ctor(); - timelib_sll transistion_time; + timelib_sll transition_time; - if ((to = fetch_timezone_offset(tz, ts, &transistion_time))) { + if ((to = fetch_timezone_offset(tz, ts, &transition_time))) { offset = to->offset; abbr = &(tz->timezone_abbr[to->abbr_idx]); tmp->is_dst = to->isdst; - tmp->transistion_time = transistion_time; + tmp->transition_time = transition_time; } else { offset = 0; abbr = tz->timezone_abbr; tmp->is_dst = 0; - tmp->transistion_time = 0; + tmp->transition_time = 0; } if ((tl = fetch_leaptime_offset(tz, ts))) { @@ -516,7 +683,7 @@ timelib_sll timelib_get_current_offset(timelib_time *t) switch (t->zone_type) { case TIMELIB_ZONETYPE_ABBR: case TIMELIB_ZONETYPE_OFFSET: - return (t->z + t->dst) * -60; + return t->z + (t->dst * 3600); case TIMELIB_ZONETYPE_ID: gmt_offset = timelib_get_time_zone_info(t->sse, t->tz_info); diff --git a/ext/date/lib/timelib.c b/ext/date/lib/timelib.c index 84dba3d969..ee52de77cb 100644 --- a/ext/date/lib/timelib.c +++ b/ext/date/lib/timelib.c @@ -23,18 +23,31 @@ */ #include "timelib.h" +#include "timelib_private.h" #include <ctype.h> #include <math.h> -#define TIMELIB_TIME_FREE(m) \ - if (m) { \ - timelib_free(m); \ - m = NULL; \ - } \ - #define TIMELIB_LLABS(y) (y < 0 ? (y * -1) : y) -#define HOUR(a) (int)(a * 60) +const char *timelib_error_messages[8] = { + "No error", + "Can not allocate buffer for parsing", + "Corrupt tzfile: The transitions in the file don't always increase", + "Corrupt tzfile: The expected 64-bit preamble is missing", + "Corrupt tzfile: No abbreviation could be found for a transition", + "The version used in this timezone identifier is unsupported", + "No timezone with this name could be found", +}; + +const char *timelib_get_error_message(int error_code) +{ + int entries = sizeof(timelib_error_messages) / sizeof(char*); + + if (error_code >= 0 && error_code < entries) { + return timelib_error_messages[error_code]; + } + return "Unknown error code"; +} timelib_time* timelib_time_ctor(void) { @@ -44,12 +57,23 @@ timelib_time* timelib_time_ctor(void) return t; } -timelib_rel_time* timelib_rel_time_ctor(void) +void timelib_time_dtor(timelib_time* t) { - timelib_rel_time *t; - t = timelib_calloc(1, sizeof(timelib_rel_time)); + TIMELIB_TIME_FREE(t->tz_abbr); + TIMELIB_TIME_FREE(t); +} - return t; +int timelib_time_compare(timelib_time *t1, timelib_time *t2) +{ + if (t1->sse == t2->sse) { + if (t1->us == t2->us) { + return 0; + } + + return (t1->us < t2->us) ? -1 : 1; + } + + return (t1->sse < t2->sse) ? -1 : 1; } timelib_time* timelib_time_clone(timelib_time *orig) @@ -65,21 +89,17 @@ timelib_time* timelib_time_clone(timelib_time *orig) return tmp; } -int timelib_time_compare(timelib_time *t1, timelib_time *t2) +timelib_rel_time* timelib_rel_time_ctor(void) { - if (t1->sse == t2->sse) { - if (t1->f == t2->f) { - return 0; - } + timelib_rel_time *t; + t = timelib_calloc(1, sizeof(timelib_rel_time)); - if (t1->sse < 0) { - return (t1->f < t2->f) ? 1 : -1; - } else { - return (t1->f < t2->f) ? -1 : 1; - } - } + return t; +} - return (t1->sse < t2->sse) ? -1 : 1; +void timelib_rel_time_dtor(timelib_rel_time* t) +{ + TIMELIB_TIME_FREE(t); } timelib_rel_time* timelib_rel_time_clone(timelib_rel_time *rel) @@ -101,17 +121,6 @@ void timelib_time_tz_abbr_update(timelib_time* tm, char* tz_abbr) } } -void timelib_time_dtor(timelib_time* t) -{ - TIMELIB_TIME_FREE(t->tz_abbr); - TIMELIB_TIME_FREE(t); -} - -void timelib_rel_time_dtor(timelib_rel_time* t) -{ - TIMELIB_TIME_FREE(t); -} - timelib_time_offset* timelib_time_offset_ctor(void) { timelib_time_offset *t; @@ -126,55 +135,6 @@ void timelib_time_offset_dtor(timelib_time_offset* t) TIMELIB_TIME_FREE(t); } -timelib_tzinfo* timelib_tzinfo_ctor(char *name) -{ - timelib_tzinfo *t; - t = timelib_calloc(1, sizeof(timelib_tzinfo)); - t->name = timelib_strdup(name); - - return t; -} - -timelib_tzinfo *timelib_tzinfo_clone(timelib_tzinfo *tz) -{ - timelib_tzinfo *tmp = timelib_tzinfo_ctor(tz->name); - tmp->bit32.ttisgmtcnt = tz->bit32.ttisgmtcnt; - tmp->bit32.ttisstdcnt = tz->bit32.ttisstdcnt; - tmp->bit32.leapcnt = tz->bit32.leapcnt; - tmp->bit32.timecnt = tz->bit32.timecnt; - tmp->bit32.typecnt = tz->bit32.typecnt; - tmp->bit32.charcnt = tz->bit32.charcnt; - - tmp->trans = (int32_t *) timelib_malloc(tz->bit32.timecnt * sizeof(int32_t)); - tmp->trans_idx = (unsigned char*) timelib_malloc(tz->bit32.timecnt * sizeof(unsigned char)); - memcpy(tmp->trans, tz->trans, tz->bit32.timecnt * sizeof(int32_t)); - memcpy(tmp->trans_idx, tz->trans_idx, tz->bit32.timecnt * sizeof(unsigned char)); - - tmp->type = (ttinfo*) timelib_malloc(tz->bit32.typecnt * sizeof(struct ttinfo)); - memcpy(tmp->type, tz->type, tz->bit32.typecnt * sizeof(struct ttinfo)); - - tmp->timezone_abbr = (char*) timelib_malloc(tz->bit32.charcnt); - memcpy(tmp->timezone_abbr, tz->timezone_abbr, tz->bit32.charcnt); - - tmp->leap_times = (tlinfo*) timelib_malloc(tz->bit32.leapcnt * sizeof(tlinfo)); - memcpy(tmp->leap_times, tz->leap_times, tz->bit32.leapcnt * sizeof(tlinfo)); - - return tmp; -} - -void timelib_tzinfo_dtor(timelib_tzinfo *tz) -{ - TIMELIB_TIME_FREE(tz->name); - TIMELIB_TIME_FREE(tz->trans); - TIMELIB_TIME_FREE(tz->trans_idx); - TIMELIB_TIME_FREE(tz->type); - TIMELIB_TIME_FREE(tz->timezone_abbr); - TIMELIB_TIME_FREE(tz->leap_times); - TIMELIB_TIME_FREE(tz->location.comments); - TIMELIB_TIME_FREE(tz); - tz = NULL; -} - char *timelib_get_tz_abbr_ptr(timelib_time *t) { if (!t->sse_uptodate) { @@ -218,9 +178,24 @@ timelib_long timelib_date_to_int(timelib_time *d, int *error) void timelib_decimal_hour_to_hms(double h, int *hour, int *min, int *sec) { - *hour = floor(h); - *min = floor((h - *hour) * 60); - *sec = (h - *hour - ((float) *min / 60)) * 3600; + if (h > 0) { + *hour = floor(h); + *min = floor((h - *hour) * 60); + *sec = (h - *hour - ((float) *min / 60)) * 3600; + } else { + *hour = ceil(h); + *min = 0 - ceil((h - *hour) * 60); + *sec = 0 - (h - *hour - ((float) *min / -60)) * 3600; + } +} + +void timelib_hms_to_decimal_hour(int hour, int min, int sec, double *h) +{ + if (hour > 0) { + *h = ((double)hour + (double)min / 60 + (double)sec / 3600); + } else { + *h = ((double)hour - (double)min / 60 - (double)sec / 3600); + } } void timelib_dump_date(timelib_time *d, int options) @@ -230,8 +205,8 @@ void timelib_dump_date(timelib_time *d, int options) } printf("TS: %lld | %s%04lld-%02lld-%02lld %02lld:%02lld:%02lld", d->sse, d->y < 0 ? "-" : "", TIMELIB_LLABS(d->y), d->m, d->d, d->h, d->i, d->s); - if (d->f > +0.0) { - printf(" %.6f", d->f); + if (d->us > 0) { + printf(" 0.%06lld", d->us); } if (d->is_localtime) { @@ -260,8 +235,8 @@ void timelib_dump_date(timelib_time *d, int options) if (d->have_relative) { printf("%3lldY %3lldM %3lldD / %3lldH %3lldM %3lldS", d->relative.y, d->relative.m, d->relative.d, d->relative.h, d->relative.i, d->relative.s); - if (d->relative.f) { - printf(" %6f", d->relative.f); + if (d->relative.us) { + printf(" 0.%06lld", d->relative.us); } if (d->relative.first_last_day_of != 0) { switch (d->relative.first_last_day_of) { @@ -310,36 +285,3 @@ void timelib_dump_rel_time(timelib_rel_time *d) } printf("\n"); } - -timelib_long timelib_parse_tz_cor(char **ptr) -{ - char *begin = *ptr, *end; - timelib_long tmp; - - while (isdigit(**ptr) || **ptr == ':') { - ++*ptr; - } - end = *ptr; - switch (end - begin) { - case 1: /* H */ - case 2: /* HH */ - return HOUR(strtol(begin, NULL, 10)); - break; - case 3: /* H:M */ - case 4: /* H:MM, HH:M, HHMM */ - 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: /* HH:MM */ - tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); - return tmp; - } - return 0; -} diff --git a/ext/date/lib/timelib.h b/ext/date/lib/timelib.h index e58a92a5e6..a3450f4f9a 100644 --- a/ext/date/lib/timelib.h +++ b/ext/date/lib/timelib.h @@ -25,11 +25,283 @@ #ifndef __TIMELIB_H__ #define __TIMELIB_H__ -#include "timelib_structs.h" -#if HAVE_LIMITS_H +#ifdef HAVE_TIMELIB_CONFIG_H +# include "timelib_config.h" +#endif + +#include <stdlib.h> #include <limits.h> +#include <inttypes.h> + +# ifndef HAVE_INT32_T +# if SIZEOF_INT == 4 +typedef int int32_t; +# elif SIZEOF_LONG == 4 +typedef long int int32_t; +# endif +# endif + +# ifndef HAVE_UINT32_T +# if SIZEOF_INT == 4 +typedef unsigned int uint32_t; +# elif SIZEOF_LONG == 4 +typedef unsigned long int uint32_t; +# endif +# endif + +#ifdef _WIN32 +# if _MSC_VER >= 1600 +# include <stdint.h> +# endif +# ifndef SIZEOF_INT +# define SIZEOF_INT 4 +# endif +# ifndef SIZEOF_LONG +# define SIZEOF_LONG 4 +# endif +# ifndef int32_t +typedef __int32 int32_t; +# endif +# ifndef uint32_t +typedef unsigned __int32 uint32_t; +# endif +# ifndef int64_t +typedef __int64 int64_t; +# endif +# ifndef uint64_t +typedef unsigned __int64 uint64_t; +# endif +# ifndef PRId32 +# define PRId32 "I32d" +# endif +# ifndef PRIu32 +# define PRIu32 "I32u" +# endif +# ifndef PRId64 +# define PRId64 "I64d" +# endif +# ifndef PRIu64 +# define PRIu64 "I64u" +# endif +# ifndef INT32_MAX +#define INT32_MAX _I32_MAX +# endif +# ifndef INT32_MIN +#define INT32_MIN ((int32_t)_I32_MIN) +# endif +# ifndef UINT32_MAX +#define UINT32_MAX _UI32_MAX +# endif +# ifndef INT64_MIN +#define INT64_MIN ((int64_t)_I64_MIN) +# endif +# ifndef INT64_MAX +#define INT64_MAX _I64_MAX +# endif +# ifndef UINT64_MAX +#define UINT64_MAX _UI64_MAX +# endif +#endif + +#if (defined(__x86_64__) || defined(__LP64__) || defined(_LP64) || defined(_WIN64)) && !defined(TIMELIB_FORCE_LONG32) +typedef int64_t timelib_long; +typedef uint64_t timelib_ulong; +# define TIMELIB_LONG_MAX INT64_MAX +# define TIMELIB_LONG_MIN INT64_MIN +# define TIMELIB_ULONG_MAX UINT64_MAX +# define TIMELIB_LONG_FMT "%" PRId64 +# define TIMELIB_ULONG_FMT "%" PRIu64 +#else +typedef int32_t timelib_long; +typedef uint32_t timelib_ulong; +# define TIMELIB_LONG_MAX INT32_MAX +# define TIMELIB_LONG_MIN INT32_MIN +# define TIMELIB_ULONG_MAX UINT32_MAX +# define TIMELIB_LONG_FMT "%" PRId32 +# define TIMELIB_ULONG_FMT "%" PRIu32 #endif +#if defined(_MSC_VER) +typedef uint64_t timelib_ull; +typedef int64_t timelib_sll; +# define TIMELIB_LL_CONST(n) n ## i64 +#else +typedef unsigned long long timelib_ull; +typedef signed long long timelib_sll; +# define TIMELIB_LL_CONST(n) n ## ll +#endif + +typedef struct ttinfo ttinfo; +typedef struct tlinfo tlinfo; + +typedef struct tlocinfo +{ + char country_code[3]; + double latitude; + double longitude; + char *comments; +} tlocinfo; + +typedef struct timelib_tzinfo +{ + char *name; + struct { + uint32_t ttisgmtcnt; + uint32_t ttisstdcnt; + uint32_t leapcnt; + uint32_t timecnt; + uint32_t typecnt; + uint32_t charcnt; + } bit32; + struct { + uint64_t ttisgmtcnt; + uint64_t ttisstdcnt; + uint64_t leapcnt; + uint64_t timecnt; + uint64_t typecnt; + uint64_t charcnt; + } bit64; + + int32_t *trans; + unsigned char *trans_idx; + + ttinfo *type; + char *timezone_abbr; + + tlinfo *leap_times; + unsigned char bc; + tlocinfo location; +} timelib_tzinfo; + +typedef struct timelib_rel_time { + timelib_sll y, m, d; /* Years, Months and Days */ + timelib_sll h, i, s; /* Hours, mInutes and Seconds */ + timelib_sll us; /* Microseconds */ + + int weekday; /* Stores the day in 'next monday' */ + int weekday_behavior; /* 0: the current day should *not* be counted when advancing forwards; 1: the current day *should* be counted */ + + int first_last_day_of; + int invert; /* Whether the difference should be inverted */ + timelib_sll days; /* Contains the number of *days*, instead of Y-M-D differences */ + + struct { + unsigned int type; + timelib_sll amount; + } special; + + unsigned int have_weekday_relative, have_special_relative; +} timelib_rel_time; + +typedef struct timelib_time_offset { + int32_t offset; + unsigned int leap_secs; + unsigned int is_dst; + char *abbr; + timelib_sll transition_time; +} timelib_time_offset; + +typedef struct timelib_time { + timelib_sll y, m, d; /* Year, Month, Day */ + timelib_sll h, i, s; /* Hour, mInute, Second */ + timelib_sll us; /* Microseconds */ + int z; /* UTC offset in seconds */ + char *tz_abbr; /* Timezone abbreviation (display only) */ + timelib_tzinfo *tz_info; /* Timezone structure */ + signed int dst; /* Flag if we were parsing a DST zone */ + timelib_rel_time relative; + + timelib_sll sse; /* Seconds since epoch */ + + unsigned int have_time, have_date, have_zone, have_relative, have_weeknr_day; + + unsigned int sse_uptodate; /* !0 if the sse member is up to date with the date/time members */ + unsigned int tim_uptodate; /* !0 if the date/time members are up to date with the sse member */ + unsigned int is_localtime; /* 1 if the current struct represents localtime, 0 if it is in GMT */ + unsigned int zone_type; /* 1 time offset, + * 3 TimeZone identifier, + * 2 TimeZone abbreviation */ +} timelib_time; + +typedef struct timelib_abbr_info { + timelib_sll utc_offset; + char *abbr; + int dst; +} timelib_abbr_info; + +#define TIMELIB_WARN_MASK 0x1ff +#define TIMELIB_ERR_MASK 0x2ff + +#define TIMELIB_WARN_DOUBLE_TZ 0x101 +#define TIMELIB_WARN_INVALID_TIME 0x102 +#define TIMELIB_WARN_INVALID_DATE 0x103 +#define TIMELIB_WARN_TRAILING_DATA 0x11a + +#define TIMELIB_ERR_DOUBLE_TZ 0x201 +#define TIMELIB_ERR_TZID_NOT_FOUND 0x202 +#define TIMELIB_ERR_DOUBLE_TIME 0x203 +#define TIMELIB_ERR_DOUBLE_DATE 0x204 +#define TIMELIB_ERR_UNEXPECTED_CHARACTER 0x205 +#define TIMELIB_ERR_EMPTY_STRING 0x206 +#define TIMELIB_ERR_UNEXPECTED_DATA 0x207 +#define TIMELIB_ERR_NO_TEXTUAL_DAY 0x208 +#define TIMELIB_ERR_NO_TWO_DIGIT_DAY 0x209 +#define TIMELIB_ERR_NO_THREE_DIGIT_DAY_OF_YEAR 0x20a +#define TIMELIB_ERR_NO_TWO_DIGIT_MONTH 0x20b +#define TIMELIB_ERR_NO_TEXTUAL_MONTH 0x20c +#define TIMELIB_ERR_NO_TWO_DIGIT_YEAR 0x20d +#define TIMELIB_ERR_NO_FOUR_DIGIT_YEAR 0x20e +#define TIMELIB_ERR_NO_TWO_DIGIT_HOUR 0x20f +#define TIMELIB_ERR_HOUR_LARGER_THAN_12 0x210 +#define TIMELIB_ERR_MERIDIAN_BEFORE_HOUR 0x211 +#define TIMELIB_ERR_NO_MERIDIAN 0x212 +#define TIMELIB_ERR_NO_TWO_DIGIT_MINUTE 0x213 +#define TIMELIB_ERR_NO_TWO_DIGIT_SECOND 0x214 +#define TIMELIB_ERR_NO_SIX_DIGIT_MICROSECOND 0x215 +#define TIMELIB_ERR_NO_SEP_SYMBOL 0x216 +#define TIMELIB_ERR_EXPECTED_ESCAPE_CHAR 0x217 +#define TIMELIB_ERR_NO_ESCAPED_CHAR 0x218 +#define TIMELIB_ERR_WRONG_FORMAT_SEP 0x219 +#define TIMELIB_ERR_TRAILING_DATA 0x21a +#define TIMELIB_ERR_DATA_MISSING 0x21b + +#define TIMELIB_ZONETYPE_OFFSET 1 +#define TIMELIB_ZONETYPE_ABBR 2 +#define TIMELIB_ZONETYPE_ID 3 + +typedef struct timelib_error_message { + int error_code; + int position; + char character; + char *message; +} timelib_error_message; + +typedef struct timelib_error_container { + struct timelib_error_message *error_messages; + struct timelib_error_message *warning_messages; + int error_count; + int warning_count; +} timelib_error_container; + +typedef struct _timelib_tz_lookup_table { + char *name; + int type; + float gmtoffset; + char *full_tz_name; +} timelib_tz_lookup_table; + +typedef struct _timelib_tzdb_index_entry { + char *id; + unsigned int pos; +} timelib_tzdb_index_entry; + +typedef struct _timelib_tzdb { + char *version; + int index_size; + const timelib_tzdb_index_entry *index; + const unsigned char *data; +} timelib_tzdb; + #ifndef timelib_malloc # define timelib_malloc malloc # define timelib_realloc realloc @@ -38,8 +310,8 @@ # define timelib_free free #endif -#define TIMELIB_VERSION 201605 -#define TIMELIB_ASCII_VERSION "2016.05" +#define TIMELIB_VERSION 201705 +#define TIMELIB_ASCII_VERSION "2017.05beta7" #define TIMELIB_NONE 0x00 #define TIMELIB_OVERRIDE_TIME 0x01 @@ -47,51 +319,172 @@ #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 - -#define TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH 0x01 -#define TIMELIB_SPECIAL_LAST_DAY_OF_MONTH 0x02 - -#ifndef LONG_MAX -#define LONG_MAX 2147483647L -#endif +/* An entry for each of these error codes is also in the + * timelib_error_messages array in timelib.c */ +#define TIMELIB_ERROR_NO_ERROR 0x00 +#define TIMELIB_ERROR_CANNOT_ALLOCATE 0x01 +#define TIMELIB_ERROR_CORRUPT_TRANSITIONS_DONT_INCREASE 0x02 +#define TIMELIB_ERROR_CORRUPT_NO_64BIT_PREAMBLE 0x03 +#define TIMELIB_ERROR_CORRUPT_NO_ABBREVIATION 0x04 +#define TIMELIB_ERROR_UNSUPPORTED_VERSION 0x05 +#define TIMELIB_ERROR_NO_SUCH_TIMEZONE 0x06 -#ifndef LONG_MIN -#define LONG_MIN (- LONG_MAX - 1) -#endif - -#if defined(_MSC_VER) && !defined(strcasecmp) -#define strcasecmp stricmp -#endif - -#if defined(_MSC_VER) && !defined(strncasecmp) -#define strncasecmp strnicmp +#ifdef __cplusplus +extern "C" { #endif /* Function pointers */ -typedef timelib_tzinfo* (*timelib_tz_get_wrapper)(char *tzname, const timelib_tzdb *tzdb); +typedef timelib_tzinfo* (*timelib_tz_get_wrapper)(char *tzname, const timelib_tzdb *tzdb, int *error_code); /* From dow.c */ +/* Calculates the day of the week from y, m, and d. 0=Sunday..6=Saturday */ timelib_sll timelib_day_of_week(timelib_sll y, timelib_sll m, timelib_sll d); + +/* Calculates the day of the ISO week from y, m, and d. 1=Monday, 7=Sunday */ timelib_sll timelib_iso_day_of_week(timelib_sll y, timelib_sll m, timelib_sll d); + +/* Calculates the day of the year according to y-m-d. 0=Jan 1st..364/365=Dec + * 31st */ timelib_sll timelib_day_of_year(timelib_sll y, timelib_sll m, timelib_sll d); -timelib_sll timelib_daynr_from_weeknr(timelib_sll y, timelib_sll w, timelib_sll d); + +/* Calculates the day of the year according to y-w-dow. 0..364/365 */ +timelib_sll timelib_daynr_from_weeknr(timelib_sll iy, timelib_sll iw, timelib_sll id); + +/* Calculates the number of days in month m for year y. 28..31 */ timelib_sll timelib_days_in_month(timelib_sll y, timelib_sll m); + +/* Calculates the ISO year and week from y, m, and d, into iw and iy */ void timelib_isoweek_from_date(timelib_sll y, timelib_sll m, timelib_sll d, timelib_sll *iw, timelib_sll *iy); + +/* Calculates the ISO year, week, and day of week from y, m, and d, into iy, + * iw, and id */ +void timelib_isodate_from_date(timelib_sll y, timelib_sll m, timelib_sll d, timelib_sll *iy, timelib_sll *iw, timelib_sll *id); + +/* Calculates the year, month, and day from iy, iw, and iw, into y, m, and d */ +void timelib_date_from_isodate(timelib_sll iy, timelib_sll iw, timelib_sll id, timelib_sll *y, timelib_sll *m, timelib_sll *d); + +/* Returns true if h, i and s fit in the range 00:00:00..23:59:59, false + * otherwise */ int timelib_valid_time(timelib_sll h, timelib_sll i, timelib_sll s); + +/* Returns true if m fits in the range 1..12, and d fits in the range + * 1..<days-in-month> for year y */ int timelib_valid_date(timelib_sll y, timelib_sll m, timelib_sll d); /* From parse_date.re */ + +/* Parses the date/time string in 's' with length 'len' into the constituent + * parts of timelib_time*. + * + * Depending on the contents of the string 's', not all elements might be + * filled. You can check whether a specific element has been parsed by + * comparing with the TIMELIB_UNSET define. + * + * If errors occur, this function keeps already parsed elements in the + * returned timelib_time* value. + * + * If the **errors points to a timelib_error_container variable, warnings + * and errors will be recorded. You are responsible for freeing the stored + * information with timelib_error_container_dtor(). To see whether errors have + * occured, inspect errors->errors_count. To see whether warnings have occured, + * inspect errors->warnings_count. + * + * The returned timelib_time* value is dynamically allocated and should be + * freed with timelib_time_dtor(). + */ timelib_time *timelib_strtotime(char *s, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper); + +/* Parses the date/time string in 's' with length 'len' into the constituent + * parts of timelib_time* according to the format in 'format'. + * + * Depending on the contents of the string 's', not all elements might be + * filled. You can check whether a specific element has been parsed by + * comparing with the TIMELIB_UNSET define. + * + * If errors occur, this function keeps already parsed elements in the + * returned timelib_time* value. + * + * If the **errors points to a timelib_error_container variable, warnings + * and errors will be recorded. You are responsible for freeing the stored + * information with timelib_error_container_dtor(). To see whether errors have + * occured, inspect errors->errors_count. To see whether warnings have occured, + * inspect errors->warnings_count. + * + * The returned timelib_time* value is dynamically allocated and should be + * freed with timelib_time_dtor(). + */ timelib_time *timelib_parse_from_format(char *format, char *s, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper); + +/* Fills the gaps in the parsed timelib_time with information from the reference date/time in 'now' + * + * If any of the 'parsed' y, m, d, h, i or s parameters is unset (TIMELIB_UNSET): + * - if microtime (us) is unset, then the us of the parsed time is set to 0. + * - else if microtime (us) is unset and 'now'->'us' is set, use it, otherwise use 0. + * + * For either of the 'parsed' y, m, d, h, i, s, z (utc offset in seconds) or + * dst is unset, set it to the corresponding value in 'now' if set, otherwise + * set it to 0. + * + * It duplicates tz_abbr if unset in 'parsed' but set in 'now'. + * + * It duplicates tz_info if unset in 'parsed', but set in 'now' unless + * TIMELIB_NO_CLONE is passed, in which case only the pointer in 'parsed' is + * set to 'now'. + * + * If the option TIMELIB_OVERRIDE_TIME is passed and the parsed date/time has + * no time portion, the function will ignore the time aspect in 'now' and + * instead fill it with zeros. + */ void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options); + +/* Tries to convert a time zone abbreviation, gmtoffset and/or isdst flag + * combination to a time zone identifier. + * + * If 'abbr' is either 'utc' or 'gmt' (case insensitve) then "UTC" is + * returned. + * + * It first uses the data in the timezonemap.h file to find a matching + * abbreviation/GMT offset combination. If not found, it uses the data in + * fallbackmap.h to match only the GMT offset/isdst flag to try to find a + * match. If nothing is found, NULL is returned. + * + * The returned char* is not duplicated, and should not be freed. + */ char *timelib_timezone_id_from_abbr(const char *abbr, timelib_long gmtoffset, int isdst); + +/* Returns an array of known time zone abbreviations + * + * This file is generated from the time zone database through the + * gettzmapping.php scripts, which requires that an up-to-date time zone + * database is used with the PHP binary that runs the script. + * + * Each item in the returned list contains the abbreviation, a flag whether + * it's an abbreviation used with DST, the UTC offset in seconds, and the name + * of the time zone identifier that this abbreviation belongs to. + * + * The order for each specific abbreviation is controlled through the + * preference list in the gettzmapping.php script. Time zones that match the + * pattern ±\d{2,4} are excluded + */ const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void); -timelib_long timelib_parse_tz_cor(char**); + +/** + * DEPRECATED, but still used by PHP. + */ +timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper); /* From parse_iso_intervals.re */ + +/** + * Parses a subset of an ISO 8601 intervals specification string into its + * constituent parts. + * + * If the **errors points to a timelib_error_container variable, warnings + * and errors will be recorded. You are responsible for freeing the stored + * information with timelib_error_container_dtor(). To see whether errors have + * occured, inspect errors->errors_count. To see whether warnings have occured, + * inspect errors->warnings_count. + */ void timelib_strtointerval(char *s, size_t len, timelib_time **begin, timelib_time **end, timelib_rel_time **period, int *recurrences, @@ -99,67 +492,395 @@ void timelib_strtointerval(char *s, size_t len, /* From tm2unixtime.c */ + +/** + * Uses the y/m/d/h/i/s fields to calculate and store the equivalent timestamp + * in the sse field. + * + * It uses the time zone information associated with 'time' to account for the + * right UTC offset and/or DST rules. You can associate time zone information + * with the timelib_set_timezone_* functions (see below). + * + * If the type is 'TIMELIB_ZONETYPE_ID' and there is no associated tzinfo, it + * will use the second argument 'tzi' to provide the rules necessary to + * calculate the right timestamp. + */ void timelib_update_ts(timelib_time* time, timelib_tzinfo* tzi); + +/** + * Takes the information from the y/m/d/h/i/s fields and makes sure their + * values are in the right range. + * + * If a value under- or overflows it will adjust the larger measure up (or + * down). It also takes into account leap days. + */ void timelib_do_normalize(timelib_time *base); + +/** + * Takes the information from the y/m/d/h/i/s fields of 'rt' and makes sure + * their values are in the right range. + * + * If a value under- or overflows it will adjust the larger measure up (or + * down). As this function operates on a *relative date/time*, it also takes + * into account leap days and correctly accounts for the difference depending + * on the base date/time in 'base'. + */ void timelib_do_rel_normalize(timelib_time *base, timelib_rel_time *rt); /* From unixtime2tm.c */ -int timelib_apply_localtime(timelib_time *t, unsigned int localtime); + +/** + * Takes the unix timestamp in seconds from 'ts' and populates the y/m/d/h/i/s + * fields of 'tm' without taking time zones into account + */ void timelib_unixtime2gmt(timelib_time* tm, timelib_sll ts); + +/** + * Takes the Unix timestamp from 'ts', and calculates the y/m/d/h/i/s fields + * according to the time zone information attached to 'tm'. + */ void timelib_unixtime2local(timelib_time *tm, timelib_sll ts); + +/** + * Takes the Unix timestamp stored in 'tm', and calculates the y/m/d/h/i/s + * fields according to the time zone information attached to 'tm'. + */ void timelib_update_from_sse(timelib_time *tm); + +/** + * Attaches the UTC offset as time zone information to 't'. + * + * 'utc_offset' is in seconds East of UTC. + */ void timelib_set_timezone_from_offset(timelib_time *t, timelib_sll utc_offset); + +/** + * Attaches the information from 'abbr_info' as time zone information to 't'. + * + * The timelib_abbr_info struct contains an abbreviation ('abbr') which string + * value is duplicated, as well as a 'utc_offset' and 'dst' flag. It only + * supports a 'dst' change over of 1 hour. + */ void timelib_set_timezone_from_abbr(timelib_time *t, timelib_abbr_info abbr_info); + +/** + * Attaches the time zone information in 'tz' to to 't'. + * + * It fetches the right UTC offset that is currently stored in the time + * stamp field in 't' ('sse'), and assigns that to the 'z' field and 'dst' + * field (whether DST is in effect at the time). It also sets the current + * abbrevation to the 'tz_addr' field, making sure that if a value was already + * set it was freed. + * + * The time zone information in 'tz' is *not* duplicated into the 't' field so + * it should not be freed until all timelib_time* variables have been freed as + * well. + */ void timelib_set_timezone(timelib_time *t, timelib_tzinfo *tz); /* From parse_tz.c */ + +/** + * Returns whether the time zone ID 'timezone' is available in the time zone + * database as pointed to be 'tzdb'. + */ int timelib_timezone_id_is_valid(char *timezone, const timelib_tzdb *tzdb); -timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb); + +/** + * Converts the binary stored time zone information from 'tzdb' for the time + * zone 'timeozne' into a structure the library can use for calculations. + * + * The function can be used on both timelib_builtin_db as well as a time zone + * db as opened by timelib_zoneinfo. + * The function will return null upon failure, and also set an error code + * through 'error_code'. 'error_code' must not be a null pointer. The error + * code is one of the TIMELIB_ERROR_* constants as listed above. These error + * constants can be converted into a string by timelib_get_error_message. + * + * This function allocates memory for the new time zone structure, which must + * be freed after use. Although it is recommended that a cache of each used + * time zone is kept. + */ +timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb, int *error_code); + +/** + * Frees up the resources allocated by 'timelib_parse_tzfile'. + */ +void timelib_tzinfo_dtor(timelib_tzinfo *tz); + +/** + * Deep-clones a timelib_tzinfo structure. + * + * This allocates resources that need to be freed with 'timelib_tzinfo_dtor' + */ +timelib_tzinfo* timelib_tzinfo_clone(timelib_tzinfo *tz); + +/** + * Returns whether DST is active with time zone 'tz' for the time stamp 'ts'. + * + * Returns 0 if DST is not active, 1 if DST is active, or -1 if no transitions + * were available through 'tz'. + */ int timelib_timestamp_is_in_dst(timelib_sll ts, timelib_tzinfo *tz); + +/** + * Returns offset information with time zone 'tz' for the time stamp 'ts'. + * + * The returned information contains: the offset in seconds East of UTC (in + * 'offset'), whether DST is active ('is_dst'), what the current time zone + * abbreviation is ('abbr') and the transition time that got to this state (in + * 'transistion_time'); + */ timelib_time_offset *timelib_get_time_zone_info(timelib_sll ts, timelib_tzinfo *tz); + +/** + * Returns the UTC offset currently applicable for the information stored in 't'. + * + * The value returned is the UTC offset in seconds East. + */ timelib_sll timelib_get_current_offset(timelib_time *t); + +/** + * Displays debugging information about the time zone information in 'tz'. + */ void timelib_dump_tzinfo(timelib_tzinfo *tz); + +/** + * Returns a pointer to the built-in time zone database. + * + * You must *not* free the returned pointer as it is part of the text segment. + */ const timelib_tzdb *timelib_builtin_db(void); -const timelib_tzdb_index_entry *timelib_timezone_builtin_identifiers_list(int *count); -timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper); + +/** + * Returns a pointer to the start of an array containing a list of timezone identifiers. + * + * The amount of entries in the array is returned through the 'count' OUT parameter. + * + * Each entry contains the time zone ID ('id' field), and the position within the time zone + * information ('pos' field). The pos field should not be used. + */ +const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(timelib_tzdb *tzdb, int *count); + +/* From parse_zoneinfo.c */ + +/** + * Scans the directory and subdirectories of 'directory' for valid time zone files and builds + * a time zone database out of these files. + * + * Typically, the directory should point to '/usr/share/zoneinfo'. + * + * Unlike 'timelib_builtin_db', the return value of this function must be freed + * with the 'timelib_zoneinfo_dtor' function. + */ +timelib_tzdb *timelib_zoneinfo(char *directory); + +/** + * Frees up the resources as created through 'timelib_zoneinfo'. + * + * This function must be used to free up all the resources that have been + * allocated while calling 'timelib_zoneinfo'. + */ +void timelib_zoneinfo_dtor(timelib_tzdb *tzdb); /* From timelib.c */ -timelib_tzinfo* timelib_tzinfo_ctor(char *name); -void timelib_time_tz_abbr_update(timelib_time* tm, char* tz_abbr); -void timelib_time_tz_name_update(timelib_time* tm, char* tz_name); -void timelib_tzinfo_dtor(timelib_tzinfo *tz); -timelib_tzinfo* timelib_tzinfo_clone(timelib_tzinfo *tz); +/** + * Returns a static string containing an error message belonging to a specific + * error code. + */ +const char *timelib_get_error_message(int error_code); + +/** + * Allocates resources for the relative time structure. + * + * Must be freed with 'timelib_rel_time_dtor'. + */ timelib_rel_time* timelib_rel_time_ctor(void); + +/** + * Frees up the resources as allocated through 'timelib_rel_time_ctor'. + */ void timelib_rel_time_dtor(timelib_rel_time* t); + +/** + * Creates a new timelib_rel_time resource and copies over the information + * from 'tz'. + * + * Must be freed with 'timelib_rel_time_dtor'. + */ timelib_rel_time* timelib_rel_time_clone(timelib_rel_time *tz); +/** + * Allocates resources for the time structure. + * + * Must be freed with 'timelib_time_dtor'. + */ timelib_time* timelib_time_ctor(void); -void timelib_time_set_option(timelib_time* tm, int option, void* option_value); + +/** + * Frees up the resources as allocated through 'timelib_time_ctor'. + */ void timelib_time_dtor(timelib_time* t); + +/** + * Creates a new timelib_time resource and copies over the information + * from 'orig'. + * + * Must be freed with 'timelib_time_dtor'. + */ timelib_time* timelib_time_clone(timelib_time* orig); + +/** + * Compares two timelib_time structures and returns which one is earlier in + * time. + * + * To decide which comes earlier it uses the 'sse' (Seconds Since Epoch) and + * 'us' (microseconds) fields. + * + * Returns -1 if t1 < t2, 0 if t1 == t2, and -1 if t1 > t2. + */ int timelib_time_compare(timelib_time *t1, timelib_time *t2); -void timelib_set_fraction_from_timeval(timelib_time *t, struct timeval tp); +/** + * Allocates resources for the time offset structure. + * + * Must be freed with 'timelib_time_offset_dtor'. + */ timelib_time_offset* timelib_time_offset_ctor(void); + +/** + * Frees up the resources as allocated through 'timelib_time_offset_ctor'. + */ void timelib_time_offset_dtor(timelib_time_offset* t); +/** + * Frees up the resources allocated while converting strings to timelib_time + * structures with the timelib_strtotime and timelib_strtointerval functions. + */ void timelib_error_container_dtor(timelib_error_container *errors); +/** + * Converts the 'sse' value of 'd' to a timelib_long type. + * + * If the value fits in the TIMELIB_LONG_MIN and TIMELIB_LONG_MAX range, the + * value is cast to (timelib_long) and returned. If *error is not a NULL + * pointer, it will be set to 0. + * + * If the value does *not* fit in the range, the function returns 0 and if + * *error is not a NULL pointer, it will be set to 1. + * + * timelib_long is a 32 bit signed long integer on 32 bit platforms, and a 64 + * bit signed long long integer on 64 bit platforms. In other words, it makes + * sure that the value in 'sse' (which is always a signed long long 64 bit + * integer) can be used safely outside of the library. + */ timelib_long timelib_date_to_int(timelib_time *d, int *error); + +/** + * Displays debugging information about the date/time information stored in 'd'. + * + * 'options' is a bit field, where: + * - 1 controls whether the relative time portion is shown. + * - 2 controls whether the zone type is shown. + */ void timelib_dump_date(timelib_time *d, int options); + +/** + * Displays debugging information about the relative time information stored + * in 'd'. + */ void timelib_dump_rel_time(timelib_rel_time *d); +/** + * Converts a decimal hour into hour/min/sec components + */ void timelib_decimal_hour_to_hms(double h, int *hour, int *min, int *sec); -timelib_long timelib_parse_tz_cor(char **ptr); + +/** + * Converts hour/min/sec values into a decimal hour + */ +void timelib_hms_to_decimal_hour(int hour, int min, int sec, double *h); /* from astro.c */ -double timelib_ts_to_juliandate(timelib_sll ts); + +/** + * Converts the Unix Epoch time stamp 'ts' to a Julian Day + * + * The value returned is the number of whole days since -4714-11-24T12:00:00 UTC + * (in the proleptic Gregorian calendar): + * https://en.wikipedia.org/wiki/Julian_day + */ +double timelib_ts_to_julianday(timelib_sll ts); + +/** + * Converts the Unix Epoch time stamp 'ts' to the J2000 epoch + * + * The value returned is the number of whole days since 2000-01-01T12:00:00 + * UTC: https://en.wikipedia.org/wiki/Epoch_(astronomy)#Julian_years_and_J2000 + */ +double timelib_ts_to_j2000(timelib_sll ts); + +/** + * Calculates when the Sun is above a certain latitude. + * + * Parameters: + * - time: A timelib_time time describing that needs to specific midnight for a + * specific day. + * - lon: The longitude of the observer (East positive, West negative). + * - lat: The latitude of the observer (North positive, South negative). + * - altit: The altitude. Set to -35/60 for rise/set, -6 for civil twilight, + * -12 for nautical, and -18 for astronomical twilight. + * - upper_limb: set to non-zero for rise/set calculations, and 0 for twilight + * calculations. + * + * Out Parameters: + * - h_rise: The decimal hour when the Sun rises + * - h_set: The decimal hour when the Sun sets + * - ts_rise: The Unix timestamp of the Sun rising + * - ts_set: The Unix timestamp of the Sun setting + * - ts_transit: The Unix timestmap of the Sun transitting through South + * + * Return Values: + * - 0: The Sun rises and sets. + * - +1: The Sun is always above the horizon. (ts_rise is set to ts_transit - + * (12 * 3600); ts_set is set to ts_transit + (12 * 3600). + * - -1: The Sun is awlays below the horizon. (ts_rise and ts_set are set + * to ts_transit) + */ int timelib_astro_rise_set_altitude(timelib_time *time, double lon, double lat, double altit, int upper_limb, double *h_rise, double *h_set, timelib_sll *ts_rise, timelib_sll *ts_set, timelib_sll *ts_transit); /* from interval.c */ + +/** + * Calculates the difference between two times + * + * The result is a timelib_rel_time structure that describes how you can + * convert from 'one' to 'two' with 'timelib_add'. This does *not* necessarily + * mean that you can go from 'two' to 'one' by using 'timelib_sub' due to the + * way months and days are calculated. + */ timelib_rel_time *timelib_diff(timelib_time *one, timelib_time *two); + +/** + * Adds the relative time information 'interval' to the base time 't'. + * + * This can be a relative time as created by 'timelib_diff', but also by more + * complex statements such as "next workday". + */ timelib_time *timelib_add(timelib_time *t, timelib_rel_time *interval); + +/** + * Subtracts the relative time information 'interval' to the base time 't'. + * + * This can be a relative time as created by 'timelib_diff'. Unlike with + * 'timelib_add', this does not support more complex statements such as "next + * workday". + */ timelib_time *timelib_sub(timelib_time *t, timelib_rel_time *interval); +#ifdef __cplusplus +} /* extern "C" */ +#endif + #endif diff --git a/ext/date/lib/timelib.m4 b/ext/date/lib/timelib.m4 index 99bf9fad20..e112380da0 100644 --- a/ext/date/lib/timelib.m4 +++ b/ext/date/lib/timelib.m4 @@ -69,11 +69,14 @@ TL_CHECK_INT_TYPE(uint32_t) dnl Check for headers needed by timelib AC_CHECK_HEADERS([ \ +sys/time.h \ sys/types.h \ -inttypes.h \ stdint.h \ +dirent.h \ string.h \ -stdlib.h +strings.h \ +unistd.h \ +io.h ]) dnl Check for strtoll, atoll diff --git a/ext/date/lib/timelib_private.h b/ext/date/lib/timelib_private.h new file mode 100644 index 0000000000..cd402e0ac2 --- /dev/null +++ b/ext/date/lib/timelib_private.h @@ -0,0 +1,158 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2015 Derick Rethans + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef __TIMELIB_PRIVATE_H__ +#define __TIMELIB_PRIVATE_H__ + +#ifdef HAVE_SETLOCALE +# include "locale.h" +#endif + +#ifdef HAVE_TIMELIB_CONFIG_H +# include "timelib_config.h" +#endif + +#ifdef HAVE_SYS_TIME_H +# include <sys/time.h> +#endif + +#ifdef _WIN32 +# ifdef HAVE_WINSOCK2_H +# include <winsock2.h> +# endif +#endif + +#ifdef HAVE_STRING_H +# include <string.h> +#endif + +#ifdef HAVE_STRINGS_H +# include <strings.h> +#endif + +#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif + +#if defined(HAVE_STDINT_H) +# include <stdint.h> +#endif + +#if HAVE_UNISTD_H +# include <unistd.h> +#endif + +#if HAVE_IO_H +# include <io.h> +#endif + +#if HAVE_DIRENT_H +# include <dirent.h> +#endif + +#include <stdio.h> + +#if HAVE_LIMITS_H +#include <limits.h> +#endif + +#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 TIMELIB_MICROSEC 9 + +#define TIMELIB_SPECIAL_WEEKDAY 0x01 +#define TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH 0x02 +#define TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH 0x03 + +#define TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH 0x01 +#define TIMELIB_SPECIAL_LAST_DAY_OF_MONTH 0x02 + +#define SECS_PER_ERA TIMELIB_LL_CONST(12622780800) +#define SECS_PER_DAY 86400 +#define DAYS_PER_YEAR 365 +#define DAYS_PER_LYEAR 366 +/* 400*365 days + 97 leap days */ +#define DAYS_PER_LYEAR_PERIOD 146097 +#define YEARS_PER_LYEAR_PERIOD 400 + +#define TIMELIB_TZINFO_PHP 0x01 +#define TIMELIB_TZINFO_ZONEINFO 0x02 + +#define timelib_is_leap(y) ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0)) + +#define TIMELIB_DEBUG(s) if (0) { s } + +#define TIMELIB_TIME_FREE(m) \ + if (m) { \ + timelib_free(m); \ + m = NULL; \ + } + +typedef struct ttinfo +{ + int32_t offset; + int isdst; + unsigned int abbr_idx; + + unsigned int isstdcnt; + unsigned int isgmtcnt; +} ttinfo; + +typedef struct tlinfo +{ + int32_t trans; + int32_t offset; +} tlinfo; + + +#ifndef LONG_MAX +#define LONG_MAX 2147483647L +#endif + +#ifndef LONG_MIN +#define LONG_MIN (- LONG_MAX - 1) +#endif + +#if defined(_MSC_VER) && !defined(strcasecmp) +#define strcasecmp stricmp +#endif + +#if defined(_MSC_VER) && !defined(strncasecmp) +#define strncasecmp strnicmp +#endif + +/* From unixtime2tm.c */ +int timelib_apply_localtime(timelib_time *t, unsigned int localtime); + +/* From parse_tz.c */ +void timelib_time_tz_abbr_update(timelib_time* tm, char* tz_abbr); + + +#endif diff --git a/ext/date/lib/timelib_structs.h b/ext/date/lib/timelib_structs.h deleted file mode 100644 index 4256dd4f6f..0000000000 --- a/ext/date/lib/timelib_structs.h +++ /dev/null @@ -1,316 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 2015 Derick Rethans - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#ifndef __TIMELIB_STRUCTS_H__ -#define __TIMELIB_STRUCTS_H__ - -#ifdef HAVE_TIMELIB_CONFIG_H -# include "timelib_config.h" -#endif - -#ifndef TIMELIB_OMIT_STDINT - -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif - -#if defined(HAVE_INTTYPES_H) -#include <inttypes.h> -#elif defined(HAVE_STDINT_H) -#include <stdint.h> -#endif - -# ifndef HAVE_INT32_T -# if SIZEOF_INT == 4 -typedef int int32_t; -# elif SIZEOF_LONG == 4 -typedef long int int32_t; -# endif -# endif - -# ifndef HAVE_UINT32_T -# if SIZEOF_INT == 4 -typedef unsigned int uint32_t; -# elif SIZEOF_LONG == 4 -typedef unsigned long int uint32_t; -# endif -# endif - -#ifdef _WIN32 -# if _MSC_VER >= 1600 -# include <stdint.h> -# endif -# ifndef SIZEOF_INT -# define SIZEOF_INT 4 -# endif -# ifndef SIZEOF_LONG -# define SIZEOF_LONG 4 -# endif -# ifndef int32_t -typedef __int32 int32_t; -# endif -# ifndef uint32_t -typedef unsigned __int32 uint32_t; -# endif -# ifndef int64_t -typedef __int64 int64_t; -# endif -# ifndef uint64_t -typedef unsigned __int64 uint64_t; -# endif -# ifndef PRId32 -# define PRId32 "I32d" -# endif -# ifndef PRIu32 -# define PRIu32 "I32u" -# endif -# ifndef PRId64 -# define PRId64 "I64d" -# endif -# ifndef PRIu64 -# define PRIu64 "I64u" -# endif -# ifndef INT32_MAX -#define INT32_MAX _I32_MAX -# endif -# ifndef INT32_MIN -#define INT32_MIN ((int32_t)_I32_MIN) -# endif -# ifndef UINT32_MAX -#define UINT32_MAX _UI32_MAX -# endif -# ifndef INT64_MIN -#define INT64_MIN ((int64_t)_I64_MIN) -# endif -# ifndef INT64_MAX -#define INT64_MAX _I64_MAX -# endif -# ifndef UINT64_MAX -#define UINT64_MAX _UI64_MAX -# endif -#endif - -#endif /* TIMELIB_OMIT_STDINT */ - -#include <stdio.h> - -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif - -#ifdef HAVE_STRING_H -#include <string.h> -#else -#include <strings.h> -#endif - -#if (defined(__x86_64__) || defined(__LP64__) || defined(_LP64) || defined(_WIN64)) && !defined(TIMELIB_FORCE_LONG32) -typedef int64_t timelib_long; -typedef uint64_t timelib_ulong; -# define TIMELIB_LONG_MAX INT64_MAX -# define TIMELIB_LONG_MIN INT64_MIN -# define TIMELIB_ULONG_MAX UINT64_MAX -# define TIMELIB_LONG_FMT "%" PRId64 -# define TIMELIB_ULONG_FMT "%" PRIu64 -#else -typedef int32_t timelib_long; -typedef uint32_t timelib_ulong; -# define TIMELIB_LONG_MAX INT32_MAX -# define TIMELIB_LONG_MIN INT32_MIN -# define TIMELIB_ULONG_MAX UINT32_MAX -# define TIMELIB_LONG_FMT "%" PRId32 -# define TIMELIB_ULONG_FMT "%" PRIu32 -#endif - -#if defined(_MSC_VER) -typedef uint64_t timelib_ull; -typedef int64_t timelib_sll; -# define TIMELIB_LL_CONST(n) n ## i64 -#else -typedef unsigned long long timelib_ull; -typedef signed long long timelib_sll; -# define TIMELIB_LL_CONST(n) n ## ll -#endif - -typedef struct ttinfo -{ - int32_t offset; - int isdst; - unsigned int abbr_idx; - - unsigned int isstdcnt; - unsigned int isgmtcnt; -} ttinfo; - -typedef struct tlinfo -{ - int32_t trans; - int32_t offset; -} tlinfo; - -typedef struct tlocinfo -{ - char country_code[3]; - double latitude; - double longitude; - char *comments; -} tlocinfo; - -typedef struct timelib_tzinfo -{ - char *name; - struct { - uint32_t ttisgmtcnt; - uint32_t ttisstdcnt; - uint32_t leapcnt; - uint32_t timecnt; - uint32_t typecnt; - uint32_t charcnt; - } bit32; - struct { - uint64_t ttisgmtcnt; - uint64_t ttisstdcnt; - uint64_t leapcnt; - uint64_t timecnt; - uint64_t typecnt; - uint64_t charcnt; - } bit64; - - int32_t *trans; - unsigned char *trans_idx; - - ttinfo *type; - char *timezone_abbr; - - tlinfo *leap_times; - unsigned char bc; - tlocinfo location; -} timelib_tzinfo; - -typedef struct timelib_special { - unsigned int type; - timelib_sll amount; -} timelib_special; - -typedef struct timelib_rel_time { - timelib_sll y, m, d; /* Years, Months and Days */ - timelib_sll h, i, s; /* Hours, mInutes and Seconds */ - double f; /* Fraction */ - - int weekday; /* Stores the day in 'next monday' */ - int weekday_behavior; /* 0: the current day should *not* be counted when advancing forwards; 1: the current day *should* be counted */ - - int first_last_day_of; - int invert; /* Whether the difference should be inverted */ - timelib_sll days; /* Contains the number of *days*, instead of Y-M-D differences */ - - timelib_special special; - unsigned int have_weekday_relative, have_special_relative; -} timelib_rel_time; - -typedef struct timelib_time_offset { - int32_t offset; - unsigned int leap_secs; - unsigned int is_dst; - char *abbr; - timelib_sll transistion_time; -} timelib_time_offset; - -typedef struct timelib_time { - timelib_sll y, m, d; /* Year, Month, Day */ - timelib_sll h, i, s; /* Hour, mInute, Second */ - double f; /* Fraction */ - int z; /* GMT offset in minutes */ - char *tz_abbr; /* Timezone abbreviation (display only) */ - timelib_tzinfo *tz_info; /* Timezone structure */ - signed int dst; /* Flag if we were parsing a DST zone */ - timelib_rel_time relative; - - timelib_sll sse; /* Seconds since epoch */ - - unsigned int have_time, have_date, have_zone, have_relative, have_weeknr_day; - - unsigned int sse_uptodate; /* !0 if the sse member is up to date with the date/time members */ - unsigned int tim_uptodate; /* !0 if the date/time members are up to date with the sse member */ - unsigned int is_localtime; /* 1 if the current struct represents localtime, 0 if it is in GMT */ - unsigned int zone_type; /* 1 time offset, - * 3 TimeZone identifier, - * 2 TimeZone abbreviation */ -} timelib_time; - -typedef struct timelib_abbr_info { - timelib_sll utc_offset; - char *abbr; - int dst; -} timelib_abbr_info; - -typedef struct timelib_error_message { - int position; - char character; - char *message; -} timelib_error_message; - -typedef struct timelib_error_container { - struct timelib_error_message *error_messages; - struct timelib_error_message *warning_messages; - int error_count; - int warning_count; -} timelib_error_container; - -typedef struct _timelib_tz_lookup_table { - char *name; - int type; - float gmtoffset; - char *full_tz_name; -} timelib_tz_lookup_table; - -typedef struct _timelib_tzdb_index_entry { - char *id; - unsigned int pos; -} timelib_tzdb_index_entry; - -typedef struct _timelib_tzdb { - char *version; - int index_size; - const timelib_tzdb_index_entry *index; - const unsigned char *data; -} timelib_tzdb; - -#define TIMELIB_ZONETYPE_OFFSET 1 -#define TIMELIB_ZONETYPE_ABBR 2 -#define TIMELIB_ZONETYPE_ID 3 - -#define SECS_PER_ERA TIMELIB_LL_CONST(12622780800) -#define SECS_PER_DAY 86400 -#define DAYS_PER_YEAR 365 -#define DAYS_PER_LYEAR 366 -/* 400*365 days + 97 leap days */ -#define DAYS_PER_LYEAR_PERIOD 146097 -#define YEARS_PER_LYEAR_PERIOD 400 - -#define timelib_is_leap(y) ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0)) - -#define TIMELIB_DEBUG(s) if (0) { s } - -#endif diff --git a/ext/date/lib/timezonemap.h b/ext/date/lib/timezonemap.h index d8898bf33d..5859d22f66 100644 --- a/ext/date/lib/timezonemap.h +++ b/ext/date/lib/timezonemap.h @@ -4,29 +4,18 @@ { "acdt", 1, 37800, "Australia/North" }, { "acdt", 1, 37800, "Australia/South" }, { "acdt", 1, 37800, "Australia/Yancowinna" }, - { "acst", 1, -14400, "America/Porto_Acre" }, { "acst", 0, 32400, "Australia/Adelaide" }, { "acst", 0, 34200, "Australia/Adelaide" }, - { "acst", 1, -14400, "America/Eirunepe" }, - { "acst", 1, -14400, "America/Rio_Branco" }, - { "acst", 1, -14400, "Brazil/Acre" }, { "acst", 0, 32400, "Australia/Broken_Hill" }, { "acst", 0, 32400, "Australia/Darwin" }, { "acst", 0, 32400, "Australia/North" }, { "acst", 0, 32400, "Australia/South" }, { "acst", 0, 32400, "Australia/Yancowinna" }, - { "acst", 0, 34200, "Asia/Jayapura" }, { "acst", 0, 34200, "Australia/Broken_Hill" }, { "acst", 0, 34200, "Australia/Darwin" }, { "acst", 0, 34200, "Australia/North" }, { "acst", 0, 34200, "Australia/South" }, { "acst", 0, 34200, "Australia/Yancowinna" }, - { "act", 0, -18000, "America/Porto_Acre" }, - { "act", 0, -18000, "America/Eirunepe" }, - { "act", 0, -18000, "America/Rio_Branco" }, - { "act", 0, -18000, "Brazil/Acre" }, - { "acwdt", 1, 35100, "Australia/Eucla" }, - { "acwst", 0, 31500, "Australia/Eucla" }, { "addt", 1, -7200, "America/Goose_Bay" }, { "addt", 1, -7200, "America/Pangnirtung" }, { "adt", 1, -10800, "America/Halifax" }, @@ -40,7 +29,6 @@ { "adt", 1, -10800, "America/Thule" }, { "adt", 1, -10800, "Atlantic/Bermuda" }, { "adt", 1, -10800, "Canada/Atlantic" }, - { "adt", 1, 14400, "Asia/Baghdad" }, { "aedt", 1, 39600, "Australia/Melbourne" }, { "aedt", 1, 39600, "Antarctica/Macquarie" }, { "aedt", 1, 39600, "Australia/ACT" }, @@ -69,8 +57,6 @@ { "aest", 0, 36000, "Australia/Sydney" }, { "aest", 0, 36000, "Australia/Tasmania" }, { "aest", 0, 36000, "Australia/Victoria" }, - { "aft", 0, 16200, "Asia/Kabul" }, - { "aft", 0, 14400, "Asia/Kabul" }, { "ahdt", 1, -32400, "America/Anchorage" }, { "ahst", 0, -36000, "America/Anchorage" }, { "ahst", 0, -36000, "America/Adak" }, @@ -87,31 +73,9 @@ { "akst", 0, -32400, "America/Nome" }, { "akst", 0, -32400, "America/Sitka" }, { "akst", 0, -32400, "America/Yakutat" }, - { "amst", 1, -10800, "America/Boa_Vista" }, - { "amst", 1, -10800, "America/Campo_Grande" }, - { "amst", 1, -10800, "America/Cuiaba" }, - { "amst", 1, -10800, "America/Manaus" }, - { "amst", 1, -10800, "America/Porto_Velho" }, - { "amst", 1, -10800, "America/Santarem" }, - { "amst", 1, -10800, "Brazil/West" }, { "amt", 0, -13840, "America/Asuncion" }, - { "amt", 0, -14400, "America/Boa_Vista" }, - { "amt", 0, -14400, "America/Campo_Grande" }, - { "amt", 0, -14400, "America/Cuiaba" }, - { "amt", 0, -14400, "America/Eirunepe" }, - { "amt", 0, -14400, "America/Manaus" }, - { "amt", 0, -14400, "America/Porto_Acre" }, - { "amt", 0, -14400, "America/Porto_Velho" }, - { "amt", 0, -14400, "America/Rio_Branco" }, - { "amt", 0, -14400, "America/Santarem" }, - { "amt", 0, -14400, "Brazil/Acre" }, - { "amt", 0, -14400, "Brazil/West" }, { "amt", 0, 1172, "Europe/Amsterdam" }, { "amt", 0, 5692, "Europe/Athens" }, - { "ant", 0, -16200, "America/Curacao" }, - { "ant", 0, -16200, "America/Aruba" }, - { "ant", 0, -16200, "America/Kralendijk" }, - { "ant", 0, -16200, "America/Lower_Princes" }, { "apt", 1, -10800, "America/Halifax" }, { "apt", 1, -10800, "America/Blanc-Sablon" }, { "apt", 1, -10800, "America/Glace_Bay" }, @@ -119,87 +83,7 @@ { "apt", 1, -10800, "America/Pangnirtung" }, { "apt", 1, -10800, "America/Puerto_Rico" }, { "apt", 1, -10800, "Canada/Atlantic" }, - { "arst", 1, -7200, "America/Buenos_Aires" }, - { "arst", 1, -10800, "America/Buenos_Aires" }, - { "arst", 1, -10800, "America/Argentina/Buenos_Aires" }, - { "arst", 1, -10800, "America/Argentina/Catamarca" }, - { "arst", 1, -10800, "America/Argentina/ComodRivadavia" }, - { "arst", 1, -10800, "America/Argentina/Cordoba" }, - { "arst", 1, -10800, "America/Argentina/Jujuy" }, - { "arst", 1, -10800, "America/Argentina/La_Rioja" }, - { "arst", 1, -10800, "America/Argentina/Mendoza" }, - { "arst", 1, -10800, "America/Argentina/Rio_Gallegos" }, - { "arst", 1, -10800, "America/Argentina/Salta" }, - { "arst", 1, -10800, "America/Argentina/San_Juan" }, - { "arst", 1, -10800, "America/Argentina/San_Luis" }, - { "arst", 1, -10800, "America/Argentina/Tucuman" }, - { "arst", 1, -10800, "America/Argentina/Ushuaia" }, - { "arst", 1, -10800, "America/Catamarca" }, - { "arst", 1, -10800, "America/Cordoba" }, - { "arst", 1, -10800, "America/Jujuy" }, - { "arst", 1, -10800, "America/Mendoza" }, - { "arst", 1, -10800, "America/Rosario" }, - { "arst", 1, -10800, "Antarctica/Palmer" }, - { "arst", 1, -7200, "America/Argentina/Buenos_Aires" }, - { "arst", 1, -7200, "America/Argentina/Catamarca" }, - { "arst", 1, -7200, "America/Argentina/ComodRivadavia" }, - { "arst", 1, -7200, "America/Argentina/Cordoba" }, - { "arst", 1, -7200, "America/Argentina/Jujuy" }, - { "arst", 1, -7200, "America/Argentina/La_Rioja" }, - { "arst", 1, -7200, "America/Argentina/Mendoza" }, - { "arst", 1, -7200, "America/Argentina/Rio_Gallegos" }, - { "arst", 1, -7200, "America/Argentina/Salta" }, - { "arst", 1, -7200, "America/Argentina/San_Juan" }, - { "arst", 1, -7200, "America/Argentina/San_Luis" }, - { "arst", 1, -7200, "America/Argentina/Tucuman" }, - { "arst", 1, -7200, "America/Argentina/Ushuaia" }, - { "arst", 1, -7200, "America/Catamarca" }, - { "arst", 1, -7200, "America/Cordoba" }, - { "arst", 1, -7200, "America/Jujuy" }, - { "arst", 1, -7200, "America/Mendoza" }, - { "arst", 1, -7200, "America/Rosario" }, - { "arst", 1, -7200, "Antarctica/Palmer" }, - { "art", 0, -10800, "America/Buenos_Aires" }, - { "art", 0, -14400, "America/Buenos_Aires" }, - { "art", 0, -10800, "America/Argentina/Buenos_Aires" }, - { "art", 0, -10800, "America/Argentina/Catamarca" }, - { "art", 0, -10800, "America/Argentina/ComodRivadavia" }, - { "art", 0, -10800, "America/Argentina/Cordoba" }, - { "art", 0, -10800, "America/Argentina/Jujuy" }, - { "art", 0, -10800, "America/Argentina/La_Rioja" }, - { "art", 0, -10800, "America/Argentina/Mendoza" }, - { "art", 0, -10800, "America/Argentina/Rio_Gallegos" }, - { "art", 0, -10800, "America/Argentina/Salta" }, - { "art", 0, -10800, "America/Argentina/San_Juan" }, - { "art", 0, -10800, "America/Argentina/San_Luis" }, - { "art", 0, -10800, "America/Argentina/Tucuman" }, - { "art", 0, -10800, "America/Argentina/Ushuaia" }, - { "art", 0, -10800, "America/Catamarca" }, - { "art", 0, -10800, "America/Cordoba" }, - { "art", 0, -10800, "America/Jujuy" }, - { "art", 0, -10800, "America/Mendoza" }, - { "art", 0, -10800, "America/Rosario" }, - { "art", 0, -10800, "Antarctica/Palmer" }, - { "art", 0, -14400, "America/Argentina/Buenos_Aires" }, - { "art", 0, -14400, "America/Argentina/Catamarca" }, - { "art", 0, -14400, "America/Argentina/ComodRivadavia" }, - { "art", 0, -14400, "America/Argentina/Cordoba" }, - { "art", 0, -14400, "America/Argentina/Jujuy" }, - { "art", 0, -14400, "America/Argentina/La_Rioja" }, - { "art", 0, -14400, "America/Argentina/Mendoza" }, - { "art", 0, -14400, "America/Argentina/Rio_Gallegos" }, - { "art", 0, -14400, "America/Argentina/Salta" }, - { "art", 0, -14400, "America/Argentina/San_Juan" }, - { "art", 0, -14400, "America/Argentina/San_Luis" }, - { "art", 0, -14400, "America/Argentina/Tucuman" }, - { "art", 0, -14400, "America/Argentina/Ushuaia" }, - { "art", 0, -14400, "America/Catamarca" }, - { "art", 0, -14400, "America/Cordoba" }, - { "art", 0, -14400, "America/Jujuy" }, - { "art", 0, -14400, "America/Mendoza" }, - { "art", 0, -14400, "America/Rosario" }, - { "art", 0, -14400, "Antarctica/Palmer" }, - { "ast", 0, 10800, "Asia/Riyadh" }, + { "apt", 1, -32400, "America/Anchorage" }, { "ast", 0, -14400, "America/Anguilla" }, { "ast", 0, -14400, "America/Antigua" }, { "ast", 0, -14400, "America/Aruba" }, @@ -234,11 +118,7 @@ { "ast", 0, -14400, "America/Virgin" }, { "ast", 0, -14400, "Atlantic/Bermuda" }, { "ast", 0, -14400, "Canada/Atlantic" }, - { "ast", 0, 10800, "Asia/Aden" }, - { "ast", 0, 10800, "Asia/Baghdad" }, - { "ast", 0, 10800, "Asia/Bahrain" }, - { "ast", 0, 10800, "Asia/Kuwait" }, - { "ast", 0, 10800, "Asia/Qatar" }, + { "ast", 0, -36000, "America/Anchorage" }, { "awdt", 1, 32400, "Australia/Perth" }, { "awdt", 1, 32400, "Australia/West" }, { "awst", 0, 28800, "Australia/Perth" }, @@ -250,14 +130,8 @@ { "awt", 1, -10800, "America/Pangnirtung" }, { "awt", 1, -10800, "America/Puerto_Rico" }, { "awt", 1, -10800, "Canada/Atlantic" }, - { "azomt", 1, 0, "Atlantic/Azores" }, - { "azost", 1, 0, "Atlantic/Azores" }, - { "azost", 1, -3600, "Atlantic/Azores" }, - { "azot", 0, -3600, "Atlantic/Azores" }, - { "azot", 0, -7200, "Atlantic/Azores" }, + { "awt", 1, -32400, "America/Anchorage" }, { "bdst", 1, 7200, "Europe/London" }, - { "bdst", 1, 25200, "Asia/Dacca" }, - { "bdst", 1, 25200, "Asia/Dhaka" }, { "bdst", 1, 7200, "Europe/Belfast" }, { "bdst", 1, 7200, "Europe/Gibraltar" }, { "bdst", 1, 7200, "Europe/Guernsey" }, @@ -265,32 +139,8 @@ { "bdst", 1, 7200, "Europe/Jersey" }, { "bdst", 1, 7200, "GB" }, { "bdt", 1, -36000, "America/Adak" }, - { "bdt", 0, 21600, "Asia/Dacca" }, { "bdt", 1, -36000, "America/Atka" }, { "bdt", 1, -36000, "America/Nome" }, - { "bdt", 0, 21600, "Asia/Dhaka" }, - { "beat", 0, 9000, "Africa/Mogadishu" }, - { "beat", 0, 9000, "Africa/Addis_Ababa" }, - { "beat", 0, 9000, "Africa/Asmara" }, - { "beat", 0, 9000, "Africa/Asmera" }, - { "beat", 0, 9000, "Africa/Dar_es_Salaam" }, - { "beat", 0, 9000, "Africa/Djibouti" }, - { "beat", 0, 9000, "Africa/Kampala" }, - { "beat", 0, 9000, "Africa/Nairobi" }, - { "beat", 0, 9000, "Indian/Antananarivo" }, - { "beat", 0, 9000, "Indian/Comoro" }, - { "beat", 0, 9000, "Indian/Mayotte" }, - { "beaut", 0, 9900, "Africa/Nairobi" }, - { "beaut", 0, 9900, "Africa/Addis_Ababa" }, - { "beaut", 0, 9900, "Africa/Asmara" }, - { "beaut", 0, 9900, "Africa/Asmera" }, - { "beaut", 0, 9900, "Africa/Dar_es_Salaam" }, - { "beaut", 0, 9900, "Africa/Djibouti" }, - { "beaut", 0, 9900, "Africa/Kampala" }, - { "beaut", 0, 9900, "Africa/Mogadishu" }, - { "beaut", 0, 9900, "Indian/Antananarivo" }, - { "beaut", 0, 9900, "Indian/Comoro" }, - { "beaut", 0, 9900, "Indian/Mayotte" }, { "bmt", 0, -14309, "America/Barbados" }, { "bmt", 0, 6264, "Europe/Tiraspol" }, { "bmt", 0, -17776, "America/Bogota" }, @@ -305,38 +155,12 @@ { "bmt", 0, 25632, "Asia/Jakarta" }, { "bmt", 0, 6264, "Europe/Bucharest" }, { "bmt", 0, 6264, "Europe/Chisinau" }, - { "bnt", 0, 28800, "Asia/Brunei" }, - { "bnt", 0, 27000, "Asia/Brunei" }, - { "bortst", 1, 30000, "Asia/Kuching" }, - { "bort", 0, 28800, "Asia/Kuching" }, - { "bort", 0, 27000, "Asia/Kuching" }, { "bost", 1, -12756, "America/La_Paz" }, - { "bot", 0, -14400, "America/La_Paz" }, - { "brst", 1, -7200, "America/Sao_Paulo" }, - { "brst", 1, -7200, "America/Araguaina" }, - { "brst", 1, -7200, "America/Bahia" }, - { "brst", 1, -7200, "America/Belem" }, - { "brst", 1, -7200, "America/Fortaleza" }, - { "brst", 1, -7200, "America/Maceio" }, - { "brst", 1, -7200, "America/Recife" }, - { "brst", 1, -7200, "Brazil/East" }, - { "brt", 0, -10800, "America/Sao_Paulo" }, - { "brt", 0, -10800, "America/Araguaina" }, - { "brt", 0, -10800, "America/Bahia" }, - { "brt", 0, -10800, "America/Belem" }, - { "brt", 0, -10800, "America/Fortaleza" }, - { "brt", 0, -10800, "America/Maceio" }, - { "brt", 0, -10800, "America/Recife" }, - { "brt", 0, -10800, "America/Santarem" }, - { "brt", 0, -10800, "Brazil/East" }, { "bst", 1, 3600, "Europe/London" }, { "bst", 0, 3600, "Europe/London" }, { "bst", 0, -39600, "America/Adak" }, { "bst", 0, -39600, "America/Atka" }, { "bst", 0, -39600, "America/Nome" }, - { "bst", 0, -39600, "Pacific/Midway" }, - { "bst", 0, -39600, "Pacific/Pago_Pago" }, - { "bst", 0, -39600, "Pacific/Samoa" }, { "bst", 0, 3600, "Europe/Belfast" }, { "bst", 0, 3600, "Europe/Guernsey" }, { "bst", 0, 3600, "Europe/Isle_of_Man" }, @@ -349,21 +173,9 @@ { "bst", 1, 3600, "Europe/Isle_of_Man" }, { "bst", 1, 3600, "Europe/Jersey" }, { "bst", 1, 3600, "GB" }, - { "bst", 0, 39600, "Pacific/Bougainville" }, - { "btt", 0, 21600, "Asia/Thimbu" }, - { "btt", 0, 21600, "Asia/Thimphu" }, - { "burt", 0, 23400, "Asia/Kolkata" }, - { "burt", 0, 23400, "Asia/Calcutta" }, - { "burt", 0, 23400, "Asia/Dacca" }, - { "burt", 0, 23400, "Asia/Dhaka" }, - { "burt", 0, 23400, "Asia/Rangoon" }, - { "burt", 0, 23400, "Asia/Yangon" }, - { "cant", 0, -3600, "Atlantic/Canary" }, - { "capt", 1, -32400, "America/Anchorage" }, { "cast", 0, 34200, "Australia/Adelaide" }, { "cast", 1, 10800, "Africa/Juba" }, { "cast", 1, 10800, "Africa/Khartoum" }, - { "cat", 0, -36000, "America/Anchorage" }, { "cat", 0, 7200, "Africa/Khartoum" }, { "cat", 0, 7200, "Africa/Blantyre" }, { "cat", 0, 7200, "Africa/Bujumbura" }, @@ -375,8 +187,6 @@ { "cat", 0, 7200, "Africa/Lusaka" }, { "cat", 0, 7200, "Africa/Maputo" }, { "cat", 0, 7200, "Africa/Windhoek" }, - { "cawt", 1, -32400, "America/Anchorage" }, - { "cct", 0, 23400, "Indian/Cocos" }, { "cddt", 1, -14400, "America/Rankin_Inlet" }, { "cddt", 1, -14400, "America/Resolute" }, { "cdt", 1, -18000, "America/Chicago" }, @@ -428,6 +238,8 @@ { "cdt", 1, 32400, "Asia/Chongqing" }, { "cdt", 1, 32400, "Asia/Chungking" }, { "cdt", 1, 32400, "Asia/Harbin" }, + { "cdt", 1, 32400, "Asia/Macao" }, + { "cdt", 1, 32400, "Asia/Macau" }, { "cdt", 1, 32400, "Asia/Taipei" }, { "cdt", 1, 32400, "PRC" }, { "cdt", 1, 32400, "ROC" }, @@ -537,32 +349,6 @@ { "cet", 0, 3600, "Europe/Zagreb" }, { "cet", 0, 3600, "Europe/Zaporozhye" }, { "cet", 0, 3600, "Europe/Zurich" }, - { "cgst", 1, -3600, "America/Scoresbysund" }, - { "cgt", 0, -7200, "America/Scoresbysund" }, - { "chadt", 1, 49500, "Pacific/Chatham" }, - { "chast", 0, 45900, "Pacific/Chatham" }, - { "chast", 0, 44100, "Pacific/Chatham" }, - { "chdt", 1, -19800, "America/Belize" }, - { "chost", 1, 36000, "Asia/Choibalsan" }, - { "chost", 1, 32400, "Asia/Choibalsan" }, - { "chot", 0, 32400, "Asia/Choibalsan" }, - { "chot", 0, 28800, "Asia/Choibalsan" }, - { "chut", 0, 36000, "Pacific/Chuuk" }, - { "chut", 0, 36000, "Pacific/Truk" }, - { "chut", 0, 36000, "Pacific/Yap" }, - { "ckhst", 1, -34200, "Pacific/Rarotonga" }, - { "ckt", 0, -36000, "Pacific/Rarotonga" }, - { "ckt", 0, -37800, "Pacific/Rarotonga" }, - { "clst", 1, -10800, "America/Santiago" }, - { "clst", 1, -14400, "America/Santiago" }, - { "clst", 1, -10800, "Antarctica/Palmer" }, - { "clst", 1, -10800, "Chile/Continental" }, - { "clst", 1, -14400, "Chile/Continental" }, - { "clt", 0, -14400, "America/Santiago" }, - { "clt", 0, -18000, "America/Santiago" }, - { "clt", 0, -14400, "Antarctica/Palmer" }, - { "clt", 0, -14400, "Chile/Continental" }, - { "clt", 0, -18000, "Chile/Continental" }, { "cmt", 0, -15408, "America/Argentina/Buenos_Aires" }, { "cmt", 0, -15408, "America/Argentina/Catamarca" }, { "cmt", 0, -15408, "America/Argentina/ComodRivadavia" }, @@ -589,8 +375,6 @@ { "cmt", 0, 3020, "Europe/Copenhagen" }, { "cmt", 0, 6900, "Europe/Chisinau" }, { "cmt", 0, 6900, "Europe/Tiraspol" }, - { "cost", 1, -14400, "America/Bogota" }, - { "cot", 0, -18000, "America/Bogota" }, { "cpt", 1, -18000, "America/Chicago" }, { "cpt", 1, -18000, "America/Atikokan" }, { "cpt", 1, -18000, "America/Coral_Harbour" }, @@ -675,10 +459,6 @@ { "cst", 0, 28800, "Asia/Taipei" }, { "cst", 0, 28800, "PRC" }, { "cst", 0, 28800, "ROC" }, - { "cut", 0, 8400, "Europe/Zaporozhye" }, - { "cvst", 1, -3600, "Atlantic/Cape_Verde" }, - { "cvt", 0, -7200, "Atlantic/Cape_Verde" }, - { "cvt", 0, -3600, "Atlantic/Cape_Verde" }, { "cwt", 1, -18000, "America/Chicago" }, { "cwt", 1, -18000, "America/Atikokan" }, { "cwt", 1, -18000, "America/Coral_Harbour" }, @@ -702,20 +482,9 @@ { "cwt", 1, -18000, "America/Winnipeg" }, { "cwt", 1, -18000, "Canada/Central" }, { "cwt", 1, -18000, "Mexico/General" }, - { "cxt", 0, 25200, "Indian/Christmas" }, { "chst", 0, 36000, "Pacific/Guam" }, { "chst", 0, 36000, "Pacific/Saipan" }, - { "dact", 0, 21600, "Asia/Dacca" }, - { "dact", 0, 21600, "Asia/Dhaka" }, { "dmt", 0, -1521, "Europe/Dublin" }, - { "easst", 1, -21600, "Chile/EasterIsland" }, - { "easst", 1, -18000, "Chile/EasterIsland" }, - { "easst", 1, -18000, "Pacific/Easter" }, - { "easst", 1, -21600, "Pacific/Easter" }, - { "east", 0, -21600, "Chile/EasterIsland" }, - { "east", 0, -25200, "Chile/EasterIsland" }, - { "east", 0, -21600, "Pacific/Easter" }, - { "east", 0, -25200, "Pacific/Easter" }, { "eat", 0, 10800, "Africa/Khartoum" }, { "eat", 0, 10800, "Africa/Addis_Ababa" }, { "eat", 0, 10800, "Africa/Asmara" }, @@ -729,8 +498,6 @@ { "eat", 0, 10800, "Indian/Antananarivo" }, { "eat", 0, 10800, "Indian/Comoro" }, { "eat", 0, 10800, "Indian/Mayotte" }, - { "ect", 0, -18000, "America/Guayaquil" }, - { "ect", 0, -18000, "Pacific/Galapagos" }, { "eddt", 1, -10800, "America/Iqaluit" }, { "edt", 1, -14400, "America/New_York" }, { "edt", 1, -14400, "America/Cancun" }, @@ -764,6 +531,7 @@ { "eest", 1, 10800, "Asia/Amman" }, { "eest", 1, 10800, "Asia/Beirut" }, { "eest", 1, 10800, "Asia/Damascus" }, + { "eest", 1, 10800, "Asia/Famagusta" }, { "eest", 1, 10800, "Asia/Gaza" }, { "eest", 1, 10800, "Asia/Hebron" }, { "eest", 1, 10800, "Asia/Istanbul" }, @@ -788,13 +556,12 @@ { "eest", 1, 10800, "Europe/Warsaw" }, { "eest", 1, 10800, "Europe/Zaporozhye" }, { "eet", 0, 7200, "Europe/Helsinki" }, - { "eet", 1, 10800, "Asia/Gaza" }, - { "eet", 1, 10800, "Asia/Hebron" }, { "eet", 0, 7200, "Africa/Cairo" }, { "eet", 0, 7200, "Africa/Tripoli" }, { "eet", 0, 7200, "Asia/Amman" }, { "eet", 0, 7200, "Asia/Beirut" }, { "eet", 0, 7200, "Asia/Damascus" }, + { "eet", 0, 7200, "Asia/Famagusta" }, { "eet", 0, 7200, "Asia/Gaza" }, { "eet", 0, 7200, "Asia/Hebron" }, { "eet", 0, 7200, "Asia/Istanbul" }, @@ -818,9 +585,6 @@ { "eet", 0, 7200, "Europe/Vilnius" }, { "eet", 0, 7200, "Europe/Warsaw" }, { "eet", 0, 7200, "Europe/Zaporozhye" }, - { "egst", 1, 0, "America/Scoresbysund" }, - { "egt", 0, -3600, "America/Scoresbysund" }, - { "ehdt", 1, -16200, "America/Santo_Domingo" }, { "emt", 0, -26248, "Chile/EasterIsland" }, { "emt", 0, -26248, "Pacific/Easter" }, { "ept", 1, -14400, "America/New_York" }, @@ -881,25 +645,7 @@ { "ewt", 1, -14400, "America/Toronto" }, { "ewt", 1, -14400, "Canada/Eastern" }, { "ffmt", 0, -14660, "America/Martinique" }, - { "fjst", 1, 46800, "Pacific/Fiji" }, - { "fjt", 0, 43200, "Pacific/Fiji" }, - { "fkst", 1, -7200, "Atlantic/Stanley" }, - { "fkst", 0, -10800, "Atlantic/Stanley" }, - { "fkst", 1, -10800, "Atlantic/Stanley" }, - { "fkt", 0, -14400, "Atlantic/Stanley" }, - { "fkt", 0, -10800, "Atlantic/Stanley" }, { "fmt", 0, -4056, "Atlantic/Madeira" }, - { "fnst", 1, -3600, "America/Noronha" }, - { "fnst", 1, -3600, "Brazil/DeNoronha" }, - { "fnt", 0, -7200, "America/Noronha" }, - { "fnt", 0, -7200, "Brazil/DeNoronha" }, - { "galt", 0, -21600, "Pacific/Galapagos" }, - { "gamt", 0, -32400, "Pacific/Gambier" }, - { "gbgt", 0, -13500, "America/Guyana" }, - { "gft", 0, -14400, "America/Cayenne" }, - { "gft", 0, -10800, "America/Cayenne" }, - { "ghst", 1, 1200, "Africa/Accra" }, - { "gilt", 0, 43200, "Pacific/Tarawa" }, { "gmt", 0, 0, "Africa/Abidjan" }, { "gmt", 0, 0, "Africa/Accra" }, { "gmt", 0, 0, "Africa/Bamako" }, @@ -927,16 +673,8 @@ { "gmt", 0, 0, "Europe/Jersey" }, { "gmt", 0, 0, "Europe/London" }, { "gmt", 0, 0, "GB" }, - { "gst", 0, 14400, "Asia/Dubai" }, - { "gst", 0, -7200, "Atlantic/South_Georgia" }, - { "gst", 0, 14400, "Asia/Bahrain" }, - { "gst", 0, 14400, "Asia/Muscat" }, - { "gst", 0, 14400, "Asia/Qatar" }, { "gst", 0, 36000, "Pacific/Guam" }, { "gst", 0, 36000, "Pacific/Saipan" }, - { "gyt", 0, -14400, "America/Guyana" }, - { "gyt", 0, -10800, "America/Guyana" }, - { "gyt", 0, -13500, "America/Guyana" }, { "hdt", 1, -34200, "Pacific/Honolulu" }, { "hdt", 1, -32400, "America/Adak" }, { "hdt", 1, -32400, "America/Atka" }, @@ -951,95 +689,41 @@ { "hmt", 0, 21200, "Asia/Kolkata" }, { "hmt", 0, 5989, "Europe/Helsinki" }, { "hmt", 0, 5989, "Europe/Mariehamn" }, - { "hovst", 1, 28800, "Asia/Hovd" }, - { "hovt", 0, 25200, "Asia/Hovd" }, - { "hovt", 0, 21600, "Asia/Hovd" }, { "hst", 0, -36000, "Pacific/Honolulu" }, { "hst", 0, -37800, "Pacific/Honolulu" }, { "hst", 0, -36000, "America/Adak" }, { "hst", 0, -36000, "America/Atka" }, { "hst", 0, -36000, "Pacific/Johnston" }, { "hst", 0, -37800, "Pacific/Johnston" }, - { "ict", 0, 25200, "Asia/Bangkok" }, - { "ict", 0, 25200, "Asia/Ho_Chi_Minh" }, - { "ict", 0, 25200, "Asia/Phnom_Penh" }, - { "ict", 0, 25200, "Asia/Saigon" }, - { "ict", 0, 25200, "Asia/Vientiane" }, { "iddt", 1, 14400, "Asia/Jerusalem" }, { "iddt", 1, 14400, "Asia/Tel_Aviv" }, { "idt", 1, 10800, "Asia/Jerusalem" }, { "idt", 1, 10800, "Asia/Gaza" }, { "idt", 1, 10800, "Asia/Hebron" }, { "idt", 1, 10800, "Asia/Tel_Aviv" }, - { "idt", 0, 28800, "Asia/Ho_Chi_Minh" }, - { "idt", 0, 28800, "Asia/Saigon" }, - { "ihst", 1, 21600, "Asia/Colombo" }, { "imt", 0, 25025, "Asia/Irkutsk" }, { "imt", 0, 7016, "Asia/Istanbul" }, { "imt", 0, 7016, "Europe/Istanbul" }, { "imt", 0, 7016, "Europe/Sofia" }, - { "iot", 0, 21600, "Indian/Chagos" }, - { "iot", 0, 18000, "Indian/Chagos" }, - { "irdt", 1, 16200, "Asia/Tehran" }, - { "irdt", 1, 18000, "Asia/Tehran" }, - { "irst", 0, 12600, "Asia/Tehran" }, - { "irst", 0, 14400, "Asia/Tehran" }, - { "isst", 1, 0, "Atlantic/Reykjavik" }, { "ist", 0, 7200, "Asia/Jerusalem" }, - { "ist", 0, -3600, "Atlantic/Reykjavik" }, { "ist", 0, 19800, "Asia/Calcutta" }, - { "ist", 0, 19800, "Asia/Colombo" }, - { "ist", 0, 19800, "Asia/Dacca" }, - { "ist", 0, 19800, "Asia/Dhaka" }, - { "ist", 0, 19800, "Asia/Karachi" }, - { "ist", 0, 19800, "Asia/Kathmandu" }, - { "ist", 0, 19800, "Asia/Katmandu" }, { "ist", 0, 19800, "Asia/Kolkata" }, - { "ist", 0, 19800, "Asia/Thimbu" }, - { "ist", 0, 19800, "Asia/Thimphu" }, { "ist", 1, 2079, "Europe/Dublin" }, - { "ist", 1, 23400, "Asia/Calcutta" }, - { "ist", 1, 23400, "Asia/Colombo" }, - { "ist", 1, 23400, "Asia/Karachi" }, - { "ist", 1, 23400, "Asia/Kolkata" }, { "ist", 0, 3600, "Europe/Dublin" }, { "ist", 1, 3600, "Europe/Dublin" }, { "ist", 0, 7200, "Asia/Gaza" }, { "ist", 0, 7200, "Asia/Hebron" }, { "ist", 0, 7200, "Asia/Tel_Aviv" }, - { "javt", 0, 26400, "Asia/Jakarta" }, - { "jcst", 0, 32400, "Asia/Pyongyang" }, - { "jcst", 0, 32400, "Asia/Seoul" }, - { "jcst", 0, 32400, "Asia/Tokyo" }, - { "jcst", 0, 32400, "ROK" }, { "jdt", 1, 36000, "Asia/Tokyo" }, { "jmt", 0, 8440, "Asia/Jerusalem" }, { "jmt", 0, 8440, "Asia/Tel_Aviv" }, { "jst", 0, 32400, "Asia/Tokyo" }, - { "jst", 0, 32400, "Asia/Dili" }, - { "jst", 0, 32400, "Asia/Ho_Chi_Minh" }, { "jst", 0, 32400, "Asia/Hong_Kong" }, - { "jst", 0, 32400, "Asia/Jakarta" }, - { "jst", 0, 32400, "Asia/Kuala_Lumpur" }, - { "jst", 0, 32400, "Asia/Kuching" }, - { "jst", 0, 32400, "Asia/Makassar" }, - { "jst", 0, 32400, "Asia/Manila" }, - { "jst", 0, 32400, "Asia/Pontianak" }, { "jst", 0, 32400, "Asia/Pyongyang" }, - { "jst", 0, 32400, "Asia/Rangoon" }, - { "jst", 0, 32400, "Asia/Saigon" }, { "jst", 0, 32400, "Asia/Seoul" }, - { "jst", 0, 32400, "Asia/Singapore" }, { "jst", 0, 32400, "Asia/Taipei" }, - { "jst", 0, 32400, "Asia/Ujung_Pandang" }, - { "jst", 0, 32400, "Asia/Yangon" }, - { "jst", 0, 32400, "Pacific/Bougainville" }, - { "jst", 0, 32400, "Pacific/Nauru" }, { "jst", 0, 32400, "ROC" }, { "jst", 0, 32400, "ROK" }, - { "jwst", 0, 28800, "Asia/Taipei" }, - { "jwst", 0, 28800, "ROC" }, - { "kart", 0, 18000, "Asia/Karachi" }, { "kdt", 1, 36000, "Asia/Seoul" }, { "kdt", 1, 34200, "Asia/Seoul" }, { "kdt", 1, 34200, "ROK" }, @@ -1048,40 +732,13 @@ { "kmt", 0, -18431, "America/Grand_Turk" }, { "kmt", 0, -18431, "America/Jamaica" }, { "kmt", 0, 7324, "Europe/Kiev" }, - { "kost", 0, 43200, "Pacific/Kosrae" }, - { "kost", 0, 39600, "Pacific/Kosrae" }, { "kst", 0, 30600, "Asia/Seoul" }, { "kst", 0, 32400, "Asia/Pyongyang" }, { "kst", 0, 32400, "Asia/Seoul" }, { "kst", 0, 30600, "Asia/Pyongyang" }, { "kst", 0, 30600, "ROK" }, { "kst", 0, 32400, "ROK" }, - { "kwat", 0, -43200, "Pacific/Kwajalein" }, - { "lhdt", 1, 39600, "Australia/LHI" }, - { "lhdt", 1, 39600, "Australia/Lord_Howe" }, - { "lhdt", 1, 41400, "Australia/LHI" }, - { "lhdt", 1, 41400, "Australia/Lord_Howe" }, - { "lhst", 0, 37800, "Australia/Lord_Howe" }, - { "lhst", 0, 37800, "Australia/LHI" }, - { "lint", 0, 50400, "Pacific/Kiritimati" }, - { "lint", 0, -36000, "Pacific/Kiritimati" }, - { "lint", 0, -38400, "Pacific/Kiritimati" }, - { "lkt", 0, 23400, "Asia/Colombo" }, - { "lkt", 0, 21600, "Asia/Colombo" }, - { "lrt", 0, -2670, "Africa/Monrovia" }, { "lst", 1, 9394, "Europe/Riga" }, - { "madmt", 1, 3600, "Atlantic/Madeira" }, - { "madst", 1, 0, "Atlantic/Madeira" }, - { "madt", 0, -3600, "Atlantic/Madeira" }, - { "malst", 1, 26400, "Asia/Singapore" }, - { "malst", 1, 26400, "Asia/Kuala_Lumpur" }, - { "malt", 0, 27000, "Asia/Singapore" }, - { "malt", 0, 25200, "Asia/Singapore" }, - { "malt", 0, 26400, "Asia/Singapore" }, - { "malt", 0, 25200, "Asia/Kuala_Lumpur" }, - { "malt", 0, 26400, "Asia/Kuala_Lumpur" }, - { "malt", 0, 27000, "Asia/Kuala_Lumpur" }, - { "mart", 0, -34200, "Pacific/Marquesas" }, { "mddt", 1, -18000, "America/Cambridge_Bay" }, { "mddt", 1, -18000, "America/Yellowknife" }, { "mdst", 1, 16279, "Europe/Moscow" }, @@ -1107,29 +764,17 @@ { "mdt", 1, -21600, "Canada/Mountain" }, { "mdt", 1, -21600, "Canada/Saskatchewan" }, { "mdt", 1, -21600, "Mexico/BajaSur" }, - { "mest", 1, 7200, "MET" }, - { "met", 0, 3600, "MET" }, - { "mht", 0, 43200, "Pacific/Kwajalein" }, - { "mht", 0, 39600, "Pacific/Kwajalein" }, - { "mht", 0, 39600, "Pacific/Majuro" }, - { "mht", 0, 43200, "Pacific/Majuro" }, - { "mist", 0, 39600, "Antarctica/Macquarie" }, { "mmt", 0, 9017, "Europe/Moscow" }, { "mmt", 0, 9079, "Europe/Moscow" }, { "mmt", 0, -13484, "America/Montevideo" }, { "mmt", 0, -20712, "America/Managua" }, { "mmt", 0, -2588, "Africa/Monrovia" }, + { "mmt", 0, -2670, "Africa/Monrovia" }, { "mmt", 0, 17640, "Indian/Maldives" }, { "mmt", 0, 19172, "Asia/Colombo" }, - { "mmt", 0, 23400, "Asia/Rangoon" }, - { "mmt", 0, 23400, "Asia/Yangon" }, { "mmt", 0, 28656, "Asia/Makassar" }, { "mmt", 0, 28656, "Asia/Ujung_Pandang" }, { "mmt", 0, 6600, "Europe/Minsk" }, - { "most", 1, 32400, "Asia/Macao" }, - { "most", 1, 32400, "Asia/Macau" }, - { "mot", 0, 28800, "Asia/Macao" }, - { "mot", 0, 28800, "Asia/Macau" }, { "mpt", 1, -21600, "America/Denver" }, { "mpt", 1, -21600, "America/Boise" }, { "mpt", 1, -21600, "America/Cambridge_Bay" }, @@ -1202,9 +847,6 @@ { "mst", 0, -25200, "Mexico/BajaSur" }, { "mst", 0, -25200, "Mexico/General" }, { "mst", 1, 12679, "Europe/Moscow" }, - { "must", 1, 18000, "Indian/Mauritius" }, - { "mut", 0, 14400, "Indian/Mauritius" }, - { "mvt", 0, 18000, "Indian/Maldives" }, { "mwt", 1, -21600, "America/Denver" }, { "mwt", 1, -21600, "America/Boise" }, { "mwt", 1, -21600, "America/Cambridge_Bay" }, @@ -1220,10 +862,6 @@ { "mwt", 1, -21600, "Canada/East-Saskatchewan" }, { "mwt", 1, -21600, "Canada/Mountain" }, { "mwt", 1, -21600, "Canada/Saskatchewan" }, - { "myt", 0, 28800, "Asia/Kuala_Lumpur" }, - { "myt", 0, 28800, "Asia/Kuching" }, - { "ncst", 1, 43200, "Pacific/Noumea" }, - { "nct", 0, 39600, "Pacific/Noumea" }, { "nddt", 1, -5400, "America/St_Johns" }, { "nddt", 1, -5400, "Canada/Newfoundland" }, { "ndt", 1, -9052, "America/St_Johns" }, @@ -1232,23 +870,12 @@ { "ndt", 1, -9000, "Canada/Newfoundland" }, { "ndt", 1, -9052, "America/Goose_Bay" }, { "ndt", 1, -9052, "Canada/Newfoundland" }, - { "negt", 0, -12600, "America/Paramaribo" }, - { "nest", 1, 4800, "Europe/Amsterdam" }, - { "net", 0, 1200, "Europe/Amsterdam" }, - { "nfst", 1, 45000, "Pacific/Norfolk" }, - { "nft", 0, 41400, "Pacific/Norfolk" }, - { "nft", 0, 39600, "Pacific/Norfolk" }, - { "nmt", 0, 40320, "Pacific/Norfolk" }, { "npt", 1, -9000, "America/St_Johns" }, - { "npt", 0, 20700, "Asia/Katmandu" }, { "npt", 1, -36000, "America/Adak" }, { "npt", 1, -36000, "America/Atka" }, { "npt", 1, -36000, "America/Nome" }, { "npt", 1, -9000, "America/Goose_Bay" }, { "npt", 1, -9000, "Canada/Newfoundland" }, - { "npt", 0, 20700, "Asia/Kathmandu" }, - { "nrt", 0, 43200, "Pacific/Nauru" }, - { "nrt", 0, 41400, "Pacific/Nauru" }, { "nst", 0, -12600, "America/St_Johns" }, { "nst", 0, -12652, "America/St_Johns" }, { "nst", 1, 4772, "Europe/Amsterdam" }, @@ -1259,12 +886,6 @@ { "nst", 0, -39600, "America/Adak" }, { "nst", 0, -39600, "America/Atka" }, { "nst", 0, -39600, "America/Nome" }, - { "nst", 0, -39600, "Pacific/Midway" }, - { "nst", 0, -39600, "Pacific/Pago_Pago" }, - { "nst", 0, -39600, "Pacific/Samoa" }, - { "nut", 0, -39600, "Pacific/Niue" }, - { "nut", 0, -40800, "Pacific/Niue" }, - { "nut", 0, -41400, "Pacific/Niue" }, { "nwt", 1, -9000, "America/St_Johns" }, { "nwt", 1, -36000, "America/Adak" }, { "nwt", 1, -36000, "America/Atka" }, @@ -1308,22 +929,12 @@ { "pdt", 1, -25200, "Canada/Pacific" }, { "pdt", 1, -25200, "Canada/Yukon" }, { "pdt", 1, -25200, "Mexico/BajaNorte" }, - { "pest", 1, -14400, "America/Lima" }, - { "pet", 0, -18000, "America/Lima" }, - { "pgt", 0, 36000, "Pacific/Bougainville" }, - { "pgt", 0, 36000, "Pacific/Port_Moresby" }, - { "phot", 0, 46800, "Pacific/Enderbury" }, - { "phot", 0, -39600, "Pacific/Enderbury" }, - { "phot", 0, -43200, "Pacific/Enderbury" }, - { "phst", 1, 32400, "Asia/Manila" }, - { "pht", 0, 28800, "Asia/Manila" }, { "pkst", 1, 21600, "Asia/Karachi" }, { "pkt", 0, 18000, "Asia/Karachi" }, { "plmt", 0, 25590, "Asia/Ho_Chi_Minh" }, { "plmt", 0, 25590, "Asia/Saigon" }, - { "pmdt", 1, -7200, "America/Miquelon" }, { "pmmt", 0, 35312, "Pacific/Bougainville" }, - { "pmst", 0, -10800, "America/Miquelon" }, + { "pmmt", 0, 35312, "Pacific/Port_Moresby" }, { "pmt", 0, -13236, "America/Paramaribo" }, { "pmt", 0, -13252, "America/Paramaribo" }, { "pmt", 0, 13505, "Asia/Yekaterinburg" }, @@ -1334,9 +945,6 @@ { "pmt", 0, 561, "Africa/Tunis" }, { "pmt", 0, 561, "Europe/Monaco" }, { "pmt", 0, 561, "Europe/Paris" }, - { "pnt", 0, -30600, "Pacific/Pitcairn" }, - { "pont", 0, 39600, "Pacific/Pohnpei" }, - { "pont", 0, 39600, "Pacific/Ponape" }, { "ppmt", 0, -17340, "America/Port-au-Prince" }, { "ppt", 1, -25200, "America/Los_Angeles" }, { "ppt", 1, -25200, "America/Dawson_Creek" }, @@ -1372,7 +980,6 @@ { "pst", 0, -28800, "Canada/Yukon" }, { "pst", 0, -28800, "Mexico/BajaNorte" }, { "pst", 0, -28800, "Mexico/BajaSur" }, - { "pst", 0, -28800, "Pacific/Pitcairn" }, { "pwt", 1, -25200, "America/Los_Angeles" }, { "pwt", 1, -25200, "America/Dawson_Creek" }, { "pwt", 1, -25200, "America/Ensenada" }, @@ -1385,12 +992,7 @@ { "pwt", 1, -25200, "America/Vancouver" }, { "pwt", 1, -25200, "Canada/Pacific" }, { "pwt", 1, -25200, "Mexico/BajaNorte" }, - { "pwt", 0, 32400, "Pacific/Palau" }, - { "pyst", 1, -10800, "America/Asuncion" }, - { "pyt", 0, -14400, "America/Asuncion" }, - { "pyt", 0, -10800, "America/Asuncion" }, { "qmt", 0, -18840, "America/Guayaquil" }, - { "ret", 0, 14400, "Indian/Reunion" }, { "rmt", 0, 5794, "Europe/Riga" }, { "rmt", 0, 23080, "Asia/Rangoon" }, { "rmt", 0, 23080, "Asia/Yangon" }, @@ -1408,90 +1010,31 @@ { "sast", 0, 7200, "Africa/Maseru" }, { "sast", 0, 7200, "Africa/Mbabane" }, { "sast", 0, 7200, "Africa/Windhoek" }, - { "sbt", 0, 39600, "Pacific/Guadalcanal" }, - { "sct", 0, 14400, "Indian/Mahe" }, { "sdmt", 0, -16800, "America/Santo_Domingo" }, - { "sdt", 1, -36000, "Pacific/Apia" }, { "set", 0, 3614, "Europe/Stockholm" }, - { "sgt", 0, 28800, "Asia/Singapore" }, - { "sgt", 0, 27000, "Asia/Singapore" }, { "sjmt", 0, -20173, "America/Costa_Rica" }, { "smt", 0, -13884, "Atlantic/Stanley" }, + { "smt", 0, -16966, "America/Punta_Arenas" }, { "smt", 0, -16966, "America/Santiago" }, { "smt", 0, -16966, "Chile/Continental" }, { "smt", 0, 24925, "Asia/Kuala_Lumpur" }, { "smt", 0, 24925, "Asia/Singapore" }, { "smt", 0, 8160, "Europe/Simferopol" }, - { "srt", 0, -10800, "America/Paramaribo" }, - { "srt", 0, -12600, "America/Paramaribo" }, { "sst", 0, -39600, "Pacific/Samoa" }, - { "sst", 0, -39600, "Pacific/Apia" }, { "sst", 0, -39600, "Pacific/Midway" }, { "sst", 0, -39600, "Pacific/Pago_Pago" }, - { "swat", 0, 5400, "Africa/Windhoek" }, - { "taht", 0, -36000, "Pacific/Tahiti" }, { "tbmt", 0, 10751, "Asia/Tbilisi" }, - { "tkt", 0, -39600, "Pacific/Fakaofo" }, - { "tkt", 0, 46800, "Pacific/Fakaofo" }, - { "tlt", 0, 32400, "Asia/Dili" }, - { "tlt", 0, 28800, "Asia/Dili" }, { "tmt", 0, 12344, "Asia/Tehran" }, { "tmt", 0, 5940, "Europe/Tallinn" }, - { "tost", 1, 50400, "Pacific/Tongatapu" }, - { "tot", 0, 46800, "Pacific/Tongatapu" }, - { "tot", 0, 44400, "Pacific/Tongatapu" }, - { "tvt", 0, 43200, "Pacific/Funafuti" }, { "uct", 0, 0, "Etc/UCT" }, - { "ulast", 1, 32400, "Asia/Ulaanbaatar" }, - { "ulast", 1, 32400, "Asia/Ulan_Bator" }, - { "ulat", 0, 28800, "Asia/Ulaanbaatar" }, - { "ulat", 0, 25200, "Asia/Ulaanbaatar" }, - { "ulat", 0, 25200, "Asia/Choibalsan" }, - { "ulat", 0, 25200, "Asia/Ulan_Bator" }, - { "ulat", 0, 28800, "Asia/Choibalsan" }, - { "ulat", 0, 28800, "Asia/Ulan_Bator" }, { "utc", 0, 0, "Etc/Universal" }, { "utc", 0, 0, "Etc/UTC" }, { "utc", 0, 0, "Etc/Zulu" }, { "utc", 0, 0, "UTC" }, { "utc", 0, 0, "UTC" }, - { "uyhst", 1, -9000, "America/Montevideo" }, - { "uyhst", 1, -10800, "America/Montevideo" }, - { "uyst", 1, -7200, "America/Montevideo" }, - { "uyt", 0, -10800, "America/Montevideo" }, - { "uyt", 0, -12600, "America/Montevideo" }, - { "vet", 0, -16200, "America/Caracas" }, - { "vet", 0, -14400, "America/Caracas" }, - { "vust", 1, 43200, "Pacific/Efate" }, - { "vut", 0, 39600, "Pacific/Efate" }, - { "wakt", 0, 43200, "Pacific/Wake" }, - { "warst", 1, -10800, "America/Mendoza" }, - { "warst", 1, -10800, "America/Argentina/Jujuy" }, - { "warst", 1, -10800, "America/Argentina/Mendoza" }, - { "warst", 1, -10800, "America/Argentina/San_Luis" }, - { "warst", 1, -10800, "America/Jujuy" }, - { "wart", 0, -14400, "America/Mendoza" }, - { "wart", 0, -14400, "America/Argentina/Catamarca" }, - { "wart", 0, -14400, "America/Argentina/ComodRivadavia" }, - { "wart", 0, -14400, "America/Argentina/Cordoba" }, - { "wart", 0, -14400, "America/Argentina/Jujuy" }, - { "wart", 0, -14400, "America/Argentina/La_Rioja" }, - { "wart", 0, -14400, "America/Argentina/Mendoza" }, - { "wart", 0, -14400, "America/Argentina/Rio_Gallegos" }, - { "wart", 0, -14400, "America/Argentina/Salta" }, - { "wart", 0, -14400, "America/Argentina/San_Juan" }, - { "wart", 0, -14400, "America/Argentina/San_Luis" }, - { "wart", 0, -14400, "America/Argentina/Tucuman" }, - { "wart", 0, -14400, "America/Argentina/Ushuaia" }, - { "wart", 0, -14400, "America/Catamarca" }, - { "wart", 0, -14400, "America/Cordoba" }, - { "wart", 0, -14400, "America/Jujuy" }, - { "wart", 0, -14400, "America/Rosario" }, { "wast", 1, 7200, "Africa/Windhoek" }, { "wast", 1, 7200, "Africa/Ndjamena" }, { "wat", 0, 3600, "Africa/Brazzaville" }, - { "wat", 0, -3600, "Africa/Bissau" }, - { "wat", 0, -3600, "Africa/El_Aaiun" }, { "wat", 0, 3600, "Africa/Bangui" }, { "wat", 0, 3600, "Africa/Douala" }, { "wat", 0, 3600, "Africa/Kinshasa" }, @@ -1539,29 +1082,14 @@ { "wet", 0, 0, "Europe/Luxembourg" }, { "wet", 0, 0, "Europe/Madrid" }, { "wet", 0, 0, "Europe/Monaco" }, - { "wft", 0, 43200, "Pacific/Wallis" }, - { "wgst", 1, -7200, "America/Godthab" }, - { "wgst", 1, -7200, "America/Danmarkshavn" }, - { "wgt", 0, -10800, "America/Godthab" }, - { "wgt", 0, -10800, "America/Danmarkshavn" }, { "wib", 0, 25200, "Asia/Jakarta" }, { "wib", 0, 25200, "Asia/Pontianak" }, - { "wib", 0, 27000, "Asia/Jakarta" }, - { "wib", 0, 27000, "Asia/Pontianak" }, - { "wib", 0, 28800, "Asia/Jakarta" }, - { "wib", 0, 28800, "Asia/Pontianak" }, - { "wita", 0, 28800, "Asia/Dili" }, { "wita", 0, 28800, "Asia/Makassar" }, { "wita", 0, 28800, "Asia/Pontianak" }, { "wita", 0, 28800, "Asia/Ujung_Pandang" }, { "wit", 0, 32400, "Asia/Jayapura" }, { "wmt", 0, 5040, "Europe/Vilnius" }, { "wmt", 0, 5040, "Europe/Warsaw" }, - { "wsdt", 1, 50400, "Pacific/Apia" }, - { "wsst", 0, -41400, "Pacific/Apia" }, - { "wsst", 0, 46800, "Pacific/Apia" }, - { "xjt", 0, 21600, "Asia/Kashgar" }, - { "xjt", 0, 21600, "Asia/Urumqi" }, { "yddt", 1, -25200, "America/Dawson" }, { "yddt", 1, -25200, "America/Whitehorse" }, { "yddt", 1, -25200, "Canada/Yukon" }, diff --git a/ext/date/lib/tm2unixtime.c b/ext/date/lib/tm2unixtime.c index d8597f14f9..42a59cfaa6 100644 --- a/ext/date/lib/tm2unixtime.c +++ b/ext/date/lib/tm2unixtime.c @@ -23,6 +23,7 @@ */ #include "timelib.h" +#include "timelib_private.h" /* jan feb mrt apr may jun jul aug sep oct nov dec */ static int month_tab_leap[12] = { -1, 30, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 }; @@ -32,14 +33,14 @@ static int month_tab[12] = { 0, 31, 59, 90, 120, 151, 181, 212, 24 static int days_in_month_leap[13] = { 31, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; static int days_in_month[13] = { 31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; -static void do_range_limit_fraction(double *fraction, timelib_sll *seconds) +static void do_range_limit_fraction(timelib_sll *fraction, timelib_sll *seconds) { if (*fraction < 0) { - *fraction += 1; + *fraction += 1000000; *seconds -= 1; } - if (*fraction > 1) { - *fraction -= 1; + if (*fraction > 1000000) { + *fraction -= 1000000; *seconds += 1; } } @@ -202,14 +203,47 @@ void timelib_do_rel_normalize(timelib_time *base, timelib_rel_time *rt) do_range_limit(0, 12, 12, &rt->m, &rt->y); } +#define EPOCH_DAY 719468 + +static void magic_date_calc(timelib_time *time) +{ + timelib_sll y, ddd, mi, mm, dd, g; + + /* The algorithm doesn't work before the year 1 */ + if (time->d < -719498) { + return; + } + + g = time->d + EPOCH_DAY - 1; + + y = (10000 * g + 14780) / 3652425; + ddd = g - ((365*y) + (y/4) - (y/100) + (y/400)); + if (ddd < 0) { + y--; + ddd = g - ((365*y) + (y/4) - (y/100) + (y/400)); + } + mi = (100 * ddd + 52) / 3060; + mm = ((mi + 2) % 12) + 1; + y = y + (mi + 2) / 12; + dd = ddd - ((mi * 306 + 5) / 10) + 1; + time->y = y; + time->m = mm; + time->d = dd; +} + void timelib_do_normalize(timelib_time* time) { - if (time->f != TIMELIB_UNSET) do_range_limit_fraction(&time->f, &time->s); + if (time->us != TIMELIB_UNSET) do_range_limit_fraction(&time->us, &time->s); if (time->s != TIMELIB_UNSET) do_range_limit(0, 60, 60, &time->s, &time->i); if (time->s != TIMELIB_UNSET) do_range_limit(0, 60, 60, &time->i, &time->h); if (time->s != TIMELIB_UNSET) do_range_limit(0, 24, 24, &time->h, &time->d); do_range_limit(1, 13, 12, &time->m, &time->y); + /* Short cut if we're doing things against the Epoch */ + if (time->y == 1970 && time->m == 1 && time->d != 1) { + magic_date_calc(time); + } + do {} while (do_range_limit_days(&time->y, &time->m, &time->d)); do_range_limit(1, 13, 12, &time->m, &time->y); } @@ -222,7 +256,7 @@ static void do_adjust_relative(timelib_time* time) timelib_do_normalize(time); if (time->have_relative) { - time->f += time->relative.f; + time->us += time->relative.us; time->s += time->relative.s; time->i += time->relative.i; @@ -399,16 +433,15 @@ static timelib_sll do_adjust_timezone(timelib_time *tz, timelib_tzinfo *tzi) case TIMELIB_ZONETYPE_OFFSET: tz->is_localtime = 1; - return tz->z * 60; + return -tz->z; break; case TIMELIB_ZONETYPE_ABBR: { timelib_sll tmp; tz->is_localtime = 1; - tmp = tz->z; - tmp -= tz->dst * 60; - tmp *= 60; + tmp = -tz->z; + tmp -= tz->dst * 3600; return tmp; } break; @@ -422,19 +455,19 @@ static timelib_sll do_adjust_timezone(timelib_time *tz, timelib_tzinfo *tzi) if (tzi) { timelib_time_offset *before, *after; timelib_sll tmp; - int in_transistion; + int in_transition; tz->is_localtime = 1; before = timelib_get_time_zone_info(tz->sse, tzi); after = timelib_get_time_zone_info(tz->sse - before->offset, tzi); timelib_set_timezone(tz, tzi); - in_transistion = ( - ((tz->sse - after->offset) >= (after->transistion_time + (before->offset - after->offset))) && - ((tz->sse - after->offset) < after->transistion_time) + in_transition = ( + ((tz->sse - after->offset) >= (after->transition_time + (before->offset - after->offset))) && + ((tz->sse - after->offset) < after->transition_time) ); - if ((before->offset != after->offset) && !in_transistion) { + if ((before->offset != after->offset) && !in_transition) { tmp = -after->offset; } else { tmp = -tz->z; diff --git a/ext/date/lib/unixtime2tm.c b/ext/date/lib/unixtime2tm.c index e46a0af57d..43bfe818f5 100644 --- a/ext/date/lib/unixtime2tm.c +++ b/ext/date/lib/unixtime2tm.c @@ -23,18 +23,7 @@ */ #include "timelib.h" - -#include <stdio.h> - -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif - -#ifdef HAVE_STRING_H -#include <string.h> -#else -#include <strings.h> -#endif +#include "timelib_private.h" static int month_tab_leap[12] = { -1, 30, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 }; static int month_tab[12] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 }; @@ -60,7 +49,7 @@ void timelib_unixtime2gmt(timelib_time* tm, timelib_sll ts) if (ts >= 0) { tmp_days = days + 1; - if (tmp_days >= DAYS_PER_LYEAR_PERIOD || tmp_days <= -DAYS_PER_LYEAR_PERIOD) { + if (tmp_days > DAYS_PER_LYEAR_PERIOD || tmp_days <= -DAYS_PER_LYEAR_PERIOD) { cur_year += YEARS_PER_LYEAR_PERIOD * (tmp_days / DAYS_PER_LYEAR_PERIOD); tmp_days -= DAYS_PER_LYEAR_PERIOD * (tmp_days / DAYS_PER_LYEAR_PERIOD); } @@ -149,7 +138,7 @@ void timelib_update_from_sse(timelib_time *tm) switch (tm->zone_type) { case TIMELIB_ZONETYPE_ABBR: case TIMELIB_ZONETYPE_OFFSET: { - timelib_unixtime2gmt(tm, tm->sse - (tm->z * 60) + (tm->dst * 3600)); + timelib_unixtime2gmt(tm, tm->sse + tm->z + (tm->dst * 3600)); goto cleanup; } @@ -187,7 +176,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) + (tm->dst * 3600)); + timelib_unixtime2gmt(tm, ts + tm->z + (tm->dst * 3600)); tm->sse = ts; tm->z = z; @@ -295,10 +284,3 @@ int timelib_apply_localtime(timelib_time *t, unsigned int localtime) } return 0; } - -#if HAVE_GETTIMEOFDAY -void timelib_set_fraction_from_timeval(timelib_time *t, struct timeval tp) -{ - t->f = (double) tp.tv_usec / 1000000; -} -#endif diff --git a/ext/date/php_date.c b/ext/date/php_date.c index fb98fab893..9188b29470 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -29,6 +29,7 @@ #include "php_date.h" #include "zend_interfaces.h" #include "lib/timelib.h" +#include "lib/timelib_private.h" #ifndef PHP_WIN32 #include <time.h> #else @@ -934,6 +935,7 @@ PHP_MINFO_FUNCTION(date) static timelib_tzinfo *php_date_parse_tzfile(char *formal_tzname, const timelib_tzdb *tzdb) { timelib_tzinfo *tzi; + int dummy_error_code; if(!DATEG(tzcache)) { ALLOC_HASHTABLE(DATEG(tzcache)); @@ -944,14 +946,14 @@ static timelib_tzinfo *php_date_parse_tzfile(char *formal_tzname, const timelib_ return tzi; } - tzi = timelib_parse_tzfile(formal_tzname, tzdb); + tzi = timelib_parse_tzfile(formal_tzname, tzdb, &dummy_error_code); if (tzi) { zend_hash_str_add_ptr(DATEG(tzcache), formal_tzname, strlen(formal_tzname), tzi); } return tzi; } -timelib_tzinfo *php_date_parse_tzfile_wrapper(char *formal_tzname, const timelib_tzdb *tzdb) +timelib_tzinfo *php_date_parse_tzfile_wrapper(char *formal_tzname, const timelib_tzdb *tzdb, int *dummy_error_code) { return php_date_parse_tzfile(formal_tzname, tzdb); } @@ -1103,13 +1105,13 @@ static zend_string *date_format(char *format, size_t format_len, timelib_time *t if (localtime) { if (t->zone_type == TIMELIB_ZONETYPE_ABBR) { offset = timelib_time_offset_ctor(); - offset->offset = (t->z - (t->dst * 60)) * -60; + offset->offset = (t->z + (t->dst * 3600)); offset->leap_secs = 0; offset->is_dst = t->dst; offset->abbr = timelib_strdup(t->tz_abbr); } else if (t->zone_type == TIMELIB_ZONETYPE_OFFSET) { offset = timelib_time_offset_ctor(); - offset->offset = (t->z) * -60; + offset->offset = (t->z); offset->leap_secs = 0; offset->is_dst = 0; offset->abbr = timelib_malloc(9); /* GMT±xxxx\0 */ @@ -1174,8 +1176,8 @@ static zend_string *date_format(char *format, size_t format_len, timelib_time *t case 'H': length = slprintf(buffer, 32, "%02d", (int) t->h); break; case 'i': length = slprintf(buffer, 32, "%02d", (int) t->i); break; case 's': length = slprintf(buffer, 32, "%02d", (int) t->s); break; - case 'u': length = slprintf(buffer, 32, "%06d", (int) floor(t->f * 1000000 + 0.5)); break; - case 'v': length = slprintf(buffer, 32, "%03d", (int) floor(t->f * 1000 + 0.5)); break; + case 'u': length = slprintf(buffer, 32, "%06d", (int) floor(t->us)); break; + case 'v': length = slprintf(buffer, 32, "%03d", (int) floor(t->us / 1000)); break; /* timezone */ case 'I': length = slprintf(buffer, 32, "%d", localtime ? offset->is_dst : 0); break; @@ -1313,13 +1315,13 @@ PHPAPI int php_idate(char format, time_t ts, int localtime) if (!localtime) { if (t->zone_type == TIMELIB_ZONETYPE_ABBR) { offset = timelib_time_offset_ctor(); - offset->offset = (t->z - (t->dst * 60)) * -60; + offset->offset = (t->z + (t->dst * 3600)); offset->leap_secs = 0; offset->is_dst = t->dst; offset->abbr = timelib_strdup(t->tz_abbr); } else if (t->zone_type == TIMELIB_ZONETYPE_OFFSET) { offset = timelib_time_offset_ctor(); - offset->offset = (t->z - (t->dst * 60)) * -60; + offset->offset = (t->z + (t->dst * 3600)); offset->leap_secs = 0; offset->is_dst = t->dst; offset->abbr = timelib_malloc(9); /* GMT±xxxx\0 */ @@ -2267,9 +2269,9 @@ static HashTable *date_object_get_properties(zval *object) /* {{{ */ timelib_sll utc_offset = dateobj->time->z; ZSTR_LEN(tmpstr) = snprintf(ZSTR_VAL(tmpstr), sizeof("+05:00"), "%c%02d:%02d", - utc_offset > 0 ? '-' : '+', - abs(utc_offset / 60), - abs((utc_offset % 60))); + utc_offset < 0 ? '-' : '+', + abs(utc_offset / 3600), + abs(((utc_offset % 3600) / 60))); ZVAL_NEW_STR(&zv, tmpstr); } @@ -2359,9 +2361,9 @@ static HashTable *date_object_get_properties_timezone(zval *object) /* {{{ */ zend_string *tmpstr = zend_string_alloc(sizeof("UTC+05:00")-1, 0); ZSTR_LEN(tmpstr) = snprintf(ZSTR_VAL(tmpstr), sizeof("+05:00"), "%c%02d:%02d", - tzobj->tzi.utc_offset > 0 ? '-' : '+', - abs(tzobj->tzi.utc_offset / 60), - abs((tzobj->tzi.utc_offset % 60))); + tzobj->tzi.utc_offset < 0 ? '-' : '+', + abs(tzobj->tzi.utc_offset / 3600), + abs(((tzobj->tzi.utc_offset % 3600) / 60))); ZVAL_NEW_STR(&zv, tmpstr); } @@ -2441,7 +2443,7 @@ static HashTable *date_object_get_properties_interval(zval *object) /* {{{ */ PHP_DATE_INTERVAL_ADD_PROPERTY("h", h); PHP_DATE_INTERVAL_ADD_PROPERTY("i", i); PHP_DATE_INTERVAL_ADD_PROPERTY("s", s); - ZVAL_DOUBLE(&zv, (double)intervalobj->diff->f); + ZVAL_DOUBLE(&zv, (double)intervalobj->diff->us / 1000000.0); zend_hash_str_update(props, "f", sizeof("f") - 1, &zv); PHP_DATE_INTERVAL_ADD_PROPERTY("weekday", weekday); PHP_DATE_INTERVAL_ADD_PROPERTY("weekday_behavior", weekday_behavior); @@ -2577,7 +2579,7 @@ static void update_errors_warnings(timelib_error_container *last_errors) /* {{{ static void php_date_set_time_fraction(timelib_time *time, int microseconds) { - time->f = (double) microseconds / 1000000; + time->us = microseconds; } static void php_date_get_current_time_with_fraction(time_t *sec, suseconds_t *usec) @@ -3000,10 +3002,10 @@ void php_date_do_return_parsed_time(INTERNAL_FUNCTION_PARAMETERS, timelib_time * PHP_DATE_PARSE_DATE_SET_TIME_ELEMENT(minute, i); PHP_DATE_PARSE_DATE_SET_TIME_ELEMENT(second, s); - if (parsed_time->f == -99999) { + if (parsed_time->us == -99999) { add_assoc_bool(return_value, "fraction", 0); } else { - add_assoc_double(return_value, "fraction", parsed_time->f); + add_assoc_double(return_value, "fraction", (double)parsed_time->us / 1000000.0); } zval_from_error_container(return_value, error); @@ -3167,8 +3169,8 @@ static int php_date_modify(zval *object, char *modify, size_t modify_len) /* {{{ } } - if (tmp_time->f != -99999) { - dateobj->time->f = tmp_time->f; + if (tmp_time->us != -99999) { + dateobj->time->us = tmp_time->us; } timelib_time_dtor(tmp_time); @@ -3457,10 +3459,10 @@ PHP_FUNCTION(date_offset_get) timelib_time_offset_dtor(offset); break; case TIMELIB_ZONETYPE_OFFSET: - RETVAL_LONG(dateobj->time->z * -60); + RETVAL_LONG(dateobj->time->z); break; case TIMELIB_ZONETYPE_ABBR: - RETVAL_LONG((dateobj->time->z - (60 * dateobj->time->dst)) * -60); + RETVAL_LONG((dateobj->time->z + (3600 * dateobj->time->dst))); break; } return; @@ -3479,7 +3481,7 @@ static void php_date_time_set(zval *object, zend_long h, zend_long i, zend_long dateobj->time->h = h; dateobj->time->i = i; dateobj->time->s = s; - dateobj->time->f = ((double) ms) / 1000000; + dateobj->time->us = ms; timelib_update_ts(dateobj->time, NULL); } /* }}} */ @@ -3877,9 +3879,9 @@ PHP_FUNCTION(timezone_name_get) timelib_sll utc_offset = tzobj->tzi.utc_offset; ZSTR_LEN(tmpstr) = snprintf(ZSTR_VAL(tmpstr), sizeof("+05:00"), "%c%02d:%02d", - utc_offset > 0 ? '-' : '+', - abs(utc_offset / 60), - abs((utc_offset % 60))); + utc_offset < 0 ? '-' : '+', + abs(utc_offset / 3600), + abs(((utc_offset % 3600) / 60))); RETURN_NEW_STR(tmpstr); } @@ -3940,10 +3942,10 @@ PHP_FUNCTION(timezone_offset_get) timelib_time_offset_dtor(offset); break; case TIMELIB_ZONETYPE_OFFSET: - RETURN_LONG(tzobj->tzi.utc_offset * -60); + RETURN_LONG(tzobj->tzi.utc_offset); break; case TIMELIB_ZONETYPE_ABBR: - RETURN_LONG((tzobj->tzi.z.utc_offset - (tzobj->tzi.z.dst*60)) * -60); + RETURN_LONG(tzobj->tzi.z.utc_offset + (tzobj->tzi.z.dst * 3600)); break; } } @@ -4129,7 +4131,7 @@ zval *date_interval_read_property(zval *object, zval *member, int type, void **c GET_VALUE_FROM_STRUCT(i, "i"); GET_VALUE_FROM_STRUCT(s, "s"); if (strcmp(Z_STRVAL_P(member), "f") == 0) { - fvalue = obj->diff->f; + fvalue = obj->diff->us / 1000000; break; } GET_VALUE_FROM_STRUCT(invert, "invert"); @@ -4200,7 +4202,7 @@ void date_interval_write_property(zval *object, zval *member, zval *value, void SET_VALUE_FROM_STRUCT(i, "i"); SET_VALUE_FROM_STRUCT(s, "s"); if (strcmp(Z_STRVAL_P(member), "f") == 0) { - obj->diff->f = zval_get_double(value); + obj->diff->us = zval_get_double(value) * 1000000; break; } SET_VALUE_FROM_STRUCT(invert, "invert"); @@ -4283,7 +4285,14 @@ static int php_date_interval_initialize_from_hash(zval **return_value, php_inter PHP_DATE_INTERVAL_READ_PROPERTY("h", h, timelib_sll, -1) PHP_DATE_INTERVAL_READ_PROPERTY("i", i, timelib_sll, -1) PHP_DATE_INTERVAL_READ_PROPERTY("s", s, timelib_sll, -1) - PHP_DATE_INTERVAL_READ_PROPERTY_DOUBLE("f", f, -1) + do { + zval *z_arg = zend_hash_str_find(myht, "f", sizeof("f") - 1); + if (z_arg) { + (*intobj)->diff->us = ((double)zval_get_double(z_arg) * 1000000); + } else { + (*intobj)->diff->us = (double) -1000000; + } + } while (0); PHP_DATE_INTERVAL_READ_PROPERTY("weekday", weekday, int, -1) PHP_DATE_INTERVAL_READ_PROPERTY("weekday_behavior", weekday_behavior, int, -1) PHP_DATE_INTERVAL_READ_PROPERTY("first_last_day_of", first_last_day_of, int, -1) @@ -4393,8 +4402,8 @@ static zend_string *date_interval_format(char *format, size_t format_len, timeli case 'S': length = slprintf(buffer, 32, "%02" ZEND_LONG_FMT_SPEC, (zend_long) t->s); break; case 's': length = slprintf(buffer, 32, ZEND_LONG_FMT, (zend_long) t->s); break; - case 'F': length = slprintf(buffer, 32, "%06" ZEND_LONG_FMT_SPEC, (zend_long) (t->f * 1000000)); break; - case 'f': length = slprintf(buffer, 32, ZEND_LONG_FMT, (zend_long) (t->f * 1000000)); break; + case 'F': length = slprintf(buffer, 32, "%06" ZEND_LONG_FMT_SPEC, (zend_long) t->us); break; + case 'f': length = slprintf(buffer, 32, ZEND_LONG_FMT, (zend_long) t->us); break; case 'a': { if ((int) t->days != -99999) { diff --git a/ext/date/tests/DateTimeZone_getLocation.phpt b/ext/date/tests/DateTimeZone_getLocation.phpt index 2dec10ad57..011f0460f3 100644 --- a/ext/date/tests/DateTimeZone_getLocation.phpt +++ b/ext/date/tests/DateTimeZone_getLocation.phpt @@ -56,12 +56,5 @@ Array [country_code] => %s [latitude] => %f [longitude] => %f - [comments] => -) -Array -( - [country_code] => %s - [latitude] => %f - [longitude] => %f [comments] => %s ) diff --git a/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt b/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt index 1cbaaef377..5d68abe05f 100644 --- a/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt +++ b/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt @@ -29,26 +29,17 @@ string(5) "array" int(%d) -- Format a sample entry -- -array(17) { +array(12) { [0]=> array(3) { ["dst"]=> - bool(true) - ["offset"]=> - int(-14400) - ["timezone_id"]=> - string(18) "America/Porto_Acre" - } - [1]=> - array(3) { - ["dst"]=> bool(false) ["offset"]=> int(32400) ["timezone_id"]=> string(18) "Australia/Adelaide" } - [2]=> + [1]=> array(3) { ["dst"]=> bool(false) @@ -57,34 +48,7 @@ array(17) { ["timezone_id"]=> string(18) "Australia/Adelaide" } - [3]=> - array(3) { - ["dst"]=> - bool(true) - ["offset"]=> - int(-14400) - ["timezone_id"]=> - string(16) "America/Eirunepe" - } - [4]=> - array(3) { - ["dst"]=> - bool(true) - ["offset"]=> - int(-14400) - ["timezone_id"]=> - string(18) "America/Rio_Branco" - } - [5]=> - array(3) { - ["dst"]=> - bool(true) - ["offset"]=> - int(-14400) - ["timezone_id"]=> - string(11) "Brazil/Acre" - } - [6]=> + [2]=> array(3) { ["dst"]=> bool(false) @@ -93,7 +57,7 @@ array(17) { ["timezone_id"]=> string(21) "Australia/Broken_Hill" } - [7]=> + [3]=> array(3) { ["dst"]=> bool(false) @@ -102,7 +66,7 @@ array(17) { ["timezone_id"]=> string(16) "Australia/Darwin" } - [8]=> + [4]=> array(3) { ["dst"]=> bool(false) @@ -111,7 +75,7 @@ array(17) { ["timezone_id"]=> string(15) "Australia/North" } - [9]=> + [5]=> array(3) { ["dst"]=> bool(false) @@ -120,7 +84,7 @@ array(17) { ["timezone_id"]=> string(15) "Australia/South" } - [10]=> + [6]=> array(3) { ["dst"]=> bool(false) @@ -129,16 +93,7 @@ array(17) { ["timezone_id"]=> string(20) "Australia/Yancowinna" } - [11]=> - array(3) { - ["dst"]=> - bool(false) - ["offset"]=> - int(34200) - ["timezone_id"]=> - string(13) "Asia/Jayapura" - } - [12]=> + [7]=> array(3) { ["dst"]=> bool(false) @@ -147,7 +102,7 @@ array(17) { ["timezone_id"]=> string(21) "Australia/Broken_Hill" } - [13]=> + [8]=> array(3) { ["dst"]=> bool(false) @@ -156,7 +111,7 @@ array(17) { ["timezone_id"]=> string(16) "Australia/Darwin" } - [14]=> + [9]=> array(3) { ["dst"]=> bool(false) @@ -165,7 +120,7 @@ array(17) { ["timezone_id"]=> string(15) "Australia/North" } - [15]=> + [10]=> array(3) { ["dst"]=> bool(false) @@ -174,7 +129,7 @@ array(17) { ["timezone_id"]=> string(15) "Australia/South" } - [16]=> + [11]=> array(3) { ["dst"]=> bool(false) diff --git a/ext/date/tests/bug35499.phpt b/ext/date/tests/bug35499.phpt index 03f5205daa..84d979cf71 100644 --- a/ext/date/tests/bug35499.phpt +++ b/ext/date/tests/bug35499.phpt @@ -42,7 +42,7 @@ array(16) { ["zone_type"]=> int(2) ["zone"]=> - int(-60) + int(3600) ["is_dst"]=> bool(false) ["tz_abbr"]=> diff --git a/ext/date/tests/bug41964.phpt b/ext/date/tests/bug41964.phpt index 022a1861b4..076d0e9a24 100644 --- a/ext/date/tests/bug41964.phpt +++ b/ext/date/tests/bug41964.phpt @@ -40,20 +40,20 @@ echo "\n"; NULL NULL -int(-60) +int(3600) string(1) "A" -int(-60) +int(3600) string(1) "A" -int(-60) +int(3600) string(1) "A" -int(-60) +int(3600) string(1) "A" -int(-60) +int(3600) string(1) "A" -int(-60) +int(3600) string(1) "A" diff --git a/ext/date/tests/bug45081.phpt b/ext/date/tests/bug45081.phpt index 20733c686a..a312b52260 100644 --- a/ext/date/tests/bug45081.phpt +++ b/ext/date/tests/bug45081.phpt @@ -5,7 +5,7 @@ date.timezone=Asia/Singapore --FILE-- <?php -print strtotime('2008-05-23 00:00:00 SGT'); +print strtotime('2008-05-23 00:00:00 +08'); print "\n"; print strtotime('2008-05-23 00:00:00'); diff --git a/ext/date/tests/bug68078_negative.phpt b/ext/date/tests/bug68078_negative.phpt index 93b7715fe5..3f0d6953d2 100644 --- a/ext/date/tests/bug68078_negative.phpt +++ b/ext/date/tests/bug68078_negative.phpt @@ -7,10 +7,10 @@ date_default_timezone_set('UTC'); $earlyDate1 = DateTime::createFromFormat('U.u', '1.8642')->modify('-5 seconds'); $earlyDate2 = DateTime::createFromFormat('U.u', '1.2768')->modify('-5 seconds'); $earlyDate3 = DateTime::createFromFormat('U.u', '1.2768')->modify('-5 seconds'); - +// var_dump($earlyDate1, $earlyDate2, $earlyDate3); var_dump($earlyDate1 == $earlyDate2); -var_dump($earlyDate1 < $earlyDate2); -var_dump($earlyDate2 > $earlyDate1); +var_dump($earlyDate1 > $earlyDate2); +var_dump($earlyDate2 < $earlyDate1); var_dump($earlyDate2 == $earlyDate3); --EXPECT-- bool(false) diff --git a/ext/date/tests/date_parse_001.phpt b/ext/date/tests/date_parse_001.phpt index fd1394c77a..73fe825723 100644 --- a/ext/date/tests/date_parse_001.phpt +++ b/ext/date/tests/date_parse_001.phpt @@ -104,7 +104,7 @@ array(15) { ["zone_type"]=> int(1) ["zone"]=> - int(720) + int(-43200) ["is_dst"]=> bool(false) } @@ -228,7 +228,7 @@ array(15) { ["zone_type"]=> int(1) ["zone"]=> - int(180) + int(-10800) ["is_dst"]=> bool(false) } diff --git a/ext/date/tests/date_sun_info_001.phpt b/ext/date/tests/date_sun_info_001.phpt index e4f893baaf..44b6d112e4 100644 --- a/ext/date/tests/date_sun_info_001.phpt +++ b/ext/date/tests/date_sun_info_001.phpt @@ -10,22 +10,22 @@ echo "Done\n"; --EXPECTF-- array(9) { ["sunrise"]=> - int(1165897782) + int(1165897761) ["sunset"]=> - int(1165934168) + int(1165934160) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165896176) + int(1165896156) ["civil_twilight_end"]=> - int(1165935773) + int(1165935765) ["nautical_twilight_begin"]=> - int(1165894353) + int(1165894334) ["nautical_twilight_end"]=> - int(1165937597) + int(1165937588) ["astronomical_twilight_begin"]=> - int(1165892570) + int(1165892551) ["astronomical_twilight_end"]=> - int(1165939380) + int(1165939371) } Done diff --git a/ext/date/tests/date_sun_info_002.phpt b/ext/date/tests/date_sun_info_002.phpt index 6233392da4..4df725187d 100644 --- a/ext/date/tests/date_sun_info_002.phpt +++ b/ext/date/tests/date_sun_info_002.phpt @@ -11,13 +11,13 @@ foreach ($sun_info as $key => $elem ) echo "Done\n"; ?> --EXPECTF-- -2007-04-13 06:12:19 CEST sunrise -2007-04-13 20:31:50 CEST sunset -2007-04-13 13:22:05 CEST transit -2007-04-13 05:28:03 CEST civil_twilight_begin -2007-04-13 21:16:06 CEST civil_twilight_end -2007-04-13 04:30:08 CEST nautical_twilight_begin -2007-04-13 22:14:01 CEST nautical_twilight_end -2007-04-13 03:14:36 CEST astronomical_twilight_begin -2007-04-13 23:29:33 CEST astronomical_twilight_end +2007-04-13 06:13:31 CEST sunrise +2007-04-13 20:30:51 CEST sunset +2007-04-13 13:22:11 CEST transit +2007-04-13 05:29:22 CEST civil_twilight_begin +2007-04-13 21:15:00 CEST civil_twilight_end +2007-04-13 04:31:43 CEST nautical_twilight_begin +2007-04-13 22:12:39 CEST nautical_twilight_end +2007-04-13 03:17:01 CEST astronomical_twilight_begin +2007-04-13 23:27:21 CEST astronomical_twilight_end Done diff --git a/ext/date/tests/date_sun_info_003.phpt b/ext/date/tests/date_sun_info_003.phpt index 3ff7a06df1..7e18d2da41 100644 --- a/ext/date/tests/date_sun_info_003.phpt +++ b/ext/date/tests/date_sun_info_003.phpt @@ -22,7 +22,7 @@ echo "Done\n"; --EXPECTF-- sunrise: 21:00:00 sunset: 21:00:00 -transit: 10:04:02 +transit: 10:03:48 civil_twilight_begin: 21:00:00 civil_twilight_end: 21:00:00 nautical_twilight_begin: 21:00:00 @@ -32,11 +32,11 @@ astronomical_twilight_end: 21:00:00 sunrise: 21:00:01 sunset: 21:00:01 -transit: 08:52:30 +transit: 08:52:44 civil_twilight_begin: 21:00:01 civil_twilight_end: 21:00:01 nautical_twilight_begin: 21:00:01 nautical_twilight_end: 21:00:01 astronomical_twilight_begin: 21:00:01 astronomical_twilight_end: 21:00:01 -Done
\ No newline at end of file +Done diff --git a/ext/date/tests/date_sun_info_variation1.phpt b/ext/date/tests/date_sun_info_variation1.phpt index 9c056e9dc0..1faafea1d9 100644 --- a/ext/date/tests/date_sun_info_variation1.phpt +++ b/ext/date/tests/date_sun_info_variation1.phpt @@ -84,331 +84,331 @@ foreach($inputs as $input) { -- Iteration 1 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 2 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 3 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 4 -- array(9) { ["sunrise"]=> - int(-69665) + int(-69672) ["sunset"]=> - int(-33260) + int(-33281) ["transit"]=> - int(-51462) + int(-51476) ["civil_twilight_begin"]=> - int(-71269) + int(-71277) ["civil_twilight_end"]=> - int(-31655) + int(-31675) ["nautical_twilight_begin"]=> - int(-73092) + int(-73100) ["nautical_twilight_end"]=> - int(-29832) + int(-29852) ["astronomical_twilight_begin"]=> - int(-74874) + int(-74883) ["astronomical_twilight_end"]=> - int(-28050) + int(-28069) } -- Iteration 5 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 6 -- array(9) { ["sunrise"]=> - int(-69665) + int(-69672) ["sunset"]=> - int(-33260) + int(-33281) ["transit"]=> - int(-51462) + int(-51476) ["civil_twilight_begin"]=> - int(-71269) + int(-71277) ["civil_twilight_end"]=> - int(-31655) + int(-31675) ["nautical_twilight_begin"]=> - int(-73092) + int(-73100) ["nautical_twilight_end"]=> - int(-29832) + int(-29852) ["astronomical_twilight_begin"]=> - int(-74874) + int(-74883) ["astronomical_twilight_end"]=> - int(-28050) + int(-28069) } -- Iteration 7 -- array(9) { ["sunrise"]=> - int(1226363) + int(1226368) ["sunset"]=> - int(1263468) + int(1263442) ["transit"]=> - int(1244916) + int(1244905) ["civil_twilight_begin"]=> - int(1224788) + int(1224792) ["civil_twilight_end"]=> - int(1265044) + int(1265019) ["nautical_twilight_begin"]=> - int(1222993) + int(1222996) ["nautical_twilight_end"]=> - int(1266839) + int(1266815) ["astronomical_twilight_begin"]=> - int(1221233) + int(1221234) ["astronomical_twilight_end"]=> - int(1268599) + int(1268576) } -- Iteration 8 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 9 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 10 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 11 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 12 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 13 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 14 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 15 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 16 -- @@ -444,49 +444,49 @@ bool(false) -- Iteration 22 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 23 -- array(9) { ["sunrise"]=> - int(16748) + int(16742) ["sunset"]=> - int(53182) + int(53161) ["transit"]=> - int(34965) + int(34951) ["civil_twilight_begin"]=> - int(15145) + int(15138) ["civil_twilight_end"]=> - int(54786) + int(54765) ["nautical_twilight_begin"]=> - int(13324) + int(13316) ["nautical_twilight_end"]=> - int(56607) + int(56587) ["astronomical_twilight_begin"]=> - int(11542) + int(11534) ["astronomical_twilight_end"]=> - int(58389) + int(58369) } -- Iteration 24 -- Warning: date_sun_info() expects parameter 1 to be integer, resource given in %s on line %d bool(false) -===Done===
\ No newline at end of file +===Done=== diff --git a/ext/date/tests/date_sun_info_variation2.phpt b/ext/date/tests/date_sun_info_variation2.phpt index 61f9b29bf8..8c8267a234 100644 --- a/ext/date/tests/date_sun_info_variation2.phpt +++ b/ext/date/tests/date_sun_info_variation2.phpt @@ -84,45 +84,45 @@ foreach($inputs as $input) { -- Iteration 1 -- array(9) { ["sunrise"]=> - int(1165894152) + int(1165894138) ["sunset"]=> - int(1165937798) + int(1165937784) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892809) + int(1165892795) ["civil_twilight_end"]=> - int(1165939141) + int(1165939127) ["nautical_twilight_begin"]=> - int(1165891239) + int(1165891226) ["nautical_twilight_end"]=> - int(1165940710) + int(1165940696) ["astronomical_twilight_begin"]=> - int(1165889663) + int(1165889650) ["astronomical_twilight_end"]=> - int(1165942287) + int(1165942271) } -- Iteration 2 -- array(9) { ["sunrise"]=> - int(1165894254) + int(1165894240) ["sunset"]=> - int(1165937695) + int(1165937681) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892911) + int(1165892898) ["civil_twilight_end"]=> - int(1165939038) + int(1165939024) ["nautical_twilight_begin"]=> - int(1165891344) + int(1165891330) ["nautical_twilight_end"]=> - int(1165940606) + int(1165940591) ["astronomical_twilight_begin"]=> - int(1165889771) + int(1165889758) ["astronomical_twilight_end"]=> - int(1165942179) + int(1165942164) } -- Iteration 3 -- @@ -132,283 +132,283 @@ array(9) { ["sunset"]=> bool(true) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> bool(true) ["civil_twilight_end"]=> bool(true) ["nautical_twilight_begin"]=> - int(1165883331) + int(1165883368) ["nautical_twilight_end"]=> - int(1165948619) + int(1165948554) ["astronomical_twilight_begin"]=> - int(1165890260) + int(1165890281) ["astronomical_twilight_end"]=> - int(1165941690) + int(1165941641) } -- Iteration 4 -- array(9) { ["sunrise"]=> - int(1165894085) + int(1165894072) ["sunset"]=> - int(1165937865) + int(1165937850) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165895431) + int(1165895418) ["civil_twilight_end"]=> - int(1165936519) + int(1165936504) ["nautical_twilight_begin"]=> - int(1165896998) + int(1165896984) ["nautical_twilight_end"]=> - int(1165934952) + int(1165934938) ["astronomical_twilight_begin"]=> - int(1165898564) + int(1165898549) ["astronomical_twilight_end"]=> - int(1165933386) + int(1165933372) } -- Iteration 5 -- array(9) { ["sunrise"]=> - int(1165895237) + int(1165895221) ["sunset"]=> - int(1165936713) + int(1165936701) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165893873) + int(1165893858) ["civil_twilight_end"]=> - int(1165938077) + int(1165938064) ["nautical_twilight_begin"]=> - int(1165892293) + int(1165892278) ["nautical_twilight_end"]=> - int(1165939656) + int(1165939643) ["astronomical_twilight_begin"]=> - int(1165890721) + int(1165890706) ["astronomical_twilight_end"]=> - int(1165941229) + int(1165941215) } -- Iteration 6 -- array(9) { ["sunrise"]=> - int(1165893058) + int(1165893046) ["sunset"]=> - int(1165938891) + int(1165938875) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165891680) + int(1165891669) ["civil_twilight_end"]=> - int(1165940269) + int(1165940253) ["nautical_twilight_begin"]=> - int(1165890055) + int(1165890044) ["nautical_twilight_end"]=> - int(1165941895) + int(1165941878) ["astronomical_twilight_begin"]=> - int(1165888402) + int(1165888392) ["astronomical_twilight_end"]=> - int(1165943548) + int(1165943530) } -- Iteration 7 -- array(9) { ["sunrise"]=> - int(1165894152) + int(1165894138) ["sunset"]=> - int(1165937798) + int(1165937784) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892809) + int(1165892795) ["civil_twilight_end"]=> - int(1165939141) + int(1165939127) ["nautical_twilight_begin"]=> - int(1165891239) + int(1165891226) ["nautical_twilight_end"]=> - int(1165940710) + int(1165940696) ["astronomical_twilight_begin"]=> - int(1165889663) + int(1165889650) ["astronomical_twilight_end"]=> - int(1165942287) + int(1165942271) } -- Iteration 8 -- array(9) { ["sunrise"]=> - int(1165894152) + int(1165894138) ["sunset"]=> - int(1165937798) + int(1165937784) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892809) + int(1165892795) ["civil_twilight_end"]=> - int(1165939141) + int(1165939127) ["nautical_twilight_begin"]=> - int(1165891239) + int(1165891226) ["nautical_twilight_end"]=> - int(1165940710) + int(1165940696) ["astronomical_twilight_begin"]=> - int(1165889663) + int(1165889650) ["astronomical_twilight_end"]=> - int(1165942287) + int(1165942271) } -- Iteration 9 -- array(9) { ["sunrise"]=> - int(1165894203) + int(1165894189) ["sunset"]=> - int(1165937747) + int(1165937733) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892860) + int(1165892846) ["civil_twilight_end"]=> - int(1165939090) + int(1165939075) ["nautical_twilight_begin"]=> - int(1165891292) + int(1165891278) ["nautical_twilight_end"]=> - int(1165940658) + int(1165940643) ["astronomical_twilight_begin"]=> - int(1165889717) + int(1165889704) ["astronomical_twilight_end"]=> - int(1165942233) + int(1165942217) } -- Iteration 10 -- array(9) { ["sunrise"]=> - int(1165894152) + int(1165894138) ["sunset"]=> - int(1165937798) + int(1165937784) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892809) + int(1165892795) ["civil_twilight_end"]=> - int(1165939141) + int(1165939127) ["nautical_twilight_begin"]=> - int(1165891239) + int(1165891226) ["nautical_twilight_end"]=> - int(1165940710) + int(1165940696) ["astronomical_twilight_begin"]=> - int(1165889663) + int(1165889650) ["astronomical_twilight_end"]=> - int(1165942287) + int(1165942271) } -- Iteration 11 -- array(9) { ["sunrise"]=> - int(1165894152) + int(1165894138) ["sunset"]=> - int(1165937798) + int(1165937784) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892809) + int(1165892795) ["civil_twilight_end"]=> - int(1165939141) + int(1165939127) ["nautical_twilight_begin"]=> - int(1165891239) + int(1165891226) ["nautical_twilight_end"]=> - int(1165940710) + int(1165940696) ["astronomical_twilight_begin"]=> - int(1165889663) + int(1165889650) ["astronomical_twilight_end"]=> - int(1165942287) + int(1165942271) } -- Iteration 12 -- array(9) { ["sunrise"]=> - int(1165894254) + int(1165894240) ["sunset"]=> - int(1165937695) + int(1165937681) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892911) + int(1165892898) ["civil_twilight_end"]=> - int(1165939038) + int(1165939024) ["nautical_twilight_begin"]=> - int(1165891344) + int(1165891330) ["nautical_twilight_end"]=> - int(1165940606) + int(1165940591) ["astronomical_twilight_begin"]=> - int(1165889771) + int(1165889758) ["astronomical_twilight_end"]=> - int(1165942179) + int(1165942164) } -- Iteration 13 -- array(9) { ["sunrise"]=> - int(1165894152) + int(1165894138) ["sunset"]=> - int(1165937798) + int(1165937784) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892809) + int(1165892795) ["civil_twilight_end"]=> - int(1165939141) + int(1165939127) ["nautical_twilight_begin"]=> - int(1165891239) + int(1165891226) ["nautical_twilight_end"]=> - int(1165940710) + int(1165940696) ["astronomical_twilight_begin"]=> - int(1165889663) + int(1165889650) ["astronomical_twilight_end"]=> - int(1165942287) + int(1165942271) } -- Iteration 14 -- array(9) { ["sunrise"]=> - int(1165894254) + int(1165894240) ["sunset"]=> - int(1165937695) + int(1165937681) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892911) + int(1165892898) ["civil_twilight_end"]=> - int(1165939038) + int(1165939024) ["nautical_twilight_begin"]=> - int(1165891344) + int(1165891330) ["nautical_twilight_end"]=> - int(1165940606) + int(1165940591) ["astronomical_twilight_begin"]=> - int(1165889771) + int(1165889758) ["astronomical_twilight_end"]=> - int(1165942179) + int(1165942164) } -- Iteration 15 -- array(9) { ["sunrise"]=> - int(1165894152) + int(1165894138) ["sunset"]=> - int(1165937798) + int(1165937784) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892809) + int(1165892795) ["civil_twilight_end"]=> - int(1165939141) + int(1165939127) ["nautical_twilight_begin"]=> - int(1165891239) + int(1165891226) ["nautical_twilight_end"]=> - int(1165940710) + int(1165940696) ["astronomical_twilight_begin"]=> - int(1165889663) + int(1165889650) ["astronomical_twilight_end"]=> - int(1165942287) + int(1165942271) } -- Iteration 16 -- @@ -444,45 +444,45 @@ bool(false) -- Iteration 22 -- array(9) { ["sunrise"]=> - int(1165894152) + int(1165894138) ["sunset"]=> - int(1165937798) + int(1165937784) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892809) + int(1165892795) ["civil_twilight_end"]=> - int(1165939141) + int(1165939127) ["nautical_twilight_begin"]=> - int(1165891239) + int(1165891226) ["nautical_twilight_end"]=> - int(1165940710) + int(1165940696) ["astronomical_twilight_begin"]=> - int(1165889663) + int(1165889650) ["astronomical_twilight_end"]=> - int(1165942287) + int(1165942271) } -- Iteration 23 -- array(9) { ["sunrise"]=> - int(1165894152) + int(1165894138) ["sunset"]=> - int(1165937798) + int(1165937784) ["transit"]=> - int(1165915975) + int(1165915961) ["civil_twilight_begin"]=> - int(1165892809) + int(1165892795) ["civil_twilight_end"]=> - int(1165939141) + int(1165939127) ["nautical_twilight_begin"]=> - int(1165891239) + int(1165891226) ["nautical_twilight_end"]=> - int(1165940710) + int(1165940696) ["astronomical_twilight_begin"]=> - int(1165889663) + int(1165889650) ["astronomical_twilight_end"]=> - int(1165942287) + int(1165942271) } -- Iteration 24 -- diff --git a/ext/date/tests/date_sun_info_variation3.phpt b/ext/date/tests/date_sun_info_variation3.phpt index 909ecf06fb..28af426623 100644 --- a/ext/date/tests/date_sun_info_variation3.phpt +++ b/ext/date/tests/date_sun_info_variation3.phpt @@ -85,331 +85,331 @@ foreach($inputs as $input) { -- Iteration 1 -- array(9) { ["sunrise"]=> - int(1165906242) + int(1165906221) ["sunset"]=> - int(1165942625) + int(1165942618) ["transit"]=> - int(1165924434) + int(1165924420) ["civil_twilight_begin"]=> - int(1165904636) + int(1165904616) ["civil_twilight_end"]=> - int(1165944231) + int(1165944223) ["nautical_twilight_begin"]=> - int(1165902813) + int(1165902793) ["nautical_twilight_end"]=> - int(1165946054) + int(1165946046) ["astronomical_twilight_begin"]=> - int(1165901030) + int(1165901011) ["astronomical_twilight_end"]=> - int(1165947838) + int(1165947828) } -- Iteration 2 -- array(9) { ["sunrise"]=> - int(1165906002) + int(1165905981) ["sunset"]=> - int(1165942385) + int(1165942378) ["transit"]=> - int(1165924194) + int(1165924179) ["civil_twilight_begin"]=> - int(1165904396) + int(1165904376) ["civil_twilight_end"]=> - int(1165943991) + int(1165943983) ["nautical_twilight_begin"]=> - int(1165902573) + int(1165902553) ["nautical_twilight_end"]=> - int(1165945814) + int(1165945806) ["astronomical_twilight_begin"]=> - int(1165900789) + int(1165900771) ["astronomical_twilight_end"]=> - int(1165947598) + int(1165947588) } -- Iteration 3 -- array(9) { ["sunrise"]=> - int(1165879335) + int(1165879309) ["sunset"]=> - int(1165917916) + int(1165917937) ["transit"]=> - int(1165898625) + int(1165898623) ["civil_twilight_begin"]=> - int(1165877811) + int(1165877787) ["civil_twilight_end"]=> - int(1165919440) + int(1165919460) ["nautical_twilight_begin"]=> - int(1165876064) + int(1165876041) ["nautical_twilight_end"]=> - int(1165921187) + int(1165921205) ["astronomical_twilight_begin"]=> - int(1165874341) + int(1165874319) ["astronomical_twilight_end"]=> - int(1165922910) + int(1165922928) } -- Iteration 4 -- array(9) { ["sunrise"]=> - int(1165864483) + int(1165864467) ["sunset"]=> - int(1165900762) + int(1165900749) ["transit"]=> - int(1165882623) + int(1165882608) ["civil_twilight_begin"]=> - int(1165862873) + int(1165862856) ["civil_twilight_end"]=> - int(1165902372) + int(1165902359) ["nautical_twilight_begin"]=> - int(1165861045) + int(1165861029) ["nautical_twilight_end"]=> - int(1165904200) + int(1165904187) ["astronomical_twilight_begin"]=> - int(1165859259) + int(1165859242) ["astronomical_twilight_end"]=> - int(1165905987) + int(1165905973) } -- Iteration 5 -- array(9) { ["sunrise"]=> - int(1165903721) + int(1165903700) ["sunset"]=> - int(1165940105) + int(1165940097) ["transit"]=> - int(1165921913) + int(1165921899) ["civil_twilight_begin"]=> - int(1165902115) + int(1165902095) ["civil_twilight_end"]=> - int(1165941711) + int(1165941702) ["nautical_twilight_begin"]=> - int(1165900292) + int(1165900272) ["nautical_twilight_end"]=> - int(1165943534) + int(1165943525) ["astronomical_twilight_begin"]=> - int(1165898508) + int(1165898490) ["astronomical_twilight_end"]=> - int(1165945317) + int(1165945308) } -- Iteration 6 -- array(9) { ["sunrise"]=> - int(1165908763) + int(1165908743) ["sunset"]=> - int(1165945146) + int(1165945138) ["transit"]=> - int(1165926954) + int(1165926940) ["civil_twilight_begin"]=> - int(1165907157) + int(1165907137) ["civil_twilight_end"]=> - int(1165946752) + int(1165946743) ["nautical_twilight_begin"]=> - int(1165905334) + int(1165905315) ["nautical_twilight_end"]=> - int(1165948575) + int(1165948566) ["astronomical_twilight_begin"]=> - int(1165903551) + int(1165903532) ["astronomical_twilight_end"]=> - int(1165950358) + int(1165950349) } -- Iteration 7 -- array(9) { ["sunrise"]=> - int(1165919856) + int(1165920008) ["sunset"]=> - int(1165969985) + int(1165970177) ["transit"]=> - int(1165944920) + int(1165945092) ["civil_twilight_begin"]=> - int(1165918203) + int(1165918353) ["civil_twilight_end"]=> - int(1165971638) + int(1165971832) ["nautical_twilight_begin"]=> - int(1165916223) + int(1165916371) ["nautical_twilight_end"]=> - int(1165973617) + int(1165973814) ["astronomical_twilight_begin"]=> - int(1165914116) + int(1165914258) ["astronomical_twilight_end"]=> - int(1165975725) + int(1165975927) } -- Iteration 8 -- array(9) { ["sunrise"]=> - int(1165906242) + int(1165906221) ["sunset"]=> - int(1165942625) + int(1165942618) ["transit"]=> - int(1165924434) + int(1165924420) ["civil_twilight_begin"]=> - int(1165904636) + int(1165904616) ["civil_twilight_end"]=> - int(1165944231) + int(1165944223) ["nautical_twilight_begin"]=> - int(1165902813) + int(1165902793) ["nautical_twilight_end"]=> - int(1165946054) + int(1165946046) ["astronomical_twilight_begin"]=> - int(1165901030) + int(1165901011) ["astronomical_twilight_end"]=> - int(1165947838) + int(1165947828) } -- Iteration 9 -- array(9) { ["sunrise"]=> - int(1165906122) + int(1165906101) ["sunset"]=> - int(1165942505) + int(1165942498) ["transit"]=> - int(1165924314) + int(1165924300) ["civil_twilight_begin"]=> - int(1165904516) + int(1165904496) ["civil_twilight_end"]=> - int(1165944111) + int(1165944103) ["nautical_twilight_begin"]=> - int(1165902693) + int(1165902673) ["nautical_twilight_end"]=> - int(1165945934) + int(1165945926) ["astronomical_twilight_begin"]=> - int(1165900910) + int(1165900891) ["astronomical_twilight_end"]=> - int(1165947718) + int(1165947708) } -- Iteration 10 -- array(9) { ["sunrise"]=> - int(1165906242) + int(1165906221) ["sunset"]=> - int(1165942625) + int(1165942618) ["transit"]=> - int(1165924434) + int(1165924420) ["civil_twilight_begin"]=> - int(1165904636) + int(1165904616) ["civil_twilight_end"]=> - int(1165944231) + int(1165944223) ["nautical_twilight_begin"]=> - int(1165902813) + int(1165902793) ["nautical_twilight_end"]=> - int(1165946054) + int(1165946046) ["astronomical_twilight_begin"]=> - int(1165901030) + int(1165901011) ["astronomical_twilight_end"]=> - int(1165947838) + int(1165947828) } -- Iteration 11 -- array(9) { ["sunrise"]=> - int(1165906242) + int(1165906221) ["sunset"]=> - int(1165942625) + int(1165942618) ["transit"]=> - int(1165924434) + int(1165924420) ["civil_twilight_begin"]=> - int(1165904636) + int(1165904616) ["civil_twilight_end"]=> - int(1165944231) + int(1165944223) ["nautical_twilight_begin"]=> - int(1165902813) + int(1165902793) ["nautical_twilight_end"]=> - int(1165946054) + int(1165946046) ["astronomical_twilight_begin"]=> - int(1165901030) + int(1165901011) ["astronomical_twilight_end"]=> - int(1165947838) + int(1165947828) } -- Iteration 12 -- array(9) { ["sunrise"]=> - int(1165906002) + int(1165905981) ["sunset"]=> - int(1165942385) + int(1165942378) ["transit"]=> - int(1165924194) + int(1165924179) ["civil_twilight_begin"]=> - int(1165904396) + int(1165904376) ["civil_twilight_end"]=> - int(1165943991) + int(1165943983) ["nautical_twilight_begin"]=> - int(1165902573) + int(1165902553) ["nautical_twilight_end"]=> - int(1165945814) + int(1165945806) ["astronomical_twilight_begin"]=> - int(1165900789) + int(1165900771) ["astronomical_twilight_end"]=> - int(1165947598) + int(1165947588) } -- Iteration 13 -- array(9) { ["sunrise"]=> - int(1165906242) + int(1165906221) ["sunset"]=> - int(1165942625) + int(1165942618) ["transit"]=> - int(1165924434) + int(1165924420) ["civil_twilight_begin"]=> - int(1165904636) + int(1165904616) ["civil_twilight_end"]=> - int(1165944231) + int(1165944223) ["nautical_twilight_begin"]=> - int(1165902813) + int(1165902793) ["nautical_twilight_end"]=> - int(1165946054) + int(1165946046) ["astronomical_twilight_begin"]=> - int(1165901030) + int(1165901011) ["astronomical_twilight_end"]=> - int(1165947838) + int(1165947828) } -- Iteration 14 -- array(9) { ["sunrise"]=> - int(1165906002) + int(1165905981) ["sunset"]=> - int(1165942385) + int(1165942378) ["transit"]=> - int(1165924194) + int(1165924179) ["civil_twilight_begin"]=> - int(1165904396) + int(1165904376) ["civil_twilight_end"]=> - int(1165943991) + int(1165943983) ["nautical_twilight_begin"]=> - int(1165902573) + int(1165902553) ["nautical_twilight_end"]=> - int(1165945814) + int(1165945806) ["astronomical_twilight_begin"]=> - int(1165900789) + int(1165900771) ["astronomical_twilight_end"]=> - int(1165947598) + int(1165947588) } -- Iteration 15 -- array(9) { ["sunrise"]=> - int(1165906242) + int(1165906221) ["sunset"]=> - int(1165942625) + int(1165942618) ["transit"]=> - int(1165924434) + int(1165924420) ["civil_twilight_begin"]=> - int(1165904636) + int(1165904616) ["civil_twilight_end"]=> - int(1165944231) + int(1165944223) ["nautical_twilight_begin"]=> - int(1165902813) + int(1165902793) ["nautical_twilight_end"]=> - int(1165946054) + int(1165946046) ["astronomical_twilight_begin"]=> - int(1165901030) + int(1165901011) ["astronomical_twilight_end"]=> - int(1165947838) + int(1165947828) } -- Iteration 16 -- @@ -445,45 +445,45 @@ bool(false) -- Iteration 22 -- array(9) { ["sunrise"]=> - int(1165906242) + int(1165906221) ["sunset"]=> - int(1165942625) + int(1165942618) ["transit"]=> - int(1165924434) + int(1165924420) ["civil_twilight_begin"]=> - int(1165904636) + int(1165904616) ["civil_twilight_end"]=> - int(1165944231) + int(1165944223) ["nautical_twilight_begin"]=> - int(1165902813) + int(1165902793) ["nautical_twilight_end"]=> - int(1165946054) + int(1165946046) ["astronomical_twilight_begin"]=> - int(1165901030) + int(1165901011) ["astronomical_twilight_end"]=> - int(1165947838) + int(1165947828) } -- Iteration 23 -- array(9) { ["sunrise"]=> - int(1165906242) + int(1165906221) ["sunset"]=> - int(1165942625) + int(1165942618) ["transit"]=> - int(1165924434) + int(1165924420) ["civil_twilight_begin"]=> - int(1165904636) + int(1165904616) ["civil_twilight_end"]=> - int(1165944231) + int(1165944223) ["nautical_twilight_begin"]=> - int(1165902813) + int(1165902793) ["nautical_twilight_end"]=> - int(1165946054) + int(1165946046) ["astronomical_twilight_begin"]=> - int(1165901030) + int(1165901011) ["astronomical_twilight_end"]=> - int(1165947838) + int(1165947828) } -- Iteration 24 -- diff --git a/ext/date/tests/date_sunrise_variation1.phpt b/ext/date/tests/date_sunrise_variation1.phpt index c9b8aa37ca..ccb0ad8325 100644 --- a/ext/date/tests/date_sunrise_variation1.phpt +++ b/ext/date/tests/date_sunrise_variation1.phpt @@ -109,38 +109,38 @@ foreach($inputs as $key =>$value) { --int 0-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --int 1-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --int 12345-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --int -12345-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --float 10.5-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --float -10.5-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --float .5-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --empty array-- @@ -188,33 +188,33 @@ bool(false) --uppercase NULL-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --lowercase null-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --lowercase true-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --lowercase false-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --uppercase TRUE-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --uppercase FALSE-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --empty string DQ-- @@ -306,11 +306,11 @@ bool(false) --undefined var-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) --unset var-- string(5) "08:56" -float(8.944%d) -int(28599) +float(8.943%d) +int(28596) ===DONE=== diff --git a/ext/date/tests/date_sunrise_variation3.phpt b/ext/date/tests/date_sunrise_variation3.phpt index b93c53e9e6..537171c24b 100644 --- a/ext/date/tests/date_sunrise_variation3.phpt +++ b/ext/date/tests/date_sunrise_variation3.phpt @@ -103,12 +103,12 @@ foreach($inputs as $key =>$value) { --int 0-- string(5) "01:10" float(1.174%d) -int(1218177627) +int(1218177629) --int 1-- string(5) "01:09" float(1.155%d) -int(1218177558) +int(1218177560) --int 12345-- bool(false) @@ -167,32 +167,32 @@ bool(false) --uppercase NULL-- string(5) "01:10" float(1.174%d) -int(1218177627) +int(1218177629) --lowercase null-- string(5) "01:10" float(1.174%d) -int(1218177627) +int(1218177629) --lowercase true-- string(5) "01:09" float(1.155%d) -int(1218177558) +int(1218177560) --lowercase false-- string(5) "01:10" float(1.174%d) -int(1218177627) +int(1218177629) --uppercase TRUE-- string(5) "01:09" float(1.155%d) -int(1218177558) +int(1218177560) --uppercase FALSE-- string(5) "01:10" float(1.174%d) -int(1218177627) +int(1218177629) --empty string DQ-- @@ -285,10 +285,10 @@ bool(false) --undefined var-- string(5) "01:10" float(1.174%d) -int(1218177627) +int(1218177629) --unset var-- string(5) "01:10" float(1.174%d) -int(1218177627) +int(1218177629) ===DONE=== diff --git a/ext/date/tests/date_sunrise_variation4.phpt b/ext/date/tests/date_sunrise_variation4.phpt index 94c2890272..7909ca1100 100644 --- a/ext/date/tests/date_sunrise_variation4.phpt +++ b/ext/date/tests/date_sunrise_variation4.phpt @@ -103,24 +103,24 @@ foreach($inputs as $key =>$value) { *** Testing date_sunrise() : usage variation *** --int 0-- -string(5) "05:12" -float(5.200%d) -int(1218172321) +string(5) "05:11" +float(5.196%d) +int(1218172307) --int 1-- -string(5) "05:08" -float(5.133%d) -int(1218172081) +string(5) "05:07" +float(5.129%d) +int(1218172067) --int 12345-- string(5) "21:45" -float(21.759%d) -int(1218145534) +float(21.757%d) +int(1218145525) --int -12345-- string(5) "12:41" -float(12.698%d) -int(1218199315) +float(12.694%d) +int(1218199301) --empty array-- @@ -167,34 +167,34 @@ Warning: date_sunrise() expects parameter 4 to be float, array given in %s on li bool(false) --uppercase NULL-- -string(5) "05:12" -float(5.200%d) -int(1218172321) +string(5) "05:11" +float(5.196%d) +int(1218172307) --lowercase null-- -string(5) "05:12" -float(5.200%d) -int(1218172321) +string(5) "05:11" +float(5.196%d) +int(1218172307) --lowercase true-- -string(5) "05:08" -float(5.133%d) -int(1218172081) +string(5) "05:07" +float(5.129%d) +int(1218172067) --lowercase false-- -string(5) "05:12" -float(5.200%d) -int(1218172321) +string(5) "05:11" +float(5.196%d) +int(1218172307) --uppercase TRUE-- -string(5) "05:08" -float(5.133%d) -int(1218172081) +string(5) "05:07" +float(5.129%d) +int(1218172067) --uppercase FALSE-- -string(5) "05:12" -float(5.200%d) -int(1218172321) +string(5) "05:11" +float(5.196%d) +int(1218172307) --empty string DQ-- @@ -285,12 +285,12 @@ Warning: date_sunrise() expects parameter 4 to be float, object given in %s on l bool(false) --undefined var-- -string(5) "05:12" -float(5.200%d) -int(1218172321) +string(5) "05:11" +float(5.196%d) +int(1218172307) --unset var-- -string(5) "05:12" -float(5.200%d) -int(1218172321) +string(5) "05:11" +float(5.196%d) +int(1218172307) ===DONE=== diff --git a/ext/date/tests/date_sunrise_variation5.phpt b/ext/date/tests/date_sunrise_variation5.phpt index c7925dada3..9858c890ba 100644 --- a/ext/date/tests/date_sunrise_variation5.phpt +++ b/ext/date/tests/date_sunrise_variation5.phpt @@ -113,14 +113,14 @@ bool(false) bool(false) --int 12345-- -string(5) "09:51" -float(9.855%d) -int(1218169278) +string(5) "09:50" +float(9.849%d) +int(1218169259) --int -12345-- string(5) "09:54" -float(9.9097820911118) -int(1218169475) +float(9.904%d) +int(1218169455) --empty array-- diff --git a/ext/date/tests/date_sunrise_variation6.phpt b/ext/date/tests/date_sunrise_variation6.phpt index 360f756438..4c7a8e762c 100644 --- a/ext/date/tests/date_sunrise_variation6.phpt +++ b/ext/date/tests/date_sunrise_variation6.phpt @@ -102,24 +102,24 @@ foreach($inputs as $key =>$value) { *** Testing date_sunrise() : usage variation *** --int 0-- -string(5) "05:48" -float(5.800%d) -int(1218174483) +string(5) "05:47" +float(5.796%d) +int(1218174468) --int 1-- -string(5) "06:48" -float(6.800%d) -int(1218174483) +string(5) "06:47" +float(6.796%d) +int(1218174468) --int 12345-- -string(5) "14:48" -float(14.800%d) -int(1218174483) +string(5) "14:47" +float(14.796%d) +int(1218174468) --int -12345-- -string(5) "12:48" -float(12.800%d) -int(1218174483) +string(5) "12:47" +float(12.796%d) +int(1218174468) --empty array-- @@ -166,34 +166,34 @@ Warning: date_sunrise() expects parameter 6 to be float, array given in %s on li bool(false) --uppercase NULL-- -string(5) "05:48" -float(5.800%d) -int(1218174483) +string(5) "05:47" +float(5.796%d) +int(1218174468) --lowercase null-- -string(5) "05:48" -float(5.800%d) -int(1218174483) +string(5) "05:47" +float(5.796%d) +int(1218174468) --lowercase true-- -string(5) "06:48" -float(6.800%d) -int(1218174483) +string(5) "06:47" +float(6.796%d) +int(1218174468) --lowercase false-- -string(5) "05:48" -float(5.800%d) -int(1218174483) +string(5) "05:47" +float(5.796%d) +int(1218174468) --uppercase TRUE-- -string(5) "06:48" -float(6.800%d) -int(1218174483) +string(5) "06:47" +float(6.796%d) +int(1218174468) --uppercase FALSE-- -string(5) "05:48" -float(5.800%d) -int(1218174483) +string(5) "05:47" +float(5.796%d) +int(1218174468) --empty string DQ-- @@ -284,12 +284,12 @@ Warning: date_sunrise() expects parameter 6 to be float, object given in %s on l bool(false) --undefined var-- -string(5) "05:48" -float(5.800%d) -int(1218174483) +string(5) "05:47" +float(5.796%d) +int(1218174468) --unset var-- -string(5) "05:48" -float(5.800%d) -int(1218174483) +string(5) "05:47" +float(5.796%d) +int(1218174468) ===DONE=== diff --git a/ext/date/tests/date_sunrise_variation7.phpt b/ext/date/tests/date_sunrise_variation7.phpt index fa5f363a5d..6e9c2ec83b 100644 --- a/ext/date/tests/date_sunrise_variation7.phpt +++ b/ext/date/tests/date_sunrise_variation7.phpt @@ -36,15 +36,15 @@ foreach($inputs as $timezone => $value) { ===DONE=== --EXPECTF-- *** Testing date_sunrise() : usage variation *** +string(5) "06:42" string(5) "06:41" -string(5) "06:41" +string(5) "05:07" string(5) "05:09" -string(5) "05:11" +string(5) "05:58" string(5) "05:59" -string(5) "06:00" +string(5) "07:31" string(5) "07:30" -string(5) "07:29" -string(5) "05:53" +string(5) "05:52" string(5) "05:53" string(5) "05:59" string(5) "06:01" diff --git a/ext/date/tests/date_sunset_variation1.phpt b/ext/date/tests/date_sunset_variation1.phpt index 9c7307082f..99b6230338 100644 --- a/ext/date/tests/date_sunset_variation1.phpt +++ b/ext/date/tests/date_sunset_variation1.phpt @@ -109,38 +109,38 @@ foreach($inputs as $key =>$value) { --int 0-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --int 1-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --int 12345-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --int -12345-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --float 10.5-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --float -10.5-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --float .5-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --empty array-- @@ -188,33 +188,33 @@ bool(false) --uppercase NULL-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --lowercase null-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --lowercase true-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --lowercase false-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --uppercase TRUE-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --uppercase FALSE-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --empty string DQ-- @@ -306,11 +306,11 @@ bool(false) --undefined var-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) --unset var-- string(5) "18:22" -float(18.377%d) -int(62558) +float(18.373%d) +int(62545) ===DONE=== diff --git a/ext/date/tests/date_sunset_variation3.phpt b/ext/date/tests/date_sunset_variation3.phpt index 0bc98c148d..0a51ac6b17 100644 --- a/ext/date/tests/date_sunset_variation3.phpt +++ b/ext/date/tests/date_sunset_variation3.phpt @@ -105,13 +105,13 @@ foreach($inputs as $key =>$value) { --int 0-- string(5) "17:43" -float(17.730%d) -int(1218197630) +float(17.731%d) +int(1218197632) --int 1-- -string(5) "17:44" -float(17.749%d) -int(1218197698) +string(5) "17:45" +float(17.750%d) +int(1218197701) --int 12345-- bool(false) @@ -169,33 +169,33 @@ bool(false) --uppercase NULL-- string(5) "17:43" -float(17.730%d) -int(1218197630) +float(17.731%d) +int(1218197632) --lowercase null-- string(5) "17:43" -float(17.730%d) -int(1218197630) +float(17.731%d) +int(1218197632) --lowercase true-- -string(5) "17:44" -float(17.749%d) -int(1218197698) +string(5) "17:45" +float(17.750%d) +int(1218197701) --lowercase false-- string(5) "17:43" -float(17.730%d) -int(1218197630) +float(17.731%d) +int(1218197632) --uppercase TRUE-- -string(5) "17:44" -float(17.749%d) -int(1218197698) +string(5) "17:45" +float(17.750%d) +int(1218197701) --uppercase FALSE-- string(5) "17:43" -float(17.730%d) -int(1218197630) +float(17.731%d) +int(1218197632) --empty string DQ-- @@ -287,11 +287,11 @@ bool(false) --undefined var-- string(5) "17:43" -float(17.730%d) -int(1218197630) +float(17.731%d) +int(1218197632) --unset var-- string(5) "17:43" -float(17.730%d) -int(1218197630) +float(17.731%d) +int(1218197632) ===DONE=== diff --git a/ext/date/tests/date_sunset_variation4.phpt b/ext/date/tests/date_sunset_variation4.phpt index a9798a6b9f..c892f87c09 100644 --- a/ext/date/tests/date_sunset_variation4.phpt +++ b/ext/date/tests/date_sunset_variation4.phpt @@ -104,13 +104,13 @@ foreach($inputs as $key =>$value) { --int 0-- string(5) "00:03" -float(0.059%d) -int(1218220414) +float(0.062%d) +int(1218220425) --int 1-- string(5) "23:59" -float(23.992%d) -int(1218220174) +float(23.995%d) +int(1218220185) --int 12345-- string(5) "17:15" @@ -118,9 +118,9 @@ float(17.259%d) int(1218195932) --int -12345-- -string(5) "12:18" -float(12.316%d) -int(1218178138) +string(5) "12:19" +float(12.319%d) +int(1218178151) --empty array-- @@ -168,33 +168,33 @@ bool(false) --uppercase NULL-- string(5) "00:03" -float(0.059%d) -int(1218220414) +float(0.062%d) +int(1218220425) --lowercase null-- string(5) "00:03" -float(0.059%d) -int(1218220414) +float(0.062%d) +int(1218220425) --lowercase true-- string(5) "23:59" -float(23.992%d) -int(1218220174) +float(23.995%d) +int(1218220185) --lowercase false-- string(5) "00:03" -float(0.059%d) -int(1218220414) +float(0.062%d) +int(1218220425) --uppercase TRUE-- string(5) "23:59" -float(23.992%d) -int(1218220174) +float(23.995%d) +int(1218220185) --uppercase FALSE-- string(5) "00:03" -float(0.059%d) -int(1218220414) +float(0.062%d) +int(1218220425) --empty string DQ-- @@ -286,11 +286,11 @@ bool(false) --undefined var-- string(5) "00:03" -float(0.059%d) -int(1218220414) +float(0.062%d) +int(1218220425) --unset var-- string(5) "00:03" -float(0.059%d) -int(1218220414) +float(0.062%d) +int(1218220425) ===DONE=== diff --git a/ext/date/tests/date_sunset_variation5.phpt b/ext/date/tests/date_sunset_variation5.phpt index c5c333f3d2..579e1c8eb0 100644 --- a/ext/date/tests/date_sunset_variation5.phpt +++ b/ext/date/tests/date_sunset_variation5.phpt @@ -114,8 +114,8 @@ bool(false) --int 12345-- string(5) "19:20" -float(19.340%d) -int(1218203424) +float(19.343%d) +int(1218203437) --int -12345-- bool(false) diff --git a/ext/date/tests/date_sunset_variation6.phpt b/ext/date/tests/date_sunset_variation6.phpt index d34f897bb1..29b31f6e95 100644 --- a/ext/date/tests/date_sunset_variation6.phpt +++ b/ext/date/tests/date_sunset_variation6.phpt @@ -103,24 +103,24 @@ foreach($inputs as $key =>$value) { *** Testing date_sunset() : usage variation *** --int 0-- -string(5) "12:40" -float(12.681%d) -int(1218199253) +string(5) "12:41" +float(12.684%d) +int(1218199264) --int 1-- -string(5) "13:40" -float(13.681%d) -int(1218199253) +string(5) "13:41" +float(13.684%d) +int(1218199264) --int 12345-- -string(5) "21:40" -float(21.681%d) -int(1218199253) +string(5) "21:41" +float(21.684%d) +int(1218199264) --int -12345-- -string(5) "19:40" -float(19.681%d) -int(1218199253) +string(5) "19:41" +float(19.684%d) +int(1218199264) --empty array-- @@ -167,34 +167,34 @@ Warning: date_sunset() expects parameter 6 to be float, array given in %s on lin bool(false) --uppercase NULL-- -string(5) "12:40" -float(12.681%d) -int(1218199253) +string(5) "12:41" +float(12.684%d) +int(1218199264) --lowercase null-- -string(5) "12:40" -float(12.681%d) -int(1218199253) +string(5) "12:41" +float(12.684%d) +int(1218199264) --lowercase true-- -string(5) "13:40" -float(13.681%d) -int(1218199253) +string(5) "13:41" +float(13.684%d) +int(1218199264) --lowercase false-- -string(5) "12:40" -float(12.681%d) -int(1218199253) +string(5) "12:41" +float(12.684%d) +int(1218199264) --uppercase TRUE-- -string(5) "13:40" -float(13.681%d) -int(1218199253) +string(5) "13:41" +float(13.684%d) +int(1218199264) --uppercase FALSE-- -string(5) "12:40" -float(12.681%d) -int(1218199253) +string(5) "12:41" +float(12.684%d) +int(1218199264) --empty string DQ-- @@ -285,12 +285,12 @@ Warning: date_sunset() expects parameter 6 to be float, object given in %s on li bool(false) --undefined var-- -string(5) "12:40" -float(12.681%d) -int(1218199253) +string(5) "12:41" +float(12.684%d) +int(1218199264) --unset var-- -string(5) "12:40" -float(12.681%d) -int(1218199253) +string(5) "12:41" +float(12.684%d) +int(1218199264) ===DONE=== diff --git a/ext/date/tests/date_sunset_variation7.phpt b/ext/date/tests/date_sunset_variation7.phpt index 0c64d969e2..67bd2f4182 100644 --- a/ext/date/tests/date_sunset_variation7.phpt +++ b/ext/date/tests/date_sunset_variation7.phpt @@ -42,24 +42,24 @@ string(5) "18:13" string(5) "18:13" --US/Alaska-- -string(5) "21:00" -string(5) "20:57" +string(5) "21:02" +string(5) "20:59" --America/Chicago-- +string(5) "19:52" string(5) "19:51" -string(5) "19:50" --America/Montevideo-- string(5) "18:08" -string(5) "18:09" +string(5) "18:08" --Africa/Casablanca-- +string(5) "19:18" string(5) "19:17" -string(5) "19:16" --Europe/Moscow-- -string(5) "21:09" -string(5) "21:07" +string(5) "21:10" +string(5) "21:08" --Asia/Hong_Kong-- string(5) "18:55" diff --git a/ext/date/tests/sunfuncts.phpt b/ext/date/tests/sunfuncts.phpt index 59acb122c5..8309b69c51 100644 --- a/ext/date/tests/sunfuncts.phpt +++ b/ext/date/tests/sunfuncts.phpt @@ -16,27 +16,27 @@ for($a=1;$a<=12;$a++){ } ?> --EXPECTF-- -1041395864 06:37 6.6290131458%d -1041432452 16:47 16.792451114%d -1044073855 06:30 6.5154089279%d -1044112463 17:14 17.239870289%d -1046491495 06:04 6.0822145033%d -1046533075 17:37 17.632011035%d -1049167581 05:26 5.4394438111%d -1049212774 17:59 17.993035729%d -1051757532 04:52 4.8701934126%d -1051806007 18:20 18.335390508%d -1054434776 04:32 4.5489827182%d -1054485647 18:40 18.679812949%d -1057026949 04:35 4.5971956372%d -1057078197 18:49 18.832563396%d -1059706409 04:53 4.8916575089%d -1059755837 18:37 18.621440704%d -1062385999 05:13 5.2220951121%d -1062432291 18:04 18.080957168%d -1064979098 05:31 5.5273199215%d -1065021952 17:25 17.431339135%d -1067658845 05:54 5.9016292870%d -1067698274 16:51 16.853902453%d -1070252387 06:19 6.3299242689%d -1070289382 16:36 16.606312600%d +1041395858 06:37 6.6274307083%d +1041432434 16:47 16.787476435%d +1044073871 06:31 6.5198435465%d +1044112440 17:14 17.233560530%d +1046491524 06:05 6.0901858662%d +1046533056 17:37 17.626724279%d +1049167610 05:26 5.4473483216%d +1049212759 17:59 17.988854003%d +1051757554 04:52 4.8761196793%d +1051805991 18:19 18.330987470%d +1054434782 04:33 4.5506171719%d +1054485634 18:40 18.676282498%d +1057026940 04:35 4.5946862151%d +1057078197 18:49 18.832651294%d +1059706395 04:53 4.8875657219%d +1059755854 18:37 18.626282855%d +1062385985 05:13 5.2182752537%d +1062432319 18:05 18.088728929%d +1064979083 05:31 5.5233314120%d +1065021981 17:26 17.439368589%d +1067658825 05:53 5.8959513887%d +1067698295 16:51 16.859972460%d +1070252367 06:19 6.3241991396%d +1070289384 16:36 16.606870705%d diff --git a/ext/date/tests/timezone_abbreviations_list_basic1.phpt b/ext/date/tests/timezone_abbreviations_list_basic1.phpt index 7a0dcdee98..c3510f1e64 100644 --- a/ext/date/tests/timezone_abbreviations_list_basic1.phpt +++ b/ext/date/tests/timezone_abbreviations_list_basic1.phpt @@ -26,29 +26,20 @@ var_dump( $abbr["acst"] ); --EXPECTF-- *** Testing timezone_abbreviations_list() : basic functionality *** string(5) "array" -int(%d) +int(142) -- Format a sample entry -- -array(17) { +array(12) { [0]=> array(3) { ["dst"]=> - bool(true) - ["offset"]=> - int(-14400) - ["timezone_id"]=> - string(18) "America/Porto_Acre" - } - [1]=> - array(3) { - ["dst"]=> bool(false) ["offset"]=> int(32400) ["timezone_id"]=> string(18) "Australia/Adelaide" } - [2]=> + [1]=> array(3) { ["dst"]=> bool(false) @@ -57,34 +48,7 @@ array(17) { ["timezone_id"]=> string(18) "Australia/Adelaide" } - [3]=> - array(3) { - ["dst"]=> - bool(true) - ["offset"]=> - int(-14400) - ["timezone_id"]=> - string(16) "America/Eirunepe" - } - [4]=> - array(3) { - ["dst"]=> - bool(true) - ["offset"]=> - int(-14400) - ["timezone_id"]=> - string(18) "America/Rio_Branco" - } - [5]=> - array(3) { - ["dst"]=> - bool(true) - ["offset"]=> - int(-14400) - ["timezone_id"]=> - string(11) "Brazil/Acre" - } - [6]=> + [2]=> array(3) { ["dst"]=> bool(false) @@ -93,7 +57,7 @@ array(17) { ["timezone_id"]=> string(21) "Australia/Broken_Hill" } - [7]=> + [3]=> array(3) { ["dst"]=> bool(false) @@ -102,7 +66,7 @@ array(17) { ["timezone_id"]=> string(16) "Australia/Darwin" } - [8]=> + [4]=> array(3) { ["dst"]=> bool(false) @@ -111,7 +75,7 @@ array(17) { ["timezone_id"]=> string(15) "Australia/North" } - [9]=> + [5]=> array(3) { ["dst"]=> bool(false) @@ -120,7 +84,7 @@ array(17) { ["timezone_id"]=> string(15) "Australia/South" } - [10]=> + [6]=> array(3) { ["dst"]=> bool(false) @@ -129,16 +93,7 @@ array(17) { ["timezone_id"]=> string(20) "Australia/Yancowinna" } - [11]=> - array(3) { - ["dst"]=> - bool(false) - ["offset"]=> - int(34200) - ["timezone_id"]=> - string(13) "Asia/Jayapura" - } - [12]=> + [7]=> array(3) { ["dst"]=> bool(false) @@ -147,7 +102,7 @@ array(17) { ["timezone_id"]=> string(21) "Australia/Broken_Hill" } - [13]=> + [8]=> array(3) { ["dst"]=> bool(false) @@ -156,7 +111,7 @@ array(17) { ["timezone_id"]=> string(16) "Australia/Darwin" } - [14]=> + [9]=> array(3) { ["dst"]=> bool(false) @@ -165,7 +120,7 @@ array(17) { ["timezone_id"]=> string(15) "Australia/North" } - [15]=> + [10]=> array(3) { ["dst"]=> bool(false) @@ -174,7 +129,7 @@ array(17) { ["timezone_id"]=> string(15) "Australia/South" } - [16]=> + [11]=> array(3) { ["dst"]=> bool(false) diff --git a/ext/date/tests/timezone_name_from_abbr_basic1.phpt b/ext/date/tests/timezone_name_from_abbr_basic1.phpt index 492c623eb1..b6a0bd94f7 100644 --- a/ext/date/tests/timezone_name_from_abbr_basic1.phpt +++ b/ext/date/tests/timezone_name_from_abbr_basic1.phpt @@ -24,7 +24,6 @@ var_dump( timezone_name_from_abbr("EDT") ); echo "-- Lookup with name and offset--\n"; var_dump( timezone_name_from_abbr("ADT", -10800) ); var_dump( timezone_name_from_abbr("ADT", 14400) ); -var_dump( timezone_name_from_abbr("AMST", -10800) ); echo "-- Tests without valid name - uses gmtOffset and isdst to find match --\n"; var_dump( timezone_name_from_abbr("", 3600, 1) ); @@ -47,8 +46,7 @@ string(13) "Europe/Berlin" string(16) "America/New_York" -- Lookup with name and offset-- string(15) "America/Halifax" -string(12) "Asia/Baghdad" -string(17) "America/Boa_Vista" +string(15) "America/Halifax" -- Tests without valid name - uses gmtOffset and isdst to find match -- string(13) "Europe/London" string(17) "America/Sao_Paulo" diff --git a/ext/intl/common/common_date.cpp b/ext/intl/common/common_date.cpp index 26c198bc42..9be98399c5 100644 --- a/ext/intl/common/common_date.cpp +++ b/ext/intl/common/common_date.cpp @@ -56,8 +56,8 @@ U_CFUNC TimeZone *timezone_convert_datetimezone(int type, break; case TIMELIB_ZONETYPE_OFFSET: { int offset_mins = is_datetime - ? -((php_date_obj*)object)->time->z - : -(int)((php_timezone_obj*)object)->tzi.utc_offset, + ? ((php_date_obj*)object)->time->z / 60 + : (int)((php_timezone_obj*)object)->tzi.utc_offset / 60, hours = offset_mins / 60, minutes = offset_mins - hours * 60; minutes *= minutes > 0 ? 1 : -1; @@ -140,7 +140,7 @@ U_CFUNC int intl_datetime_decompose(zval *z, double *millis, TimeZone **tz, } datetime = Z_PHPDATE_P(z); - *millis = U_MILLIS_PER_SECOND * ((double)Z_LVAL(retval) + datetime->time->f); + *millis = U_MILLIS_PER_SECOND * (double)Z_LVAL(retval) + (datetime->time->us / 1000); zval_ptr_dtor(&zfuncname); } diff --git a/ext/intl/timezone/timezone_class.cpp b/ext/intl/timezone/timezone_class.cpp index f67e55ae4e..b036de81cf 100644 --- a/ext/intl/timezone/timezone_class.cpp +++ b/ext/intl/timezone/timezone_class.cpp @@ -83,8 +83,8 @@ U_CFUNC zval *timezone_convert_to_datetimezone(const TimeZone *timeZone, * so we must mess with DateTimeZone structure ourselves */ tzobj->initialized = 1; tzobj->type = TIMELIB_ZONETYPE_OFFSET; - //convert offset from milliseconds to minutes - tzobj->tzi.utc_offset = -1 * timeZone->getRawOffset() / (60 * 1000); + //convert offset from milliseconds to seconds + tzobj->tzi.utc_offset = timeZone->getRawOffset() / 1000; } else { zend_string *u8str; /* Call the constructor! */ |