summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerick Rethans <github@derickrethans.nl>2017-08-15 15:06:18 +0100
committerDerick Rethans <github@derickrethans.nl>2017-08-15 15:06:18 +0100
commit584db6f38fcac3e5e1ca4c770d3aacfff09ee371 (patch)
tree5223b28c60a05d7870ea2d76b7bdbd84bcf0b2d8
parent3bc12268041bdeec9941c99f08b71620f7572eb0 (diff)
downloadphp-git-584db6f38fcac3e5e1ca4c770d3aacfff09ee371.tar.gz
Merged PHP-7.0 by hand due to conflicts.
-rw-r--r--ext/date/lib/LICENSE.rst3
-rw-r--r--ext/date/lib/astro.c25
-rw-r--r--ext/date/lib/dow.c61
-rw-r--r--ext/date/lib/fallbackmap.h84
-rw-r--r--ext/date/lib/interval.c7
-rw-r--r--ext/date/lib/parse_date.c3415
-rw-r--r--ext/date/lib/parse_date.c.orig23670
-rw-r--r--ext/date/lib/parse_date.re238
-rw-r--r--ext/date/lib/parse_iso_intervals.c287
-rw-r--r--ext/date/lib/parse_iso_intervals.re84
-rw-r--r--ext/date/lib/parse_tz.c295
-rw-r--r--ext/date/lib/timelib.c188
-rw-r--r--ext/date/lib/timelib.h801
-rw-r--r--ext/date/lib/timelib.m47
-rw-r--r--ext/date/lib/timelib_private.h158
-rw-r--r--ext/date/lib/timelib_structs.h316
-rw-r--r--ext/date/lib/timezonemap.h492
-rw-r--r--ext/date/lib/tm2unixtime.c63
-rw-r--r--ext/date/lib/unixtime2tm.c26
-rw-r--r--ext/date/php_date.c75
-rw-r--r--ext/date/tests/DateTimeZone_getLocation.phpt7
-rw-r--r--ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt69
-rw-r--r--ext/date/tests/bug35499.phpt2
-rw-r--r--ext/date/tests/bug41964.phpt12
-rw-r--r--ext/date/tests/bug45081.phpt2
-rw-r--r--ext/date/tests/bug68078_negative.phpt6
-rw-r--r--ext/date/tests/date_parse_001.phpt4
-rw-r--r--ext/date/tests/date_sun_info_001.phpt18
-rw-r--r--ext/date/tests/date_sun_info_002.phpt18
-rw-r--r--ext/date/tests/date_sun_info_003.phpt6
-rw-r--r--ext/date/tests/date_sun_info_variation1.phpt308
-rw-r--r--ext/date/tests/date_sun_info_variation2.phpt298
-rw-r--r--ext/date/tests/date_sun_info_variation3.phpt306
-rw-r--r--ext/date/tests/date_sunrise_variation1.phpt60
-rw-r--r--ext/date/tests/date_sunrise_variation3.phpt20
-rw-r--r--ext/date/tests/date_sunrise_variation4.phpt68
-rw-r--r--ext/date/tests/date_sunrise_variation5.phpt10
-rw-r--r--ext/date/tests/date_sunrise_variation6.phpt72
-rw-r--r--ext/date/tests/date_sunrise_variation7.phpt10
-rw-r--r--ext/date/tests/date_sunset_variation1.phpt60
-rw-r--r--ext/date/tests/date_sunset_variation3.phpt46
-rw-r--r--ext/date/tests/date_sunset_variation4.phpt46
-rw-r--r--ext/date/tests/date_sunset_variation5.phpt4
-rw-r--r--ext/date/tests/date_sunset_variation6.phpt72
-rw-r--r--ext/date/tests/date_sunset_variation7.phpt14
-rw-r--r--ext/date/tests/sunfuncts.phpt48
-rw-r--r--ext/date/tests/timezone_abbreviations_list_basic1.phpt71
-rw-r--r--ext/date/tests/timezone_name_from_abbr_basic1.phpt4
-rw-r--r--ext/intl/common/common_date.cpp6
-rw-r--r--ext/intl/timezone/timezone_class.cpp4
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 = &in;
+ 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! */