From cab1c3b3708eead315e033359d07049b23b147a3 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 26 Jun 2016 17:52:09 -0700 Subject: [PATCH 001/206] Fixed bug #72479 - same as #72434 --- ext/snmp/snmp.c | 89 ++++++++++++++++++++---------------- ext/snmp/tests/bug72479.phpt | 35 ++++++++++++++ 2 files changed, 84 insertions(+), 40 deletions(-) create mode 100644 ext/snmp/tests/bug72479.phpt diff --git a/ext/snmp/snmp.c b/ext/snmp/snmp.c index 6c1da4cc5546f..e1161c7cbffa4 100644 --- a/ext/snmp/snmp.c +++ b/ext/snmp/snmp.c @@ -475,7 +475,7 @@ static void php_snmp_session_destructor(zend_rsrc_list_entry *rsrc TSRMLS_DC) static void php_snmp_object_free_storage(void *object TSRMLS_DC) { php_snmp_object *intern = (php_snmp_object *)object; - + if (!intern) { return; } @@ -483,7 +483,7 @@ static void php_snmp_object_free_storage(void *object TSRMLS_DC) netsnmp_session_free(&(intern->session)); zend_object_std_dtor(&intern->zo TSRMLS_CC); - + efree(intern); } @@ -503,7 +503,7 @@ static zend_object_value php_snmp_object_new(zend_class_entry *class_type TSRMLS retval.handlers = (zend_object_handlers *) &php_snmp_object_handlers; return retval; - + } /* {{{ php_snmp_error @@ -556,7 +556,7 @@ static void php_snmp_getvalue(struct variable_list *vars, zval *snmpval TSRMLS_D char *dbuf = (char *)NULL; int buflen = sizeof(sbuf) - 1; int val_len = vars->val_len; - + /* use emalloc() for large values, use static array otherwize */ /* There is no way to know the size of buffer snprint_value() needs in order to print a value there. @@ -702,7 +702,7 @@ static void php_snmp_getvalue(struct variable_list *vars, zval *snmpval TSRMLS_D * SNMP object fetcher/setter for all SNMP versions * */ -static void php_snmp_internal(INTERNAL_FUNCTION_PARAMETERS, int st, +static void php_snmp_internal(INTERNAL_FUNCTION_PARAMETERS, int st, struct snmp_session *session, struct objid_query *objid_query) { @@ -721,7 +721,7 @@ static void php_snmp_internal(INTERNAL_FUNCTION_PARAMETERS, int st, /* we start with retval=FALSE. If any actual data is acquired, retval will be set to appropriate type */ RETVAL_FALSE; - + /* reset errno and errstr */ php_snmp_error(getThis(), NULL TSRMLS_CC, PHP_SNMP_ERRNO_NOERROR, ""); @@ -805,8 +805,8 @@ static void php_snmp_internal(INTERNAL_FUNCTION_PARAMETERS, int st, } for (vars = response->variables; vars; vars = vars->next_variable) { /* do not output errors as values */ - if ( vars->type == SNMP_ENDOFMIBVIEW || - vars->type == SNMP_NOSUCHOBJECT || + if ( vars->type == SNMP_ENDOFMIBVIEW || + vars->type == SNMP_NOSUCHOBJECT || vars->type == SNMP_NOSUCHINSTANCE ) { if ((st & SNMP_CMD_WALK) && Z_TYPE_P(return_value) == IS_ARRAY) { break; @@ -816,8 +816,8 @@ static void php_snmp_internal(INTERNAL_FUNCTION_PARAMETERS, int st, php_snmp_error(getThis(), NULL TSRMLS_CC, PHP_SNMP_ERRNO_ERROR_IN_REPLY, "Error in packet at '%s': %s", buf, buf2); continue; } - - if ((st & SNMP_CMD_WALK) && + + if ((st & SNMP_CMD_WALK) && (vars->name_length < rootlen || memcmp(root, vars->name, rootlen * sizeof(oid)))) { /* not part of this subtree */ if (Z_TYPE_P(return_value) == IS_ARRAY) { /* some records are fetched already, shut down further lookup */ keepwalking = 0; @@ -1101,7 +1101,7 @@ static int php_snmp_parse_oid(zval *object, int st, struct objid_query *objid_qu efree(objid_query->vars); return FALSE; } - } else { + } else { memmove((char *)objid_query->vars[0].name, (char *)objid_mib, sizeof(objid_mib)); objid_query->vars[0].name_length = sizeof(objid_mib) / sizeof(oid); } @@ -1437,7 +1437,7 @@ static void php_snmp(INTERNAL_FUNCTION_PARAMETERS, int st, int version) int session_less_mode = (getThis() == NULL); php_snmp_object *snmp_object; php_snmp_object glob_snmp_object; - + objid_query.max_repetitions = -1; objid_query.non_repeaters = 0; objid_query.valueretrieval = SNMP_G(valueretrieval); @@ -1550,7 +1550,7 @@ static void php_snmp(INTERNAL_FUNCTION_PARAMETERS, int st, int version) } php_snmp_internal(INTERNAL_FUNCTION_PARAM_PASSTHRU, st, session, &objid_query); - + efree(objid_query.vars); if (session_less_mode) { @@ -1563,7 +1563,7 @@ static void php_snmp(INTERNAL_FUNCTION_PARAMETERS, int st, int version) } /* }}} */ -/* {{{ proto mixed snmpget(string host, string community, mixed object_id [, int timeout [, int retries]]) +/* {{{ proto mixed snmpget(string host, string community, mixed object_id [, int timeout [, int retries]]) Fetch a SNMP object */ PHP_FUNCTION(snmpget) { @@ -1571,7 +1571,7 @@ PHP_FUNCTION(snmpget) } /* }}} */ -/* {{{ proto mixed snmpgetnext(string host, string community, mixed object_id [, int timeout [, int retries]]) +/* {{{ proto mixed snmpgetnext(string host, string community, mixed object_id [, int timeout [, int retries]]) Fetch a SNMP object */ PHP_FUNCTION(snmpgetnext) { @@ -1579,7 +1579,7 @@ PHP_FUNCTION(snmpgetnext) } /* }}} */ -/* {{{ proto mixed snmpwalk(string host, string community, mixed object_id [, int timeout [, int retries]]) +/* {{{ proto mixed snmpwalk(string host, string community, mixed object_id [, int timeout [, int retries]]) Return all objects under the specified object id */ PHP_FUNCTION(snmpwalk) { @@ -1595,7 +1595,7 @@ PHP_FUNCTION(snmprealwalk) } /* }}} */ -/* {{{ proto bool snmpset(string host, string community, mixed object_id, mixed type, mixed value [, int timeout [, int retries]]) +/* {{{ proto bool snmpset(string host, string community, mixed object_id, mixed type, mixed value [, int timeout [, int retries]]) Set the value of a SNMP object */ PHP_FUNCTION(snmpset) { @@ -1642,7 +1642,7 @@ PHP_FUNCTION(snmp_set_enum_print) netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_PRINT_NUMERIC_ENUM, (int) a1); RETURN_TRUE; -} +} /* }}} */ /* {{{ proto bool snmp_set_oid_output_format(int oid_format) @@ -1670,10 +1670,10 @@ PHP_FUNCTION(snmp_set_oid_output_format) RETURN_FALSE; break; } -} +} /* }}} */ -/* {{{ proto mixed snmp2_get(string host, string community, mixed object_id [, int timeout [, int retries]]) +/* {{{ proto mixed snmp2_get(string host, string community, mixed object_id [, int timeout [, int retries]]) Fetch a SNMP object */ PHP_FUNCTION(snmp2_get) { @@ -1681,7 +1681,7 @@ PHP_FUNCTION(snmp2_get) } /* }}} */ -/* {{{ proto mixed snmp2_getnext(string host, string community, mixed object_id [, int timeout [, int retries]]) +/* {{{ proto mixed snmp2_getnext(string host, string community, mixed object_id [, int timeout [, int retries]]) Fetch a SNMP object */ PHP_FUNCTION(snmp2_getnext) { @@ -1689,7 +1689,7 @@ PHP_FUNCTION(snmp2_getnext) } /* }}} */ -/* {{{ proto mixed snmp2_walk(string host, string community, mixed object_id [, int timeout [, int retries]]) +/* {{{ proto mixed snmp2_walk(string host, string community, mixed object_id [, int timeout [, int retries]]) Return all objects under the specified object id */ PHP_FUNCTION(snmp2_walk) { @@ -1705,7 +1705,7 @@ PHP_FUNCTION(snmp2_real_walk) } /* }}} */ -/* {{{ proto bool snmp2_set(string host, string community, mixed object_id, mixed type, mixed value [, int timeout [, int retries]]) +/* {{{ proto bool snmp2_set(string host, string community, mixed object_id, mixed type, mixed value [, int timeout [, int retries]]) Set the value of a SNMP object */ PHP_FUNCTION(snmp2_set) { @@ -1821,7 +1821,7 @@ PHP_METHOD(snmp, __construct) snmp_object = (php_snmp_object *)zend_object_store_get_object(object TSRMLS_CC); zend_replace_error_handling(EH_THROW, NULL, &error_handling TSRMLS_CC); - + if (zend_parse_parameters(argc TSRMLS_CC, "lss|ll", &version, &a1, &a1_len, &a2, &a2_len, &timeout, &retries) == FAILURE) { zend_restore_error_handling(&error_handling TSRMLS_CC); return; @@ -1843,7 +1843,7 @@ PHP_METHOD(snmp, __construct) if (snmp_object->session) { netsnmp_session_free(&(snmp_object->session)); } - + if (netsnmp_session_init(&(snmp_object->session), version, a1, a2, timeout, retries TSRMLS_CC)) { return; } @@ -1857,7 +1857,7 @@ PHP_METHOD(snmp, __construct) } /* }}} */ -/* {{{ proto bool SNMP::close() +/* {{{ proto bool SNMP::close() Close SNMP session */ PHP_METHOD(snmp, close) { @@ -1900,7 +1900,7 @@ PHP_METHOD(snmp, walk) } /* }}} */ -/* {{{ proto bool SNMP::set(mixed object_id, mixed type, mixed value) +/* {{{ proto bool SNMP::set(mixed object_id, mixed type, mixed value) Set the value of a SNMP object */ PHP_METHOD(snmp, set) { @@ -1918,7 +1918,7 @@ PHP_METHOD(snmp, setSecurity) int argc = ZEND_NUM_ARGS(); snmp_object = (php_snmp_object *)zend_object_store_get_object(object TSRMLS_CC); - + if (zend_parse_parameters(argc TSRMLS_CC, "s|ssssss", &a1, &a1_len, &a2, &a2_len, &a3, &a3_len, &a4, &a4_len, &a5, &a5_len, &a6, &a6_len, &a7, &a7_len) == FAILURE) { RETURN_FALSE; @@ -1932,7 +1932,7 @@ PHP_METHOD(snmp, setSecurity) } /* }}} */ -/* {{{ proto long SNMP::getErrno() +/* {{{ proto long SNMP::getErrno() Get last error code number */ PHP_METHOD(snmp, getErrno) { @@ -1946,7 +1946,7 @@ PHP_METHOD(snmp, getErrno) } /* }}} */ -/* {{{ proto long SNMP::getError() +/* {{{ proto long SNMP::getError() Get last error message */ PHP_METHOD(snmp, getError) { @@ -2095,6 +2095,14 @@ static int php_snmp_has_property(zval *object, zval *member, int has_set_exists, } /* }}} */ +static HashTable *php_snmp_get_gc(zval *object, zval ***gc_data, int *gc_data_count TSRMLS_DC) /* {{{ */ +{ + *gc_data = NULL; + *gc_data_count = 0; + return zend_std_get_properties(object TSRMLS_CC); +} +/* }}} */ + /* {{{ php_snmp_get_properties(zval *object) Returns all object properties. Injects SNMP properties into object on first call */ static HashTable *php_snmp_get_properties(zval *object TSRMLS_DC) @@ -2137,23 +2145,23 @@ static int php_snmp_read_info(php_snmp_object *snmp_object, zval **retval TSRMLS if (snmp_object->session == NULL) { return SUCCESS; } - + MAKE_STD_ZVAL(val); ZVAL_STRINGL(val, snmp_object->session->peername, strlen(snmp_object->session->peername), 1); add_assoc_zval(*retval, "hostname", val); - + MAKE_STD_ZVAL(val); ZVAL_LONG(val, snmp_object->session->remote_port); add_assoc_zval(*retval, "port", val); - + MAKE_STD_ZVAL(val); ZVAL_LONG(val, snmp_object->session->timeout); add_assoc_zval(*retval, "timeout", val); - + MAKE_STD_ZVAL(val); ZVAL_LONG(val, snmp_object->session->retries); add_assoc_zval(*retval, "retries", val); - + return SUCCESS; } /* }}} */ @@ -2226,7 +2234,7 @@ static int php_snmp_write_max_oids(php_snmp_object *snmp_object, zval *newval TS } else { php_error_docref(NULL TSRMLS_CC, E_WARNING, "max_oids should be positive integer or NULL, got %ld", Z_LVAL_P(newval)); } - + if (newval == &ztmp) { zval_dtor(newval); } @@ -2254,7 +2262,7 @@ static int php_snmp_write_valueretrieval(php_snmp_object *snmp_object, zval *new php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown SNMP value retrieval method '%ld'", Z_LVAL_P(newval)); ret = FAILURE; } - + if (newval == &ztmp) { zval_dtor(newval); } @@ -2297,7 +2305,7 @@ static int php_snmp_write_oid_output_format(php_snmp_object *snmp_object, zval * convert_to_long(&ztmp); newval = &ztmp; } - + switch(Z_LVAL_P(newval)) { case NETSNMP_OID_OUTPUT_SUFFIX: case NETSNMP_OID_OUTPUT_MODULE: @@ -2332,7 +2340,7 @@ static int php_snmp_write_exceptions_enabled(php_snmp_object *snmp_object, zval newval = &ztmp; } - snmp_object->exceptions_enabled = Z_LVAL_P(newval); + snmp_object->exceptions_enabled = Z_LVAL_P(newval); if (newval == &ztmp) { zval_dtor(newval); @@ -2401,6 +2409,7 @@ PHP_MINIT_FUNCTION(snmp) php_snmp_object_handlers.write_property = php_snmp_write_property; php_snmp_object_handlers.has_property = php_snmp_has_property; php_snmp_object_handlers.get_properties = php_snmp_get_properties; + php_snmp_object_handlers.get_gc = php_snmp_get_gc; /* Register SNMP Class */ INIT_CLASS_ENTRY(ce, "SNMP", php_snmp_class_methods); @@ -2467,7 +2476,7 @@ PHP_MINIT_FUNCTION(snmp) PHP_MSHUTDOWN_FUNCTION(snmp) { snmp_shutdown("snmpapp"); - + zend_hash_destroy(&php_snmp_properties); return SUCCESS; diff --git a/ext/snmp/tests/bug72479.phpt b/ext/snmp/tests/bug72479.phpt new file mode 100644 index 0000000000000..0308754360254 --- /dev/null +++ b/ext/snmp/tests/bug72479.phpt @@ -0,0 +1,35 @@ +--TEST-- +Bug #72479: Use After Free Vulnerability in SNMP with GC and unserialize() +--SKIPIF-- + +--FILE-- +>= 8; + } + return $out; +} +?> +--EXPECT-- +int(1) \ No newline at end of file From 7b2c22696ad44df1d26d70e15521adebd95c0399 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Mon, 4 Jul 2016 10:35:20 +0200 Subject: [PATCH 002/206] Fixed bug #72512 gdImageTrueColorToPaletteBody allows arbitrary write/read access --- ext/gd/libgd/gd.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index 4dad95ae3930b..3a9577859e962 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -599,15 +599,18 @@ void gdImageColorDeallocate (gdImagePtr im, int color) void gdImageColorTransparent (gdImagePtr im, int color) { + if (color < 0) { + return; + } + if (!im->trueColor) { + if((color >= gdMaxColors)) { + return; + } if (im->transparent != -1) { im->alpha[im->transparent] = gdAlphaOpaque; } - if (color > -1 && color < im->colorsTotal && color < gdMaxColors) { - im->alpha[color] = gdAlphaTransparent; - } else { - return; - } + im->alpha[color] = gdAlphaTransparent; } im->transparent = color; } From ac56700125bfbc56602dfd60a8997bbc5fc41473 Mon Sep 17 00:00:00 2001 From: Lior Kaplan Date: Mon, 4 Jul 2016 16:06:54 +0200 Subject: [PATCH 003/206] Update PHP 5.5 NEWS entries with CVE info --- NEWS | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/NEWS b/NEWS index b7d514b05a7ac..d2c3ad91cf388 100644 --- a/NEWS +++ b/NEWS @@ -16,45 +16,51 @@ PHP NEWS . Fixed bug #72403 (Integer Overflow in Length of String-typed ZVAL). (Stas) - GD: - . Fixed bug #66387 (Stack overflow with imagefilltoborder) (CVE-2015-8874). + . Fixed bug #66387 (Stack overflow with imagefilltoborder). (CVE-2015-8874) (cmb) . Fixed bug #72298 (pass2_no_dither out-of-bounds access). (Stas) - . Fixed bug #72339 (Integer Overflow in _gd2GetHeader() resulting in - heap overflow). (Pierre) + . Fixed bug #72339 (Integer Overflow in _gd2GetHeader() resulting in heap + overflow). (CVE-2016-5766) (Pierre) . Fixed bug #72407 (NULL Pointer Dereference at _gdScaleVert). (Stas) . Fixed bug #72446 (Integer Overflow in gdImagePaletteToTrueColor() resulting - in heap overflow). (Pierre) + in heap overflow). (CVE-2016-5767) (Pierre) - mbstring: - . Fixed bug #72402 (_php_mb_regex_ereg_replace_exec - double free). (Stas) + . Fixed bug #72402 (_php_mb_regex_ereg_replace_exec - double free). + (CVE-2016-5768) (Stas) - mcrypt: - . Fixed bug #72455 (Heap Overflow due to integer overflows). (Stas) + . Fixed bug #72455 (Heap Overflow due to integer overflows). (CVE-2016-5769) + (Stas) - SPL: - . Fixed bug #72262 (int/size_t confusion in SplFileObject::fread). (Stas) + . Fixed bug #72262 (int/size_t confusion in SplFileObject::fread). + (CVE-2016-5770) (Stas) . Fixed bug #72433 (Use After Free Vulnerability in PHP's GC algorithm and - unserialize). (Dmitry) + unserialize). (CVE-2016-5771) (Dmitry) - WDDX: - . Fixed bug #72340 (Double Free Courruption in wddx_deserialize). (Stas) + . Fixed bug #72340 (Double Free Courruption in wddx_deserialize). + (CVE-2016-5772) (Stas) - zip: . Fixed bug #72434 (ZipArchive class Use After Free Vulnerability in PHP's GC - algorithm and unserialize). (Dmitry) + algorithm and unserialize). (CVE-2016-5773) (Dmitry) 26 May 2016, PHP 5.5.36 - Core: . Fixed bug #72114 (Integer underflow / arbitrary null write in - fread/gzread). (Stas) - . Fixed bug #72135 (Integer Overflow in php_html_entities). (Stas) + fread/gzread). (CVE-2016-5096) (Stas) + . Fixed bug #72135 (Integer Overflow in php_html_entities). (CVE-2016-5094) + (Stas) - GD: - . Fixed bug #72227 (imagescale out-of-bounds read). (Stas) + . Fixed bug #72227 (imagescale out-of-bounds read). (CVE-2013-7456) (Stas) - Intl: - . Fixed bug #72241 (get_icu_value_internal out-of-bounds read). (Stas) + . Fixed bug #72241 (get_icu_value_internal out-of-bounds read). + (CVE-2016-5093) (Stas) - Phar: . Fixed bug #71331 (Uninitialized pointer in phar_make_dirstream()). @@ -71,7 +77,7 @@ PHP NEWS processing). (Stas) - GD: - . Fixed bug #71912 (libgd: signedness vulnerability) (CVE-2016-3074). (Stas) + . Fixed bug #71912 (libgd: signedness vulnerability). (CVE-2016-3074) (Stas) - Intl: . Fixed bug #72061 (Out-of-bounds reads in zif_grapheme_stripos with negative @@ -136,11 +142,12 @@ PHP NEWS - WDDX: . Fixed bug #71335 (Type Confusion in WDDX Packet Deserialization). (Stas) - + 07 Jan 2015, PHP 5.5.31 - FPM: - . Fixed bug #70755 (fpm_log.c memory leak and buffer overflow). (Stas) + . Fixed bug #70755 (fpm_log.c memory leak and buffer overflow). + (CVE-2016-5114) (Stas) - GD: . Fixed bug #70976 (Memory Read via gdImageRotateInterpolated Array Index From e1ba58f068f4bfc8ced75bb017cd31d8beddf3c2 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Mon, 28 Sep 2015 11:31:14 -0700 Subject: [PATCH 004/206] Fix bug #70480 (php_url_parse_ex() buffer overflow read) (cherry picked from commit 629e4da7cc8b174acdeab84969cbfc606a019b31) --- ext/standard/url.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/standard/url.c b/ext/standard/url.c index fc3f080a41b6f..b5739f0d7aeca 100644 --- a/ext/standard/url.c +++ b/ext/standard/url.c @@ -320,7 +320,7 @@ PHPAPI php_url *php_url_parse_ex(char const *str, int length) nohost: if ((p = memchr(s, '?', (ue - s)))) { - pp = strchr(s, '#'); + pp = memchr(s, '#', (ue - s)); if (pp && pp < p) { if (pp - s) { From b63d41e1e5cec186c06368a1fd9fd5d56be1994d Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Wed, 6 Jul 2016 10:40:52 +0200 Subject: [PATCH 005/206] add tests for bug #72512 --- ext/gd/tests/bug72512_0.phpt | 18 ++++++++++++++++++ ext/gd/tests/bug72512_1.phpt | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 ext/gd/tests/bug72512_0.phpt create mode 100644 ext/gd/tests/bug72512_1.phpt diff --git a/ext/gd/tests/bug72512_0.phpt b/ext/gd/tests/bug72512_0.phpt new file mode 100644 index 0000000000000..5f98662d45698 --- /dev/null +++ b/ext/gd/tests/bug72512_0.phpt @@ -0,0 +1,18 @@ +--TEST-- +Bug #72512 gdImageTrueColorToPaletteBody allows arbitrary write/read access, var 0 +--SKIPIF-- + +--FILE-- + +==DONE== +--EXPECT-- +==DONE== diff --git a/ext/gd/tests/bug72512_1.phpt b/ext/gd/tests/bug72512_1.phpt new file mode 100644 index 0000000000000..bba01a711863b --- /dev/null +++ b/ext/gd/tests/bug72512_1.phpt @@ -0,0 +1,18 @@ +--TEST-- +Bug #72512 gdImageTrueColorToPaletteBody allows arbitrary write/read access, var 1 +--SKIPIF-- + +--FILE-- + +==DONE== +--EXPECT-- +==DONE== From c1280db28afd537c59611b87abf114586ebbe5d0 Mon Sep 17 00:00:00 2001 From: Ferenc Kovacs Date: Thu, 7 Jul 2016 00:09:48 +0200 Subject: [PATCH 006/206] 5.6.25 is next --- NEWS | 2 ++ configure.in | 2 +- main/php_version.h | 6 +++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 2e1bd3d517ca9..5029be5c3483b 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,8 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2016, PHP 5.6.24 +21 Jul 2016, PHP 5.6.24 + - Core: . Fix bug #71936 (Segmentation fault destroying HTTP_RAW_POST_DATA). (mike dot laspina at gmail dot com, Remi) diff --git a/configure.in b/configure.in index 0cd99df661e3f..655e8586ceeb7 100644 --- a/configure.in +++ b/configure.in @@ -119,7 +119,7 @@ int zend_sprintf(char *buffer, const char *format, ...); PHP_MAJOR_VERSION=5 PHP_MINOR_VERSION=6 -PHP_RELEASE_VERSION=24 +PHP_RELEASE_VERSION=25 PHP_EXTRA_VERSION="-dev" PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION" PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION` diff --git a/main/php_version.h b/main/php_version.h index e2fbef50ba166..3fd226da924fd 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -2,7 +2,7 @@ /* edit configure.in to change version number */ #define PHP_MAJOR_VERSION 5 #define PHP_MINOR_VERSION 6 -#define PHP_RELEASE_VERSION 24 +#define PHP_RELEASE_VERSION 25 #define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "5.6.24-dev" -#define PHP_VERSION_ID 50624 +#define PHP_VERSION "5.6.25-dev" +#define PHP_VERSION_ID 50625 From 2b7cd813e7a30a729cd70a644ce99d30b4141846 Mon Sep 17 00:00:00 2001 From: Ferenc Kovacs Date: Thu, 7 Jul 2016 01:46:02 +0200 Subject: [PATCH 007/206] merge NEWS blocks --- NEWS | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 5029be5c3483b..75037ddec15f2 100644 --- a/NEWS +++ b/NEWS @@ -9,14 +9,12 @@ PHP NEWS (mike dot laspina at gmail dot com, Remi) . Fix bug #72496 (Cannot declare public method with signature incompatible with parent private method). (Pedro Magalhães) + . Fix bug #72138 (Integer Overflow in Length of String-typed ZVAL). (Stas) - bz2: . Fix bug #72447 (Type Confusion in php_bz2_filter_create()). (gogil at stealien dot com). -- Core: - . Fix bug #72138 (Integer Overflow in Length of String-typed ZVAL). (Stas) - - EXIF: . Fixed bug #50845 (exif_read_data() returns corrupted exif headers). (Bartosz Dziewoński) From 8b905e337c0e88ec66a25e4b7dbbd5c87279ea75 Mon Sep 17 00:00:00 2001 From: Christopher Jones Date: Thu, 7 Jul 2016 11:52:17 +1000 Subject: [PATCH 008/206] Mask DB usernames from expected test output for test portability --- ext/oci8/tests/array_bind_003.phpt | 2 +- ext/oci8/tests/array_bind_004.phpt | 2 +- ext/oci8/tests/imp_res_call_error.phpt | 2 +- ext/oci8/tests/refcur_prefetch_4.phpt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/oci8/tests/array_bind_003.phpt b/ext/oci8/tests/array_bind_003.phpt index eee1500202fec..bd391db93f13e 100644 --- a/ext/oci8/tests/array_bind_003.phpt +++ b/ext/oci8/tests/array_bind_003.phpt @@ -63,7 +63,7 @@ echo "Done\n"; ?> --EXPECTF-- Warning: oci_execute(): ORA-01403: %s -ORA-06512: at "SYSTEM.ARRAY_BIND_003_PKG", line %d +ORA-06512: at "%s.ARRAY_BIND_003_PKG", line %d ORA-06512: at line %d in %sarray_bind_003.php on line %d array(4) { [0]=> diff --git a/ext/oci8/tests/array_bind_004.phpt b/ext/oci8/tests/array_bind_004.phpt index a998a2225bdfa..7373903b6fbdd 100644 --- a/ext/oci8/tests/array_bind_004.phpt +++ b/ext/oci8/tests/array_bind_004.phpt @@ -63,7 +63,7 @@ echo "Done\n"; ?> --EXPECTF-- Warning: oci_execute(): ORA-01403: %s -ORA-06512: at "SYSTEM.ARRAY_BIND_004_PKG", line %d +ORA-06512: at "%s.ARRAY_BIND_004_PKG", line %d ORA-06512: at line %d in %sarray_bind_004.php on line %d array(0) { } diff --git a/ext/oci8/tests/imp_res_call_error.phpt b/ext/oci8/tests/imp_res_call_error.phpt index 8b0fa78db91a9..bae2c47e9ef8b 100644 --- a/ext/oci8/tests/imp_res_call_error.phpt +++ b/ext/oci8/tests/imp_res_call_error.phpt @@ -57,5 +57,5 @@ Test 1 Warning: oci_execute(): ORA-29478: %s ORA-06512: at "SYS.DBMS_SQL", line %d ORA-06512: at "SYS.DBMS_SQL", line %d -ORA-06512: at "SYSTEM.IMP_RES_CALL_ERR_PROC", line %d in %simp_res_call_error.php on line %d +ORA-06512: at "%s.IMP_RES_CALL_ERR_PROC", line %d in %simp_res_call_error.php on line %d ===DONE=== diff --git a/ext/oci8/tests/refcur_prefetch_4.phpt b/ext/oci8/tests/refcur_prefetch_4.phpt index f0c7183d0e9da..131ae6ad6b029 100644 --- a/ext/oci8/tests/refcur_prefetch_4.phpt +++ b/ext/oci8/tests/refcur_prefetch_4.phpt @@ -157,7 +157,7 @@ echo "Done\n"; ------Test 1 - Set Prefetch after PL/SQL fetch ---------- Warning: oci_execute(): ORA-01001: %s -ORA-06512: at "SYSTEM.REFCURPKG", line %d +ORA-06512: at "%s.REFCURPKG", line %d ORA-06512: at line %d in %s on line %d Fetch Row from PL/SQL int(0) From bfc42211d3cc5aa6cd2bdb10ef5004ce22099acb Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 8 Jul 2016 10:45:13 +0200 Subject: [PATCH 009/206] add test for bug #72564 (7.x regression) --- ext/wddx/tests/bug72564.phpt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 ext/wddx/tests/bug72564.phpt diff --git a/ext/wddx/tests/bug72564.phpt b/ext/wddx/tests/bug72564.phpt new file mode 100644 index 0000000000000..4711ef8b40a4c --- /dev/null +++ b/ext/wddx/tests/bug72564.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #72564: wddx deserialization of boolean +--SKIPIF-- + +--FILE-- + +Done +--EXPECT-- +string(84) "
" +bool(true) +string(85) "
" +bool(false) +string(68) "
" +NULL +Done From 51b584b1596e390ea989b400ef2de392b560ee79 Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Fri, 8 Jul 2016 14:35:43 +0200 Subject: [PATCH 010/206] Updated NEWS --- NEWS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index d2c3ad91cf388..f253a43e3616f 100644 --- a/NEWS +++ b/NEWS @@ -4,7 +4,8 @@ PHP NEWS ?? ?? 2016, PHP 5.5.38 - +Core: + . Fix bug #70480 (php_url_parse_ex() buffer overflow read). (Stas) 23 Jun 2016, PHP 5.5.37 From 0be13d2dc24f2802a231f92912ba5d089dad6676 Mon Sep 17 00:00:00 2001 From: Michael Maroszek Date: Thu, 7 Jul 2016 14:24:05 +0200 Subject: [PATCH 011/206] fix bug #72024 (microtime() leaks memory) --- ext/standard/string.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/ext/standard/string.c b/ext/standard/string.c index 39413c8211707..1ecbdb97ce01f 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -195,7 +195,6 @@ static char *php_hex2bin(const unsigned char *old, const size_t oldlen, size_t * * glibc's localeconv is not reentrant, so lets make it so ... sorta */ PHPAPI struct lconv *localeconv_r(struct lconv *out) { - struct lconv *res; # ifdef ZTS tsrm_mutex_lock( locale_mutex ); @@ -206,16 +205,14 @@ PHPAPI struct lconv *localeconv_r(struct lconv *out) /* Even with the enabled per thread locale, localeconv won't check any locale change in the master thread. */ _locale_t cur = _get_current_locale(); - - res = cur->locinfo->lconv; + *out = *cur->locinfo->lconv; + _free_locale(cur); } #else /* localeconv doesn't return an error condition */ - res = localeconv(); + *out = *localeconv(); #endif - *out = *res; - # ifdef ZTS tsrm_mutex_unlock( locale_mutex ); # endif From 78d5783b6259889dc97a060be611ba9aca26d87f Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Fri, 8 Jul 2016 14:58:56 +0200 Subject: [PATCH 012/206] Backported bug #71144 (Segmentation fault when using cURL with ZTS) --- ext/curl/interface.c | 9 +++++++++ ext/curl/tests/bug71144.phpt | 13 +++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 ext/curl/tests/bug71144.phpt diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 19d8bb02b5899..7e58c7f1e05ba 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -1925,7 +1925,9 @@ static void _php_curl_set_default_options(php_curl *ch) curl_easy_setopt(ch->cp, CURLOPT_INFILE, (void *) ch); curl_easy_setopt(ch->cp, CURLOPT_HEADERFUNCTION, curl_write_header); curl_easy_setopt(ch->cp, CURLOPT_WRITEHEADER, (void *) ch); +#if !defined(ZTS) curl_easy_setopt(ch->cp, CURLOPT_DNS_USE_GLOBAL_CACHE, 1); +#endif curl_easy_setopt(ch->cp, CURLOPT_DNS_CACHE_TIMEOUT, 120); curl_easy_setopt(ch->cp, CURLOPT_MAXREDIRS, 20); /* prevent infinite redirects */ @@ -2263,7 +2265,14 @@ static int _php_curl_setopt(php_curl *ch, long option, zval **zvalue TSRMLS_DC) return 1; } #endif +# if defined(ZTS) + if (option == CURLOPT_DNS_USE_GLOBAL_CACHE) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "CURLOPT_DNS_USE_GLOBAL_CACHE cannot be activated when thread safety is enabled"); + return 1; + } +# endif error = curl_easy_setopt(ch->cp, option, Z_LVAL_PP(zvalue)); + break; case CURLOPT_SAFE_UPLOAD: convert_to_long_ex(zvalue); diff --git a/ext/curl/tests/bug71144.phpt b/ext/curl/tests/bug71144.phpt new file mode 100644 index 0000000000000..059cd63651f89 --- /dev/null +++ b/ext/curl/tests/bug71144.phpt @@ -0,0 +1,13 @@ +--TEST-- +Bug #71144 (Sementation fault when using cURL with ZTS) +--SKIPIF-- + + +--FILE-- + +--EXPECTF-- +Warning: curl_setopt(): CURLOPT_DNS_USE_GLOBAL_CACHE cannot be activated when thread safety is enabled in %sbug71144.php on line %d +bool(false) From 1071a2655f22912fda662a76467bd4bb7fd22faf Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Fri, 8 Jul 2016 14:59:16 +0200 Subject: [PATCH 013/206] Updated NEWS --- NEWS | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 75037ddec15f2..89c2681188c4b 100644 --- a/NEWS +++ b/NEWS @@ -1,18 +1,25 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? 2016, PHP 5.6.24 +?? ??? 2016, PHP 5.6.25 + +- Core: + . Fixed bug #72024 (microtime() leaks memory). (maroszek at gmx dot net) + +- Curl: + . Fixed bug #71144 (Segmentation fault when using cURL with ZTS). + (maroszek at gmx dot net) 21 Jul 2016, PHP 5.6.24 - Core: - . Fix bug #71936 (Segmentation fault destroying HTTP_RAW_POST_DATA). + . Fixed bug #71936 (Segmentation fault destroying HTTP_RAW_POST_DATA). (mike dot laspina at gmail dot com, Remi) - . Fix bug #72496 (Cannot declare public method with signature incompatible + . Fixed bug #72496 (Cannot declare public method with signature incompatible with parent private method). (Pedro Magalhães) - . Fix bug #72138 (Integer Overflow in Length of String-typed ZVAL). (Stas) + . Fixed bug #72138 (Integer Overflow in Length of String-typed ZVAL). (Stas) - bz2: - . Fix bug #72447 (Type Confusion in php_bz2_filter_create()). (gogil at + . Fixed bug #72447 (Type Confusion in php_bz2_filter_create()). (gogil at stealien dot com). - EXIF: From 82637e818776d4fe778fb1dbac26eeece02e900c Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 3 Jul 2015 00:04:50 +0200 Subject: [PATCH 014/206] Fix #69975: PHP segfaults when accessing nvarchar(max) defined columns The SQL Server Native Client 11.0 and maybe other ODBC drivers report NVARCHAR(MAX) columns as SQL_WVARCHAR with size 0. This causes too small a buffer to be emalloc'd, likely causing a segfault in the following. As we don't know the real size of the column data, we treat such colums as SQL_WLONGVARCHAR. The related bug #67437 suggests that some drivers report a size of ~4GB. It is not certain that this is really the case (there might be some integer overflow involved, and anyway, there has been no feedback), so we do not cater for this now. However, it would not be hard to treat all sizes above a certain threshold in a similar way, i.e. as SQL_WLONGVARCHAR. (cherry picked from commit 16db4d1462bf3eacb93c0cd940f799160a284b24) (cherry picked from commit 344ff5dd4c538eaebea075f7705321f8b86d0b47) --- ext/odbc/php_odbc.c | 7 +++++++ ext/odbc/tests/bug69975.phpt | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 ext/odbc/tests/bug69975.phpt diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index ddfbc4edbe5c6..1d70b7fd19f5b 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -1007,6 +1007,13 @@ int odbc_bindcols(odbc_result *result TSRMLS_DC) rc = SQLColAttributes(result->stmt, (SQLUSMALLINT)(i+1), SQL_COLUMN_DISPLAY_SIZE, NULL, 0, NULL, &displaysize); } + + /* Workaround for drivers that report NVARCHAR(MAX) columns as SQL_WVARCHAR with size 0 (bug #69975) */ + if (result->values[i].coltype == SQL_WVARCHAR && displaysize == 0) { + result->values[i].coltype = SQL_WLONGVARCHAR; + result->values[i].value = NULL; + break; + } #endif /* Workaround for Oracle ODBC Driver bug (#50162) when fetching TIMESTAMP column */ if (result->values[i].coltype == SQL_TIMESTAMP) { diff --git a/ext/odbc/tests/bug69975.phpt b/ext/odbc/tests/bug69975.phpt new file mode 100644 index 0000000000000..eca75645198e2 --- /dev/null +++ b/ext/odbc/tests/bug69975.phpt @@ -0,0 +1,32 @@ +--TEST-- +Bug #69975 (PHP segfaults when accessing nvarchar(max) defined columns) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +array(1) { + ["VARCHAR_COL"]=> + string(3) "foo" +} +ready +--CLEAN-- + From bdf1b22da578f284b2c4d4221b2f2d04b0a58e8f Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Fri, 8 Jul 2016 15:36:38 +0200 Subject: [PATCH 015/206] Updated NEWS --- NEWS | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index f253a43e3616f..f0bf71d3e5b64 100644 --- a/NEWS +++ b/NEWS @@ -5,7 +5,10 @@ PHP NEWS ?? ?? 2016, PHP 5.5.38 Core: - . Fix bug #70480 (php_url_parse_ex() buffer overflow read). (Stas) + . Fixed bug #70480 (php_url_parse_ex() buffer overflow read). (Stas) + +ODBC: + . Fixed bug #69975 (PHP segfaults when accessing nvarchar(max) defined columns) 23 Jun 2016, PHP 5.5.37 From 6fc7817558db2016b160277e410381f286fe127a Mon Sep 17 00:00:00 2001 From: Jos Elstgeest Date: Sat, 25 Jun 2016 00:47:15 +0200 Subject: [PATCH 016/206] update filter_var filters for ipv4 addresses to reflect rfc6890 --- ext/filter/logical_filters.c | 11 +- ext/filter/tests/018.phpt | 2 +- ext/filter/tests/filter_ipv4_rfc6890.phpt | 137 ++++++++++++++++++++++ 3 files changed, 148 insertions(+), 2 deletions(-) create mode 100644 ext/filter/tests/filter_ipv4_rfc6890.phpt diff --git a/ext/filter/logical_filters.c b/ext/filter/logical_filters.c index 0e55c2548bec9..521fb50a3a6cd 100644 --- a/ext/filter/logical_filters.c +++ b/ext/filter/logical_filters.c @@ -704,6 +704,7 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */ if (flags & FILTER_FLAG_NO_PRIV_RANGE) { if ( (ip[0] == 10) || + (ip[0] == 169 && ip[1] == 254) || (ip[0] == 172 && (ip[1] >= 16 && ip[1] <= 31)) || (ip[0] == 192 && ip[1] == 168) ) { @@ -714,10 +715,18 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */ if (flags & FILTER_FLAG_NO_RES_RANGE) { if ( (ip[0] == 0) || + (ip[0] == 10) || (ip[0] == 100 && (ip[1] >= 64 && ip[1] <= 127)) || + (ip[0] == 127) || (ip[0] == 169 && ip[1] == 254) || + (ip[0] == 172 && (ip[1] >= 16 && ip[1] <= 31)) || + (ip[0] == 192 && ip[1] == 0 && ip[2] == 0) || (ip[0] == 192 && ip[1] == 0 && ip[2] == 2) || - (ip[0] == 127 && ip[1] == 0 && ip[2] == 0 && ip[3] == 1) || + (ip[0] == 192 && ip[1] == 88 && ip[2] == 99) || + (ip[0] == 192 && ip[1] == 168) || + (ip[0] == 198 && (ip[1] == 18 || ip[1] == 19)) || + (ip[0] == 198 && ip[1] == 51 && ip[2] == 100) || + (ip[0] == 203 && ip[1] == 0 && ip[2] == 113) || (ip[0] >= 224 && ip[0] <= 255) ) { RETURN_VALIDATION_FAILED diff --git a/ext/filter/tests/018.phpt b/ext/filter/tests/018.phpt index 75bbd13427994..11d7fc64efef6 100644 --- a/ext/filter/tests/018.phpt +++ b/ext/filter/tests/018.phpt @@ -41,7 +41,7 @@ string(9) "127.0.0.1" bool(false) string(12) "192.0.34.166" bool(false) -string(9) "192.0.0.1" +bool(false) bool(false) bool(false) string(12) "192.0.34.166" diff --git a/ext/filter/tests/filter_ipv4_rfc6890.phpt b/ext/filter/tests/filter_ipv4_rfc6890.phpt new file mode 100644 index 0000000000000..cfd9f8dc0773a --- /dev/null +++ b/ext/filter/tests/filter_ipv4_rfc6890.phpt @@ -0,0 +1,137 @@ +--TEST-- +Bug #71745 FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 range +--FILE-- + $range) { + list($min, $max) = $range; + var_dump($key); + var_dump(filter_var($min, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)); + var_dump(filter_var($max, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)); +} + +$reservedRanges = array(); + +// 0.0.0.0/8 +$reserverRanges['0.0.0.0/8'] = array('0.0.0.0', '0.255.255.255'); + +// 10.0.0.0/8 +$reserverdRanges['10.0.0.0/8'] = array('10.0.0.0', '10.255.255.255'); + +// 100.64.0.0/10 +$reserverdRanges['10.64.0.0/10'] = array('100.64.0.0', '100.127.255.255'); + +// 127.0.0.0/8 +$reserverdRanges['127.0.0.0/8'] = array('127.0.0.0', '127.255.255.255'); + +// 169.254.0.0/16 +$reserverdRanges['169.254.0.0/16'] = array('169.254.0.0', '169.254.255.255'); + +// 172.16.0.0/12 +$reserverdRanges['172.16.0.0/12'] = array('172.16.0.0', '172.31.0.0'); + +// 192.0.0.0/24 +$reserverdRanges['192.0.0.0/24'] = array('192.0.0.0', '192.0.0.255'); + +// 192.0.0.0/29 +$reserverdRanges['192.0.0.0/29'] = array('192.0.0.0', '192.0.0.7'); + +// 192.0.2.0/24 +$reserverdRanges['192.0.2.0/24'] = array('192.0.2.0', '192.0.2.255'); + +// 198.18.0.0/15 +$reserverdRanges['198.18.0.0/15'] = array('198.18.0.0', '198.19.255.255'); + +// 198.51.100.0/24 +$reserverdRanges['198.51.100.0/24'] = array('198.51.100.0', '198.51.100.255'); + +// 192.88.99.0/24 +$reserverdRanges['192.88.99.0/24'] = array('192.88.99.0', '192.88.99.255'); + +// 192.168.0.0/16 +$reserverdRanges['192.168.0.0/16'] = array('192.168.0.0', '192.168.255.255'); + +// 203.0.113.0/24 +$reserverdRanges['203.0.113.0/24'] = array('203.0.113.0', '203.0.113.255'); + +// 240.0.0.0/4 + 255.255.255.255/32 +$reserverdRanges['240.0.0.0/4'] = array('224.0.0.0', '255.255.255.255'); + +foreach ($reserverdRanges as $key => $range) { + list($min, $max) = $range; + var_dump($key); + var_dump(filter_var($min, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_RES_RANGE)); + var_dump(filter_var($max, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_RES_RANGE)); +} + + + +--EXPECT-- +string(10) "10.0.0.0/8" +bool(false) +bool(false) +string(14) "168.254.0.0/16" +bool(false) +bool(false) +string(13) "172.16.0.0/12" +bool(false) +bool(false) +string(14) "192.168.0.0/16" +bool(false) +bool(false) +string(10) "10.0.0.0/8" +bool(false) +bool(false) +string(12) "10.64.0.0/10" +bool(false) +bool(false) +string(11) "127.0.0.0/8" +bool(false) +bool(false) +string(14) "169.254.0.0/16" +bool(false) +bool(false) +string(13) "172.16.0.0/12" +bool(false) +bool(false) +string(12) "192.0.0.0/24" +bool(false) +bool(false) +string(12) "192.0.0.0/29" +bool(false) +bool(false) +string(12) "192.0.2.0/24" +bool(false) +bool(false) +string(13) "198.18.0.0/15" +bool(false) +bool(false) +string(15) "198.51.100.0/24" +bool(false) +bool(false) +string(14) "192.88.99.0/24" +bool(false) +bool(false) +string(14) "192.168.0.0/16" +bool(false) +bool(false) +string(14) "203.0.113.0/24" +bool(false) +bool(false) +string(11) "240.0.0.0/4" +bool(false) +bool(false) From 51d19891a418754df6e1a8f7c7312e6bc20ac449 Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Fri, 8 Jul 2016 16:31:42 +0200 Subject: [PATCH 017/206] Updated NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 89c2681188c4b..1fcf2ee74df1f 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ PHP NEWS . Fixed bug #71144 (Segmentation fault when using cURL with ZTS). (maroszek at gmx dot net) +- Filter + . Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 + range). (bugs dot php dot net at majkl578 dot cz) + 21 Jul 2016, PHP 5.6.24 - Core: From 219ebcb68984a0af524336b165a849781ee65758 Mon Sep 17 00:00:00 2001 From: Matteo Beccati Date: Sun, 10 Jul 2016 13:04:49 +0200 Subject: [PATCH 018/206] Fixed bug #70313 PDO statement fails to throw exception --- NEWS | 5 ++++- ext/pdo_pgsql/pgsql_statement.c | 2 +- ext/pdo_pgsql/tests/bug70313.phpt | 37 +++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 ext/pdo_pgsql/tests/bug70313.phpt diff --git a/NEWS b/NEWS index 1fcf2ee74df1f..282f20d725a12 100644 --- a/NEWS +++ b/NEWS @@ -9,10 +9,13 @@ PHP NEWS . Fixed bug #71144 (Segmentation fault when using cURL with ZTS). (maroszek at gmx dot net) -- Filter +- Filter: . Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 range). (bugs dot php dot net at majkl578 dot cz) +- PDO_pgsql: + . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) + 21 Jul 2016, PHP 5.6.24 - Core: diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index ff34e48579403..a6e6405a1c510 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -280,7 +280,7 @@ static int pgsql_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_data * case PDO_PARAM_EVT_EXEC_PRE: if (!stmt->bound_param_map) { - return 0; + return 1; } if (!S->param_values) { S->param_values = ecalloc( diff --git a/ext/pdo_pgsql/tests/bug70313.phpt b/ext/pdo_pgsql/tests/bug70313.phpt new file mode 100644 index 0000000000000..14c3b7bfcc6da --- /dev/null +++ b/ext/pdo_pgsql/tests/bug70313.phpt @@ -0,0 +1,37 @@ +--TEST-- +PDO PgSQL Bug #70313 (PDO statement fails to throw exception) +--SKIPIF-- + +--FILE-- +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + +$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); +try { + $stmt = $db->prepare(");"); + + $stmt->execute([1]); +} catch (PDOException $e) { + var_dump($e->getCode()); +} + +$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true); +try { + $stmt = $db->prepare(");"); + + $stmt->execute([1]); +} catch (PDOException $e) { + var_dump($e->getCode()); +} + +?> +--EXPECT-- +string(5) "42601" +string(5) "42601" From 98b9dfaec95e6f910f125ed172cdbd25abd006ec Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 10 Jul 2016 16:17:54 -0700 Subject: [PATCH 019/206] Fix for HTTP_PROXY issue. The following changes are made: - _SERVER/_ENV only has HTTP_PROXY if the local environment has it, and only one from the environment. - getenv('HTTP_PROXY') only returns one from the local environment - getenv has optional second parameter, telling it to only consider local environment --- UPGRADING | 3 ++ ext/standard/basic_functions.c | 17 ++++++----- main/SAPI.c | 48 ++++++++++++++++------------- main/php_variables.c | 56 ++++++++++++++++++++++------------ 4 files changed, 76 insertions(+), 48 deletions(-) diff --git a/UPGRADING b/UPGRADING index 7b51ae5e922a9..84a925a485819 100644 --- a/UPGRADING +++ b/UPGRADING @@ -194,6 +194,9 @@ PHP 5.5 UPGRADE NOTES - Since 5.5.4, fputcsv() has fifth parameter escape_char, allowing to specify escape char. +- Since 5.5.38, getenv() has optional second parameter, making it only + consider local environment and not SAPI environment if true. + 4a. unserialize() change ------------------------ diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 50b6bc7b684ed..8cbba14b172b7 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -3544,7 +3544,7 @@ PHPAPI double php_get_inf(void) /* {{{ */ #define BASIC_ADD_SUBMODULE(module) \ zend_hash_add_empty_element(&basic_submodules, #module, strlen(#module)); - + #define BASIC_RINIT_SUBMODULE(module) \ if (zend_hash_exists(&basic_submodules, #module, strlen(#module))) { \ PHP_RINIT(module)(INIT_FUNC_ARGS_PASSTHRU); \ @@ -4013,21 +4013,24 @@ PHP_FUNCTION(long2ip) * System Functions * ********************/ -/* {{{ proto string getenv(string varname) +/* {{{ proto string getenv(string varname[, bool local_only]) Get the value of an environment variable */ PHP_FUNCTION(getenv) { char *ptr, *str; int str_len; + zend_bool local_only = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|b", &str, &str_len, &local_only) == FAILURE) { RETURN_FALSE; } - /* SAPI method returns an emalloc()'d string */ - ptr = sapi_getenv(str, str_len TSRMLS_CC); - if (ptr) { - RETURN_STRING(ptr, 0); + if (!local_only) { + /* SAPI method returns an emalloc()'d string */ + ptr = sapi_getenv(str, str_len TSRMLS_CC); + if (ptr) { + RETURN_STRING(ptr, 0); + } } #ifdef PHP_WIN32 { diff --git a/main/SAPI.c b/main/SAPI.c index 0dd0b55df548f..8a56c6d61ca9d 100644 --- a/main/SAPI.c +++ b/main/SAPI.c @@ -1,4 +1,4 @@ -/* +/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ @@ -132,7 +132,7 @@ PHP_FUNCTION(header_register_callback) if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &callback_func) == FAILURE) { return; } - + if (!zend_is_callable(callback_func, 0, &callback_name TSRMLS_CC)) { efree(callback_name); RETURN_FALSE; @@ -160,10 +160,10 @@ static void sapi_run_header_callback(TSRMLS_D) char *callback_name = NULL; char *callback_error = NULL; zval *retval_ptr = NULL; - + if (zend_fcall_info_init(SG(callback_func), 0, &fci, &SG(fci_cache), &callback_name, &callback_error TSRMLS_CC) == SUCCESS) { fci.retval_ptr_ptr = &retval_ptr; - + error = zend_call_function(&fci, &SG(fci_cache) TSRMLS_CC); if (error == FAILURE) { goto callback_failed; @@ -174,13 +174,13 @@ static void sapi_run_header_callback(TSRMLS_D) callback_failed: php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not call the sapi_header_callback"); } - + if (callback_name) { efree(callback_name); } if (callback_error) { efree(callback_error); - } + } } SAPI_API void sapi_handle_post(void *arg TSRMLS_DC) @@ -386,11 +386,11 @@ SAPI_API void sapi_activate_headers_only(TSRMLS_D) if (SG(request_info).headers_read == 1) return; SG(request_info).headers_read = 1; - zend_llist_init(&SG(sapi_headers).headers, sizeof(sapi_header_struct), + zend_llist_init(&SG(sapi_headers).headers, sizeof(sapi_header_struct), (void (*)(void *)) sapi_free_header, 0); SG(sapi_headers).send_default_content_type = 1; - /* SG(sapi_headers).http_response_code = 200; */ + /* SG(sapi_headers).http_response_code = 200; */ SG(sapi_headers).http_status_line = NULL; SG(sapi_headers).mimetype = NULL; SG(read_post_bytes) = 0; @@ -403,7 +403,7 @@ SAPI_API void sapi_activate_headers_only(TSRMLS_D) SG(global_request_time) = 0; /* - * It's possible to override this general case in the activate() callback, + * It's possible to override this general case in the activate() callback, * if necessary. */ if (SG(request_info).request_method && !strcmp(SG(request_info).request_method, "HEAD")) { @@ -465,8 +465,8 @@ SAPI_API void sapi_activate(TSRMLS_D) * depending on given content type */ sapi_read_post_data(TSRMLS_C); } else { - /* Any other method with content payload will fill $HTTP_RAW_POST_DATA - * if it is enabled by always_populate_raw_post_data. + /* Any other method with content payload will fill $HTTP_RAW_POST_DATA + * if it is enabled by always_populate_raw_post_data. * It's up to the webserver to decide whether to allow a method or not. */ SG(request_info).content_type_dup = NULL; if (sapi_module.default_post_reader) { @@ -497,14 +497,14 @@ static void sapi_send_headers_free(TSRMLS_D) SG(sapi_headers).http_status_line = NULL; } } - + SAPI_API void sapi_deactivate(TSRMLS_D) { zend_llist_destroy(&SG(sapi_headers).headers); if (SG(request_info).post_data) { efree(SG(request_info).post_data); } else if (SG(server_context)) { - if(sapi_module.read_post) { + if(sapi_module.read_post) { /* make sure we've consumed all request input data */ char dummy[SAPI_POST_BLOCK_SIZE]; int read_bytes; @@ -516,7 +516,7 @@ SAPI_API void sapi_deactivate(TSRMLS_D) } if (SG(request_info).raw_post_data) { efree(SG(request_info).raw_post_data); - } + } if (SG(request_info).auth_user) { efree(SG(request_info).auth_user); } @@ -574,7 +574,7 @@ static int sapi_extract_response_code(const char *header_line) break; } } - + return code; } @@ -594,7 +594,7 @@ static void sapi_update_response_code(int ncode TSRMLS_DC) SG(sapi_headers).http_response_code = ncode; } -/* +/* * since zend_llist_del_element only remove one matched item once, * we should remove them by ourself */ @@ -630,7 +630,7 @@ SAPI_API int sapi_add_header_ex(char *header_line, uint header_line_len, zend_bo { sapi_header_line ctr = {0}; int r; - + ctr.line = header_line; ctr.line_len = header_line_len; @@ -724,7 +724,7 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC) } while(header_line_len && isspace(header_line[header_line_len-1])); header_line[header_line_len]='\0'; } - + if (op == SAPI_HEADER_DELETE) { if (strchr(header_line, ':')) { efree(header_line); @@ -762,7 +762,7 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC) sapi_header.header_len = header_line_len; /* Check the header for a few cases that we have special support for in SAPI */ - if (header_line_len>=5 + if (header_line_len>=5 && !strncasecmp(header_line, "HTTP/", 5)) { /* filter out the response code */ sapi_update_response_code(sapi_extract_response_code(header_line) TSRMLS_CC); @@ -821,8 +821,8 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC) /* Return a Found Redirect if one is not already specified */ if (http_response_code) { /* user specified redirect code */ sapi_update_response_code(http_response_code TSRMLS_CC); - } else if (SG(request_info).proto_num > 1000 && - SG(request_info).request_method && + } else if (SG(request_info).proto_num > 1000 && + SG(request_info).request_method && strcmp(SG(request_info).request_method, "HEAD") && strcmp(SG(request_info).request_method, "GET")) { sapi_update_response_code(303 TSRMLS_CC); @@ -1011,7 +1011,11 @@ SAPI_API struct stat *sapi_get_stat(TSRMLS_D) SAPI_API char *sapi_getenv(char *name, size_t name_len TSRMLS_DC) { - if (sapi_module.getenv) { + if (!strncasecmp(name, "HTTP_PROXY", name_len)) { + /* Ugly fix for HTTP_PROXY issue */ + return NULL; + } + if (sapi_module.getenv) { char *value, *tmp = sapi_module.getenv(name, name_len TSRMLS_CC); if (tmp) { value = estrdup(tmp); diff --git a/main/php_variables.c b/main/php_variables.c index bf6b9f371090b..bbe57d39556d6 100644 --- a/main/php_variables.c +++ b/main/php_variables.c @@ -43,7 +43,7 @@ PHPAPI void php_register_variable_safe(char *var, char *strval, int str_len, zva { zval new_entry; assert(strval != NULL); - + /* Prepare value */ Z_STRLEN(new_entry) = str_len; Z_STRVAL(new_entry) = estrndup(strval, Z_STRLEN(new_entry)); @@ -81,7 +81,7 @@ PHPAPI void php_register_variable_ex(char *var_name, zval *val, zval *track_vars while (*var_name && *var_name==' ') { var_name++; } - + /* * Prepare variable name */ @@ -167,7 +167,7 @@ PHPAPI void php_register_variable_ex(char *var_name, zval *val, zval *track_vars return; } *ip = 0; - new_idx_len = strlen(index_s); + new_idx_len = strlen(index_s); } if (!index) { @@ -210,7 +210,7 @@ PHPAPI void php_register_variable_ex(char *var_name, zval *val, zval *track_vars zval_ptr_dtor(&gpc_element); } } else { - /* + /* * According to rfc2965, more specific paths are listed above the less specific ones. * If we encounter a duplicate cookie name, we should skip it, since it is not possible * to have the same (plain text) cookie name for the same path and we should not overwrite @@ -236,7 +236,7 @@ SAPI_API SAPI_POST_HANDLER_FUNC(php_std_post_handler) if (SG(request_info).post_data == NULL) { return; - } + } s = SG(request_info).post_data; e = s + SG(request_info).post_data_length; @@ -284,7 +284,7 @@ SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data) int free_buffer = 0; char *strtok_buf = NULL; long count = 0; - + switch (arg) { case PARSE_POST: case PARSE_GET: @@ -357,9 +357,9 @@ SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data) separator = ";\0"; break; } - + var = php_strtok_r(res, separator, &strtok_buf); - + while (var) { val = strchr(var, '='); @@ -454,11 +454,11 @@ static void php_build_argv(char *s, zval *track_vars_array TSRMLS_DC) zval *arr, *argc, *tmp; int count = 0; char *ss, *space; - + if (!(SG(request_info).argc || track_vars_array)) { return; } - + ALLOC_INIT_ZVAL(arr); array_init(arr); @@ -519,7 +519,7 @@ static void php_build_argv(char *s, zval *track_vars_array TSRMLS_DC) Z_ADDREF_P(argc); zend_hash_update(&EG(symbol_table), "argv", sizeof("argv"), &arr, sizeof(zval *), NULL); zend_hash_update(&EG(symbol_table), "argc", sizeof("argc"), &argc, sizeof(zval *), NULL); - } + } if (track_vars_array) { Z_ADDREF_P(arr); Z_ADDREF_P(argc); @@ -649,7 +649,7 @@ static zend_bool php_auto_globals_create_get(const char *name, uint name_len TSR zend_hash_update(&EG(symbol_table), name, name_len + 1, &vars, sizeof(zval *), NULL); Z_ADDREF_P(vars); - + return 0; /* don't rearm */ } @@ -676,7 +676,7 @@ static zend_bool php_auto_globals_create_post(const char *name, uint name_len TS zend_hash_update(&EG(symbol_table), name, name_len + 1, &vars, sizeof(zval *), NULL); Z_ADDREF_P(vars); - + return 0; /* don't rearm */ } @@ -699,7 +699,7 @@ static zend_bool php_auto_globals_create_cookie(const char *name, uint name_len zend_hash_update(&EG(symbol_table), name, name_len + 1, &vars, sizeof(zval *), NULL); Z_ADDREF_P(vars); - + return 0; /* don't rearm */ } @@ -718,10 +718,26 @@ static zend_bool php_auto_globals_create_files(const char *name, uint name_len T zend_hash_update(&EG(symbol_table), name, name_len + 1, &vars, sizeof(zval *), NULL); Z_ADDREF_P(vars); - + return 0; /* don't rearm */ } +/* Upgly hack to fix HTTP_PROXY issue */ +static void check_http_proxy(HashTable *var_table) { + if (zend_hash_exists(var_table, "HTTP_PROXY", sizeof("HTTP_PROXY"))) { + char *local_proxy = getenv("HTTP_PROXY"); + + if (!local_proxy) { + zend_hash_del(var_table, "HTTP_PROXY", sizeof("HTTP_PROXY")); + } else { + zval *local_zval; + ALLOC_INIT_ZVAL(local_zval); + ZVAL_STRING(local_zval, local_proxy, 1); + zend_hash_update(var_table, "HTTP_PROXY", sizeof("HTTP_PROXY"), &local_zval, sizeof(zval **), NULL); + } + } +} + static zend_bool php_auto_globals_create_server(const char *name, uint name_len TSRMLS_DC) { if (PG(variables_order) && (strchr(PG(variables_order),'S') || strchr(PG(variables_order),'s'))) { @@ -730,7 +746,7 @@ static zend_bool php_auto_globals_create_server(const char *name, uint name_len if (PG(register_argc_argv)) { if (SG(request_info).argc) { zval **argc, **argv; - + if (zend_hash_find(&EG(symbol_table), "argc", sizeof("argc"), (void**)&argc) == SUCCESS && zend_hash_find(&EG(symbol_table), "argv", sizeof("argv"), (void**)&argv) == SUCCESS) { Z_ADDREF_PP(argc); @@ -742,7 +758,7 @@ static zend_bool php_auto_globals_create_server(const char *name, uint name_len php_build_argv(SG(request_info).query_string, PG(http_globals)[TRACK_VARS_SERVER] TSRMLS_CC); } } - + } else { zval *server_vars=NULL; ALLOC_ZVAL(server_vars); @@ -754,9 +770,10 @@ static zend_bool php_auto_globals_create_server(const char *name, uint name_len PG(http_globals)[TRACK_VARS_SERVER] = server_vars; } + check_http_proxy(Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_SERVER])); zend_hash_update(&EG(symbol_table), name, name_len + 1, &PG(http_globals)[TRACK_VARS_SERVER], sizeof(zval *), NULL); Z_ADDREF_P(PG(http_globals)[TRACK_VARS_SERVER]); - + return 0; /* don't rearm */ } @@ -770,11 +787,12 @@ static zend_bool php_auto_globals_create_env(const char *name, uint name_len TSR zval_ptr_dtor(&PG(http_globals)[TRACK_VARS_ENV]); } PG(http_globals)[TRACK_VARS_ENV] = env_vars; - + if (PG(variables_order) && (strchr(PG(variables_order),'E') || strchr(PG(variables_order),'e'))) { php_import_environment_variables(PG(http_globals)[TRACK_VARS_ENV] TSRMLS_CC); } + check_http_proxy(Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_ENV])); zend_hash_update(&EG(symbol_table), name, name_len + 1, &PG(http_globals)[TRACK_VARS_ENV], sizeof(zval *), NULL); Z_ADDREF_P(PG(http_globals)[TRACK_VARS_ENV]); From 6a5e1783b73d9072665db48f959eb7e36970bc4b Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Mon, 11 Jul 2016 11:31:43 +0100 Subject: [PATCH 020/206] Generate new .c file from .re file, as that was missing on my previous commit --- ext/date/lib/parse_date.c | 53363 +++++++++++++++++++++--------------- 1 file changed, 31227 insertions(+), 22136 deletions(-) diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index 80403d02c32ce..b5bc04e83e746 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Thu Aug 13 10:30:11 2015 */ +/* Generated by re2c 0.16 on Mon Jul 11 11:31:07 2016 */ #line 1 "ext/date/lib/parse_date.re" /* * The MIT License (MIT) @@ -824,98 +824,61 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) -#line 828 "ext/date/lib/parse_date.c" +#line 828 "" { YYCTYPE yych; unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 100, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 100, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 128, 64, 160, 96, 0, - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 0, 0, 0, 0, 0, 0, - 0, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 0, 0, 0, 0, 0, - 0, 24, 24, 24, 88, 24, 24, 24, - 88, 24, 24, 24, 24, 24, 88, 24, - 24, 24, 88, 88, 88, 24, 24, 24, - 24, 24, 24, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - - YYDEBUG(0, *YYCURSOR); if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31); yych = *YYCURSOR; - YYDEBUG(-1, yych); switch (yych) { case 0x00: - case '\n': goto yy51; + case '\n': goto yy2; case '\t': - case ' ': goto yy48; - case '(': goto yy45; + case ' ': goto yy6; + case '(': goto yy8; case '+': - case '-': goto yy30; + case '-': goto yy9; case ',': - case '.': goto yy50; - case '0': goto yy25; - case '1': goto yy26; - case '2': goto yy27; - case '3': goto yy28; + case '.': goto yy10; + case '0': goto yy11; + case '1': goto yy12; + case '2': goto yy13; + case '3': goto yy14; 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 '9': goto yy15; + case '@': goto yy16; + case 'A': goto yy17; + case 'B': goto yy19; 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 'Z': goto yy20; + case 'D': goto yy21; + case 'E': goto yy22; + case 'F': goto yy23; + case 'G': goto yy24; + case 'I': goto yy25; + case 'J': goto yy26; + case 'L': goto yy27; + case 'M': goto yy28; + case 'N': goto yy29; + case 'O': goto yy30; + case 'P': goto yy31; + case 'S': goto yy32; + case 'T': goto yy33; + case 'V': goto yy34; + case 'W': goto yy35; + case 'X': goto yy36; + case 'Y': goto yy37; + case 'a': goto yy38; + case 'b': goto yy39; case 'c': case 'g': case 'h': @@ -926,721 +889,148 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'u': case 'v': case 'x': - case 'z': goto yy47; + case 'z': goto yy40; 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; + case 'e': goto yy42; + case 'f': goto yy43; + case 'j': goto yy44; + case 'l': goto yy45; + case 'm': goto yy46; + case 'n': goto yy47; + case 'o': goto yy48; + case 'p': goto yy49; + case 's': goto yy50; + case 't': goto yy51; + case 'w': goto yy52; + case 'y': goto yy53; + default: goto yy4; } yy2: - YYDEBUG(2, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) <= 'E') { - if (yych <= ')') { - if (yych >= ')') goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy140; - goto yy1523; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy140; - if (yych >= 'a') goto yy145; - } else { - if (yych <= 'e') goto yy1532; - if (yych <= 'z') goto yy145; - } - } -yy3: - YYDEBUG(3, *YYCURSOR); -#line 1626 "ext/date/lib/parse_date.re" +#line 1715 "ext/date/lib/parse_date.re" { - 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; + s->pos = cursor; s->line++; + goto std; } -#line 981 "ext/date/lib/parse_date.c" +#line 916 "" yy4: - YYDEBUG(4, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy140; - goto yy1523; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy140; - } else { - if (yych <= 'e') goto yy1523; - if (yych <= 'z') goto yy140; - goto yy3; - } - } + ++YYCURSOR; yy5: - YYDEBUG(5, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'D') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy140; - } else { - if (yych <= 'H') { - if (yych <= 'E') goto yy1494; - goto yy140; - } else { - if (yych <= 'I') goto yy1495; - if (yych <= 'N') goto yy140; - goto yy1493; - } - } - } else { - if (yych <= 'h') { - if (yych <= '`') { - if (yych <= 'Z') goto yy140; - goto yy3; - } else { - if (yych == 'e') goto yy1510; - goto yy145; - } - } else { - if (yych <= 'n') { - if (yych <= 'i') goto yy1511; - goto yy145; - } else { - if (yych <= 'o') goto yy1509; - if (yych <= 'z') goto yy145; - goto yy3; - } - } +#line 1721 "ext/date/lib/parse_date.re" + { + add_error(s, "Unexpected character"); + goto std; } +#line 925 "" yy6: - YYDEBUG(6, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'D') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy140; - } else { - if (yych <= 'H') { - if (yych <= 'E') goto yy1494; - goto yy140; - } else { - if (yych <= 'I') goto yy1495; - if (yych <= 'N') goto yy140; - goto yy1493; - } - } - } else { - if (yych <= 'h') { - if (yych <= '`') { - if (yych <= 'Z') goto yy140; - goto yy3; - } else { - if (yych == 'e') goto yy1494; - goto yy140; - } - } else { - if (yych <= 'n') { - if (yych <= 'i') goto yy1495; - goto yy140; - } else { - if (yych <= 'o') goto yy1493; - if (yych <= 'z') goto yy140; - goto yy3; - } - } - } -yy7: - YYDEBUG(7, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy1463; - } else { - if (yych == 'I') goto yy1464; - if (yych <= 'N') goto yy140; - goto yy1465; - } - } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1478; - goto yy145; - } else { - if (yych <= 'n') { - if (yych <= 'i') goto yy1479; - goto yy145; - } else { - if (yych <= 'o') goto yy1480; - if (yych <= 'z') goto yy145; - goto yy3; - } - } - } -yy8: - YYDEBUG(8, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy1463; - } else { - if (yych == 'I') goto yy1464; - if (yych <= 'N') goto yy140; - goto yy1465; - } - } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1463; - goto yy140; - } else { - if (yych <= 'n') { - if (yych <= 'i') goto yy1464; - goto yy140; - } else { - if (yych <= 'o') goto yy1465; - if (yych <= 'z') goto yy140; - goto yy3; - } - } - } -yy9: - YYDEBUG(9, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); switch (yych) { - case ')': goto yy139; + case '\t': + case ' ': goto yy54; case '0': - case '1': goto yy1393; - case '2': goto yy1394; + case '1': + case '2': case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy1395; + case '9': goto yy57; + default: goto yy7; + } +yy7: +#line 1710 "ext/date/lib/parse_date.re" + { + goto std; + } +#line 949 "" +yy8: + yych = *++YYCURSOR; + switch (yych) { case 'A': case 'B': case 'C': case 'D': + case 'E': case 'F': case 'G': + case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': + case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': + case 'U': case 'V': + case 'W': case 'X': case 'Y': - case 'Z': goto yy140; - case 'E': goto yy1388; - case 'H': goto yy1389; - case 'O': goto yy1390; - case 'U': goto yy1391; - case 'W': goto yy1392; + case 'Z': case 'a': case 'b': case 'c': case 'd': + case 'e': case 'f': case 'g': + case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': + case 'o': case 'p': case 'q': case 'r': case 's': case 't': + case 'u': case 'v': + case 'w': case 'x': case 'y': - case 'z': goto yy145; - case 'e': goto yy1431; - case 'h': goto yy1432; - case 'o': goto yy1433; - case 'u': goto yy1434; - case 'w': goto yy1435; - default: goto yy3; + case 'z': goto yy40; + default: goto yy5; } -yy10: - YYDEBUG(10, *YYCURSOR); - yyaccept = 0; +yy9: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); switch (yych) { - case ')': goto yy139; + case '\t': + case ' ': goto yy54; + case '+': + case '-': goto yy59; case '0': - case '1': goto yy1393; - case '2': goto yy1394; + case '1': goto yy61; + case '2': goto yy62; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy1395; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'x': - case 'y': - case 'z': goto yy140; - case 'E': - case 'e': goto yy1388; - case 'H': - case 'h': goto yy1389; - case 'O': - case 'o': goto yy1390; - case 'U': - case 'u': goto yy1391; - case 'W': - case 'w': goto yy1392; - default: goto yy3; - } -yy11: - YYDEBUG(11, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy1384; - if (yych <= '/') goto yy12; - if (yych <= '9') goto yy1385; -yy12: - YYDEBUG(12, *YYCURSOR); -#line 1721 "ext/date/lib/parse_date.re" - { - add_error(s, "Unexpected character"); - goto std; - } -#line 1297 "ext/date/lib/parse_date.c" -yy13: - YYDEBUG(13, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy140; - goto yy1320; - } - } else { - if (yych <= 'N') { - if (yych == 'I') goto yy1321; - goto yy140; - } else { - if (yych <= 'O') goto yy1322; - if (yych <= 'Q') goto yy140; - goto yy1323; - } - } - } else { - if (yych <= 'i') { - if (yych <= 'd') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy145; - } else { - if (yych <= 'e') goto yy1361; - if (yych <= 'h') goto yy145; - goto yy1362; - } - } else { - if (yych <= 'q') { - if (yych == 'o') goto yy1363; - goto yy145; - } else { - if (yych <= 'r') goto yy1364; - if (yych <= 'z') goto yy145; - goto yy3; - } - } - } -yy14: - YYDEBUG(14, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy140; - goto yy1320; - } - } else { - if (yych <= 'N') { - if (yych == 'I') goto yy1321; - goto yy140; - } else { - if (yych <= 'O') goto yy1322; - if (yych <= 'Q') goto yy140; - goto yy1323; - } - } - } else { - if (yych <= 'i') { - if (yych <= 'd') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy140; - } else { - if (yych <= 'e') goto yy1320; - if (yych <= 'h') goto yy140; - goto yy1321; - } - } else { - if (yych <= 'q') { - if (yych == 'o') goto yy1322; - goto yy140; - } else { - if (yych <= 'r') goto yy1323; - if (yych <= 'z') goto yy140; - goto yy3; - } - } - } -yy15: - YYDEBUG(15, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy1306; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy140; - goto yy3; - } else { - if (yych <= 'a') goto yy1317; - if (yych <= 'z') goto yy145; - goto yy3; - } - } -yy16: - YYDEBUG(16, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy1306; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy140; - goto yy3; - } else { - if (yych <= 'a') goto yy1306; - if (yych <= 'z') goto yy140; - goto yy3; - } - } -yy17: - YYDEBUG(17, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy1286; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy140; - goto yy3; - } else { - if (yych <= 'a') goto yy1303; - if (yych <= 'z') goto yy145; - goto yy3; - } - } -yy18: - YYDEBUG(18, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy1286; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy140; - goto yy3; - } else { - if (yych <= 'a') goto yy1286; - if (yych <= 'z') goto yy140; - goto yy3; - } - } -yy19: - YYDEBUG(19, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'A') goto yy1229; - goto yy140; - } - } else { - if (yych <= 'H') { - if (yych <= 'E') goto yy1228; - goto yy140; - } else { - if (yych <= 'I') goto yy1230; - if (yych <= 'T') goto yy140; - goto yy1231; - } - } - } else { - if (yych <= 'e') { - if (yych <= '`') { - if (yych <= 'Z') goto yy140; - goto yy3; - } else { - if (yych <= 'a') goto yy1258; - if (yych <= 'd') goto yy145; - goto yy1257; - } - } else { - if (yych <= 't') { - if (yych == 'i') goto yy1259; - goto yy145; - } else { - if (yych <= 'u') goto yy1260; - if (yych <= 'z') goto yy145; - goto yy3; - } - } - } -yy20: - YYDEBUG(20, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'A') goto yy1229; - goto yy140; - } - } else { - if (yych <= 'H') { - if (yych <= 'E') goto yy1228; - goto yy140; - } else { - if (yych <= 'I') goto yy1230; - if (yych <= 'T') goto yy140; - goto yy1231; - } - } - } else { - if (yych <= 'e') { - if (yych <= '`') { - if (yych <= 'Z') goto yy140; - goto yy3; - } else { - if (yych <= 'a') goto yy1229; - if (yych <= 'd') goto yy140; - goto yy1228; - } - } else { - if (yych <= 't') { - if (yych == 'i') goto yy1230; - goto yy140; - } else { - if (yych <= 'u') goto yy1231; - if (yych <= 'z') goto yy140; - goto yy3; - } - } - } -yy21: - YYDEBUG(21, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == 'I') goto yy1198; - if (yych <= 'K') goto yy140; - goto yy1199; - } - } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - if (yych <= 'h') goto yy145; - goto yy1216; - } else { - if (yych == 'l') goto yy1217; - if (yych <= 'z') goto yy145; - goto yy3; - } - } -yy22: - YYDEBUG(22, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == 'I') goto yy1198; - if (yych <= 'K') goto yy140; - goto yy1199; - } - } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - if (yych <= 'h') goto yy140; - goto yy1198; - } else { - if (yych == 'l') goto yy1199; - if (yych <= 'z') goto yy140; - goto yy3; - } - } -yy23: - YYDEBUG(23, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'Q') goto yy140; - goto yy1097; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy145; - } else { - if (yych <= 'r') goto yy1191; - if (yych <= 'z') goto yy145; - goto yy3; - } + case '9': goto yy63; + default: goto yy5; } -yy24: - YYDEBUG(24, *YYCURSOR); +yy10: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'Q') goto yy140; - goto yy1097; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy140; - } else { - if (yych <= 'r') goto yy1097; - if (yych <= 'z') goto yy140; - goto yy3; - } - } -yy25: - YYDEBUG(25, *YYCURSOR); + goto yy7; +yy11: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); switch (yych) { - case '\t': goto yy1051; + case '\t': goto yy64; case ' ': case 'A': case 'D': @@ -1665,11 +1055,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'm': case 'o': case 'w': - case 'y': goto yy1053; - case '-': goto yy472; - case '.': goto yy1063; - case '/': goto yy471; - case '0': goto yy1096; + case 'y': goto yy66; + case '-': goto yy67; + case '.': goto yy68; + case '/': goto yy69; + case '0': goto yy70; case '1': case '2': case '3': @@ -1678,21 +1068,19 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy1095; - case ':': goto yy1064; - case 'n': goto yy469; - case 'r': goto yy470; - case 's': goto yy463; - case 't': goto yy467; - default: goto yy12; + case '9': goto yy71; + case ':': goto yy72; + case 'n': goto yy89; + case 'r': goto yy90; + case 's': goto yy91; + case 't': goto yy92; + default: goto yy5; } -yy26: - YYDEBUG(26, *YYCURSOR); +yy12: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); switch (yych) { - case '\t': goto yy459; + case '\t': goto yy93; case ' ': case 'A': case 'D': @@ -1719,34 +1107,32 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'o': case 'p': case 'w': - case 'y': goto yy461; - case '-': goto yy472; - case '.': goto yy473; - case '/': goto yy471; + case 'y': goto yy95; + case '-': goto yy67; + case '.': goto yy96; + case '/': goto yy69; case '0': case '1': - case '2': goto yy1095; + case '2': goto yy71; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy1062; - case ':': goto yy482; - case 'n': goto yy469; - case 'r': goto yy470; - case 's': goto yy463; - case 't': goto yy467; - default: goto yy12; + case '9': goto yy97; + case ':': goto yy98; + case 'n': goto yy89; + case 'r': goto yy90; + case 's': goto yy91; + case 't': goto yy92; + default: goto yy5; } -yy27: - YYDEBUG(27, *YYCURSOR); +yy13: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); switch (yych) { - case '\t': goto yy459; + case '\t': goto yy93; case ' ': case 'A': case 'D': @@ -1773,34 +1159,32 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'o': case 'p': case 'w': - case 'y': goto yy461; - case '-': goto yy472; - case '.': goto yy473; - case '/': goto yy471; + case 'y': goto yy95; + case '-': goto yy67; + case '.': goto yy96; + case '/': goto yy69; case '0': case '1': case '2': case '3': - case '4': goto yy1062; + case '4': goto yy97; case '5': case '6': case '7': case '8': - case '9': goto yy1049; - case ':': goto yy482; - case 'n': goto yy469; - case 'r': goto yy470; - case 's': goto yy463; - case 't': goto yy467; - default: goto yy12; + case '9': goto yy101; + case ':': goto yy98; + case 'n': goto yy89; + case 'r': goto yy90; + case 's': goto yy91; + case 't': goto yy92; + default: goto yy5; } -yy28: - YYDEBUG(28, *YYCURSOR); +yy14: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); switch (yych) { - case '\t': goto yy459; + case '\t': goto yy93; case ' ': case 'A': case 'D': @@ -1827,12 +1211,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'o': case 'p': case 'w': - case 'y': goto yy461; - case '-': goto yy472; - case '.': goto yy473; - case '/': goto yy471; + case 'y': goto yy95; + case '-': goto yy67; + case '.': goto yy96; + case '/': goto yy69; case '0': - case '1': goto yy1049; + case '1': goto yy101; case '2': case '3': case '4': @@ -1840,21 +1224,19 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy468; - case ':': goto yy482; - case 'n': goto yy469; - case 'r': goto yy470; - case 's': goto yy463; - case 't': goto yy467; - default: goto yy12; + case '9': goto yy102; + case ':': goto yy98; + case 'n': goto yy89; + case 'r': goto yy90; + case 's': goto yy91; + case 't': goto yy92; + default: goto yy5; } -yy29: - YYDEBUG(29, *YYCURSOR); +yy15: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); switch (yych) { - case '\t': goto yy459; + case '\t': goto yy93; case ' ': case 'A': case 'D': @@ -1881,10 +1263,10 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'o': case 'p': case 'w': - case 'y': goto yy461; - case '-': goto yy472; - case '.': goto yy473; - case '/': goto yy471; + case 'y': goto yy95; + case '-': goto yy67; + case '.': goto yy96; + case '/': goto yy69; case '0': case '1': case '2': @@ -1894,7615 +1276,20533 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy468; - case ':': goto yy482; - case 'n': goto yy469; - case 'r': goto yy470; - case 's': goto yy463; - case 't': goto yy467; - default: goto yy12; + case '9': goto yy102; + case ':': goto yy98; + case 'n': goto yy89; + case 'r': goto yy90; + case 's': goto yy91; + case 't': goto yy92; + default: goto yy5; } -yy30: - YYDEBUG(30, *YYCURSOR); +yy16: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy57; - } - YYDEBUG(-1, yych); switch (yych) { - case '+': - case '-': goto yy439; + case '-': goto yy103; case '0': - case '1': goto yy436; - case '2': goto yy437; + case '1': + case '2': case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy438; - default: goto yy12; - } -yy31: - YYDEBUG(31, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy3; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy3; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy3; - } else { - if (yych == '/') goto yy3; - goto yy195; - } - } - } else { - if (yych <= 'V') { - if (yych <= 'H') { - if (yych <= '@') goto yy3; - goto yy140; - } else { - if (yych <= 'I') goto yy435; - if (yych <= 'U') goto yy140; - goto yy434; - } - } else { - if (yych <= 'Z') { - if (yych == 'X') goto yy434; - goto yy140; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy145; - goto yy3; - } - } - } -yy32: - YYDEBUG(32, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy195; - if (yych <= 0x1F) goto yy3; - goto yy195; - } else { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy195; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy3; - if (yych <= '9') goto yy195; - if (yych <= '@') goto yy3; - goto yy140; - } else { - if (yych <= 'Z') { - if (yych <= 'I') goto yy431; - goto yy140; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy145; - goto yy3; - } - } - } -yy33: - YYDEBUG(33, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy195; - if (yych <= 0x1F) goto yy3; - goto yy195; - } else { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy195; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy3; - if (yych <= '9') goto yy195; - if (yych <= '@') goto yy3; - goto yy140; - } else { - if (yych <= 'Z') { - if (yych <= 'I') goto yy429; - goto yy140; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy145; - goto yy3; - } - } + case '9': goto yy104; + default: goto yy5; } -yy34: - YYDEBUG(34, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'A') goto yy412; - if (yych <= 'T') goto yy140; - goto yy411; - } - } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy421; - } else { - if (yych == 'u') goto yy420; - if (yych <= 'z') goto yy145; - goto yy3; - } +yy17: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'G': goto yy109; + case 'P': goto yy110; + case 'U': goto yy111; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + case 'g': goto yy113; + case 'p': goto yy114; + case 'u': goto yy115; + default: goto yy18; } -yy35: - YYDEBUG(35, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'A') goto yy412; - if (yych <= 'T') goto yy140; - goto yy411; - } - } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy412; - } else { - if (yych == 'u') goto yy411; - if (yych <= 'z') goto yy140; - goto yy3; +yy18: +#line 1626 "ext/date/lib/parse_date.re" + { + 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; } -yy36: - YYDEBUG(36, *YYCURSOR); +#line 1377 "" +yy19: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'F') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy140; - } else { - if (yych <= 'O') { - if (yych <= 'G') goto yy390; - goto yy140; - } else { - if (yych <= 'P') goto yy389; - if (yych <= 'T') goto yy140; - goto yy388; - } - } - } else { - if (yych <= 'o') { - if (yych <= '`') { - if (yych <= 'Z') goto yy140; - goto yy3; - } else { - if (yych == 'g') goto yy402; - goto yy145; - } - } else { - if (yych <= 't') { - if (yych <= 'p') goto yy401; - goto yy145; - } else { - if (yych <= 'u') goto yy400; - if (yych <= 'z') goto yy145; - goto yy3; - } - } + switch (yych) { + case ')': goto yy107; + case 'A': goto yy116; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'a': goto yy117; + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + default: goto yy18; } -yy37: - YYDEBUG(37, *YYCURSOR); +yy20: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'F') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy140; - } else { - if (yych <= 'O') { - if (yych <= 'G') goto yy390; - goto yy140; - } else { - if (yych <= 'P') goto yy389; - if (yych <= 'T') goto yy140; - goto yy388; - } - } - } else { - if (yych <= 'o') { - if (yych <= '`') { - if (yych <= 'Z') goto yy140; - goto yy3; - } else { - if (yych == 'g') goto yy390; - goto yy140; - } - } else { - if (yych <= 't') { - if (yych <= 'p') goto yy389; - goto yy140; - } else { - if (yych <= 'u') goto yy388; - if (yych <= 'z') goto yy140; - goto yy3; - } - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + default: goto yy18; } -yy38: - YYDEBUG(38, *YYCURSOR); +yy21: yych = *++YYCURSOR; - if (yych <= 'C') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'B') goto yy140; - goto yy378; - } - } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy145; - } else { - if (yych <= 'c') goto yy383; - if (yych <= 'z') goto yy145; - goto yy3; - } - } -yy39: - YYDEBUG(39, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'C') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'B') goto yy140; - goto yy378; - } - } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy140; - } else { - if (yych <= 'c') goto yy378; - if (yych <= 'z') goto yy140; - goto yy3; - } - } -yy40: - YYDEBUG(40, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy140; - goto yy191; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy145; - } else { - if (yych <= 'e') goto yy369; - if (yych <= 'z') goto yy145; - goto yy3; - } - } -yy41: - YYDEBUG(41, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy140; - goto yy191; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy140; - } else { - if (yych <= 'e') goto yy191; - if (yych <= 'z') goto yy140; - goto yy3; - } - } -yy42: - YYDEBUG(42, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy140; - goto yy164; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy145; - } else { - if (yych <= 'e') goto yy178; - if (yych <= 'z') goto yy145; - goto yy3; - } - } -yy43: - YYDEBUG(43, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy140; - goto yy164; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - goto yy140; - } else { - if (yych <= 'e') goto yy164; - if (yych <= 'z') goto yy140; - goto yy3; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'E': goto yy118; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + case 'e': goto yy119; + default: goto yy18; } -yy44: - YYDEBUG(44, *YYCURSOR); +yy22: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy140; - } else { - if (yych <= 'Z') { - if (yych <= 'M') goto yy156; - goto yy140; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy145; - goto yy3; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'I': goto yy120; + case 'L': goto yy121; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + case 'i': goto yy122; + case 'l': goto yy123; + default: goto yy18; } -yy45: - YYDEBUG(45, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') goto yy12; - if (yych <= 'Z') goto yy155; - if (yych <= '`') goto yy12; - if (yych <= 'z') goto yy155; - goto yy12; -yy46: - YYDEBUG(46, *YYCURSOR); +yy23: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy145; - goto yy3; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'E': goto yy124; + case 'I': goto yy125; + case 'O': goto yy126; + case 'R': goto yy127; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + case 'e': goto yy128; + case 'i': goto yy129; + case 'o': goto yy130; + case 'r': goto yy131; + default: goto yy18; } -yy47: - YYDEBUG(47, *YYCURSOR); +yy24: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy140; - goto yy3; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'M': goto yy132; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + default: goto yy18; } -yy48: - YYDEBUG(48, *YYCURSOR); +yy25: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy57; - } - if (yych <= '/') goto yy49; - if (yych <= '9') goto yy54; -yy49: - YYDEBUG(49, *YYCURSOR); -#line 1710 "ext/date/lib/parse_date.re" - { - goto std; - } -#line 2358 "ext/date/lib/parse_date.c" -yy50: - YYDEBUG(50, *YYCURSOR); - yych = *++YYCURSOR; - goto yy49; -yy51: - YYDEBUG(51, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(52, *YYCURSOR); -#line 1715 "ext/date/lib/parse_date.re" - { - s->pos = cursor; s->line++; - goto std; - } -#line 2372 "ext/date/lib/parse_date.c" -yy53: - YYDEBUG(53, *YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'W': + case 'Y': + case 'Z': goto yy108; + case 'I': goto yy139; + case 'V': + case 'X': goto yy140; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + default: goto yy18; + } +yy26: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': goto yy141; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'U': goto yy142; + case 'a': goto yy143; + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + case 'u': goto yy144; + default: goto yy18; + } +yy27: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': goto yy145; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'a': goto yy146; + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + default: goto yy18; + } +yy28: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': goto yy147; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'I': goto yy148; + case 'O': goto yy149; + case 'a': goto yy150; + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + case 'i': goto yy151; + case 'o': goto yy152; + default: goto yy18; + } +yy29: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'E': goto yy153; + case 'I': goto yy154; + case 'O': goto yy155; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + case 'e': goto yy156; + case 'i': goto yy157; + case 'o': goto yy158; + default: goto yy18; + } +yy30: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'C': goto yy159; + case 'a': + case 'b': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + case 'c': goto yy160; + default: goto yy18; + } +yy31: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'R': goto yy161; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + case 'r': goto yy162; + default: goto yy18; + } +yy32: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': goto yy163; + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'E': goto yy164; + case 'I': goto yy165; + case 'U': goto yy149; + case 'a': goto yy166; + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + case 'e': goto yy167; + case 'i': goto yy168; + case 'u': goto yy152; + default: goto yy18; + } +yy33: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '0': + case '1': goto yy169; + case '2': goto yy170; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy171; + 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 yy108; + case 'E': goto yy154; + case 'H': goto yy172; + case 'O': goto yy173; + case 'U': goto yy174; + case 'W': goto yy175; + 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 yy112; + case 'e': goto yy157; + case 'h': goto yy176; + case 'o': goto yy177; + case 'u': goto yy178; + case 'w': goto yy179; + default: goto yy18; + } +yy34: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'I': goto yy180; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + default: goto yy18; + } +yy35: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'E': goto yy181; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + case 'e': goto yy182; + default: goto yy18; + } +yy36: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'I': goto yy139; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + default: goto yy18; + } +yy37: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy108; + case 'E': goto yy183; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy112; + case 'e': goto yy184; + default: goto yy18; + } +yy38: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + case 'G': + case 'g': goto yy109; + case 'P': + case 'p': goto yy110; + case 'U': + case 'u': goto yy111; + default: goto yy18; + } +yy39: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'a': goto yy116; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + default: goto yy18; + } +yy40: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + default: goto yy18; + } +yy41: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + case 'E': + case 'e': goto yy118; + default: goto yy18; + } +yy42: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + case 'I': + case 'i': goto yy120; + case 'L': + case 'l': goto yy121; + default: goto yy18; + } +yy43: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + case 'E': + case 'e': goto yy124; + case 'I': + case 'i': goto yy125; + case 'O': + case 'o': goto yy126; + case 'R': + case 'r': goto yy127; + default: goto yy18; + } +yy44: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'a': goto yy141; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + case 'U': + case 'u': goto yy142; + default: goto yy18; + } +yy45: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'a': goto yy145; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + default: goto yy18; + } +yy46: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'a': goto yy147; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + case 'I': + case 'i': goto yy148; + case 'O': + case 'o': goto yy149; + default: goto yy18; + } +yy47: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + case 'E': + case 'e': goto yy153; + case 'I': + case 'i': goto yy154; + case 'O': + case 'o': goto yy155; + default: goto yy18; + } +yy48: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + case 'C': + case 'c': goto yy159; + default: goto yy18; + } +yy49: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + case 'R': + case 'r': goto yy161; + default: goto yy18; + } +yy50: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'a': goto yy163; + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + case 'E': + case 'e': goto yy164; + case 'I': + case 'i': goto yy165; + case 'U': + case 'u': goto yy149; + default: goto yy18; + } +yy51: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '0': + case '1': goto yy169; + case '2': goto yy170; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy171; + 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 yy108; + case 'E': + case 'e': goto yy154; + case 'H': + case 'h': goto yy172; + case 'O': + case 'o': goto yy173; + case 'U': + case 'u': goto yy174; + case 'W': + case 'w': goto yy175; + default: goto yy18; + } +yy52: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + case 'E': + case 'e': goto yy181; + default: goto yy18; + } +yy53: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy108; + case 'E': + case 'e': goto yy183; + default: goto yy18; + } +yy54: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy54; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + default: goto yy56; + } +yy56: + YYCURSOR = YYMARKER; + switch (yyaccept) { + case 0: goto yy7; + case 1: goto yy5; + case 2: goto yy18; + case 3: goto yy78; + case 4: goto yy136; + case 5: goto yy208; + case 6: goto yy213; + case 7: goto yy274; + case 8: goto yy272; + case 9: goto yy294; + case 10: goto yy331; + case 11: goto yy396; + case 12: goto yy398; + case 13: goto yy402; + case 14: goto yy504; + case 15: goto yy544; + case 16: goto yy669; + case 17: goto yy673; + case 18: goto yy704; + case 19: goto yy719; + case 20: goto yy732; + case 21: goto yy755; + case 22: goto yy900; + case 23: goto yy576; + case 24: goto yy915; + case 25: goto yy993; + case 26: goto yy1011; + case 27: goto yy1016; + case 28: goto yy1046; + case 29: goto yy1064; + case 30: goto yy1097; + case 31: goto yy1129; + case 32: goto yy1132; + default: goto yy1231; + } +yy57: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy185; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + case 'D': + case 'd': goto yy187; + case 'F': + case 'f': goto yy188; + case 'H': + case 'h': goto yy76; + case 'M': + case 'm': goto yy189; + case 'S': + case 's': goto yy190; + case 'T': + case 't': goto yy84; + case 'W': + case 'w': goto yy86; + case 'Y': + case 'y': goto yy88; + default: goto yy56; + } +yy59: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy54; + case '+': + case '-': goto yy59; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + default: goto yy56; + } +yy61: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy191; + case ':': goto yy192; + default: goto yy18; + } +yy62: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy191; + case '5': goto yy193; + case '6': + case '7': + case '8': + case '9': goto yy194; + case ':': goto yy192; + default: goto yy18; + } +yy63: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy193; + case '6': + case '7': + case '8': + case '9': goto yy194; + case ':': goto yy192; + default: goto yy18; + } +yy64: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy197; + case '1': goto yy198; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy199; + default: goto yy66; + } +yy65: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy66: + switch (yych) { + case '\t': + case ' ': goto yy65; + case '-': + case '.': goto yy195; + case 'A': + case 'a': goto yy73; + case 'D': + case 'd': goto yy74; + case 'F': + case 'f': goto yy75; + case 'H': + case 'h': goto yy76; + case 'I': goto yy77; + case 'J': + case 'j': goto yy79; + case 'M': + case 'm': goto yy80; + case 'N': + case 'n': goto yy81; + case 'O': + case 'o': goto yy82; + case 'S': + case 's': goto yy83; + case 'T': + case 't': goto yy84; + case 'V': goto yy85; + case 'W': + case 'w': goto yy86; + case 'X': goto yy87; + case 'Y': + case 'y': goto yy88; + default: goto yy56; + } +yy67: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy200; + case '1': goto yy201; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy202; + default: goto yy196; + } +yy68: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy207; + case '1': goto yy209; + case '2': + case '3': + case '4': + case '5': goto yy210; + case '6': + case '7': + case '8': + case '9': goto yy211; + default: goto yy196; + } +yy69: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': goto yy212; + case '3': goto yy214; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy215; + case 'A': + case 'a': goto yy216; + case 'D': + case 'd': goto yy217; + case 'F': + case 'f': goto yy218; + case 'J': + case 'j': goto yy219; + case 'M': + case 'm': goto yy220; + case 'N': + case 'n': goto yy221; + case 'O': + case 'o': goto yy222; + case 'S': + case 's': goto yy223; + default: goto yy56; + } +yy70: + yych = *++YYCURSOR; + switch (yych) { + case '\t': goto yy64; + case '-': goto yy224; + case '.': goto yy68; + case '/': goto yy69; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy225; + case '6': + case '7': + case '8': + case '9': goto yy226; + case ':': goto yy72; + case 'n': goto yy89; + case 'r': goto yy90; + case 's': goto yy91; + case 't': goto yy92; + default: goto yy66; + } +yy71: + yych = *++YYCURSOR; + switch (yych) { + case '\t': goto yy93; + case '-': goto yy224; + case '.': goto yy96; + case '/': goto yy69; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy225; + case '6': + case '7': + case '8': + case '9': goto yy226; + case ':': goto yy98; + case 'n': goto yy89; + case 'r': goto yy90; + case 's': goto yy91; + case 't': goto yy92; + default: goto yy95; + } +yy72: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy227; + case '6': + case '7': + case '8': + case '9': goto yy228; + default: goto yy56; + } +yy73: + yych = *++YYCURSOR; + switch (yych) { + case 'P': + case 'p': goto yy229; + case 'U': + case 'u': goto yy230; + default: goto yy56; + } +yy74: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy231; + case 'E': + case 'e': goto yy232; + default: goto yy56; + } +yy75: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy233; + case 'O': + case 'o': goto yy234; + case 'R': + case 'r': goto yy235; + default: goto yy56; + } +yy76: + yych = *++YYCURSOR; + switch (yych) { + case 'O': + case 'o': goto yy236; + default: goto yy56; + } +yy77: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'I': goto yy241; + case 'V': + case 'X': goto yy242; + default: goto yy78; + } +yy78: +#line 1376 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("datenoyearrev"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->d = timelib_get_nr((char **) &ptr, 2); + timelib_skip_day_suffix((char **) &ptr); + s->time->m = timelib_get_month((char **) &ptr); + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } +#line 3942 "" +yy79: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy243; + case 'U': + case 'u': goto yy244; + default: goto yy56; + } +yy80: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy245; + case 'I': + case 'i': goto yy246; + case 'O': + case 'o': goto yy247; + default: goto yy56; + } +yy81: + yych = *++YYCURSOR; + switch (yych) { + case 'O': + case 'o': goto yy248; + default: goto yy56; + } +yy82: + yych = *++YYCURSOR; + switch (yych) { + case 'C': + case 'c': goto yy249; + default: goto yy56; + } +yy83: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy250; + case 'E': + case 'e': goto yy251; + case 'U': + case 'u': goto yy252; + default: goto yy56; + } +yy84: + yych = *++YYCURSOR; + switch (yych) { + case 'H': + case 'h': goto yy253; + case 'U': + case 'u': goto yy254; + default: goto yy56; + } +yy85: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'I': goto yy87; + default: goto yy78; + } +yy86: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy255; + default: goto yy56; + } +yy87: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'I': goto yy241; + default: goto yy78; + } +yy88: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy256; + default: goto yy56; + } +yy89: + yych = *++YYCURSOR; + switch (yych) { + case 'O': + case 'o': goto yy248; + case 'd': goto yy257; + default: goto yy56; + } +yy90: + yych = *++YYCURSOR; + switch (yych) { + case 'd': goto yy257; + default: goto yy56; + } +yy91: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy250; + case 'E': + case 'e': goto yy251; + case 'U': + case 'u': goto yy252; + case 't': goto yy257; + default: goto yy56; + } +yy92: + yych = *++YYCURSOR; + switch (yych) { + case 'H': goto yy253; + case 'U': + case 'u': goto yy254; + case 'h': goto yy258; + default: goto yy56; + } +yy93: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy197; + case '1': goto yy198; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy199; + default: goto yy95; + } +yy94: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy95: + switch (yych) { + case '\t': + case ' ': goto yy94; + case '-': + case '.': goto yy195; + case 'A': + case 'a': goto yy99; + case 'D': + case 'd': goto yy74; + case 'F': + case 'f': goto yy75; + case 'H': + case 'h': goto yy76; + case 'I': goto yy77; + case 'J': + case 'j': goto yy79; + case 'M': + case 'm': goto yy80; + case 'N': + case 'n': goto yy81; + case 'O': + case 'o': goto yy82; + case 'P': + case 'p': goto yy100; + case 'S': + case 's': goto yy83; + case 'T': + case 't': goto yy84; + case 'V': goto yy85; + case 'W': + case 'w': goto yy86; + case 'X': goto yy87; + case 'Y': + case 'y': goto yy88; + default: goto yy56; + } +yy96: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy259; + case '1': goto yy260; + case '2': + case '3': + case '4': + case '5': goto yy261; + case '6': + case '7': + case '8': + case '9': goto yy262; + default: goto yy196; + } +yy97: + yych = *++YYCURSOR; + switch (yych) { + case '\t': goto yy64; + case '-': goto yy224; + case '.': goto yy68; + case '/': goto yy263; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy225; + case '6': + case '7': + case '8': + case '9': goto yy226; + case ':': goto yy72; + case 'n': goto yy89; + case 'r': goto yy90; + case 's': goto yy91; + case 't': goto yy92; + default: goto yy66; + } +yy98: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy264; + case '6': + case '7': + case '8': + case '9': goto yy265; + default: goto yy56; + } +yy99: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy266; + case 'M': + case 'm': goto yy267; + case 'P': + case 'p': goto yy229; + case 'U': + case 'u': goto yy230; + default: goto yy56; + } +yy100: + yych = *++YYCURSOR; + switch (yych) { + case '.': goto yy266; + case 'M': + case 'm': goto yy267; + default: goto yy56; + } +yy101: + yych = *++YYCURSOR; + switch (yych) { + case '\t': goto yy64; + case '-': goto yy224; + case '.': goto yy268; + case '/': goto yy263; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy226; + case 'n': goto yy89; + case 'r': goto yy90; + case 's': goto yy91; + case 't': goto yy92; + default: goto yy66; + } +yy102: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy269; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy226; + default: goto yy186; + } +yy103: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy104; + default: goto yy56; + } +yy104: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy104; + default: goto yy106; + } +yy106: +#line 1006 "ext/date/lib/parse_date.re" + { + timelib_ull i; + + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_UNHAVE_DATE(); + TIMELIB_UNHAVE_TIME(); + TIMELIB_HAVE_TZ(); + + i = timelib_get_unsigned_nr((char **) &ptr, 24); + s->time->y = 1970; + s->time->m = 1; + s->time->d = 1; + s->time->h = s->time->i = s->time->s = 0; + s->time->f = 0.0; + s->time->relative.s += i; + s->time->is_localtime = 1; + s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; + s->time->z = 0; + s->time->dst = 0; + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +#line 4315 "" +yy107: + yych = *++YYCURSOR; + goto yy18; +yy108: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + default: goto yy18; + } +yy109: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'O': + case 'o': goto yy271; + default: goto yy18; + } +yy110: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'R': + case 'r': goto yy273; + default: goto yy18; + } +yy111: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'G': + case 'g': goto yy275; + default: goto yy18; + } +yy112: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + default: goto yy18; + } +yy113: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'O': goto yy271; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'o': goto yy278; + default: goto yy18; + } +yy114: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'R': goto yy273; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'r': goto yy279; + default: goto yy18; + } +yy115: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'G': goto yy275; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'g': goto yy280; + default: goto yy18; + } +yy116: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'C': + case 'c': goto yy281; + default: goto yy18; + } +yy117: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'C': goto yy281; + case 'a': + case 'b': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'c': goto yy282; + default: goto yy18; + } +yy118: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'C': + case 'c': goto yy283; + default: goto yy18; + } +yy119: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'C': goto yy283; + case 'a': + case 'b': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'c': goto yy284; + default: goto yy18; + } +yy120: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'G': + case 'g': goto yy285; + default: goto yy18; + } +yy121: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'E': + case 'e': goto yy286; + default: goto yy18; + } +yy122: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'G': goto yy285; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'g': goto yy287; + default: goto yy18; + } +yy123: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'E': goto yy286; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'e': goto yy288; + default: goto yy18; + } +yy124: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'B': + case 'b': goto yy289; + default: goto yy18; + } +yy125: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'F': + case 'f': goto yy290; + case 'R': + case 'r': goto yy291; + default: goto yy18; + } +yy126: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'U': + case 'u': goto yy292; + default: goto yy18; + } +yy127: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'I': + case 'i': goto yy293; + case 'O': + case 'o': goto yy295; + default: goto yy18; + } +yy128: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'B': goto yy289; + case 'a': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'b': goto yy296; + default: goto yy18; + } +yy129: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'F': goto yy290; + case 'R': goto yy291; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'f': goto yy297; + case 'r': goto yy298; + default: goto yy18; + } +yy130: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'U': goto yy292; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'u': goto yy299; + default: goto yy18; + } +yy131: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'I': goto yy293; + case 'O': goto yy295; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'i': goto yy300; + case 'o': goto yy301; + default: goto yy18; + } +yy132: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'T': goto yy302; + default: goto yy18; + } +yy133: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21); + yych = *YYCURSOR; +yy134: + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy133; + case '0': + case '1': + case '2': goto yy135; + case '3': goto yy137; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy138; + default: goto yy56; + } +yy135: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': goto yy305; + case '1': goto yy306; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy307; + default: goto yy304; + } +yy136: +#line 1362 "ext/date/lib/parse_date.re" + { + 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; + } +#line 5869 "" +yy137: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': goto yy305; + case '1': goto yy306; + case '2': goto yy309; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy310; + default: goto yy304; + } +yy138: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': goto yy311; + case '1': goto yy312; + case '2': goto yy309; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy310; + default: goto yy304; + } +yy139: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'I': goto yy313; + default: goto yy18; + } +yy140: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + default: goto yy18; + } +yy141: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'N': + case 'n': goto yy314; + default: goto yy18; + } +yy142: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'L': + case 'l': goto yy315; + case 'N': + case 'n': goto yy316; + default: goto yy18; + } +yy143: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'N': goto yy314; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'n': goto yy317; + default: goto yy18; + } +yy144: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'L': goto yy315; + case 'N': goto yy316; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'l': goto yy318; + case 'n': goto yy319; + default: goto yy18; + } +yy145: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'S': + case 's': goto yy320; + default: goto yy18; + } +yy146: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'S': goto yy320; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 's': goto yy321; + default: goto yy18; + } +yy147: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'z': goto yy270; + case 'R': + case 'r': goto yy322; + case 'Y': + case 'y': goto yy323; + default: goto yy18; + } +yy148: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'D': + case 'd': goto yy324; + default: goto yy18; + } +yy149: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'N': + case 'n': goto yy293; + default: goto yy18; + } +yy150: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Z': goto yy270; + case 'R': goto yy322; + case 'Y': goto yy323; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'z': goto yy277; + case 'r': goto yy325; + case 'y': goto yy326; + default: goto yy18; + } +yy151: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'D': goto yy324; + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'd': goto yy327; + default: goto yy18; + } +yy152: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'N': goto yy293; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'n': goto yy300; + default: goto yy18; + } +yy153: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'y': + case 'z': goto yy270; + case 'X': + case 'x': goto yy328; + default: goto yy18; + } +yy154: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'N': + case 'n': goto yy290; + default: goto yy18; + } +yy155: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'x': + case 'y': + case 'z': goto yy270; + case 'O': + case 'o': goto yy329; + case 'V': + case 'v': goto yy283; + case 'W': + case 'w': goto yy330; + default: goto yy18; + } +yy156: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'Y': + case 'Z': goto yy270; + case 'X': goto yy328; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'y': + case 'z': goto yy277; + case 'x': goto yy332; + default: goto yy18; + } +yy157: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'N': goto yy290; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'n': goto yy297; + default: goto yy18; + } +yy158: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'O': goto yy329; + case 'V': goto yy283; + case 'W': goto yy330; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'x': + case 'y': + case 'z': goto yy277; + case 'o': goto yy333; + case 'v': goto yy284; + case 'w': goto yy334; + default: goto yy18; + } +yy159: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'T': + case 't': goto yy335; + default: goto yy18; + } +yy160: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'T': goto yy335; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 't': goto yy336; + default: goto yy18; + } +yy161: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'E': + case 'e': goto yy337; + default: goto yy18; + } +yy162: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'E': goto yy337; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'e': goto yy338; + default: goto yy18; + } +yy163: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'T': + case 't': goto yy339; + default: goto yy18; + } +yy164: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'C': + case 'c': goto yy340; + case 'P': + case 'p': goto yy341; + case 'V': + case 'v': goto yy342; + default: goto yy18; + } +yy165: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'y': + case 'z': goto yy270; + case 'X': + case 'x': goto yy290; + default: goto yy18; + } +yy166: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'T': goto yy339; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 't': goto yy343; + default: goto yy18; + } +yy167: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'C': goto yy340; + case 'P': goto yy341; + case 'V': goto yy342; + case 'a': + case 'b': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'c': goto yy344; + case 'p': goto yy345; + case 'v': goto yy346; + default: goto yy18; + } +yy168: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'Y': + case 'Z': goto yy270; + case 'X': goto yy290; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'y': + case 'z': goto yy277; + case 'x': goto yy297; + default: goto yy18; + } +yy169: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy72; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy347; + default: goto yy56; + } +yy170: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy72; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy347; + default: goto yy56; + } +yy171: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy72; + default: goto yy56; + } +yy172: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'I': + case 'i': goto yy348; + case 'U': + case 'u': goto yy349; + default: goto yy18; + } +yy173: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'D': + case 'd': goto yy350; + case 'M': + case 'm': goto yy351; + default: goto yy18; + } +yy174: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'E': + case 'e': goto yy352; + default: goto yy18; + } +yy175: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'E': + case 'e': goto yy353; + default: goto yy18; + } +yy176: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'I': goto yy348; + case 'U': goto yy349; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'i': goto yy354; + case 'u': goto yy355; + default: goto yy18; + } +yy177: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'D': goto yy350; + case 'M': goto yy351; + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'd': goto yy356; + case 'm': goto yy357; + default: goto yy18; + } +yy178: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'E': goto yy352; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'e': goto yy358; + default: goto yy18; + } +yy179: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'E': goto yy353; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'e': goto yy359; + default: goto yy18; + } +yy180: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'I': goto yy360; + default: goto yy18; + } +yy181: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'D': + case 'd': goto yy361; + case 'E': + case 'e': goto yy362; + default: goto yy18; + } +yy182: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'D': goto yy361; + case 'E': goto yy362; + case 'a': + case 'b': + case 'c': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 'd': goto yy363; + case 'e': goto yy364; + default: goto yy18; + } +yy183: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy270; + case 'S': + case 's': goto yy365; + default: goto yy18; + } +yy184: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy270; + case 'S': goto yy365; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy277; + case 's': goto yy366; + default: goto yy18; + } +yy185: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy186: + switch (yych) { + case '\t': + case ' ': goto yy185; + case 'D': + case 'd': goto yy187; + case 'F': + case 'f': goto yy188; + case 'H': + case 'h': goto yy76; + case 'M': + case 'm': goto yy189; + case 'S': + case 's': goto yy190; + case 'T': + case 't': goto yy84; + case 'W': + case 'w': goto yy86; + case 'Y': + case 'y': goto yy88; + default: goto yy56; + } +yy187: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy231; + default: goto yy56; + } +yy188: + yych = *++YYCURSOR; + switch (yych) { + case 'O': + case 'o': goto yy234; + case 'R': + case 'r': goto yy235; + default: goto yy56; + } +yy189: + yych = *++YYCURSOR; + switch (yych) { + case 'I': + case 'i': goto yy246; + case 'O': + case 'o': goto yy247; + default: goto yy56; + } +yy190: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy250; + case 'E': + case 'e': goto yy367; + case 'U': + case 'u': goto yy252; + default: goto yy56; + } +yy191: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy368; + case '6': + case '7': + case '8': + case '9': goto yy369; + case ':': goto yy192; + default: goto yy18; + } +yy192: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy370; + case '6': + case '7': + case '8': + case '9': goto yy107; + default: goto yy18; + } +yy193: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy369; + default: goto yy18; + } +yy194: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy371; + default: goto yy18; + } +yy195: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy196: + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy195; + case 'A': + case 'a': goto yy73; + case 'D': + case 'd': goto yy203; + case 'F': + case 'f': goto yy204; + case 'I': goto yy77; + case 'J': + case 'j': goto yy79; + case 'M': + case 'm': goto yy205; + case 'N': + case 'n': goto yy81; + case 'O': + case 'o': goto yy82; + case 'S': + case 's': goto yy206; + case 'V': goto yy85; + case 'X': goto yy87; + default: goto yy56; + } +yy197: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy372; + case '.': goto yy373; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy199; + default: goto yy56; + } +yy198: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy372; + case '.': goto yy373; + case '0': + case '1': + case '2': goto yy199; + default: goto yy56; + } +yy199: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy372; + case '.': goto yy373; + default: goto yy56; + } +yy200: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy374; + case '.': goto yy372; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy202; + default: goto yy56; + } +yy201: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy374; + case '.': goto yy372; + case '0': + case '1': + case '2': goto yy202; + default: goto yy56; + } +yy202: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy374; + case '.': goto yy372; + default: goto yy56; + } +yy203: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy232; + default: goto yy56; + } +yy204: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy233; + default: goto yy56; + } +yy205: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy245; + default: goto yy56; + } +yy206: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy375; + default: goto yy56; + } +yy207: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy372; + case '.': goto yy376; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy211; + case ':': goto yy377; + default: goto yy208; + } +yy208: +#line 1131 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->s = timelib_get_nr((char **) &ptr, 2); + + if (*ptr == '.') { + s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + } + } + + if (*ptr != '\0') { + s->time->z = timelib_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; + } +#line 8909 "" +yy209: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy372; + case '.': goto yy376; + case '0': + case '1': + case '2': goto yy211; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy228; + case ':': goto yy377; + default: goto yy208; + } +yy210: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy372; + case '.': goto yy376; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy228; + case ':': goto yy377; + default: goto yy208; + } +yy211: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy372; + case '.': goto yy376; + case ':': goto yy377; + default: goto yy208; + } +yy212: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '/': goto yy378; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy215; + case 'n': + case 'r': goto yy379; + case 's': goto yy380; + case 't': goto yy381; + default: goto yy213; + } +yy213: +#line 1223 "ext/date/lib/parse_date.re" + { + 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; + } +#line 8994 "" +yy214: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '/': goto yy378; + case '0': + case '1': goto yy215; + case 'n': + case 'r': goto yy379; + case 's': goto yy380; + case 't': goto yy381; + default: goto yy213; + } +yy215: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '/': goto yy378; + case 'n': + case 'r': goto yy379; + case 's': goto yy380; + case 't': goto yy381; + default: goto yy213; + } +yy216: + yych = *++YYCURSOR; + switch (yych) { + case 'P': + case 'p': goto yy382; + case 'U': + case 'u': goto yy383; + default: goto yy56; + } +yy217: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy384; + default: goto yy56; + } +yy218: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy385; + default: goto yy56; + } +yy219: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy386; + case 'U': + case 'u': goto yy387; + default: goto yy56; + } +yy220: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy388; + default: goto yy56; + } +yy221: + yych = *++YYCURSOR; + switch (yych) { + case 'O': + case 'o': goto yy389; + default: goto yy56; + } +yy222: + yych = *++YYCURSOR; + switch (yych) { + case 'C': + case 'c': goto yy390; + default: goto yy56; + } +yy223: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy391; + default: goto yy56; + } +yy224: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy392; + case '1': goto yy393; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy202; + default: goto yy196; + } +yy225: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy394; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy395; + default: goto yy186; + } +yy226: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy394; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy397; + default: goto yy186; + } +yy227: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy377; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy228; + default: goto yy208; + } +yy228: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy377; + default: goto yy208; + } +yy229: + yych = *++YYCURSOR; + switch (yych) { + case 'R': + case 'r': goto yy399; + default: goto yy56; + } +yy230: + yych = *++YYCURSOR; + switch (yych) { + case 'G': + case 'g': goto yy400; + default: goto yy56; + } +yy231: + yych = *++YYCURSOR; + switch (yych) { + case 'Y': + case 'y': goto yy401; + default: goto yy56; + } +yy232: + yych = *++YYCURSOR; + switch (yych) { + case 'C': + case 'c': goto yy403; + default: goto yy56; + } +yy233: + yych = *++YYCURSOR; + switch (yych) { + case 'B': + case 'b': goto yy404; + default: goto yy56; + } +yy234: + yych = *++YYCURSOR; + switch (yych) { + case 'R': + case 'r': goto yy405; + default: goto yy56; + } +yy235: + yych = *++YYCURSOR; + switch (yych) { + case 'I': + case 'i': goto yy406; + default: goto yy56; + } +yy236: + yych = *++YYCURSOR; + switch (yych) { + case 'U': + case 'u': goto yy407; + default: goto yy56; + } +yy237: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); + yych = *YYCURSOR; + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + default: goto yy56; + } +yy239: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy408; + default: goto yy240; + } +yy240: +#line 1293 "ext/date/lib/parse_date.re" + { + 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; + } +#line 9259 "" +yy241: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'I': goto yy242; + default: goto yy78; + } +yy242: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + default: goto yy78; + } +yy243: + yych = *++YYCURSOR; + switch (yych) { + case 'N': + case 'n': goto yy409; + default: goto yy56; + } +yy244: + yych = *++YYCURSOR; + switch (yych) { + case 'L': + case 'l': goto yy410; + case 'N': + case 'n': goto yy411; + default: goto yy56; + } +yy245: + yych = *++YYCURSOR; + switch (yych) { + case 'R': + case 'r': goto yy412; + case 'Y': + case 'y': goto yy242; + default: goto yy56; + } +yy246: + yych = *++YYCURSOR; + switch (yych) { + case 'N': + case 'n': goto yy413; + default: goto yy56; + } +yy247: + yych = *++YYCURSOR; + switch (yych) { + case 'N': + case 'n': goto yy414; + default: goto yy56; + } +yy248: + yych = *++YYCURSOR; + switch (yych) { + case 'V': + case 'v': goto yy403; + default: goto yy56; + } +yy249: + yych = *++YYCURSOR; + switch (yych) { + case 'T': + case 't': goto yy415; + default: goto yy56; + } +yy250: + yych = *++YYCURSOR; + switch (yych) { + case 'T': + case 't': goto yy416; + default: goto yy56; + } +yy251: + yych = *++YYCURSOR; + switch (yych) { + case 'C': + case 'c': goto yy417; + case 'P': + case 'p': goto yy418; + default: goto yy56; + } +yy252: + yych = *++YYCURSOR; + switch (yych) { + case 'N': + case 'n': goto yy406; + default: goto yy56; + } +yy253: + yych = *++YYCURSOR; + switch (yych) { + case 'U': + case 'u': goto yy419; + default: goto yy56; + } +yy254: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy420; + default: goto yy56; + } +yy255: + yych = *++YYCURSOR; + switch (yych) { + case 'D': + case 'd': goto yy421; + case 'E': + case 'e': goto yy422; + default: goto yy56; + } +yy256: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy407; + default: goto yy56; + } +yy257: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case '.': goto yy268; + case '-': goto yy423; + case '/': goto yy263; + default: goto yy196; + } +yy258: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case '.': goto yy268; + case '-': goto yy423; + case '/': goto yy263; + case 'U': + case 'u': goto yy419; + default: goto yy196; + } +yy259: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy372; + case '.': goto yy424; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy425; + case ':': goto yy426; + default: goto yy208; + } +yy260: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy372; + case '.': goto yy424; + case '0': + case '1': + case '2': goto yy425; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy427; + case ':': goto yy426; + default: goto yy208; + } +yy261: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy372; + case '.': goto yy424; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy427; + case ':': goto yy426; + default: goto yy208; + } +yy262: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy372; + case '.': goto yy424; + case ':': goto yy426; + default: goto yy208; + } +yy263: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy216; + case 'D': + case 'd': goto yy217; + case 'F': + case 'f': goto yy218; + case 'J': + case 'j': goto yy219; + case 'M': + case 'm': goto yy220; + case 'N': + case 'n': goto yy221; + case 'O': + case 'o': goto yy222; + case 'S': + case 's': goto yy223; + default: goto yy56; + } +yy264: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy426; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy428; + default: goto yy208; + } +yy265: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy426; + default: goto yy208; + } +yy266: + yych = *++YYCURSOR; + switch (yych) { + case 'M': + case 'm': goto yy267; + default: goto yy56; + } +yy267: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + case '\t': + case ' ': goto yy429; + case '.': goto yy431; + default: goto yy56; + } +yy268: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy197; + case '1': goto yy198; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy199; + default: goto yy196; + } +yy269: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy432; + case '1': goto yy433; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy434; + case 'A': + case 'a': goto yy435; + case 'D': + case 'd': goto yy436; + case 'F': + case 'f': goto yy437; + case 'J': + case 'j': goto yy438; + case 'M': + case 'm': goto yy439; + case 'N': + case 'n': goto yy440; + case 'O': + case 'o': goto yy441; + case 'S': + case 's': goto yy442; + default: goto yy56; + } +yy270: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + default: goto yy18; + } +yy271: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + default: goto yy272; + } +yy272: +#line 1536 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("ago"); + TIMELIB_INIT; + s->time->relative.y = 0 - s->time->relative.y; + s->time->relative.m = 0 - s->time->relative.m; + s->time->relative.d = 0 - s->time->relative.d; + s->time->relative.h = 0 - s->time->relative.h; + s->time->relative.i = 0 - s->time->relative.i; + s->time->relative.s = 0 - s->time->relative.s; + s->time->relative.weekday = 0 - s->time->relative.weekday; + if (s->time->relative.weekday == 0) { + s->time->relative.weekday = -7; + } + if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) { + s->time->relative.special.amount = 0 - s->time->relative.special.amount; + } + TIMELIB_DEINIT; + return TIMELIB_AGO; + } +#line 9739 "" +yy273: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy444; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'I': + case 'i': goto yy445; + default: goto yy274; + } +yy274: +#line 1616 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("monthtext"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->m = timelib_lookup_month((char **) &ptr); + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } +#line 9823 "" +yy275: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy444; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'U': + case 'u': goto yy446; + default: goto yy274; + } +yy276: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy447; + default: goto yy56; + } +yy277: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + default: goto yy18; + } +yy278: + yyaccept = 8; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + default: goto yy272; + } +yy279: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy450; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'I': goto yy445; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'i': goto yy451; + default: goto yy274; + } +yy280: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy450; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'U': goto yy446; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'u': goto yy452; + default: goto yy274; + } +yy281: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'K': + case 'k': goto yy453; + default: goto yy18; + } +yy282: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'K': goto yy453; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'k': goto yy454; + default: goto yy18; + } +yy283: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy444; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'E': + case 'e': goto yy455; + default: goto yy274; + } +yy284: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy450; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'E': goto yy455; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'e': goto yy456; + default: goto yy274; + } +yy285: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'H': + case 'h': goto yy457; + default: goto yy18; + } +yy286: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'V': + case 'v': goto yy458; + default: goto yy18; + } +yy287: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'H': goto yy457; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'h': goto yy459; + default: goto yy18; + } +yy288: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'V': goto yy458; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'v': goto yy460; + default: goto yy18; + } +yy289: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy444; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'R': + case 'r': goto yy461; + default: goto yy274; + } +yy290: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'T': + case 't': goto yy462; + default: goto yy18; + } +yy291: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'S': + case 's': goto yy463; + default: goto yy18; + } +yy292: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'R': + case 'r': goto yy464; + default: goto yy18; + } +yy293: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'D': + case 'd': goto yy465; + default: goto yy294; + } +yy294: +#line 1557 "ext/date/lib/parse_date.re" + { + const timelib_relunit* relunit; + DEBUG_OUTPUT("daytext"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_HAVE_WEEKDAY_RELATIVE(); + TIMELIB_UNHAVE_TIME(); + relunit = timelib_lookup_relunit((char**) &ptr); + s->time->relative.weekday = relunit->multiplier; + if (s->time->relative.weekday_behavior != 2) { + s->time->relative.weekday_behavior = 1; + } + + TIMELIB_DEINIT; + return TIMELIB_WEEKDAY; + } +#line 11061 "" +yy295: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'N': + case 'n': goto yy466; + default: goto yy18; + } +yy296: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy450; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'R': goto yy461; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'r': goto yy467; + default: goto yy274; + } +yy297: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'T': goto yy462; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 't': goto yy468; + default: goto yy18; + } +yy298: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'S': goto yy463; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 's': goto yy469; + default: goto yy18; + } +yy299: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'R': goto yy464; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'r': goto yy470; + default: goto yy18; + } +yy300: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'D': goto yy465; + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'd': goto yy471; + default: goto yy294; + } +yy301: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'N': goto yy466; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'n': goto yy472; + default: goto yy18; + } +yy302: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '+': + case '-': goto yy473; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + default: goto yy18; + } +yy303: + yyaccept = 4; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); + yych = *YYCURSOR; +yy304: + switch (yych) { + case '\t': + case ' ': + case ',': + case '.': + case 'd': + case 'h': + case 'n': + case 'r': + case 's': + case 't': goto yy303; + case '0': goto yy474; + case '1': goto yy475; + case '2': goto yy476; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy477; + case 'T': goto yy308; + default: goto yy136; + } +yy305: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': goto yy478; + case '0': goto yy479; + case '1': goto yy480; + case '2': goto yy481; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy482; + case ':': goto yy483; + default: goto yy304; + } +yy306: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': goto yy484; + case '0': goto yy485; + case '1': goto yy480; + case '2': goto yy481; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy482; + case ':': goto yy486; + default: goto yy304; + } +yy307: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': goto yy484; + case '0': goto yy479; + case '1': goto yy480; + case '2': goto yy481; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy482; + case ':': goto yy486; + default: goto yy304; + } +yy308: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': goto yy487; + case '2': goto yy488; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy489; + default: goto yy56; + } +yy309: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy486; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy490; + case '5': + case '6': + case '7': + case '8': + case '9': goto yy491; + default: goto yy56; + } +yy310: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy486; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy491; + default: goto yy56; + } +yy311: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy483; + case '0': goto yy490; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy482; + default: goto yy56; + } +yy312: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy486; + case '0': + case '1': + case '2': goto yy482; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy490; + default: goto yy56; + } +yy313: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + default: goto yy18; + } +yy314: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy444; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'U': + case 'u': goto yy492; + default: goto yy274; + } +yy315: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy444; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'z': goto yy443; + case 'Y': + case 'y': goto yy493; + default: goto yy274; + } +yy316: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy444; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'E': + case 'e': goto yy493; + default: goto yy274; + } +yy317: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy450; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'U': goto yy492; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'u': goto yy494; + default: goto yy274; + } +yy318: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy450; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Z': goto yy443; + case 'Y': goto yy493; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'z': goto yy449; + case 'y': goto yy495; + default: goto yy274; + } +yy319: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy450; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'E': goto yy493; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'e': goto yy495; + default: goto yy274; + } +yy320: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'T': + case 't': goto yy496; + default: goto yy18; + } +yy321: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'T': goto yy496; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 't': goto yy497; + default: goto yy18; + } +yy322: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy444; + case 'A': + case 'B': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'C': + case 'c': goto yy498; + default: goto yy274; + } +yy323: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy444; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + default: goto yy274; + } +yy324: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'N': + case 'n': goto yy499; + default: goto yy18; + } +yy325: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy450; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'C': goto yy498; + case 'a': + case 'b': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'c': goto yy500; + default: goto yy274; + } +yy326: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy450; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + default: goto yy274; + } +yy327: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'N': goto yy499; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'n': goto yy501; + default: goto yy18; + } +yy328: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'T': + case 't': goto yy502; + default: goto yy18; + } +yy329: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'N': + case 'n': goto yy503; + default: goto yy18; + } +yy330: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + default: goto yy331; + } +yy331: +#line 963 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("now"); + TIMELIB_INIT; + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +#line 12969 "" +yy332: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'T': goto yy502; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 't': goto yy505; + default: goto yy18; + } +yy333: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'N': goto yy503; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'n': goto yy506; + default: goto yy18; + } +yy334: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + default: goto yy331; + } +yy335: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy444; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'O': + case 'o': goto yy507; + default: goto yy274; + } +yy336: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy450; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'O': goto yy507; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'o': goto yy508; + default: goto yy274; + } +yy337: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'V': + case 'v': goto yy509; + default: goto yy18; + } +yy338: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'V': goto yy509; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'v': goto yy510; + default: goto yy18; + } +yy339: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'U': + case 'u': goto yy511; + default: goto yy294; + } +yy340: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'O': + case 'o': goto yy512; + default: goto yy18; + } +yy341: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy444; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'T': + case 't': goto yy513; + default: goto yy274; + } +yy342: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'E': + case 'e': goto yy514; + default: goto yy18; + } +yy343: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'U': goto yy511; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'u': goto yy515; + default: goto yy294; + } +yy344: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'O': goto yy512; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'o': goto yy516; + default: goto yy18; + } +yy345: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy450; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'T': goto yy513; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 't': goto yy517; + default: goto yy274; + } +yy346: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'E': goto yy514; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'e': goto yy518; + default: goto yy18; + } +yy347: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy72; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy519; + default: goto yy56; + } +yy348: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'R': + case 'r': goto yy520; + case 'S': + case 's': goto yy502; + default: goto yy18; + } +yy349: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'R': + case 'r': goto yy521; + default: goto yy294; + } +yy350: yych = *++YYCURSOR; - goto yy12; -yy54: - YYDEBUG(54, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; - YYDEBUG(55, *YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy54; - } - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy59; - if (yych >= ' ') goto yy59; - } else { - if (yych == 'D') goto yy64; - if (yych >= 'F') goto yy65; - } - } else { - if (yych <= 'M') { - if (yych == 'H') goto yy63; - if (yych >= 'M') goto yy62; - } else { - if (yych <= 'S') { - if (yych >= 'S') goto yy61; - } else { - if (yych <= 'T') goto yy68; - if (yych >= 'W') goto yy67; - } - } - } - } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy66; - if (yych >= 'd') goto yy64; - } else { - if (yych <= 'f') { - if (yych >= 'f') goto yy65; - } else { - if (yych == 'h') goto yy63; - } - } - } else { - if (yych <= 't') { - if (yych <= 'm') goto yy62; - if (yych <= 'r') goto yy56; - if (yych <= 's') goto yy61; - goto yy68; - } else { - if (yych <= 'w') { - if (yych >= 'w') goto yy67; - } else { - if (yych == 'y') goto yy66; - } - } - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'a': goto yy522; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + default: goto yy18; } -yy56: - YYDEBUG(56, *YYCURSOR); - 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 yy72; - } else { - goto yy166; - } - } - } else { - if (yyaccept <= 6) { - if (yyaccept <= 5) { - goto yy193; - } else { - goto yy198; - } - } else { - if (yyaccept <= 7) { - goto yy222; - } else { - goto yy294; - } - } - } - } else { - if (yyaccept <= 12) { - if (yyaccept <= 10) { - if (yyaccept <= 9) { - goto yy392; - } else { - goto yy475; - } - } else { - if (yyaccept <= 11) { - goto yy490; - } else { - goto yy611; - } - } - } else { - if (yyaccept <= 14) { - if (yyaccept <= 13) { - goto yy656; - } else { - goto yy666; - } - } else { - if (yyaccept <= 15) { - goto yy763; - } else { - goto yy783; - } - } - } - } - } else { - if (yyaccept <= 25) { - if (yyaccept <= 21) { - if (yyaccept <= 19) { - if (yyaccept <= 18) { - if (yyaccept <= 17) { - goto yy814; - } else { - goto yy821; - } - } else { - goto yy848; - } - } else { - if (yyaccept <= 20) { - goto yy793; - } else { - goto yy454; - } - } - } else { - if (yyaccept <= 23) { - if (yyaccept <= 22) { - goto yy973; - } else { - goto yy842; - } - } else { - if (yyaccept <= 24) { - goto yy1067; - } else { - goto yy1075; - } - } - } - } else { - if (yyaccept <= 29) { - if (yyaccept <= 27) { - if (yyaccept <= 26) { - goto yy1117; - } else { - goto yy1141; - } - } else { - if (yyaccept <= 28) { - goto yy1294; - } else { - goto yy1417; - } - } - } else { - if (yyaccept <= 31) { - if (yyaccept <= 30) { - goto yy1420; - } else { - goto yy1500; - } - } else { - if (yyaccept <= 32) { - goto yy1508; - } else { - goto yy1531; - } - } - } - } +yy351: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'O': + case 'o': goto yy523; + default: goto yy18; + } +yy352: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'S': + case 's': goto yy524; + default: goto yy294; } -yy57: - YYDEBUG(57, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(58, *YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy57; +yy353: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'L': + case 'l': goto yy525; + default: goto yy18; } - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy54; - goto yy56; -yy59: - YYDEBUG(59, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy60: - YYDEBUG(60, *YYCURSOR); - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy59; - if (yych <= 0x1F) goto yy56; - goto yy59; - } else { - if (yych == 'D') goto yy64; - if (yych <= 'E') goto yy56; - goto yy65; - } - } else { - if (yych <= 'M') { - if (yych == 'H') goto yy63; - if (yych <= 'L') goto yy56; - goto yy62; - } else { - if (yych <= 'S') { - if (yych <= 'R') goto yy56; - } else { - if (yych <= 'T') goto yy68; - if (yych <= 'V') goto yy56; - goto yy67; - } - } - } - } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy66; - if (yych <= 'c') goto yy56; - goto yy64; - } else { - if (yych <= 'f') { - if (yych <= 'e') goto yy56; - goto yy65; - } else { - if (yych == 'h') goto yy63; - goto yy56; - } - } - } else { - if (yych <= 't') { - if (yych <= 'm') goto yy62; - if (yych <= 'r') goto yy56; - if (yych >= 't') goto yy68; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy56; - goto yy67; - } else { - if (yych == 'y') goto yy66; - goto yy56; - } - } - } +yy354: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'R': goto yy520; + case 'S': goto yy502; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'r': goto yy526; + case 's': goto yy505; + default: goto yy18; } -yy61: - YYDEBUG(61, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'A') goto yy126; - goto yy56; - } else { - if (yych <= 'E') goto yy127; - if (yych <= 'T') goto yy56; - goto yy125; - } - } else { - if (yych <= 'd') { - if (yych == 'a') goto yy126; - goto yy56; - } else { - if (yych <= 'e') goto yy127; - if (yych == 'u') goto yy125; - goto yy56; - } +yy355: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'R': goto yy521; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'r': goto yy527; + default: goto yy294; } -yy62: - YYDEBUG(62, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych == 'I') goto yy117; - if (yych <= 'N') goto yy56; - goto yy116; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy56; - goto yy117; - } else { - if (yych == 'o') goto yy116; - goto yy56; - } +yy356: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': goto yy522; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'a': goto yy528; + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + default: goto yy18; } -yy63: - YYDEBUG(63, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy114; - if (yych == 'o') goto yy114; - goto yy56; -yy64: - YYDEBUG(64, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy113; - if (yych == 'a') goto yy113; - goto yy56; -yy65: - YYDEBUG(65, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych == 'O') goto yy98; - if (yych <= 'Q') goto yy56; - goto yy97; - } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy56; - goto yy98; - } else { - if (yych == 'r') goto yy97; - goto yy56; - } +yy357: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'O': goto yy523; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'o': goto yy529; + default: goto yy18; } -yy66: - YYDEBUG(66, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy94; - if (yych == 'e') goto yy94; - goto yy56; -yy67: - YYDEBUG(67, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy82; - if (yych == 'e') goto yy82; - goto yy56; -yy68: - YYDEBUG(68, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'H') goto yy69; - if (yych <= 'T') goto yy56; - goto yy70; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy56; - } else { - if (yych == 'u') goto yy70; - goto yy56; - } +yy358: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'S': goto yy524; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 's': goto yy530; + default: goto yy294; } -yy69: - YYDEBUG(69, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy77; - if (yych == 'u') goto yy77; - goto yy56; -yy70: - YYDEBUG(70, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy71; - if (yych != 'e') goto yy56; -yy71: - YYDEBUG(71, *YYCURSOR); - yyaccept = 3; +yy359: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'S') goto yy73; - if (yych == 's') goto yy73; -yy72: - YYDEBUG(72, *YYCURSOR); -#line 1694 "ext/date/lib/parse_date.re" - { - timelib_ull i; - DEBUG_OUTPUT("relative"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - - while(*ptr) { - i = timelib_get_unsigned_nr((char **) &ptr, 24); - timelib_eat_spaces((char **) &ptr); - timelib_set_relative((char **) &ptr, i, 1, s); - } - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'L': goto yy525; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'l': goto yy531; + default: goto yy18; } -#line 2774 "ext/date/lib/parse_date.c" -yy73: - YYDEBUG(73, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy74; - if (yych != 'd') goto yy56; -yy74: - YYDEBUG(74, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy75; - if (yych != 'a') goto yy56; -yy75: - YYDEBUG(75, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy76; - if (yych != 'y') goto yy56; -yy76: - YYDEBUG(76, *YYCURSOR); - yych = *++YYCURSOR; - goto yy72; -yy77: - YYDEBUG(77, *YYCURSOR); - yyaccept = 3; +yy360: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'R') goto yy78; - if (yych != 'r') goto yy72; -yy78: - YYDEBUG(78, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy79; - if (yych != 's') goto yy56; -yy79: - YYDEBUG(79, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy80; - if (yych != 'd') goto yy56; -yy80: - YYDEBUG(80, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy81; - if (yych != 'a') goto yy56; -yy81: - YYDEBUG(81, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy76; - if (yych == 'y') goto yy76; - goto yy56; -yy82: - YYDEBUG(82, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= 'C') goto yy56; - if (yych <= 'D') goto yy84; - } else { - if (yych <= 'c') goto yy56; - if (yych <= 'd') goto yy84; - if (yych >= 'f') goto yy56; + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'I': goto yy532; + default: goto yy18; } - YYDEBUG(83, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'K') goto yy90; - if (yych == 'k') goto yy90; - goto yy56; -yy84: - YYDEBUG(84, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'N') goto yy85; - if (yych != 'n') goto yy72; -yy85: - YYDEBUG(85, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy86; - if (yych != 'e') goto yy56; -yy86: - YYDEBUG(86, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy87; - if (yych != 's') goto yy56; -yy87: - YYDEBUG(87, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy88; - if (yych != 'd') goto yy56; -yy88: - YYDEBUG(88, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy89; - if (yych != 'a') goto yy56; -yy89: - YYDEBUG(89, *YYCURSOR); +yy361: yych = *++YYCURSOR; - if (yych == 'Y') goto yy76; - if (yych == 'y') goto yy76; - goto yy56; -yy90: - YYDEBUG(90, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == 'D') goto yy91; - if (yych <= 'R') goto yy72; - goto yy76; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy72; - } else { - if (yych == 's') goto yy76; - goto yy72; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'N': + case 'n': goto yy533; + default: goto yy294; } -yy91: - YYDEBUG(91, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy92; - if (yych != 'a') goto yy56; -yy92: - YYDEBUG(92, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy93; - if (yych != 'y') goto yy56; -yy93: - YYDEBUG(93, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy76; - if (yych == 's') goto yy76; - goto yy72; -yy94: - YYDEBUG(94, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy95; - if (yych != 'a') goto yy56; -yy95: - YYDEBUG(95, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy96; - if (yych != 'r') goto yy56; -yy96: - YYDEBUG(96, *YYCURSOR); +yy362: yych = *++YYCURSOR; - if (yych == 'S') goto yy76; - if (yych == 's') goto yy76; - goto yy72; -yy97: - YYDEBUG(97, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy110; - if (yych == 'i') goto yy110; - goto yy56; -yy98: - YYDEBUG(98, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy99; - if (yych != 'r') goto yy56; -yy99: - YYDEBUG(99, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy100; - if (yych != 't') goto yy56; -yy100: - YYDEBUG(100, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'H') goto yy102; - if (yych <= 'M') goto yy56; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy56; - goto yy102; - } else { - if (yych != 'n') goto yy56; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'K': + case 'k': goto yy534; + default: goto yy18; } - YYDEBUG(101, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy107; - if (yych == 'i') goto yy107; - goto yy56; -yy102: - YYDEBUG(102, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy103; - if (yych != 'n') goto yy56; -yy103: - YYDEBUG(103, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy104; - if (yych != 'i') goto yy56; -yy104: - YYDEBUG(104, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy105; - if (yych != 'g') goto yy56; -yy105: - YYDEBUG(105, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy106; - if (yych != 'h') goto yy56; -yy106: - YYDEBUG(106, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy96; - if (yych == 't') goto yy96; - goto yy56; -yy107: - YYDEBUG(107, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy108; - if (yych != 'g') goto yy56; -yy108: - YYDEBUG(108, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy109; - if (yych != 'h') goto yy56; -yy109: - YYDEBUG(109, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy96; - if (yych == 't') goto yy96; - goto yy56; -yy110: - YYDEBUG(110, *YYCURSOR); - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'D') goto yy111; - if (yych != 'd') goto yy72; -yy111: - YYDEBUG(111, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy112; - if (yych != 'a') goto yy56; -yy112: - YYDEBUG(112, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy76; - if (yych == 'y') goto yy76; - goto yy56; -yy113: - YYDEBUG(113, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy96; - if (yych == 'y') goto yy96; - goto yy56; -yy114: - YYDEBUG(114, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy115; - if (yych != 'u') goto yy56; -yy115: - YYDEBUG(115, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy96; - if (yych == 'r') goto yy96; - goto yy56; -yy116: - YYDEBUG(116, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy121; - if (yych == 'n') goto yy121; - goto yy56; -yy117: - YYDEBUG(117, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy118; - if (yych != 'n') goto yy56; -yy118: - YYDEBUG(118, *YYCURSOR); - yyaccept = 3; +yy363: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych == 'S') goto yy76; - if (yych <= 'T') goto yy72; - } else { - if (yych <= 's') { - if (yych <= 'r') goto yy72; - goto yy76; - } else { - if (yych != 'u') goto yy72; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'N': goto yy533; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'n': goto yy535; + default: goto yy294; } - YYDEBUG(119, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy120; - if (yych != 't') goto yy56; -yy120: - YYDEBUG(120, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy96; - if (yych == 'e') goto yy96; - goto yy56; -yy121: - YYDEBUG(121, *YYCURSOR); - yyaccept = 3; +yy364: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych == 'D') goto yy122; - if (yych <= 'S') goto yy72; - goto yy123; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy72; - } else { - if (yych == 't') goto yy123; - goto yy72; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'K': goto yy534; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 'k': goto yy536; + default: goto yy18; } -yy122: - YYDEBUG(122, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy124; - if (yych == 'a') goto yy124; - goto yy56; -yy123: - YYDEBUG(123, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy96; - if (yych == 'h') goto yy96; - goto yy56; -yy124: - YYDEBUG(124, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy76; - if (yych == 'y') goto yy76; - goto yy56; -yy125: - YYDEBUG(125, *YYCURSOR); +yy365: yych = *++YYCURSOR; - if (yych == 'N') goto yy136; - if (yych == 'n') goto yy136; - goto yy56; -yy126: - YYDEBUG(126, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy131; - if (yych == 't') goto yy131; - goto yy56; -yy127: - YYDEBUG(127, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy128; - if (yych != 'c') goto yy56; -yy128: - YYDEBUG(128, *YYCURSOR); - yyaccept = 3; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy443; + case 'T': + case 't': goto yy537; + default: goto yy18; + } +yy366: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == 'O') goto yy129; - if (yych <= 'R') goto yy72; - goto yy76; - } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy72; - } else { - if (yych == 's') goto yy76; - goto yy72; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy443; + case 'T': goto yy537; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy449; + case 't': goto yy538; + default: goto yy18; } -yy129: - YYDEBUG(129, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy130; - if (yych != 'n') goto yy56; -yy130: - YYDEBUG(130, *YYCURSOR); +yy367: yych = *++YYCURSOR; - if (yych == 'D') goto yy96; - if (yych == 'd') goto yy96; - goto yy56; -yy131: - YYDEBUG(131, *YYCURSOR); - yyaccept = 3; + switch (yych) { + case 'C': + case 'c': goto yy417; + default: goto yy56; + } +yy368: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy132; - if (yych != 'u') goto yy72; -yy132: - YYDEBUG(132, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy133; - if (yych != 'r') goto yy56; -yy133: - YYDEBUG(133, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy134; - if (yych != 'd') goto yy56; -yy134: - YYDEBUG(134, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy135; - if (yych != 'a') goto yy56; -yy135: - YYDEBUG(135, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy76; - if (yych == 'y') goto yy76; - goto yy56; -yy136: - YYDEBUG(136, *YYCURSOR); - yyaccept = 3; + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy539; + default: goto yy18; + } +yy369: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'D') goto yy137; - if (yych != 'd') goto yy72; -yy137: - YYDEBUG(137, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy138; - if (yych != 'a') goto yy56; -yy138: - YYDEBUG(138, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy76; - if (yych == 'y') goto yy76; - goto yy56; -yy139: - YYDEBUG(139, *YYCURSOR); - yych = *++YYCURSOR; - goto yy3; -yy140: - YYDEBUG(140, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - if (yych >= '{') goto yy3; + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy540; + default: goto yy18; } -yy141: - YYDEBUG(141, *YYCURSOR); +yy370: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - if (yych >= '{') goto yy3; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy107; + default: goto yy18; } -yy142: - YYDEBUG(142, *YYCURSOR); +yy371: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - if (yych >= '{') goto yy3; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy540; + default: goto yy186; } -yy143: - YYDEBUG(143, *YYCURSOR); +yy372: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - if (yych >= '{') goto yy3; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy541; + default: goto yy56; } -yy144: - YYDEBUG(144, *YYCURSOR); +yy373: yych = *++YYCURSOR; - if (yych == ')') goto yy139; - goto yy3; -yy145: - YYDEBUG(145, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - goto yy147; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy3; - if (yych <= 'Z') goto yy141; - goto yy3; - } else { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy3; - if (yych >= '{') goto yy3; - } - } -yy146: - YYDEBUG(146, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy3; - if (yych <= 'Z') goto yy142; - goto yy3; - } else { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy150; - goto yy3; - } - } -yy147: - YYDEBUG(147, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yybm[0+yych] & 8) { - goto yy148; - } - goto yy56; -yy148: - YYDEBUG(148, *YYCURSOR); - yyaccept = 0; - YYMARKER = ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(149, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy148; - } - if (yych <= '.') { - if (yych == '-') goto yy147; - goto yy3; - } else { - if (yych <= '/') goto yy147; - if (yych == '_') goto yy147; - goto yy3; - } -yy150: - YYDEBUG(150, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - goto yy147; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy3; - if (yych <= 'Z') goto yy143; - goto yy3; - } else { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy3; - if (yych >= '{') goto yy3; - } - } -yy151: - YYDEBUG(151, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - goto yy147; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy3; - if (yych <= 'Z') goto yy144; - goto yy3; - } else { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy3; - if (yych >= '{') goto yy3; - } - } -yy152: - YYDEBUG(152, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy153; - } - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy3; - goto yy147; - } else { - if (yych == '_') goto yy147; - goto yy3; - } - } -yy153: - YYDEBUG(153, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; -yy154: - YYDEBUG(154, *YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy153; - } - if (yych <= '.') { - if (yych == '-') goto yy147; - goto yy56; - } else { - if (yych <= '/') goto yy147; - if (yych == '_') goto yy147; - goto yy56; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy542; + default: goto yy56; } -yy155: - YYDEBUG(155, *YYCURSOR); +yy374: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'Z') goto yy140; - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy140; - goto yy3; + switch (yych) { + case '0': + case '1': + case '2': goto yy543; + case '3': goto yy545; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy546; + default: goto yy56; } -yy156: - YYDEBUG(156, *YYCURSOR); +yy375: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy141; - } else { - if (yych <= 'Z') { - if (yych >= 'U') goto yy141; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'P': + case 'p': goto yy418; + default: goto yy56; } - YYDEBUG(157, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych != '+') goto yy3; - } - } else { - if (yych <= 'Z') { - if (yych <= '-') goto yy158; - if (yych <= '@') goto yy3; - goto yy142; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy142; - goto yy3; - } +yy376: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy547; + case '6': goto yy548; + case '7': + case '8': + case '9': goto yy549; + default: goto yy56; } -yy158: - YYDEBUG(158, *YYCURSOR); +yy377: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy159; - if (yych <= '2') goto yy160; - if (yych <= '9') goto yy161; - goto yy56; -yy159: - YYDEBUG(159, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy550; + case '6': goto yy551; + case '7': + case '8': + case '9': goto yy552; + default: goto yy56; + } +yy378: yych = *++YYCURSOR; - if (yych <= '/') goto yy3; - if (yych <= '9') goto yy161; - if (yych <= ':') goto yy162; - goto yy3; -yy160: - YYDEBUG(160, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy553; + default: goto yy56; + } +yy379: yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy3; - if (yych >= '5') goto yy163; - } else { - if (yych <= '9') goto yy139; - if (yych <= ':') goto yy162; - goto yy3; + switch (yych) { + case 'd': goto yy554; + default: goto yy56; } -yy161: - YYDEBUG(161, *YYCURSOR); +yy380: yych = *++YYCURSOR; - if (yych <= '/') goto yy3; - if (yych <= '5') goto yy163; - if (yych <= '9') goto yy139; - if (yych >= ';') goto yy3; -yy162: - YYDEBUG(162, *YYCURSOR); + switch (yych) { + case 't': goto yy554; + default: goto yy56; + } +yy381: yych = *++YYCURSOR; - if (yych <= '/') goto yy3; - if (yych <= '5') goto yy163; - if (yych <= '9') goto yy139; - goto yy3; -yy163: - YYDEBUG(163, *YYCURSOR); + switch (yych) { + case 'h': goto yy554; + default: goto yy56; + } +yy382: yych = *++YYCURSOR; - if (yych <= '/') goto yy3; - if (yych <= '9') goto yy139; - goto yy3; -yy164: - YYDEBUG(164, *YYCURSOR); + switch (yych) { + case 'R': + case 'r': goto yy555; + default: goto yy56; + } +yy383: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'C') goto yy141; - if (yych >= 'E') goto yy167; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'd') goto yy165; - if (yych <= 'e') goto yy167; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'G': + case 'g': goto yy555; + default: goto yy56; } -yy165: - YYDEBUG(165, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= 'N') { - if (yych <= ')') { - if (yych >= ')') goto yy139; - } else { - if (yych <= '@') goto yy166; - if (yych <= 'M') goto yy142; - goto yy173; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych >= 'a') goto yy142; - } else { - if (yych <= 'n') goto yy173; - if (yych <= 'z') goto yy142; - } +yy384: + yych = *++YYCURSOR; + switch (yych) { + case 'C': + case 'c': goto yy555; + default: goto yy56; } -yy166: - YYDEBUG(166, *YYCURSOR); -#line 1557 "ext/date/lib/parse_date.re" - { - const timelib_relunit* relunit; - DEBUG_OUTPUT("daytext"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_HAVE_WEEKDAY_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - relunit = timelib_lookup_relunit((char**) &ptr); - s->time->relative.weekday = relunit->multiplier; - if (s->time->relative.weekday_behavior != 2) { - s->time->relative.weekday_behavior = 1; - } - - TIMELIB_DEINIT; - return TIMELIB_WEEKDAY; +yy385: + yych = *++YYCURSOR; + switch (yych) { + case 'B': + case 'b': goto yy555; + default: goto yy56; } -#line 3553 "ext/date/lib/parse_date.c" -yy167: - YYDEBUG(167, *YYCURSOR); +yy386: yych = *++YYCURSOR; - if (yych <= 'K') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'J') goto yy142; - } - } else { - if (yych <= 'j') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'k') goto yy168; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case 'N': + case 'n': goto yy555; + default: goto yy56; } -yy168: - YYDEBUG(168, *YYCURSOR); +yy387: yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'C') goto yy143; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'd') goto yy169; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case 'L': + case 'N': + case 'l': + case 'n': goto yy555; + default: goto yy56; } -yy169: - YYDEBUG(169, *YYCURSOR); +yy388: yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy144; - goto yy3; - } else { - if (yych <= 'a') goto yy170; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case 'R': + case 'Y': + case 'r': + case 'y': goto yy555; + default: goto yy56; } -yy170: - YYDEBUG(170, *YYCURSOR); +yy389: yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'Y') goto yy171; - if (yych != 'y') goto yy3; + switch (yych) { + case 'V': + case 'v': goto yy555; + default: goto yy56; } -yy171: - YYDEBUG(171, *YYCURSOR); +yy390: yych = *++YYCURSOR; - if (yych == 'S') goto yy172; - if (yych != 's') goto yy166; -yy172: - YYDEBUG(172, *YYCURSOR); + switch (yych) { + case 'T': + case 't': goto yy555; + default: goto yy56; + } +yy391: yych = *++YYCURSOR; - goto yy166; -yy173: - YYDEBUG(173, *YYCURSOR); + switch (yych) { + case 'P': + case 'p': goto yy556; + default: goto yy56; + } +yy392: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy143; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'e') goto yy174; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case '-': goto yy374; + case '.': goto yy372; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy557; + default: goto yy56; } -yy174: - YYDEBUG(174, *YYCURSOR); +yy393: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'R') goto yy144; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 's') goto yy175; - if (yych <= 'z') goto yy144; - goto yy3; + switch (yych) { + case '-': goto yy374; + case '.': goto yy372; + case '0': + case '1': + case '2': goto yy557; + default: goto yy56; + } +yy394: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy558; + case '1': goto yy559; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy434; + case 'A': + case 'a': goto yy435; + case 'D': + case 'd': goto yy436; + case 'F': + case 'f': goto yy437; + case 'J': + case 'j': goto yy438; + case 'M': + case 'm': goto yy439; + case 'N': + case 'n': goto yy440; + case 'O': + case 'o': goto yy441; + case 'S': + case 's': goto yy442; + default: goto yy56; + } +yy395: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case 'A': + case 'D': + case 'F': + case 'H': + case 'I': + case 'J': + case 'M': + case 'N': + case 'O': + case 'S': + case 'T': + case 'V': + case 'X': + case 'Y': + case 'a': + case 'd': + case 'f': + case 'h': + case 'j': + case 'm': + case 'n': + case 'o': + case 's': + case 't': + case 'w': + case 'y': goto yy561; + case '-': goto yy562; + case '.': goto yy563; + case '/': goto yy564; + case '0': goto yy565; + case '1': goto yy566; + case '2': goto yy567; + case '3': goto yy568; + case '4': + case '5': goto yy569; + case '6': goto yy570; + case '7': + case '8': + case '9': goto yy57; + case ':': goto yy571; + case 'W': goto yy583; + default: goto yy396; + } +yy396: +#line 1157 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("gnunocolon"); + TIMELIB_INIT; + switch (s->time->have_time) { + case 0: + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + s->time->s = 0; + break; + case 1: + s->time->y = timelib_get_nr((char **) &ptr, 4); + break; + default: + TIMELIB_DEINIT; + add_error(s, "Double time specification"); + return TIMELIB_ERROR; } + s->time->have_time++; + TIMELIB_DEINIT; + return TIMELIB_GNU_NOCOLON; } -yy175: - YYDEBUG(175, *YYCURSOR); - yyaccept = 0; +#line 15522 "" +yy397: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'D') goto yy176; - if (yych != 'd') goto yy3; + switch (yych) { + case '\t': + case ' ': + case 'A': + case 'D': + case 'F': + case 'H': + case 'I': + case 'J': + case 'M': + case 'N': + case 'O': + case 'S': + case 'T': + case 'V': + case 'X': + case 'Y': + case 'a': + case 'd': + case 'f': + case 'h': + case 'j': + case 'm': + case 'n': + case 'o': + case 's': + case 't': + case 'w': + case 'y': goto yy561; + case '-': goto yy562; + case '.': goto yy563; + case '/': goto yy564; + case '0': goto yy585; + case '1': goto yy586; + case '2': goto yy587; + case '3': goto yy588; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + case ':': goto yy571; + case 'W': goto yy583; + default: goto yy398; } -yy176: - YYDEBUG(176, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy177; - if (yych != 'a') goto yy56; -yy177: - YYDEBUG(177, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy172; - if (yych == 'y') goto yy172; - goto yy56; -yy178: - YYDEBUG(178, *YYCURSOR); - yyaccept = 0; +yy398: +#line 1527 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("year4"); + TIMELIB_INIT; + s->time->y = timelib_get_nr((char **) &ptr, 4); + TIMELIB_DEINIT; + return TIMELIB_CLF; + } +#line 15581 "" +yy399: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy3; - goto yy147; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'C') goto yy141; - goto yy165; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'E') goto yy167; - goto yy141; - } else { - if (yych == '_') goto yy147; - goto yy3; - } - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy146; - } else { - if (yych <= 'e') goto yy180; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'I': + case 'i': goto yy589; + default: goto yy78; } - YYDEBUG(179, *YYCURSOR); - yyaccept = 4; +yy400: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy166; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy166; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy173; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy166; - goto yy147; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy166; - goto yy150; - } else { - if (yych <= 'n') goto yy186; - if (yych <= 'z') goto yy150; - goto yy166; - } - } + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'U': + case 'u': goto yy590; + default: goto yy78; } -yy180: - YYDEBUG(180, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'J') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'K') goto yy168; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'j') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'k') goto yy181; - if (yych <= 'z') goto yy150; - goto yy3; - } - } +yy401: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case 'S': + case 's': goto yy591; + default: goto yy402; } -yy181: - YYDEBUG(181, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy169; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'd') goto yy182; - if (yych <= 'z') goto yy151; - goto yy3; - } +yy402: +#line 1694 "ext/date/lib/parse_date.re" + { + timelib_ull i; + DEBUG_OUTPUT("relative"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + + while(*ptr) { + i = timelib_get_unsigned_nr((char **) &ptr, 24); + timelib_eat_spaces((char **) &ptr); + timelib_set_relative((char **) &ptr, i, 1, s); } + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; } -yy182: - YYDEBUG(182, *YYCURSOR); - yyaccept = 0; +#line 15649 "" +yy403: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy170; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy183; - if (yych <= 'z') goto yy152; - goto yy3; - } + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'E': + case 'e': goto yy592; + default: goto yy78; } -yy183: - YYDEBUG(183, *YYCURSOR); - yyaccept = 0; +yy404: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'Y') goto yy171; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'y') goto yy184; - if (yych <= 'z') goto yy153; - goto yy3; - } + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'R': + case 'r': goto yy593; + default: goto yy78; } -yy184: - YYDEBUG(184, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '.') { - if (yych == '-') goto yy147; - goto yy166; - } else { - if (yych <= '/') goto yy147; - if (yych <= 'R') goto yy166; - goto yy172; - } - } else { - if (yych <= '`') { - if (yych == '_') goto yy147; - goto yy166; - } else { - if (yych == 's') goto yy185; - if (yych <= 'z') goto yy153; - goto yy166; - } +yy405: + yych = *++YYCURSOR; + switch (yych) { + case 'T': + case 't': goto yy594; + default: goto yy56; } -yy185: - YYDEBUG(185, *YYCURSOR); - yyaccept = 4; +yy406: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy153; + switch (yych) { + case 'D': + case 'd': goto yy595; + default: goto yy402; } - if (yych <= '.') { - if (yych == '-') goto yy147; - goto yy166; - } else { - if (yych <= '/') goto yy147; - if (yych == '_') goto yy147; - goto yy166; +yy407: + yych = *++YYCURSOR; + switch (yych) { + case 'R': + case 'r': goto yy401; + default: goto yy56; } -yy186: - YYDEBUG(186, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy174; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'e') goto yy187; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy408: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy596; + default: goto yy240; } -yy187: - YYDEBUG(187, *YYCURSOR); - yyaccept = 0; +yy409: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy175; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 's') goto yy188; - if (yych <= 'z') goto yy152; - goto yy3; - } - } + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'U': + case 'u': goto yy597; + default: goto yy78; } -yy188: - YYDEBUG(188, *YYCURSOR); - yyaccept = 0; +yy410: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'D') goto yy176; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'd') goto yy189; - if (yych <= 'z') goto yy153; - goto yy3; - } - } -yy189: - YYDEBUG(189, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy177; - if (yych != 'a') goto yy154; - YYDEBUG(190, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy172; - if (yych == 'y') goto yy185; - goto yy154; -yy191: - YYDEBUG(191, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'C') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'B') goto yy141; - } - } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'c') goto yy192; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'Y': + case 'y': goto yy242; + default: goto yy78; } -yy192: - YYDEBUG(192, *YYCURSOR); - yyaccept = 5; +yy411: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych >= '\t') goto yy195; - } else { - if (yych == ' ') goto yy195; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - } else { - if (yych <= '-') goto yy196; - if (yych <= '.') goto yy195; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy195; - } else { - if (yych == 'E') goto yy201; - goto yy142; - } - } else { - if (yych <= 'd') { - if (yych >= 'a') goto yy142; - } else { - if (yych <= 'e') goto yy201; - if (yych <= 'z') goto yy142; - } - } + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'E': + case 'e': goto yy242; + default: goto yy78; } -yy193: - YYDEBUG(193, *YYCURSOR); -#line 1616 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("monthtext"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_lookup_month((char **) &ptr); - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; +yy412: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'C': + case 'c': goto yy598; + default: goto yy78; } -#line 4082 "ext/date/lib/parse_date.c" -yy194: - YYDEBUG(194, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21); - yych = *YYCURSOR; -yy195: - YYDEBUG(195, *YYCURSOR); - if (yybm[0+yych] & 32) { - goto yy194; - } - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy197; - if (yych <= '3') goto yy199; - if (yych <= '9') goto yy200; - goto yy56; -yy196: - YYDEBUG(196, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy195; - if (yych <= '0') goto yy356; - if (yych <= '2') goto yy357; - if (yych <= '3') goto yy358; - goto yy195; -yy197: - YYDEBUG(197, *YYCURSOR); - yyaccept = 6; +yy413: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy297; - goto yy298; - } else { - if (yych <= '2') goto yy354; - if (yych <= '9') goto yy355; - goto yy215; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy211; - if (yych <= 'q') goto yy215; - goto yy212; - } else { - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + switch (yych) { + case 'S': + case 's': goto yy591; + case 'U': + case 'u': goto yy599; + default: goto yy402; } -yy198: - YYDEBUG(198, *YYCURSOR); -#line 1362 "ext/date/lib/parse_date.re" - { - 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; +yy414: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 'D': + case 'd': goto yy595; + case 'T': + case 't': goto yy600; + default: goto yy402; } -#line 4146 "ext/date/lib/parse_date.c" -yy199: - YYDEBUG(199, *YYCURSOR); - yyaccept = 6; +yy415: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy297; - goto yy298; - } else { - if (yych <= '2') goto yy208; - if (yych <= '9') goto yy209; - goto yy215; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy211; - if (yych <= 'q') goto yy215; - goto yy212; - } else { - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'O': + case 'o': goto yy601; + default: goto yy78; } -yy200: - YYDEBUG(200, *YYCURSOR); - yyaccept = 6; +yy416: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy206; - goto yy207; - } else { - if (yych <= '2') goto yy208; - if (yych <= '9') goto yy209; - goto yy215; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy211; - if (yych <= 'q') goto yy215; - goto yy212; - } else { - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + switch (yych) { + case 'U': + case 'u': goto yy602; + default: goto yy402; } -yy201: - YYDEBUG(201, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'M') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'L') goto yy143; - } - } else { - if (yych <= 'l') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'm') goto yy202; - if (yych <= 'z') goto yy143; - goto yy3; - } +yy417: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 'O': + case 'o': goto yy603; + case 'S': + case 's': goto yy591; + default: goto yy402; } -yy202: - YYDEBUG(202, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'B') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'A') goto yy144; - } - } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'b') goto yy203; - if (yych <= 'z') goto yy144; - goto yy3; - } +yy418: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy237; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy239; + case 'T': + case 't': goto yy403; + default: goto yy78; } -yy203: - YYDEBUG(203, *YYCURSOR); - yyaccept = 0; +yy419: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'E') goto yy204; - if (yych != 'e') goto yy3; + switch (yych) { + case 'R': + case 'r': goto yy604; + default: goto yy402; } -yy204: - YYDEBUG(204, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy205; - if (yych != 'r') goto yy56; -yy205: - YYDEBUG(205, *YYCURSOR); - yyaccept = 5; +yy420: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy195; - if (yych <= 0x1F) goto yy193; - goto yy195; - } else { - if (yych <= '.') { - if (yych <= ',') goto yy193; - goto yy195; - } else { - if (yych <= '/') goto yy193; - if (yych <= '9') goto yy195; - goto yy193; - } + switch (yych) { + case 'S': + case 's': goto yy605; + default: goto yy402; } -yy206: - YYDEBUG(206, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy220; - goto yy56; - } else { - if (yych <= '0') goto yy295; - if (yych <= '9') goto yy296; - if (yych <= ':') goto yy220; - goto yy56; +yy421: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 'N': + case 'n': goto yy606; + default: goto yy402; } -yy207: - YYDEBUG(207, *YYCURSOR); +yy422: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; - } else { - if (yych <= '2') goto yy296; - if (yych <= '9') goto yy295; - if (yych <= ':') goto yy263; - goto yy56; + switch (yych) { + case 'K': + case 'k': goto yy607; + default: goto yy56; } -yy208: - YYDEBUG(208, *YYCURSOR); +yy423: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; - } else { - if (yych <= '4') goto yy295; - if (yych <= '9') goto yy292; - if (yych <= ':') goto yy263; - goto yy56; + switch (yych) { + case '0': goto yy608; + case '1': goto yy609; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy610; + default: goto yy196; } -yy209: - YYDEBUG(209, *YYCURSOR); +yy424: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; - } else { - if (yych <= '9') goto yy292; - if (yych <= ':') goto yy263; - goto yy56; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy611; + case '6': goto yy612; + case '7': + case '8': + case '9': goto yy549; + default: goto yy56; } -yy210: - YYDEBUG(210, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - goto yy215; -yy211: - YYDEBUG(211, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - goto yy215; -yy212: - YYDEBUG(212, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - goto yy215; -yy213: - YYDEBUG(213, *YYCURSOR); - yyaccept = 6; +yy425: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - goto yy215; -yy214: - YYDEBUG(214, *YYCURSOR); - yyaccept = 6; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); - yych = *YYCURSOR; -yy215: - YYDEBUG(215, *YYCURSOR); - if (yybm[0+yych] & 64) { - goto yy214; - } - if (yych <= '2') { - if (yych <= '/') goto yy198; - if (yych <= '0') goto yy258; - if (yych <= '1') goto yy259; - goto yy260; - } else { - if (yych <= '9') goto yy261; - if (yych != 'T') goto yy198; - } - YYDEBUG(216, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy217; - if (yych <= '2') goto yy218; - if (yych <= '9') goto yy219; - goto yy56; -yy217: - YYDEBUG(217, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy220; - goto yy56; - } else { - if (yych <= '9') goto yy219; - if (yych <= ':') goto yy220; - goto yy56; + switch (yych) { + case '\t': + case ' ': goto yy613; + case '-': goto yy372; + case '.': goto yy424; + case ':': goto yy426; + case 'A': + case 'P': + case 'a': + case 'p': goto yy100; + default: goto yy208; } -yy218: - YYDEBUG(218, *YYCURSOR); +yy426: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy220; - goto yy56; - } else { - if (yych <= '4') goto yy219; - if (yych == ':') goto yy220; - goto yy56; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy615; + case '6': goto yy616; + case '7': + case '8': + case '9': goto yy552; + default: goto yy56; } -yy219: - YYDEBUG(219, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '.') goto yy220; - if (yych != ':') goto yy56; -yy220: - YYDEBUG(220, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy221; - if (yych <= '9') goto yy223; - goto yy56; -yy221: - YYDEBUG(221, *YYCURSOR); - yyaccept = 7; +yy427: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy224; - } else { - if (yych <= '9') goto yy223; - if (yych <= ':') goto yy224; - } -yy222: - YYDEBUG(222, *YYCURSOR); -#line 1664 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_month((char **) &ptr); - s->time->d = timelib_get_nr((char **) &ptr, 2); - - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); - } - } - - if (*ptr != '\0') { - s->time->z = timelib_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; + switch (yych) { + case '\t': + case ' ': goto yy613; + case '.': + case ':': goto yy426; + case 'A': + case 'P': + case 'a': + case 'p': goto yy100; + default: goto yy208; } -#line 4444 "ext/date/lib/parse_date.c" -yy223: - YYDEBUG(223, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy224; - if (yych != ':') goto yy222; -yy224: - YYDEBUG(224, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy225; - if (yych <= '6') goto yy226; - if (yych <= '9') goto yy227; - goto yy56; -yy225: - YYDEBUG(225, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy222; - if (yych <= '9') goto yy228; - goto yy222; -yy226: - YYDEBUG(226, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '0') goto yy228; - goto yy222; -yy227: - YYDEBUG(227, *YYCURSOR); - yych = *++YYCURSOR; - goto yy222; -yy228: - YYDEBUG(228, *YYCURSOR); - yyaccept = 7; +yy428: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '*') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy230; - goto yy222; - } else { - if (yych <= ' ') goto yy230; - if (yych == '(') goto yy230; - goto yy222; - } - } else { - if (yych <= '@') { - if (yych == ',') goto yy222; - if (yych <= '-') goto yy230; - goto yy222; - } else { - if (yych <= 'Z') goto yy230; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy230; - goto yy222; - } + switch (yych) { + case '\t': + case ' ': goto yy613; + case '.': goto yy426; + case ':': goto yy617; + case 'A': + case 'P': + case 'a': + case 'p': goto yy100; + default: goto yy208; } -yy229: - YYDEBUG(229, *YYCURSOR); +yy429: ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy230: - YYDEBUG(230, *YYCURSOR); - if (yych <= '+') { - if (yych <= ' ') { - if (yych == '\t') goto yy229; - if (yych <= 0x1F) goto yy56; - goto yy229; - } else { - if (yych == '(') goto yy233; - if (yych <= '*') goto yy56; - goto yy232; - } - } else { - if (yych <= 'F') { - if (yych == '-') goto yy232; - if (yych <= '@') goto yy56; - goto yy234; - } else { - if (yych <= 'Z') { - if (yych >= 'H') goto yy234; - } else { - if (yych <= '`') goto yy56; - if (yych <= 'z') goto yy235; - goto yy56; +#line 1094 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->i = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->s = timelib_get_nr((char **) &ptr, 2); } } + s->time->h += timelib_meridian((char **) &ptr, s->time->h); + TIMELIB_DEINIT; + return TIMELIB_TIME12; } -yy231: - YYDEBUG(231, *YYCURSOR); +#line 16038 "" +yy431: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == ')') goto yy227; - if (yych <= '@') goto yy222; - goto yy236; - } else { - if (yych <= 'Z') { - if (yych <= 'M') goto yy256; - goto yy236; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy241; - goto yy222; - } + switch (yych) { + case 0x00: + case '\t': + case ' ': goto yy429; + default: goto yy56; } -yy232: - YYDEBUG(232, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy251; - if (yych <= '2') goto yy252; - if (yych <= '9') goto yy253; - goto yy56; -yy233: - YYDEBUG(233, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') goto yy56; - if (yych <= 'Z') goto yy235; - if (yych <= '`') goto yy56; - if (yych <= 'z') goto yy235; - goto yy56; -yy234: - YYDEBUG(234, *YYCURSOR); +yy432: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= 'Z') goto yy236; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy241; - goto yy222; + switch (yych) { + case '-': goto yy618; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy619; + default: goto yy56; } -yy235: - YYDEBUG(235, *YYCURSOR); +yy433: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= 'Z') goto yy236; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + switch (yych) { + case '-': goto yy618; + case '0': + case '1': + case '2': goto yy619; + default: goto yy56; } -yy236: - YYDEBUG(236, *YYCURSOR); +yy434: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= 'Z') goto yy237; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + switch (yych) { + case '-': goto yy618; + default: goto yy56; } -yy237: - YYDEBUG(237, *YYCURSOR); +yy435: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= 'Z') goto yy238; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + switch (yych) { + case 'P': + case 'p': goto yy620; + case 'U': + case 'u': goto yy621; + default: goto yy56; } -yy238: - YYDEBUG(238, *YYCURSOR); +yy436: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= 'Z') goto yy239; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + switch (yych) { + case 'E': + case 'e': goto yy622; + default: goto yy56; } -yy239: - YYDEBUG(239, *YYCURSOR); +yy437: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= 'Z') goto yy240; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + switch (yych) { + case 'E': + case 'e': goto yy623; + default: goto yy56; } -yy240: - YYDEBUG(240, *YYCURSOR); +yy438: yych = *++YYCURSOR; - if (yych == ')') goto yy227; - goto yy222; -yy241: - YYDEBUG(241, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych == '.') goto yy222; - goto yy243; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy222; - if (yych <= 'Z') goto yy237; - goto yy222; - } else { - if (yych <= '_') goto yy243; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; - } - } -yy242: - YYDEBUG(242, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych == '.') goto yy222; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy222; - if (yych <= 'Z') goto yy238; - goto yy222; - } else { - if (yych <= '_') goto yy243; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy246; - goto yy222; - } - } -yy243: - YYDEBUG(243, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '@') goto yy56; - if (yych <= 'Z') goto yy244; - if (yych <= '`') goto yy56; - if (yych >= '{') goto yy56; -yy244: - YYDEBUG(244, *YYCURSOR); - yyaccept = 7; - YYMARKER = ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(245, *YYCURSOR); - if (yych <= '@') { - if (yych <= '-') { - if (yych <= ',') goto yy222; - goto yy243; - } else { - if (yych == '/') goto yy243; - goto yy222; - } - } else { - if (yych <= '_') { - if (yych <= 'Z') goto yy244; - if (yych <= '^') goto yy222; - goto yy243; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy244; - goto yy222; - } - } -yy246: - YYDEBUG(246, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych == '.') goto yy222; - goto yy243; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy222; - if (yych <= 'Z') goto yy239; - goto yy222; - } else { - if (yych <= '_') goto yy243; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; - } - } - YYDEBUG(247, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych == '.') goto yy222; - goto yy243; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy222; - if (yych <= 'Z') goto yy240; - goto yy222; - } else { - if (yych <= '_') goto yy243; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; - } - } - YYDEBUG(248, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy222; - goto yy227; - } else { - if (yych == '-') goto yy243; - goto yy222; - } - } else { - if (yych <= '_') { - if (yych <= '/') goto yy243; - if (yych <= '^') goto yy222; - goto yy243; - } else { - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; - } - } -yy249: - YYDEBUG(249, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(250, *YYCURSOR); - if (yych <= '/') { - if (yych == '-') goto yy243; - if (yych <= '.') goto yy56; - goto yy243; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy56; - goto yy243; - } else { - if (yych <= '`') goto yy56; - if (yych <= 'z') goto yy249; - goto yy56; - } + switch (yych) { + case 'A': + case 'a': goto yy624; + case 'U': + case 'u': goto yy625; + default: goto yy56; } -yy251: - YYDEBUG(251, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy222; - if (yych <= '9') goto yy253; - if (yych <= ':') goto yy254; - goto yy222; -yy252: - YYDEBUG(252, *YYCURSOR); +yy439: yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy222; - if (yych >= '5') goto yy255; - } else { - if (yych <= '9') goto yy227; - if (yych <= ':') goto yy254; - goto yy222; + switch (yych) { + case 'A': + case 'a': goto yy626; + default: goto yy56; } -yy253: - YYDEBUG(253, *YYCURSOR); +yy440: yych = *++YYCURSOR; - if (yych <= '/') goto yy222; - if (yych <= '5') goto yy255; - if (yych <= '9') goto yy227; - if (yych >= ';') goto yy222; -yy254: - YYDEBUG(254, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy222; - if (yych <= '5') goto yy255; - if (yych <= '9') goto yy227; - goto yy222; -yy255: - YYDEBUG(255, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy222; - if (yych <= '9') goto yy227; - goto yy222; -yy256: - YYDEBUG(256, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == ')') goto yy227; - if (yych <= '@') goto yy222; - goto yy237; - } else { - if (yych <= 'Z') { - if (yych >= 'U') goto yy237; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy237; - goto yy222; - } - } - YYDEBUG(257, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ')') { - if (yych <= '(') goto yy222; - goto yy227; - } else { - if (yych == '+') goto yy232; - goto yy222; - } - } else { - if (yych <= 'Z') { - if (yych <= '-') goto yy232; - if (yych <= '@') goto yy222; - goto yy238; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy238; - goto yy222; - } - } -yy258: - YYDEBUG(258, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy220; - goto yy198; - } else { - if (yych <= '0') goto yy290; - if (yych <= '9') goto yy291; - if (yych <= ':') goto yy220; - goto yy198; + switch (yych) { + case 'O': + case 'o': goto yy627; + default: goto yy56; } -yy259: - YYDEBUG(259, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy198; - } else { - if (yych <= '2') goto yy291; - if (yych <= '9') goto yy290; - if (yych <= ':') goto yy263; - goto yy198; +yy441: + yych = *++YYCURSOR; + switch (yych) { + case 'C': + case 'c': goto yy628; + default: goto yy56; } -yy260: - YYDEBUG(260, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy198; - } else { - if (yych <= '4') goto yy290; - if (yych <= '9') goto yy262; - if (yych <= ':') goto yy263; - goto yy198; +yy442: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy629; + default: goto yy56; } -yy261: - YYDEBUG(261, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy198; - } else { - if (yych <= '9') goto yy262; - if (yych <= ':') goto yy263; - goto yy198; +yy443: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + default: goto yy18; } -yy262: - YYDEBUG(262, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy198; - if (yych <= '9') goto yy288; - goto yy198; -yy263: - YYDEBUG(263, *YYCURSOR); +yy444: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy264; - if (yych <= '9') goto yy265; - goto yy56; -yy264: - YYDEBUG(264, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy266; - goto yy222; - } else { - if (yych <= '9') goto yy281; - if (yych <= ':') goto yy266; - goto yy222; + switch (yych) { + case '0': + case '1': + case '2': goto yy631; + case '3': goto yy632; + default: goto yy134; } -yy265: - YYDEBUG(265, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy266; - if (yych != ':') goto yy222; -yy266: - YYDEBUG(266, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy267; - if (yych <= '6') goto yy268; - if (yych <= '9') goto yy227; - goto yy56; -yy267: - YYDEBUG(267, *YYCURSOR); +yy445: yych = *++YYCURSOR; - if (yych <= '/') goto yy222; - if (yych <= '9') goto yy269; - goto yy222; -yy268: - YYDEBUG(268, *YYCURSOR); + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'L': + case 'l': goto yy633; + default: goto yy18; + } +yy446: yych = *++YYCURSOR; - if (yych != '0') goto yy222; -yy269: - YYDEBUG(269, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '*') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy271; - goto yy222; - } else { - if (yych <= ' ') goto yy271; - if (yych == '(') goto yy271; - goto yy222; - } - } else { - if (yych <= '@') { - if (yych == ',') goto yy222; - if (yych <= '-') goto yy271; - goto yy222; - } else { - if (yych <= 'Z') goto yy271; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy271; - goto yy222; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'S': + case 's': goto yy634; + default: goto yy18; } -yy270: - YYDEBUG(270, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); +yy447: + yyaccept = 2; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy271: - YYDEBUG(271, *YYCURSOR); - if (yych <= '@') { - if (yych <= '\'') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy270; - } else { - if (yych == ' ') goto yy270; - goto yy56; - } - } else { - if (yych <= '+') { - if (yych <= '(') goto yy233; - if (yych <= '*') goto yy56; - goto yy232; - } else { - if (yych == '-') goto yy232; - goto yy56; - } - } - } else { - if (yych <= 'Z') { - if (yych <= 'G') { - if (yych <= 'A') goto yy272; - if (yych <= 'F') goto yy234; - goto yy231; - } else { - if (yych != 'P') goto yy234; - } - } else { - if (yych <= 'o') { - if (yych <= '`') goto yy56; - if (yych <= 'a') goto yy273; - goto yy235; - } else { - if (yych <= 'p') goto yy273; - if (yych <= 'z') goto yy235; - goto yy56; - } - } - } -yy272: - YYDEBUG(272, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= '.') goto yy274; - if (yych <= '@') goto yy222; - goto yy236; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy275; - if (yych <= 'Z') goto yy236; - goto yy222; - } else { - if (yych == 'm') goto yy280; - if (yych <= 'z') goto yy241; - goto yy222; - } - } -yy273: - YYDEBUG(273, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= '.') goto yy274; - if (yych <= '@') goto yy222; - goto yy236; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy275; - if (yych <= 'Z') goto yy236; - goto yy222; - } else { - if (yych == 'm') goto yy275; - if (yych <= 'z') goto yy236; - goto yy222; - } + switch (yych) { + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy447; + default: goto yy18; } -yy274: - YYDEBUG(274, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy279; - if (yych == 'm') goto yy279; - goto yy56; -yy275: - YYDEBUG(275, *YYCURSOR); - yyaccept = 7; +yy449: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy277; - if (yych <= 0x08) goto yy222; - goto yy277; - } else { - if (yych == ' ') goto yy277; - if (yych <= '(') goto yy222; - goto yy227; - } - } else { - if (yych <= '@') { - if (yych != '.') goto yy222; - } else { - if (yych <= 'Z') goto yy237; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy237; - goto yy222; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + default: goto yy18; } -yy276: - YYDEBUG(276, *YYCURSOR); +yy450: yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy277; - if (yych <= 0x08) goto yy56; - } else { - if (yych != ' ') goto yy56; + switch (yych) { + case '0': + case '1': + case '2': goto yy631; + case '3': goto yy632; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy447; + default: goto yy134; } -yy277: - YYDEBUG(277, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(278, *YYCURSOR); -#line 1640 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_month((char **) &ptr); - s->time->d = timelib_get_nr((char **) &ptr, 2); - - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); - } - } - - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - TIMELIB_DEINIT; - return TIMELIB_SHORTDATE_WITH_TIME; +yy451: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'L': goto yy633; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'l': goto yy636; + default: goto yy18; } -#line 5165 "ext/date/lib/parse_date.c" -yy279: - YYDEBUG(279, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy277; - if (yych == '\t') goto yy277; - goto yy56; - } else { - if (yych <= ' ') goto yy277; - if (yych == '.') goto yy276; - goto yy56; +yy452: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'S': goto yy634; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 's': goto yy637; + default: goto yy18; } -yy280: - YYDEBUG(280, *YYCURSOR); - yyaccept = 7; +yy453: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy277; - if (yych == '\t') goto yy277; - goto yy222; - } else { - if (yych <= '(') { - if (yych <= ' ') goto yy277; - goto yy222; - } else { - if (yych <= ')') goto yy227; - if (yych <= ',') goto yy222; - goto yy243; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '.') goto yy276; - if (yych <= '/') goto yy243; - if (yych <= '@') goto yy222; - goto yy237; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy222; - goto yy243; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy242; - goto yy222; - } - } + switch (yych) { + case ' ': goto yy638; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + default: goto yy18; } -yy281: - YYDEBUG(281, *YYCURSOR); - yyaccept = 7; +yy454: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy282; - if (yych <= 0x1F) goto yy222; - } else { - if (yych == '.') goto yy266; - if (yych <= '9') goto yy222; - goto yy266; - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy284; - if (yych <= 'O') goto yy222; - goto yy284; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy222; - goto yy284; - } else { - if (yych == 'p') goto yy284; - goto yy222; - } - } - } -yy282: - YYDEBUG(282, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - YYDEBUG(283, *YYCURSOR); - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy282; - goto yy56; - } else { - if (yych <= ' ') goto yy282; - if (yych <= '@') goto yy56; - } - } else { - if (yych <= '`') { - if (yych != 'P') goto yy56; - } else { - if (yych <= 'a') goto yy284; - if (yych != 'p') goto yy56; - } - } -yy284: - YYDEBUG(284, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy56; - } else { - if (yych <= 'M') goto yy286; - if (yych == 'm') goto yy286; - goto yy56; - } -yy285: - YYDEBUG(285, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy286; - if (yych != 'm') goto yy56; -yy286: - YYDEBUG(286, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy277; - if (yych == '\t') goto yy277; - goto yy56; - } else { - if (yych <= ' ') goto yy277; - if (yych != '.') goto yy56; - } -yy287: - YYDEBUG(287, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy277; - if (yych <= 0x08) goto yy56; - goto yy277; - } else { - if (yych == ' ') goto yy277; - goto yy56; + switch (yych) { + case ' ': goto yy638; + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + default: goto yy18; } -yy288: - YYDEBUG(288, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy198; - if (yych >= ':') goto yy198; - YYDEBUG(289, *YYCURSOR); +yy455: yych = *++YYCURSOR; - goto yy198; -yy290: - YYDEBUG(290, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy220; - goto yy198; - } else { - if (yych <= '9') goto yy288; - if (yych <= ':') goto yy220; - goto yy198; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'M': + case 'm': goto yy639; + default: goto yy18; } -yy291: - YYDEBUG(291, *YYCURSOR); - yyaccept = 6; +yy456: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy198; - } else { - if (yych <= '9') goto yy288; - if (yych <= ':') goto yy263; - goto yy198; - } -yy292: - YYDEBUG(292, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; -yy293: - YYDEBUG(293, *YYCURSOR); - ++YYCURSOR; -yy294: - YYDEBUG(294, *YYCURSOR); -#line 1334 "ext/date/lib/parse_date.re" - { - 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; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'M': goto yy639; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'm': goto yy640; + default: goto yy18; } -#line 5356 "ext/date/lib/parse_date.c" -yy295: - YYDEBUG(295, *YYCURSOR); +yy457: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy220; - goto yy56; - } else { - if (yych <= '9') goto yy293; - if (yych <= ':') goto yy220; - goto yy56; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'T': + case 't': goto yy641; + default: goto yy18; } -yy296: - YYDEBUG(296, *YYCURSOR); +yy458: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; - } else { - if (yych <= '9') goto yy293; - if (yych <= ':') goto yy263; - goto yy56; - } -yy297: - YYDEBUG(297, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych == '.') goto yy330; - goto yy215; - } else { - if (yych <= '0') goto yy331; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy220; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'E': + case 'e': goto yy642; + default: goto yy18; } -yy298: - YYDEBUG(298, *YYCURSOR); - yyaccept = 6; +yy459: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych != '.') goto yy215; - } else { - if (yych <= '0') goto yy300; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy263; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'T': goto yy641; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 't': goto yy643; + default: goto yy18; } -yy299: - YYDEBUG(299, *YYCURSOR); - yyaccept = 6; +yy460: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy305; - goto yy306; - } else { - if (yych <= '2') goto yy307; - if (yych <= '5') goto yy308; - if (yych <= '9') goto yy309; - goto yy215; - } -yy300: - YYDEBUG(300, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; - } else { - if (yych <= '0') goto yy303; - if (yych <= '9') goto yy304; - if (yych <= ':') goto yy263; - goto yy56; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'E': goto yy642; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'e': goto yy644; + default: goto yy18; } -yy301: - YYDEBUG(301, *YYCURSOR); +yy461: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; - } else { - if (yych <= '2') goto yy304; - if (yych <= '9') goto yy303; - if (yych <= ':') goto yy263; - goto yy56; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'U': + case 'u': goto yy645; + default: goto yy18; } -yy302: - YYDEBUG(302, *YYCURSOR); +yy462: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; - } else { - if (yych <= '4') goto yy303; - if (yych <= '9') goto yy293; - if (yych <= ':') goto yy263; - goto yy56; - } -yy303: - YYDEBUG(303, *YYCURSOR); - yyaccept = 8; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy220; - if (yych == ':') goto yy220; - goto yy294; -yy304: - YYDEBUG(304, *YYCURSOR); - yyaccept = 8; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy263; - if (yych == ':') goto yy263; - goto yy294; -yy305: - YYDEBUG(305, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy325; - goto yy198; - } else { - if (yych <= '0') goto yy324; - if (yych <= '9') goto yy329; - if (yych <= ':') goto yy325; - goto yy198; - } -yy306: - YYDEBUG(306, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy310; - goto yy198; - } else { - if (yych <= '2') goto yy329; - if (yych <= '9') goto yy324; - if (yych <= ':') goto yy310; - goto yy198; - } -yy307: - YYDEBUG(307, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy310; - goto yy198; - } else { - if (yych <= '4') goto yy324; - if (yych <= '9') goto yy323; - if (yych <= ':') goto yy310; - goto yy198; - } -yy308: - YYDEBUG(308, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy310; - goto yy198; - } else { - if (yych <= '9') goto yy323; - if (yych <= ':') goto yy310; - goto yy198; - } -yy309: - YYDEBUG(309, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych != '.') goto yy198; - } else { - if (yych <= '9') goto yy262; - if (yych >= ';') goto yy198; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'H': + case 'h': goto yy646; + default: goto yy18; } -yy310: - YYDEBUG(310, *YYCURSOR); +yy463: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy311; - if (yych <= '6') goto yy312; - if (yych <= '9') goto yy265; - goto yy56; -yy311: - YYDEBUG(311, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy266; - goto yy222; - } else { - if (yych <= '9') goto yy313; - if (yych <= ':') goto yy266; - goto yy222; - } -yy312: - YYDEBUG(312, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy266; - goto yy222; - } else { - if (yych <= '0') goto yy269; - if (yych == ':') goto yy266; - goto yy222; - } -yy313: - YYDEBUG(313, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy315; - if (yych <= 0x1F) goto yy222; - goto yy315; - } else { - if (yych <= '(') { - if (yych <= '\'') goto yy222; - goto yy315; - } else { - if (yych == '+') goto yy315; - goto yy222; - } - } - } else { - if (yych <= ':') { - if (yych <= '-') goto yy315; - if (yych <= '.') goto yy266; - if (yych <= '9') goto yy222; - goto yy266; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy222; - goto yy315; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy315; - goto yy222; - } - } - } -yy314: - YYDEBUG(314, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy315: - YYDEBUG(315, *YYCURSOR); - if (yych <= '@') { - if (yych <= '\'') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy314; - } else { - if (yych == ' ') goto yy314; - goto yy56; - } - } else { - if (yych <= '+') { - if (yych <= '(') goto yy233; - if (yych <= '*') goto yy56; - goto yy232; - } else { - if (yych == '-') goto yy232; - goto yy56; - } - } - } else { - if (yych <= 'Z') { - if (yych <= 'G') { - if (yych <= 'A') goto yy316; - if (yych <= 'F') goto yy234; - goto yy231; - } else { - if (yych != 'P') goto yy234; - } - } else { - if (yych <= 'o') { - if (yych <= '`') goto yy56; - if (yych <= 'a') goto yy317; - goto yy235; - } else { - if (yych <= 'p') goto yy317; - if (yych <= 'z') goto yy235; - goto yy56; - } - } - } -yy316: - YYDEBUG(316, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= '.') goto yy319; - if (yych <= '@') goto yy222; - goto yy236; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy318; - if (yych <= 'Z') goto yy236; - goto yy222; - } else { - if (yych == 'm') goto yy322; - if (yych <= 'z') goto yy241; - goto yy222; - } - } -yy317: - YYDEBUG(317, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= '.') goto yy319; - if (yych <= '@') goto yy222; - goto yy236; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy318; - if (yych <= 'Z') goto yy236; - goto yy222; - } else { - if (yych == 'm') goto yy318; - if (yych <= 'z') goto yy236; - goto yy222; - } - } -yy318: - YYDEBUG(318, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy277; - if (yych <= 0x08) goto yy222; - goto yy277; - } else { - if (yych == ' ') goto yy277; - if (yych <= '(') goto yy222; - goto yy227; - } - } else { - if (yych <= '@') { - if (yych == '.') goto yy321; - goto yy222; - } else { - if (yych <= 'Z') goto yy237; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy237; - goto yy222; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'T': + case 't': goto yy647; + default: goto yy18; } -yy319: - YYDEBUG(319, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy320; - if (yych != 'm') goto yy56; -yy320: - YYDEBUG(320, *YYCURSOR); +yy464: yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy277; - if (yych == '\t') goto yy277; - goto yy56; - } else { - if (yych <= ' ') goto yy277; - if (yych != '.') goto yy56; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'T': + case 't': goto yy648; + default: goto yy18; } -yy321: - YYDEBUG(321, *YYCURSOR); +yy465: yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy277; - if (yych <= 0x08) goto yy56; - goto yy277; - } else { - if (yych == ' ') goto yy277; - goto yy56; - } -yy322: - YYDEBUG(322, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy277; - if (yych == '\t') goto yy277; - goto yy222; - } else { - if (yych <= '(') { - if (yych <= ' ') goto yy277; - goto yy222; - } else { - if (yych <= ')') goto yy227; - if (yych <= ',') goto yy222; - goto yy243; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '.') goto yy321; - if (yych <= '/') goto yy243; - if (yych <= '@') goto yy222; - goto yy237; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy222; - goto yy243; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy242; - goto yy222; - } - } - } -yy323: - YYDEBUG(323, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy282; - if (yych <= 0x1F) goto yy198; - goto yy282; - } else { - if (yych <= '.') { - if (yych <= '-') goto yy198; - goto yy266; - } else { - if (yych <= '/') goto yy198; - if (yych <= '9') goto yy288; - goto yy266; - } - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy284; - if (yych <= 'O') goto yy198; - goto yy284; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy198; - goto yy284; - } else { - if (yych == 'p') goto yy284; - goto yy198; - } - } - } -yy324: - YYDEBUG(324, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy282; - if (yych <= 0x1F) goto yy198; - goto yy282; - } else { - if (yych <= '.') { - if (yych <= '-') goto yy198; - } else { - if (yych <= '/') goto yy198; - if (yych <= '9') goto yy288; - } - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy284; - if (yych <= 'O') goto yy198; - goto yy284; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy198; - goto yy284; - } else { - if (yych == 'p') goto yy284; - goto yy198; - } - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'a': goto yy649; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + default: goto yy18; } -yy325: - YYDEBUG(325, *YYCURSOR); +yy466: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy326; - if (yych <= '6') goto yy327; - if (yych <= '9') goto yy223; - goto yy56; -yy326: - YYDEBUG(326, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy224; - goto yy222; - } else { - if (yych <= '9') goto yy328; - if (yych <= ':') goto yy224; - goto yy222; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'T': + case 't': goto yy650; + default: goto yy18; } -yy327: - YYDEBUG(327, *YYCURSOR); - yyaccept = 7; +yy467: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy224; - goto yy222; - } else { - if (yych <= '0') goto yy269; - if (yych == ':') goto yy224; - goto yy222; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'U': goto yy645; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'u': goto yy651; + default: goto yy18; } -yy328: - YYDEBUG(328, *YYCURSOR); - yyaccept = 7; +yy468: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy271; - if (yych <= 0x1F) goto yy222; - goto yy271; - } else { - if (yych <= '(') { - if (yych <= '\'') goto yy222; - goto yy271; - } else { - if (yych == '+') goto yy271; - goto yy222; - } - } - } else { - if (yych <= ':') { - if (yych <= '-') goto yy271; - if (yych <= '.') goto yy224; - if (yych <= '9') goto yy222; - goto yy224; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy222; - goto yy271; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy271; - goto yy222; - } - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'H': goto yy646; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'h': goto yy652; + default: goto yy18; } -yy329: - YYDEBUG(329, *YYCURSOR); - yyaccept = 6; +yy469: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy282; - if (yych <= 0x1F) goto yy198; - goto yy282; - } else { - if (yych <= '.') { - if (yych <= '-') goto yy198; - goto yy310; - } else { - if (yych <= '/') goto yy198; - if (yych <= '9') goto yy288; - goto yy310; - } - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy284; - if (yych <= 'O') goto yy198; - goto yy284; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy198; - goto yy284; - } else { - if (yych == 'p') goto yy284; - goto yy198; - } - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'T': goto yy647; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 't': goto yy653; + default: goto yy18; } -yy330: - YYDEBUG(330, *YYCURSOR); - yyaccept = 6; +yy470: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy332; - goto yy333; - } else { - if (yych <= '2') goto yy334; - if (yych <= '5') goto yy335; - if (yych <= '9') goto yy336; - goto yy215; - } -yy331: - YYDEBUG(331, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy220; - goto yy56; - } else { - if (yych <= '0') goto yy303; - if (yych <= '9') goto yy304; - if (yych <= ':') goto yy220; - goto yy56; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'T': goto yy648; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 't': goto yy654; + default: goto yy18; } -yy332: - YYDEBUG(332, *YYCURSOR); - yyaccept = 6; +yy471: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy349; - goto yy198; - } else { - if (yych <= '0') goto yy348; - if (yych <= '9') goto yy353; - if (yych <= ':') goto yy349; - goto yy198; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': goto yy649; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'a': goto yy655; + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + default: goto yy18; } -yy333: - YYDEBUG(333, *YYCURSOR); - yyaccept = 6; +yy472: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy337; - goto yy198; - } else { - if (yych <= '2') goto yy353; - if (yych <= '9') goto yy348; - if (yych <= ':') goto yy337; - goto yy198; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'T': goto yy650; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 't': goto yy656; + default: goto yy18; } -yy334: - YYDEBUG(334, *YYCURSOR); - yyaccept = 6; +yy473: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': goto yy657; + case '2': goto yy658; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy659; + default: goto yy56; + } +yy474: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy337; - goto yy198; - } else { - if (yych <= '4') goto yy348; - if (yych <= '9') goto yy347; - if (yych <= ':') goto yy337; - goto yy198; + switch (yych) { + case '.': + case ':': goto yy483; + case '0': goto yy660; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy661; + default: goto yy136; } -yy335: - YYDEBUG(335, *YYCURSOR); - yyaccept = 6; +yy475: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy337; - goto yy198; - } else { - if (yych <= '9') goto yy347; - if (yych <= ':') goto yy337; - goto yy198; + switch (yych) { + case '.': + case ':': goto yy486; + case '0': + case '1': + case '2': goto yy661; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy660; + default: goto yy136; } -yy336: - YYDEBUG(336, *YYCURSOR); - yyaccept = 6; +yy476: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych != '.') goto yy198; - } else { - if (yych <= '9') goto yy262; - if (yych >= ';') goto yy198; + switch (yych) { + case '.': + case ':': goto yy486; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy660; + case '5': + case '6': + case '7': + case '8': + case '9': goto yy662; + default: goto yy136; } -yy337: - YYDEBUG(337, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy338; - if (yych <= '6') goto yy339; - if (yych <= '9') goto yy265; - goto yy56; -yy338: - YYDEBUG(338, *YYCURSOR); - yyaccept = 7; +yy477: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy266; - goto yy222; - } else { - if (yych <= '9') goto yy340; - if (yych <= ':') goto yy266; - goto yy222; + switch (yych) { + case '.': + case ':': goto yy486; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy662; + default: goto yy136; } -yy339: - YYDEBUG(339, *YYCURSOR); - yyaccept = 7; +yy478: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy266; - goto yy222; - } else { - if (yych <= '0') goto yy228; - if (yych == ':') goto yy266; - goto yy222; + switch (yych) { + case '0': goto yy663; + case '1': goto yy664; + case '2': goto yy665; + case '3': + case '4': + case '5': goto yy666; + case '6': + case '7': + case '8': + case '9': goto yy667; + default: goto yy304; } -yy340: - YYDEBUG(340, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy342; - if (yych <= 0x1F) goto yy222; - goto yy342; - } else { - if (yych <= '(') { - if (yych <= '\'') goto yy222; - goto yy342; - } else { - if (yych == '+') goto yy342; - goto yy222; - } - } - } else { - if (yych <= ':') { - if (yych <= '-') goto yy342; - if (yych <= '.') goto yy266; - if (yych <= '9') goto yy222; - goto yy266; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy222; - goto yy342; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy342; - goto yy222; - } - } +yy479: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy483; + case '0': goto yy668; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy670; + default: goto yy56; } -yy341: - YYDEBUG(341, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy342: - YYDEBUG(342, *YYCURSOR); - if (yych <= '@') { - if (yych <= '\'') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy341; - } else { - if (yych == ' ') goto yy341; - goto yy56; - } - } else { - if (yych <= '+') { - if (yych <= '(') goto yy233; - if (yych <= '*') goto yy56; - goto yy232; - } else { - if (yych == '-') goto yy232; - goto yy56; - } - } - } else { - if (yych <= 'Z') { - if (yych <= 'G') { - if (yych <= 'A') goto yy343; - if (yych <= 'F') goto yy234; - goto yy231; - } else { - if (yych != 'P') goto yy234; - } - } else { - if (yych <= 'o') { - if (yych <= '`') goto yy56; - if (yych <= 'a') goto yy344; - goto yy235; - } else { - if (yych <= 'p') goto yy344; - if (yych <= 'z') goto yy235; - goto yy56; - } - } +yy480: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy486; + case '0': + case '1': + case '2': goto yy670; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy668; + default: goto yy56; } -yy343: - YYDEBUG(343, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= '.') goto yy285; - if (yych <= '@') goto yy222; - goto yy236; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy345; - if (yych <= 'Z') goto yy236; - goto yy222; - } else { - if (yych == 'm') goto yy346; - if (yych <= 'z') goto yy241; - goto yy222; - } +yy481: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy486; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy668; + case '5': + case '6': + case '7': + case '8': + case '9': goto yy671; + default: goto yy56; } -yy344: - YYDEBUG(344, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= '.') goto yy285; - if (yych <= '@') goto yy222; - goto yy236; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy345; - if (yych <= 'Z') goto yy236; - goto yy222; - } else { - if (yych == 'm') goto yy345; - if (yych <= 'z') goto yy236; - goto yy222; - } +yy482: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy486; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy671; + default: goto yy56; } -yy345: - YYDEBUG(345, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy277; - if (yych <= 0x08) goto yy222; - goto yy277; - } else { - if (yych == ' ') goto yy277; - if (yych <= '(') goto yy222; - goto yy227; - } - } else { - if (yych <= '@') { - if (yych == '.') goto yy287; - goto yy222; - } else { - if (yych <= 'Z') goto yy237; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy237; - goto yy222; - } +yy483: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy672; + case '6': + case '7': + case '8': + case '9': goto yy674; + default: goto yy56; } -yy346: - YYDEBUG(346, *YYCURSOR); - yyaccept = 7; +yy484: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy277; - if (yych == '\t') goto yy277; - goto yy222; - } else { - if (yych <= '(') { - if (yych <= ' ') goto yy277; - goto yy222; - } else { - if (yych <= ')') goto yy227; - if (yych <= ',') goto yy222; - goto yy243; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '.') goto yy287; - if (yych <= '/') goto yy243; - if (yych <= '@') goto yy222; - goto yy237; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy222; - goto yy243; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy242; - goto yy222; - } - } + switch (yych) { + case '0': goto yy675; + case '1': goto yy676; + case '2': goto yy677; + case '3': + case '4': + case '5': goto yy678; + case '6': + case '7': + case '8': + case '9': goto yy679; + default: goto yy304; } -yy347: - YYDEBUG(347, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy224; - goto yy198; - } else { - if (yych <= '9') goto yy288; - if (yych <= ':') goto yy224; - goto yy198; +yy485: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy486; + case '0': goto yy668; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy670; + default: goto yy56; } -yy348: - YYDEBUG(348, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych != '.') goto yy198; - } else { - if (yych <= '9') goto yy288; - if (yych >= ';') goto yy198; +yy486: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy680; + case '6': + case '7': + case '8': + case '9': goto yy681; + default: goto yy56; } -yy349: - YYDEBUG(349, *YYCURSOR); +yy487: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy350; - if (yych <= '6') goto yy351; - if (yych <= '9') goto yy223; - goto yy56; -yy350: - YYDEBUG(350, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy224; - goto yy222; - } else { - if (yych <= '9') goto yy352; - if (yych <= ':') goto yy224; - goto yy222; + switch (yych) { + case '.': + case ':': goto yy483; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy489; + default: goto yy56; } -yy351: - YYDEBUG(351, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy224; - goto yy222; - } else { - if (yych <= '0') goto yy228; - if (yych == ':') goto yy224; - goto yy222; +yy488: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy483; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy489; + default: goto yy56; } -yy352: - YYDEBUG(352, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy230; - if (yych <= 0x1F) goto yy222; - goto yy230; - } else { - if (yych <= '(') { - if (yych <= '\'') goto yy222; - goto yy230; - } else { - if (yych == '+') goto yy230; - goto yy222; - } - } - } else { - if (yych <= ':') { - if (yych <= '-') goto yy230; - if (yych <= '.') goto yy224; - if (yych <= '9') goto yy222; - goto yy224; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy222; - goto yy230; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy230; - goto yy222; - } - } +yy489: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy483; + default: goto yy56; } -yy353: - YYDEBUG(353, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy337; - goto yy198; - } else { - if (yych <= '9') goto yy288; - if (yych <= ':') goto yy337; - goto yy198; +yy490: + yych = *++YYCURSOR; + switch (yych) { + case '.': + case ':': goto yy483; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy671; + default: goto yy56; } -yy354: - YYDEBUG(354, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych == '.') goto yy299; - goto yy215; - } else { - if (yych <= '0') goto yy331; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy263; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } +yy491: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy671; + default: goto yy56; } -yy355: - YYDEBUG(355, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych == '.') goto yy299; - goto yy215; - } else { - if (yych <= '0') goto yy331; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy263; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } +yy492: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'a': goto yy682; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + default: goto yy18; } -yy356: - YYDEBUG(356, *YYCURSOR); - yyaccept = 6; +yy493: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy359; - goto yy360; - } else { - if (yych <= '2') goto yy367; - if (yych <= '9') goto yy368; - goto yy215; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy211; - if (yych <= 'q') goto yy215; - goto yy212; - } else { - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + default: goto yy274; } -yy357: - YYDEBUG(357, *YYCURSOR); - yyaccept = 6; +yy494: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy359; - goto yy360; - } else { - if (yych <= '2') goto yy367; - if (yych <= '9') goto yy368; - goto yy215; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy211; - if (yych <= 'q') goto yy215; - goto yy212; - } else { - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': goto yy682; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'a': goto yy683; + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + default: goto yy18; } -yy358: - YYDEBUG(358, *YYCURSOR); - yyaccept = 6; +yy495: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych >= '1') goto yy360; - } else { - if (yych <= '2') goto yy208; - if (yych <= '9') goto yy209; - goto yy215; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy211; - if (yych <= 'q') goto yy215; - goto yy212; - } else { - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy684; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + default: goto yy274; } -yy359: - YYDEBUG(359, *YYCURSOR); - yyaccept = 6; +yy496: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych <= ',') goto yy215; - if (yych <= '-') goto yy361; - if (yych <= '.') goto yy330; - goto yy215; - } else { - if (yych <= '0') goto yy331; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy220; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + switch (yych) { + case '\t': goto yy685; + case ' ': goto yy687; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + default: goto yy18; } -yy360: - YYDEBUG(360, *YYCURSOR); - yyaccept = 6; +yy497: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych <= ',') goto yy215; - if (yych <= '-') goto yy361; - if (yych <= '.') goto yy299; - goto yy215; - } else { - if (yych <= '0') goto yy300; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy263; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + switch (yych) { + case '\t': goto yy685; + case ' ': goto yy687; + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + default: goto yy18; } -yy361: - YYDEBUG(361, *YYCURSOR); +yy498: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(362, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy363; - if (yych <= '9') goto yy364; -yy363: - YYDEBUG(363, *YYCURSOR); -#line 1478 "ext/date/lib/parse_date.re" - { - 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; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'H': + case 'h': goto yy633; + default: goto yy18; } -#line 6589 "ext/date/lib/parse_date.c" -yy364: - YYDEBUG(364, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy363; - if (yych >= ':') goto yy363; - YYDEBUG(365, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy363; - if (yych >= ':') goto yy363; - YYDEBUG(366, *YYCURSOR); +yy499: yych = *++YYCURSOR; - goto yy363; -yy367: - YYDEBUG(367, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych <= ',') goto yy215; - if (yych <= '-') goto yy361; - if (yych <= '.') goto yy299; - goto yy215; - } else { - if (yych <= '0') goto yy331; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy263; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'I': + case 'i': goto yy688; + default: goto yy18; } -yy368: - YYDEBUG(368, *YYCURSOR); - yyaccept = 6; +yy500: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych <= ',') goto yy215; - if (yych <= '-') goto yy361; - if (yych <= '.') goto yy299; - goto yy215; - } else { - if (yych <= '0') goto yy331; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy263; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'H': goto yy633; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'h': goto yy636; + default: goto yy18; } -yy369: - YYDEBUG(369, *YYCURSOR); - yyaccept = 0; +yy501: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'B') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'C') goto yy192; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'b') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'c') goto yy370; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'I': goto yy688; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'i': goto yy689; + default: goto yy18; } -yy370: - YYDEBUG(370, *YYCURSOR); - yyaccept = 5; +yy502: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - } else { - if (yych == '/') goto yy147; - goto yy195; - } - } - } else { - if (yych <= '^') { - if (yych <= 'D') { - if (yych <= '@') goto yy193; - goto yy142; - } else { - if (yych <= 'E') goto yy201; - if (yych <= 'Z') goto yy142; - goto yy193; - } - } else { - if (yych <= 'd') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy193; - goto yy150; - } else { - if (yych <= 'e') goto yy372; - if (yych <= 'z') goto yy150; - goto yy193; - } - } + switch (yych) { + case '\t': + case ' ': goto yy685; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + default: goto yy18; } -yy371: - YYDEBUG(371, *YYCURSOR); - yych = *++YYCURSOR; - if (yybm[0+yych] & 8) { - goto yy148; +yy503: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + default: goto yy504; } - if (yych <= '/') goto yy195; - if (yych <= '0') goto yy356; - if (yych <= '2') goto yy357; - if (yych <= '3') goto yy358; - goto yy195; -yy372: - YYDEBUG(372, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'M') goto yy202; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'l') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'm') goto yy373; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy504: +#line 972 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("noon"); + TIMELIB_INIT; + TIMELIB_UNHAVE_TIME(); + TIMELIB_HAVE_TIME(); + s->time->h = 12; + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; } -yy373: - YYDEBUG(373, *YYCURSOR); - yyaccept = 0; +#line 18900 "" +yy505: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'B') goto yy203; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'b') goto yy374; - if (yych <= 'z') goto yy152; - goto yy3; - } - } + switch (yych) { + case '\t': + case ' ': goto yy685; + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + default: goto yy18; } -yy374: - YYDEBUG(374, *YYCURSOR); - yyaccept = 0; +yy506: + yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'E') goto yy204; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'e') goto yy375; - if (yych <= 'z') goto yy153; - goto yy3; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + default: goto yy504; } -yy375: - YYDEBUG(375, *YYCURSOR); +yy507: yych = *++YYCURSOR; - if (yych == 'R') goto yy205; - if (yych != 'r') goto yy154; -yy376: - YYDEBUG(376, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy153; - } - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy195; - goto yy193; - } else { - if (yych <= ' ') goto yy195; - if (yych <= ',') goto yy193; - } - } else { - if (yych <= '9') { - if (yych == '/') goto yy147; - goto yy195; - } else { - if (yych == '_') goto yy147; - goto yy193; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'B': + case 'b': goto yy690; + default: goto yy18; } -yy377: - YYDEBUG(377, *YYCURSOR); - yych = *++YYCURSOR; - if (yybm[0+yych] & 8) { - goto yy148; +yy508: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'B': goto yy690; + case 'a': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'b': goto yy691; + default: goto yy18; } - goto yy195; -yy378: - YYDEBUG(378, *YYCURSOR); +yy509: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy141; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 't') goto yy379; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'I': + case 'i': goto yy692; + default: goto yy18; } -yy379: - YYDEBUG(379, *YYCURSOR); - yyaccept = 5; +yy510: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy193; - } else { - if (yych <= '-') goto yy196; - if (yych <= '.') goto yy195; - goto yy193; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych != 'O') goto yy142; - } - } else { - if (yych <= 'n') { - if (yych <= '`') goto yy193; - goto yy142; - } else { - if (yych <= 'o') goto yy380; - if (yych <= 'z') goto yy142; - goto yy193; - } - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'I': goto yy692; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'i': goto yy693; + default: goto yy18; } -yy380: - YYDEBUG(380, *YYCURSOR); +yy511: yych = *++YYCURSOR; - if (yych <= 'B') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'A') goto yy143; - } - } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'b') goto yy381; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'R': + case 'r': goto yy694; + default: goto yy18; } -yy381: - YYDEBUG(381, *YYCURSOR); +yy512: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy144; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'e') goto yy382; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'N': + case 'n': goto yy695; + default: goto yy18; + } +yy513: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy444; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'E': + case 'e': goto yy696; + default: goto yy274; } -yy382: - YYDEBUG(382, *YYCURSOR); +yy514: yych = *++YYCURSOR; - if (yych <= 'Q') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'R') goto yy205; - if (yych == 'r') goto yy205; - goto yy3; - } -yy383: - YYDEBUG(383, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy379; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 't') goto yy384; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'N': + case 'n': goto yy697; + default: goto yy18; } -yy384: - YYDEBUG(384, *YYCURSOR); - yyaccept = 5; +yy515: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy371; - } else { - if (yych == '/') goto yy147; - goto yy195; - } - } - } else { - if (yych <= '^') { - if (yych <= 'N') { - if (yych <= '@') goto yy193; - goto yy142; - } else { - if (yych <= 'O') goto yy380; - if (yych <= 'Z') goto yy142; - goto yy193; - } - } else { - if (yych <= 'n') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy193; - goto yy150; - } else { - if (yych <= 'o') goto yy385; - if (yych <= 'z') goto yy150; - goto yy193; - } - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'R': goto yy694; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'r': goto yy698; + default: goto yy18; } -yy385: - YYDEBUG(385, *YYCURSOR); - yyaccept = 0; +yy516: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'B') goto yy381; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'b') goto yy386; - if (yych <= 'z') goto yy151; - goto yy3; - } - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'N': goto yy695; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'n': goto yy699; + default: goto yy18; } -yy386: - YYDEBUG(386, *YYCURSOR); - yyaccept = 0; +yy517: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy382; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'e') goto yy387; - if (yych <= 'z') goto yy152; - goto yy3; - } - } + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy450; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'E': goto yy696; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'e': goto yy700; + default: goto yy274; } -yy387: - YYDEBUG(387, *YYCURSOR); - yyaccept = 0; +yy518: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'R') goto yy205; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'r') goto yy376; - if (yych <= 'z') goto yy153; - goto yy3; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'N': goto yy697; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'n': goto yy701; + default: goto yy18; } -yy388: - YYDEBUG(388, *YYCURSOR); +yy519: yych = *++YYCURSOR; - if (yych <= 'G') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'F') goto yy141; - goto yy396; - } - } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'g') goto yy396; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy702; + default: goto yy56; } -yy389: - YYDEBUG(389, *YYCURSOR); +yy520: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'Q') goto yy141; - goto yy393; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'r') goto yy393; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'D': + case 'd': goto yy646; + default: goto yy18; } -yy390: - YYDEBUG(390, *YYCURSOR); +yy521: yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'N') goto yy141; - } - } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'o') goto yy391; - if (yych <= 'z') goto yy141; - goto yy3; - } - } -yy391: - YYDEBUG(391, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy139; - } else { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy392; - if (yych <= 'z') goto yy142; - } -yy392: - YYDEBUG(392, *YYCURSOR); -#line 1536 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("ago"); - TIMELIB_INIT; - s->time->relative.y = 0 - s->time->relative.y; - s->time->relative.m = 0 - s->time->relative.m; - s->time->relative.d = 0 - s->time->relative.d; - s->time->relative.h = 0 - s->time->relative.h; - s->time->relative.i = 0 - s->time->relative.i; - s->time->relative.s = 0 - s->time->relative.s; - s->time->relative.weekday = 0 - s->time->relative.weekday; - if (s->time->relative.weekday == 0) { - s->time->relative.weekday = -7; - } - if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) { - s->time->relative.special.amount = 0 - s->time->relative.special.amount; - } - TIMELIB_DEINIT; - return TIMELIB_AGO; - } -#line 7247 "ext/date/lib/parse_date.c" -yy393: - YYDEBUG(393, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy193; - } else { - if (yych <= '-') goto yy196; - if (yych <= '.') goto yy195; - goto yy193; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych != 'I') goto yy142; - } - } else { - if (yych <= 'h') { - if (yych <= '`') goto yy193; - goto yy142; - } else { - if (yych <= 'i') goto yy394; - if (yych <= 'z') goto yy142; - goto yy193; - } - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'S': + case 's': goto yy694; + default: goto yy18; } -yy394: - YYDEBUG(394, *YYCURSOR); +yy522: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'K') goto yy143; - } - } else { - if (yych <= 'k') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'l') goto yy395; - if (yych <= 'z') goto yy143; - goto yy3; - } - } -yy395: - YYDEBUG(395, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy195; - goto yy193; - } else { - if (yych <= ' ') goto yy195; - if (yych == ')') goto yy139; - goto yy193; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy193; - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy193; - if (yych <= 'z') goto yy144; - goto yy193; - } - } -yy396: - YYDEBUG(396, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy193; - } else { - if (yych <= '-') goto yy196; - if (yych <= '.') goto yy195; - goto yy193; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych != 'U') goto yy142; - } - } else { - if (yych <= 't') { - if (yych <= '`') goto yy193; - goto yy142; - } else { - if (yych <= 'u') goto yy397; - if (yych <= 'z') goto yy142; - goto yy193; - } - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'z': goto yy630; + case 'Y': + case 'y': goto yy703; + default: goto yy18; } -yy397: - YYDEBUG(397, *YYCURSOR); +yy523: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'R') goto yy143; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 's') goto yy398; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'R': + case 'r': goto yy705; + default: goto yy18; } -yy398: - YYDEBUG(398, *YYCURSOR); +yy524: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy144; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 't') goto yy399; - if (yych <= 'z') goto yy144; - goto yy3; - } - } -yy399: - YYDEBUG(399, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '.') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy195; - } else { - if (yych <= '/') goto yy193; - if (yych <= '9') goto yy195; - goto yy193; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'D': + case 'd': goto yy706; + default: goto yy18; } -yy400: - YYDEBUG(400, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'F') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'G') goto yy396; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'f') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'g') goto yy407; - if (yych <= 'z') goto yy146; - goto yy3; - } - } +yy525: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'F': + case 'f': goto yy697; + default: goto yy18; } -yy401: - YYDEBUG(401, *YYCURSOR); - yyaccept = 0; +yy526: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy393; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'r') goto yy404; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'D': goto yy646; + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'd': goto yy652; + default: goto yy18; } -yy402: - YYDEBUG(402, *YYCURSOR); - yyaccept = 0; +yy527: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'O') goto yy391; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'n') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'o') goto yy403; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'S': goto yy694; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 's': goto yy698; + default: goto yy18; } -yy403: - YYDEBUG(403, *YYCURSOR); - yyaccept = 9; +yy528: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy392; - } else { - if (yych == '.') goto yy392; - goto yy147; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy392; - if (yych <= 'Z') goto yy142; - goto yy392; - } else { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy392; - if (yych <= 'z') goto yy150; - goto yy392; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Z': goto yy630; + case 'Y': goto yy703; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'z': goto yy635; + case 'y': goto yy707; + default: goto yy18; } -yy404: - YYDEBUG(404, *YYCURSOR); - yyaccept = 5; +yy529: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy371; - } else { - if (yych == '/') goto yy147; - goto yy195; - } - } - } else { - if (yych <= '^') { - if (yych <= 'H') { - if (yych <= '@') goto yy193; - goto yy142; - } else { - if (yych <= 'I') goto yy394; - if (yych <= 'Z') goto yy142; - goto yy193; - } - } else { - if (yych <= 'h') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy193; - goto yy150; - } else { - if (yych <= 'i') goto yy405; - if (yych <= 'z') goto yy150; - goto yy193; - } - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'R': goto yy705; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'r': goto yy708; + default: goto yy18; } -yy405: - YYDEBUG(405, *YYCURSOR); - yyaccept = 0; +yy530: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'K') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'L') goto yy395; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'k') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'l') goto yy406; - if (yych <= 'z') goto yy151; - goto yy3; - } - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'D': goto yy706; + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'd': goto yy709; + default: goto yy18; } -yy406: - YYDEBUG(406, *YYCURSOR); - yyaccept = 5; +yy531: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy195; - if (yych <= 0x1F) goto yy193; - goto yy195; - } else { - if (yych <= ')') { - if (yych <= '(') goto yy193; - goto yy139; - } else { - if (yych <= ',') goto yy193; - if (yych <= '-') goto yy377; - goto yy195; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '/') goto yy147; - if (yych <= '9') goto yy195; - if (yych <= '@') goto yy193; - goto yy144; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy193; - goto yy147; - } else { - if (yych <= '`') goto yy193; - if (yych <= 'z') goto yy152; - goto yy193; - } - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'F': goto yy697; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'f': goto yy701; + default: goto yy18; } -yy407: - YYDEBUG(407, *YYCURSOR); - yyaccept = 5; +yy532: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy371; - } else { - if (yych == '/') goto yy147; - goto yy195; - } - } - } else { - if (yych <= '^') { - if (yych <= 'T') { - if (yych <= '@') goto yy193; - goto yy142; - } else { - if (yych <= 'U') goto yy397; - if (yych <= 'Z') goto yy142; - goto yy193; - } - } else { - if (yych <= 't') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy193; - goto yy150; - } else { - if (yych <= 'u') goto yy408; - if (yych <= 'z') goto yy150; - goto yy193; - } - } + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + default: goto yy18; + } +yy533: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'E': + case 'e': goto yy710; + default: goto yy18; } -yy408: - YYDEBUG(408, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy398; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 's') goto yy409; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy534: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'D': + case 'd': goto yy711; + default: goto yy18; } -yy409: - YYDEBUG(409, *YYCURSOR); - yyaccept = 0; +yy535: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy399; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 't') goto yy410; - if (yych <= 'z') goto yy152; - goto yy3; - } - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'E': goto yy710; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'e': goto yy712; + default: goto yy18; } -yy410: - YYDEBUG(410, *YYCURSOR); - yyaccept = 5; +yy536: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy153; - } - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy195; - goto yy193; - } else { - if (yych <= ' ') goto yy195; - if (yych == ')') goto yy139; - goto yy193; - } - } else { - if (yych <= '/') { - if (yych <= '-') goto yy377; - if (yych <= '.') goto yy195; - goto yy147; - } else { - if (yych <= '9') goto yy195; - if (yych == '_') goto yy147; - goto yy193; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'D': goto yy711; + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'd': goto yy713; + default: goto yy18; } -yy411: - YYDEBUG(411, *YYCURSOR); +yy537: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == 'L') goto yy418; - if (yych <= 'M') goto yy141; - goto yy417; - } - } else { - if (yych <= 'l') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - if (yych <= 'k') goto yy141; - goto yy418; - } else { - if (yych == 'n') goto yy417; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy630; + case 'E': + case 'e': goto yy714; + default: goto yy18; } -yy412: - YYDEBUG(412, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy141; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'n') goto yy413; - if (yych <= 'z') goto yy141; - goto yy3; - } +yy538: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy630; + case 'E': goto yy714; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy635; + case 'e': goto yy715; + default: goto yy18; } -yy413: - YYDEBUG(413, *YYCURSOR); - yyaccept = 5; +yy539: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy193; - } else { - if (yych <= '-') goto yy196; - if (yych <= '.') goto yy195; - goto yy193; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych != 'U') goto yy142; - } - } else { - if (yych <= 't') { - if (yych <= '`') goto yy193; - goto yy142; - } else { - if (yych <= 'u') goto yy414; - if (yych <= 'z') goto yy142; - goto yy193; - } - } + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '-': goto yy716; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + default: goto yy18; } -yy414: - YYDEBUG(414, *YYCURSOR); +yy540: yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy143; - goto yy3; - } else { - if (yych <= 'a') goto yy415; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case '-': goto yy716; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + default: goto yy186; } -yy415: - YYDEBUG(415, *YYCURSOR); +yy541: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'Q') goto yy144; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'r') goto yy416; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy717; + default: goto yy56; } -yy416: - YYDEBUG(416, *YYCURSOR); +yy542: yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'Y') goto yy205; - if (yych == 'y') goto yy205; - goto yy3; - } -yy417: - YYDEBUG(417, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy193; - } else { - if (yych <= '-') goto yy196; - if (yych <= '.') goto yy195; - goto yy193; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych == 'E') goto yy419; - goto yy142; - } - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy193; - goto yy142; - } else { - if (yych <= 'e') goto yy419; - if (yych <= 'z') goto yy142; - goto yy193; - } - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy718; + default: goto yy56; } -yy418: - YYDEBUG(418, *YYCURSOR); - yyaccept = 5; +yy543: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy193; - } else { - if (yych <= '-') goto yy196; - if (yych <= '.') goto yy195; - goto yy193; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych != 'Y') goto yy142; - } - } else { - if (yych <= 'x') { - if (yych <= '`') goto yy193; - goto yy142; - } else { - if (yych <= 'y') goto yy419; - if (yych <= 'z') goto yy142; - goto yy193; - } - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy720; + case 'n': + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy544; } -yy419: - YYDEBUG(419, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy195; - goto yy193; - } else { - if (yych <= ' ') goto yy195; - if (yych == ')') goto yy139; - goto yy193; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy193; - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy193; - if (yych <= 'z') goto yy143; - goto yy193; - } +yy544: +#line 1279 "ext/date/lib/parse_date.re" + { + 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; } -yy420: - YYDEBUG(420, *YYCURSOR); - yyaccept = 0; +#line 21058 "" +yy545: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych == '-') goto yy147; - goto yy3; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy147; - goto yy3; - } else { - if (yych == 'L') goto yy418; - goto yy141; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'N') goto yy417; - goto yy141; - } else { - if (yych == '_') goto yy147; - goto yy3; - } - } else { - if (yych <= 'm') { - if (yych == 'l') goto yy427; - goto yy146; - } else { - if (yych <= 'n') goto yy426; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case '0': + case '1': goto yy720; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy717; + case 'n': + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy544; } -yy421: - YYDEBUG(421, *YYCURSOR); - yyaccept = 0; +yy546: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy413; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'n') goto yy422; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy717; + case 'n': + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy544; } -yy422: - YYDEBUG(422, *YYCURSOR); +yy547: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy371; - } else { - if (yych == '/') goto yy147; - goto yy195; - } - } - } else { - if (yych <= '^') { - if (yych <= 'T') { - if (yych <= '@') goto yy193; - goto yy142; - } else { - if (yych <= 'U') goto yy414; - if (yych <= 'Z') goto yy142; - goto yy193; - } - } else { - if (yych <= 't') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy193; - goto yy150; - } else { - if (yych <= 'u') goto yy423; - if (yych <= 'z') goto yy150; - goto yy193; - } - } - } -yy423: - YYDEBUG(423, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy415; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy424; - if (yych <= 'z') goto yy151; - goto yy3; - } + switch (yych) { + case '.': goto yy724; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy725; + default: goto yy208; } -yy424: - YYDEBUG(424, *YYCURSOR); - yyaccept = 0; +yy548: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy416; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'r') goto yy425; - if (yych <= 'z') goto yy152; - goto yy3; - } - } + switch (yych) { + case '.': goto yy724; + case '0': goto yy725; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy718; + default: goto yy208; } -yy425: - YYDEBUG(425, *YYCURSOR); - yyaccept = 0; +yy549: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'Y') goto yy205; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'y') goto yy376; - if (yych <= 'z') goto yy153; - goto yy3; - } + switch (yych) { + case '.': goto yy724; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy718; + default: goto yy208; } -yy426: - YYDEBUG(426, *YYCURSOR); +yy550: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy371; - } else { - if (yych == '/') goto yy147; - goto yy195; - } - } - } else { - if (yych <= '^') { - if (yych <= 'D') { - if (yych <= '@') goto yy193; - goto yy142; - } else { - if (yych <= 'E') goto yy419; - if (yych <= 'Z') goto yy142; - goto yy193; - } - } else { - if (yych <= 'd') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy193; - goto yy150; - } else { - if (yych <= 'e') goto yy428; - if (yych <= 'z') goto yy150; - goto yy193; - } - } + switch (yych) { + case '.': goto yy724; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy552; + default: goto yy208; } -yy427: - YYDEBUG(427, *YYCURSOR); +yy551: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy371; - } else { - if (yych == '/') goto yy147; - goto yy195; - } - } - } else { - if (yych <= '^') { - if (yych <= 'X') { - if (yych <= '@') goto yy193; - goto yy142; - } else { - if (yych <= 'Y') goto yy419; - if (yych <= 'Z') goto yy142; - goto yy193; - } - } else { - if (yych <= 'x') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy193; - goto yy150; - } else { - if (yych <= 'y') goto yy428; - if (yych <= 'z') goto yy150; - goto yy193; - } - } + switch (yych) { + case '.': goto yy724; + case '0': goto yy552; + default: goto yy208; } -yy428: - YYDEBUG(428, *YYCURSOR); +yy552: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy195; - if (yych <= 0x1F) goto yy193; - goto yy195; - } else { - if (yych <= ')') { - if (yych <= '(') goto yy193; - goto yy139; - } else { - if (yych <= ',') goto yy193; - if (yych <= '-') goto yy377; - goto yy195; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '/') goto yy147; - if (yych <= '9') goto yy195; - if (yych <= '@') goto yy193; - goto yy143; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy193; - goto yy147; - } else { - if (yych <= '`') goto yy193; - if (yych <= 'z') goto yy151; - goto yy193; - } - } + switch (yych) { + case '.': goto yy724; + default: goto yy208; + } +yy553: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy726; + default: goto yy213; + } +yy554: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '/': goto yy378; + default: goto yy213; + } +yy555: + yych = *++YYCURSOR; + switch (yych) { + case '/': goto yy727; + default: goto yy56; + } +yy556: + yych = *++YYCURSOR; + switch (yych) { + case '/': goto yy727; + case 'T': + case 't': goto yy555; + default: goto yy56; + } +yy557: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy728; + case '.': goto yy372; + default: goto yy56; + } +yy558: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy618; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy434; + default: goto yy56; + } +yy559: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy618; + case '0': + case '1': + case '2': goto yy434; + default: goto yy56; + } +yy560: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy561: + switch (yych) { + case '\t': + case ' ': goto yy560; + case '-': + case '.': goto yy729; + case 'A': + case 'a': goto yy572; + case 'D': + case 'd': goto yy573; + case 'F': + case 'f': goto yy574; + case 'H': + case 'h': goto yy76; + case 'I': goto yy575; + case 'J': + case 'j': goto yy577; + case 'M': + case 'm': goto yy578; + case 'N': + case 'n': goto yy579; + case 'O': + case 'o': goto yy580; + case 'S': + case 's': goto yy581; + case 'T': + case 't': goto yy84; + case 'V': goto yy582; + case 'W': + case 'w': goto yy86; + case 'X': goto yy584; + case 'Y': + case 'y': goto yy88; + default: goto yy56; + } +yy562: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy731; + case '1': goto yy733; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy734; + case 'A': + case 'a': goto yy735; + case 'D': + case 'd': goto yy736; + case 'F': + case 'f': goto yy737; + case 'J': + case 'j': goto yy738; + case 'M': + case 'm': goto yy739; + case 'N': + case 'n': goto yy740; + case 'O': + case 'o': goto yy741; + case 'S': + case 's': goto yy742; + case 'W': goto yy743; + default: goto yy730; + } +yy563: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy744; + case '1': + case '2': goto yy745; + case '3': goto yy746; + default: goto yy730; + } +yy564: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy751; + case '1': goto yy752; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy753; + default: goto yy56; + } +yy565: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy754; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy756; + default: goto yy186; + } +yy566: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': goto yy756; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy757; + default: goto yy186; + } +yy567: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy757; + default: goto yy186; + } +yy568: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy757; + case '6': goto yy758; + case '7': + case '8': + case '9': goto yy759; + default: goto yy186; + } +yy569: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy759; + default: goto yy186; } -yy429: - YYDEBUG(429, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy195; - if (yych <= 0x1F) goto yy3; - goto yy195; - } else { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy195; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy3; - if (yych <= '9') goto yy195; - if (yych <= '@') goto yy3; - goto yy141; - } else { - if (yych <= 'Z') { - if (yych >= 'J') goto yy141; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy141; - goto yy3; - } - } +yy570: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy759; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + default: goto yy186; } -yy430: - YYDEBUG(430, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy195; - goto yy3; - } else { - if (yych <= ' ') goto yy195; - if (yych == ')') goto yy139; - goto yy3; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy3; - if (yych <= '9') goto yy195; - goto yy3; - } else { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy142; - goto yy3; - } +yy571: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy760; + case '1': goto yy761; + default: goto yy56; } -yy431: - YYDEBUG(431, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy195; - if (yych <= 0x1F) goto yy3; - goto yy195; - } else { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy195; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy3; - if (yych <= '9') goto yy195; - if (yych <= '@') goto yy3; - goto yy141; - } else { - if (yych <= 'Z') { - if (yych >= 'J') goto yy141; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy141; - goto yy3; - } - } +yy572: + yych = *++YYCURSOR; + switch (yych) { + case 'P': + case 'p': goto yy762; + case 'U': + case 'u': goto yy763; + default: goto yy56; } - YYDEBUG(432, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy195; - if (yych <= 0x1F) goto yy3; - goto yy195; - } else { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy195; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy3; - if (yych <= '9') goto yy195; - if (yych <= '@') goto yy3; - goto yy142; - } else { - if (yych <= 'Z') { - if (yych >= 'J') goto yy142; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy142; - goto yy3; - } - } +yy573: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy231; + case 'E': + case 'e': goto yy764; + default: goto yy56; } - YYDEBUG(433, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy195; - goto yy3; - } else { - if (yych <= ' ') goto yy195; - if (yych == ')') goto yy139; - goto yy3; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy3; - if (yych <= '9') goto yy195; - goto yy3; - } else { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy143; - goto yy3; - } +yy574: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy765; + case 'O': + case 'o': goto yy234; + case 'R': + case 'r': goto yy235; + default: goto yy56; } -yy434: - YYDEBUG(434, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy195; - goto yy3; - } else { - if (yych <= ' ') goto yy195; - if (yych == ')') goto yy139; - goto yy3; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy3; - if (yych <= '9') goto yy195; - goto yy3; - } else { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy141; - goto yy3; - } +yy575: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case 'I': goto yy766; + case 'V': + case 'X': goto yy767; + default: goto yy576; } -yy435: - YYDEBUG(435, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy195; - if (yych <= 0x1F) goto yy3; - goto yy195; - } else { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy195; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy3; - if (yych <= '9') goto yy195; - if (yych <= '@') goto yy3; - goto yy141; - } else { - if (yych <= 'Z') { - if (yych <= 'I') goto yy430; - goto yy141; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy141; - goto yy3; - } - } +yy576: +#line 1348 "ext/date/lib/parse_date.re" + { + 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; } -yy436: - YYDEBUG(436, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - 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 yy456; - } else { - if (yych <= ':') goto yy162; - if (yych <= 'C') goto yy3; - goto yy60; - } - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy60; - 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 <= 'T') goto yy60; - goto yy3; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy3; - if (yych <= 'Y') goto yy60; - goto yy3; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy60; - goto yy3; - } else { - if (yych == 'g') goto yy3; - goto yy60; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy3; - goto yy60; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy3; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy3; - } - } - } +#line 21493 "" +yy577: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy768; + case 'U': + case 'u': goto yy769; + default: goto yy56; } -yy437: - YYDEBUG(437, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy3; - goto yy60; - } else { - if (yych <= '4') { - if (yych <= '/') goto yy3; - goto yy456; - } else { - if (yych <= '5') goto yy441; - if (yych <= '9') goto yy442; - goto yy162; - } - } - } else { - if (yych <= 'G') { - if (yych <= 'D') { - if (yych <= 'C') goto yy3; - goto yy60; - } else { - if (yych == 'F') goto yy60; - goto yy3; - } - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy60; - goto yy3; - } else { - if (yych <= 'M') goto yy60; - if (yych <= 'R') goto yy3; - goto yy60; - } - } - } - } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy60; - if (yych <= 'X') goto yy3; - goto yy60; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy3; - goto yy60; - } else { - if (yych == 'f') goto yy60; - goto yy3; - } - } - } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy60; - goto yy3; - } else { - if (yych <= 'm') goto yy60; - if (yych <= 'r') goto yy3; - goto yy60; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy3; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy3; - } - } - } +yy578: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy770; + case 'I': + case 'i': goto yy246; + case 'O': + case 'o': goto yy247; + default: goto yy56; } -yy438: - YYDEBUG(438, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - 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 yy441; - } else { - if (yych <= '9') goto yy442; - if (yych <= ':') goto yy162; - goto yy3; - } - } - } else { - if (yych <= 'G') { - if (yych == 'E') goto yy3; - if (yych <= 'F') goto yy60; - goto yy3; - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy60; - goto yy3; - } else { - if (yych <= 'M') goto yy60; - if (yych <= 'R') goto yy3; - goto yy60; - } - } - } - } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy60; - if (yych <= 'X') goto yy3; - goto yy60; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy3; - goto yy60; - } else { - if (yych == 'f') goto yy60; - goto yy3; - } - } - } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy60; - goto yy3; - } else { - if (yych <= 'm') goto yy60; - if (yych <= 'r') goto yy3; - goto yy60; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy3; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy3; - } - } - } +yy579: + yych = *++YYCURSOR; + switch (yych) { + case 'O': + case 'o': goto yy771; + default: goto yy56; } -yy439: - YYDEBUG(439, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(440, *YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy57; +yy580: + yych = *++YYCURSOR; + switch (yych) { + case 'C': + case 'c': goto yy772; + default: goto yy56; } - if (yych <= ',') { - if (yych == '+') goto yy439; - goto yy56; - } else { - if (yych <= '-') goto yy439; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy54; - goto yy56; +yy581: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy250; + case 'E': + case 'e': goto yy773; + case 'U': + case 'u': goto yy252; + default: goto yy56; } -yy441: - YYDEBUG(441, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy3; - goto yy60; - } else { - if (yych <= '/') goto yy3; - if (yych <= '9') goto yy455; - if (yych <= 'C') goto yy3; - goto yy60; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy60; - 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 <= 'T') goto yy60; - goto yy3; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy3; - if (yych <= 'Y') goto yy60; - goto yy3; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy60; - goto yy3; - } else { - if (yych == 'g') goto yy3; - goto yy60; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy3; - goto yy60; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy3; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy3; - } - } - } +yy582: + yych = *++YYCURSOR; + switch (yych) { + case 'I': goto yy584; + default: goto yy576; } -yy442: - YYDEBUG(442, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy3; - goto yy60; - } else { - if (yych <= '/') goto yy3; - if (yych <= '9') goto yy443; - if (yych <= 'C') goto yy3; - goto yy60; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy60; - 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 <= 'T') goto yy60; - goto yy3; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy3; - if (yych <= 'Y') goto yy60; - goto yy3; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy60; - goto yy3; - } else { - if (yych == 'g') goto yy3; - goto yy60; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy3; - goto yy60; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy3; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy3; - } - } - } +yy583: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy774; + case '1': + case '2': + case '3': + case '4': goto yy775; + case '5': goto yy776; + case 'E': + case 'e': goto yy255; + default: goto yy56; } -yy443: - YYDEBUG(443, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych >= ':') goto yy60; -yy444: - YYDEBUG(444, *YYCURSOR); +yy584: yych = *++YYCURSOR; - if (yybm[0+yych] & 2) { - goto yy54; + switch (yych) { + case 'I': goto yy766; + default: goto yy576; } - if (yych != '-') goto yy60; -yy445: - YYDEBUG(445, *YYCURSOR); +yy585: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy446; - if (yych <= '1') goto yy447; - goto yy56; -yy446: - YYDEBUG(446, *YYCURSOR); + switch (yych) { + case '0': goto yy777; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy778; + default: goto yy186; + } +yy586: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy448; - goto yy56; -yy447: - YYDEBUG(447, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': goto yy778; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy779; + default: goto yy186; + } +yy587: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '3') goto yy56; -yy448: - YYDEBUG(448, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy779; + default: goto yy186; + } +yy588: yych = *++YYCURSOR; - if (yych != '-') goto yy56; - YYDEBUG(449, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy779; + case '6': goto yy780; + case '7': + case '8': + case '9': goto yy57; + default: goto yy186; + } +yy589: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy450; - if (yych <= '2') goto yy451; - if (yych <= '3') goto yy452; - goto yy56; -yy450: - YYDEBUG(450, *YYCURSOR); + switch (yych) { + case 'L': + case 'l': goto yy242; + default: goto yy56; + } +yy590: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy453; - goto yy56; -yy451: - YYDEBUG(451, *YYCURSOR); + switch (yych) { + case 'S': + case 's': goto yy781; + default: goto yy56; + } +yy591: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy453; - goto yy56; -yy452: - YYDEBUG(452, *YYCURSOR); + goto yy402; +yy592: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '2') goto yy56; -yy453: - YYDEBUG(453, *YYCURSOR); - ++YYCURSOR; -yy454: - YYDEBUG(454, *YYCURSOR); -#line 1239 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_DEINIT; - return TIMELIB_ISO_DATE; - } -#line 9008 "ext/date/lib/parse_date.c" -yy455: - YYDEBUG(455, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy3; - goto yy60; - } else { - if (yych <= '/') goto yy3; - if (yych <= '9') goto yy444; - if (yych <= 'C') goto yy3; - goto yy60; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy60; - 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 <= 'T') goto yy60; - goto yy3; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy3; - if (yych <= 'Y') goto yy60; - goto yy3; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy60; - goto yy3; - } else { - if (yych == 'g') goto yy3; - goto yy60; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy3; - goto yy60; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy3; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy3; - } - } - } - } -yy456: - YYDEBUG(456, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - 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 yy455; - if (yych <= ':') goto yy162; - goto yy3; - } - } - } else { - if (yych <= 'G') { - if (yych == 'E') goto yy3; - if (yych <= 'F') goto yy60; - goto yy3; - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy60; - goto yy3; - } else { - if (yych <= 'M') goto yy60; - if (yych <= 'R') goto yy3; - goto yy60; - } - } - } - } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy60; - if (yych <= 'X') goto yy3; - goto yy60; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy3; - goto yy60; - } else { - if (yych == 'f') goto yy60; - goto yy3; - } - } - } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy60; - goto yy3; - } else { - if (yych <= 'm') goto yy60; - if (yych <= 'r') goto yy3; - goto yy60; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy3; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy3; - } - } - } - } - YYDEBUG(457, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy3; - goto yy60; - } else { - if (yych <= '/') goto yy3; - if (yych <= '9') goto yy458; - if (yych <= 'C') goto yy3; - goto yy60; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy60; - 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 <= 'T') goto yy60; - goto yy3; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy3; - if (yych <= 'Y') goto yy60; - goto yy3; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy60; - goto yy3; - } else { - if (yych == 'g') goto yy3; - goto yy60; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy3; - goto yy60; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy3; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy3; - } - } - } + switch (yych) { + case 'M': + case 'm': goto yy601; + default: goto yy56; } -yy458: - YYDEBUG(458, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy54; - } - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy3; - goto yy60; - } else { - if (yych == '-') goto yy445; - if (yych <= 'C') goto yy3; - goto yy60; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy60; - 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 <= 'T') goto yy60; - goto yy3; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy3; - if (yych <= 'Y') goto yy60; - goto yy3; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy60; - goto yy3; - } else { - if (yych == 'g') goto yy3; - goto yy60; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy3; - goto yy60; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy3; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy3; - } - } - } +yy593: + yych = *++YYCURSOR; + switch (yych) { + case 'U': + case 'u': goto yy597; + default: goto yy56; } -yy459: - YYDEBUG(459, *YYCURSOR); +yy594: yych = *++YYCURSOR; - if (yych <= '/') goto yy461; - if (yych <= '0') goto yy735; - if (yych <= '1') goto yy736; - if (yych <= '9') goto yy737; - goto yy461; -yy460: - YYDEBUG(460, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); - yych = *YYCURSOR; -yy461: - YYDEBUG(461, *YYCURSOR); - YYDEBUG(-1, yych); switch (yych) { - case '\t': - case ' ': goto yy460; - case '-': - case '.': goto yy576; - case 'A': - case 'a': goto yy479; - case 'D': - case 'd': goto yy465; - case 'F': - case 'f': goto yy466; case 'H': - case 'h': goto yy63; - case 'I': goto yy474; - case 'J': - case 'j': goto yy478; - case 'M': - case 'm': goto yy464; + case 'h': goto yy782; case 'N': - case 'n': goto yy481; - case 'O': - case 'o': goto yy480; - case 'P': - case 'p': goto yy483; - case 'S': - case 's': goto yy462; - case 'T': - case 't': goto yy68; - case 'V': goto yy476; - case 'W': - case 'w': goto yy67; - case 'X': goto yy477; - case 'Y': - case 'y': goto yy66; + case 'n': goto yy783; default: goto yy56; } -yy462: - YYDEBUG(462, *YYCURSOR); +yy595: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'A') goto yy126; - goto yy56; - } else { - if (yych <= 'E') goto yy1048; - if (yych <= 'T') goto yy56; - goto yy125; - } - } else { - if (yych <= 'd') { - if (yych == 'a') goto yy126; - goto yy56; - } else { - if (yych <= 'e') goto yy1048; - if (yych == 'u') goto yy125; - goto yy56; - } + switch (yych) { + case 'A': + case 'a': goto yy784; + default: goto yy56; } -yy463: - YYDEBUG(463, *YYCURSOR); +yy596: yych = *++YYCURSOR; - if (yych <= '`') { - if (yych <= 'D') { - if (yych == 'A') goto yy126; - goto yy56; - } else { - if (yych <= 'E') goto yy1048; - if (yych == 'U') goto yy125; - goto yy56; - } - } else { - if (yych <= 'e') { - if (yych <= 'a') goto yy126; - if (yych <= 'd') goto yy56; - goto yy1048; - } else { - if (yych <= 's') goto yy56; - if (yych <= 't') goto yy728; - if (yych <= 'u') goto yy125; - goto yy56; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy785; + default: goto yy240; } -yy464: - YYDEBUG(464, *YYCURSOR); +yy597: yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'H') { - if (yych == 'A') goto yy591; - goto yy56; - } else { - if (yych <= 'I') goto yy117; - if (yych <= 'N') goto yy56; - goto yy116; - } - } else { - if (yych <= 'h') { - if (yych == 'a') goto yy591; - goto yy56; - } else { - if (yych <= 'i') goto yy117; - if (yych == 'o') goto yy116; - goto yy56; - } + switch (yych) { + case 'A': + case 'a': goto yy786; + default: goto yy56; } -yy465: - YYDEBUG(465, *YYCURSOR); +yy598: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych == 'A') goto yy113; - if (yych <= 'D') goto yy56; - goto yy578; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy113; - } else { - if (yych == 'e') goto yy578; - goto yy56; - } + switch (yych) { + case 'H': + case 'h': goto yy242; + default: goto yy56; } -yy466: - YYDEBUG(466, *YYCURSOR); +yy599: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= 'N') { - if (yych == 'E') goto yy594; - goto yy56; - } else { - if (yych <= 'O') goto yy98; - if (yych <= 'Q') goto yy56; - goto yy97; - } - } else { - if (yych <= 'n') { - if (yych == 'e') goto yy594; - goto yy56; - } else { - if (yych <= 'o') goto yy98; - if (yych == 'r') goto yy97; - goto yy56; - } + switch (yych) { + case 'T': + case 't': goto yy787; + default: goto yy56; + } +yy600: + yych = *++YYCURSOR; + switch (yych) { + case 'H': + case 'h': goto yy401; + default: goto yy56; + } +yy601: + yych = *++YYCURSOR; + switch (yych) { + case 'B': + case 'b': goto yy788; + default: goto yy56; } -yy467: - YYDEBUG(467, *YYCURSOR); +yy602: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'H') goto yy69; - if (yych <= 'T') goto yy56; - goto yy70; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy56; - goto yy1047; - } else { - if (yych == 'u') goto yy70; - goto yy56; - } + switch (yych) { + case 'R': + case 'r': goto yy605; + default: goto yy56; } -yy468: - YYDEBUG(468, *YYCURSOR); +yy603: yych = *++YYCURSOR; - if (yych == '-') goto yy741; - if (yych <= '/') goto yy60; - if (yych <= '9') goto yy740; - goto yy60; -yy469: - YYDEBUG(469, *YYCURSOR); + switch (yych) { + case 'N': + case 'n': goto yy789; + default: goto yy56; + } +yy604: yych = *++YYCURSOR; - if (yych <= 'c') { - if (yych == 'O') goto yy529; - goto yy56; - } else { - if (yych <= 'd') goto yy728; - if (yych == 'o') goto yy529; - goto yy56; + switch (yych) { + case 'S': + case 's': goto yy605; + default: goto yy56; } -yy470: - YYDEBUG(470, *YYCURSOR); +yy605: yych = *++YYCURSOR; - if (yych == 'd') goto yy728; - goto yy56; -yy471: - YYDEBUG(471, *YYCURSOR); + switch (yych) { + case 'D': + case 'd': goto yy595; + default: goto yy56; + } +yy606: + yych = *++YYCURSOR; + switch (yych) { + case 'E': + case 'e': goto yy604; + default: goto yy56; + } +yy607: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 'D': + case 'd': goto yy187; + case 'S': + case 's': goto yy591; + default: goto yy402; + } +yy608: yych = *++YYCURSOR; - YYDEBUG(-1, yych); switch (yych) { + case '-': + case '.': goto yy372; case '0': case '1': - case '2': goto yy665; - case '3': goto yy667; + case '2': + case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy668; - case 'A': - case 'a': goto yy672; - case 'D': - case 'd': goto yy676; - case 'F': - case 'f': goto yy670; - case 'J': - case 'j': goto yy669; - case 'M': - case 'm': goto yy671; - case 'N': - case 'n': goto yy675; - case 'O': - case 'o': goto yy674; - case 'S': - case 's': goto yy673; + case '9': goto yy610; default: goto yy56; } -yy472: - YYDEBUG(472, *YYCURSOR); +yy609: + yych = *++YYCURSOR; + switch (yych) { + case '-': + case '.': goto yy372; + case '0': + case '1': + case '2': goto yy610; + default: goto yy56; + } +yy610: yych = *++YYCURSOR; - YYDEBUG(-1, yych); switch (yych) { - case '0': goto yy615; - case '1': goto yy616; + case '-': + case '.': goto yy372; + default: goto yy56; + } +yy611: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': goto yy724; + case '0': + case '1': case '2': case '3': case '4': @@ -9510,3311 +21810,3901 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy617; - case 'A': - case 'a': goto yy621; - case 'D': - case 'd': goto yy625; - case 'F': - case 'f': goto yy619; - case 'J': - case 'j': goto yy618; - case 'M': - case 'm': goto yy620; - case 'N': - case 'n': goto yy624; - case 'O': - case 'o': goto yy623; - case 'S': - case 's': goto yy622; - default: goto yy577; - } -yy473: - YYDEBUG(473, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '1') { - if (yych <= '/') goto yy577; - if (yych <= '0') goto yy567; - goto yy568; - } else { - if (yych <= '5') goto yy569; - if (yych <= '9') goto yy570; - goto yy577; + case '9': goto yy790; + default: goto yy208; } -yy474: - YYDEBUG(474, *YYCURSOR); - yyaccept = 10; +yy612: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '.') goto yy531; - } - } else { - if (yych <= 'U') { - if (yych <= '9') goto yy533; - if (yych == 'I') goto yy566; - } else { - if (yych == 'W') goto yy475; - if (yych <= 'X') goto yy539; - } + switch (yych) { + case '.': goto yy724; + case '0': goto yy790; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy718; + default: goto yy208; } -yy475: - YYDEBUG(475, *YYCURSOR); -#line 1376 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datenoyearrev"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->d = timelib_get_nr((char **) &ptr, 2); - timelib_skip_day_suffix((char **) &ptr); - s->time->m = timelib_get_month((char **) &ptr); - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; +yy613: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy613; + case 'A': + case 'P': + case 'a': + case 'p': goto yy100; + default: goto yy56; } -#line 9579 "ext/date/lib/parse_date.c" -yy476: - YYDEBUG(476, *YYCURSOR); - yyaccept = 10; +yy615: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; - } else { - if (yych == ' ') goto yy531; - goto yy475; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy531; - if (yych <= '/') goto yy475; - goto yy533; - } else { - if (yych == 'I') goto yy564; - goto yy475; - } + switch (yych) { + case '.': goto yy724; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy791; + default: goto yy208; } -yy477: - YYDEBUG(477, *YYCURSOR); - yyaccept = 10; +yy616: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; - } else { - if (yych == ' ') goto yy531; - goto yy475; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy531; - if (yych <= '/') goto yy475; - goto yy533; - } else { - if (yych == 'I') goto yy563; - goto yy475; - } - } -yy478: - YYDEBUG(478, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy556; - if (yych <= 'T') goto yy56; - goto yy555; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy556; - } else { - if (yych == 'u') goto yy555; - goto yy56; - } - } -yy479: - YYDEBUG(479, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= 'L') { - if (yych == '.') goto yy484; - goto yy56; - } else { - if (yych <= 'M') goto yy485; - if (yych == 'P') goto yy549; - goto yy56; - } - } else { - if (yych <= 'o') { - if (yych <= 'U') goto yy548; - if (yych == 'm') goto yy485; - goto yy56; - } else { - if (yych <= 'p') goto yy549; - if (yych == 'u') goto yy548; - goto yy56; - } - } -yy480: - YYDEBUG(480, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy543; - if (yych == 'c') goto yy543; - goto yy56; -yy481: - YYDEBUG(481, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy529; - if (yych == 'o') goto yy529; - goto yy56; -yy482: - YYDEBUG(482, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy489; - if (yych <= '9') goto yy491; - goto yy56; -yy483: - YYDEBUG(483, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy56; - } else { - if (yych <= 'M') goto yy485; - if (yych == 'm') goto yy485; - goto yy56; - } -yy484: - 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; - if (yych == '\t') goto yy487; - goto yy56; - } else { - if (yych <= ' ') goto yy487; - if (yych != '.') goto yy56; + switch (yych) { + case '.': goto yy724; + case '0': goto yy791; + default: goto yy208; } - YYDEBUG(486, *YYCURSOR); +yy617: yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy487; - if (yych <= 0x08) goto yy56; - } else { - if (yych != ' ') goto yy56; - } -yy487: - YYDEBUG(487, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(488, *YYCURSOR); -#line 1094 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - } - } - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - TIMELIB_DEINIT; - return TIMELIB_TIME12; - } -#line 9736 "ext/date/lib/parse_date.c" -yy489: - YYDEBUG(489, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy492; - } else { - if (yych <= '9') goto yy506; - if (yych <= ':') goto yy492; - } -yy490: - YYDEBUG(490, *YYCURSOR); -#line 1131 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); - } - } - - if (*ptr != '\0') { - s->time->z = timelib_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; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy792; + case '6': goto yy793; + case '7': + case '8': + case '9': goto yy552; + default: goto yy56; } -#line 9774 "ext/date/lib/parse_date.c" -yy491: - YYDEBUG(491, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy492; - if (yych != ':') goto yy490; -yy492: - YYDEBUG(492, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy493; - if (yych <= '6') goto yy494; - if (yych <= '9') goto yy495; - goto yy56; -yy493: - YYDEBUG(493, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy499; - goto yy490; -yy494: - YYDEBUG(494, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych == '0') goto yy499; - goto yy490; -yy495: - YYDEBUG(495, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych != '.') goto yy490; -yy496: - YYDEBUG(496, *YYCURSOR); +yy618: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; -yy497: - YYDEBUG(497, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(498, *YYCURSOR); - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy497; - goto yy490; -yy499: - YYDEBUG(499, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= 0x1F) { - if (yych != '\t') goto yy490; - } else { - if (yych <= ' ') goto yy500; - if (yych == '.') goto yy496; - goto yy490; - } - } else { - if (yych <= '`') { - if (yych <= 'A') goto yy502; - if (yych == 'P') goto yy502; - goto yy490; - } else { - if (yych <= 'a') goto yy502; - if (yych == 'p') goto yy502; - goto yy490; - } + switch (yych) { + case '0': + case '1': + case '2': goto yy794; + case '3': goto yy795; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy796; + default: goto yy56; } -yy500: - YYDEBUG(500, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - YYDEBUG(501, *YYCURSOR); - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy500; - goto yy56; - } else { - if (yych <= ' ') goto yy500; - if (yych <= '@') goto yy56; - } - } else { - if (yych <= '`') { - if (yych != 'P') goto yy56; - } else { - if (yych <= 'a') goto yy502; - if (yych != 'p') goto yy56; - } +yy619: + yych = *++YYCURSOR; + switch (yych) { + case '-': goto yy797; + default: goto yy56; } -yy502: - YYDEBUG(502, *YYCURSOR); +yy620: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy56; - } else { - if (yych <= 'M') goto yy504; - if (yych == 'm') goto yy504; - goto yy56; + switch (yych) { + case 'R': + case 'r': goto yy798; + default: goto yy56; } - YYDEBUG(503, *YYCURSOR); +yy621: yych = *++YYCURSOR; - if (yych == 'M') goto yy504; - if (yych != 'm') goto yy56; -yy504: - YYDEBUG(504, *YYCURSOR); + switch (yych) { + case 'G': + case 'g': goto yy798; + default: goto yy56; + } +yy622: 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; + switch (yych) { + case 'C': + case 'c': goto yy798; + default: goto yy56; } - YYDEBUG(505, *YYCURSOR); +yy623: yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy487; - if (yych <= 0x08) goto yy56; - goto yy487; - } else { - if (yych == ' ') goto yy487; - goto yy56; + switch (yych) { + case 'B': + case 'b': goto yy798; + default: goto yy56; } -yy506: - YYDEBUG(506, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy507; - if (yych <= 0x1F) goto yy490; - } else { - if (yych == '.') goto yy492; - if (yych <= '9') goto yy490; - goto yy510; - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy509; - if (yych <= 'O') goto yy490; - goto yy509; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy490; - goto yy509; - } else { - if (yych == 'p') goto yy509; - goto yy490; - } - } +yy624: + yych = *++YYCURSOR; + switch (yych) { + case 'N': + case 'n': goto yy798; + default: goto yy56; } -yy507: - YYDEBUG(507, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - YYDEBUG(508, *YYCURSOR); - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy507; - goto yy56; - } else { - if (yych <= ' ') goto yy507; - if (yych <= '@') goto yy56; - } - } else { - if (yych <= '`') { - if (yych != 'P') goto yy56; - } else { - if (yych <= 'a') goto yy509; - if (yych != 'p') goto yy56; - } +yy625: + yych = *++YYCURSOR; + switch (yych) { + case 'L': + case 'N': + case 'l': + case 'n': goto yy798; + default: goto yy56; } -yy509: - YYDEBUG(509, *YYCURSOR); +yy626: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == '.') goto yy526; - goto yy56; - } else { - if (yych <= 'M') goto yy527; - if (yych == 'm') goto yy527; - goto yy56; + switch (yych) { + case 'R': + case 'Y': + case 'r': + case 'y': goto yy798; + default: goto yy56; } -yy510: - YYDEBUG(510, *YYCURSOR); +yy627: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy511; - if (yych <= '6') goto yy512; - if (yych <= '9') goto yy495; - goto yy56; -yy511: - YYDEBUG(511, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy513; - goto yy490; -yy512: - YYDEBUG(512, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych != '0') goto yy490; -yy513: - YYDEBUG(513, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy500; - if (yych <= 0x1F) goto yy490; - goto yy500; - } else { - if (yych == '.') goto yy514; - if (yych <= '9') goto yy490; - goto yy515; - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy502; - if (yych <= 'O') goto yy490; - goto yy502; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy490; - goto yy502; - } else { - if (yych == 'p') goto yy502; - goto yy490; - } - } + switch (yych) { + case 'V': + case 'v': goto yy798; + default: goto yy56; } -yy514: - YYDEBUG(514, *YYCURSOR); +yy628: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy524; - goto yy56; -yy515: - YYDEBUG(515, *YYCURSOR); + switch (yych) { + case 'T': + case 't': goto yy798; + default: goto yy56; + } +yy629: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; -yy516: - YYDEBUG(516, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - YYDEBUG(517, *YYCURSOR); - if (yych <= 'O') { - if (yych <= '9') { - if (yych <= '/') goto yy56; - goto yy516; - } else { - if (yych != 'A') goto yy56; - } - } else { - if (yych <= 'a') { - if (yych <= 'P') goto yy518; - if (yych <= '`') goto yy56; - } else { - if (yych != 'p') goto yy56; - } + switch (yych) { + case 'P': + case 'p': goto yy799; + default: goto yy56; } -yy518: - YYDEBUG(518, *YYCURSOR); +yy630: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy56; - } else { - if (yych <= 'M') goto yy520; - if (yych == 'm') goto yy520; - goto yy56; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + default: goto yy18; + } +yy631: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': goto yy801; + case '1': goto yy802; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy803; + default: goto yy304; + } +yy632: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': goto yy801; + case '1': goto yy802; + case '2': goto yy309; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy310; + default: goto yy304; + } +yy633: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + default: goto yy274; } - YYDEBUG(519, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy520; - if (yych != 'm') goto yy56; -yy520: - YYDEBUG(520, *YYCURSOR); +yy634: yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy522; - if (yych == '\t') goto yy522; - goto yy56; - } else { - if (yych <= ' ') goto yy522; - if (yych != '.') goto yy56; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'T': + case 't': goto yy804; + default: goto yy18; } - YYDEBUG(521, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy522; - if (yych <= 0x08) goto yy56; - } else { - if (yych != ' ') goto yy56; +yy635: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + default: goto yy18; } -yy522: - YYDEBUG(522, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(523, *YYCURSOR); -#line 1111 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("mssqltime"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == ':' || *ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); - } - } - timelib_eat_spaces((char **) &ptr); - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - TIMELIB_DEINIT; - return TIMELIB_TIME24_WITH_ZONE; +yy636: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy684; + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + default: goto yy274; } -#line 10103 "ext/date/lib/parse_date.c" -yy524: - YYDEBUG(524, *YYCURSOR); - yyaccept = 11; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - YYDEBUG(525, *YYCURSOR); - if (yych <= 'O') { - if (yych <= '9') { - if (yych <= '/') goto yy490; - goto yy524; - } else { - if (yych == 'A') goto yy518; - goto yy490; - } - } else { - if (yych <= 'a') { - if (yych <= 'P') goto yy518; - if (yych <= '`') goto yy490; - goto yy518; - } else { - if (yych == 'p') goto yy518; - goto yy490; - } +yy637: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'T': goto yy804; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 't': goto yy806; + default: goto yy18; } -yy526: - YYDEBUG(526, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy527; - if (yych != 'm') goto yy56; -yy527: - YYDEBUG(527, *YYCURSOR); +yy638: 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; + switch (yych) { + case 'O': + case 'o': goto yy807; + default: goto yy56; } - YYDEBUG(528, *YYCURSOR); +yy639: yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy487; - if (yych <= 0x08) goto yy56; - goto yy487; - } else { - if (yych == ' ') goto yy487; - goto yy56; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'B': + case 'b': goto yy808; + default: goto yy18; } -yy529: - YYDEBUG(529, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy530; - if (yych != 'v') goto yy56; -yy530: - YYDEBUG(530, *YYCURSOR); - yyaccept = 10; +yy640: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych != '\t') goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'E') goto yy535; - if (yych == 'e') goto yy535; - goto yy475; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'B': goto yy808; + case 'a': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 'b': goto yy809; + default: goto yy18; } -yy531: - YYDEBUG(531, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); - yych = *YYCURSOR; -yy532: - YYDEBUG(532, *YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy531; - if (yych <= 0x1F) goto yy56; - goto yy531; - } else { - if (yych <= '.') { - if (yych <= ',') goto yy56; - goto yy531; - } else { - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - } +yy641: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': goto yy810; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'H': + case 'h': goto yy812; + default: goto yy18; } -yy533: - YYDEBUG(533, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy534; - if (yych <= '9') goto yy540; -yy534: - YYDEBUG(534, *YYCURSOR); -#line 1293 "ext/date/lib/parse_date.re" - { - 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; +yy642: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'N': + case 'n': goto yy813; + default: goto yy18; } -#line 10223 "ext/date/lib/parse_date.c" -yy535: - YYDEBUG(535, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy536; - if (yych != 'm') goto yy56; -yy536: - YYDEBUG(536, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy537; - if (yych != 'b') goto yy56; -yy537: - YYDEBUG(537, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy538; - if (yych != 'e') goto yy56; -yy538: - YYDEBUG(538, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy539; - if (yych != 'r') goto yy56; -yy539: - YYDEBUG(539, *YYCURSOR); - yyaccept = 10; +yy643: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy531; - if (yych <= 0x1F) goto yy475; - goto yy531; - } else { - if (yych <= '.') { - if (yych <= ',') goto yy475; - goto yy531; - } else { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } + switch (yych) { + case '\t': + case ' ': goto yy810; + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'H': goto yy812; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 'h': goto yy814; + default: goto yy18; } -yy540: - YYDEBUG(540, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy534; - if (yych >= ':') goto yy534; -yy541: - YYDEBUG(541, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy534; - if (yych >= ':') goto yy534; - YYDEBUG(542, *YYCURSOR); - yych = *++YYCURSOR; - goto yy534; -yy543: - YYDEBUG(543, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy544; - if (yych != 't') goto yy56; -yy544: - YYDEBUG(544, *YYCURSOR); - yyaccept = 10; +yy644: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; - } - } else { - if (yych <= 'N') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'O') goto yy545; - if (yych != 'o') goto yy475; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'N': goto yy813; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 'n': goto yy815; + default: goto yy18; } -yy545: - YYDEBUG(545, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy546; - if (yych != 'b') goto yy56; -yy546: - YYDEBUG(546, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy547; - if (yych != 'e') goto yy56; -yy547: - YYDEBUG(547, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy539; - if (yych == 'r') goto yy539; - goto yy56; -yy548: - YYDEBUG(548, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy552; - if (yych == 'g') goto yy552; - goto yy56; -yy549: - YYDEBUG(549, *YYCURSOR); +yy645: yych = *++YYCURSOR; - if (yych == 'R') goto yy550; - if (yych != 'r') goto yy56; -yy550: - YYDEBUG(550, *YYCURSOR); - yyaccept = 10; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'a': goto yy816; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + default: goto yy18; + } +yy646: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'I') goto yy551; - if (yych != 'i') goto yy475; - } + switch (yych) { + case '\t': + case ' ': goto yy810; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + default: goto yy18; } -yy551: - YYDEBUG(551, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy539; - if (yych == 'l') goto yy539; - goto yy56; -yy552: - YYDEBUG(552, *YYCURSOR); - yyaccept = 10; +yy647: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; - } - } else { - if (yych <= 'T') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'U') goto yy553; - if (yych != 'u') goto yy475; - } - } -yy553: - YYDEBUG(553, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy554; - if (yych != 's') goto yy56; -yy554: - YYDEBUG(554, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy539; - if (yych == 't') goto yy539; - goto yy56; -yy555: - YYDEBUG(555, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy562; - if (yych <= 'M') goto yy56; - goto yy561; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy56; - goto yy562; - } else { - if (yych == 'n') goto yy561; - goto yy56; - } + switch (yych) { + case '\t': goto yy810; + case ' ': goto yy817; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + default: goto yy18; } -yy556: - YYDEBUG(556, *YYCURSOR); +yy648: yych = *++YYCURSOR; - if (yych == 'N') goto yy557; - if (yych != 'n') goto yy56; -yy557: - YYDEBUG(557, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; - } - } else { - if (yych <= 'T') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'U') goto yy558; - if (yych != 'u') goto yy475; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'H': + case 'h': goto yy812; + default: goto yy18; } -yy558: - YYDEBUG(558, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy559; - if (yych != 'a') goto yy56; -yy559: - YYDEBUG(559, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy560; - if (yych != 'r') goto yy56; -yy560: - YYDEBUG(560, *YYCURSOR); +yy649: yych = *++YYCURSOR; - if (yych == 'Y') goto yy539; - if (yych == 'y') goto yy539; - goto yy56; -yy561: - YYDEBUG(561, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'E') goto yy539; - if (yych == 'e') goto yy539; - goto yy475; - } - } -yy562: - YYDEBUG(562, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; - } - } else { - if (yych <= 'X') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'Y') goto yy539; - if (yych == 'y') goto yy539; - goto yy475; - } - } -yy563: - YYDEBUG(563, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; - } else { - if (yych == ' ') goto yy531; - goto yy475; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy531; - if (yych <= '/') goto yy475; - goto yy533; - } else { - if (yych == 'I') goto yy539; - goto yy475; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'z': goto yy800; + case 'Y': + case 'y': goto yy818; + default: goto yy18; } -yy564: - YYDEBUG(564, *YYCURSOR); - yyaccept = 10; +yy650: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; - } else { - if (yych == ' ') goto yy531; - goto yy475; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy531; - if (yych <= '/') goto yy475; - goto yy533; - } else { - if (yych != 'I') goto yy475; - } + switch (yych) { + case ' ': goto yy638; + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + default: goto yy18; } - YYDEBUG(565, *YYCURSOR); - yyaccept = 10; +yy651: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; - } else { - if (yych == ' ') goto yy531; - goto yy475; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy531; - if (yych <= '/') goto yy475; - goto yy533; - } else { - if (yych == 'I') goto yy539; - goto yy475; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': goto yy816; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'a': goto yy819; + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + default: goto yy18; } -yy566: - YYDEBUG(566, *YYCURSOR); - yyaccept = 10; +yy652: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; - } else { - if (yych == ' ') goto yy531; - goto yy475; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy531; - if (yych <= '/') goto yy475; - goto yy533; - } else { - if (yych == 'I') goto yy539; - goto yy475; - } + switch (yych) { + case '\t': + case ' ': goto yy810; + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + default: goto yy18; } -yy567: - YYDEBUG(567, *YYCURSOR); - yyaccept = 11; +yy653: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - goto yy600; - } else { - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy614; - if (yych <= ':') goto yy492; - goto yy490; + switch (yych) { + case '\t': goto yy810; + case ' ': goto yy817; + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + default: goto yy18; } -yy568: - YYDEBUG(568, *YYCURSOR); - yyaccept = 11; +yy654: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - if (yych <= '.') goto yy600; - goto yy490; - } else { - if (yych <= '2') goto yy614; - if (yych <= '9') goto yy613; - if (yych <= ':') goto yy492; - goto yy490; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'H': goto yy812; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 'h': goto yy814; + default: goto yy18; } -yy569: - YYDEBUG(569, *YYCURSOR); - yyaccept = 11; +yy655: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - goto yy600; - } else { - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy613; - if (yych <= ':') goto yy492; - goto yy490; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Z': goto yy800; + case 'Y': goto yy818; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'z': goto yy805; + case 'y': goto yy820; + default: goto yy18; } -yy570: - YYDEBUG(570, *YYCURSOR); - yyaccept = 11; +yy656: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - goto yy600; - } else { - if (yych == ':') goto yy492; - goto yy490; - } -yy571: - YYDEBUG(571, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy594; - if (yych == 'e') goto yy594; - goto yy56; -yy572: - YYDEBUG(572, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy591; - if (yych == 'a') goto yy591; - goto yy56; -yy573: - YYDEBUG(573, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy549; - if (yych <= 'T') goto yy56; - goto yy548; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy56; - goto yy549; - } else { - if (yych == 'u') goto yy548; - goto yy56; - } - } -yy574: - YYDEBUG(574, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy584; - if (yych == 'e') goto yy584; - goto yy56; -yy575: - YYDEBUG(575, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy578; - if (yych == 'e') goto yy578; - goto yy56; -yy576: - YYDEBUG(576, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); - yych = *YYCURSOR; -yy577: - YYDEBUG(577, *YYCURSOR); - YYDEBUG(-1, yych); switch (yych) { - case '\t': - case ' ': + case ' ': goto yy638; + case ')': goto yy107; case '-': - case '.': goto yy576; + case '/': + case '_': goto yy276; case 'A': - case 'a': goto yy573; + case 'B': + case 'C': case 'D': - case 'd': goto yy575; + case 'E': case 'F': - case 'f': goto yy571; - case 'I': goto yy474; + case 'G': + case 'H': + case 'I': case 'J': - case 'j': goto yy478; + case 'K': + case 'L': case 'M': - case 'm': goto yy572; case 'N': - case 'n': goto yy481; case 'O': - case 'o': goto yy480; + case 'P': + case 'Q': + case 'R': case 'S': - case 's': goto yy574; - case 'V': goto yy476; - case 'X': goto yy477; - default: goto yy56; + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + default: goto yy18; } -yy578: - YYDEBUG(578, *YYCURSOR); +yy657: yych = *++YYCURSOR; - if (yych == 'C') goto yy579; - if (yych != 'c') goto yy56; -yy579: - YYDEBUG(579, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'E') goto yy580; - if (yych != 'e') goto yy475; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy659; + case ':': goto yy192; + default: goto yy18; } -yy580: - YYDEBUG(580, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy581; - if (yych != 'm') goto yy56; -yy581: - YYDEBUG(581, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy582; - if (yych != 'b') goto yy56; -yy582: - YYDEBUG(582, *YYCURSOR); +yy658: yych = *++YYCURSOR; - if (yych == 'E') goto yy583; - if (yych != 'e') goto yy56; -yy583: - YYDEBUG(583, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy659; + case '5': goto yy370; + case '6': + case '7': + case '8': + case '9': goto yy107; + case ':': goto yy192; + default: goto yy18; + } +yy659: yych = *++YYCURSOR; - if (yych == 'R') goto yy539; - if (yych == 'r') goto yy539; - goto yy56; -yy584: - YYDEBUG(584, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy370; + case '6': + case '7': + case '8': + case '9': goto yy107; + case ':': goto yy192; + default: goto yy18; + } +yy660: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy483; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy821; + default: goto yy136; + } +yy661: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy486; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy821; + default: goto yy136; + } +yy662: yych = *++YYCURSOR; - if (yych == 'P') goto yy585; - if (yych != 'p') goto yy56; -yy585: - YYDEBUG(585, *YYCURSOR); - yyaccept = 10; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy821; + default: goto yy136; + } +yy663: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; - } - } else { - if (yych <= 'S') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'T') goto yy586; - if (yych != 't') goto yy475; - } + switch (yych) { + case '.': + case ':': goto yy822; + case '0': goto yy823; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy824; + default: goto yy136; + } +yy664: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy825; + case '0': + case '1': + case '2': goto yy824; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy823; + default: goto yy136; + } +yy665: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy825; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy823; + case '5': + case '6': + case '7': + case '8': + case '9': goto yy826; + default: goto yy136; } -yy586: - YYDEBUG(586, *YYCURSOR); - yyaccept = 10; +yy666: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'E') goto yy587; - if (yych != 'e') goto yy475; - } - } -yy587: - YYDEBUG(587, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy588; - if (yych != 'm') goto yy56; -yy588: - YYDEBUG(588, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy589; - if (yych != 'b') goto yy56; -yy589: - YYDEBUG(589, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy590; - if (yych != 'e') goto yy56; -yy590: - YYDEBUG(590, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy539; - if (yych == 'r') goto yy539; - goto yy56; -yy591: - YYDEBUG(591, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy592; - if (yych <= 'X') goto yy56; - goto yy539; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy56; - } else { - if (yych == 'y') goto yy539; - goto yy56; - } + switch (yych) { + case '.': + case ':': goto yy825; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy826; + default: goto yy136; } -yy592: - YYDEBUG(592, *YYCURSOR); - yyaccept = 10; +yy667: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; - } - } else { - if (yych <= 'B') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'C') goto yy593; - if (yych != 'c') goto yy475; - } + switch (yych) { + case '.': + case ':': goto yy825; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy662; + default: goto yy136; } -yy593: - YYDEBUG(593, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy539; - if (yych == 'h') goto yy539; - goto yy56; -yy594: - YYDEBUG(594, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy595; - if (yych != 'b') goto yy56; -yy595: - YYDEBUG(595, *YYCURSOR); - yyaccept = 10; +yy668: + yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; - } - } else { - if (yych <= 'Q') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'R') goto yy596; - if (yych != 'r') goto yy475; - } + switch (yych) { + case '.': + case ':': goto yy483; + default: goto yy669; } -yy596: - YYDEBUG(596, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy597; - if (yych != 'u') goto yy56; -yy597: - YYDEBUG(597, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy598; - if (yych != 'a') goto yy56; -yy598: - YYDEBUG(598, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy599; - if (yych != 'r') goto yy56; -yy599: - YYDEBUG(599, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy539; - if (yych == 'y') goto yy539; - goto yy56; -yy600: - YYDEBUG(600, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy607; - if (yych <= '6') goto yy608; - if (yych <= '9') goto yy609; - goto yy56; -yy601: - YYDEBUG(601, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(602, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; -yy603: - YYDEBUG(603, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; -yy604: - YYDEBUG(604, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(605, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(606, *YYCURSOR); -#line 1308 "ext/date/lib/parse_date.re" +yy669: +#line 1334 "ext/date/lib/parse_date.re" { - DEBUG_OUTPUT("pointed date YYYY"); + int length = 0; + DEBUG_OUTPUT("datenoday"); 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); + 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_FULL_POINTED; + return TIMELIB_DATE_NO_DAY; } -#line 10971 "ext/date/lib/parse_date.c" -yy607: - YYDEBUG(607, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy612; - goto yy490; -yy608: - YYDEBUG(608, *YYCURSOR); - yyaccept = 11; +#line 23718 "" +yy670: + yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy496; - goto yy490; - } else { - if (yych <= '0') goto yy612; - if (yych <= '9') goto yy610; - goto yy490; + switch (yych) { + case '.': + case ':': goto yy486; + default: goto yy669; } -yy609: - YYDEBUG(609, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych >= ':') goto yy490; -yy610: - YYDEBUG(610, *YYCURSOR); - yyaccept = 12; +yy671: + yych = *++YYCURSOR; + goto yy669; +yy672: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy611; - if (yych <= '9') goto yy604; -yy611: - YYDEBUG(611, *YYCURSOR); -#line 1320 "ext/date/lib/parse_date.re" + switch (yych) { + case '.': + case ':': goto yy827; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy674; + default: goto yy673; + } +yy673: +#line 1664 "ext/date/lib/parse_date.re" { - int length = 0; - DEBUG_OUTPUT("pointed date YY"); + 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); - 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; - } -#line 11020 "ext/date/lib/parse_date.c" -yy612: - YYDEBUG(612, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= ' ') { - if (yych == '\t') goto yy500; - if (yych <= 0x1F) goto yy490; - goto yy500; - } else { - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - goto yy604; - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy502; - if (yych <= 'O') goto yy490; - goto yy502; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy490; - goto yy502; - } else { - if (yych == 'p') goto yy502; - goto yy490; + + 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); } } - } -yy613: - YYDEBUG(613, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy507; - if (yych <= 0x1F) goto yy490; - goto yy507; - } else { - if (yych == '.') goto yy492; - if (yych <= '9') goto yy490; - goto yy492; - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy509; - if (yych <= 'O') goto yy490; - goto yy509; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy490; - goto yy509; - } else { - if (yych == 'p') goto yy509; - goto yy490; + + 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; } -yy614: - YYDEBUG(614, *YYCURSOR); - yyaccept = 11; +#line 23778 "" +yy674: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy507; - if (yych <= 0x1F) goto yy490; - goto yy507; - } else { - if (yych <= '-') { - if (yych <= ',') goto yy490; - goto yy601; - } else { - if (yych <= '.') goto yy600; - if (yych <= '9') goto yy490; - goto yy492; - } - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy509; - if (yych <= 'O') goto yy490; - goto yy509; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy490; - goto yy509; - } else { - if (yych == 'p') goto yy509; - goto yy490; - } - } - } -yy615: - YYDEBUG(615, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy654; - goto yy601; - } else { - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy617; - goto yy56; - } -yy616: - YYDEBUG(616, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy654; - goto yy601; - } else { - if (yych <= '/') goto yy56; - if (yych >= '3') goto yy56; + switch (yych) { + case '.': + case ':': goto yy827; + default: goto yy673; } -yy617: - YYDEBUG(617, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy654; - if (yych <= '.') goto yy601; - goto yy56; -yy618: - YYDEBUG(618, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy650; - if (yych <= 'T') goto yy56; - goto yy649; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy650; - } else { - if (yych == 'u') goto yy649; - goto yy56; - } +yy675: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy828; + case '0': goto yy829; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy830; + default: goto yy136; } -yy619: - YYDEBUG(619, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy647; - if (yych == 'e') goto yy647; - goto yy56; -yy620: - YYDEBUG(620, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy644; - if (yych == 'a') goto yy644; - goto yy56; -yy621: - YYDEBUG(621, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy641; - if (yych <= 'T') goto yy56; - goto yy640; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy56; - goto yy641; - } else { - if (yych == 'u') goto yy640; - goto yy56; - } +yy676: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy831; + case '0': + case '1': + case '2': goto yy830; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy829; + default: goto yy136; } -yy622: - YYDEBUG(622, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy637; - if (yych == 'e') goto yy637; - goto yy56; -yy623: - YYDEBUG(623, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy635; - if (yych == 'c') goto yy635; - goto yy56; -yy624: - YYDEBUG(624, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy633; - if (yych == 'o') goto yy633; - goto yy56; -yy625: - YYDEBUG(625, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy626; - if (yych != 'e') goto yy56; -yy626: - YYDEBUG(626, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy627; - if (yych != 'c') goto yy56; -yy627: - YYDEBUG(627, *YYCURSOR); - yyaccept = 10; +yy677: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych >= '.') goto yy531; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'E') goto yy580; - if (yych == 'e') goto yy580; - goto yy475; - } + switch (yych) { + case '.': + case ':': goto yy831; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy829; + case '5': + case '6': + case '7': + case '8': + case '9': goto yy832; + default: goto yy136; } -yy628: - YYDEBUG(628, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy532; - if (yych <= '0') goto yy629; - if (yych <= '2') goto yy630; - if (yych <= '3') goto yy631; - goto yy532; -yy629: - YYDEBUG(629, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy534; - if (yych <= '9') goto yy632; - goto yy534; -yy630: - YYDEBUG(630, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy534; - if (yych <= '9') goto yy632; - goto yy534; -yy631: - YYDEBUG(631, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy534; - if (yych <= '1') goto yy632; - if (yych <= '9') goto yy540; - goto yy534; -yy632: - YYDEBUG(632, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy534; - if (yych <= '9') goto yy541; - goto yy534; -yy633: - YYDEBUG(633, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy634; - if (yych != 'v') goto yy56; -yy634: - YYDEBUG(634, *YYCURSOR); - yyaccept = 10; +yy678: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'E') goto yy535; - if (yych == 'e') goto yy535; - goto yy475; - } + switch (yych) { + case '.': + case ':': goto yy831; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy832; + default: goto yy136; } -yy635: - YYDEBUG(635, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy636; - if (yych != 't') goto yy56; -yy636: - YYDEBUG(636, *YYCURSOR); - yyaccept = 10; +yy679: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; - } - } else { - if (yych <= 'N') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'O') goto yy545; - if (yych == 'o') goto yy545; - goto yy475; - } + switch (yych) { + case '.': + case ':': goto yy831; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy662; + default: goto yy136; } -yy637: - YYDEBUG(637, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy638; - if (yych != 'p') goto yy56; -yy638: - YYDEBUG(638, *YYCURSOR); - yyaccept = 10; +yy680: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; - } - } else { - if (yych <= 'S') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'T') goto yy639; - if (yych != 't') goto yy475; - } + switch (yych) { + case '.': + case ':': goto yy833; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy834; + default: goto yy673; } -yy639: - YYDEBUG(639, *YYCURSOR); - yyaccept = 10; +yy681: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'E') goto yy587; - if (yych == 'e') goto yy587; - goto yy475; - } + switch (yych) { + case '.': + case ':': goto yy833; + default: goto yy673; } -yy640: - YYDEBUG(640, *YYCURSOR); +yy682: yych = *++YYCURSOR; - if (yych == 'G') goto yy643; - if (yych == 'g') goto yy643; - goto yy56; -yy641: - YYDEBUG(641, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy642; - if (yych != 'r') goto yy56; -yy642: - YYDEBUG(642, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; - } - } else { - if (yych <= 'H') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'I') goto yy551; - if (yych == 'i') goto yy551; - goto yy475; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'R': + case 'r': goto yy835; + default: goto yy18; } -yy643: - YYDEBUG(643, *YYCURSOR); - yyaccept = 10; +yy683: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; - } - } else { - if (yych <= 'T') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'U') goto yy553; - if (yych == 'u') goto yy553; - goto yy475; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'R': goto yy835; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 'r': goto yy836; + default: goto yy18; } -yy644: - YYDEBUG(644, *YYCURSOR); +yy684: yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy645; - if (yych <= 'X') goto yy56; - goto yy646; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy56; - } else { - if (yych == 'y') goto yy646; - goto yy56; - } + switch (yych) { + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy447; + default: goto yy134; } -yy645: - YYDEBUG(645, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; - } - } else { - if (yych <= 'B') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'C') goto yy593; - if (yych == 'c') goto yy593; - goto yy475; - } +yy685: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy686: + switch (yych) { + case '\t': + case ' ': goto yy685; + case 'D': + case 'd': goto yy837; + case 'F': + case 'f': goto yy838; + case 'H': + case 'h': goto yy839; + case 'M': + case 'm': goto yy840; + case 'S': + case 's': goto yy841; + case 'T': + case 't': goto yy842; + case 'W': + case 'w': goto yy843; + case 'Y': + case 'y': goto yy844; + default: goto yy56; } -yy646: - YYDEBUG(646, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; - } else { - if (yych == ' ') goto yy531; - goto yy475; - } - } else { - if (yych <= '.') { - if (yych <= '-') goto yy628; - goto yy531; - } else { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } +yy687: + yych = *++YYCURSOR; + switch (yych) { + case 'D': + case 'd': goto yy845; + default: goto yy686; } -yy647: - YYDEBUG(647, *YYCURSOR); +yy688: yych = *++YYCURSOR; - if (yych == 'B') goto yy648; - if (yych != 'b') goto yy56; -yy648: - YYDEBUG(648, *YYCURSOR); - yyaccept = 10; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'G': + case 'g': goto yy846; + default: goto yy18; + } +yy689: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; - } - } else { - if (yych <= 'Q') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'R') goto yy596; - if (yych == 'r') goto yy596; - goto yy475; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'G': goto yy846; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 'g': goto yy847; + default: goto yy18; } -yy649: - YYDEBUG(649, *YYCURSOR); +yy690: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy653; - if (yych <= 'M') goto yy56; - goto yy652; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy56; - goto yy653; - } else { - if (yych == 'n') goto yy652; - goto yy56; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'E': + case 'e': goto yy848; + default: goto yy18; } -yy650: - YYDEBUG(650, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy651; - if (yych != 'n') goto yy56; -yy651: - YYDEBUG(651, *YYCURSOR); - yyaccept = 10; +yy691: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; - } - } else { - if (yych <= 'T') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'U') goto yy558; - if (yych == 'u') goto yy558; - goto yy475; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'E': goto yy848; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 'e': goto yy849; + default: goto yy18; } -yy652: - YYDEBUG(652, *YYCURSOR); - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'E') goto yy539; - if (yych == 'e') goto yy539; - goto yy475; - } +yy692: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'O': + case 'o': goto yy850; + default: goto yy18; } -yy653: - YYDEBUG(653, *YYCURSOR); - yyaccept = 10; +yy693: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; - } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; - } - } else { - if (yych <= 'X') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'Y') goto yy539; - if (yych == 'y') goto yy539; - goto yy475; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'O': goto yy850; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 'o': goto yy851; + default: goto yy18; } -yy654: - YYDEBUG(654, *YYCURSOR); +yy694: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy655; - if (yych <= '3') goto yy657; - if (yych <= '9') goto yy658; - goto yy56; -yy655: - YYDEBUG(655, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy664; - if (yych >= 'n') goto yy660; - } else { - if (yych <= 'r') { - if (yych >= 'r') goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - } - } -yy656: - YYDEBUG(656, *YYCURSOR); -#line 1279 "ext/date/lib/parse_date.re" - { - 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; - } -#line 11674 "ext/date/lib/parse_date.c" -yy657: - YYDEBUG(657, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '1') { - if (yych <= '/') goto yy656; - goto yy664; - } else { - if (yych <= '9') goto yy603; - if (yych <= 'm') goto yy656; - goto yy660; - } - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'D': + case 'd': goto yy852; + default: goto yy18; } -yy658: - YYDEBUG(658, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy603; - if (yych <= 'm') goto yy656; - goto yy660; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; - } +yy695: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'D': + case 'd': goto yy812; + default: goto yy18; } -yy659: - YYDEBUG(659, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 't') goto yy663; - goto yy56; -yy660: - YYDEBUG(660, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy663; - goto yy56; -yy661: - YYDEBUG(661, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy663; - goto yy56; -yy662: - YYDEBUG(662, *YYCURSOR); +yy696: yych = *++YYCURSOR; - if (yych != 'h') goto yy56; -yy663: - YYDEBUG(663, *YYCURSOR); + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'M': + case 'm': goto yy853; + default: goto yy18; + } +yy697: yych = *++YYCURSOR; - goto yy656; -yy664: - YYDEBUG(664, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy604; - if (yych <= 'm') goto yy656; - goto yy660; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; - } + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'T': + case 't': goto yy854; + default: goto yy18; } -yy665: - YYDEBUG(665, *YYCURSOR); - yyaccept = 14; +yy698: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') { - if (yych >= '/') goto yy722; - } else { - if (yych <= '9') goto yy668; - if (yych >= 'n') goto yy719; - } - } else { - if (yych <= 'r') { - if (yych >= 'r') goto yy720; - } else { - if (yych <= 's') goto yy718; - if (yych <= 't') goto yy721; - } - } -yy666: - YYDEBUG(666, *YYCURSOR); -#line 1223 "ext/date/lib/parse_date.re" - { - 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; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'D': goto yy852; + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 'd': goto yy855; + default: goto yy18; } -#line 11795 "ext/date/lib/parse_date.c" -yy667: - YYDEBUG(667, *YYCURSOR); - yyaccept = 14; +yy699: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') { - if (yych <= '.') goto yy666; - goto yy722; - } else { - if (yych <= '1') goto yy668; - if (yych <= 'm') goto yy666; - goto yy719; - } - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy666; - goto yy720; - } else { - if (yych <= 's') goto yy718; - if (yych <= 't') goto yy721; - goto yy666; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'D': goto yy812; + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 'd': goto yy814; + default: goto yy18; } -yy668: - YYDEBUG(668, *YYCURSOR); - yyaccept = 14; +yy700: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych == '/') goto yy722; - if (yych <= 'm') goto yy666; - goto yy719; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy666; - goto yy720; - } else { - if (yych <= 's') goto yy718; - if (yych <= 't') goto yy721; - goto yy666; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'M': goto yy853; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 'm': goto yy856; + default: goto yy18; } -yy669: - YYDEBUG(669, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy717; - if (yych <= 'T') goto yy56; - goto yy716; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy717; - } else { - if (yych == 'u') goto yy716; - goto yy56; - } +yy701: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'T': goto yy854; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 't': goto yy857; + default: goto yy18; } -yy670: - YYDEBUG(670, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy715; - if (yych == 'e') goto yy715; - goto yy56; -yy671: - YYDEBUG(671, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy714; - if (yych == 'a') goto yy714; - goto yy56; -yy672: - YYDEBUG(672, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy713; - if (yych <= 'T') goto yy56; - goto yy712; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy56; - goto yy713; - } else { - if (yych == 'u') goto yy712; - goto yy56; - } +yy702: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy858; + case '6': goto yy859; + default: goto yy396; } -yy673: - YYDEBUG(673, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy710; - if (yych == 'e') goto yy710; - goto yy56; -yy674: - YYDEBUG(674, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy709; - if (yych == 'c') goto yy709; - goto yy56; -yy675: - YYDEBUG(675, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy708; - if (yych == 'o') goto yy708; - goto yy56; -yy676: - YYDEBUG(676, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy677; - if (yych != 'e') goto yy56; -yy677: - YYDEBUG(677, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy678; - if (yych != 'c') goto yy56; -yy678: - YYDEBUG(678, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '/') goto yy56; -yy679: - YYDEBUG(679, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(680, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(681, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(682, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(683, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy56; - YYDEBUG(684, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy685; - if (yych <= '2') goto yy686; - goto yy56; -yy685: - YYDEBUG(685, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy687; - goto yy56; -yy686: - YYDEBUG(686, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '5') goto yy56; -yy687: - YYDEBUG(687, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy56; - YYDEBUG(688, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '6') goto yy56; - YYDEBUG(689, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(690, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy56; - YYDEBUG(691, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy692; - if (yych <= '6') goto yy693; - goto yy56; -yy692: - YYDEBUG(692, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy694; - goto yy56; -yy693: - YYDEBUG(693, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '0') goto yy56; -yy694: - YYDEBUG(694, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\t') goto yy695; - if (yych != ' ') goto yy56; -yy695: - YYDEBUG(695, *YYCURSOR); +yy703: ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; - YYDEBUG(696, *YYCURSOR); - if (yych <= '*') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy695; - } else { - if (yych == ' ') goto yy695; - goto yy56; - } - } else { - if (yych <= '-') { - if (yych == ',') goto yy56; - goto yy698; - } else { - if (yych != 'G') goto yy56; - } + switch ((yych = *YYCURSOR)) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + default: goto yy704; } - YYDEBUG(697, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy706; - goto yy56; -yy698: - YYDEBUG(698, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy699; - if (yych <= '2') goto yy701; - if (yych <= '9') goto yy702; - goto yy56; -yy699: - YYDEBUG(699, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy700; - if (yych <= '9') goto yy702; - if (yych <= ':') goto yy703; -yy700: - YYDEBUG(700, *YYCURSOR); -#line 1506 "ext/date/lib/parse_date.re" +yy704: +#line 984 "ext/date/lib/parse_date.re" { - int tz_not_found; - DEBUG_OUTPUT("clf"); + DEBUG_OUTPUT("midnight | today"); 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_UNHAVE_TIME(); + TIMELIB_DEINIT; - return TIMELIB_CLF; - } -#line 12048 "ext/date/lib/parse_date.c" -yy701: - YYDEBUG(701, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy700; - if (yych >= '5') goto yy704; - } else { - if (yych <= '9') goto yy705; - if (yych <= ':') goto yy703; - goto yy700; + return TIMELIB_RELATIVE; } -yy702: - YYDEBUG(702, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy700; - if (yych <= '5') goto yy704; - if (yych <= '9') goto yy705; - if (yych >= ';') goto yy700; -yy703: - YYDEBUG(703, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy700; - if (yych <= '5') goto yy704; - if (yych <= '9') goto yy705; - goto yy700; -yy704: - YYDEBUG(704, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy700; - if (yych >= ':') goto yy700; +#line 25034 "" yy705: - YYDEBUG(705, *YYCURSOR); yych = *++YYCURSOR; - goto yy700; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'R': + case 'r': goto yy860; + default: goto yy18; + } yy706: - YYDEBUG(706, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'T') goto yy56; - YYDEBUG(707, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '+') goto yy698; - if (yych == '-') goto yy698; - goto yy56; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'a': goto yy861; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + default: goto yy18; + } +yy707: + yyaccept = 18; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + default: goto yy704; + } yy708: - YYDEBUG(708, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy678; - if (yych == 'v') goto yy678; - goto yy56; + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'R': goto yy860; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 'r': goto yy862; + default: goto yy18; + } yy709: - YYDEBUG(709, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy678; - if (yych == 't') goto yy678; - goto yy56; + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': goto yy861; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'a': goto yy863; + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + default: goto yy18; + } yy710: - YYDEBUG(710, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy711; - if (yych != 'p') goto yy56; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'S': + case 's': goto yy864; + default: goto yy18; + } yy711: - YYDEBUG(711, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == '/') goto yy679; - goto yy56; - } else { - if (yych <= 'T') goto yy678; - if (yych == 't') goto yy678; - goto yy56; + switch (yych) { + case ')': goto yy107; + case 'A': + case 'a': goto yy865; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + default: goto yy18; } yy712: - YYDEBUG(712, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy678; - if (yych == 'g') goto yy678; - goto yy56; -yy713: - YYDEBUG(713, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy678; - if (yych == 'r') goto yy678; - goto yy56; -yy714: - YYDEBUG(714, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy678; - if (yych <= 'X') goto yy56; - goto yy678; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy56; - goto yy678; - } else { - if (yych == 'y') goto yy678; - goto yy56; - } - } -yy715: - YYDEBUG(715, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy678; - if (yych == 'b') goto yy678; - goto yy56; -yy716: - YYDEBUG(716, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy678; - if (yych <= 'M') goto yy56; - goto yy678; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy56; - goto yy678; - } else { - if (yych == 'n') goto yy678; - goto yy56; - } - } -yy717: - YYDEBUG(717, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy678; - if (yych == 'n') goto yy678; - goto yy56; -yy718: - YYDEBUG(718, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 't') goto yy727; - goto yy56; -yy719: - YYDEBUG(719, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy727; - goto yy56; -yy720: - YYDEBUG(720, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy727; - goto yy56; -yy721: - YYDEBUG(721, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'h') goto yy727; - goto yy56; -yy722: - YYDEBUG(722, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(723, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy666; - if (yych >= ':') goto yy666; - YYDEBUG(724, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy666; - if (yych >= ':') goto yy666; - YYDEBUG(725, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy666; - if (yych >= ':') goto yy666; - YYDEBUG(726, *YYCURSOR); - yych = *++YYCURSOR; - goto yy666; -yy727: - YYDEBUG(727, *YYCURSOR); - yyaccept = 14; + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '/') goto yy722; - goto yy666; -yy728: - YYDEBUG(728, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '\t') goto yy730; - goto yy577; - } else { - if (yych <= '-') goto yy731; - if (yych <= '.') goto yy730; - if (yych >= '0') goto yy577; - } -yy729: - YYDEBUG(729, *YYCURSOR); - yych = *++YYCURSOR; - YYDEBUG(-1, yych); switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; case 'A': - case 'a': goto yy672; + case 'B': + case 'C': case 'D': - case 'd': goto yy676; + case 'E': case 'F': - case 'f': goto yy670; + case 'G': + case 'H': + case 'I': case 'J': - case 'j': goto yy669; + case 'K': + case 'L': case 'M': - case 'm': goto yy671; case 'N': - case 'n': goto yy675; case 'O': - case 'o': goto yy674; - case 'S': - case 's': goto yy673; - default: goto yy56; - } -yy730: - YYDEBUG(730, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy577; - if (yych <= '0') goto yy735; - if (yych <= '1') goto yy736; - if (yych <= '9') goto yy737; - goto yy577; -yy731: - YYDEBUG(731, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy577; - if (yych <= '0') goto yy732; - if (yych <= '1') goto yy733; - if (yych <= '9') goto yy734; - goto yy577; -yy732: - YYDEBUG(732, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') goto yy56; - if (yych <= '.') goto yy601; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy734; - goto yy56; -yy733: - YYDEBUG(733, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') goto yy56; - if (yych <= '.') goto yy601; - if (yych <= '/') goto yy56; - if (yych >= '3') goto yy56; -yy734: - YYDEBUG(734, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') goto yy56; - if (yych <= '.') goto yy601; - goto yy56; -yy735: - YYDEBUG(735, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy601; - goto yy738; - } else { - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy737; - goto yy56; + case 'P': + case 'Q': + case 'R': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'S': goto yy864; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + case 's': goto yy866; + default: goto yy18; } -yy736: - YYDEBUG(736, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy601; - goto yy738; - } else { - if (yych <= '/') goto yy56; - if (yych >= '3') goto yy56; +yy713: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': goto yy865; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy800; + case 'a': goto yy867; + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy805; + default: goto yy18; } -yy737: - YYDEBUG(737, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy601; - if (yych >= '/') goto yy56; -yy738: - YYDEBUG(738, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(739, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy610; - goto yy56; -yy740: - YYDEBUG(740, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy784; - if (yych <= '/') goto yy60; - if (yych <= '9') goto yy782; - goto yy60; -yy741: - YYDEBUG(741, *YYCURSOR); +yy714: yych = *++YYCURSOR; - YYDEBUG(-1, yych); 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 yy752; + case ')': goto yy107; case 'A': - case 'a': goto yy745; + case 'B': + case 'C': case 'D': - case 'd': goto yy749; + case 'E': case 'F': - case 'f': goto yy743; + case 'G': + case 'H': + case 'I': case 'J': - case 'j': goto yy742; + case 'K': + case 'L': case 'M': - case 'm': goto yy744; case 'N': - case 'n': goto yy748; case 'O': - case 'o': goto yy747; + case 'P': + case 'Q': case 'S': - case 's': goto yy746; - default: goto yy56; - } -yy742: - YYDEBUG(742, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy781; - if (yych <= 'T') goto yy56; - goto yy780; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy781; - } else { - if (yych == 'u') goto yy780; - goto yy56; - } - } -yy743: - YYDEBUG(743, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy779; - if (yych == 'e') goto yy779; - goto yy56; -yy744: - YYDEBUG(744, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy778; - if (yych == 'a') goto yy778; - goto yy56; -yy745: - YYDEBUG(745, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy777; - if (yych <= 'T') goto yy56; - goto yy776; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy56; - goto yy777; - } else { - if (yych == 'u') goto yy776; - goto yy56; - } - } -yy746: - YYDEBUG(746, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy774; - if (yych == 'e') goto yy774; - goto yy56; -yy747: - YYDEBUG(747, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy773; - if (yych == 'c') goto yy773; - goto yy56; -yy748: - YYDEBUG(748, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy772; - if (yych == 'o') goto yy772; - goto yy56; -yy749: - YYDEBUG(749, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy764; - if (yych == 'e') goto yy764; - goto yy56; -yy750: - YYDEBUG(750, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy753; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy757; - goto yy56; -yy751: - YYDEBUG(751, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy753; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy757; - goto yy56; -yy752: - YYDEBUG(752, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '-') goto yy56; -yy753: - YYDEBUG(753, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy754; - if (yych <= '3') goto yy755; - if (yych <= '9') goto yy756; - goto yy56; -yy754: - YYDEBUG(754, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy756; - if (yych <= 'm') goto yy656; - goto yy660; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; - } - } -yy755: - YYDEBUG(755, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '1') goto yy756; - if (yych <= 'm') goto yy656; - goto yy660; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; - } - } -yy756: - YYDEBUG(756, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'q') { - if (yych == 'n') goto yy660; - goto yy656; - } else { - if (yych <= 'r') goto yy661; - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; - } -yy757: - YYDEBUG(757, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '-') goto yy56; - YYDEBUG(758, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy56; - if (yych >= '1') goto yy760; - } else { - if (yych <= '3') goto yy761; - if (yych <= '9') goto yy756; - goto yy56; - } - YYDEBUG(759, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy762; - if (yych <= 'm') goto yy656; - goto yy660; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; - } - } -yy760: - YYDEBUG(760, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy762; - if (yych <= 'm') goto yy656; - goto yy660; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; - } - } -yy761: - YYDEBUG(761, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '1') goto yy762; - if (yych <= 'm') goto yy656; - goto yy660; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; - } - } -yy762: - YYDEBUG(762, *YYCURSOR); - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'q') { - if (yych == 'n') goto yy660; - } else { - if (yych <= 'r') goto yy661; - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - } -yy763: - YYDEBUG(763, *YYCURSOR); -#line 1251 "ext/date/lib/parse_date.re" - { - 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; - } -#line 12613 "ext/date/lib/parse_date.c" -yy764: - YYDEBUG(764, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy765; - if (yych != 'c') goto yy56; -yy765: - YYDEBUG(765, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '-') goto yy56; -yy766: - YYDEBUG(766, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy767; - if (yych <= '2') goto yy768; - if (yych <= '3') goto yy769; - goto yy56; -yy767: - YYDEBUG(767, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy770; - goto yy56; -yy768: - YYDEBUG(768, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy770; - goto yy56; -yy769: - YYDEBUG(769, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '2') goto yy56; -yy770: - YYDEBUG(770, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(771, *YYCURSOR); -#line 1492 "ext/date/lib/parse_date.re" - { - 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; - } -#line 12665 "ext/date/lib/parse_date.c" -yy772: - YYDEBUG(772, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy765; - if (yych == 'v') goto yy765; - goto yy56; -yy773: - YYDEBUG(773, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy765; - if (yych == 't') goto yy765; - goto yy56; -yy774: - YYDEBUG(774, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy775; - if (yych != 'p') goto yy56; -yy775: - YYDEBUG(775, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == '-') goto yy766; - goto yy56; - } else { - if (yych <= 'T') goto yy765; - if (yych == 't') goto yy765; - goto yy56; - } -yy776: - YYDEBUG(776, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy765; - if (yych == 'g') goto yy765; - goto yy56; -yy777: - YYDEBUG(777, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy765; - if (yych == 'r') goto yy765; - goto yy56; -yy778: - YYDEBUG(778, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy765; - if (yych <= 'X') goto yy56; - goto yy765; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy56; - goto yy765; - } else { - if (yych == 'y') goto yy765; - goto yy56; - } - } -yy779: - YYDEBUG(779, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy765; - if (yych == 'b') goto yy765; - goto yy56; -yy780: - YYDEBUG(780, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy765; - if (yych <= 'M') goto yy56; - goto yy765; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy56; - goto yy765; - } else { - if (yych == 'n') goto yy765; - goto yy56; - } + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy800; + case 'R': + case 'r': goto yy868; + default: goto yy18; } -yy781: - YYDEBUG(781, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy765; - if (yych == 'n') goto yy765; - goto yy56; -yy782: - YYDEBUG(782, *YYCURSOR); - yyaccept = 16; +yy715: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); switch (yych) { - case '\t': - case ' ': + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; case 'A': + case 'B': + case 'C': case 'D': + case 'E': case 'F': + case 'G': case 'H': case 'I': case 'J': + case 'K': + case 'L': case 'M': case 'N': case 'O': + case 'P': + case 'Q': case 'S': case 'T': + case 'U': case 'V': + case 'W': case 'X': case 'Y': + case 'Z': goto yy800; + case 'R': goto yy868; case 'a': + case 'b': + case 'c': case 'd': + case 'e': case 'f': + case 'g': case 'h': + case 'i': case 'j': + case 'k': + case 'l': case 'm': case 'n': case 'o': + case 'p': + case 'q': case 's': case 't': + case 'u': + case 'v': case 'w': - case 'y': goto yy790; - case '-': goto yy787; - case '.': goto yy791; - case '/': goto yy788; - case '0': goto yy804; - case '1': goto yy805; - case '2': goto yy807; - case '3': goto yy808; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy54; - case ':': goto yy806; - case 'W': goto yy809; - default: goto yy783; + case 'x': + case 'y': + case 'z': goto yy805; + case 'r': goto yy869; + default: goto yy18; } -yy783: - YYDEBUG(783, *YYCURSOR); -#line 1527 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("year4"); - TIMELIB_INIT; - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_DEINIT; - return TIMELIB_CLF; +yy716: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy870; + case '1': goto yy871; + default: goto yy56; } -#line 12811 "ext/date/lib/parse_date.c" -yy784: - YYDEBUG(784, *YYCURSOR); +yy717: yych = *++YYCURSOR; - YYDEBUG(-1, yych); switch (yych) { - case '0': goto yy785; - case '1': goto yy786; + case '0': + case '1': case '2': case '3': case '4': @@ -12822,46 +25712,15 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy752; - case 'A': - case 'a': goto yy745; - case 'D': - case 'd': goto yy749; - case 'F': - case 'f': goto yy743; - case 'J': - case 'j': goto yy742; - case 'M': - case 'm': goto yy744; - case 'N': - case 'n': goto yy748; - case 'O': - case 'o': goto yy747; - case 'S': - case 's': goto yy746; + case '9': goto yy872; default: goto yy56; } -yy785: - YYDEBUG(785, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy753; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy752; - goto yy56; -yy786: - YYDEBUG(786, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy753; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy752; - goto yy56; -yy787: - YYDEBUG(787, *YYCURSOR); - yych = *++YYCURSOR; - YYDEBUG(-1, yych); +yy718: + yyaccept = 19; + yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '0': goto yy972; - case '1': goto yy974; + case '0': + case '1': case '2': case '3': case '4': @@ -12869,2491 +25728,2330 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy975; - case 'A': - case 'a': goto yy966; - case 'D': - case 'd': goto yy970; - case 'F': - case 'f': goto yy964; - case 'J': - case 'j': goto yy963; - case 'M': - case 'm': goto yy965; - case 'N': - case 'n': goto yy969; - case 'O': - case 'o': goto yy968; - case 'S': - case 's': goto yy967; - case 'W': goto yy971; - default: goto yy938; - } -yy788: - YYDEBUG(788, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy946; - if (yych <= '1') goto yy947; - if (yych <= '9') goto yy948; - goto yy56; -yy789: - YYDEBUG(789, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy790: - YYDEBUG(790, *YYCURSOR); - YYDEBUG(-1, yych); - switch (yych) { - case '\t': - case ' ': goto yy789; - case '-': - case '.': goto yy937; - case 'A': - case 'a': goto yy799; - case 'D': - case 'd': goto yy803; - case 'F': - case 'f': goto yy797; - case 'H': - case 'h': goto yy63; - case 'I': goto yy792; - case 'J': - case 'j': goto yy796; - case 'M': - case 'm': goto yy798; - case 'N': - case 'n': goto yy802; - case 'O': - case 'o': goto yy801; - case 'S': - case 's': goto yy800; - case 'T': - case 't': goto yy68; - case 'V': goto yy794; - case 'W': - case 'w': goto yy67; - case 'X': goto yy795; - case 'Y': - case 'y': goto yy66; - default: goto yy56; - } -yy791: - YYDEBUG(791, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy938; - if (yych <= '0') goto yy930; - if (yych <= '2') goto yy931; - if (yych <= '3') goto yy932; - goto yy938; -yy792: - YYDEBUG(792, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= 'U') { - if (yych == 'I') goto yy929; - } else { - if (yych == 'W') goto yy793; - if (yych <= 'X') goto yy883; + case '9': goto yy872; + default: goto yy719; } -yy793: - YYDEBUG(793, *YYCURSOR); -#line 1348 "ext/date/lib/parse_date.re" +yy719: +#line 1320 "ext/date/lib/parse_date.re" { int length = 0; - DEBUG_OUTPUT("datenodayrev"); + DEBUG_OUTPUT("pointed date YY"); 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; + 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_NO_DAY; - } -#line 12975 "ext/date/lib/parse_date.c" -yy794: - YYDEBUG(794, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy927; - goto yy793; -yy795: - YYDEBUG(795, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy926; - goto yy793; -yy796: - YYDEBUG(796, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy919; - if (yych <= 'T') goto yy56; - goto yy918; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy919; - } else { - if (yych == 'u') goto yy918; - goto yy56; - } + return TIMELIB_DATE_FULL_POINTED; } -yy797: - YYDEBUG(797, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= 'N') { - if (yych == 'E') goto yy912; - goto yy56; - } else { - if (yych <= 'O') goto yy98; - if (yych <= 'Q') goto yy56; - goto yy97; - } - } else { - if (yych <= 'n') { - if (yych == 'e') goto yy912; - goto yy56; - } else { - if (yych <= 'o') goto yy98; - if (yych == 'r') goto yy97; - goto yy56; - } +#line 25749 "" +yy720: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy872; + case 'n': + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy544; } -yy798: - YYDEBUG(798, *YYCURSOR); +yy721: yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'H') { - if (yych == 'A') goto yy909; - goto yy56; - } else { - if (yych <= 'I') goto yy117; - if (yych <= 'N') goto yy56; - goto yy116; - } - } else { - if (yych <= 'h') { - if (yych == 'a') goto yy909; - goto yy56; - } else { - if (yych <= 'i') goto yy117; - if (yych == 'o') goto yy116; - goto yy56; - } + switch (yych) { + case 'd': goto yy873; + default: goto yy56; } -yy799: - YYDEBUG(799, *YYCURSOR); +yy722: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy903; - if (yych <= 'T') goto yy56; - goto yy902; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy56; - goto yy903; - } else { - if (yych == 'u') goto yy902; - goto yy56; - } + switch (yych) { + case 't': goto yy873; + default: goto yy56; } -yy800: - YYDEBUG(800, *YYCURSOR); +yy723: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'A') goto yy126; - goto yy56; - } else { - if (yych <= 'E') goto yy895; - if (yych <= 'T') goto yy56; - goto yy125; - } - } else { - if (yych <= 'd') { - if (yych == 'a') goto yy126; - goto yy56; - } else { - if (yych <= 'e') goto yy895; - if (yych == 'u') goto yy125; - goto yy56; - } + switch (yych) { + case 'h': goto yy873; + default: goto yy56; } -yy801: - YYDEBUG(801, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy890; - if (yych == 'c') goto yy890; - goto yy56; -yy802: - YYDEBUG(802, *YYCURSOR); +yy724: yych = *++YYCURSOR; - if (yych == 'O') goto yy884; - if (yych == 'o') goto yy884; - goto yy56; -yy803: - YYDEBUG(803, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych == 'A') goto yy113; - if (yych <= 'D') goto yy56; - goto yy877; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy113; - } else { - if (yych == 'e') goto yy877; - goto yy56; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy874; + default: goto yy56; } -yy804: - YYDEBUG(804, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '0') goto yy874; - if (yych <= '9') goto yy875; - goto yy60; -yy805: - YYDEBUG(805, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '2') goto yy843; - if (yych <= '9') goto yy822; - goto yy60; -yy806: - YYDEBUG(806, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy823; - if (yych <= '1') goto yy824; - goto yy56; -yy807: - YYDEBUG(807, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '9') goto yy822; - goto yy60; -yy808: - YYDEBUG(808, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '5') goto yy818; - if (yych <= '6') goto yy819; - if (yych <= '9') goto yy54; - goto yy60; -yy809: - YYDEBUG(809, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy810; - if (yych <= '4') goto yy811; - goto yy812; - } else { - if (yych <= 'E') { - if (yych <= 'D') goto yy56; - goto yy82; - } else { - if (yych == 'e') goto yy82; - goto yy56; - } +yy725: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': goto yy724; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy872; + default: goto yy208; } -yy810: - YYDEBUG(810, *YYCURSOR); +yy726: yych = *++YYCURSOR; - if (yych <= '0') goto yy56; - if (yych <= '9') goto yy813; - goto yy56; -yy811: - YYDEBUG(811, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy813; - goto yy56; -yy812: - YYDEBUG(812, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '4') goto yy56; -yy813: - YYDEBUG(813, *YYCURSOR); - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy815; - if (yych <= '/') goto yy814; - if (yych <= '7') goto yy816; -yy814: - YYDEBUG(814, *YYCURSOR); -#line 1459 "ext/date/lib/parse_date.re" - { - timelib_sll w, d; - DEBUG_OUTPUT("isoweek"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - TIMELIB_HAVE_RELATIVE(); - - s->time->y = timelib_get_nr((char **) &ptr, 4); - w = timelib_get_nr((char **) &ptr, 2); - d = 1; - s->time->m = 1; - s->time->d = 1; - s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); - - TIMELIB_DEINIT; - return TIMELIB_ISO_WEEK; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy876; + default: goto yy213; } -#line 13208 "ext/date/lib/parse_date.c" -yy815: - YYDEBUG(815, *YYCURSOR); +yy727: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '8') goto yy56; -yy816: - YYDEBUG(816, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(817, *YYCURSOR); -#line 1440 "ext/date/lib/parse_date.re" - { - timelib_sll w, d; - DEBUG_OUTPUT("isoweekday"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - TIMELIB_HAVE_RELATIVE(); - - s->time->y = timelib_get_nr((char **) &ptr, 4); - w = timelib_get_nr((char **) &ptr, 2); - d = timelib_get_nr((char **) &ptr, 1); - s->time->m = 1; - s->time->d = 1; - s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); - - TIMELIB_DEINIT; - return TIMELIB_ISO_WEEK; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy877; + default: goto yy56; } -#line 13236 "ext/date/lib/parse_date.c" -yy818: - YYDEBUG(818, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '9') goto yy820; - goto yy60; -yy819: - YYDEBUG(819, *YYCURSOR); +yy728: yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '6') goto yy820; - if (yych <= '9') goto yy54; - goto yy60; -yy820: - YYDEBUG(820, *YYCURSOR); - yyaccept = 18; + switch (yych) { + case '0': + case '1': + case '2': goto yy878; + case '3': goto yy879; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy546; + default: goto yy56; + } +yy729: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; +yy730: + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy729; + case 'A': + case 'a': goto yy572; + case 'D': + case 'd': goto yy747; + case 'F': + case 'f': goto yy748; + case 'I': goto yy575; + case 'J': + case 'j': goto yy577; + case 'M': + case 'm': goto yy749; + case 'N': + case 'n': goto yy579; + case 'O': + case 'o': goto yy580; + case 'S': + case 's': goto yy750; + case 'V': goto yy582; + case 'X': goto yy584; + default: goto yy56; + } +yy731: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy54; - } - if (yych <= 'W') { - 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 <= 'R') goto yy821; - if (yych <= 'T') goto yy60; - if (yych >= 'W') goto yy60; - } - } - } else { - if (yych <= 'h') { - if (yych <= 'd') { - if (yych == 'Y') goto yy60; - if (yych >= 'd') goto yy60; - } else { - if (yych == 'f') goto yy60; - if (yych >= 'h') goto yy60; - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych >= 's') goto yy60; - } else { - if (yych <= 'w') { - if (yych >= 'w') goto yy60; - } else { - if (yych == 'y') goto yy60; - } - } - } + switch (yych) { + case '-': goto yy880; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy881; + default: goto yy732; } -yy821: - YYDEBUG(821, *YYCURSOR); -#line 1426 "ext/date/lib/parse_date.re" +yy732: +#line 1265 "ext/date/lib/parse_date.re" { int length = 0; - DEBUG_OUTPUT("pgydotd"); + DEBUG_OUTPUT("gnudateshorter"); 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; + s->time->m = timelib_get_nr((char **) &ptr, 2); + s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; - return TIMELIB_PG_YEARDAY; + return TIMELIB_ISO_DATE; } -#line 13313 "ext/date/lib/parse_date.c" -yy822: - YYDEBUG(822, *YYCURSOR); +#line 25927 "" +yy733: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy880; + case '0': + case '1': + case '2': goto yy881; + default: goto yy732; + } +yy734: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy880; + default: goto yy732; + } +yy735: yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '9') goto yy820; - goto yy60; -yy823: - YYDEBUG(823, *YYCURSOR); + switch (yych) { + case 'P': + case 'p': goto yy882; + case 'U': + case 'u': goto yy883; + default: goto yy56; + } +yy736: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy825; - goto yy56; -yy824: - YYDEBUG(824, *YYCURSOR); + switch (yych) { + case 'E': + case 'e': goto yy884; + default: goto yy56; + } +yy737: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '3') goto yy56; -yy825: - YYDEBUG(825, *YYCURSOR); + switch (yych) { + case 'E': + case 'e': goto yy885; + default: goto yy56; + } +yy738: yych = *++YYCURSOR; - if (yych != ':') goto yy56; - YYDEBUG(826, *YYCURSOR); + switch (yych) { + case 'A': + case 'a': goto yy886; + case 'U': + case 'u': goto yy887; + default: goto yy56; + } +yy739: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy827; - if (yych <= '2') goto yy828; - if (yych <= '3') goto yy829; - goto yy56; -yy827: - YYDEBUG(827, *YYCURSOR); + switch (yych) { + case 'A': + case 'a': goto yy888; + default: goto yy56; + } +yy740: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy830; - goto yy56; -yy828: - YYDEBUG(828, *YYCURSOR); + switch (yych) { + case 'O': + case 'o': goto yy889; + default: goto yy56; + } +yy741: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy830; - goto yy56; -yy829: - YYDEBUG(829, *YYCURSOR); + switch (yych) { + case 'C': + case 'c': goto yy890; + default: goto yy56; + } +yy742: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '2') goto yy56; -yy830: - YYDEBUG(830, *YYCURSOR); + switch (yych) { + case 'E': + case 'e': goto yy891; + default: goto yy56; + } +yy743: yych = *++YYCURSOR; - if (yych != ' ') goto yy56; - YYDEBUG(831, *YYCURSOR); + switch (yych) { + case '0': goto yy774; + case '1': + case '2': + case '3': + case '4': goto yy775; + case '5': goto yy776; + default: goto yy56; + } +yy744: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy832; - if (yych <= '2') goto yy833; - goto yy56; -yy832: - YYDEBUG(832, *YYCURSOR); + switch (yych) { + case '0': goto yy892; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy893; + default: goto yy56; + } +yy745: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy834; - goto yy56; -yy833: - YYDEBUG(833, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy893; + default: goto yy56; + } +yy746: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '5') goto yy56; -yy834: - YYDEBUG(834, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy893; + case '6': goto yy894; + default: goto yy56; + } +yy747: yych = *++YYCURSOR; - if (yych != ':') goto yy56; - YYDEBUG(835, *YYCURSOR); + switch (yych) { + case 'E': + case 'e': goto yy764; + default: goto yy56; + } +yy748: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '6') goto yy56; - YYDEBUG(836, *YYCURSOR); + switch (yych) { + case 'E': + case 'e': goto yy765; + default: goto yy56; + } +yy749: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(837, *YYCURSOR); + switch (yych) { + case 'A': + case 'a': goto yy770; + default: goto yy56; + } +yy750: yych = *++YYCURSOR; - if (yych != ':') goto yy56; - YYDEBUG(838, *YYCURSOR); + switch (yych) { + case 'E': + case 'e': goto yy895; + default: goto yy56; + } +yy751: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy839; - if (yych <= '6') goto yy840; - goto yy56; -yy839: - YYDEBUG(839, *YYCURSOR); + switch (yych) { + case '/': goto yy896; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy897; + default: goto yy56; + } +yy752: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy841; - goto yy56; -yy840: - YYDEBUG(840, *YYCURSOR); + switch (yych) { + case '/': goto yy896; + case '0': + case '1': + case '2': goto yy897; + default: goto yy56; + } +yy753: yych = *++YYCURSOR; - if (yych != '0') goto yy56; -yy841: - YYDEBUG(841, *YYCURSOR); - ++YYCURSOR; -yy842: - YYDEBUG(842, *YYCURSOR); -#line 1400 "ext/date/lib/parse_date.re" + switch (yych) { + case '/': goto yy896; + default: goto yy56; + } +yy754: + yyaccept = 21; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': goto yy898; + case '1': + case '2': goto yy899; + case '3': goto yy901; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy902; + default: goto yy755; + } +yy755: +#line 1203 "ext/date/lib/parse_date.re" { int tz_not_found; - DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); + DEBUG_OUTPUT("iso8601nocolon"); 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"); - } + + 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_XMLRPC_SOAP; - } -#line 13441 "ext/date/lib/parse_date.c" -yy843: - YYDEBUG(843, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy60; - if (yych >= '1') goto yy845; - } else { - if (yych <= '3') goto yy846; - if (yych <= '9') goto yy820; - goto yy60; + return TIMELIB_ISO_NOCOLON; } -yy844: - YYDEBUG(844, *YYCURSOR); - yyaccept = 18; +#line 26171 "" +yy756: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy821; - goto yy60; - } else { - if (yych <= '/') goto yy821; - if (yych <= '9') goto yy847; - if (yych <= 'C') goto yy821; - goto yy60; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy60; - if (yych <= 'G') goto yy821; - goto yy60; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy821; - goto yy60; - } else { - if (yych <= 'R') goto yy821; - if (yych <= 'T') goto yy60; - goto yy821; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy821; - if (yych <= 'Y') goto yy60; - goto yy821; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy60; - goto yy821; - } else { - if (yych == 'g') goto yy821; - goto yy60; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy821; - goto yy60; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy821; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy821; - } - } - } + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': goto yy899; + case '3': goto yy901; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy902; + default: goto yy755; } -yy845: - YYDEBUG(845, *YYCURSOR); - yyaccept = 18; +yy757: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy821; - goto yy60; - } else { - if (yych <= '/') goto yy821; - if (yych <= '9') goto yy847; - if (yych <= 'C') goto yy821; - goto yy60; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy60; - if (yych <= 'G') goto yy821; - goto yy60; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy821; - goto yy60; - } else { - if (yych <= 'R') goto yy821; - if (yych <= 'T') goto yy60; - goto yy821; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy821; - if (yych <= 'Y') goto yy60; - goto yy821; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy60; - goto yy821; - } else { - if (yych == 'g') goto yy821; - goto yy60; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy821; - goto yy60; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy821; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy821; - } - } - } + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy902; + default: goto yy755; } -yy846: - YYDEBUG(846, *YYCURSOR); - yyaccept = 18; +yy758: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy821; - goto yy60; - } else { - if (yych <= '1') { - if (yych <= '/') goto yy821; - } else { - if (yych <= '9') goto yy54; - if (yych <= 'C') goto yy821; - goto yy60; - } - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy60; - if (yych <= 'G') goto yy821; - goto yy60; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy821; - goto yy60; - } else { - if (yych <= 'R') goto yy821; - if (yych <= 'T') goto yy60; - goto yy821; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy821; - if (yych <= 'Y') goto yy60; - goto yy821; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy60; - goto yy821; - } else { - if (yych == 'g') goto yy821; - goto yy60; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy821; - goto yy60; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy821; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy821; - } - } - } + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': goto yy902; + case '7': + case '8': + case '9': goto yy57; + default: goto yy755; } -yy847: - YYDEBUG(847, *YYCURSOR); - yyaccept = 19; +yy759: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy54; - } - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy59; - if (yych >= ' ') goto yy59; - } else { - if (yych == 'D') goto yy64; - if (yych >= 'F') goto yy65; - } - } else { - if (yych <= 'M') { - if (yych == 'H') goto yy63; - if (yych >= 'M') goto yy62; - } else { - if (yych <= 'S') { - if (yych >= 'S') goto yy61; - } else { - if (yych <= 'T') goto yy849; - if (yych >= 'W') goto yy67; - } - } - } - } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy66; - if (yych >= 'd') goto yy64; - } else { - if (yych <= 'f') { - if (yych >= 'f') goto yy65; - } else { - if (yych == 'h') goto yy63; - } - } - } else { - if (yych <= 't') { - if (yych <= 'm') goto yy62; - if (yych <= 'r') goto yy848; - if (yych <= 's') goto yy61; - goto yy850; - } else { - if (yych <= 'w') { - if (yych >= 'w') goto yy67; - } else { - if (yych == 'y') goto yy66; - } - } - } - } -yy848: - YYDEBUG(848, *YYCURSOR); -#line 1388 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datenocolon"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_DEINIT; - return TIMELIB_DATE_NOCOLON; - } -#line 13714 "ext/date/lib/parse_date.c" -yy849: - YYDEBUG(849, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= '2') { - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy864; - goto yy865; - } else { - if (yych <= '9') goto yy866; - if (yych <= 'G') goto yy56; - goto yy69; - } - } else { - if (yych <= 'g') { - if (yych == 'U') goto yy70; - goto yy56; - } else { - if (yych <= 'h') goto yy69; - if (yych == 'u') goto yy70; - goto yy56; - } + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + default: goto yy755; } -yy850: - YYDEBUG(850, *YYCURSOR); +yy760: yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= '2') { - if (yych <= '/') goto yy56; - if (yych >= '2') goto yy852; - } else { - if (yych <= '9') goto yy853; - if (yych <= 'G') goto yy56; - goto yy69; - } - } else { - if (yych <= 'g') { - if (yych == 'U') goto yy70; - goto yy56; - } else { - if (yych <= 'h') goto yy69; - if (yych == 'u') goto yy70; - goto yy56; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy903; + default: goto yy56; } - YYDEBUG(851, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy858; - if (yych <= '9') goto yy853; - goto yy56; -yy852: - YYDEBUG(852, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '4') goto yy858; - if (yych <= '5') goto yy854; - goto yy56; -yy853: - YYDEBUG(853, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '6') goto yy56; -yy854: - YYDEBUG(854, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; -yy855: - YYDEBUG(855, *YYCURSOR); +yy761: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy856; - if (yych <= '6') goto yy857; - goto yy56; -yy856: - YYDEBUG(856, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': goto yy903; + default: goto yy56; + } +yy762: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy841; - goto yy56; -yy857: - YYDEBUG(857, *YYCURSOR); + switch (yych) { + case 'R': + case 'r': goto yy904; + default: goto yy56; + } +yy763: yych = *++YYCURSOR; - if (yych == '0') goto yy841; - goto yy56; -yy858: - YYDEBUG(858, *YYCURSOR); + switch (yych) { + case 'G': + case 'g': goto yy905; + default: goto yy56; + } +yy764: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy859; - if (yych <= '9') goto yy855; - goto yy56; -yy859: - YYDEBUG(859, *YYCURSOR); + switch (yych) { + case 'C': + case 'c': goto yy906; + default: goto yy56; + } +yy765: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy860; - if (yych <= '6') goto yy861; - if (yych <= '9') goto yy855; - goto yy56; -yy860: - YYDEBUG(860, *YYCURSOR); + switch (yych) { + case 'B': + case 'b': goto yy907; + default: goto yy56; + } +yy766: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy862; - if (yych <= '6') goto yy863; - if (yych <= '9') goto yy841; - goto yy56; -yy861: - YYDEBUG(861, *YYCURSOR); + switch (yych) { + case 'I': goto yy767; + default: goto yy576; + } +yy767: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy862; - if (yych <= '5') goto yy856; - if (yych <= '6') goto yy857; - goto yy56; -yy862: - YYDEBUG(862, *YYCURSOR); + goto yy576; +yy768: yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '9') goto yy841; - goto yy842; -yy863: - YYDEBUG(863, *YYCURSOR); + switch (yych) { + case 'N': + case 'n': goto yy908; + default: goto yy56; + } +yy769: yych = *++YYCURSOR; - if (yych == '0') goto yy841; - goto yy842; -yy864: - YYDEBUG(864, *YYCURSOR); + switch (yych) { + case 'L': + case 'l': goto yy909; + case 'N': + case 'n': goto yy910; + default: goto yy56; + } +yy770: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy873; - if (yych <= '9') goto yy866; - if (yych <= ':') goto yy867; - goto yy56; -yy865: - YYDEBUG(865, *YYCURSOR); + switch (yych) { + case 'R': + case 'r': goto yy911; + case 'Y': + case 'y': goto yy767; + default: goto yy56; + } +yy771: yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy56; - if (yych <= '4') goto yy873; - goto yy854; - } else { - if (yych == ':') goto yy867; - goto yy56; + switch (yych) { + case 'V': + case 'v': goto yy906; + default: goto yy56; } -yy866: - YYDEBUG(866, *YYCURSOR); +yy772: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy854; - if (yych != ':') goto yy56; -yy867: - YYDEBUG(867, *YYCURSOR); + switch (yych) { + case 'T': + case 't': goto yy912; + default: goto yy56; + } +yy773: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '6') goto yy56; - YYDEBUG(868, *YYCURSOR); + switch (yych) { + case 'C': + case 'c': goto yy417; + case 'P': + case 'p': goto yy913; + default: goto yy56; + } +yy774: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(869, *YYCURSOR); + switch (yych) { + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy914; + default: goto yy56; + } +yy775: yych = *++YYCURSOR; - if (yych != ':') goto yy56; - YYDEBUG(870, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy914; + default: goto yy56; + } +yy776: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy871; - if (yych <= '6') goto yy872; - goto yy56; -yy871: - YYDEBUG(871, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': goto yy914; + default: goto yy56; + } +yy777: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy841; - goto yy56; -yy872: - YYDEBUG(872, *YYCURSOR); + switch (yych) { + case '0': goto yy898; + case '1': + case '2': goto yy899; + case '3': goto yy901; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy902; + default: goto yy186; + } +yy778: yych = *++YYCURSOR; - if (yych == '0') goto yy841; - goto yy56; -yy873: - YYDEBUG(873, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': goto yy899; + case '3': goto yy901; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy902; + default: goto yy186; + } +yy779: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy859; - if (yych <= '9') goto yy855; - if (yych <= ':') goto yy867; - goto yy56; -yy874: - YYDEBUG(874, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy902; + default: goto yy186; + } +yy780: yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy60; - if (yych <= '0') goto yy876; - goto yy845; - } else { - if (yych <= '3') goto yy846; - if (yych <= '9') goto yy820; - goto yy60; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': goto yy902; + case '7': + case '8': + case '9': goto yy57; + default: goto yy186; } -yy875: - YYDEBUG(875, *YYCURSOR); +yy781: yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy60; - if (yych <= '0') goto yy844; - goto yy845; - } else { - if (yych <= '3') goto yy846; - if (yych <= '9') goto yy820; - goto yy60; + switch (yych) { + case 'T': + case 't': goto yy242; + default: goto yy56; } -yy876: - YYDEBUG(876, *YYCURSOR); +yy782: yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '9') goto yy847; - goto yy60; -yy877: - YYDEBUG(877, *YYCURSOR); + switch (yych) { + case 'N': + case 'n': goto yy783; + default: goto yy56; + } +yy783: yych = *++YYCURSOR; - if (yych == 'C') goto yy878; - if (yych != 'c') goto yy56; -yy878: - YYDEBUG(878, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy879; - if (yych != 'e') goto yy793; -yy879: - YYDEBUG(879, *YYCURSOR); + switch (yych) { + case 'I': + case 'i': goto yy916; + default: goto yy56; + } +yy784: yych = *++YYCURSOR; - if (yych == 'M') goto yy880; - if (yych != 'm') goto yy56; -yy880: - YYDEBUG(880, *YYCURSOR); + switch (yych) { + case 'Y': + case 'y': goto yy591; + default: goto yy56; + } +yy785: yych = *++YYCURSOR; - if (yych == 'B') goto yy881; - if (yych != 'b') goto yy56; -yy881: - YYDEBUG(881, *YYCURSOR); + goto yy240; +yy786: yych = *++YYCURSOR; - if (yych == 'E') goto yy882; - if (yych != 'e') goto yy56; -yy882: - YYDEBUG(882, *YYCURSOR); + switch (yych) { + case 'R': + case 'r': goto yy917; + default: goto yy56; + } +yy787: yych = *++YYCURSOR; - if (yych == 'R') goto yy883; - if (yych != 'r') goto yy56; -yy883: - YYDEBUG(883, *YYCURSOR); + switch (yych) { + case 'E': + case 'e': goto yy401; + default: goto yy56; + } +yy788: yych = *++YYCURSOR; - goto yy793; -yy884: - YYDEBUG(884, *YYCURSOR); + switch (yych) { + case 'E': + case 'e': goto yy918; + default: goto yy56; + } +yy789: yych = *++YYCURSOR; - if (yych == 'V') goto yy885; - if (yych != 'v') goto yy56; -yy885: - YYDEBUG(885, *YYCURSOR); - yyaccept = 20; + switch (yych) { + case 'D': + case 'd': goto yy401; + default: goto yy56; + } +yy790: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': goto yy613; + case '.': goto yy724; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy872; + case 'A': + case 'P': + case 'a': + case 'p': goto yy100; + default: goto yy208; + } +yy791: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': goto yy613; + case '.': goto yy724; + case 'A': + case 'P': + case 'a': + case 'p': goto yy100; + default: goto yy208; + } +yy792: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': goto yy724; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy919; + default: goto yy208; + } +yy793: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': goto yy724; + case '0': goto yy919; + default: goto yy208; + } +yy794: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy796; + case 'n': + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy544; + } +yy795: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy886; - if (yych != 'e') goto yy793; -yy886: - YYDEBUG(886, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy887; - if (yych != 'm') goto yy56; -yy887: - YYDEBUG(887, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy888; - if (yych != 'b') goto yy56; -yy888: - YYDEBUG(888, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy889; - if (yych != 'e') goto yy56; -yy889: - YYDEBUG(889, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy883; - if (yych == 'r') goto yy883; - goto yy56; -yy890: - YYDEBUG(890, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy891; - if (yych != 't') goto yy56; -yy891: - YYDEBUG(891, *YYCURSOR); - yyaccept = 20; + switch (yych) { + case '0': + case '1': goto yy796; + case 'n': + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy544; + } +yy796: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'O') goto yy892; - if (yych != 'o') goto yy793; -yy892: - YYDEBUG(892, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy893; - if (yych != 'b') goto yy56; -yy893: - YYDEBUG(893, *YYCURSOR); + switch (yych) { + case 'n': + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy544; + } +yy797: yych = *++YYCURSOR; - if (yych == 'E') goto yy894; - if (yych != 'e') goto yy56; -yy894: - YYDEBUG(894, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': goto yy920; + case '3': goto yy921; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy796; + default: goto yy56; + } +yy798: yych = *++YYCURSOR; - if (yych == 'R') goto yy883; - if (yych == 'r') goto yy883; - goto yy56; -yy895: - YYDEBUG(895, *YYCURSOR); + switch (yych) { + case '-': goto yy922; + default: goto yy56; + } +yy799: yych = *++YYCURSOR; - if (yych <= 'P') { - if (yych == 'C') goto yy128; - if (yych <= 'O') goto yy56; - } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy56; - goto yy128; - } else { - if (yych != 'p') goto yy56; - } + switch (yych) { + case '-': goto yy922; + case 'T': + case 't': goto yy798; + default: goto yy56; } -yy896: - YYDEBUG(896, *YYCURSOR); +yy800: yych = *++YYCURSOR; - if (yych == 'T') goto yy897; - if (yych != 't') goto yy793; -yy897: - YYDEBUG(897, *YYCURSOR); - yyaccept = 20; + switch (yych) { + case ')': goto yy107; + default: goto yy18; + } +yy801: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy898; - if (yych != 'e') goto yy793; -yy898: - YYDEBUG(898, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy899; - if (yych != 'm') goto yy56; -yy899: - YYDEBUG(899, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy900; - if (yych != 'b') goto yy56; -yy900: - YYDEBUG(900, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy901; - if (yych != 'e') goto yy56; -yy901: - YYDEBUG(901, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy883; - if (yych == 'r') goto yy883; - goto yy56; -yy902: - YYDEBUG(902, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy906; - if (yych == 'g') goto yy906; - goto yy56; -yy903: - YYDEBUG(903, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy904; - if (yych != 'r') goto yy56; -yy904: - YYDEBUG(904, *YYCURSOR); - yyaccept = 20; + switch (yych) { + case '-': goto yy923; + case '.': goto yy478; + case '0': goto yy479; + case '1': goto yy480; + case '2': goto yy481; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy482; + case ':': goto yy483; + default: goto yy304; + } +yy802: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'I') goto yy905; - if (yych != 'i') goto yy793; -yy905: - YYDEBUG(905, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy883; - if (yych == 'l') goto yy883; - goto yy56; -yy906: - YYDEBUG(906, *YYCURSOR); - yyaccept = 20; + switch (yych) { + case '-': goto yy923; + case '.': goto yy484; + case '0': goto yy485; + case '1': goto yy480; + case '2': goto yy481; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy482; + case ':': goto yy486; + default: goto yy304; + } +yy803: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy907; - if (yych != 'u') goto yy793; -yy907: - YYDEBUG(907, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy908; - if (yych != 's') goto yy56; -yy908: - YYDEBUG(908, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy883; - if (yych == 't') goto yy883; - goto yy56; -yy909: - YYDEBUG(909, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy910; - if (yych <= 'X') goto yy56; - goto yy883; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy56; - } else { - if (yych == 'y') goto yy883; - goto yy56; - } + switch (yych) { + case '-': goto yy923; + case '.': goto yy484; + case '0': goto yy479; + case '1': goto yy480; + case '2': goto yy481; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy482; + case ':': goto yy486; + default: goto yy304; } -yy910: - YYDEBUG(910, *YYCURSOR); - yyaccept = 20; +yy804: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'C') goto yy911; - if (yych != 'c') goto yy793; -yy911: - YYDEBUG(911, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy883; - if (yych == 'h') goto yy883; - goto yy56; -yy912: - YYDEBUG(912, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy913; - if (yych != 'b') goto yy56; -yy913: - YYDEBUG(913, *YYCURSOR); - yyaccept = 20; + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + default: goto yy274; + } +yy805: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'R') goto yy914; - if (yych != 'r') goto yy793; -yy914: - YYDEBUG(914, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy915; - if (yych != 'u') goto yy56; -yy915: - YYDEBUG(915, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy916; - if (yych != 'a') goto yy56; -yy916: - YYDEBUG(916, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy917; - if (yych != 'r') goto yy56; -yy917: - YYDEBUG(917, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy883; - if (yych == 'y') goto yy883; - goto yy56; -yy918: - YYDEBUG(918, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy925; - if (yych <= 'M') goto yy56; - goto yy924; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy56; - goto yy925; - } else { - if (yych == 'n') goto yy924; - goto yy56; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy18; } -yy919: - YYDEBUG(919, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy920; - if (yych != 'n') goto yy56; -yy920: - YYDEBUG(920, *YYCURSOR); - yyaccept = 20; +yy806: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy921; - if (yych != 'u') goto yy793; -yy921: - YYDEBUG(921, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy922; - if (yych != 'a') goto yy56; -yy922: - YYDEBUG(922, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy923; - if (yych != 'r') goto yy56; -yy923: - YYDEBUG(923, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy883; - if (yych == 'y') goto yy883; - goto yy56; -yy924: - YYDEBUG(924, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy883; - if (yych == 'e') goto yy883; - goto yy793; -yy925: - YYDEBUG(925, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy883; - if (yych == 'y') goto yy883; - goto yy793; -yy926: - YYDEBUG(926, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy883; - goto yy793; -yy927: - YYDEBUG(927, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != 'I') goto yy793; - YYDEBUG(928, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy883; - goto yy793; -yy929: - YYDEBUG(929, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy883; - goto yy793; -yy930: - YYDEBUG(930, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy945; - if (yych <= '9') goto yy944; - goto yy56; -yy931: - YYDEBUG(931, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy943; - goto yy56; -yy932: - YYDEBUG(932, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy941; - if (yych <= '6') goto yy940; - goto yy56; -yy933: - YYDEBUG(933, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy912; - if (yych == 'e') goto yy912; - goto yy56; -yy934: - YYDEBUG(934, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy909; - if (yych == 'a') goto yy909; - goto yy56; -yy935: - YYDEBUG(935, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy939; - if (yych == 'e') goto yy939; - goto yy56; -yy936: - YYDEBUG(936, *YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case ')': goto yy107; + case '-': goto yy684; + case '/': + case '_': goto yy276; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy274; + } +yy807: yych = *++YYCURSOR; - if (yych == 'E') goto yy877; - if (yych == 'e') goto yy877; - goto yy56; -yy937: - YYDEBUG(937, *YYCURSOR); + switch (yych) { + case 'F': + case 'f': goto yy926; + default: goto yy56; + } +yy808: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case 'E': + case 'e': goto yy927; + default: goto yy18; + } +yy809: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'E': goto yy927; + case 'a': + case 'b': + case 'c': + case 'd': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + case 'e': goto yy928; + default: goto yy18; + } +yy810: ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; -yy938: - YYDEBUG(938, *YYCURSOR); - YYDEBUG(-1, yych); +yy811: switch (yych) { case '\t': - case ' ': - case '-': - case '.': goto yy937; - case 'A': - case 'a': goto yy799; + case ' ': goto yy810; case 'D': - case 'd': goto yy936; + case 'd': goto yy837; case 'F': - case 'f': goto yy933; - case 'I': goto yy792; - case 'J': - case 'j': goto yy796; + case 'f': goto yy838; + case 'H': + case 'h': goto yy839; case 'M': - case 'm': goto yy934; - case 'N': - case 'n': goto yy802; - case 'O': - case 'o': goto yy801; + case 'm': goto yy840; case 'S': - case 's': goto yy935; - case 'V': goto yy794; - case 'X': goto yy795; + case 's': goto yy841; + case 'T': + case 't': goto yy842; + case 'W': + case 'w': goto yy929; + case 'Y': + case 'y': goto yy844; default: goto yy56; } -yy939: - YYDEBUG(939, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy896; - if (yych == 'p') goto yy896; - goto yy56; -yy940: - YYDEBUG(940, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '6') goto yy942; - goto yy56; -yy941: - YYDEBUG(941, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; -yy942: - YYDEBUG(942, *YYCURSOR); - yych = *++YYCURSOR; - goto yy821; -yy943: - YYDEBUG(943, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy942; - goto yy56; -yy944: - YYDEBUG(944, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy942; - goto yy56; -yy945: - YYDEBUG(945, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '0') goto yy56; - if (yych <= '9') goto yy942; - goto yy56; -yy946: - YYDEBUG(946, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') goto yy56; - if (yych <= '/') goto yy949; - if (yych <= '9') goto yy957; - goto yy56; -yy947: - YYDEBUG(947, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') goto yy56; - if (yych <= '/') goto yy949; - if (yych <= '2') goto yy957; - goto yy56; -yy948: - YYDEBUG(948, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '/') goto yy56; -yy949: - YYDEBUG(949, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy950; - if (yych <= '3') goto yy951; - if (yych <= '9') goto yy952; - goto yy56; -yy950: - YYDEBUG(950, *YYCURSOR); - yyaccept = 21; +yy812: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy454; - if (yych <= '9') goto yy952; - if (yych <= 'm') goto yy454; - goto yy954; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy955; - } else { - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; - } + switch (yych) { + case '\t': + case ' ': goto yy810; + case ')': goto yy107; + default: goto yy18; } -yy951: - YYDEBUG(951, *YYCURSOR); - yyaccept = 21; +yy813: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy454; - if (yych <= '1') goto yy952; - if (yych <= 'm') goto yy454; - goto yy954; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy955; - } else { - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; - } + switch (yych) { + case ')': goto yy107; + case 'T': + case 't': goto yy930; + default: goto yy18; } -yy952: - YYDEBUG(952, *YYCURSOR); - yyaccept = 21; +yy814: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'q') { - if (yych == 'n') goto yy954; - goto yy454; - } else { - if (yych <= 'r') goto yy955; - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; + switch (yych) { + case '\t': + case ' ': goto yy810; + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy18; } -yy953: - YYDEBUG(953, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 't') goto yy453; - goto yy56; -yy954: - YYDEBUG(954, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy453; - goto yy56; -yy955: - YYDEBUG(955, *YYCURSOR); +yy815: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'T': goto yy930; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + case 't': goto yy931; + default: goto yy18; + } +yy816: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case 'R': + case 'r': goto yy932; + default: goto yy18; + } +yy817: yych = *++YYCURSOR; - if (yych == 'd') goto yy453; - goto yy56; -yy956: - YYDEBUG(956, *YYCURSOR); + switch (yych) { + case 'D': + case 'd': goto yy845; + default: goto yy811; + } +yy818: yych = *++YYCURSOR; - if (yych == 'h') goto yy453; - goto yy56; -yy957: - YYDEBUG(957, *YYCURSOR); + switch (yych) { + case ')': goto yy107; + default: goto yy294; + } +yy819: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'R': goto yy932; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + case 'r': goto yy933; + default: goto yy18; + } +yy820: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy294; + } +yy821: yych = *++YYCURSOR; - if (yych != '/') goto yy56; - YYDEBUG(958, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy934; + default: goto yy136; + } +yy822: yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy56; - if (yych >= '1') goto yy960; - } else { - if (yych <= '3') goto yy961; - if (yych <= '9') goto yy952; - goto yy56; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy935; + case '6': goto yy936; + case '7': + case '8': + case '9': goto yy674; + default: goto yy56; } - YYDEBUG(959, *YYCURSOR); - yyaccept = 21; +yy823: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy454; - if (yych <= '9') goto yy962; - if (yych <= 'm') goto yy454; - goto yy954; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy955; - } else { - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; - } + switch (yych) { + case '.': + case ':': goto yy822; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy821; + default: goto yy136; } -yy960: - YYDEBUG(960, *YYCURSOR); - yyaccept = 21; +yy824: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy454; - if (yych <= '9') goto yy962; - if (yych <= 'm') goto yy454; - goto yy954; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy955; - } else { - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; - } + switch (yych) { + case '.': + case ':': goto yy825; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy821; + default: goto yy136; } -yy961: - YYDEBUG(961, *YYCURSOR); - yyaccept = 21; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy454; - if (yych <= '1') goto yy962; - if (yych <= 'm') goto yy454; - goto yy954; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy955; - } else { - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; - } +yy825: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy937; + case '6': goto yy938; + case '7': + case '8': + case '9': goto yy681; + default: goto yy56; } -yy962: - YYDEBUG(962, *YYCURSOR); - yyaccept = 21; +yy826: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych == '/') goto yy453; - if (yych <= 'm') goto yy454; - goto yy954; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy955; - } else { - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; - } + switch (yych) { + case '.': + case ':': goto yy827; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy821; + default: goto yy136; } -yy963: - YYDEBUG(963, *YYCURSOR); +yy827: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy1043; - if (yych <= 'T') goto yy56; - goto yy1042; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy1043; - } else { - if (yych == 'u') goto yy1042; - goto yy56; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy939; + case '6': goto yy940; + case '7': + case '8': + case '9': goto yy941; + default: goto yy56; } -yy964: - YYDEBUG(964, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1040; - if (yych == 'e') goto yy1040; - goto yy56; -yy965: - YYDEBUG(965, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1037; - if (yych == 'a') goto yy1037; - goto yy56; -yy966: - YYDEBUG(966, *YYCURSOR); +yy828: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy1034; - if (yych <= 'T') goto yy56; - goto yy1033; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy56; - goto yy1034; - } else { - if (yych == 'u') goto yy1033; - goto yy56; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy942; + case '6': goto yy943; + case '7': + case '8': + case '9': goto yy674; + default: goto yy56; } -yy967: - YYDEBUG(967, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1030; - if (yych == 'e') goto yy1030; - goto yy56; -yy968: - YYDEBUG(968, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy1028; - if (yych == 'c') goto yy1028; - goto yy56; -yy969: - YYDEBUG(969, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy1026; - if (yych == 'o') goto yy1026; - goto yy56; -yy970: - YYDEBUG(970, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1024; - if (yych == 'e') goto yy1024; - goto yy56; -yy971: - YYDEBUG(971, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy810; - if (yych <= '4') goto yy811; - if (yych <= '5') goto yy812; - goto yy56; -yy972: - YYDEBUG(972, *YYCURSOR); - yyaccept = 22; +yy829: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy976; - if (yych <= '/') goto yy973; - if (yych <= '9') goto yy995; -yy973: - YYDEBUG(973, *YYCURSOR); -#line 1265 "ext/date/lib/parse_date.re" - { - 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; + switch (yych) { + case '\t': + case ' ': goto yy944; + case '.': + case ':': goto yy828; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy821; + case 'A': + case 'P': + case 'a': + case 'p': goto yy946; + default: goto yy136; } -#line 14647 "ext/date/lib/parse_date.c" -yy974: - YYDEBUG(974, *YYCURSOR); - yyaccept = 22; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy976; - if (yych <= '/') goto yy973; - if (yych <= '2') goto yy995; - goto yy973; -yy975: - YYDEBUG(975, *YYCURSOR); - yyaccept = 22; +yy830: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych != '-') goto yy973; -yy976: - YYDEBUG(976, *YYCURSOR); + switch (yych) { + case '\t': + case ' ': goto yy944; + case '.': + case ':': goto yy831; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy821; + case 'A': + case 'P': + case 'a': + case 'p': goto yy946; + default: goto yy136; + } +yy831: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy977; - if (yych <= '3') goto yy978; - if (yych <= '9') goto yy979; - goto yy56; -yy977: - YYDEBUG(977, *YYCURSOR); - yyaccept = 13; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy937; + case '6': goto yy947; + case '7': + case '8': + case '9': goto yy681; + default: goto yy56; + } +yy832: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '9') { - if (yych <= '/') goto yy656; - goto yy979; - } else { - if (yych == 'T') goto yy984; - goto yy656; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy981; - if (yych <= 'q') goto yy656; - goto yy982; - } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy656; - } + switch (yych) { + case '\t': + case ' ': goto yy944; + case '.': + case ':': goto yy833; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy821; + case 'A': + case 'P': + case 'a': + case 'p': goto yy946; + default: goto yy136; } -yy978: - YYDEBUG(978, *YYCURSOR); - yyaccept = 13; +yy833: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy948; + case '6': goto yy949; + case '7': + case '8': + case '9': goto yy941; + default: goto yy56; + } +yy834: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy656; - } else { - if (yych == 'T') goto yy984; - goto yy656; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy981; - if (yych <= 'q') goto yy656; - goto yy982; - } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy656; - } + switch (yych) { + case '\t': + case ' ': goto yy944; + case '.': + case ':': goto yy833; + case 'A': + case 'P': + case 'a': + case 'p': goto yy946; + default: goto yy673; } -yy979: - YYDEBUG(979, *YYCURSOR); - yyaccept = 13; +yy835: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'Y': + case 'y': goto yy950; + default: goto yy18; + } +yy836: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych == 'T') goto yy984; - if (yych <= 'm') goto yy656; - goto yy981; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy982; - } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy656; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'Y': goto yy950; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'z': goto yy924; + case 'y': goto yy951; + default: goto yy18; } -yy980: - YYDEBUG(980, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 't') goto yy994; - goto yy56; -yy981: - YYDEBUG(981, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'd') goto yy994; - goto yy56; -yy982: - YYDEBUG(982, *YYCURSOR); +yy837: yych = *++YYCURSOR; - if (yych == 'd') goto yy994; - goto yy56; -yy983: - YYDEBUG(983, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'h') goto yy994; - goto yy56; -yy984: - YYDEBUG(984, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy985; - if (yych <= '2') goto yy986; - if (yych <= '9') goto yy987; - goto yy56; -yy985: - YYDEBUG(985, *YYCURSOR); + switch (yych) { + case 'A': + case 'a': goto yy952; + default: goto yy56; + } +yy838: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy987; - if (yych <= ':') goto yy988; - goto yy56; -yy986: - YYDEBUG(986, *YYCURSOR); + switch (yych) { + case 'O': + case 'o': goto yy953; + case 'R': + case 'r': goto yy954; + default: goto yy56; + } +yy839: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '4') goto yy987; - if (yych == ':') goto yy988; - goto yy56; -yy987: - YYDEBUG(987, *YYCURSOR); + switch (yych) { + case 'O': + case 'o': goto yy955; + default: goto yy56; + } +yy840: yych = *++YYCURSOR; - if (yych != ':') goto yy56; -yy988: - YYDEBUG(988, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy989; - if (yych <= '9') goto yy990; - goto yy56; -yy989: - YYDEBUG(989, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy990; - if (yych <= ':') goto yy991; - goto yy56; -yy990: - YYDEBUG(990, *YYCURSOR); + switch (yych) { + case 'I': + case 'i': goto yy956; + case 'O': + case 'o': goto yy957; + default: goto yy56; + } +yy841: yych = *++YYCURSOR; - if (yych != ':') goto yy56; -yy991: - YYDEBUG(991, *YYCURSOR); + switch (yych) { + case 'A': + case 'a': goto yy958; + case 'E': + case 'e': goto yy959; + case 'U': + case 'u': goto yy960; + default: goto yy56; + } +yy842: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy992; - if (yych <= '6') goto yy993; - if (yych <= '9') goto yy841; - goto yy56; -yy992: - YYDEBUG(992, *YYCURSOR); + switch (yych) { + case 'H': + case 'h': goto yy961; + case 'U': + case 'u': goto yy962; + default: goto yy56; + } +yy843: yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '9') goto yy841; - goto yy842; -yy993: - YYDEBUG(993, *YYCURSOR); + switch (yych) { + case 'E': + case 'e': goto yy963; + default: goto yy56; + } +yy844: yych = *++YYCURSOR; - if (yych == '0') goto yy841; - goto yy842; -yy994: - YYDEBUG(994, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'T') goto yy984; - goto yy656; -yy995: - YYDEBUG(995, *YYCURSOR); - yyaccept = 22; - yych = *(YYMARKER = ++YYCURSOR); - if (yych != '-') goto yy973; - YYDEBUG(996, *YYCURSOR); + switch (yych) { + case 'E': + case 'e': goto yy964; + default: goto yy56; + } +yy845: yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy56; - if (yych >= '1') goto yy998; - } else { - if (yych <= '3') goto yy999; - if (yych <= '9') goto yy979; - goto yy56; + switch (yych) { + case 'A': + case 'a': goto yy965; + default: goto yy56; } - YYDEBUG(997, *YYCURSOR); - yyaccept = 13; +yy846: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '9') { - if (yych <= '/') goto yy656; - goto yy1000; - } else { - if (yych == 'T') goto yy984; - goto yy656; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy981; - if (yych <= 'q') goto yy656; - goto yy982; - } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy656; - } + switch (yych) { + case ')': goto yy107; + case 'H': + case 'h': goto yy966; + default: goto yy18; } -yy998: - YYDEBUG(998, *YYCURSOR); - yyaccept = 13; +yy847: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '9') { - if (yych <= '/') goto yy656; - goto yy1000; - } else { - if (yych == 'T') goto yy984; - goto yy656; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy981; - if (yych <= 'q') goto yy656; - goto yy982; - } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy656; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'H': goto yy966; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + case 'h': goto yy967; + default: goto yy18; } -yy999: - YYDEBUG(999, *YYCURSOR); - yyaccept = 13; +yy848: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy107; + case 'R': + case 'r': goto yy950; + default: goto yy18; + } +yy849: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy656; - } else { - if (yych == 'T') goto yy984; - goto yy656; - } - } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy981; - if (yych <= 'q') goto yy656; - goto yy982; - } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy656; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'R': goto yy950; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + case 'r': goto yy951; + default: goto yy18; } -yy1000: - YYDEBUG(1000, *YYCURSOR); - yyaccept = 21; +yy850: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych == 'T') goto yy1001; - if (yych <= 'm') goto yy454; - goto yy981; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy982; - } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy454; - } + switch (yych) { + case ')': goto yy107; + case 'U': + case 'u': goto yy968; + default: goto yy18; } -yy1001: - YYDEBUG(1001, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1002; - if (yych <= '2') goto yy1003; - if (yych <= '9') goto yy987; - goto yy56; -yy1002: - YYDEBUG(1002, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1004; - if (yych <= ':') goto yy988; - goto yy56; -yy1003: - YYDEBUG(1003, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '4') goto yy1004; - if (yych == ':') goto yy988; - goto yy56; -yy1004: - YYDEBUG(1004, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy56; - YYDEBUG(1005, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1006; - if (yych <= '9') goto yy990; - goto yy56; -yy1006: - YYDEBUG(1006, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1007; - if (yych <= ':') goto yy991; - goto yy56; -yy1007: - YYDEBUG(1007, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ':') goto yy56; - YYDEBUG(1008, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1009; - if (yych <= '6') goto yy1010; - if (yych <= '9') goto yy841; - goto yy56; -yy1009: - YYDEBUG(1009, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '9') goto yy1011; - goto yy842; -yy1010: - YYDEBUG(1010, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '0') goto yy842; -yy1011: - YYDEBUG(1011, *YYCURSOR); - yyaccept = 23; +yy851: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych != '.') goto yy842; - YYDEBUG(1012, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; -yy1013: - YYDEBUG(1013, *YYCURSOR); - yyaccept = 23; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; - YYDEBUG(1014, *YYCURSOR); - if (yych <= '-') { - if (yych == '+') goto yy1016; - if (yych <= ',') goto yy842; - goto yy1016; - } else { - if (yych <= '9') { - if (yych <= '/') goto yy842; - goto yy1013; - } else { - if (yych != 'G') goto yy842; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'U': goto yy968; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + case 'u': goto yy969; + default: goto yy18; } - YYDEBUG(1015, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy1022; - goto yy56; -yy1016: - YYDEBUG(1016, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1017; - if (yych <= '2') goto yy1018; - if (yych <= '9') goto yy1019; - goto yy56; -yy1017: - YYDEBUG(1017, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '9') goto yy1019; - if (yych <= ':') goto yy1020; - goto yy842; -yy1018: - YYDEBUG(1018, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy842; - if (yych >= '5') goto yy1021; - } else { - if (yych <= '9') goto yy841; - if (yych <= ':') goto yy1020; - goto yy842; +yy852: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case 'A': + case 'a': goto yy970; + default: goto yy18; } -yy1019: - YYDEBUG(1019, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '5') goto yy1021; - if (yych <= '9') goto yy841; - if (yych >= ';') goto yy842; -yy1020: - YYDEBUG(1020, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '5') goto yy1021; - if (yych <= '9') goto yy841; - goto yy842; -yy1021: - YYDEBUG(1021, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '9') goto yy841; - goto yy842; -yy1022: - YYDEBUG(1022, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != 'T') goto yy56; - YYDEBUG(1023, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '+') goto yy1016; - if (yych == '-') goto yy1016; - goto yy56; -yy1024: - YYDEBUG(1024, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy1025; - if (yych != 'c') goto yy56; -yy1025: - YYDEBUG(1025, *YYCURSOR); - yyaccept = 20; +yy853: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == '-') goto yy766; - goto yy793; - } else { - if (yych <= 'E') goto yy879; - if (yych == 'e') goto yy879; - goto yy793; + switch (yych) { + case ')': goto yy107; + case 'B': + case 'b': goto yy971; + default: goto yy18; } -yy1026: - YYDEBUG(1026, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy1027; - if (yych != 'v') goto yy56; -yy1027: - YYDEBUG(1027, *YYCURSOR); - yyaccept = 20; +yy854: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == '-') goto yy766; - goto yy793; - } else { - if (yych <= 'E') goto yy886; - if (yych == 'e') goto yy886; - goto yy793; + switch (yych) { + case ')': goto yy107; + case 'H': + case 'h': goto yy972; + default: goto yy18; } -yy1028: - YYDEBUG(1028, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1029; - if (yych != 't') goto yy56; -yy1029: - YYDEBUG(1029, *YYCURSOR); - yyaccept = 20; +yy855: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych == '-') goto yy766; - goto yy793; - } else { - if (yych <= 'O') goto yy892; - if (yych == 'o') goto yy892; - goto yy793; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'A': goto yy970; + case 'a': goto yy973; + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy18; } -yy1030: - YYDEBUG(1030, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy1031; - if (yych != 'p') goto yy56; -yy1031: - YYDEBUG(1031, *YYCURSOR); - yyaccept = 20; +yy856: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == '-') goto yy766; - goto yy793; - } else { - if (yych <= 'T') goto yy1032; - if (yych != 't') goto yy793; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'B': goto yy971; + case 'a': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + case 'b': goto yy974; + default: goto yy18; } -yy1032: - YYDEBUG(1032, *YYCURSOR); - yyaccept = 20; +yy857: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == '-') goto yy766; - goto yy793; - } else { - if (yych <= 'E') goto yy898; - if (yych == 'e') goto yy898; - goto yy793; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'H': goto yy972; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + case 'h': goto yy975; + default: goto yy18; } -yy1033: - YYDEBUG(1033, *YYCURSOR); +yy858: yych = *++YYCURSOR; - if (yych == 'G') goto yy1036; - if (yych == 'g') goto yy1036; - goto yy56; -yy1034: - YYDEBUG(1034, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy976; + default: goto yy56; + } +yy859: yych = *++YYCURSOR; - if (yych == 'R') goto yy1035; - if (yych != 'r') goto yy56; -yy1035: - YYDEBUG(1035, *YYCURSOR); - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'H') { - if (yych == '-') goto yy766; - goto yy793; - } else { - if (yych <= 'I') goto yy905; - if (yych == 'i') goto yy905; - goto yy793; + switch (yych) { + case '0': goto yy976; + default: goto yy56; } -yy1036: - YYDEBUG(1036, *YYCURSOR); - yyaccept = 20; +yy860: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych == '-') goto yy766; - goto yy793; - } else { - if (yych <= 'U') goto yy907; - if (yych == 'u') goto yy907; - goto yy793; + switch (yych) { + case ')': goto yy107; + case 'O': + case 'o': goto yy977; + default: goto yy18; } -yy1037: - YYDEBUG(1037, *YYCURSOR); +yy861: yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy1038; - if (yych <= 'X') goto yy56; - goto yy1039; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy56; - } else { - if (yych == 'y') goto yy1039; - goto yy56; - } + switch (yych) { + case ')': goto yy107; + case 'Y': + case 'y': goto yy978; + default: goto yy18; } -yy1038: - YYDEBUG(1038, *YYCURSOR); - yyaccept = 20; +yy862: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'B') { - if (yych == '-') goto yy766; - goto yy793; - } else { - if (yych <= 'C') goto yy911; - if (yych == 'c') goto yy911; - goto yy793; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'O': goto yy977; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + case 'o': goto yy979; + default: goto yy18; } -yy1039: - YYDEBUG(1039, *YYCURSOR); - yyaccept = 20; +yy863: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy766; - goto yy793; -yy1040: - YYDEBUG(1040, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy1041; - if (yych != 'b') goto yy56; -yy1041: - YYDEBUG(1041, *YYCURSOR); - yyaccept = 20; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'Y': goto yy978; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'z': goto yy924; + case 'y': goto yy980; + default: goto yy18; + } +yy864: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych == '-') goto yy766; - goto yy793; - } else { - if (yych <= 'R') goto yy914; - if (yych == 'r') goto yy914; - goto yy793; + switch (yych) { + case ')': goto yy107; + case 'D': + case 'd': goto yy981; + default: goto yy18; } -yy1042: - YYDEBUG(1042, *YYCURSOR); +yy865: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy1046; - if (yych <= 'M') goto yy56; - goto yy1045; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy56; - goto yy1046; - } else { - if (yych == 'n') goto yy1045; - goto yy56; - } + switch (yych) { + case ')': goto yy107; + case 'Y': + case 'y': goto yy982; + default: goto yy18; } -yy1043: - YYDEBUG(1043, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy1044; - if (yych != 'n') goto yy56; -yy1044: - YYDEBUG(1044, *YYCURSOR); - yyaccept = 20; +yy866: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych == '-') goto yy766; - goto yy793; - } else { - if (yych <= 'U') goto yy921; - if (yych == 'u') goto yy921; - goto yy793; + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'D': goto yy981; + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + case 'd': goto yy983; + default: goto yy18; + } +yy867: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'Y': goto yy982; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'z': goto yy924; + case 'y': goto yy984; + default: goto yy18; } -yy1045: - YYDEBUG(1045, *YYCURSOR); - yyaccept = 20; +yy868: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == '-') goto yy766; - goto yy793; - } else { - if (yych <= 'E') goto yy883; - if (yych == 'e') goto yy883; - goto yy793; + switch (yych) { + case ')': goto yy107; + case 'D': + case 'd': goto yy985; + default: goto yy18; } -yy1046: - YYDEBUG(1046, *YYCURSOR); - yyaccept = 20; +yy869: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych == '-') goto yy766; - goto yy793; - } else { - if (yych <= 'Y') goto yy883; - if (yych == 'y') goto yy883; - goto yy793; - } -yy1047: - YYDEBUG(1047, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy577; - goto yy730; - } else { - if (yych <= ',') goto yy577; - if (yych <= '-') goto yy731; - goto yy730; - } - } else { - if (yych <= 'U') { - if (yych <= '/') goto yy729; - if (yych <= 'T') goto yy577; - goto yy77; - } else { - if (yych == 'u') goto yy77; - goto yy577; - } + switch (yych) { + case ')': goto yy107; + case '-': + case '/': + case '_': goto yy276; + case 'D': goto yy985; + case 'a': + case 'b': + case 'c': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + case 'd': goto yy986; + default: goto yy18; } -yy1048: - YYDEBUG(1048, *YYCURSOR); +yy870: yych = *++YYCURSOR; - if (yych <= 'P') { - if (yych == 'C') goto yy128; - if (yych <= 'O') goto yy56; - goto yy585; - } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy56; - goto yy128; - } else { - if (yych == 'p') goto yy585; - goto yy56; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy987; + default: goto yy56; } -yy1049: - YYDEBUG(1049, *YYCURSOR); +yy871: yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '\t') goto yy1051; - goto yy1053; - } else { - if (yych <= '-') goto yy1050; - if (yych <= '.') goto yy730; - if (yych <= '/') goto yy729; - goto yy740; - } - } else { - if (yych <= 'q') { - if (yych == 'n') goto yy469; - goto yy1053; - } else { - if (yych <= 'r') goto yy470; - if (yych <= 's') goto yy463; - if (yych <= 't') goto yy467; - goto yy1053; - } + switch (yych) { + case '0': + case '1': + case '2': goto yy987; + default: goto yy56; } -yy1050: - YYDEBUG(1050, *YYCURSOR); +yy872: yych = *++YYCURSOR; - YYDEBUG(-1, yych); switch (yych) { - case '0': goto yy1054; - case '1': goto yy1055; + case '0': + case '1': case '2': case '3': case '4': @@ -15361,9355 +28059,5743 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy617; - case 'A': - case 'a': goto yy621; - case 'D': - case 'd': goto yy625; - case 'F': - case 'f': goto yy619; - case 'J': - case 'j': goto yy618; - case 'M': - case 'm': goto yy620; - case 'N': - case 'n': goto yy624; - case 'O': - case 'o': goto yy623; - case 'S': - case 's': goto yy622; - default: goto yy577; + case '9': goto yy988; + default: goto yy56; } -yy1051: - YYDEBUG(1051, *YYCURSOR); +yy873: yych = *++YYCURSOR; - if (yych <= '/') goto yy1053; - if (yych <= '0') goto yy735; - if (yych <= '1') goto yy736; - if (yych <= '9') goto yy737; - goto yy1053; -yy1052: - YYDEBUG(1052, *YYCURSOR); + goto yy544; +yy874: ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy1053: - YYDEBUG(1053, *YYCURSOR); - YYDEBUG(-1, yych); switch (yych) { - case '\t': - case ' ': goto yy1052; - case '-': - case '.': goto yy576; - case 'A': - case 'a': goto yy573; - case 'D': - case 'd': goto yy465; - case 'F': - case 'f': goto yy466; - case 'H': - case 'h': goto yy63; - case 'I': goto yy474; - case 'J': - case 'j': goto yy478; - case 'M': - case 'm': goto yy464; - case 'N': - case 'n': goto yy481; - case 'O': - case 'o': goto yy480; - case 'S': - case 's': goto yy462; - case 'T': - case 't': goto yy68; - case 'V': goto yy476; - case 'W': - case 'w': goto yy67; - case 'X': goto yy477; - case 'Y': - case 'y': goto yy66; - default: goto yy56; - } -yy1054: - YYDEBUG(1054, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy654; - goto yy601; - } else { - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1056; - goto yy56; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy874; + default: goto yy208; } -yy1055: - YYDEBUG(1055, *YYCURSOR); +yy876: yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy654; - goto yy601; - } else { - if (yych <= '/') goto yy56; - if (yych >= '3') goto yy56; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy990; + default: goto yy213; } -yy1056: - YYDEBUG(1056, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy1057; - if (yych <= '.') goto yy601; - goto yy56; -yy1057: - YYDEBUG(1057, *YYCURSOR); +yy877: yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy56; - if (yych >= '1') goto yy1059; - } else { - if (yych <= '3') goto yy1060; - if (yych <= '9') goto yy658; - goto yy56; - } - YYDEBUG(1058, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy1061; - if (yych <= 'm') goto yy656; - goto yy660; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; - } - } -yy1059: - YYDEBUG(1059, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy1061; - if (yych <= 'm') goto yy656; - goto yy660; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; - } - } -yy1060: - YYDEBUG(1060, *YYCURSOR); - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '1') { - if (yych <= '/') goto yy656; - } else { - if (yych <= '9') goto yy603; - if (yych <= 'm') goto yy656; - goto yy660; - } - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy991; + default: goto yy56; } -yy1061: - YYDEBUG(1061, *YYCURSOR); +yy878: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy763; - if (yych <= '9') goto yy604; - if (yych <= 'm') goto yy763; - goto yy660; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy763; - goto yy661; - } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy763; - } - } -yy1062: - YYDEBUG(1062, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= '-') { - if (yych == '\t') goto yy1051; - if (yych <= ',') goto yy1053; - goto yy1050; - } else { - if (yych <= '.') goto yy1063; - if (yych <= '/') goto yy729; - if (yych <= '5') goto yy1065; - goto yy740; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy1064; - if (yych == 'n') goto yy469; - goto yy1053; - } else { - if (yych <= 'r') goto yy470; - if (yych <= 's') goto yy463; - if (yych <= 't') goto yy467; - goto yy1053; - } - } -yy1063: - YYDEBUG(1063, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '1') { - if (yych <= '/') goto yy577; - if (yych <= '0') goto yy1087; - goto yy1088; - } else { - if (yych <= '5') goto yy1089; - if (yych <= '9') goto yy1090; - goto yy577; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy992; + case 'n': + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy544; } -yy1064: - YYDEBUG(1064, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1082; - if (yych <= '9') goto yy1083; - goto yy56; -yy1065: - YYDEBUG(1065, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy784; - if (yych <= '/') goto yy60; - if (yych >= ':') goto yy60; - YYDEBUG(1066, *YYCURSOR); - yyaccept = 24; +yy879: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - YYDEBUG(-1, yych); switch (yych) { - case '\t': - case ' ': - case 'A': - case 'D': - case 'F': - case 'H': - case 'I': - case 'J': - case 'M': - case 'N': - case 'O': - case 'S': - case 'T': - case 'V': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': + case '0': + case '1': goto yy992; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy717; case 'n': - case 'o': - case 's': - case 't': - case 'w': - case 'y': goto yy790; - case '-': goto yy787; - case '.': goto yy791; - case '/': goto yy788; - case '0': goto yy1068; - case '1': goto yy1069; - case '2': goto yy1070; - case '3': goto yy1071; + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy544; + } +yy880: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': goto yy994; + case '3': goto yy995; case '4': - case '5': goto yy1072; - case '6': goto yy1073; + case '5': + case '6': case '7': case '8': - case '9': goto yy54; - case ':': goto yy806; - case 'W': goto yy809; - default: goto yy1067; + case '9': goto yy996; + default: goto yy56; } -yy1067: - YYDEBUG(1067, *YYCURSOR); -#line 1157 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("gnunocolon"); - TIMELIB_INIT; - switch (s->time->have_time) { - case 0: - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - s->time->s = 0; - break; - case 1: - s->time->y = timelib_get_nr((char **) &ptr, 4); - break; - default: - TIMELIB_DEINIT; - add_error(s, "Double time specification"); - return TIMELIB_ERROR; - } - s->time->have_time++; - TIMELIB_DEINIT; - return TIMELIB_GNU_NOCOLON; +yy881: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy997; + default: goto yy732; } -#line 15678 "ext/date/lib/parse_date.c" -yy1068: - YYDEBUG(1068, *YYCURSOR); +yy882: yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '0') goto yy1080; - if (yych <= '9') goto yy1081; - goto yy60; -yy1069: - YYDEBUG(1069, *YYCURSOR); + switch (yych) { + case 'R': + case 'r': goto yy998; + default: goto yy56; + } +yy883: yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '2') goto yy1079; - if (yych <= '9') goto yy1078; - goto yy60; -yy1070: - YYDEBUG(1070, *YYCURSOR); + switch (yych) { + case 'G': + case 'g': goto yy999; + default: goto yy56; + } +yy884: yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '9') goto yy1078; - goto yy60; -yy1071: - YYDEBUG(1071, *YYCURSOR); + switch (yych) { + case 'C': + case 'c': goto yy1000; + default: goto yy56; + } +yy885: yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '5') goto yy1076; - if (yych <= '6') goto yy1077; - if (yych <= '9') goto yy1074; - goto yy60; -yy1072: - YYDEBUG(1072, *YYCURSOR); + switch (yych) { + case 'B': + case 'b': goto yy1001; + default: goto yy56; + } +yy886: yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '9') goto yy1074; - goto yy60; -yy1073: - YYDEBUG(1073, *YYCURSOR); + switch (yych) { + case 'N': + case 'n': goto yy1002; + default: goto yy56; + } +yy887: yych = *++YYCURSOR; - if (yych <= '/') goto yy60; - if (yych <= '0') goto yy1074; - if (yych <= '9') goto yy54; - goto yy60; -yy1074: - YYDEBUG(1074, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy54; - } - if (yych <= 'W') { - 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 <= 'R') goto yy1075; - if (yych <= 'T') goto yy60; - if (yych >= 'W') goto yy60; - } - } - } else { - if (yych <= 'h') { - if (yych <= 'd') { - if (yych == 'Y') goto yy60; - if (yych >= 'd') goto yy60; - } else { - if (yych == 'f') goto yy60; - if (yych >= 'h') goto yy60; - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych >= 's') goto yy60; - } else { - if (yych <= 'w') { - if (yych >= 'w') goto yy60; - } else { - if (yych == 'y') goto yy60; - } - } - } + switch (yych) { + case 'L': + case 'l': goto yy1003; + case 'N': + case 'n': goto yy1004; + default: goto yy56; } -yy1075: - YYDEBUG(1075, *YYCURSOR); -#line 1203 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("iso8601nocolon"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr != '\0') { - s->time->z = timelib_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; +yy888: + yych = *++YYCURSOR; + switch (yych) { + case 'R': + case 'r': goto yy1005; + case 'Y': + case 'y': goto yy1006; + default: goto yy56; } -#line 15789 "ext/date/lib/parse_date.c" -yy1076: - YYDEBUG(1076, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy1075; - goto yy60; - } else { - if (yych <= '/') goto yy1075; - if (yych <= '9') goto yy820; - if (yych <= 'C') goto yy1075; - goto yy60; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy60; - if (yych <= 'G') goto yy1075; - goto yy60; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy1075; - goto yy60; - } else { - if (yych <= 'R') goto yy1075; - if (yych <= 'T') goto yy60; - goto yy1075; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy1075; - if (yych <= 'Y') goto yy60; - goto yy1075; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy60; - goto yy1075; - } else { - if (yych == 'g') goto yy1075; - goto yy60; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy1075; - goto yy60; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy1075; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy1075; - } - } - } +yy889: + yych = *++YYCURSOR; + switch (yych) { + case 'V': + case 'v': goto yy1000; + default: goto yy56; } -yy1077: - YYDEBUG(1077, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy1075; - goto yy60; - } else { - if (yych <= '6') { - if (yych <= '/') goto yy1075; - goto yy820; - } else { - if (yych <= '9') goto yy54; - if (yych <= 'C') goto yy1075; - goto yy60; - } - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy60; - if (yych <= 'G') goto yy1075; - goto yy60; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy1075; - goto yy60; - } else { - if (yych <= 'R') goto yy1075; - if (yych <= 'T') goto yy60; - goto yy1075; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy1075; - if (yych <= 'Y') goto yy60; - goto yy1075; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy60; - goto yy1075; - } else { - if (yych == 'g') goto yy1075; - goto yy60; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy1075; - goto yy60; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy1075; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy1075; - } - } - } +yy890: + yych = *++YYCURSOR; + switch (yych) { + case 'T': + case 't': goto yy1007; + default: goto yy56; } -yy1078: - YYDEBUG(1078, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy1075; - goto yy60; - } else { - if (yych <= '/') goto yy1075; - if (yych <= '9') goto yy820; - if (yych <= 'C') goto yy1075; - goto yy60; - } - } else { - if (yych <= 'H') { - if (yych == 'F') goto yy60; - if (yych <= 'G') goto yy1075; - goto yy60; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy1075; - goto yy60; - } else { - if (yych <= 'R') goto yy1075; - if (yych <= 'T') goto yy60; - goto yy1075; - } - } - } - } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy1075; - if (yych <= 'Y') goto yy60; - goto yy1075; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy60; - goto yy1075; - } else { - if (yych == 'g') goto yy1075; - goto yy60; - } - } - } else { - if (yych <= 't') { - if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy1075; - goto yy60; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy1075; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy1075; - } - } - } +yy891: + yych = *++YYCURSOR; + switch (yych) { + case 'P': + case 'p': goto yy1008; + default: goto yy56; } -yy1079: - YYDEBUG(1079, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '9') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy1075; - goto yy60; - } else { - if (yych <= '0') { - if (yych <= '/') goto yy1075; - goto yy844; - } else { - if (yych <= '2') goto yy845; - if (yych <= '3') goto yy846; - goto yy820; - } - } - } else { - if (yych <= 'G') { - if (yych <= 'D') { - if (yych <= 'C') goto yy1075; - goto yy60; - } else { - if (yych == 'F') goto yy60; - goto yy1075; - } - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy60; - goto yy1075; - } else { - if (yych <= 'M') goto yy60; - if (yych <= 'R') goto yy1075; - goto yy60; - } - } - } - } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy60; - if (yych <= 'X') goto yy1075; - goto yy60; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy1075; - goto yy60; - } else { - if (yych == 'f') goto yy60; - goto yy1075; - } - } - } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy60; - goto yy1075; - } else { - if (yych <= 'm') goto yy60; - if (yych <= 'r') goto yy1075; - goto yy60; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy1075; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy1075; - } - } - } +yy892: + yych = *++YYCURSOR; + switch (yych) { + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1009; + default: goto yy56; } -yy1080: - YYDEBUG(1080, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '9') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy1075; - goto yy60; - } else { - if (yych <= '0') { - if (yych <= '/') goto yy1075; - goto yy876; - } else { - if (yych <= '2') goto yy845; - if (yych <= '3') goto yy846; - goto yy820; - } - } - } else { - if (yych <= 'G') { - if (yych <= 'D') { - if (yych <= 'C') goto yy1075; - goto yy60; - } else { - if (yych == 'F') goto yy60; - goto yy1075; - } - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy60; - goto yy1075; - } else { - if (yych <= 'M') goto yy60; - if (yych <= 'R') goto yy1075; - goto yy60; - } - } - } - } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy60; - if (yych <= 'X') goto yy1075; - goto yy60; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy1075; - goto yy60; - } else { - if (yych == 'f') goto yy60; - goto yy1075; - } - } - } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy60; - goto yy1075; - } else { - if (yych <= 'm') goto yy60; - if (yych <= 'r') goto yy1075; - goto yy60; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy1075; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy1075; - } - } - } +yy893: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1009; + default: goto yy56; + } +yy894: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': goto yy1009; + default: goto yy56; } -yy1081: - YYDEBUG(1081, *YYCURSOR); - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '9') { - if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy1075; - goto yy60; - } else { - if (yych <= '0') { - if (yych <= '/') goto yy1075; - goto yy844; - } else { - if (yych <= '2') goto yy845; - if (yych <= '3') goto yy846; - goto yy820; - } - } - } else { - if (yych <= 'G') { - if (yych <= 'D') { - if (yych <= 'C') goto yy1075; - goto yy60; - } else { - if (yych == 'F') goto yy60; - goto yy1075; - } - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy60; - goto yy1075; - } else { - if (yych <= 'M') goto yy60; - if (yych <= 'R') goto yy1075; - goto yy60; - } - } - } - } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy60; - if (yych <= 'X') goto yy1075; - goto yy60; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy1075; - goto yy60; - } else { - if (yych == 'f') goto yy60; - goto yy1075; - } - } - } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy60; - goto yy1075; - } else { - if (yych <= 'm') goto yy60; - if (yych <= 'r') goto yy1075; - goto yy60; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy1075; - goto yy60; - } else { - if (yych == 'y') goto yy60; - goto yy1075; - } - } - } +yy895: + yych = *++YYCURSOR; + switch (yych) { + case 'P': + case 'p': goto yy913; + default: goto yy56; } -yy1082: - YYDEBUG(1082, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy1084; - goto yy490; - } else { - if (yych <= '9') goto yy1083; - if (yych <= ':') goto yy1084; - goto yy490; +yy896: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': goto yy1010; + case '3': goto yy1012; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1013; + default: goto yy56; } -yy1083: - YYDEBUG(1083, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy1084; - if (yych != ':') goto yy490; -yy1084: - YYDEBUG(1084, *YYCURSOR); +yy897: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1085; - if (yych <= '6') goto yy1086; - if (yych <= '9') goto yy495; - goto yy56; -yy1085: - YYDEBUG(1085, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy495; - goto yy490; -yy1086: - YYDEBUG(1086, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych == '0') goto yy495; - goto yy490; -yy1087: - YYDEBUG(1087, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - goto yy1091; - } else { - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy1090; - if (yych <= ':') goto yy1084; - goto yy490; + switch (yych) { + case '/': goto yy1014; + default: goto yy56; } -yy1088: - YYDEBUG(1088, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - if (yych <= '.') goto yy1091; - goto yy490; - } else { - if (yych <= '2') goto yy1090; - if (yych <= '9') goto yy1083; - if (yych <= ':') goto yy1084; - goto yy490; +yy898: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1015; + default: goto yy186; } -yy1089: - YYDEBUG(1089, *YYCURSOR); - yyaccept = 11; +yy899: + yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - goto yy1091; - } else { - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy1083; - if (yych <= ':') goto yy1084; - goto yy490; + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1015; + default: goto yy900; } -yy1090: - YYDEBUG(1090, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - } else { - if (yych == ':') goto yy1084; - goto yy490; +yy900: +#line 1426 "ext/date/lib/parse_date.re" + { + 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; } -yy1091: - YYDEBUG(1091, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1092; - if (yych <= '6') goto yy1093; - if (yych <= '9') goto yy609; - goto yy56; -yy1092: - YYDEBUG(1092, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy1094; - goto yy490; -yy1093: - YYDEBUG(1093, *YYCURSOR); - yyaccept = 11; +#line 28384 "" +yy901: + yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy496; - goto yy490; - } else { - if (yych <= '0') goto yy1094; - if (yych <= '9') goto yy610; - goto yy490; + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': goto yy1015; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + default: goto yy900; } -yy1094: - YYDEBUG(1094, *YYCURSOR); - yyaccept = 11; +yy902: + yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy604; - goto yy490; -yy1095: - YYDEBUG(1095, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= '-') { - if (yych == '\t') goto yy459; - if (yych <= ',') goto yy461; - goto yy1050; - } else { - if (yych <= '.') goto yy473; - if (yych <= '/') goto yy471; - if (yych <= '5') goto yy1065; - goto yy740; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy482; - if (yych == 'n') goto yy469; - goto yy461; - } else { - if (yych <= 'r') goto yy470; - if (yych <= 's') goto yy463; - if (yych <= 't') goto yy467; - goto yy461; - } + switch (yych) { + case '\t': + case ' ': + case 'D': + case 'F': + case 'H': + case 'M': + case 'S': + case 'T': + case 'W': + case 'Y': + case 'd': + case 'f': + case 'h': + case 'm': + case 's': + case 't': + case 'w': + case 'y': goto yy186; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + default: goto yy900; } -yy1096: - YYDEBUG(1096, *YYCURSOR); +yy903: yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= '-') { - if (yych == '\t') goto yy1051; - if (yych <= ',') goto yy1053; - goto yy1050; - } else { - if (yych <= '.') goto yy1063; - if (yych <= '/') goto yy471; - if (yych <= '5') goto yy1065; - goto yy740; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy1064; - if (yych == 'n') goto yy469; - goto yy1053; - } else { - if (yych <= 'r') goto yy470; - if (yych <= 's') goto yy463; - if (yych <= 't') goto yy467; - goto yy1053; - } + switch (yych) { + case ':': goto yy1017; + default: goto yy56; } -yy1097: - YYDEBUG(1097, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy141; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'e') goto yy1098; - if (yych <= 'z') goto yy141; - goto yy3; - } +yy904: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 'I': + case 'i': goto yy1018; + default: goto yy576; } -yy1098: - YYDEBUG(1098, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'V') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'U') goto yy142; - } - } else { - if (yych <= 'u') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'v') goto yy1099; - if (yych <= 'z') goto yy142; - goto yy3; - } +yy905: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 'U': + case 'u': goto yy1019; + default: goto yy576; } -yy1099: - YYDEBUG(1099, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'I') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'H') goto yy143; - } - } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'i') goto yy1100; - if (yych <= 'z') goto yy143; - goto yy3; - } +yy906: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 'E': + case 'e': goto yy1020; + default: goto yy576; } -yy1100: - YYDEBUG(1100, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'N') goto yy144; - } - } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'o') goto yy1101; - if (yych <= 'z') goto yy144; - goto yy3; - } +yy907: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 'R': + case 'r': goto yy1021; + default: goto yy576; } -yy1101: - YYDEBUG(1101, *YYCURSOR); - yyaccept = 0; +yy908: + yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'U') goto yy1102; - if (yych != 'u') goto yy3; + switch (yych) { + case 'U': + case 'u': goto yy1022; + default: goto yy576; } -yy1102: - YYDEBUG(1102, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy1103; - if (yych != 's') goto yy56; -yy1103: - YYDEBUG(1103, *YYCURSOR); +yy909: yych = *++YYCURSOR; - if (yych == '\t') goto yy1104; - if (yych != ' ') goto yy56; -yy1104: - YYDEBUG(1104, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy1105: - YYDEBUG(1105, *YYCURSOR); - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy1104; - if (yych <= 0x1F) goto yy56; - goto yy1104; - } else { - if (yych == 'D') goto yy1109; - if (yych <= 'E') goto yy56; - goto yy1110; - } - } else { - if (yych <= 'M') { - if (yych == 'H') goto yy1108; - if (yych <= 'L') goto yy56; - goto yy1107; - } else { - if (yych <= 'S') { - if (yych <= 'R') goto yy56; - } else { - if (yych <= 'T') goto yy1113; - if (yych <= 'V') goto yy56; - goto yy1112; - } - } - } - } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy1111; - if (yych <= 'c') goto yy56; - goto yy1109; - } else { - if (yych <= 'f') { - if (yych <= 'e') goto yy56; - goto yy1110; - } else { - if (yych == 'h') goto yy1108; - goto yy56; - } - } - } else { - if (yych <= 't') { - if (yych <= 'm') goto yy1107; - if (yych <= 'r') goto yy56; - if (yych >= 't') goto yy1113; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy56; - goto yy1112; - } else { - if (yych == 'y') goto yy1111; - goto yy56; - } - } - } + switch (yych) { + case 'Y': + case 'y': goto yy767; + default: goto yy576; } -yy1106: - YYDEBUG(1106, *YYCURSOR); +yy910: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'A') goto yy1178; - goto yy56; - } else { - if (yych <= 'E') goto yy1179; - if (yych <= 'T') goto yy56; - goto yy1177; - } - } else { - if (yych <= 'd') { - if (yych == 'a') goto yy1178; - goto yy56; - } else { - if (yych <= 'e') goto yy1179; - if (yych == 'u') goto yy1177; - goto yy56; - } + switch (yych) { + case 'E': + case 'e': goto yy767; + default: goto yy576; } -yy1107: - YYDEBUG(1107, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych == 'I') goto yy1169; - if (yych <= 'N') goto yy56; - goto yy1168; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy56; - goto yy1169; - } else { - if (yych == 'o') goto yy1168; - goto yy56; - } +yy911: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 'C': + case 'c': goto yy1023; + default: goto yy576; } -yy1108: - YYDEBUG(1108, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy1166; - if (yych == 'o') goto yy1166; - goto yy56; -yy1109: - YYDEBUG(1109, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1165; - if (yych == 'a') goto yy1165; - goto yy56; -yy1110: - YYDEBUG(1110, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych == 'O') goto yy1150; - if (yych <= 'Q') goto yy56; - goto yy1149; - } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy56; - goto yy1150; - } else { - if (yych == 'r') goto yy1149; - goto yy56; - } +yy912: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 'O': + case 'o': goto yy1024; + default: goto yy576; } -yy1111: - YYDEBUG(1111, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1146; - if (yych == 'e') goto yy1146; - goto yy56; -yy1112: - YYDEBUG(1112, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1132; - if (yych == 'e') goto yy1132; - goto yy56; -yy1113: - YYDEBUG(1113, *YYCURSOR); +yy913: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'H') goto yy1114; - if (yych <= 'T') goto yy56; - goto yy1115; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy56; - } else { - if (yych == 'u') goto yy1115; - goto yy56; - } + switch (yych) { + case 'T': + case 't': goto yy906; + default: goto yy576; } -yy1114: - YYDEBUG(1114, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy1127; - if (yych == 'u') goto yy1127; - goto yy56; -yy1115: - YYDEBUG(1115, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1116; - if (yych != 'e') goto yy56; -yy1116: - YYDEBUG(1116, *YYCURSOR); - yyaccept = 26; +yy914: + yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych >= ' ') goto yy1118; - } else { - if (yych <= 'S') { - if (yych >= 'S') goto yy1120; - } else { - if (yych == 's') goto yy1120; - } + switch (yych) { + case '-': goto yy1025; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': goto yy1026; + default: goto yy915; } -yy1117: - YYDEBUG(1117, *YYCURSOR); -#line 1599 "ext/date/lib/parse_date.re" +yy915: +#line 1459 "ext/date/lib/parse_date.re" { - timelib_sll i; - int behavior = 0; - DEBUG_OUTPUT("relativetext"); + timelib_sll w, d; + DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; + TIMELIB_HAVE_DATE(); 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->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_RELATIVE; - } -#line 16703 "ext/date/lib/parse_date.c" -yy1118: - YYDEBUG(1118, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - YYDEBUG(1119, *YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy56; - goto yy1118; - } else { - if (yych <= 'O') { - if (yych <= 'N') goto yy56; - goto yy1124; - } else { - if (yych == 'o') goto yy1124; - goto yy56; - } + return TIMELIB_ISO_WEEK; } -yy1120: - YYDEBUG(1120, *YYCURSOR); +#line 28570 "" +yy916: yych = *++YYCURSOR; - if (yych == 'D') goto yy1121; - if (yych != 'd') goto yy56; -yy1121: - YYDEBUG(1121, *YYCURSOR); + switch (yych) { + case 'G': + case 'g': goto yy1028; + default: goto yy56; + } +yy917: yych = *++YYCURSOR; - if (yych == 'A') goto yy1122; - if (yych != 'a') goto yy56; -yy1122: - YYDEBUG(1122, *YYCURSOR); + switch (yych) { + case 'Y': + case 'y': goto yy242; + default: goto yy56; + } +yy918: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych != 'y') goto yy56; -yy1123: - YYDEBUG(1123, *YYCURSOR); - yyaccept = 26; + switch (yych) { + case 'R': + case 'r': goto yy242; + default: goto yy56; + } +yy919: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '\t') goto yy1118; - if (yych == ' ') goto yy1118; - goto yy1117; -yy1124: - YYDEBUG(1124, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy1125; - if (yych != 'f') goto yy56; -yy1125: - YYDEBUG(1125, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(1126, *YYCURSOR); -#line 1072 "ext/date/lib/parse_date.re" - { - timelib_sll i; - int behavior = 0; - DEBUG_OUTPUT("weekdayof"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_HAVE_SPECIAL_RELATIVE(); - - i = timelib_get_relative_text((char **) &ptr, &behavior); - timelib_eat_spaces((char **) &ptr); - if (i > 0) { /* first, second... etc */ - s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH; - timelib_set_relative((char **) &ptr, i, 1, s); - } else { /* last */ - s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH; - timelib_set_relative((char **) &ptr, i, behavior, s); - } - TIMELIB_DEINIT; - return TIMELIB_WEEK_DAY_OF_MONTH; + switch (yych) { + case '\t': + case ' ': goto yy613; + case '.': goto yy1029; + case ':': goto yy1030; + case 'A': + case 'P': + case 'a': + case 'p': goto yy100; + default: goto yy208; } -#line 16775 "ext/date/lib/parse_date.c" -yy1127: - YYDEBUG(1127, *YYCURSOR); - yyaccept = 26; +yy920: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1117; - goto yy1118; - } else { - if (yych <= 'R') { - if (yych <= 'Q') goto yy1117; - } else { - if (yych != 'r') goto yy1117; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1031; + case 'n': + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy544; + } +yy921: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': + case '1': goto yy1031; + case 'n': + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy544; + } +yy922: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': goto yy1032; + case '3': goto yy1033; + default: goto yy56; + } +yy923: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1034; + default: goto yy56; + } +yy924: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy925: + switch (yych) { + case '-': + case '/': + case '_': goto yy276; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy56; } - YYDEBUG(1128, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy1129; - if (yych != 's') goto yy56; -yy1129: - YYDEBUG(1129, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy1130; - if (yych != 'd') goto yy56; -yy1130: - YYDEBUG(1130, *YYCURSOR); +yy926: yych = *++YYCURSOR; - if (yych == 'A') goto yy1131; - if (yych != 'a') goto yy56; -yy1131: - YYDEBUG(1131, *YYCURSOR); + switch (yych) { + case ' ': goto yy1036; + default: goto yy56; + } +yy927: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych == 'y') goto yy1123; - goto yy56; -yy1132: - YYDEBUG(1132, *YYCURSOR); + switch (yych) { + case 'R': + case 'r': goto yy950; + default: goto yy56; + } +yy928: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= 'C') goto yy56; - if (yych <= 'D') goto yy1134; - } else { - if (yych <= 'c') goto yy56; - if (yych <= 'd') goto yy1134; - if (yych >= 'f') goto yy56; + switch (yych) { + case 'R': goto yy950; + case 'r': goto yy951; + default: goto yy925; } - YYDEBUG(1133, *YYCURSOR); +yy929: yych = *++YYCURSOR; - if (yych == 'K') goto yy1140; - if (yych == 'k') goto yy1140; - goto yy56; -yy1134: - YYDEBUG(1134, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1117; - goto yy1118; - } else { - if (yych <= 'N') { - if (yych <= 'M') goto yy1117; - } else { - if (yych != 'n') goto yy1117; - } + switch (yych) { + case 'E': + case 'e': goto yy1037; + default: goto yy56; } - YYDEBUG(1135, *YYCURSOR); +yy930: yych = *++YYCURSOR; - if (yych == 'E') goto yy1136; - if (yych != 'e') goto yy56; -yy1136: - YYDEBUG(1136, *YYCURSOR); + switch (yych) { + case 'H': + case 'h': goto yy972; + default: goto yy56; + } +yy931: yych = *++YYCURSOR; - if (yych == 'S') goto yy1137; - if (yych != 's') goto yy56; -yy1137: - YYDEBUG(1137, *YYCURSOR); + switch (yych) { + case 'H': goto yy972; + case 'h': goto yy975; + default: goto yy925; + } +yy932: yych = *++YYCURSOR; - if (yych == 'D') goto yy1138; - if (yych != 'd') goto yy56; -yy1138: - YYDEBUG(1138, *YYCURSOR); + switch (yych) { + case 'Y': + case 'y': goto yy950; + default: goto yy56; + } +yy933: yych = *++YYCURSOR; - if (yych == 'A') goto yy1139; - if (yych != 'a') goto yy56; -yy1139: - YYDEBUG(1139, *YYCURSOR); + switch (yych) { + case 'Y': goto yy950; + case 'y': goto yy951; + default: goto yy925; + } +yy934: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych == 'y') goto yy1123; - goto yy56; -yy1140: - YYDEBUG(1140, *YYCURSOR); - yyaccept = 27; + goto yy136; +yy935: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == 'D') goto yy1143; - if (yych >= 'S') goto yy1142; - } else { - if (yych <= 'd') { - if (yych >= 'd') goto yy1143; - } else { - if (yych == 's') goto yy1142; - } + switch (yych) { + case '.': + case ':': goto yy827; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1038; + default: goto yy673; } -yy1141: - YYDEBUG(1141, *YYCURSOR); -#line 1575 "ext/date/lib/parse_date.re" - { - timelib_sll i; - int behavior = 0; - DEBUG_OUTPUT("relativetextweek"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - - while(*ptr) { - i = timelib_get_relative_text((char **) &ptr, &behavior); - timelib_eat_spaces((char **) &ptr); - timelib_set_relative((char **) &ptr, i, behavior, s); - s->time->relative.weekday_behavior = 2; - - /* to handle the format weekday + last/this/next week */ - if (s->time->relative.have_weekday_relative == 0) { - TIMELIB_HAVE_WEEKDAY_RELATIVE(); - s->time->relative.weekday = 1; - } - } - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; +yy936: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy827; + case '0': goto yy1039; + default: goto yy673; } -#line 16906 "ext/date/lib/parse_date.c" -yy1142: - YYDEBUG(1142, *YYCURSOR); - yych = *++YYCURSOR; - goto yy1117; -yy1143: - YYDEBUG(1143, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1144; - if (yych != 'a') goto yy56; -yy1144: - YYDEBUG(1144, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1145; - if (yych != 'y') goto yy56; -yy1145: - YYDEBUG(1145, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy1142; - if (yych == 's') goto yy1142; - goto yy1117; -yy1146: - YYDEBUG(1146, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1147; - if (yych != 'a') goto yy56; -yy1147: - YYDEBUG(1147, *YYCURSOR); +yy937: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy833; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1040; + default: goto yy673; + } +yy938: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy833; + case '0': goto yy1039; + default: goto yy673; + } +yy939: yych = *++YYCURSOR; - if (yych == 'R') goto yy1148; - if (yych != 'r') goto yy56; -yy1148: - YYDEBUG(1148, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1039; + default: goto yy673; + } +yy940: yych = *++YYCURSOR; - if (yych == 'S') goto yy1142; - if (yych == 's') goto yy1142; - goto yy1117; -yy1149: - YYDEBUG(1149, *YYCURSOR); + switch (yych) { + case '0': goto yy1039; + default: goto yy673; + } +yy941: yych = *++YYCURSOR; - if (yych == 'I') goto yy1162; - if (yych == 'i') goto yy1162; - goto yy56; -yy1150: - YYDEBUG(1150, *YYCURSOR); + goto yy673; +yy942: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy827; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1041; + default: goto yy673; + } +yy943: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy827; + case '0': goto yy1042; + default: goto yy673; + } +yy944: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy944; + case 'A': + case 'P': + case 'a': + case 'p': goto yy946; + default: goto yy56; + } +yy946: yych = *++YYCURSOR; - if (yych == 'R') goto yy1151; - if (yych != 'r') goto yy56; -yy1151: - YYDEBUG(1151, *YYCURSOR); + switch (yych) { + case '.': goto yy1043; + case 'M': + case 'm': goto yy1044; + default: goto yy56; + } +yy947: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '.': + case ':': goto yy833; + case '0': goto yy1042; + default: goto yy673; + } +yy948: yych = *++YYCURSOR; - if (yych == 'T') goto yy1152; - if (yych != 't') goto yy56; -yy1152: - YYDEBUG(1152, *YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1042; + default: goto yy673; + } +yy949: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'H') goto yy1154; - if (yych <= 'M') goto yy56; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy56; - goto yy1154; - } else { - if (yych != 'n') goto yy56; - } + switch (yych) { + case '0': goto yy1042; + default: goto yy673; + } +yy950: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + default: goto yy274; + } +yy951: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '.': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy134; + case '-': goto yy684; + case '/': + case '_': goto yy276; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy274; } - YYDEBUG(1153, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy1159; - if (yych == 'i') goto yy1159; - goto yy56; -yy1154: - YYDEBUG(1154, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy1155; - if (yych != 'n') goto yy56; -yy1155: - YYDEBUG(1155, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy1156; - if (yych != 'i') goto yy56; -yy1156: - YYDEBUG(1156, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy1157; - if (yych != 'g') goto yy56; -yy1157: - YYDEBUG(1157, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy1158; - if (yych != 'h') goto yy56; -yy1158: - YYDEBUG(1158, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1148; - if (yych == 't') goto yy1148; - goto yy56; -yy1159: - YYDEBUG(1159, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'G') goto yy1160; - if (yych != 'g') goto yy56; -yy1160: - YYDEBUG(1160, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy1161; - if (yych != 'h') goto yy56; -yy1161: - YYDEBUG(1161, *YYCURSOR); +yy952: yych = *++YYCURSOR; - if (yych == 'T') goto yy1148; - if (yych == 't') goto yy1148; - goto yy56; -yy1162: - YYDEBUG(1162, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1117; - goto yy1118; - } else { - if (yych <= 'D') { - if (yych <= 'C') goto yy1117; - } else { - if (yych != 'd') goto yy1117; - } + switch (yych) { + case 'Y': + case 'y': goto yy1045; + default: goto yy56; } - YYDEBUG(1163, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1164; - if (yych != 'a') goto yy56; -yy1164: - YYDEBUG(1164, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych == 'y') goto yy1123; - goto yy56; -yy1165: - YYDEBUG(1165, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1148; - if (yych == 'y') goto yy1148; - goto yy56; -yy1166: - YYDEBUG(1166, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy1167; - if (yych != 'u') goto yy56; -yy1167: - YYDEBUG(1167, *YYCURSOR); +yy953: yych = *++YYCURSOR; - if (yych == 'R') goto yy1148; - if (yych == 'r') goto yy1148; - goto yy56; -yy1168: - YYDEBUG(1168, *YYCURSOR); + switch (yych) { + case 'R': + case 'r': goto yy1047; + default: goto yy56; + } +yy954: yych = *++YYCURSOR; - if (yych == 'N') goto yy1173; - if (yych == 'n') goto yy1173; - goto yy56; -yy1169: - YYDEBUG(1169, *YYCURSOR); + switch (yych) { + case 'I': + case 'i': goto yy1048; + default: goto yy56; + } +yy955: yych = *++YYCURSOR; - if (yych == 'N') goto yy1170; - if (yych != 'n') goto yy56; -yy1170: - YYDEBUG(1170, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych == 'S') goto yy1142; - if (yych <= 'T') goto yy1117; - } else { - if (yych <= 's') { - if (yych <= 'r') goto yy1117; - goto yy1142; - } else { - if (yych != 'u') goto yy1117; - } + switch (yych) { + case 'U': + case 'u': goto yy1049; + default: goto yy56; } - YYDEBUG(1171, *YYCURSOR); +yy956: yych = *++YYCURSOR; - if (yych == 'T') goto yy1172; - if (yych != 't') goto yy56; -yy1172: - YYDEBUG(1172, *YYCURSOR); + switch (yych) { + case 'N': + case 'n': goto yy1050; + default: goto yy56; + } +yy957: yych = *++YYCURSOR; - if (yych == 'E') goto yy1148; - if (yych == 'e') goto yy1148; - goto yy56; -yy1173: - YYDEBUG(1173, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1118; - goto yy1117; - } else { - if (yych <= ' ') goto yy1118; - if (yych <= 'C') goto yy1117; - } - } else { - if (yych <= 'c') { - if (yych == 'T') goto yy1175; - goto yy1117; - } else { - if (yych <= 'd') goto yy1174; - if (yych == 't') goto yy1175; - goto yy1117; - } + switch (yych) { + case 'N': + case 'n': goto yy1051; + default: goto yy56; } -yy1174: - YYDEBUG(1174, *YYCURSOR); +yy958: yych = *++YYCURSOR; - if (yych == 'A') goto yy1176; - if (yych == 'a') goto yy1176; - goto yy56; -yy1175: - YYDEBUG(1175, *YYCURSOR); + switch (yych) { + case 'T': + case 't': goto yy1052; + default: goto yy56; + } +yy959: yych = *++YYCURSOR; - if (yych == 'H') goto yy1148; - if (yych == 'h') goto yy1148; - goto yy56; -yy1176: - YYDEBUG(1176, *YYCURSOR); + switch (yych) { + case 'C': + case 'c': goto yy1053; + default: goto yy56; + } +yy960: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych == 'y') goto yy1123; - goto yy56; -yy1177: - YYDEBUG(1177, *YYCURSOR); + switch (yych) { + case 'N': + case 'n': goto yy1048; + default: goto yy56; + } +yy961: yych = *++YYCURSOR; - if (yych == 'N') goto yy1188; - if (yych == 'n') goto yy1188; - goto yy56; -yy1178: - YYDEBUG(1178, *YYCURSOR); + switch (yych) { + case 'U': + case 'u': goto yy1054; + default: goto yy56; + } +yy962: yych = *++YYCURSOR; - if (yych == 'T') goto yy1183; - if (yych == 't') goto yy1183; - goto yy56; -yy1179: - YYDEBUG(1179, *YYCURSOR); + switch (yych) { + case 'E': + case 'e': goto yy1055; + default: goto yy56; + } +yy963: yych = *++YYCURSOR; - if (yych == 'C') goto yy1180; - if (yych != 'c') goto yy56; -yy1180: - YYDEBUG(1180, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == 'O') goto yy1181; - if (yych <= 'R') goto yy1117; - goto yy1142; - } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy1117; - } else { - if (yych == 's') goto yy1142; - goto yy1117; - } + switch (yych) { + case 'D': + case 'd': goto yy1056; + case 'E': + case 'e': goto yy1057; + default: goto yy56; } -yy1181: - YYDEBUG(1181, *YYCURSOR); +yy964: yych = *++YYCURSOR; - if (yych == 'N') goto yy1182; - if (yych != 'n') goto yy56; -yy1182: - YYDEBUG(1182, *YYCURSOR); + switch (yych) { + case 'A': + case 'a': goto yy1049; + default: goto yy56; + } +yy965: yych = *++YYCURSOR; - if (yych == 'D') goto yy1148; - if (yych == 'd') goto yy1148; - goto yy56; -yy1183: - YYDEBUG(1183, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1117; - goto yy1118; - } else { - if (yych <= 'U') { - if (yych <= 'T') goto yy1117; - } else { - if (yych != 'u') goto yy1117; - } + switch (yych) { + case 'Y': + case 'y': goto yy1058; + default: goto yy56; } - YYDEBUG(1184, *YYCURSOR); +yy966: yych = *++YYCURSOR; - if (yych == 'R') goto yy1185; - if (yych != 'r') goto yy56; -yy1185: - YYDEBUG(1185, *YYCURSOR); + switch (yych) { + case 'T': + case 't': goto yy1059; + default: goto yy56; + } +yy967: yych = *++YYCURSOR; - if (yych == 'D') goto yy1186; - if (yych != 'd') goto yy56; -yy1186: - YYDEBUG(1186, *YYCURSOR); + switch (yych) { + case 'T': goto yy1059; + case 't': goto yy1060; + default: goto yy925; + } +yy968: yych = *++YYCURSOR; - if (yych == 'A') goto yy1187; - if (yych != 'a') goto yy56; -yy1187: - YYDEBUG(1187, *YYCURSOR); + switch (yych) { + case 'S': + case 's': goto yy1061; + default: goto yy56; + } +yy969: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych == 'y') goto yy1123; - goto yy56; -yy1188: - YYDEBUG(1188, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1117; - goto yy1118; - } else { - if (yych <= 'D') { - if (yych <= 'C') goto yy1117; - } else { - if (yych != 'd') goto yy1117; - } + switch (yych) { + case 'S': goto yy1061; + case 's': goto yy1062; + default: goto yy925; } - YYDEBUG(1189, *YYCURSOR); +yy970: yych = *++YYCURSOR; - if (yych == 'A') goto yy1190; - if (yych != 'a') goto yy56; -yy1190: - YYDEBUG(1190, *YYCURSOR); + switch (yych) { + case 'Y': + case 'y': goto yy978; + default: goto yy56; + } +yy971: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych == 'y') goto yy1123; - goto yy56; -yy1191: - YYDEBUG(1191, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1098; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'e') goto yy1192; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case 'E': + case 'e': goto yy927; + default: goto yy56; } -yy1192: - YYDEBUG(1192, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'V') goto yy1099; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'u') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'v') goto yy1193; - if (yych <= 'z') goto yy150; - goto yy3; - } - } +yy972: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy810; + default: goto yy56; } -yy1193: - YYDEBUG(1193, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'H') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'I') goto yy1100; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'h') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'i') goto yy1194; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy973: + yych = *++YYCURSOR; + switch (yych) { + case 'Y': goto yy978; + case 'y': goto yy980; + default: goto yy925; } -yy1194: - YYDEBUG(1194, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'O') goto yy1101; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'n') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'o') goto yy1195; - if (yych <= 'z') goto yy152; - goto yy3; - } - } +yy974: + yych = *++YYCURSOR; + switch (yych) { + case 'E': goto yy927; + case 'e': goto yy928; + default: goto yy925; } -yy1195: - YYDEBUG(1195, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'U') goto yy1102; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'u') goto yy1196; - if (yych <= 'z') goto yy153; - goto yy3; - } +yy975: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy810; + case '-': + case '/': + case '_': goto yy276; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy56; } -yy1196: - YYDEBUG(1196, *YYCURSOR); +yy976: yych = *++YYCURSOR; - if (yych == 'S') goto yy1103; - if (yych != 's') goto yy154; - YYDEBUG(1197, *YYCURSOR); + goto yy755; +yy977: yych = *++YYCURSOR; - if (yybm[0+yych] & 16) { - goto yy153; - } - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy1104; - } else { - if (yych == ' ') goto yy1104; - goto yy56; - } - } else { - if (yych <= '/') { - if (yych == '.') goto yy56; - goto yy147; - } else { - if (yych == '_') goto yy147; - goto yy56; - } + switch (yych) { + case 'W': + case 'w': goto yy1063; + default: goto yy56; } -yy1198: - YYDEBUG(1198, *YYCURSOR); +yy978: yych = *++YYCURSOR; - if (yych <= 'G') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'F') goto yy141; - goto yy1212; - } - } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'g') goto yy1212; - if (yych <= 'z') goto yy141; - goto yy3; - } - } -yy1199: - YYDEBUG(1199, *YYCURSOR); + goto yy294; +yy979: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy141; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'e') goto yy1200; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'W': goto yy1063; + case 'w': goto yy1065; + default: goto yy925; } -yy1200: - YYDEBUG(1200, *YYCURSOR); +yy980: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': + case '/': + case '_': goto yy276; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy294; + } +yy981: yych = *++YYCURSOR; - if (yych <= 'V') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'U') goto yy142; - } - } else { - if (yych <= 'u') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'v') goto yy1201; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case 'A': + case 'a': goto yy970; + default: goto yy56; } -yy1201: - YYDEBUG(1201, *YYCURSOR); +yy982: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy143; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'e') goto yy1202; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case 'S': + case 's': goto yy978; + default: goto yy294; } -yy1202: - YYDEBUG(1202, *YYCURSOR); +yy983: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy144; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'n') goto yy1203; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case 'A': goto yy970; + case 'a': goto yy973; + default: goto yy925; } -yy1203: - YYDEBUG(1203, *YYCURSOR); - yyaccept = 0; +yy984: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'T') goto yy1204; - if (yych != 't') goto yy3; + switch (yych) { + case '-': + case '/': + case '_': goto yy276; + case 'S': goto yy978; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + case 's': goto yy980; + default: goto yy294; } -yy1204: - YYDEBUG(1204, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy1205; - if (yych != 'h') goto yy56; -yy1205: - YYDEBUG(1205, *YYCURSOR); +yy985: yych = *++YYCURSOR; - if (yych == '\t') goto yy1206; - if (yych != ' ') goto yy56; -yy1206: - YYDEBUG(1206, *YYCURSOR); - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy1207: - YYDEBUG(1207, *YYCURSOR); - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy1206; - if (yych <= 0x1F) goto yy56; - goto yy1206; - } else { - if (yych == 'D') goto yy1109; - if (yych <= 'E') goto yy56; - goto yy1110; - } - } else { - if (yych <= 'M') { - if (yych == 'H') goto yy1108; - if (yych <= 'L') goto yy56; - goto yy1107; - } else { - if (yych <= 'S') { - if (yych <= 'R') goto yy56; - goto yy1106; - } else { - if (yych <= 'T') goto yy1113; - if (yych <= 'V') goto yy56; - } - } - } - } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy1111; - if (yych <= 'c') goto yy56; - goto yy1109; - } else { - if (yych <= 'f') { - if (yych <= 'e') goto yy56; - goto yy1110; - } else { - if (yych == 'h') goto yy1108; - goto yy56; - } - } - } else { - if (yych <= 't') { - if (yych <= 'm') goto yy1107; - if (yych <= 'r') goto yy56; - if (yych <= 's') goto yy1106; - goto yy1113; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy56; - } else { - if (yych == 'y') goto yy1111; - goto yy56; - } - } - } + switch (yych) { + case 'A': + case 'a': goto yy1066; + default: goto yy56; } - YYDEBUG(1208, *YYCURSOR); +yy986: yych = *++YYCURSOR; - if (yych == 'E') goto yy1209; - if (yych != 'e') goto yy56; -yy1209: - YYDEBUG(1209, *YYCURSOR); + switch (yych) { + case 'A': goto yy1066; + case 'a': goto yy1067; + default: goto yy925; + } +yy987: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= 'C') goto yy56; - if (yych <= 'D') goto yy1134; - } else { - if (yych <= 'c') goto yy56; - if (yych <= 'd') goto yy1134; - if (yych >= 'f') goto yy56; + switch (yych) { + case '-': goto yy1068; + default: goto yy56; + } +yy988: + ++YYCURSOR; +#line 1308 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("pointed date YYYY"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->d = timelib_get_nr((char **) &ptr, 2); + s->time->m = timelib_get_nr((char **) &ptr, 2); + s->time->y = timelib_get_nr((char **) &ptr, 4); + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL_POINTED; } - YYDEBUG(1210, *YYCURSOR); +#line 29325 "" +yy990: yych = *++YYCURSOR; - if (yych == 'K') goto yy1211; - if (yych != 'k') goto yy56; -yy1211: - YYDEBUG(1211, *YYCURSOR); + goto yy213; +yy991: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == 'D') goto yy1143; - if (yych <= 'R') goto yy56; - goto yy1142; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy56; - goto yy1143; - } else { - if (yych == 's') goto yy1142; - goto yy56; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1069; + default: goto yy56; } -yy1212: - YYDEBUG(1212, *YYCURSOR); +yy992: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy872; + case 'n': + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy993; + } +yy993: +#line 1251 "ext/date/lib/parse_date.re" + { + 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; + } +#line 29378 "" +yy994: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy996; + case 'T': goto yy1070; + case 'n': + case 'r': goto yy1071; + case 's': goto yy1072; + case 't': goto yy1073; + default: goto yy544; + } +yy995: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': + case '1': goto yy996; + case 'T': goto yy1070; + case 'n': + case 'r': goto yy1071; + case 's': goto yy1072; + case 't': goto yy1073; + default: goto yy544; + } +yy996: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 'T': goto yy1070; + case 'n': + case 'r': goto yy1071; + case 's': goto yy1072; + case 't': goto yy1073; + default: goto yy544; + } +yy997: yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'G') goto yy142; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'h') goto yy1213; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': goto yy1074; + case '3': goto yy1075; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy996; + default: goto yy56; + } +yy998: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy922; + case 'I': + case 'i': goto yy1018; + default: goto yy576; + } +yy999: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy922; + case 'U': + case 'u': goto yy1019; + default: goto yy576; } -yy1213: - YYDEBUG(1213, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy143; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 't') goto yy1214; - if (yych <= 'z') goto yy143; - goto yy3; - } +yy1000: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '-': goto yy922; + case 'E': + case 'e': goto yy1020; + default: goto yy576; } -yy1214: - YYDEBUG(1214, *YYCURSOR); - yyaccept = 0; +yy1001: + yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1206; - goto yy3; - } else { - if (yych <= ' ') goto yy1206; - if (yych == ')') goto yy139; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych == 'H') goto yy1215; - if (yych <= 'Z') goto yy144; - goto yy3; - } else { - if (yych == 'h') goto yy1215; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case '-': goto yy922; + case 'R': + case 'r': goto yy1021; + default: goto yy576; } -yy1215: - YYDEBUG(1215, *YYCURSOR); - yyaccept = 0; +yy1002: + yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy1206; - goto yy3; - } else { - if (yych <= ' ') goto yy1206; - if (yych == ')') goto yy139; - goto yy3; + switch (yych) { + case '-': goto yy922; + case 'U': + case 'u': goto yy1022; + default: goto yy576; } -yy1216: - YYDEBUG(1216, *YYCURSOR); - yyaccept = 0; +yy1003: + yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'F') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'G') goto yy1212; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'f') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'g') goto yy1224; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case '-': goto yy922; + case 'Y': + case 'y': goto yy767; + default: goto yy576; } -yy1217: - YYDEBUG(1217, *YYCURSOR); - yyaccept = 0; +yy1004: + yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1200; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'e') goto yy1218; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case '-': goto yy922; + case 'E': + case 'e': goto yy767; + default: goto yy576; } -yy1218: - YYDEBUG(1218, *YYCURSOR); - yyaccept = 0; +yy1005: + yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'V') goto yy1201; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'u') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'v') goto yy1219; - if (yych <= 'z') goto yy150; - goto yy3; - } - } + switch (yych) { + case '-': goto yy922; + case 'C': + case 'c': goto yy1023; + default: goto yy576; } -yy1219: - YYDEBUG(1219, *YYCURSOR); - yyaccept = 0; +yy1006: + yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1202; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'e') goto yy1220; - if (yych <= 'z') goto yy151; - goto yy3; - } - } + switch (yych) { + case '-': goto yy922; + default: goto yy576; } -yy1220: - YYDEBUG(1220, *YYCURSOR); - yyaccept = 0; +yy1007: + yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1203; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'n') goto yy1221; - if (yych <= 'z') goto yy152; - goto yy3; - } - } + switch (yych) { + case '-': goto yy922; + case 'O': + case 'o': goto yy1024; + default: goto yy576; } -yy1221: - YYDEBUG(1221, *YYCURSOR); - yyaccept = 0; +yy1008: + yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'T') goto yy1204; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 't') goto yy1222; - if (yych <= 'z') goto yy153; - goto yy3; - } + switch (yych) { + case '-': goto yy922; + case 'T': + case 't': goto yy1000; + default: goto yy576; } -yy1222: - YYDEBUG(1222, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy1205; - if (yych != 'h') goto yy154; -yy1223: - YYDEBUG(1223, *YYCURSOR); +yy1009: yych = *++YYCURSOR; - if (yybm[0+yych] & 16) { - goto yy153; + goto yy900; +yy1010: + yyaccept = 26; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1013; + case 'n': + case 'r': goto yy1076; + case 's': goto yy1077; + case 't': goto yy1078; + default: goto yy1011; } - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy1206; - } else { - if (yych == ' ') goto yy1206; - goto yy56; - } - } else { - if (yych <= '/') { - if (yych == '.') goto yy56; - goto yy147; - } else { - if (yych == '_') goto yy147; - goto yy56; - } +yy1011: +#line 1239 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4); + s->time->m = timelib_get_nr((char **) &ptr, 2); + s->time->d = timelib_get_nr((char **) &ptr, 2); + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; } -yy1224: - YYDEBUG(1224, *YYCURSOR); - yyaccept = 0; +#line 29571 "" +yy1012: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy1213; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'h') goto yy1225; - if (yych <= 'z') goto yy150; - goto yy3; - } - } + switch (yych) { + case '0': + case '1': goto yy1013; + case 'n': + case 'r': goto yy1076; + case 's': goto yy1077; + case 't': goto yy1078; + default: goto yy1011; } -yy1225: - YYDEBUG(1225, *YYCURSOR); - yyaccept = 0; +yy1013: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1214; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 't') goto yy1226; - if (yych <= 'z') goto yy151; - goto yy3; - } - } + switch (yych) { + case 'n': + case 'r': goto yy1076; + case 's': goto yy1077; + case 't': goto yy1078; + default: goto yy1011; } -yy1226: - YYDEBUG(1226, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy3; - goto yy1206; - } else { - if (yych == ' ') goto yy1206; - goto yy3; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - goto yy147; - } - } - } else { - if (yych <= '^') { - if (yych <= 'G') { - if (yych <= '@') goto yy3; - goto yy144; - } else { - if (yych <= 'H') goto yy1215; - if (yych <= 'Z') goto yy144; - goto yy3; - } - } else { - if (yych <= 'g') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'h') goto yy1227; - if (yych <= 'z') goto yy152; - goto yy3; - } - } +yy1014: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': goto yy1079; + case '3': goto yy1080; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1013; + default: goto yy56; } -yy1227: - YYDEBUG(1227, *YYCURSOR); - yyaccept = 0; +yy1015: + yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy153; + switch (yych) { + case '\t': + case ' ': goto yy185; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + case 'D': + case 'd': goto yy187; + case 'F': + case 'f': goto yy188; + case 'H': + case 'h': goto yy76; + case 'M': + case 'm': goto yy189; + case 'S': + case 's': goto yy190; + case 'T': goto yy1081; + case 'W': + case 'w': goto yy86; + case 'Y': + case 'y': goto yy88; + case 't': goto yy1082; + default: goto yy1016; } - if (yych <= ')') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1206; - goto yy3; - } else { - if (yych <= ' ') goto yy1206; - if (yych <= '(') goto yy3; - goto yy139; - } - } else { - if (yych <= '.') { - if (yych == '-') goto yy147; - goto yy3; - } else { - if (yych <= '/') goto yy147; - if (yych == '_') goto yy147; - goto yy3; - } +yy1016: +#line 1388 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("datenocolon"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->m = timelib_get_nr((char **) &ptr, 2); + s->time->d = timelib_get_nr((char **) &ptr, 2); + TIMELIB_DEINIT; + return TIMELIB_DATE_NOCOLON; } -yy1228: - YYDEBUG(1228, *YYCURSOR); +#line 29655 "" +yy1017: yych = *++YYCURSOR; - if (yych <= 'V') { - if (yych <= 'B') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy141; - } else { - if (yych <= 'O') { - if (yych <= 'C') goto yy1244; - goto yy141; - } else { - if (yych <= 'P') goto yy1246; - if (yych <= 'U') goto yy141; - goto yy1245; - } - } - } else { - if (yych <= 'o') { - if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy3; - } else { - if (yych == 'c') goto yy1244; - goto yy141; - } - } else { - if (yych <= 'u') { - if (yych <= 'p') goto yy1246; - goto yy141; - } else { - if (yych <= 'v') goto yy1245; - if (yych <= 'z') goto yy141; - goto yy3; - } - } + switch (yych) { + case '0': + case '1': + case '2': goto yy1083; + case '3': goto yy1084; + default: goto yy56; } -yy1229: - YYDEBUG(1229, *YYCURSOR); +yy1018: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy141; - goto yy1239; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 't') goto yy1239; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'L': + case 'l': goto yy767; + default: goto yy56; } -yy1230: - YYDEBUG(1230, *YYCURSOR); +yy1019: + yych = *++YYCURSOR; + switch (yych) { + case 'S': + case 's': goto yy1085; + default: goto yy56; + } +yy1020: + yych = *++YYCURSOR; + switch (yych) { + case 'M': + case 'm': goto yy1024; + default: goto yy56; + } +yy1021: yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'W') goto yy141; - goto yy1236; - } - } else { - if (yych <= 'w') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'x') goto yy1236; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'U': + case 'u': goto yy1022; + default: goto yy56; } -yy1231: - YYDEBUG(1231, *YYCURSOR); +yy1022: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy141; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'n') goto yy1232; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'A': + case 'a': goto yy1086; + default: goto yy56; } -yy1232: - YYDEBUG(1232, *YYCURSOR); +yy1023: yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy166; - goto yy139; - } else { - if (yych <= '@') goto yy166; - if (yych <= 'C') goto yy142; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy166; - goto yy142; - } else { - if (yych <= 'd') goto yy1233; - if (yych <= 'z') goto yy142; - goto yy166; - } + switch (yych) { + case 'H': + case 'h': goto yy767; + default: goto yy56; } -yy1233: - YYDEBUG(1233, *YYCURSOR); +yy1024: yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy143; - goto yy3; - } else { - if (yych <= 'a') goto yy1234; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case 'B': + case 'b': goto yy1087; + default: goto yy56; } -yy1234: - YYDEBUG(1234, *YYCURSOR); +yy1025: yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'X') goto yy144; - } - } else { - if (yych <= 'x') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'y') goto yy1235; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': goto yy1026; + default: goto yy56; } -yy1235: - YYDEBUG(1235, *YYCURSOR); +yy1026: + ++YYCURSOR; +#line 1440 "ext/date/lib/parse_date.re" + { + timelib_sll w, d; + DEBUG_OUTPUT("isoweekday"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + TIMELIB_HAVE_RELATIVE(); + + s->time->y = timelib_get_nr((char **) &ptr, 4); + w = timelib_get_nr((char **) &ptr, 2); + d = timelib_get_nr((char **) &ptr, 1); + s->time->m = 1; + s->time->d = 1; + s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); + + TIMELIB_DEINIT; + return TIMELIB_ISO_WEEK; + } +#line 29747 "" +yy1028: yych = *++YYCURSOR; - if (yych == ')') goto yy139; - goto yy166; -yy1236: - YYDEBUG(1236, *YYCURSOR); + switch (yych) { + case 'H': + case 'h': goto yy1088; + default: goto yy56; + } +yy1029: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy142; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 't') goto yy1237; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1089; + default: goto yy56; } -yy1237: - YYDEBUG(1237, *YYCURSOR); +yy1030: yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'G') goto yy143; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'h') goto yy1238; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1091; + default: goto yy56; } -yy1238: - YYDEBUG(1238, *YYCURSOR); - yyaccept = 0; +yy1031: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy3; - goto yy1206; - } else { - if (yych == ' ') goto yy1206; - goto yy3; - } - } else { - if (yych <= 'Z') { - if (yych <= ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy144; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case 'n': + case 'r': goto yy721; + case 's': goto yy722; + case 't': goto yy723; + default: goto yy993; } -yy1239: - YYDEBUG(1239, *YYCURSOR); +yy1032: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= ')') { - if (yych <= '(') goto yy166; - goto yy139; - } else { - if (yych <= '@') goto yy166; - if (yych <= 'T') goto yy142; - } - } else { - if (yych <= 't') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy166; - goto yy142; - } else { - if (yych <= 'u') goto yy1240; - if (yych <= 'z') goto yy142; - goto yy166; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1093; + default: goto yy56; } -yy1240: - YYDEBUG(1240, *YYCURSOR); +yy1033: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'Q') goto yy143; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'r') goto yy1241; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case '0': + case '1': goto yy1093; + default: goto yy56; } -yy1241: - YYDEBUG(1241, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'C') goto yy144; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'd') goto yy1242; - if (yych <= 'z') goto yy144; - goto yy3; - } +yy1034: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1095; + default: goto yy1035; } -yy1242: - YYDEBUG(1242, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'A') goto yy1243; - if (yych != 'a') goto yy3; +yy1035: +#line 1478 "ext/date/lib/parse_date.re" + { + 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; } -yy1243: - YYDEBUG(1243, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy172; - if (yych == 'y') goto yy172; - goto yy56; -yy1244: - YYDEBUG(1244, *YYCURSOR); +#line 29846 "" +yy1036: yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'N') goto yy142; - goto yy1255; - } - } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'o') goto yy1255; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case '0': + case '1': goto yy1096; + case '2': goto yy1098; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1099; + default: goto yy56; } -yy1245: - YYDEBUG(1245, *YYCURSOR); +yy1037: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy142; - goto yy1252; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'e') goto yy1252; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case 'D': + case 'd': goto yy1056; + case 'E': + case 'e': goto yy1101; + default: goto yy56; + } +yy1038: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '(': + case '+': + case '-': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1103; + case '.': + case ':': goto yy827; + default: goto yy673; } -yy1246: - YYDEBUG(1246, *YYCURSOR); - yyaccept = 5; +yy1039: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy193; - } else { - if (yych <= '-') goto yy196; - if (yych <= '.') goto yy195; - goto yy193; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych != 'T') goto yy142; - } - } else { - if (yych <= 's') { - if (yych <= '`') goto yy193; - goto yy142; - } else { - if (yych <= 't') goto yy1247; - if (yych <= 'z') goto yy142; - goto yy193; - } - } + switch (yych) { + case '\t': + case ' ': + case '(': + case '+': + case '-': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1103; + default: goto yy673; } -yy1247: - YYDEBUG(1247, *YYCURSOR); - yyaccept = 5; +yy1040: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy193; - } else { - if (yych <= '-') goto yy196; - if (yych <= '.') goto yy195; - goto yy193; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych != 'E') goto yy143; - } - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy193; - goto yy143; - } else { - if (yych <= 'e') goto yy1248; - if (yych <= 'z') goto yy143; - goto yy193; - } - } + switch (yych) { + case '\t': + case ' ': + case '(': + case '+': + case '-': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1110; + case '.': + case ':': goto yy833; + default: goto yy673; } -yy1248: - YYDEBUG(1248, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'M') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'L') goto yy144; - } - } else { - if (yych <= 'l') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'm') goto yy1249; - if (yych <= 'z') goto yy144; - goto yy3; - } +yy1041: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case '(': + case '+': + case '-': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1110; + case '.': + case ':': goto yy827; + default: goto yy673; } -yy1249: - YYDEBUG(1249, *YYCURSOR); - yyaccept = 0; +yy1042: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'B') goto yy1250; - if (yych != 'b') goto yy3; + switch (yych) { + case '\t': + case ' ': + case '(': + case '+': + case '-': + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1110; + default: goto yy673; } -yy1250: - YYDEBUG(1250, *YYCURSOR); +yy1043: yych = *++YYCURSOR; - if (yych == 'E') goto yy1251; - if (yych != 'e') goto yy56; -yy1251: - YYDEBUG(1251, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy205; - if (yych == 'r') goto yy205; - goto yy56; -yy1252: - YYDEBUG(1252, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy143; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'n') goto yy1253; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case 'M': + case 'm': goto yy1044; + default: goto yy56; } -yy1253: - YYDEBUG(1253, *YYCURSOR); +yy1044: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy144; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 't') goto yy1254; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case 0x00: + case '\t': + case ' ': goto yy1113; + case '.': goto yy1115; + default: goto yy56; } -yy1254: - YYDEBUG(1254, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'H') goto yy1205; - if (yych == 'h') goto yy1205; - goto yy3; +yy1045: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case 'S': + case 's': goto yy1116; + default: goto yy1046; } -yy1255: - YYDEBUG(1255, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy143; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'n') goto yy1256; - if (yych <= 'z') goto yy143; - goto yy3; +yy1046: +#line 1599 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; + DEBUG_OUTPUT("relativetext"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + + while(*ptr) { + i = timelib_get_relative_text((char **) &ptr, &behavior); + timelib_eat_spaces((char **) &ptr); + timelib_set_relative((char **) &ptr, i, behavior, s); } + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; } -yy1256: - YYDEBUG(1256, *YYCURSOR); +#line 30232 "" +yy1047: yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'C') goto yy144; - goto yy1215; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'd') goto yy1215; - if (yych <= 'z') goto yy144; - goto yy3; - } - } -yy1257: - YYDEBUG(1257, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - goto yy147; - } - } else { - if (yych <= 'C') { - if (yych <= '@') goto yy3; - if (yych <= 'B') goto yy141; - goto yy1244; - } else { - if (yych == 'P') goto yy1246; - goto yy141; - } - } - } else { - if (yych <= 'b') { - if (yych <= '^') { - if (yych <= 'V') goto yy1245; - if (yych <= 'Z') goto yy141; - goto yy3; - } else { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy3; - goto yy146; - } - } else { - if (yych <= 'p') { - if (yych <= 'c') goto yy1273; - if (yych <= 'o') goto yy146; - goto yy1275; - } else { - if (yych == 'v') goto yy1274; - if (yych <= 'z') goto yy146; - goto yy3; - } - } - } -yy1258: - YYDEBUG(1258, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1239; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 't') goto yy1268; - if (yych <= 'z') goto yy146; - goto yy3; - } - } - } -yy1259: - YYDEBUG(1259, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'W') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'X') goto yy1236; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'w') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'x') goto yy1265; - if (yych <= 'z') goto yy146; - goto yy3; - } - } - } -yy1260: - YYDEBUG(1260, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1232; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'n') goto yy1261; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case 'T': + case 't': goto yy1117; + default: goto yy56; } -yy1261: - YYDEBUG(1261, *YYCURSOR); - yyaccept = 4; +yy1048: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy166; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy166; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1233; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy166; - goto yy147; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy166; - goto yy150; - } else { - if (yych <= 'd') goto yy1262; - if (yych <= 'z') goto yy150; - goto yy166; - } - } + switch (yych) { + case '\t': + case ' ': goto yy1118; + case 'D': + case 'd': goto yy1120; + default: goto yy1046; } -yy1262: - YYDEBUG(1262, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1234; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1263; - if (yych <= 'z') goto yy151; - goto yy3; - } +yy1049: + yych = *++YYCURSOR; + switch (yych) { + case 'R': + case 'r': goto yy1045; + default: goto yy56; } -yy1263: - YYDEBUG(1263, *YYCURSOR); - yyaccept = 0; +yy1050: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'Y') goto yy1235; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'x') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'y') goto yy1264; - if (yych <= 'z') goto yy152; - goto yy3; - } - } + switch (yych) { + case 'S': + case 's': goto yy1116; + case 'U': + case 'u': goto yy1121; + default: goto yy1046; } -yy1264: - YYDEBUG(1264, *YYCURSOR); - yyaccept = 4; +yy1051: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy153; - } - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy166; - goto yy147; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy166; - goto yy147; - } else { - if (yych == '_') goto yy147; - goto yy166; - } + switch (yych) { + case '\t': + case ' ': goto yy1118; + case 'D': + case 'd': goto yy1120; + case 'T': + case 't': goto yy1122; + default: goto yy1046; } -yy1265: - YYDEBUG(1265, *YYCURSOR); - yyaccept = 0; +yy1052: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1237; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 't') goto yy1266; - if (yych <= 'z') goto yy150; - goto yy3; - } - } + switch (yych) { + case '\t': + case ' ': goto yy1118; + case 'U': + case 'u': goto yy1123; + default: goto yy1046; } -yy1266: - YYDEBUG(1266, *YYCURSOR); - yyaccept = 0; +yy1053: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy1238; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'h') goto yy1267; - if (yych <= 'z') goto yy151; - goto yy3; - } - } + switch (yych) { + case 'O': + case 'o': goto yy1124; + case 'S': + case 's': goto yy1116; + default: goto yy1046; } -yy1267: - YYDEBUG(1267, *YYCURSOR); - yyaccept = 0; +yy1054: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy1206; - if (yych <= 0x1F) goto yy3; - goto yy1206; - } else { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } - } else { - if (yych <= 'Z') { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy152; - goto yy3; - } - } + switch (yych) { + case '\t': + case ' ': goto yy1118; + case 'R': + case 'r': goto yy1125; + default: goto yy1046; } -yy1268: - YYDEBUG(1268, *YYCURSOR); - yyaccept = 4; +yy1055: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy166; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy166; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'U') goto yy1240; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy166; - goto yy147; - } else { - if (yych <= 't') { - if (yych <= '`') goto yy166; - goto yy150; - } else { - if (yych <= 'u') goto yy1269; - if (yych <= 'z') goto yy150; - goto yy166; - } - } + switch (yych) { + case '\t': + case ' ': goto yy1118; + case 'S': + case 's': goto yy1126; + default: goto yy1046; } -yy1269: - YYDEBUG(1269, *YYCURSOR); - yyaccept = 0; +yy1056: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy1241; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'r') goto yy1270; - if (yych <= 'z') goto yy151; - goto yy3; - } - } + switch (yych) { + case '\t': + case ' ': goto yy1118; + case 'N': + case 'n': goto yy1127; + default: goto yy1046; } -yy1270: - YYDEBUG(1270, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1242; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'd') goto yy1271; - if (yych <= 'z') goto yy152; - goto yy3; - } - } +yy1057: + yych = *++YYCURSOR; + switch (yych) { + case 'K': + case 'k': goto yy1128; + default: goto yy56; } -yy1271: - YYDEBUG(1271, *YYCURSOR); - yyaccept = 0; +yy1058: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1243; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1272; - if (yych <= 'z') goto yy153; - goto yy3; - } + switch (yych) { + case ' ': goto yy1130; + case 'S': + case 's': goto yy1116; + default: goto yy1046; } -yy1272: - YYDEBUG(1272, *YYCURSOR); +yy1059: yych = *++YYCURSOR; - if (yych == 'Y') goto yy172; - if (yych == 'y') goto yy185; - goto yy154; -yy1273: - YYDEBUG(1273, *YYCURSOR); - yyaccept = 0; + goto yy704; +yy1060: + yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'O') goto yy1255; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'n') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'o') goto yy1284; - if (yych <= 'z') goto yy150; - goto yy3; - } - } + switch (yych) { + case '-': + case '/': + case '_': goto yy276; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy704; } -yy1274: - YYDEBUG(1274, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1252; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'e') goto yy1281; - if (yych <= 'z') goto yy150; - goto yy3; - } - } +yy1061: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy685; + default: goto yy56; } -yy1275: - YYDEBUG(1275, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy371; - } else { - if (yych == '/') goto yy147; - goto yy195; - } - } - } else { - if (yych <= '^') { - if (yych <= 'S') { - if (yych <= '@') goto yy193; - goto yy142; - } else { - if (yych <= 'T') goto yy1247; - if (yych <= 'Z') goto yy142; - goto yy193; - } - } else { - if (yych <= 's') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy193; - goto yy150; - } else { - if (yych <= 't') goto yy1276; - if (yych <= 'z') goto yy150; - goto yy193; - } - } +yy1062: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy685; + case '-': + case '/': + case '_': goto yy276; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy56; } -yy1276: - YYDEBUG(1276, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy371; - } else { - if (yych == '/') goto yy147; - goto yy195; - } - } - } else { - if (yych <= '^') { - if (yych <= 'D') { - if (yych <= '@') goto yy193; - goto yy143; - } else { - if (yych <= 'E') goto yy1248; - if (yych <= 'Z') goto yy143; - goto yy193; - } - } else { - if (yych <= 'd') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy193; - goto yy151; - } else { - if (yych <= 'e') goto yy1277; - if (yych <= 'z') goto yy151; - goto yy193; - } - } +yy1063: + ++YYCURSOR; +yy1064: +#line 994 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("tomorrow"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_UNHAVE_TIME(); + + s->time->relative.d = 1; + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; } -yy1277: - YYDEBUG(1277, *YYCURSOR); - yyaccept = 0; +#line 30440 "" +yy1065: + yyaccept = 29; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'M') goto yy1249; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'l') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'm') goto yy1278; - if (yych <= 'z') goto yy152; - goto yy3; - } - } + switch (yych) { + case '-': + case '/': + case '_': goto yy276; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy1064; } -yy1278: - YYDEBUG(1278, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'B') goto yy1250; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'b') goto yy1279; - if (yych <= 'z') goto yy153; - goto yy3; - } +yy1066: + yych = *++YYCURSOR; + switch (yych) { + case 'Y': + case 'y': goto yy1131; + default: goto yy56; } -yy1279: - YYDEBUG(1279, *YYCURSOR); +yy1067: yych = *++YYCURSOR; - if (yych == 'E') goto yy1251; - if (yych != 'e') goto yy154; - YYDEBUG(1280, *YYCURSOR); + switch (yych) { + case 'Y': goto yy1131; + case 'y': goto yy1133; + default: goto yy925; + } +yy1068: yych = *++YYCURSOR; - if (yych == 'R') goto yy205; - if (yych == 'r') goto yy376; - goto yy154; -yy1281: - YYDEBUG(1281, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1253; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'n') goto yy1282; - if (yych <= 'z') goto yy151; - goto yy3; - } - } + switch (yych) { + case '0': + case '1': + case '2': goto yy1134; + case '3': goto yy1135; + default: goto yy56; } -yy1282: - YYDEBUG(1282, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1254; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 't') goto yy1283; - if (yych <= 'z') goto yy152; - goto yy3; - } - } +yy1069: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1136; + default: goto yy56; } -yy1283: - YYDEBUG(1283, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'H') goto yy1205; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'h') goto yy1223; - if (yych <= 'z') goto yy153; - goto yy3; - } +yy1070: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': goto yy1137; + case '2': goto yy1138; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1139; + default: goto yy56; } -yy1284: - YYDEBUG(1284, *YYCURSOR); - yyaccept = 0; +yy1071: + yych = *++YYCURSOR; + switch (yych) { + case 'd': goto yy1140; + default: goto yy56; + } +yy1072: + yych = *++YYCURSOR; + switch (yych) { + case 't': goto yy1140; + default: goto yy56; + } +yy1073: + yych = *++YYCURSOR; + switch (yych) { + case 'h': goto yy1140; + default: goto yy56; + } +yy1074: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1256; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'n') goto yy1285; - if (yych <= 'z') goto yy151; - goto yy3; - } - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1141; + case 'T': goto yy1070; + case 'n': + case 'r': goto yy1071; + case 's': goto yy1072; + case 't': goto yy1073; + default: goto yy544; } -yy1285: - YYDEBUG(1285, *YYCURSOR); - yyaccept = 0; +yy1075: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1215; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'd') goto yy1227; - if (yych <= 'z') goto yy152; - goto yy3; - } - } + switch (yych) { + case '0': + case '1': goto yy1141; + case 'T': goto yy1070; + case 'n': + case 'r': goto yy1071; + case 's': goto yy1072; + case 't': goto yy1073; + default: goto yy544; } -yy1286: - YYDEBUG(1286, *YYCURSOR); +yy1076: yych = *++YYCURSOR; - if (yych <= 'C') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'B') goto yy141; - } - } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'c') goto yy1287; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'd': goto yy1142; + default: goto yy56; } -yy1287: - YYDEBUG(1287, *YYCURSOR); +yy1077: yych = *++YYCURSOR; - if (yych <= 'K') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'J') goto yy142; - } - } else { - if (yych <= 'j') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'k') goto yy1288; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case 't': goto yy1142; + default: goto yy56; } -yy1288: - YYDEBUG(1288, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych == ' ') goto yy1289; - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy3; - goto yy143; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy143; - goto yy3; - } +yy1078: + yych = *++YYCURSOR; + switch (yych) { + case 'h': goto yy1142; + default: goto yy56; } -yy1289: - YYDEBUG(1289, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy1290; - if (yych != 'o') goto yy56; -yy1290: - YYDEBUG(1290, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy1291; - if (yych != 'f') goto yy56; -yy1291: - YYDEBUG(1291, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ' ') goto yy56; - YYDEBUG(1292, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1293; - if (yych <= '2') goto yy1295; - if (yych <= '9') goto yy1296; - goto yy56; -yy1293: - YYDEBUG(1293, *YYCURSOR); - yyaccept = 28; +yy1079: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1297; - if (yych <= '9') goto yy1296; - goto yy1297; -yy1294: - YYDEBUG(1294, *YYCURSOR); -#line 1049 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("backof | frontof"); - TIMELIB_INIT; - TIMELIB_UNHAVE_TIME(); - TIMELIB_HAVE_TIME(); - - if (*ptr == 'b') { - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = 15; - } else { - s->time->h = timelib_get_nr((char **) &ptr, 2) - 1; - s->time->i = 45; - } - if (*ptr != '\0' ) { - timelib_eat_spaces((char **) &ptr); - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - } - - TIMELIB_DEINIT; - return TIMELIB_LF_DAY_OF_MONTH; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1143; + case 'n': + case 'r': goto yy1076; + case 's': goto yy1077; + case 't': goto yy1078; + default: goto yy1011; } -#line 19605 "ext/date/lib/parse_date.c" -yy1295: - YYDEBUG(1295, *YYCURSOR); - yyaccept = 28; +yy1080: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1297; - if (yych >= '5') goto yy1297; -yy1296: - YYDEBUG(1296, *YYCURSOR); - yyaccept = 28; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; -yy1297: - YYDEBUG(1297, *YYCURSOR); - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1296; - goto yy1294; - } else { - if (yych <= ' ') goto yy1296; - if (yych <= '@') goto yy1294; - } - } else { - if (yych <= '`') { - if (yych != 'P') goto yy1294; - } else { - if (yych <= 'a') goto yy1298; - if (yych != 'p') goto yy1294; - } + switch (yych) { + case '0': + case '1': goto yy1143; + case 'n': + case 'r': goto yy1076; + case 's': goto yy1077; + case 't': goto yy1078; + default: goto yy1011; } -yy1298: - YYDEBUG(1298, *YYCURSOR); +yy1081: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy56; - } else { - if (yych <= 'M') goto yy1300; - if (yych == 'm') goto yy1300; - goto yy56; + switch (yych) { + case '0': + case '1': goto yy1144; + case '2': goto yy1145; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1146; + case 'H': + case 'h': goto yy253; + case 'U': + case 'u': goto yy254; + default: goto yy56; } - YYDEBUG(1299, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy1300; - if (yych != 'm') goto yy56; -yy1300: - YYDEBUG(1300, *YYCURSOR); +yy1082: yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1302; - if (yych == '\t') goto yy1302; - goto yy56; - } else { - if (yych <= ' ') goto yy1302; - if (yych != '.') goto yy56; + switch (yych) { + case '0': + case '1': goto yy1147; + case '2': goto yy1148; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1149; + case 'H': + case 'h': goto yy253; + case 'U': + case 'u': goto yy254; + default: goto yy56; } - YYDEBUG(1301, *YYCURSOR); +yy1083: yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy1302; - if (yych <= 0x08) goto yy56; - } else { - if (yych != ' ') goto yy56; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1150; + default: goto yy56; } -yy1302: - YYDEBUG(1302, *YYCURSOR); +yy1084: yych = *++YYCURSOR; - goto yy1294; -yy1303: - YYDEBUG(1303, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'B') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'C') goto yy1287; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'b') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'c') goto yy1304; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case '0': + case '1': goto yy1150; + default: goto yy56; } -yy1304: - YYDEBUG(1304, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'J') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'K') goto yy1288; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'j') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'k') goto yy1305; - if (yych <= 'z') goto yy150; - goto yy3; - } - } +yy1085: + yych = *++YYCURSOR; + switch (yych) { + case 'T': + case 't': goto yy767; + default: goto yy56; } -yy1305: - YYDEBUG(1305, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= '(') { - if (yych == ' ') goto yy1289; - goto yy3; - } else { - if (yych <= ')') goto yy139; - if (yych == '-') goto yy147; - goto yy3; - } - } else { - if (yych <= '^') { - if (yych <= '/') goto yy147; - if (yych <= '@') goto yy3; - if (yych <= 'Z') goto yy143; - goto yy3; - } else { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy151; - goto yy3; - } +yy1086: + yych = *++YYCURSOR; + switch (yych) { + case 'R': + case 'r': goto yy1151; + default: goto yy56; } -yy1306: - YYDEBUG(1306, *YYCURSOR); +yy1087: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'R') goto yy141; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 's') goto yy1307; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'E': + case 'e': goto yy1152; + default: goto yy56; } -yy1307: - YYDEBUG(1307, *YYCURSOR); +yy1088: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy142; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 't') goto yy1308; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case 'T': + case 't': goto yy401; + default: goto yy56; } -yy1308: - YYDEBUG(1308, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy3; - goto yy1104; - } else { - if (yych != ' ') goto yy3; - } - } else { - if (yych <= 'Z') { - if (yych <= ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy143; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy143; - goto yy3; - } +yy1089: + yyaccept = 5; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1089; + case 'A': + case 'P': + case 'a': + case 'p': goto yy1153; + default: goto yy208; + } +yy1091: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1091; + case 'A': + case 'P': + case 'a': + case 'p': goto yy1153; + default: goto yy56; + } +yy1093: + ++YYCURSOR; +#line 1492 "ext/date/lib/parse_date.re" + { + 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; + } +#line 30777 "" +yy1095: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1154; + default: goto yy1035; } -yy1309: - YYDEBUG(1309, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy1310; - if (yych != 'd') goto yy1105; -yy1310: - YYDEBUG(1310, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1311; - if (yych != 'a') goto yy56; -yy1311: - YYDEBUG(1311, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1312; - if (yych != 'y') goto yy56; -yy1312: - YYDEBUG(1312, *YYCURSOR); - yyaccept = 26; +yy1096: + yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych != ' ') goto yy1117; - } else { - if (yych <= 'S') goto yy1142; - if (yych == 's') goto yy1142; - goto yy1117; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1099; + default: goto yy1100; } - YYDEBUG(1313, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy1314; - if (yych != 'o') goto yy56; -yy1314: - YYDEBUG(1314, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy1315; - if (yych != 'f') goto yy56; -yy1315: - YYDEBUG(1315, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(1316, *YYCURSOR); -#line 1032 "ext/date/lib/parse_date.re" +yy1097: +#line 1049 "ext/date/lib/parse_date.re" { - DEBUG_OUTPUT("firstdayof | lastdayof"); + DEBUG_OUTPUT("backof | frontof"); TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); + TIMELIB_UNHAVE_TIME(); + TIMELIB_HAVE_TIME(); - /* 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; + if (*ptr == 'b') { + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = 15; } else { - s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH; + s->time->h = timelib_get_nr((char **) &ptr, 2) - 1; + s->time->i = 45; + } + if (*ptr != '\0' ) { + timelib_eat_spaces((char **) &ptr); + s->time->h += timelib_meridian((char **) &ptr, s->time->h); } TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 19882 "ext/date/lib/parse_date.c" -yy1317: - YYDEBUG(1317, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy1307; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 's') goto yy1318; - if (yych <= 'z') goto yy146; - goto yy3; - } - } - } -yy1318: - YYDEBUG(1318, *YYCURSOR); - yyaccept = 0; +#line 30832 "" +yy1098: + yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1308; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 't') goto yy1319; - if (yych <= 'z') goto yy150; - goto yy3; - } - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy1099; + default: goto yy1100; } -yy1319: - YYDEBUG(1319, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy1104; - if (yych <= 0x1F) goto yy3; - goto yy1309; - } else { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } - } else { - if (yych <= 'Z') { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1099: + yyaccept = 30; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; +yy1100: + switch (yych) { + case '\t': + case ' ': goto yy1099; + case 'A': + case 'P': + case 'a': + case 'p': goto yy1155; + default: goto yy1097; } -yy1320: - YYDEBUG(1320, *YYCURSOR); +yy1101: yych = *++YYCURSOR; - if (yych <= 'B') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'A') goto yy141; - goto yy1356; - } - } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'b') goto yy1356; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'K': + case 'k': goto yy1156; + default: goto yy56; } -yy1321: - YYDEBUG(1321, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == 'F') goto yy1346; - if (yych <= 'Q') goto yy141; - goto yy1345; - } - } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - if (yych <= 'e') goto yy141; - goto yy1346; - } else { - if (yych == 'r') goto yy1345; - if (yych <= 'z') goto yy141; - goto yy3; - } +yy1102: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; +yy1103: + switch (yych) { + case '\t': + case ' ': goto yy1102; + case '(': goto yy1104; + case '+': + case '-': goto yy1105; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy1106; + case 'G': goto yy1107; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1108; + default: goto yy56; } -yy1322: - YYDEBUG(1322, *YYCURSOR); +yy1104: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'T') goto yy141; - goto yy1342; - } - } else { - if (yych <= 't') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'u') goto yy1342; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1108; + default: goto yy56; } -yy1323: - YYDEBUG(1323, *YYCURSOR); +yy1105: yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == 'I') goto yy1325; - if (yych <= 'N') goto yy141; - } - } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - if (yych <= 'h') goto yy141; - goto yy1325; - } else { - if (yych == 'o') goto yy1324; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case '0': + case '1': goto yy1157; + case '2': goto yy1158; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1159; + default: goto yy56; } -yy1324: - YYDEBUG(1324, *YYCURSOR); +yy1106: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy142; - goto yy1328; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'n') goto yy1328; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case ')': goto yy941; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy1160; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1161; + default: goto yy673; } -yy1325: - YYDEBUG(1325, *YYCURSOR); +yy1107: yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy166; - goto yy139; - } else { - if (yych <= '@') goto yy166; - if (yych <= 'C') goto yy142; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy166; - goto yy142; - } else { - if (yych <= 'd') goto yy1326; - if (yych <= 'z') goto yy142; - goto yy166; - } + switch (yych) { + case ')': goto yy941; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy1160; + case 'M': goto yy1162; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1161; + default: goto yy673; } -yy1326: - YYDEBUG(1326, *YYCURSOR); +yy1108: yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy143; - goto yy3; - } else { - if (yych <= 'a') goto yy1327; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case ')': goto yy941; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1160; + default: goto yy673; } -yy1327: - YYDEBUG(1327, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'X') goto yy144; - goto yy1235; - } - } else { - if (yych <= 'x') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'y') goto yy1235; - if (yych <= 'z') goto yy144; - goto yy3; - } +yy1109: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; +yy1110: + switch (yych) { + case '\t': + case ' ': goto yy1109; + case '(': goto yy1104; + case '+': + case '-': goto yy1105; + case 'A': + case 'P': goto yy1111; + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy1106; + case 'G': goto yy1107; + case 'a': + case 'p': goto yy1112; + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1108; + default: goto yy56; } -yy1328: - YYDEBUG(1328, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy143; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 't') goto yy1329; - if (yych <= 'z') goto yy143; - goto yy3; - } +yy1111: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy941; + case '.': goto yy1043; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy1160; + case 'M': goto yy1163; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1161; + case 'm': goto yy1164; + default: goto yy673; } -yy1329: - YYDEBUG(1329, *YYCURSOR); - yyaccept = 0; +yy1112: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych == ' ') goto yy1330; - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy3; - goto yy144; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case ')': goto yy941; + case '.': goto yy1043; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1160; + case 'M': + case 'm': goto yy1163; + default: goto yy673; } -yy1330: - YYDEBUG(1330, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy1331; - if (yych != 'o') goto yy56; -yy1331: - YYDEBUG(1331, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy1332; - if (yych != 'f') goto yy56; -yy1332: - YYDEBUG(1332, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != ' ') goto yy56; - YYDEBUG(1333, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1334; - if (yych <= '2') goto yy1335; - if (yych <= '9') goto yy1336; - goto yy56; -yy1334: - YYDEBUG(1334, *YYCURSOR); - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1337; - if (yych <= '9') goto yy1336; - goto yy1337; -yy1335: - YYDEBUG(1335, *YYCURSOR); - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1337; - if (yych >= '5') goto yy1337; -yy1336: - YYDEBUG(1336, *YYCURSOR); - yyaccept = 28; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; -yy1337: - YYDEBUG(1337, *YYCURSOR); - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1336; - goto yy1294; - } else { - if (yych <= ' ') goto yy1336; - if (yych <= '@') goto yy1294; - } - } else { - if (yych <= '`') { - if (yych != 'P') goto yy1294; - } else { - if (yych <= 'a') goto yy1338; - if (yych != 'p') goto yy1294; +yy1113: + ++YYCURSOR; +#line 1640 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->m = timelib_get_month((char **) &ptr); + s->time->d = timelib_get_nr((char **) &ptr, 2); + + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->s = timelib_get_nr((char **) &ptr, 2); + + if (*ptr == '.') { + s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + } } + + s->time->h += timelib_meridian((char **) &ptr, s->time->h); + TIMELIB_DEINIT; + return TIMELIB_SHORTDATE_WITH_TIME; } -yy1338: - YYDEBUG(1338, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy56; - } else { - if (yych <= 'M') goto yy1340; - if (yych == 'm') goto yy1340; - goto yy56; - } - YYDEBUG(1339, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy1340; - if (yych != 'm') goto yy56; -yy1340: - YYDEBUG(1340, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1302; - if (yych == '\t') goto yy1302; - goto yy56; - } else { - if (yych <= ' ') goto yy1302; - if (yych != '.') goto yy56; - } - YYDEBUG(1341, *YYCURSOR); +#line 31387 "" +yy1115: yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy1302; - if (yych <= 0x08) goto yy56; - goto yy1302; - } else { - if (yych == ' ') goto yy1302; - goto yy56; + switch (yych) { + case 0x00: + case '\t': + case ' ': goto yy1113; + default: goto yy56; } -yy1342: - YYDEBUG(1342, *YYCURSOR); +yy1116: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'Q') goto yy142; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'r') goto yy1343; - if (yych <= 'z') goto yy142; - goto yy3; - } - } -yy1343: - YYDEBUG(1343, *YYCURSOR); + goto yy1046; +yy1117: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy143; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 't') goto yy1344; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case 'H': + case 'h': goto yy1165; + case 'N': + case 'n': goto yy1166; + default: goto yy56; } -yy1344: - YYDEBUG(1344, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'G') goto yy144; - goto yy1215; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'h') goto yy1215; - if (yych <= 'z') goto yy144; - goto yy3; - } +yy1118: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy1118; + case 'O': + case 'o': goto yy1167; + default: goto yy56; } -yy1345: - YYDEBUG(1345, *YYCURSOR); +yy1120: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'R') goto yy142; - goto yy1348; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 's') goto yy1348; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case 'A': + case 'a': goto yy1168; + default: goto yy56; } -yy1346: - YYDEBUG(1346, *YYCURSOR); +yy1121: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy142; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 't') goto yy1347; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case 'T': + case 't': goto yy1169; + default: goto yy56; } -yy1347: - YYDEBUG(1347, *YYCURSOR); +yy1122: yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'G') goto yy143; - goto yy1238; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'h') goto yy1238; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case 'H': + case 'h': goto yy1045; + default: goto yy56; } -yy1348: - YYDEBUG(1348, *YYCURSOR); +yy1123: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy143; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 't') goto yy1349; - if (yych <= 'z') goto yy143; - goto yy3; - } - } -yy1349: - YYDEBUG(1349, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy3; - goto yy1206; - } else { - if (yych != ' ') goto yy3; - } - } else { - if (yych <= 'Z') { - if (yych <= ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy144; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case 'R': + case 'r': goto yy1126; + default: goto yy56; } -yy1350: - YYDEBUG(1350, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy1351; - if (yych != 'd') goto yy1207; -yy1351: - YYDEBUG(1351, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy1352; - if (yych != 'a') goto yy56; -yy1352: - YYDEBUG(1352, *YYCURSOR); +yy1124: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1353; - if (yych != 'y') goto yy56; -yy1353: - YYDEBUG(1353, *YYCURSOR); - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych != ' ') goto yy1117; - } else { - if (yych <= 'S') goto yy1142; - if (yych == 's') goto yy1142; - goto yy1117; - } - YYDEBUG(1354, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy1355; - if (yych != 'o') goto yy56; -yy1355: - YYDEBUG(1355, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy1315; - if (yych == 'f') goto yy1315; - goto yy56; -yy1356: - YYDEBUG(1356, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy193; - } else { - if (yych <= '-') goto yy196; - if (yych <= '.') goto yy195; - goto yy193; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych != 'R') goto yy142; - } - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy193; - goto yy142; - } else { - if (yych <= 'r') goto yy1357; - if (yych <= 'z') goto yy142; - goto yy193; - } - } + switch (yych) { + case 'N': + case 'n': goto yy1170; + default: goto yy56; } -yy1357: - YYDEBUG(1357, *YYCURSOR); +yy1125: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'T') goto yy143; - } - } else { - if (yych <= 't') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'u') goto yy1358; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case 'S': + case 's': goto yy1126; + default: goto yy56; } -yy1358: - YYDEBUG(1358, *YYCURSOR); +yy1126: yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy144; - goto yy3; - } else { - if (yych <= 'a') goto yy1359; - if (yych <= 'z') goto yy144; - goto yy3; - } - } -yy1359: - YYDEBUG(1359, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'R') goto yy1360; - if (yych != 'r') goto yy3; + switch (yych) { + case 'D': + case 'd': goto yy1120; + default: goto yy56; } -yy1360: - YYDEBUG(1360, *YYCURSOR); +yy1127: yych = *++YYCURSOR; - if (yych == 'Y') goto yy205; - if (yych == 'y') goto yy205; - goto yy56; -yy1361: - YYDEBUG(1361, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'B') goto yy1356; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'b') goto yy1379; - if (yych <= 'z') goto yy146; - goto yy3; - } - } - } -yy1362: - YYDEBUG(1362, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych == '-') goto yy147; - goto yy3; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy147; - goto yy3; - } else { - if (yych == 'F') goto yy1346; - goto yy141; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'R') goto yy1345; - goto yy141; - } else { - if (yych == '_') goto yy147; - goto yy3; - } - } else { - if (yych <= 'q') { - if (yych == 'f') goto yy1375; - goto yy146; - } else { - if (yych <= 'r') goto yy1374; - if (yych <= 'z') goto yy146; - goto yy3; - } - } - } -yy1363: - YYDEBUG(1363, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'U') goto yy1342; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 't') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'u') goto yy1371; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case 'E': + case 'e': goto yy1125; + default: goto yy56; } -yy1364: - YYDEBUG(1364, *YYCURSOR); - yyaccept = 0; +yy1128: + yyaccept = 31; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych == '-') goto yy147; - goto yy3; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy147; - goto yy3; - } else { - if (yych == 'I') goto yy1325; - goto yy141; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'O') goto yy1324; - goto yy141; - } else { - if (yych == '_') goto yy147; - goto yy3; - } - } else { - if (yych <= 'n') { - if (yych == 'i') goto yy1366; - goto yy146; - } else { - if (yych <= 'o') goto yy1365; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case 'D': + case 'd': goto yy837; + case 'S': + case 's': goto yy1116; + default: goto yy1129; } -yy1365: - YYDEBUG(1365, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1328; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'n') goto yy1369; - if (yych <= 'z') goto yy150; - goto yy3; +yy1129: +#line 1575 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; + DEBUG_OUTPUT("relativetextweek"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + + while(*ptr) { + i = timelib_get_relative_text((char **) &ptr, &behavior); + timelib_eat_spaces((char **) &ptr); + timelib_set_relative((char **) &ptr, i, behavior, s); + s->time->relative.weekday_behavior = 2; + + /* to handle the format weekday + last/this/next week */ + if (s->time->relative.have_weekday_relative == 0) { + TIMELIB_HAVE_WEEKDAY_RELATIVE(); + s->time->relative.weekday = 1; } } + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; } -yy1366: - YYDEBUG(1366, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy166; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy166; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1326; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy166; - goto yy147; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy166; - goto yy150; - } else { - if (yych <= 'd') goto yy1367; - if (yych <= 'z') goto yy150; - goto yy166; - } - } +#line 31509 "" +yy1130: + yych = *++YYCURSOR; + switch (yych) { + case 'O': + case 'o': goto yy1171; + default: goto yy56; } -yy1367: - YYDEBUG(1367, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1327; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1368; - if (yych <= 'z') goto yy151; - goto yy3; - } +yy1131: + ++YYCURSOR; +yy1132: +#line 951 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("yesterday"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_UNHAVE_TIME(); + + s->time->relative.d = -1; + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; } -yy1368: - YYDEBUG(1368, *YYCURSOR); - yyaccept = 0; +#line 31531 "" +yy1133: + yyaccept = 32; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'Y') goto yy1235; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'x') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'y') goto yy1264; - if (yych <= 'z') goto yy152; - goto yy3; - } - } + switch (yych) { + case '-': + case '/': + case '_': goto yy276; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy924; + default: goto yy1132; } -yy1369: - YYDEBUG(1369, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1329; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 't') goto yy1370; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1134: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1142; + default: goto yy56; } -yy1370: - YYDEBUG(1370, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= '(') { - if (yych == ' ') goto yy1330; - goto yy3; - } else { - if (yych <= ')') goto yy139; - if (yych == '-') goto yy147; - goto yy3; - } - } else { - if (yych <= '^') { - if (yych <= '/') goto yy147; - if (yych <= '@') goto yy3; - if (yych <= 'Z') goto yy144; - goto yy3; - } else { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy152; - goto yy3; - } +yy1135: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': goto yy1142; + default: goto yy56; } -yy1371: - YYDEBUG(1371, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy1343; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'r') goto yy1372; - if (yych <= 'z') goto yy150; - goto yy3; - } - } +yy1136: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy1172; + default: goto yy56; } -yy1372: - YYDEBUG(1372, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1344; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 't') goto yy1373; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1137: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1139; + case ':': goto yy1173; + default: goto yy56; } -yy1373: - YYDEBUG(1373, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy1215; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'h') goto yy1227; - if (yych <= 'z') goto yy152; - goto yy3; - } - } +yy1138: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy1139; + case ':': goto yy1173; + default: goto yy56; } -yy1374: - YYDEBUG(1374, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy1348; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 's') goto yy1377; - if (yych <= 'z') goto yy150; - goto yy3; - } - } +yy1139: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy1173; + default: goto yy56; } -yy1375: - YYDEBUG(1375, *YYCURSOR); - yyaccept = 0; +yy1140: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1347; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 't') goto yy1376; - if (yych <= 'z') goto yy150; - goto yy3; - } - } + switch (yych) { + case 'T': goto yy1070; + default: goto yy544; } -yy1376: - YYDEBUG(1376, *YYCURSOR); - yyaccept = 0; +yy1141: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy1238; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'h') goto yy1267; - if (yych <= 'z') goto yy151; - goto yy3; - } - } + switch (yych) { + case 'T': goto yy1174; + case 'n': + case 'r': goto yy1071; + case 's': goto yy1072; + case 't': goto yy1073; + default: goto yy1011; } -yy1377: - YYDEBUG(1377, *YYCURSOR); - yyaccept = 0; +yy1142: + yych = *++YYCURSOR; + goto yy1011; +yy1143: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1349; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 't') goto yy1378; - if (yych <= 'z') goto yy151; - goto yy3; - } - } + switch (yych) { + case '/': goto yy1142; + case 'n': + case 'r': goto yy1076; + case 's': goto yy1077; + case 't': goto yy1078; + default: goto yy1011; + } +yy1144: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1175; + case '6': + case '7': + case '8': + case '9': goto yy1146; + case ':': goto yy1176; + default: goto yy56; + } +yy1145: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy1175; + case '5': goto yy1177; + case ':': goto yy1176; + default: goto yy56; } -yy1378: - YYDEBUG(1378, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy1206; - if (yych <= 0x1F) goto yy3; - goto yy1350; - } else { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } - } else { - if (yych <= 'Z') { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy152; - goto yy3; - } - } +yy1146: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1177; + case ':': goto yy1176; + default: goto yy56; } -yy1379: - YYDEBUG(1379, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy371; - } else { - if (yych == '/') goto yy147; - goto yy195; - } - } - } else { - if (yych <= '^') { - if (yych <= 'Q') { - if (yych <= '@') goto yy193; - goto yy142; - } else { - if (yych <= 'R') goto yy1357; - if (yych <= 'Z') goto yy142; - goto yy193; - } - } else { - if (yych <= 'q') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy193; - goto yy150; - } else { - if (yych <= 'r') goto yy1380; - if (yych <= 'z') goto yy150; - goto yy193; - } - } +yy1147: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1178; + case '6': + case '7': + case '8': + case '9': goto yy1149; + default: goto yy56; } -yy1380: - YYDEBUG(1380, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'U') goto yy1358; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 't') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'u') goto yy1381; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1148: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy1178; + case '5': goto yy1177; + default: goto yy56; } -yy1381: - YYDEBUG(1381, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1359; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1382; - if (yych <= 'z') goto yy152; - goto yy3; - } +yy1149: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1177; + default: goto yy56; } -yy1382: - YYDEBUG(1382, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'R') goto yy1360; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'r') goto yy1383; - if (yych <= 'z') goto yy153; - goto yy3; - } +yy1150: + yych = *++YYCURSOR; + switch (yych) { + case ' ': goto yy1179; + default: goto yy56; } -yy1383: - YYDEBUG(1383, *YYCURSOR); +yy1151: yych = *++YYCURSOR; - if (yych == 'Y') goto yy205; - if (yych == 'y') goto yy376; - goto yy154; -yy1384: - YYDEBUG(1384, *YYCURSOR); + switch (yych) { + case 'Y': + case 'y': goto yy767; + default: goto yy56; + } +yy1152: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; -yy1385: - YYDEBUG(1385, *YYCURSOR); - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(1386, *YYCURSOR); - if (yych <= '/') goto yy1387; - if (yych <= '9') goto yy1385; -yy1387: - YYDEBUG(1387, *YYCURSOR); -#line 1006 "ext/date/lib/parse_date.re" - { - timelib_ull i; - - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_UNHAVE_DATE(); - TIMELIB_UNHAVE_TIME(); - TIMELIB_HAVE_TZ(); - - i = timelib_get_unsigned_nr((char **) &ptr, 24); - s->time->y = 1970; - s->time->m = 1; - s->time->d = 1; - s->time->h = s->time->i = s->time->s = 0; - s->time->f = 0.0; - s->time->relative.s += i; - s->time->is_localtime = 1; - s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; - s->time->z = 0; - s->time->dst = 0; - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; + switch (yych) { + case 'R': + case 'r': goto yy767; + default: goto yy56; } -#line 21338 "ext/date/lib/parse_date.c" -yy1388: - YYDEBUG(1388, *YYCURSOR); +yy1153: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy141; - goto yy1429; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'n') goto yy1429; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case '.': goto yy1180; + case 'M': + case 'm': goto yy1181; + default: goto yy56; } -yy1389: - YYDEBUG(1389, *YYCURSOR); +yy1154: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == 'I') goto yy1421; - if (yych <= 'T') goto yy141; - goto yy1422; - } - } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - if (yych <= 'h') goto yy141; - goto yy1421; - } else { - if (yych == 'u') goto yy1422; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1182; + default: goto yy1035; } -yy1390: - YYDEBUG(1390, *YYCURSOR); +yy1155: yych = *++YYCURSOR; - if (yych <= 'M') { - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == 'D') goto yy1410; - if (yych <= 'L') goto yy141; - goto yy1411; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - if (yych <= 'c') goto yy141; - goto yy1410; - } else { - if (yych == 'm') goto yy1411; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case '.': goto yy1183; + case 'M': + case 'm': goto yy1184; + default: goto yy56; } -yy1391: - YYDEBUG(1391, *YYCURSOR); +yy1156: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy141; - goto yy1406; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'e') goto yy1406; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'D': + case 'd': goto yy837; + case 'S': + case 's': goto yy1116; + default: goto yy56; } -yy1392: - YYDEBUG(1392, *YYCURSOR); +yy1157: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy141; - goto yy1402; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'e') goto yy1402; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1159; + case ':': goto yy1185; + default: goto yy673; } -yy1393: - YYDEBUG(1393, *YYCURSOR); +yy1158: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy1064; - goto yy56; - } else { - if (yych <= '9') goto yy1396; - if (yych <= ':') goto yy1064; - goto yy56; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy1159; + case '5': goto yy1186; + case '6': + case '7': + case '8': + case '9': goto yy941; + case ':': goto yy1185; + default: goto yy673; } -yy1394: - YYDEBUG(1394, *YYCURSOR); +yy1159: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy1064; - goto yy56; - } else { - if (yych <= '4') goto yy1396; - if (yych == ':') goto yy1064; - goto yy56; - } -yy1395: - YYDEBUG(1395, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '.') goto yy1064; - if (yych == ':') goto yy1064; - goto yy56; -yy1396: - YYDEBUG(1396, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy1064; - goto yy56; - } else { - if (yych <= '5') goto yy1397; - if (yych == ':') goto yy1064; - goto yy56; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1186; + case '6': + case '7': + case '8': + case '9': goto yy941; + case ':': goto yy1185; + default: goto yy673; } -yy1397: - YYDEBUG(1397, *YYCURSOR); +yy1160: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - YYDEBUG(1398, *YYCURSOR); - yyaccept = 24; + switch (yych) { + case ')': goto yy941; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1187; + default: goto yy673; + } +yy1161: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1067; - if (yych <= '5') goto yy1399; - if (yych <= '6') goto yy1400; - goto yy1067; -yy1399: - YYDEBUG(1399, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1401; - goto yy56; -yy1400: - YYDEBUG(1400, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '0') goto yy56; -yy1401: - YYDEBUG(1401, *YYCURSOR); - yych = *++YYCURSOR; - goto yy1075; -yy1402: - YYDEBUG(1402, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'K') goto yy142; - } - } else { - if (yych <= 'k') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'l') goto yy1403; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case ')': goto yy941; + case '-': + case '/': + case '_': goto yy1188; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy1187; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1189; + default: goto yy673; } -yy1403: - YYDEBUG(1403, *YYCURSOR); +yy1162: yych = *++YYCURSOR; - if (yych <= 'F') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'E') goto yy143; - } - } else { - if (yych <= 'e') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'f') goto yy1404; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case ')': goto yy941; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1187; + case 'T': goto yy1190; + default: goto yy673; } -yy1404: - YYDEBUG(1404, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy144; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 't') goto yy1405; - if (yych <= 'z') goto yy144; - goto yy3; - } +yy1163: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case 0x00: + case '\t': + case ' ': goto yy1113; + case ')': goto yy941; + case '.': goto yy1115; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1187; + default: goto yy673; } -yy1405: - YYDEBUG(1405, *YYCURSOR); - yyaccept = 0; +yy1164: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'H') goto yy1205; - if (yych == 'h') goto yy1205; - goto yy3; + switch (yych) { + case 0x00: + case '\t': + case ' ': goto yy1113; + case ')': goto yy941; + case '-': + case '/': + case '_': goto yy1188; + case '.': goto yy1115; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy1187; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1189; + default: goto yy673; } -yy1406: - YYDEBUG(1406, *YYCURSOR); +yy1165: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy166; - goto yy139; - } else { - if (yych <= '@') goto yy166; - if (yych <= 'R') goto yy142; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy166; - goto yy142; - } else { - if (yych <= 's') goto yy1407; - if (yych <= 'z') goto yy142; - goto yy166; - } + switch (yych) { + case 'N': + case 'n': goto yy1166; + default: goto yy56; } -yy1407: - YYDEBUG(1407, *YYCURSOR); +yy1166: yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'C') goto yy143; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'd') goto yy1408; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case 'I': + case 'i': goto yy1191; + default: goto yy56; } -yy1408: - YYDEBUG(1408, *YYCURSOR); +yy1167: yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy144; - goto yy3; - } else { - if (yych <= 'a') goto yy1409; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case 'F': + case 'f': goto yy1192; + default: goto yy56; } -yy1409: - YYDEBUG(1409, *YYCURSOR); +yy1168: yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'Y') goto yy172; - if (yych == 'y') goto yy172; - goto yy3; + switch (yych) { + case 'Y': + case 'y': goto yy1194; + default: goto yy56; } -yy1410: - YYDEBUG(1410, *YYCURSOR); +yy1169: yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy1418; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy142; - goto yy3; - } else { - if (yych <= 'a') goto yy1418; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case 'E': + case 'e': goto yy1045; + default: goto yy56; } -yy1411: - YYDEBUG(1411, *YYCURSOR); +yy1170: yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'N') goto yy142; - } - } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'o') goto yy1412; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case 'D': + case 'd': goto yy1045; + default: goto yy56; } -yy1412: - YYDEBUG(1412, *YYCURSOR); +yy1171: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'Q') goto yy143; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'r') goto yy1413; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case 'F': + case 'f': goto yy1195; + default: goto yy56; } -yy1413: - YYDEBUG(1413, *YYCURSOR); +yy1172: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'Q') goto yy144; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'r') goto yy1414; - if (yych <= 'z') goto yy144; - goto yy3; - } - } -yy1414: - YYDEBUG(1414, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'O') goto yy1415; - if (yych != 'o') goto yy3; + switch (yych) { + case '0': + case '1': goto yy1197; + case '2': goto yy1198; + default: goto yy56; } -yy1415: - YYDEBUG(1415, *YYCURSOR); +yy1173: yych = *++YYCURSOR; - if (yych == 'W') goto yy1416; - if (yych != 'w') goto yy56; -yy1416: - YYDEBUG(1416, *YYCURSOR); - ++YYCURSOR; -yy1417: - YYDEBUG(1417, *YYCURSOR); -#line 994 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("tomorrow"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - - s->time->relative.d = 1; - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1199; + case '6': + case '7': + case '8': + case '9': goto yy1200; + default: goto yy56; } -#line 21785 "ext/date/lib/parse_date.c" -yy1418: - YYDEBUG(1418, *YYCURSOR); +yy1174: yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'X') goto yy143; - } - } else { - if (yych <= 'x') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'y') goto yy1419; - if (yych <= 'z') goto yy143; - goto yy3; - } - } -yy1419: - YYDEBUG(1419, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy139; - } else { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy1420; - if (yych <= 'z') goto yy144; - } -yy1420: - YYDEBUG(1420, *YYCURSOR); -#line 984 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("midnight | today"); - TIMELIB_INIT; - TIMELIB_UNHAVE_TIME(); - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; + switch (yych) { + case '0': + case '1': goto yy1201; + case '2': goto yy1202; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1139; + default: goto yy56; } -#line 21829 "ext/date/lib/parse_date.c" -yy1421: - YYDEBUG(1421, *YYCURSOR); +yy1175: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'Q') goto yy142; - if (yych <= 'R') goto yy1427; - goto yy1428; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'r') goto yy1427; - if (yych <= 's') goto yy1428; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1203; + case '6': + case '7': + case '8': + case '9': goto yy1204; + case ':': goto yy1176; + default: goto yy56; } -yy1422: - YYDEBUG(1422, *YYCURSOR); +yy1176: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy166; - goto yy139; - } else { - if (yych <= '@') goto yy166; - if (yych <= 'Q') goto yy142; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy166; - goto yy142; - } else { - if (yych <= 'r') goto yy1423; - if (yych <= 'z') goto yy142; - goto yy166; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1205; + default: goto yy56; } -yy1423: - YYDEBUG(1423, *YYCURSOR); +yy1177: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'R') goto yy143; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 's') goto yy1424; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1204; + default: goto yy56; } -yy1424: - YYDEBUG(1424, *YYCURSOR); +yy1178: yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'C') goto yy144; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'd') goto yy1425; - if (yych <= 'z') goto yy144; - goto yy3; - } - } -yy1425: - YYDEBUG(1425, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'A') goto yy1426; - if (yych != 'a') goto yy3; - } -yy1426: - YYDEBUG(1426, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy172; - if (yych == 'y') goto yy172; - goto yy56; -yy1427: - YYDEBUG(1427, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'C') goto yy143; - goto yy1238; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'd') goto yy1238; - if (yych <= 'z') goto yy143; - goto yy3; - } - } -yy1428: - YYDEBUG(1428, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy3; - goto yy1104; - } else { - if (yych == ' ') goto yy1104; - goto yy3; - } - } else { - if (yych <= 'Z') { - if (yych <= ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy143; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1203; + case '6': + case '7': + case '8': + case '9': goto yy1204; + default: goto yy56; } -yy1429: - YYDEBUG(1429, *YYCURSOR); +yy1179: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy142; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 't') goto yy1430; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case '0': + case '1': goto yy1206; + case '2': goto yy1207; + default: goto yy56; } -yy1430: - YYDEBUG(1430, *YYCURSOR); +yy1180: yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'G') goto yy143; - goto yy1238; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'h') goto yy1238; - if (yych <= 'z') goto yy143; - goto yy3; - } - } -yy1431: - YYDEBUG(1431, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1429; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'n') goto yy1461; - if (yych <= 'z') goto yy146; - goto yy3; - } - } + switch (yych) { + case 'M': + case 'm': goto yy1181; + default: goto yy56; } -yy1432: - YYDEBUG(1432, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych == '-') goto yy147; - goto yy3; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy147; - goto yy3; - } else { - if (yych == 'I') goto yy1421; - goto yy141; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'U') goto yy1422; - goto yy141; - } else { - if (yych == '_') goto yy147; - goto yy3; - } - } else { - if (yych <= 't') { - if (yych == 'i') goto yy1453; - goto yy146; - } else { - if (yych <= 'u') goto yy1454; - if (yych <= 'z') goto yy146; - goto yy3; - } - } +yy1181: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + case '\t': + case ' ': goto yy1208; + case '.': goto yy1210; + default: goto yy56; } -yy1433: - YYDEBUG(1433, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych == '-') goto yy147; - goto yy3; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy147; - goto yy3; - } else { - if (yych == 'D') goto yy1410; - goto yy141; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'M') goto yy1411; - goto yy141; - } else { - if (yych == '_') goto yy147; - goto yy3; - } - } else { - if (yych <= 'l') { - if (yych == 'd') goto yy1444; - goto yy146; - } else { - if (yych <= 'm') goto yy1445; - if (yych <= 'z') goto yy146; - goto yy3; - } - } +yy1182: + yych = *++YYCURSOR; + goto yy1035; +yy1183: + yych = *++YYCURSOR; + switch (yych) { + case 'M': + case 'm': goto yy1184; + default: goto yy56; } -yy1434: - YYDEBUG(1434, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1406; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'e') goto yy1440; - if (yych <= 'z') goto yy146; - goto yy3; - } - } +yy1184: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + case '\t': + case ' ': goto yy1211; + case '.': goto yy1212; + default: goto yy56; } -yy1435: - YYDEBUG(1435, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1402; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'e') goto yy1436; - if (yych <= 'z') goto yy146; - goto yy3; - } - } +yy1185: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1186; + case '6': + case '7': + case '8': + case '9': goto yy941; + default: goto yy673; } -yy1436: - YYDEBUG(1436, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'K') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'L') goto yy1403; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'k') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'l') goto yy1437; - if (yych <= 'z') goto yy150; - goto yy3; - } - } +yy1186: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy941; + default: goto yy673; } -yy1437: - YYDEBUG(1437, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'E') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'F') goto yy1404; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'e') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'f') goto yy1438; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1187: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy941; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1213; + default: goto yy673; } -yy1438: - YYDEBUG(1438, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1405; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 't') goto yy1439; - if (yych <= 'z') goto yy152; - goto yy3; - } - } +yy1188: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1214; + default: goto yy56; } -yy1439: - YYDEBUG(1439, *YYCURSOR); - yyaccept = 0; +yy1189: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'H') goto yy1205; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'h') goto yy1223; - if (yych <= 'z') goto yy153; - goto yy3; - } + switch (yych) { + case ')': goto yy941; + case '-': + case '/': + case '_': goto yy1188; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy1213; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1216; + default: goto yy673; } -yy1440: - YYDEBUG(1440, *YYCURSOR); - yyaccept = 4; +yy1190: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy166; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy166; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy1407; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy166; - goto yy147; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy166; - goto yy150; - } else { - if (yych <= 's') goto yy1441; - if (yych <= 'z') goto yy150; - goto yy166; - } - } + switch (yych) { + case ')': goto yy941; + case '+': + case '-': goto yy1105; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1213; + default: goto yy673; } -yy1441: - YYDEBUG(1441, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1408; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'd') goto yy1442; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1191: + yych = *++YYCURSOR; + switch (yych) { + case 'G': + case 'g': goto yy1217; + default: goto yy56; } -yy1442: - YYDEBUG(1442, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1409; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1443; - if (yych <= 'z') goto yy152; - goto yy3; +yy1192: + ++YYCURSOR; +#line 1072 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; + DEBUG_OUTPUT("weekdayof"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_HAVE_SPECIAL_RELATIVE(); + + i = timelib_get_relative_text((char **) &ptr, &behavior); + timelib_eat_spaces((char **) &ptr); + if (i > 0) { /* first, second... etc */ + s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH; + timelib_set_relative((char **) &ptr, i, 1, s); + } else { /* last */ + s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH; + timelib_set_relative((char **) &ptr, i, behavior, s); } + TIMELIB_DEINIT; + return TIMELIB_WEEK_DAY_OF_MONTH; } -yy1443: - YYDEBUG(1443, *YYCURSOR); - yyaccept = 0; +#line 32639 "" +yy1194: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'Y') goto yy172; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'y') goto yy185; - if (yych <= 'z') goto yy153; - goto yy3; - } + switch (yych) { + case '\t': + case ' ': goto yy1118; + default: goto yy1046; } -yy1444: - YYDEBUG(1444, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1418; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; +yy1195: + ++YYCURSOR; +#line 1032 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("firstdayof | lastdayof"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + + /* skip "last day of" or "first day of" */ + if (*ptr == 'l' || *ptr == 'L') { + s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH; } else { - if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1451; - if (yych <= 'z') goto yy150; - goto yy3; + s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH; } + + TIMELIB_DEINIT; + return TIMELIB_LF_DAY_OF_MONTH; } -yy1445: - YYDEBUG(1445, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'O') goto yy1412; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'n') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'o') goto yy1446; - if (yych <= 'z') goto yy150; - goto yy3; - } - } +#line 32666 "" +yy1197: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1218; + default: goto yy56; } -yy1446: - YYDEBUG(1446, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy1413; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'r') goto yy1447; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1198: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy1218; + default: goto yy56; } -yy1447: - YYDEBUG(1447, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy1414; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'r') goto yy1448; - if (yych <= 'z') goto yy152; - goto yy3; - } - } +yy1199: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1200; + case ':': goto yy1219; + default: goto yy56; } -yy1448: - YYDEBUG(1448, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'O') goto yy1415; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'o') goto yy1449; - if (yych <= 'z') goto yy153; - goto yy3; - } +yy1200: + yych = *++YYCURSOR; + switch (yych) { + case ':': goto yy1219; + default: goto yy56; } -yy1449: - YYDEBUG(1449, *YYCURSOR); +yy1201: yych = *++YYCURSOR; - if (yych == 'W') goto yy1416; - if (yych != 'w') goto yy154; - YYDEBUG(1450, *YYCURSOR); - yyaccept = 29; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy153; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1220; + case ':': goto yy1173; + default: goto yy56; } - if (yych <= '.') { - if (yych == '-') goto yy147; - goto yy1417; - } else { - if (yych <= '/') goto yy147; - if (yych == '_') goto yy147; - goto yy1417; +yy1202: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy1220; + case ':': goto yy1173; + default: goto yy56; } -yy1451: - YYDEBUG(1451, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'Y') goto yy1419; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'x') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'y') goto yy1452; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1203: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1219; + case '6': goto yy1221; + case '7': + case '8': + case '9': goto yy1204; + default: goto yy56; } -yy1452: - YYDEBUG(1452, *YYCURSOR); - yyaccept = 30; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy1420; - } else { - if (yych == '.') goto yy1420; - goto yy147; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy1420; - if (yych <= 'Z') goto yy144; - goto yy1420; - } else { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy1420; - if (yych <= 'z') goto yy152; - goto yy1420; - } +yy1204: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1222; + case '6': goto yy1223; + default: goto yy56; } -yy1453: - YYDEBUG(1453, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy3; - goto yy147; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'Q') goto yy142; - goto yy1427; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'S') goto yy1428; - goto yy142; - } else { - if (yych == '_') goto yy147; - goto yy3; - } - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy150; - goto yy1459; - } else { - if (yych <= 's') goto yy1460; - if (yych <= 'z') goto yy150; - goto yy3; - } - } +yy1205: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1224; + default: goto yy56; } -yy1454: - YYDEBUG(1454, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy166; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy166; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy1423; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy166; - goto yy147; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy166; - goto yy150; - } else { - if (yych <= 'r') goto yy1455; - if (yych <= 'z') goto yy150; - goto yy166; - } - } +yy1206: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1225; + default: goto yy56; } -yy1455: - YYDEBUG(1455, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy1424; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 's') goto yy1456; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1207: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy1225; + default: goto yy56; } -yy1456: - YYDEBUG(1456, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1425; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'd') goto yy1457; - if (yych <= 'z') goto yy152; - goto yy3; +yy1208: + ++YYCURSOR; +#line 1111 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("mssqltime"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->s = timelib_get_nr((char **) &ptr, 2); + + if (*ptr == ':' || *ptr == '.') { + s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } + timelib_eat_spaces((char **) &ptr); + s->time->h += timelib_meridian((char **) &ptr, s->time->h); + TIMELIB_DEINIT; + return TIMELIB_TIME24_WITH_ZONE; } -yy1457: - YYDEBUG(1457, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1426; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1458; - if (yych <= 'z') goto yy153; - goto yy3; - } +#line 32829 "" +yy1210: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + case '\t': + case ' ': goto yy1208; + default: goto yy56; } -yy1458: - YYDEBUG(1458, *YYCURSOR); +yy1211: yych = *++YYCURSOR; - if (yych == 'Y') goto yy172; - if (yych == 'y') goto yy185; - goto yy154; -yy1459: - YYDEBUG(1459, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1238; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'd') goto yy1267; - if (yych <= 'z') goto yy151; - goto yy3; - } - } + goto yy1097; +yy1212: + yych = *++YYCURSOR; + switch (yych) { + case 0x00: + case '\t': + case ' ': goto yy1211; + default: goto yy56; } -yy1460: - YYDEBUG(1460, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy1104; - if (yych <= 0x1F) goto yy3; - goto yy1104; - } else { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } - } else { - if (yych <= 'Z') { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1213: + yych = *++YYCURSOR; + switch (yych) { + case ')': goto yy941; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1226; + default: goto yy673; } -yy1461: - YYDEBUG(1461, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1430; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 't') goto yy1462; - if (yych <= 'z') goto yy150; - goto yy3; - } - } +yy1214: + yyaccept = 17; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '-': + case '/': + case '_': goto yy1188; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1214; + default: goto yy673; } -yy1462: - YYDEBUG(1462, *YYCURSOR); - yyaccept = 0; +yy1216: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy1238; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'h') goto yy1267; - if (yych <= 'z') goto yy151; - goto yy3; - } - } - } -yy1463: - YYDEBUG(1463, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= '@') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == 'R') goto yy1475; - if (yych <= 'X') goto yy141; - goto yy1476; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - if (yych <= 'q') goto yy141; - goto yy1475; - } else { - if (yych == 'y') goto yy1476; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case ')': goto yy941; + case '-': + case '/': + case '_': goto yy1188; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy1226; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1227; + default: goto yy673; } -yy1464: - YYDEBUG(1464, *YYCURSOR); +yy1217: yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'C') goto yy141; - goto yy1469; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'd') goto yy1469; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'H': + case 'h': goto yy1228; + default: goto yy56; } -yy1465: - YYDEBUG(1465, *YYCURSOR); +yy1218: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy141; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'n') goto yy1466; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case ':': goto yy1229; + default: goto yy56; } -yy1466: - YYDEBUG(1466, *YYCURSOR); +yy1219: yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy166; - goto yy139; - } else { - if (yych <= '@') goto yy166; - if (yych <= 'C') goto yy142; - } - } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy166; - goto yy142; - } else { - if (yych <= 'd') goto yy1467; - if (yych <= 'z') goto yy142; - goto yy166; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1230; + case '6': goto yy1232; + case '7': + case '8': + case '9': goto yy1233; + default: goto yy56; } -yy1467: - YYDEBUG(1467, *YYCURSOR); +yy1220: yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy143; - goto yy3; - } else { - if (yych <= 'a') goto yy1468; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case ':': goto yy1234; + default: goto yy56; } -yy1468: - YYDEBUG(1468, *YYCURSOR); +yy1221: yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'X') goto yy144; - goto yy1235; - } - } else { - if (yych <= 'x') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'y') goto yy1235; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case '0': goto yy1230; + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1222; + case '6': goto yy1223; + default: goto yy56; } -yy1469: - YYDEBUG(1469, *YYCURSOR); +yy1222: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy142; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'n') goto yy1470; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1233; + default: goto yy56; } -yy1470: - YYDEBUG(1470, *YYCURSOR); +yy1223: yych = *++YYCURSOR; - if (yych <= 'I') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'H') goto yy143; - } - } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'i') goto yy1471; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case '0': goto yy1233; + default: goto yy56; } -yy1471: - YYDEBUG(1471, *YYCURSOR); +yy1224: yych = *++YYCURSOR; - if (yych <= 'G') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'F') goto yy144; - } - } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'g') goto yy1472; - if (yych <= 'z') goto yy144; - goto yy3; - } - } -yy1472: - YYDEBUG(1472, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'H') goto yy1473; - if (yych != 'h') goto yy3; + switch (yych) { + case ':': goto yy1204; + default: goto yy56; } -yy1473: - YYDEBUG(1473, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1474; - if (yych != 't') goto yy56; -yy1474: - YYDEBUG(1474, *YYCURSOR); +yy1225: yych = *++YYCURSOR; - goto yy1420; -yy1475: - YYDEBUG(1475, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy193; - } else { - if (yych <= '-') goto yy196; - if (yych <= '.') goto yy195; - goto yy193; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych == 'C') goto yy1477; - goto yy142; - } - } else { - if (yych <= 'b') { - if (yych <= '`') goto yy193; - goto yy142; - } else { - if (yych <= 'c') goto yy1477; - if (yych <= 'z') goto yy142; - goto yy193; - } - } - } -yy1476: - YYDEBUG(1476, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy195; - if (yych <= 0x1F) goto yy193; - goto yy195; - } else { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy196; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy193; - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy193; - if (yych <= 'z') goto yy142; - goto yy193; - } + switch (yych) { + case ':': goto yy1176; + default: goto yy56; } -yy1477: - YYDEBUG(1477, *YYCURSOR); +yy1226: yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'G') goto yy143; - goto yy395; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'h') goto yy395; - if (yych <= 'z') goto yy143; - goto yy3; - } - } -yy1478: - YYDEBUG(1478, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych == '-') goto yy147; - goto yy3; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy147; - goto yy3; - } else { - if (yych == 'R') goto yy1475; - goto yy141; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'Y') goto yy1476; - goto yy141; - } else { - if (yych == '_') goto yy147; - goto yy3; - } - } else { - if (yych <= 'x') { - if (yych == 'r') goto yy1490; - goto yy146; - } else { - if (yych <= 'y') goto yy1491; - if (yych <= 'z') goto yy146; - goto yy3; - } - } - } -yy1479: - YYDEBUG(1479, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1469; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'd') goto yy1484; - if (yych <= 'z') goto yy146; - goto yy3; - } - } - } -yy1480: - YYDEBUG(1480, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1466; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'n') goto yy1481; - if (yych <= 'z') goto yy146; - goto yy3; - } - } - } -yy1481: - YYDEBUG(1481, *YYCURSOR); - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy166; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy166; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy1467; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy166; - goto yy147; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy166; - goto yy150; - } else { - if (yych <= 'd') goto yy1482; - if (yych <= 'z') goto yy150; - goto yy166; - } - } - } -yy1482: - YYDEBUG(1482, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '_') { - if (yych <= 'A') goto yy1468; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1483; - if (yych <= 'z') goto yy151; - goto yy3; - } - } -yy1483: - YYDEBUG(1483, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'Y') goto yy1235; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'x') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'y') goto yy1264; - if (yych <= 'z') goto yy152; - goto yy3; - } - } - } -yy1484: - YYDEBUG(1484, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1470; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'n') goto yy1485; - if (yych <= 'z') goto yy150; - goto yy3; - } - } - } -yy1485: - YYDEBUG(1485, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'H') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'I') goto yy1471; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'h') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'i') goto yy1486; - if (yych <= 'z') goto yy151; - goto yy3; - } - } - } -yy1486: - YYDEBUG(1486, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'F') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'G') goto yy1472; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'f') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'g') goto yy1487; - if (yych <= 'z') goto yy152; - goto yy3; - } - } + switch (yych) { + case ')': goto yy941; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1235; + default: goto yy673; } -yy1487: - YYDEBUG(1487, *YYCURSOR); - yyaccept = 0; +yy1227: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'H') goto yy1473; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'h') goto yy1488; - if (yych <= 'z') goto yy153; - goto yy3; - } + switch (yych) { + case ')': goto yy941; + case '-': + case '/': + case '_': goto yy1188; + case 'A': + case 'B': + case 'C': + case 'D': + case 'E': + case 'F': + case 'G': + case 'H': + case 'I': + case 'J': + case 'K': + case 'L': + case 'M': + case 'N': + case 'O': + case 'P': + case 'Q': + case 'R': + case 'S': + case 'T': + case 'U': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'Z': goto yy1235; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1236; + default: goto yy673; } -yy1488: - YYDEBUG(1488, *YYCURSOR); +yy1228: yych = *++YYCURSOR; - if (yych == 'T') goto yy1474; - if (yych != 't') goto yy154; - YYDEBUG(1489, *YYCURSOR); - yyaccept = 30; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy153; + switch (yych) { + case 'T': + case 't': goto yy1045; + default: goto yy56; } - if (yych <= '.') { - if (yych == '-') goto yy147; - goto yy1420; - } else { - if (yych <= '/') goto yy147; - if (yych == '_') goto yy147; - goto yy1420; +yy1229: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1237; + default: goto yy56; } -yy1490: - YYDEBUG(1490, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy371; - } else { - if (yych == '/') goto yy147; - goto yy195; - } - } - } else { - if (yych <= '^') { - if (yych <= 'B') { - if (yych <= '@') goto yy193; - goto yy142; - } else { - if (yych <= 'C') goto yy1477; - if (yych <= 'Z') goto yy142; - goto yy193; - } - } else { - if (yych <= 'b') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy193; - goto yy150; - } else { - if (yych <= 'c') goto yy1492; - if (yych <= 'z') goto yy150; - goto yy193; - } - } +yy1230: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1233; + default: goto yy1231; } -yy1491: - YYDEBUG(1491, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy195; - if (yych <= 0x1F) goto yy193; - goto yy195; - } else { - if (yych <= ')') { - if (yych <= '(') goto yy193; - goto yy139; - } else { - if (yych <= ',') goto yy193; - if (yych <= '-') goto yy371; - goto yy195; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '/') goto yy147; - if (yych <= '9') goto yy195; - if (yych <= '@') goto yy193; - goto yy142; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy193; - goto yy147; - } else { - if (yych <= '`') goto yy193; - if (yych <= 'z') goto yy150; - goto yy193; +yy1231: +#line 1400 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + TIMELIB_HAVE_DATE(); + s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->m = timelib_get_nr((char **) &ptr, 2); + s->time->d = timelib_get_nr((char **) &ptr, 2); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + s->time->s = timelib_get_nr((char **) &ptr, 2); + if (*ptr == '.') { + s->time->f = timelib_get_frac_nr((char **) &ptr, 9); + if (*ptr) { /* timezone is optional */ + s->time->z = timelib_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; } -yy1492: - YYDEBUG(1492, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy395; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'h') goto yy406; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +#line 33290 "" +yy1232: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy1233; + default: goto yy1231; } -yy1493: - YYDEBUG(1493, *YYCURSOR); +yy1233: yych = *++YYCURSOR; - if (yych <= 'W') { - if (yych <= 'N') { - if (yych == ')') goto yy139; - if (yych <= '@') goto yy3; - goto yy141; - } else { - if (yych <= 'O') goto yy1501; - if (yych <= 'U') goto yy141; - if (yych <= 'V') goto yy1502; - goto yy1499; - } - } else { - if (yych <= 'o') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - if (yych <= 'n') goto yy141; - goto yy1501; - } else { - if (yych <= 'v') { - if (yych <= 'u') goto yy141; - goto yy1502; - } else { - if (yych <= 'w') goto yy1499; - if (yych <= 'z') goto yy141; - goto yy3; - } - } + goto yy1231; +yy1234: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1238; + case '6': + case '7': + case '8': + case '9': goto yy1200; + default: goto yy56; } -yy1494: - YYDEBUG(1494, *YYCURSOR); +yy1235: yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'W') goto yy141; - goto yy1498; - } - } else { - if (yych <= 'w') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'x') goto yy1498; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case ')': goto yy941; + default: goto yy673; + } +yy1236: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case ')': goto yy941; + case '-': + case '/': + case '_': goto yy1188; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1239; + default: goto yy673; } -yy1495: - YYDEBUG(1495, *YYCURSOR); +yy1237: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy141; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 'n') goto yy1496; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1241; + default: goto yy56; } -yy1496: - YYDEBUG(1496, *YYCURSOR); +yy1238: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy142; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 't') goto yy1497; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1242; + case ':': goto yy1219; + default: goto yy56; + } +yy1239: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + switch (yych) { + case '-': + case '/': + case '_': goto yy1188; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + case 'g': + case 'h': + case 'i': + case 'j': + case 'k': + case 'l': + case 'm': + case 'n': + case 'o': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'u': + case 'v': + case 'w': + case 'x': + case 'y': + case 'z': goto yy1239; + default: goto yy56; } -yy1497: - YYDEBUG(1497, *YYCURSOR); +yy1241: yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'G') goto yy143; - goto yy1238; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'h') goto yy1238; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case ':': goto yy1243; + default: goto yy56; } -yy1498: - YYDEBUG(1498, *YYCURSOR); +yy1242: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy142; - goto yy1428; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 't') goto yy1428; - if (yych <= 'z') goto yy142; - goto yy3; - } - } -yy1499: - YYDEBUG(1499, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy139; - } else { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy1500; - if (yych <= 'z') goto yy142; - } -yy1500: - YYDEBUG(1500, *YYCURSOR); -#line 963 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("now"); - TIMELIB_INIT; - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; + switch (yych) { + case ':': goto yy1244; + default: goto yy56; } -#line 23849 "ext/date/lib/parse_date.c" -yy1501: - YYDEBUG(1501, *YYCURSOR); +yy1243: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy142; - goto yy1507; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 'n') goto yy1507; - if (yych <= 'z') goto yy142; - goto yy3; - } - } -yy1502: - YYDEBUG(1502, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy139; - goto yy193; - } else { - if (yych <= '-') goto yy196; - if (yych <= '.') goto yy195; - goto yy193; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy195; - goto yy193; - } else { - if (yych != 'E') goto yy142; - } - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy193; - goto yy142; - } else { - if (yych <= 'e') goto yy1503; - if (yych <= 'z') goto yy142; - goto yy193; - } - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1245; + case '6': goto yy1246; + default: goto yy56; } -yy1503: - YYDEBUG(1503, *YYCURSOR); +yy1244: yych = *++YYCURSOR; - if (yych <= 'M') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'L') goto yy143; - } - } else { - if (yych <= 'l') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'm') goto yy1504; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1247; + case '6': goto yy1248; + case '7': + case '8': + case '9': goto yy1233; + default: goto yy56; } -yy1504: - YYDEBUG(1504, *YYCURSOR); +yy1245: yych = *++YYCURSOR; - if (yych <= 'B') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'A') goto yy144; - } - } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'b') goto yy1505; - if (yych <= 'z') goto yy144; - goto yy3; - } - } -yy1505: - YYDEBUG(1505, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'E') goto yy1506; - if (yych != 'e') goto yy3; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1249; + default: goto yy56; } -yy1506: - YYDEBUG(1506, *YYCURSOR); +yy1246: yych = *++YYCURSOR; - if (yych == 'R') goto yy205; - if (yych == 'r') goto yy205; - goto yy56; -yy1507: - YYDEBUG(1507, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy139; - } else { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy1508; - if (yych <= 'z') goto yy143; - } -yy1508: - YYDEBUG(1508, *YYCURSOR); -#line 972 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("noon"); - TIMELIB_INIT; - TIMELIB_UNHAVE_TIME(); - TIMELIB_HAVE_TIME(); - s->time->h = 12; - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; + switch (yych) { + case '0': goto yy1249; + default: goto yy56; } -#line 23999 "ext/date/lib/parse_date.c" -yy1509: - YYDEBUG(1509, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych == '-') goto yy147; - goto yy3; - } - } else { - if (yych <= 'N') { - if (yych <= '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } else { - if (yych <= 'O') goto yy1501; - if (yych <= 'U') goto yy141; - goto yy1502; - } - } - } else { - if (yych <= 'n') { - if (yych <= '^') { - if (yych <= 'W') goto yy1499; - if (yych <= 'Z') goto yy141; - goto yy3; - } else { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy3; - goto yy146; - } - } else { - if (yych <= 'v') { - if (yych <= 'o') goto yy1516; - if (yych <= 'u') goto yy146; - goto yy1517; - } else { - if (yych <= 'w') goto yy1515; - if (yych <= 'z') goto yy146; - goto yy3; - } - } +yy1247: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1250; + default: goto yy1231; } -yy1510: - YYDEBUG(1510, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'W') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'X') goto yy1498; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'w') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'x') goto yy1514; - if (yych <= 'z') goto yy146; - goto yy3; - } - } +yy1248: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy1250; + default: goto yy1231; } -yy1511: - YYDEBUG(1511, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1496; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 'n') goto yy1512; - if (yych <= 'z') goto yy146; - goto yy3; - } - } +yy1249: + yych = *++YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy1251; + default: goto yy56; } -yy1512: - YYDEBUG(1512, *YYCURSOR); - yyaccept = 0; +yy1250: + yyaccept = 33; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1497; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 't') goto yy1513; - if (yych <= 'z') goto yy150; - goto yy3; - } - } + switch (yych) { + case '.': goto yy1253; + default: goto yy1231; } -yy1513: - YYDEBUG(1513, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'H') goto yy1238; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'g') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'h') goto yy1267; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1251: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; + switch (yych) { + case '\t': + case ' ': goto yy1251; + case '+': + case '-': goto yy1254; + case 'G': goto yy1255; + default: goto yy56; } -yy1514: - YYDEBUG(1514, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1428; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 't') goto yy1460; - if (yych <= 'z') goto yy150; - goto yy3; - } - } +yy1253: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1256; + default: goto yy56; } -yy1515: - YYDEBUG(1515, *YYCURSOR); - yyaccept = 31; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy1500; - } else { - if (yych == '.') goto yy1500; - goto yy147; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy1500; - if (yych <= 'Z') goto yy142; - goto yy1500; - } else { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy1500; - if (yych <= 'z') goto yy150; - goto yy1500; - } +yy1254: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': goto yy1258; + case '2': goto yy1260; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1261; + default: goto yy56; } -yy1516: - YYDEBUG(1516, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy1507; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 'n') goto yy1522; - if (yych <= 'z') goto yy150; - goto yy3; - } - } +yy1255: + yych = *++YYCURSOR; + switch (yych) { + case 'M': goto yy1262; + default: goto yy56; } -yy1517: - YYDEBUG(1517, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy193; - goto yy195; - } else { - if (yych == ' ') goto yy195; - goto yy193; - } - } else { - if (yych <= '-') { - if (yych <= ')') goto yy139; - if (yych <= ',') goto yy193; - goto yy371; - } else { - if (yych == '/') goto yy147; - goto yy195; - } - } - } else { - if (yych <= '^') { - if (yych <= 'D') { - if (yych <= '@') goto yy193; - goto yy142; - } else { - if (yych <= 'E') goto yy1503; - if (yych <= 'Z') goto yy142; - goto yy193; - } - } else { - if (yych <= 'd') { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy193; - goto yy150; - } else { - if (yych <= 'e') goto yy1518; - if (yych <= 'z') goto yy150; - goto yy193; - } - } +yy1256: + yyaccept = 33; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; + switch (yych) { + case '+': + case '-': goto yy1263; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1256; + case 'G': goto yy1264; + default: goto yy1231; } -yy1518: - YYDEBUG(1518, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'M') goto yy1504; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'l') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'm') goto yy1519; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1258: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1261; + case ':': goto yy1265; + default: goto yy1259; } -yy1519: - YYDEBUG(1519, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'B') goto yy1505; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'b') goto yy1520; - if (yych <= 'z') goto yy152; - goto yy3; - } +yy1259: +#line 1506 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("clf"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + TIMELIB_HAVE_DATE(); + s->time->d = timelib_get_nr((char **) &ptr, 2); + s->time->m = timelib_get_month((char **) &ptr); + s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + s->time->s = timelib_get_nr((char **) &ptr, 2); + s->time->z = timelib_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; } -yy1520: - YYDEBUG(1520, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'E') goto yy1506; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'e') goto yy1521; - if (yych <= 'z') goto yy153; - goto yy3; - } +#line 33625 "" +yy1260: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy1261; + case '5': goto yy1266; + case '6': + case '7': + case '8': + case '9': goto yy1267; + case ':': goto yy1265; + default: goto yy1259; } -yy1521: - YYDEBUG(1521, *YYCURSOR); +yy1261: yych = *++YYCURSOR; - if (yych == 'R') goto yy205; - if (yych == 'r') goto yy376; - goto yy154; -yy1522: - YYDEBUG(1522, *YYCURSOR); - yyaccept = 32; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy1508; - } else { - if (yych == '.') goto yy1508; - goto yy147; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy1508; - if (yych <= 'Z') goto yy143; - goto yy1508; - } else { - if (yych <= '_') goto yy147; - if (yych <= '`') goto yy1508; - if (yych <= 'z') goto yy151; - goto yy1508; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1266; + case '6': + case '7': + case '8': + case '9': goto yy1267; + case ':': goto yy1265; + default: goto yy1259; } -yy1523: - YYDEBUG(1523, *YYCURSOR); +yy1262: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'R') goto yy141; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy3; - goto yy141; - } else { - if (yych <= 's') goto yy1524; - if (yych <= 'z') goto yy141; - goto yy3; - } + switch (yych) { + case 'T': goto yy1268; + default: goto yy56; } -yy1524: - YYDEBUG(1524, *YYCURSOR); +yy1263: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy142; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy3; - goto yy142; - } else { - if (yych <= 't') goto yy1525; - if (yych <= 'z') goto yy142; - goto yy3; - } + switch (yych) { + case '0': + case '1': goto yy1269; + case '2': goto yy1270; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1271; + default: goto yy56; } -yy1525: - YYDEBUG(1525, *YYCURSOR); +yy1264: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy143; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy3; - goto yy143; - } else { - if (yych <= 'e') goto yy1526; - if (yych <= 'z') goto yy143; - goto yy3; - } + switch (yych) { + case 'M': goto yy1272; + default: goto yy56; } -yy1526: - YYDEBUG(1526, *YYCURSOR); +yy1265: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy3; - goto yy139; - } else { - if (yych <= '@') goto yy3; - if (yych <= 'Q') goto yy144; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy3; - goto yy144; - } else { - if (yych <= 'r') goto yy1527; - if (yych <= 'z') goto yy144; - goto yy3; - } + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1266; + case '6': + case '7': + case '8': + case '9': goto yy1267; + default: goto yy1259; } -yy1527: - YYDEBUG(1527, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych <= 'D') goto yy1528; - if (yych != 'd') goto yy3; +yy1266: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1267; + default: goto yy1259; } -yy1528: - YYDEBUG(1528, *YYCURSOR); +yy1267: yych = *++YYCURSOR; - if (yych == 'A') goto yy1529; - if (yych != 'a') goto yy56; -yy1529: - YYDEBUG(1529, *YYCURSOR); + goto yy1259; +yy1268: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1530; - if (yych != 'y') goto yy56; -yy1530: - YYDEBUG(1530, *YYCURSOR); - ++YYCURSOR; -yy1531: - YYDEBUG(1531, *YYCURSOR); -#line 951 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("yesterday"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - - s->time->relative.d = -1; - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 24543 "ext/date/lib/parse_date.c" -yy1532: - YYDEBUG(1532, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy141; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy1524; - if (yych <= 'Z') goto yy141; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy3; - goto yy146; - } else { - if (yych <= 's') goto yy1533; - if (yych <= 'z') goto yy146; - goto yy3; - } - } - } -yy1533: - YYDEBUG(1533, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy142; - } - } else { - if (yych <= '_') { - if (yych <= 'T') goto yy1525; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 's') { - if (yych <= '`') goto yy3; - goto yy150; - } else { - if (yych <= 't') goto yy1534; - if (yych <= 'z') goto yy150; - goto yy3; - } - } + switch (yych) { + case '+': + case '-': goto yy1254; + default: goto yy56; } -yy1534: - YYDEBUG(1534, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy143; - } - } else { - if (yych <= '_') { - if (yych <= 'E') goto yy1526; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy3; - goto yy151; - } else { - if (yych <= 'e') goto yy1535; - if (yych <= 'z') goto yy151; - goto yy3; - } - } +yy1269: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1271; + case ':': goto yy1273; + default: goto yy1231; } -yy1535: - YYDEBUG(1535, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy139; - if (yych <= ',') goto yy3; - goto yy147; - } else { - if (yych == '/') goto yy147; - if (yych <= '@') goto yy3; - goto yy144; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy1527; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy3; - goto yy147; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy3; - goto yy152; - } else { - if (yych <= 'r') goto yy1536; - if (yych <= 'z') goto yy152; - goto yy3; - } - } +yy1270: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': goto yy1271; + case '5': goto yy1230; + case '6': + case '7': + case '8': + case '9': goto yy1233; + case ':': goto yy1273; + default: goto yy1231; } -yy1536: - YYDEBUG(1536, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= ',') { - if (yych == ')') goto yy139; - goto yy3; - } else { - if (yych == '.') goto yy3; - if (yych <= '/') goto yy147; - goto yy3; - } - } else { - if (yych <= '`') { - if (yych <= 'D') goto yy1528; - if (yych == '_') goto yy147; - goto yy3; - } else { - if (yych == 'd') goto yy1537; - if (yych <= 'z') goto yy153; - goto yy3; - } +yy1271: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1230; + case '6': + case '7': + case '8': + case '9': goto yy1233; + case ':': goto yy1273; + default: goto yy1231; } -yy1537: - YYDEBUG(1537, *YYCURSOR); +yy1272: yych = *++YYCURSOR; - if (yych == 'A') goto yy1529; - if (yych != 'a') goto yy154; - YYDEBUG(1538, *YYCURSOR); + switch (yych) { + case 'T': goto yy1274; + default: goto yy56; + } +yy1273: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1530; - if (yych != 'y') goto yy154; - YYDEBUG(1539, *YYCURSOR); - yyaccept = 33; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy153; + switch (yych) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': goto yy1230; + case '6': + case '7': + case '8': + case '9': goto yy1233; + default: goto yy1231; } - if (yych <= '.') { - if (yych == '-') goto yy147; - goto yy1531; - } else { - if (yych <= '/') goto yy147; - if (yych == '_') goto yy147; - goto yy1531; +yy1274: + ++YYCURSOR; + switch ((yych = *YYCURSOR)) { + case '+': + case '-': goto yy1263; + default: goto yy56; } } #line 1725 "ext/date/lib/parse_date.re" @@ -24803,6 +33889,11 @@ timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_contai { \ 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) { @@ -25007,7 +34098,7 @@ timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, timelib_eat_spaces((char **) &ptr); break; case 'U': /* epoch seconds */ - TIMELIB_CHECK_NUMBER; + TIMELIB_CHECK_SIGNED_NUMBER; TIMELIB_HAVE_RELATIVE(); tmp = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; From 9dd5d96332b2562010de6b1a48fdcb5d3db43ea0 Mon Sep 17 00:00:00 2001 From: Michael McConville Date: Tue, 26 Apr 2016 13:16:38 -0400 Subject: [PATCH 021/206] Remove needless zeroing of anonymously mmap'd memory All existing systems zero anonymously mmapped memory, and if I understand correctly POSIX will be specifying this soon. Many projects already rely on it, so no reasonable system would return memory of unspecified value. --- sapi/fpm/fpm/fpm_shm.c | 1 - sapi/litespeed/lsapilib.c | 1 - 2 files changed, 2 deletions(-) diff --git a/sapi/fpm/fpm/fpm_shm.c b/sapi/fpm/fpm/fpm_shm.c index 9226adf3d3f37..7986056793cf6 100644 --- a/sapi/fpm/fpm/fpm_shm.c +++ b/sapi/fpm/fpm/fpm_shm.c @@ -35,7 +35,6 @@ void *fpm_shm_alloc(size_t size) /* {{{ */ return NULL; } - memset(mem, 0, size); fpm_shm_size += size; return mem; } diff --git a/sapi/litespeed/lsapilib.c b/sapi/litespeed/lsapilib.c index 75bd30e2b9bfe..be3df2f79ac19 100644 --- a/sapi/litespeed/lsapilib.c +++ b/sapi/litespeed/lsapilib.c @@ -2639,7 +2639,6 @@ static int lsapi_init_children_status() perror( "Anonymous mmap() failed" ); return -1; } - memset( pBuf, 0, size ); g_prefork_server->m_pChildrenStatus = (lsapi_child_status *)pBuf; g_prefork_server->m_pChildrenStatusCur = (lsapi_child_status *)pBuf; g_prefork_server->m_pChildrenStatusEnd = (lsapi_child_status *)pBuf + size / sizeof( lsapi_child_status ); From 2552cf248d6d0e84010f625d89398dfc0b835ef0 Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Mon, 11 Jul 2016 14:58:12 +0200 Subject: [PATCH 022/206] Remove needless zeroing of anonymously mmap'd memory --- sapi/fpm/fpm/fpm_scoreboard.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sapi/fpm/fpm/fpm_scoreboard.c b/sapi/fpm/fpm/fpm_scoreboard.c index 8d0868182d763..7ddf1e84d9b9c 100644 --- a/sapi/fpm/fpm/fpm_scoreboard.c +++ b/sapi/fpm/fpm/fpm_scoreboard.c @@ -62,7 +62,6 @@ int fpm_scoreboard_init_main() /* {{{ */ if (!wp->scoreboard->procs[i]) { return -1; } - memset(wp->scoreboard->procs[i], 0, sizeof(struct fpm_scoreboard_proc_s)); } wp->scoreboard->pm = wp->config->pm; From 966311e6274e59d0eabdccf5bf9c5d554c90202c Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 11 Jul 2016 16:06:35 +0200 Subject: [PATCH 023/206] Bug #66836 has been fixed --- NEWS | 4 ++++ ext/date/tests/bug66836.phpt | 15 +++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 ext/date/tests/bug66836.phpt diff --git a/NEWS b/NEWS index 282f20d725a12..2b21a03c0ee17 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ PHP NEWS . Fixed bug #71144 (Segmentation fault when using cURL with ZTS). (maroszek at gmx dot net) +- Date: + . Fixed bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails + parsing). (derick) + - Filter: . Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 range). (bugs dot php dot net at majkl578 dot cz) diff --git a/ext/date/tests/bug66836.phpt b/ext/date/tests/bug66836.phpt new file mode 100644 index 0000000000000..8fab7837ea8e5 --- /dev/null +++ b/ext/date/tests/bug66836.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails parsing) +--INI-- +date.timezone=Europe/Berlin +--FILE-- +format('U') === $timestamp); +} +?> +--EXPECT-- +bool(true) +bool(true) +bool(true) From 7903276f4c18fcfda06c02785f0b4201421f9c7c Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Tue, 12 Jul 2016 12:14:45 +0800 Subject: [PATCH 024/206] backport to 5.6 (we should not unset the default value) --- NEWS | 2 ++ Zend/zend_exceptions.c | 2 +- ext/standard/tests/serialize/bug69152.phpt | 1 - ext/standard/tests/serialize/bug69793.phpt | 2 -- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 2b21a03c0ee17..5da0c578ebd8f 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,8 @@ PHP NEWS ?? ??? 2016, PHP 5.6.25 - Core: + . Fixed bug #72581 (previous property undefined in Exception after + deserialization). (Laruence) . Fixed bug #72024 (microtime() leaks memory). (maroszek at gmx dot net) - Curl: diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c index 66476a15172fc..fda4d21e032bf 100644 --- a/Zend/zend_exceptions.c +++ b/Zend/zend_exceptions.c @@ -230,7 +230,7 @@ ZEND_METHOD(exception, __construct) Exception unserialize checks */ #define CHECK_EXC_TYPE(name, type) \ value = zend_read_property(default_exception_ce, object, name, sizeof(name)-1, 0 TSRMLS_CC); \ - if(value && Z_TYPE_P(value) != type) { \ + if (value && Z_TYPE_P(value) != IS_NULL && Z_TYPE_P(value) != type) { \ zval *tmp; \ MAKE_STD_ZVAL(tmp); \ ZVAL_STRINGL(tmp, name, sizeof(name)-1, 1); \ diff --git a/ext/standard/tests/serialize/bug69152.phpt b/ext/standard/tests/serialize/bug69152.phpt index bc2b302ddb75d..4e741685ccd04 100644 --- a/ext/standard/tests/serialize/bug69152.phpt +++ b/ext/standard/tests/serialize/bug69152.phpt @@ -9,7 +9,6 @@ $x->test(); ?> --EXPECTF-- -Notice: Undefined property: Exception::$previous in %s on line %d exception 'Exception' in %s:%d Stack trace: #0 {main} diff --git a/ext/standard/tests/serialize/bug69793.phpt b/ext/standard/tests/serialize/bug69793.phpt index 624f1ac740103..b5784b89eb359 100644 --- a/ext/standard/tests/serialize/bug69793.phpt +++ b/ext/standard/tests/serialize/bug69793.phpt @@ -7,8 +7,6 @@ $e = unserialize('O:9:"Exception":7:{s:17:"'."\0".'Exception'."\0".'string";s:1: var_dump($e.""); ?> --EXPECTF-- -Notice: Undefined property: Exception::$message in %s%ebug69793.php on line %d - Notice: Undefined property: Exception::$file in %s%ebug69793.php on line %d Notice: Undefined property: Exception::$previous in %s%ebug69793.php on line %d From f5ccd71d0c1e1c2ac3470bb1798789376a921206 Mon Sep 17 00:00:00 2001 From: Loz Calver Date: Fri, 6 May 2016 10:22:23 +0100 Subject: [PATCH 025/206] Fix 72122 - don't use EH_THROW for calls to getIterator --- ext/spl/spl_iterators.c | 6 ++++++ ext/spl/tests/bug72122.phpt | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 ext/spl/tests/bug72122.phpt diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index c6181d922d313..a5a17d8138f16 100644 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -481,7 +481,9 @@ static void spl_recursive_it_it_construct(INTERNAL_FUNCTION_PARAMETERS, zend_cla if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "o|lzl", &iterator, &flags, &user_caching_it_flags, &mode) == SUCCESS) { if (instanceof_function(Z_OBJCE_P(iterator), zend_ce_aggregate TSRMLS_CC)) { zval *aggregate = iterator; + zend_restore_error_handling(&error_handling TSRMLS_CC); zend_call_method_with_0_params(&aggregate, Z_OBJCE_P(aggregate), &Z_OBJCE_P(aggregate)->iterator_funcs.zf_new_iterator, "getiterator", &iterator); + zend_replace_error_handling(EH_THROW, spl_ce_InvalidArgumentException, &error_handling TSRMLS_CC); inc_refcount = 0; } @@ -511,7 +513,9 @@ static void spl_recursive_it_it_construct(INTERNAL_FUNCTION_PARAMETERS, zend_cla if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "o|ll", &iterator, &mode, &flags) == SUCCESS) { if (instanceof_function(Z_OBJCE_P(iterator), zend_ce_aggregate TSRMLS_CC)) { zval *aggregate = iterator; + zend_restore_error_handling(&error_handling TSRMLS_CC); zend_call_method_with_0_params(&aggregate, Z_OBJCE_P(aggregate), &Z_OBJCE_P(aggregate)->iterator_funcs.zf_new_iterator, "getiterator", &iterator); + zend_replace_error_handling(EH_THROW, spl_ce_InvalidArgumentException, &error_handling TSRMLS_CC); inc_refcount = 0; } } else { @@ -1514,7 +1518,9 @@ static spl_dual_it_object* spl_dual_it_construct(INTERNAL_FUNCTION_PARAMETERS, z ce = *pce_cast; } if (instanceof_function(ce, zend_ce_aggregate TSRMLS_CC)) { + zend_restore_error_handling(&error_handling TSRMLS_CC); zend_call_method_with_0_params(&zobject, ce, &ce->iterator_funcs.zf_new_iterator, "getiterator", &retval); + zend_replace_error_handling(EH_THROW, spl_ce_InvalidArgumentException, &error_handling TSRMLS_CC); if (EG(exception)) { if (retval) { zval_ptr_dtor(&retval); diff --git a/ext/spl/tests/bug72122.phpt b/ext/spl/tests/bug72122.phpt new file mode 100644 index 0000000000000..7edc5eaf91d22 --- /dev/null +++ b/ext/spl/tests/bug72122.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #72122 (IteratorIterator breaks '@' error suppression) +--FILE-- + +--EXPECT-- +IteratorIterator \ No newline at end of file From d2d17e14eed8930fd31698de80e0d9ac77d4ea62 Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Tue, 12 Jul 2016 10:19:45 +0200 Subject: [PATCH 026/206] Updated NEWS --- NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NEWS b/NEWS index 5da0c578ebd8f..3fa666e3b5856 100644 --- a/NEWS +++ b/NEWS @@ -22,6 +22,9 @@ PHP NEWS - PDO_pgsql: . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) +- SPL: + . Fixed bug #72122 (IteratorIterator breaks '@' error suppression). (kinglozzer) + 21 Jul 2016, PHP 5.6.24 - Core: From fb49f137ecdec2c6273ee8acf6a34ce98f503eab Mon Sep 17 00:00:00 2001 From: gooh Date: Mon, 11 Jul 2016 14:28:04 +0200 Subject: [PATCH 027/206] Fix #72575: using --allow-to-run-as-root should ignore missing user directive Trying to start PHP-FPM with the --allow-to-run-as-root flag will not work when the user directive is not given in the FPM worker pool configuration. Parsing the config will fail. Consequently, FPM cannot start. The check is in place to prevent FPM from getting started with root privileges by accident. Prior to #61295 the check would also prevent any non-root user to start PHP-FPM without a user directive present. This patch adds an additional check to the config parser, checking for the --allow-to-run-as-root flag to be present. If so, parsing will no longer abort for root users even if the user directive is missing. I will also update the PHP docs since they still state the user directive is a mandatory setting which it is not since #61295. --- sapi/fpm/fpm/fpm_conf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c index d812452e43c59..a4d28a64786c5 100644 --- a/sapi/fpm/fpm/fpm_conf.c +++ b/sapi/fpm/fpm/fpm_conf.c @@ -763,8 +763,8 @@ static int fpm_conf_process_all_pools() /* {{{ */ } } - /* alert if user is not set only if we are not root*/ - if (!wp->config->user && !geteuid()) { + /* alert if user is not set; only if we are root and fpm is not running with --allow-to-run-as-root */ + if (!wp->config->user && !geteuid() && !fpm_globals.run_as_root) { zlog(ZLOG_ALERT, "[pool %s] user has not been defined", wp->config->name); return -1; } From 403f23b4607cfcaa97279217a64b0b38f15a7bb5 Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Tue, 12 Jul 2016 10:37:59 +0200 Subject: [PATCH 028/206] Updated NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 3fa666e3b5856..cd70b32ca59a0 100644 --- a/NEWS +++ b/NEWS @@ -19,6 +19,10 @@ PHP NEWS . Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 range). (bugs dot php dot net at majkl578 dot cz) +- FPM: + . Fixed bug #72575 (using --allow-to-run-as-root should ignore missing user). + (gooh) + - PDO_pgsql: . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) From 15336b44d95c41079438af8ac73f77ff893aeef7 Mon Sep 17 00:00:00 2001 From: Bishop Bettini Date: Tue, 21 Jun 2016 08:16:51 -0400 Subject: [PATCH 029/206] Fixes #52384: Adds parameter value to dumped output. Also adds output flag indicating presence of PDO::PARAM_INPUT_OUTPUT. --- ext/pdo/pdo_stmt.c | 30 ++++++++++++- ext/pdo/tests/bug_52384.phpt | 81 ++++++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+), 2 deletions(-) create mode 100644 ext/pdo/tests/bug_52384.phpt diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index a2ae2fdf3a39e..2c089f1da64a3 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -2159,10 +2159,36 @@ static PHP_METHOD(PDOStatement, debugDumpParams) php_stream_printf(out TSRMLS_CC, "Key: Name: [%d] %.*s\n", len, len, str); } - php_stream_printf(out TSRMLS_CC, "paramno=%ld\nname=[%d] \"%.*s\"\nis_param=%d\nparam_type=%d\n", + php_stream_printf(out TSRMLS_CC, "paramno=%ld\nname=[%d] \"%.*s\"\nis_param=%d\nparam_type=%d\nis_input_output=%d\n", param->paramno, param->namelen, param->namelen, param->name ? param->name : "", param->is_param, - param->param_type); + PDO_PARAM_TYPE(param->param_type), + (param->param_type & PDO_PARAM_INPUT_OUTPUT) == PDO_PARAM_INPUT_OUTPUT); + + /* + * Check the type of the parameter and print out the value. + * + * Most are self explanatory with the following exceptions: + * PDO::PARAM_INT evaluates to a long + * PDO::PARAM_LOB evaluates to a string + */ + switch (Z_TYPE_P(param->parameter)) { + case IS_BOOL: + php_stream_printf(out TSRMLS_CC, "param_value=%s\n", Z_BVAL_P(param->parameter)?"true":"false"); + break; + case IS_NULL: + php_stream_printf(out TSRMLS_CC, "param_value=null\n"); + break; + case IS_LONG: + php_stream_printf(out TSRMLS_CC, "param_value=%ld\n", Z_LVAL_P(param->parameter)); + break; + case IS_STRING: + php_stream_printf(out TSRMLS_CC, "param_value=%s\n", Z_STRVAL_P(param->parameter)); + break; + default: + php_stream_printf(out TSRMLS_CC, "param_value=unknown\n"); + break; + } zend_hash_move_forward_ex(stmt->bound_params, &pos); } diff --git a/ext/pdo/tests/bug_52384.phpt b/ext/pdo/tests/bug_52384.phpt new file mode 100644 index 0000000000000..45449fd93a4e8 --- /dev/null +++ b/ext/pdo/tests/bug_52384.phpt @@ -0,0 +1,81 @@ +--TEST-- +PDO Common: Bug #52384 (debugDumpParams does not emit the bind parameter value) +--SKIPIF-- + +--FILE-- +prepare('SELECT 1 WHERE 1'); +$sth->bindParam(':calories', $calories, PDO::PARAM_INT); +$sth->bindValue(':colour', $colour, PDO::PARAM_STR); +$sth->bindValue(':tf', $tf, PDO::PARAM_BOOL); +$sth->bindValue(':n', $n, PDO::PARAM_NULL); +$sth->bindValue(':lob', $lob, PDO::PARAM_LOB); +$sth->bindValue(':dob', $dob, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT); + +$sth->debugDumpParams(); +unset($dbh); +?> +--EXPECT-- +SQL: [16] SELECT 1 WHERE 1 +Params: 6 +Key: Name: [9] :calories +paramno=-1 +name=[9] ":calories" +is_param=1 +param_type=1 +is_input_output=0 +param_value=150 +Key: Name: [7] :colour +paramno=-1 +name=[7] ":colour" +is_param=1 +param_type=2 +is_input_output=0 +param_value=red +Key: Name: [3] :tf +paramno=-1 +name=[3] ":tf" +is_param=1 +param_type=5 +is_input_output=0 +param_value=true +Key: Name: [2] :n +paramno=-1 +name=[2] ":n" +is_param=1 +param_type=0 +is_input_output=0 +param_value=null +Key: Name: [4] :lob +paramno=-1 +name=[4] ":lob" +is_param=1 +param_type=3 +is_input_output=0 +param_value=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Key: Name: [4] :dob +paramno=-1 +name=[4] ":dob" +is_param=1 +param_type=2 +is_input_output=1 +param_value=1978-10-17 + From 17d4f5c2f83469764de63b221d2314ac3443d8db Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Tue, 12 Jul 2016 10:49:04 +0200 Subject: [PATCH 030/206] Updated NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index cd70b32ca59a0..154d14903be6d 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,10 @@ PHP NEWS . Fixed bug #72575 (using --allow-to-run-as-root should ignore missing user). (gooh) +- PDO: + . Fixed bug #52384 (Adds bound parameter value to PDOStatement::debugDumpParams). + (bishopb) + - PDO_pgsql: . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) From 76e249d31c51d0b4f8f11507c550ca1eec1dd38a Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 12 Jul 2016 14:42:38 +0200 Subject: [PATCH 031/206] Partially fix #72506: idn_to_ascii for UTS #46 incorrect for long domain names We don't actually fix this issue wrt. the empty $info array, because it is not clear what this array should contain and we're concerned about the potential BC break, but at least we fix the inconsistent handling of resulting domains with 255 bytes (which raise an error), and longer domains (which just return FALSE), what has to be considered a very minor BC break if at all. --- NEWS | 4 ++++ ext/intl/idn/idn.c | 5 +---- ext/intl/tests/bug72506.phpt | 37 ++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 ext/intl/tests/bug72506.phpt diff --git a/NEWS b/NEWS index 154d14903be6d..6cb61d4916c4e 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,10 @@ PHP NEWS . Fixed bug #72575 (using --allow-to-run-as-root should ignore missing user). (gooh) +- Intl: + . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain + names). (cmb) + - PDO: . Fixed bug #52384 (Adds bound parameter value to PDOStatement::debugDumpParams). (bishopb) diff --git a/ext/intl/idn/idn.c b/ext/intl/idn/idn.c index 6332488cc9c3d..fb17e3445cf33 100644 --- a/ext/intl/idn/idn.c +++ b/ext/intl/idn/idn.c @@ -158,15 +158,12 @@ static void php_intl_idn_to_46(INTERNAL_FUNCTION_PARAMETERS, len = uidna_nameToUnicodeUTF8(uts46, domain, (int32_t)domain_len, buffer, buffer_capac, &info, &status); } - if (php_intl_idn_check_status(status, "failed to convert name", + if (len >= 255 || php_intl_idn_check_status(status, "failed to convert name", mode TSRMLS_CC) == FAILURE) { uidna_close(uts46); efree(buffer); RETURN_FALSE; } - if (len >= 255) { - php_error_docref(NULL TSRMLS_CC, E_ERROR, "ICU returned an unexpected length"); - } buffer[len] = '\0'; diff --git a/ext/intl/tests/bug72506.phpt b/ext/intl/tests/bug72506.phpt new file mode 100644 index 0000000000000..a7c561c740f15 --- /dev/null +++ b/ext/intl/tests/bug72506.phpt @@ -0,0 +1,37 @@ +--TEST-- +Bug #72506 (idn_to_ascii with INTL_IDNA_VARIANT_UTS46 fatals for long domain names) +--DESCRIPTION-- +Actually, the $info array should be populated for these cases, but at least it's +not clear yet with which values exactly. +--SKIPIF-- + +--FILE-- + +--EXPECT-- +bool(false) +array(0) { +} +bool(false) +array(0) { +} +bool(false) +array(0) { +} From 642e44b98f18d867052aa7e02476aae9c8881201 Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Tue, 12 Jul 2016 15:27:37 +0200 Subject: [PATCH 032/206] Fix test for #52384 --- ext/pdo/tests/bug_52384.phpt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ext/pdo/tests/bug_52384.phpt b/ext/pdo/tests/bug_52384.phpt index 45449fd93a4e8..b6eac4fb11a51 100644 --- a/ext/pdo/tests/bug_52384.phpt +++ b/ext/pdo/tests/bug_52384.phpt @@ -22,7 +22,13 @@ $n = null; $lob = str_repeat('a',1000); $dob = '1978-10-17'; -$sth = $db->prepare('SELECT 1 WHERE 1'); +$errmode = $db->getAttribute(PDO::ATTR_ERRMODE); +$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); +$db->exec("DROP table bug_52384"); +$db->setAttribute(PDO::ATTR_ERRMODE, $errmode); +$db->exec("CREATE table bug_52384 (calories int, colour varchar(64), tf int, n int, lob varchar(255), dob varchar(255))"); + +$sth = $db->prepare('SELECT 1 FROM bug_52384 WHERE calories=:calories AND colour=:colour AND tf=:tf AND n=:n AND lob=:lob AND dob=:dob'); $sth->bindParam(':calories', $calories, PDO::PARAM_INT); $sth->bindValue(':colour', $colour, PDO::PARAM_STR); $sth->bindValue(':tf', $tf, PDO::PARAM_BOOL); @@ -34,7 +40,7 @@ $sth->debugDumpParams(); unset($dbh); ?> --EXPECT-- -SQL: [16] SELECT 1 WHERE 1 +SQL: [113] SELECT 1 FROM bug_52384 WHERE calories=:calories AND colour=:colour AND tf=:tf AND n=:n AND lob=:lob AND dob=:dob Params: 6 Key: Name: [9] :calories paramno=-1 From 5cce0d7c7c54a420a452ead5d85b93034d252b47 Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Tue, 12 Jul 2016 15:45:49 +0200 Subject: [PATCH 033/206] Revert "Fix test for #52384" This reverts commit 642e44b98f18d867052aa7e02476aae9c8881201. --- ext/pdo/tests/bug_52384.phpt | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/ext/pdo/tests/bug_52384.phpt b/ext/pdo/tests/bug_52384.phpt index b6eac4fb11a51..45449fd93a4e8 100644 --- a/ext/pdo/tests/bug_52384.phpt +++ b/ext/pdo/tests/bug_52384.phpt @@ -22,13 +22,7 @@ $n = null; $lob = str_repeat('a',1000); $dob = '1978-10-17'; -$errmode = $db->getAttribute(PDO::ATTR_ERRMODE); -$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); -$db->exec("DROP table bug_52384"); -$db->setAttribute(PDO::ATTR_ERRMODE, $errmode); -$db->exec("CREATE table bug_52384 (calories int, colour varchar(64), tf int, n int, lob varchar(255), dob varchar(255))"); - -$sth = $db->prepare('SELECT 1 FROM bug_52384 WHERE calories=:calories AND colour=:colour AND tf=:tf AND n=:n AND lob=:lob AND dob=:dob'); +$sth = $db->prepare('SELECT 1 WHERE 1'); $sth->bindParam(':calories', $calories, PDO::PARAM_INT); $sth->bindValue(':colour', $colour, PDO::PARAM_STR); $sth->bindValue(':tf', $tf, PDO::PARAM_BOOL); @@ -40,7 +34,7 @@ $sth->debugDumpParams(); unset($dbh); ?> --EXPECT-- -SQL: [113] SELECT 1 FROM bug_52384 WHERE calories=:calories AND colour=:colour AND tf=:tf AND n=:n AND lob=:lob AND dob=:dob +SQL: [16] SELECT 1 WHERE 1 Params: 6 Key: Name: [9] :calories paramno=-1 From 822498128bbb1cba429fae9dfab8be61493d2eea Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Tue, 12 Jul 2016 15:46:07 +0200 Subject: [PATCH 034/206] Revert "Fixes #52384: Adds parameter value to dumped output. Also adds output flag indicating presence of PDO::PARAM_INPUT_OUTPUT." This reverts commit 15336b44d95c41079438af8ac73f77ff893aeef7. --- ext/pdo/pdo_stmt.c | 30 +------------ ext/pdo/tests/bug_52384.phpt | 81 ------------------------------------ 2 files changed, 2 insertions(+), 109 deletions(-) delete mode 100644 ext/pdo/tests/bug_52384.phpt diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 2c089f1da64a3..a2ae2fdf3a39e 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -2159,36 +2159,10 @@ static PHP_METHOD(PDOStatement, debugDumpParams) php_stream_printf(out TSRMLS_CC, "Key: Name: [%d] %.*s\n", len, len, str); } - php_stream_printf(out TSRMLS_CC, "paramno=%ld\nname=[%d] \"%.*s\"\nis_param=%d\nparam_type=%d\nis_input_output=%d\n", + php_stream_printf(out TSRMLS_CC, "paramno=%ld\nname=[%d] \"%.*s\"\nis_param=%d\nparam_type=%d\n", param->paramno, param->namelen, param->namelen, param->name ? param->name : "", param->is_param, - PDO_PARAM_TYPE(param->param_type), - (param->param_type & PDO_PARAM_INPUT_OUTPUT) == PDO_PARAM_INPUT_OUTPUT); - - /* - * Check the type of the parameter and print out the value. - * - * Most are self explanatory with the following exceptions: - * PDO::PARAM_INT evaluates to a long - * PDO::PARAM_LOB evaluates to a string - */ - switch (Z_TYPE_P(param->parameter)) { - case IS_BOOL: - php_stream_printf(out TSRMLS_CC, "param_value=%s\n", Z_BVAL_P(param->parameter)?"true":"false"); - break; - case IS_NULL: - php_stream_printf(out TSRMLS_CC, "param_value=null\n"); - break; - case IS_LONG: - php_stream_printf(out TSRMLS_CC, "param_value=%ld\n", Z_LVAL_P(param->parameter)); - break; - case IS_STRING: - php_stream_printf(out TSRMLS_CC, "param_value=%s\n", Z_STRVAL_P(param->parameter)); - break; - default: - php_stream_printf(out TSRMLS_CC, "param_value=unknown\n"); - break; - } + param->param_type); zend_hash_move_forward_ex(stmt->bound_params, &pos); } diff --git a/ext/pdo/tests/bug_52384.phpt b/ext/pdo/tests/bug_52384.phpt deleted file mode 100644 index 45449fd93a4e8..0000000000000 --- a/ext/pdo/tests/bug_52384.phpt +++ /dev/null @@ -1,81 +0,0 @@ ---TEST-- -PDO Common: Bug #52384 (debugDumpParams does not emit the bind parameter value) ---SKIPIF-- - ---FILE-- -prepare('SELECT 1 WHERE 1'); -$sth->bindParam(':calories', $calories, PDO::PARAM_INT); -$sth->bindValue(':colour', $colour, PDO::PARAM_STR); -$sth->bindValue(':tf', $tf, PDO::PARAM_BOOL); -$sth->bindValue(':n', $n, PDO::PARAM_NULL); -$sth->bindValue(':lob', $lob, PDO::PARAM_LOB); -$sth->bindValue(':dob', $dob, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT); - -$sth->debugDumpParams(); -unset($dbh); -?> ---EXPECT-- -SQL: [16] SELECT 1 WHERE 1 -Params: 6 -Key: Name: [9] :calories -paramno=-1 -name=[9] ":calories" -is_param=1 -param_type=1 -is_input_output=0 -param_value=150 -Key: Name: [7] :colour -paramno=-1 -name=[7] ":colour" -is_param=1 -param_type=2 -is_input_output=0 -param_value=red -Key: Name: [3] :tf -paramno=-1 -name=[3] ":tf" -is_param=1 -param_type=5 -is_input_output=0 -param_value=true -Key: Name: [2] :n -paramno=-1 -name=[2] ":n" -is_param=1 -param_type=0 -is_input_output=0 -param_value=null -Key: Name: [4] :lob -paramno=-1 -name=[4] ":lob" -is_param=1 -param_type=3 -is_input_output=0 -param_value=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -Key: Name: [4] :dob -paramno=-1 -name=[4] ":dob" -is_param=1 -param_type=2 -is_input_output=1 -param_value=1978-10-17 - From 1896ca4e88451d5190d3ce921d6f7a52b3ec6e9f Mon Sep 17 00:00:00 2001 From: Julien Pauli Date: Tue, 12 Jul 2016 15:47:05 +0200 Subject: [PATCH 035/206] Updated NEWS --- NEWS | 4 ---- 1 file changed, 4 deletions(-) diff --git a/NEWS b/NEWS index 6cb61d4916c4e..2af5a21c5d67b 100644 --- a/NEWS +++ b/NEWS @@ -27,10 +27,6 @@ PHP NEWS . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain names). (cmb) -- PDO: - . Fixed bug #52384 (Adds bound parameter value to PDOStatement::debugDumpParams). - (bishopb) - - PDO_pgsql: . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) From aca4f65c7e98b9f07ac625eaf6be8eadbeb55929 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 12 Jul 2016 21:35:02 -0700 Subject: [PATCH 036/206] CS fix and comments with bug ID --- main/SAPI.c | 2 +- main/php_variables.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/main/SAPI.c b/main/SAPI.c index 8a56c6d61ca9d..223c51021bee8 100644 --- a/main/SAPI.c +++ b/main/SAPI.c @@ -1012,7 +1012,7 @@ SAPI_API struct stat *sapi_get_stat(TSRMLS_D) SAPI_API char *sapi_getenv(char *name, size_t name_len TSRMLS_DC) { if (!strncasecmp(name, "HTTP_PROXY", name_len)) { - /* Ugly fix for HTTP_PROXY issue */ + /* Ugly fix for HTTP_PROXY issue, see bug #72573 */ return NULL; } if (sapi_module.getenv) { diff --git a/main/php_variables.c b/main/php_variables.c index bbe57d39556d6..5977a5ed97369 100644 --- a/main/php_variables.c +++ b/main/php_variables.c @@ -722,8 +722,9 @@ static zend_bool php_auto_globals_create_files(const char *name, uint name_len T return 0; /* don't rearm */ } -/* Upgly hack to fix HTTP_PROXY issue */ -static void check_http_proxy(HashTable *var_table) { +/* Upgly hack to fix HTTP_PROXY issue, see bug #72573 */ +static void check_http_proxy(HashTable *var_table) +{ if (zend_hash_exists(var_table, "HTTP_PROXY", sizeof("HTTP_PROXY"))) { char *local_proxy = getenv("HTTP_PROXY"); From a099545bec28c7ebe1641c8a45b68709901f6893 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 12 Jul 2016 21:52:27 -0700 Subject: [PATCH 037/206] Fix for bug #72513 --- Zend/zend_virtual_cwd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Zend/zend_virtual_cwd.c b/Zend/zend_virtual_cwd.c index c8e42ddc60bae..84a3508ded09d 100644 --- a/Zend/zend_virtual_cwd.c +++ b/Zend/zend_virtual_cwd.c @@ -1190,7 +1190,7 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func int add_slash; void *tmp; - if (path_length == 0 || path_length >= MAXPATHLEN-1) { + if (path_length <= 0 || path_length >= MAXPATHLEN-1) { #ifdef TSRM_WIN32 # if _MSC_VER < 1300 errno = EINVAL; From 0218acb7e756a469099c4ccfb22bce6c2bd1ef87 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 12 Jul 2016 21:48:00 -0700 Subject: [PATCH 038/206] Fix for bug #72513 --- TSRM/tsrm_virtual_cwd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TSRM/tsrm_virtual_cwd.c b/TSRM/tsrm_virtual_cwd.c index ba92711f89273..6c22ee85b25c3 100644 --- a/TSRM/tsrm_virtual_cwd.c +++ b/TSRM/tsrm_virtual_cwd.c @@ -621,14 +621,14 @@ CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC) /* {{{ memcmp(path, (*bucket)->path, path_len) == 0) { realpath_cache_bucket *r = *bucket; *bucket = (*bucket)->next; - + /* if the pointers match then only subtract the length of the path */ if(r->path == r->realpath) { CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1; } else { CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1; } - + free(r); return; } else { @@ -704,7 +704,7 @@ static inline realpath_cache_bucket* realpath_cache_find(const char *path, int p realpath_cache_bucket *r = *bucket; *bucket = (*bucket)->next; - /* if the pointers match then only subtract the length of the path */ + /* if the pointers match then only subtract the length of the path */ if(r->path == r->realpath) { CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1; } else { @@ -1159,7 +1159,7 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func int add_slash; void *tmp; - if (path_length == 0 || path_length >= MAXPATHLEN-1) { + if (path_length <= 0 || path_length >= MAXPATHLEN-1) { #ifdef TSRM_WIN32 # if _MSC_VER < 1300 errno = EINVAL; From 81406c0c1d45f75fcc7972ed974d2597abb0b9e9 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 12 Jul 2016 22:03:40 -0700 Subject: [PATCH 039/206] Fix fir bug #72520 --- ext/zip/zip_stream.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/zip/zip_stream.c b/ext/zip/zip_stream.c index 400edd6e6c0b9..a9192d26cb890 100644 --- a/ext/zip/zip_stream.c +++ b/ext/zip/zip_stream.c @@ -214,7 +214,7 @@ php_stream *php_stream_zip_open(char *filename, char *path, char *mode STREAMS_D self = emalloc(sizeof(*self)); self->za = stream_za; - self->zf = zf; + self->zf = zf; self->stream = NULL; self->cursor = 0; stream = php_stream_alloc(&php_stream_zipio_ops, self, NULL, mode); @@ -241,7 +241,7 @@ php_stream *php_stream_zip_opener(php_stream_wrapper *wrapper, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC) { - int path_len; + size_t path_len; char *file_basename; size_t file_basename_len; @@ -250,7 +250,7 @@ php_stream *php_stream_zip_opener(php_stream_wrapper *wrapper, struct zip *za; struct zip_file *zf = NULL; char *fragment; - int fragment_len; + size_t fragment_len; int err; php_stream *stream = NULL; @@ -293,7 +293,7 @@ php_stream *php_stream_zip_opener(php_stream_wrapper *wrapper, self = emalloc(sizeof(*self)); self->za = za; - self->zf = zf; + self->zf = zf; self->stream = NULL; self->cursor = 0; stream = php_stream_alloc(&php_stream_zipio_ops, self, NULL, mode); From aa82e99ed8003c01f1ef4f0940e56b85c5b032d4 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 12 Jul 2016 22:37:36 -0700 Subject: [PATCH 040/206] Fix bug #72533 (locale_accept_from_http out-of-bounds access) --- ext/intl/locale/locale_methods.c | 18 ++++++++++++++++++ ext/intl/tests/bug72533.phpt | 30 ++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 ext/intl/tests/bug72533.phpt diff --git a/ext/intl/locale/locale_methods.c b/ext/intl/locale/locale_methods.c index 31f60b39a41be..443856ff5e941 100644 --- a/ext/intl/locale/locale_methods.c +++ b/ext/intl/locale/locale_methods.c @@ -1591,6 +1591,24 @@ PHP_FUNCTION(locale_accept_from_http) "locale_accept_from_http: unable to parse input parameters", 0 TSRMLS_CC ); RETURN_FALSE; } + if(http_accept_len > ULOC_FULLNAME_CAPACITY) { + /* check each fragment, if any bigger than capacity, can't do it due to bug #72533 */ + char *start = http_accept; + char *end; + size_t len; + do { + end = strchr(start, ','); + len = end ? end-start : http_accept_len-(start-http_accept); + if(len > ULOC_FULLNAME_CAPACITY) { + intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, + "locale_accept_from_http: locale string too long", 0 TSRMLS_CC ); + RETURN_FALSE; + } + if(end) { + start = end+1; + } + } while(end != NULL); + } available = ures_openAvailableLocales(NULL, &status); INTL_CHECK_STATUS(status, "locale_accept_from_http: failed to retrieve locale list"); diff --git a/ext/intl/tests/bug72533.phpt b/ext/intl/tests/bug72533.phpt new file mode 100644 index 0000000000000..c7fcba39d029b --- /dev/null +++ b/ext/intl/tests/bug72533.phpt @@ -0,0 +1,30 @@ +--TEST-- +Bug #72533 (locale_accept_from_http out-of-bounds access) +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +false +'locale_accept_from_http: locale string too long: U_ILLEGAL_ARGUMENT_ERROR' +'en' \ No newline at end of file From 3798eb6fd5dddb211b01d41495072fd9858d4e32 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 12 Jul 2016 23:27:45 -0700 Subject: [PATCH 041/206] Fix bug #72562 - destroy var_hash properly --- ext/session/session.c | 3 ++- ext/session/tests/bug72562.phpt | 44 +++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 ext/session/tests/bug72562.phpt diff --git a/ext/session/session.c b/ext/session/session.c index f5439ea79c5b9..cb6cc01f219c1 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -866,7 +866,7 @@ PS_SERIALIZER_DECODE_FUNC(php_serialize) /* {{{ */ if (php_var_unserialize(&session_vars, &val, endptr, &var_hash TSRMLS_CC)) { var_push_dtor(&var_hash, &session_vars); } - + PHP_VAR_UNSERIALIZE_DESTROY(var_hash); if (PS(http_session_vars)) { zval_ptr_dtor(&PS(http_session_vars)); @@ -931,6 +931,7 @@ PS_SERIALIZER_DECODE_FUNC(php_binary) /* {{{ */ namelen = ((unsigned char)(*p)) & (~PS_BIN_UNDEF); if (namelen < 0 || namelen > PS_BIN_MAX || (p + namelen) >= endptr) { + PHP_VAR_UNSERIALIZE_DESTROY(var_hash); return FAILURE; } diff --git a/ext/session/tests/bug72562.phpt b/ext/session/tests/bug72562.phpt new file mode 100644 index 0000000000000..d85e48b069f86 --- /dev/null +++ b/ext/session/tests/bug72562.phpt @@ -0,0 +1,44 @@ +--TEST-- +Bug #72562: Use After Free in unserialize() with Unexpected Session Deserialization +--SKIPIF-- + +--FILE-- +>= 8; + } + return $out; +} +?> +--EXPECTF-- +Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/bug72562.php on line %d + +Notice: unserialize(): Error at offset 0 of 1 bytes in %s/bug72562.php on line %d + +Notice: unserialize(): Error at offset 4 of 4 bytes in %s/bug72562.php on line %d +bool(false) From eb190b4e917e537380a505c4c28b9dc2c5b3c295 Mon Sep 17 00:00:00 2001 From: nikita2206 Date: Mon, 16 May 2016 02:58:21 +0300 Subject: [PATCH 042/206] fix: bug72222 for PHP-5.6 reflection export of array consts --- ext/reflection/php_reflection.c | 27 +++++++++------- ...ReflectionClass_export_array_bug72222.phpt | 31 +++++++++++++++++++ 2 files changed, 47 insertions(+), 11 deletions(-) create mode 100644 ext/reflection/tests/ReflectionClass_export_array_bug72222.phpt diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index fbcf7a77ca8e3..5f15287237d5f 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -673,21 +673,26 @@ static void _class_string(string *str, zend_class_entry *ce, zval *obj, char *in static void _const_string(string *str, char *name, zval *value, char *indent TSRMLS_DC) { char *type; - zval value_copy; - int use_copy; - type = zend_zval_type_name(value); - zend_make_printable_zval(value, &value_copy, &use_copy); - if (use_copy) { - value = &value_copy; - } + if (Z_TYPE_P(value) == IS_ARRAY) { + string_printf(str, "%s Constant [ %s %s ] { Array }\n", + indent, type, name); + } else { + zval value_copy; + int use_copy; - string_printf(str, "%s Constant [ %s %s ] { %s }\n", - indent, type, name, Z_STRVAL_P(value)); + zend_make_printable_zval(value, &value_copy, &use_copy); + if (use_copy) { + value = &value_copy; + } + + string_printf(str, "%s Constant [ %s %s ] { %s }\n", + indent, type, name, Z_STRVAL_P(value)); - if (use_copy) { - zval_dtor(value); + if (use_copy) { + zval_dtor(value); + } } } /* }}} */ diff --git a/ext/reflection/tests/ReflectionClass_export_array_bug72222.phpt b/ext/reflection/tests/ReflectionClass_export_array_bug72222.phpt new file mode 100644 index 0000000000000..e64dc97109738 --- /dev/null +++ b/ext/reflection/tests/ReflectionClass_export_array_bug72222.phpt @@ -0,0 +1,31 @@ +--TEST-- +ReflectionClass::export() - array constants +--FILE-- + +--EXPECTF-- +Class [ class A ] { + @@ %s 2-5 + + - Constants [2] { + Constant [ integer A ] { 8 } + Constant [ array B ] { Array } + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [0] { + } +} From 3cc4265527c7d97c3b87054f5ce46cf37351688c Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 13 Jul 2016 21:57:01 +0200 Subject: [PATCH 043/206] Add NEWS entry --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 2af5a21c5d67b..79d450408893c 100644 --- a/NEWS +++ b/NEWS @@ -30,6 +30,10 @@ PHP NEWS - PDO_pgsql: . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) +- Reflection: + . Fixed bug #72222 (ReflectionClass::export doesn't handle array constants). + (Nikita Nefedov) + - SPL: . Fixed bug #72122 (IteratorIterator breaks '@' error suppression). (kinglozzer) From 8bb3bd04a9d38c08dce0034ad8fc1263631d28ff Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 14 Jul 2016 16:43:13 +0200 Subject: [PATCH 044/206] Fix bug #72596: imagetypes function won't advertise WEBP support We add the constant IMG_WEBP and make sure that WebP support is properly reported by imagetypes(). --- NEWS | 3 +++ UPGRADING | 3 +++ ext/gd/gd.c | 4 ++++ ext/gd/tests/bug72596.phpt | 12 ++++++++++++ 4 files changed, 22 insertions(+) create mode 100644 ext/gd/tests/bug72596.phpt diff --git a/NEWS b/NEWS index 79d450408893c..a9d242b1dc2f2 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,9 @@ PHP NEWS . Fixed bug #72575 (using --allow-to-run-as-root should ignore missing user). (gooh) +- GD: + . Fixed bug #72596 (imagetypes function won't advertise WEBP support). (cmb) + - Intl: . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain names). (cmb) diff --git a/UPGRADING b/UPGRADING index e2cf5a747876d..dbf65015de67c 100644 --- a/UPGRADING +++ b/UPGRADING @@ -400,6 +400,9 @@ PHP 5.6 UPGRADE NOTES - CURL: CURL_HTTP_VERSION_2_0 and CURL_VERSION_HTTP2 (>= 5.6.8) +- GD: + IMG_WEBP (>= 5.6.25) + - LDAP: LDAP_ESCAPE_FILTER int(1) LDAP_ESCAPE_DN int(2) diff --git a/ext/gd/gd.c b/ext/gd/gd.c index cb070abf84cd4..532fc5dfc0ec4 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -1148,6 +1148,7 @@ PHP_MINIT_FUNCTION(gd) REGISTER_LONG_CONSTANT("IMG_PNG", 4, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("IMG_WBMP", 8, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("IMG_XPM", 16, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_WEBP", 32, CONST_CS | CONST_PERSISTENT); /* special colours for gd */ REGISTER_LONG_CONSTANT("IMG_COLOR_TILED", gdTiled, CONST_CS | CONST_PERSISTENT); @@ -2200,6 +2201,9 @@ PHP_FUNCTION(imagetypes) #if defined(HAVE_GD_XPM) ret |= 16; #endif +#ifdef HAVE_GD_WEBP + ret |= 32; +#endif if (zend_parse_parameters_none() == FAILURE) { return; diff --git a/ext/gd/tests/bug72596.phpt b/ext/gd/tests/bug72596.phpt new file mode 100644 index 0000000000000..2eb7dadb76c48 --- /dev/null +++ b/ext/gd/tests/bug72596.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #72596 (imagetypes function won't advertise WEBP support) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +bool(true) From fe1d6feb3dfa1eebd69a82c8000d2095b4e8a531 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Thu, 14 Jul 2016 21:08:54 +0200 Subject: [PATCH 045/206] Extend libxml exports These are needed to support libxslt 1.1.29 on Windows. This libxslt version fixes CVE-2015-7995 and for this reason needs to be used. --- ext/libxml/php_libxml2.def | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ext/libxml/php_libxml2.def b/ext/libxml/php_libxml2.def index 42a939ebb8d90..905dbf386be11 100644 --- a/ext/libxml/php_libxml2.def +++ b/ext/libxml/php_libxml2.def @@ -1544,3 +1544,5 @@ xmlXPtrNewRangePointNode xmlXPtrNewRangePoints xmlXPtrRangeToFunction xmlXPtrWrapLocationSet +xmlBufContent +xmlBufUse From 1c84b55adea936b065a20102202bea3d1d243225 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 14 Jul 2016 22:37:25 +0300 Subject: [PATCH 046/206] Fixed bug #72286 (Segmentation fault During Garbage Collection) --- NEWS | 1 + Zend/tests/bug72286.phpt | 51 ++++++++++++++++++++++++++++++++++++++++ Zend/zend_gc.c | 6 +++-- 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 Zend/tests/bug72286.phpt diff --git a/NEWS b/NEWS index a9d242b1dc2f2..a9ca67ad8c4d6 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,7 @@ PHP NEWS - Core: . Fixed bug #72581 (previous property undefined in Exception after deserialization). (Laruence) + . Fixed bug #72286 (Segmentation fault During Garbage Collection). (Dmitry) . Fixed bug #72024 (microtime() leaks memory). (maroszek at gmx dot net) - Curl: diff --git a/Zend/tests/bug72286.phpt b/Zend/tests/bug72286.phpt new file mode 100644 index 0000000000000..0f6184d91c46c --- /dev/null +++ b/Zend/tests/bug72286.phpt @@ -0,0 +1,51 @@ +--TEST-- +Bug #72286 (Segmentation fault During Garbage Collection) +--FILE-- +circular_reference = $this; + $this->object = new \stdClass(); + } + + public function __destruct() + { + // we try to avoid accessing $this->object by returning early but the object exists + if (!$this->object) { // without this expression involving the object, the segfault does not happen + var_dump('the object exists'); + return; + } + + var_dump('segfaults here:'); + // and then access the object (which seemingly has already been garbage collected) + var_dump($this->object); + var_dump('will not get here'); + } +} + +class SomeContainer +{ + public function run() + { + new SegfaultScenario(); + } +} + +$container = new SomeContainer(); +$container->run(); + +var_dump('we are about to segfault'); +gc_collect_cycles(); +var_dump('will not get here'); +--EXPECTF-- +string(24) "we are about to segfault" +string(15) "segfaults here:" +object(stdClass)#%d (0) { +} +string(17) "will not get here" +string(17) "will not get here" diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c index e72655c71ce03..7ad734019b215 100644 --- a/Zend/zend_gc.c +++ b/Zend/zend_gc.c @@ -650,6 +650,7 @@ static void zval_collect_white(zval *pz TSRMLS_DC) if (!props) { /* restore refcount and put into list to free */ + obj->refcount = 1; pz->refcount__gc++; ((zval_gc_info*)pz)->u.next = GC_G(zval_to_free); GC_G(zval_to_free) = (zval_gc_info*)pz; @@ -756,6 +757,7 @@ static void gc_collect_roots(TSRMLS_D) struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj; zval z; + obj->refcount = 1; GC_SET_ADDRESS(obj->buffered, NULL); INIT_PZVAL(&z); Z_OBJ_HANDLE(z) = current->handle; @@ -802,7 +804,7 @@ ZEND_API int gc_collect_cycles(TSRMLS_D) if (Z_TYPE(p->z) == IS_OBJECT) { if (EG(objects_store).object_buckets && EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].valid && - EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].bucket.obj.refcount <= 0 && + EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].bucket.obj.refcount <= 1 && EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].bucket.obj.dtor && !EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].destructor_called) { @@ -823,7 +825,7 @@ ZEND_API int gc_collect_cycles(TSRMLS_D) if (Z_TYPE(p->z) == IS_OBJECT) { if (EG(objects_store).object_buckets && EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].valid && - EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].bucket.obj.refcount <= 0) { + --EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].bucket.obj.refcount <= 0) { EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].bucket.obj.refcount = 1; Z_TYPE(p->z) = IS_NULL; zend_objects_store_del_ref_by_handle_ex(Z_OBJ_HANDLE(p->z), Z_OBJ_HT(p->z) TSRMLS_CC); From a4aa4f9772a6c30f69db8560cde1f5fe4545b174 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 15 Jul 2016 00:57:36 +0200 Subject: [PATCH 047/206] Fix bug #66502: DOM document dangling reference When we decrement the refcount of a node's document, we state that we won't need it anymore. Therefore we can *always* set the pointer to the document to NULL, what avoids invalid memory accesses for some edge cases as demonstrated with the PHPT. Original patch provided by Sean Heelan. --- NEWS | 3 +++ ext/dom/tests/bug66502.phpt | 20 ++++++++++++++++++++ ext/libxml/libxml.c | 2 +- 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 ext/dom/tests/bug66502.phpt diff --git a/NEWS b/NEWS index a9ca67ad8c4d6..455e44b8424bb 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,9 @@ PHP NEWS . Fixed bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails parsing). (derick) +- DOM: + . Fixed bug #66502 (DOM document dangling reference). (Sean Heelan, cmb) + - Filter: . Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 range). (bugs dot php dot net at majkl578 dot cz) diff --git a/ext/dom/tests/bug66502.phpt b/ext/dom/tests/bug66502.phpt new file mode 100644 index 0000000000000..5b35b41e939da --- /dev/null +++ b/ext/dom/tests/bug66502.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #66502 (DOM document dangling reference) +--SKIPIF-- + +--FILE-- +appendChild(new DOMElement('root')); +$comment = new DOMComment("Comment 0"); +$comment = $element->appendChild($comment); + +$comment->__construct("Comment 1"); +$comment->__construct("Comment 2"); +$comment->__construct("Comment 3"); +echo 'DONE', PHP_EOL; +?> +--EXPECT-- +DONE \ No newline at end of file diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c index bd0016b79ffb0..b252cb6d8170a 100644 --- a/ext/libxml/libxml.c +++ b/ext/libxml/libxml.c @@ -1272,8 +1272,8 @@ PHP_LIBXML_API int php_libxml_decrement_doc_ref(php_libxml_node_object *object T efree(object->document->doc_props); } efree(object->document); - object->document = NULL; } + object->document = NULL; } return ret_refcount; From 3666cfab973c5aba86d0562d14de8ed74e66cdb7 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 15 Jul 2016 19:42:26 +0200 Subject: [PATCH 048/206] Fix #72604: imagearc() ignores thickness for full arcs We remove the special casing for full arcs, what conforms to external libgd. --- NEWS | 1 + ext/gd/libgd/gd.c | 6 +----- ext/gd/tests/bug72604.phpt | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 ext/gd/tests/bug72604.phpt diff --git a/NEWS b/NEWS index 455e44b8424bb..caf807311fc25 100644 --- a/NEWS +++ b/NEWS @@ -29,6 +29,7 @@ PHP NEWS - GD: . Fixed bug #72596 (imagetypes function won't advertise WEBP support). (cmb) + . Fixed bug #72604 (imagearc() ignores thickness for full arcs). (cmb) - Intl: . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index a5799c59d55af..3b5d8294e8764 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -1673,11 +1673,7 @@ long lsqrt (long n) void gdImageArc (gdImagePtr im, int cx, int cy, int w, int h, int s, int e, int color) { - if ((s % 360) == (e % 360)) { - gdImageEllipse(im, cx, cy, w, h, color); - } else { - gdImageFilledArc(im, cx, cy, w, h, s, e, color, gdNoFill); - } + gdImageFilledArc(im, cx, cy, w, h, s, e, color, gdNoFill); } void gdImageFilledArc (gdImagePtr im, int cx, int cy, int w, int h, int s, int e, int color, int style) diff --git a/ext/gd/tests/bug72604.phpt b/ext/gd/tests/bug72604.phpt new file mode 100644 index 0000000000000..b1dea5e403313 --- /dev/null +++ b/ext/gd/tests/bug72604.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #72604 (imagearc() ignores thickness for full arcs) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +2ffa6afb915afbdf870cf6459477bc8a From 171c759d791f809ebc31711fd0b0b5bb632cd2cc Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 16 Jul 2016 23:00:47 +0200 Subject: [PATCH 049/206] Revert "Fixed bug #72286 (Segmentation fault During Garbage Collection)" This reverts commit 1c84b55adea936b065a20102202bea3d1d243225. --- NEWS | 1 - Zend/tests/bug72286.phpt | 51 ---------------------------------------- Zend/zend_gc.c | 6 ++--- 3 files changed, 2 insertions(+), 56 deletions(-) delete mode 100644 Zend/tests/bug72286.phpt diff --git a/NEWS b/NEWS index caf807311fc25..248d5688c8a8e 100644 --- a/NEWS +++ b/NEWS @@ -5,7 +5,6 @@ PHP NEWS - Core: . Fixed bug #72581 (previous property undefined in Exception after deserialization). (Laruence) - . Fixed bug #72286 (Segmentation fault During Garbage Collection). (Dmitry) . Fixed bug #72024 (microtime() leaks memory). (maroszek at gmx dot net) - Curl: diff --git a/Zend/tests/bug72286.phpt b/Zend/tests/bug72286.phpt deleted file mode 100644 index 0f6184d91c46c..0000000000000 --- a/Zend/tests/bug72286.phpt +++ /dev/null @@ -1,51 +0,0 @@ ---TEST-- -Bug #72286 (Segmentation fault During Garbage Collection) ---FILE-- -circular_reference = $this; - $this->object = new \stdClass(); - } - - public function __destruct() - { - // we try to avoid accessing $this->object by returning early but the object exists - if (!$this->object) { // without this expression involving the object, the segfault does not happen - var_dump('the object exists'); - return; - } - - var_dump('segfaults here:'); - // and then access the object (which seemingly has already been garbage collected) - var_dump($this->object); - var_dump('will not get here'); - } -} - -class SomeContainer -{ - public function run() - { - new SegfaultScenario(); - } -} - -$container = new SomeContainer(); -$container->run(); - -var_dump('we are about to segfault'); -gc_collect_cycles(); -var_dump('will not get here'); ---EXPECTF-- -string(24) "we are about to segfault" -string(15) "segfaults here:" -object(stdClass)#%d (0) { -} -string(17) "will not get here" -string(17) "will not get here" diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c index 7ad734019b215..e72655c71ce03 100644 --- a/Zend/zend_gc.c +++ b/Zend/zend_gc.c @@ -650,7 +650,6 @@ static void zval_collect_white(zval *pz TSRMLS_DC) if (!props) { /* restore refcount and put into list to free */ - obj->refcount = 1; pz->refcount__gc++; ((zval_gc_info*)pz)->u.next = GC_G(zval_to_free); GC_G(zval_to_free) = (zval_gc_info*)pz; @@ -757,7 +756,6 @@ static void gc_collect_roots(TSRMLS_D) struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj; zval z; - obj->refcount = 1; GC_SET_ADDRESS(obj->buffered, NULL); INIT_PZVAL(&z); Z_OBJ_HANDLE(z) = current->handle; @@ -804,7 +802,7 @@ ZEND_API int gc_collect_cycles(TSRMLS_D) if (Z_TYPE(p->z) == IS_OBJECT) { if (EG(objects_store).object_buckets && EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].valid && - EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].bucket.obj.refcount <= 1 && + EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].bucket.obj.refcount <= 0 && EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].bucket.obj.dtor && !EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].destructor_called) { @@ -825,7 +823,7 @@ ZEND_API int gc_collect_cycles(TSRMLS_D) if (Z_TYPE(p->z) == IS_OBJECT) { if (EG(objects_store).object_buckets && EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].valid && - --EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].bucket.obj.refcount <= 0) { + EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].bucket.obj.refcount <= 0) { EG(objects_store).object_buckets[Z_OBJ_HANDLE(p->z)].bucket.obj.refcount = 1; Z_TYPE(p->z) = IS_NULL; zend_objects_store_del_ref_by_handle_ex(Z_OBJ_HANDLE(p->z), Z_OBJ_HT(p->z) TSRMLS_CC); From eebcbd5de38a0f1c2876035402cb770e37476519 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 17 Jul 2016 16:34:21 -0700 Subject: [PATCH 050/206] Fix bug #72603: Out of bound read in exif_process_IFD_in_MAKERNOTE --- ext/exif/exif.c | 22 ++++++++++++++++++++-- ext/exif/tests/bug72603.jpeg | Bin 0 -> 3711 bytes ext/exif/tests/bug72603.phpt | 11 +++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 ext/exif/tests/bug72603.jpeg create mode 100644 ext/exif/tests/bug72603.phpt diff --git a/ext/exif/exif.c b/ext/exif/exif.c index f366acc552b83..760e7460c3ef9 100644 --- a/ext/exif/exif.c +++ b/ext/exif/exif.c @@ -2742,6 +2742,12 @@ static int exif_process_IFD_in_MAKERNOTE(image_info_type *ImageInfo, char * valu break; } + if (maker_note->offset >= value_len) { + /* Do not go past the value end */ + exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "IFD data too short: 0x%04X offset 0x%04X", value_len, maker_note->offset); + return FALSE; + } + dir_start = value_ptr + maker_note->offset; #ifdef EXIF_DEBUG @@ -2770,10 +2776,19 @@ static int exif_process_IFD_in_MAKERNOTE(image_info_type *ImageInfo, char * valu offset_base = value_ptr; break; case MN_OFFSET_GUESS: + if (maker_note->offset + 10 + 4 >= value_len) { + /* Can not read dir_start+10 since it's beyond value end */ + exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "IFD data too short: 0x%04X", value_len); + return FALSE; + } offset_diff = 2 + NumDirEntries*12 + 4 - php_ifd_get32u(dir_start+10, ImageInfo->motorola_intel); #ifdef EXIF_DEBUG exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Using automatic offset correction: 0x%04X", ((int)dir_start-(int)offset_base+maker_note->offset+displacement) + offset_diff); #endif + if (offset_diff < 0 || offset_diff >= value_len ) { + exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "IFD data bad offset: 0x%04X length 0x%04X", offset_diff, value_len); + return FALSE; + } offset_base = value_ptr + offset_diff; break; default: @@ -2782,7 +2797,7 @@ static int exif_process_IFD_in_MAKERNOTE(image_info_type *ImageInfo, char * valu } if ((2+NumDirEntries*12) > value_len) { - exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Illegal IFD size: 2 + x%04X*12 = x%04X > x%04X", NumDirEntries, 2+NumDirEntries*12, value_len); + exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Illegal IFD size: 2 + 0x%04X*12 = 0x%04X > 0x%04X", NumDirEntries, 2+NumDirEntries*12, value_len); return FALSE; } @@ -3068,7 +3083,10 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha break; case TAG_MAKER_NOTE: - exif_process_IFD_in_MAKERNOTE(ImageInfo, value_ptr, byte_count, offset_base, IFDlength, displacement TSRMLS_CC); + if (!exif_process_IFD_in_MAKERNOTE(ImageInfo, value_ptr, byte_count, offset_base, IFDlength, displacement TSRMLS_CC)) { + EFREE_IF(outside); + return FALSE; + } break; case TAG_EXIF_IFD_POINTER: diff --git a/ext/exif/tests/bug72603.jpeg b/ext/exif/tests/bug72603.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1764c805fbca3b52dafcca95834230c0a93affea GIT binary patch literal 3711 zcmeH@&k6xi6o-HJn85~RX=y1hfuUxB5)YuHl-NoZlGx8mVk?h?oma55InEuku(Fhz z^VQUM@0~wqKECkXJ=ABTA>jKZqyZ2L#)T1s1B|v#=tWs3v0uGU@^W&F+!NmfgtOdn z$^g3+p)B6Y0y#r)#pmLSz(GoUEEge76uvijGTWzFb}gMB@sMxH;3g4Hv6PjGd~KcH ze{F}S$Op1-;S1j|Z2o|*q6M@-Yzy#}Zw^%zEuaNrTcDz70WA>Q0(|YY{94 +--FILE-- + +--EXPECTF-- +Warning: exif_read_data(bug72603.jpeg): IFD data bad offset: 0x058C length 0x001C in %s/bug72603.php on line %d +int(13) \ No newline at end of file From d1a491acf31cf6d2ba65cc7c46fe963a510cd91f Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Mon, 18 Jul 2016 00:17:48 -0700 Subject: [PATCH 051/206] Fix for bug #72558, Integer overflow error within _gdContributionsAlloc() --- ext/gd/libgd/gd.c | 2 +- ext/gd/libgd/gd_interpolation.c | 116 +++++++++++++++++++------------- 2 files changed, 70 insertions(+), 48 deletions(-) diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index 3a9577859e962..c501c676734b3 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -190,7 +190,7 @@ gdImagePtr gdImageCreateTrueColor (int sx, int sy) return NULL; } - if (overflow2(sizeof(int), sx)) { + if (overflow2(sizeof(int *), sx)) { return NULL; } diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c index 4fa23f0a1469a..0ff10b9f4f08e 100644 --- a/ext/gd/libgd/gd_interpolation.c +++ b/ext/gd/libgd/gd_interpolation.c @@ -881,20 +881,39 @@ int getPixelInterpolated(gdImagePtr im, const double x, const double y, const in static inline LineContribType * _gdContributionsAlloc(unsigned int line_length, unsigned int windows_size) { unsigned int u = 0; - LineContribType *res; + LineContribType *res; + int overflow_error = 0; res = (LineContribType *) gdMalloc(sizeof(LineContribType)); if (!res) { return NULL; } - res->WindowSize = windows_size; - res->LineLength = line_length; - res->ContribRow = (ContributionType *) gdMalloc(line_length * sizeof(ContributionType)); - - for (u = 0 ; u < line_length ; u++) { - res->ContribRow[u].Weights = (double *) gdMalloc(windows_size * sizeof(double)); - } - return res; + res->WindowSize = windows_size; + res->LineLength = line_length; + if (overflow2(line_length, sizeof(ContributionType))) { + return NULL; + } + res->ContribRow = (ContributionType *) gdMalloc(line_length * sizeof(ContributionType)); + if (res->ContribRow == NULL) { + gdFree(res); + return NULL; + } + for (u = 0 ; u < line_length ; u++) { + if (overflow2(windows_size, sizeof(double))) { + overflow_error = 1; + } else { + res->ContribRow[u].Weights = (double *) gdMalloc(windows_size * sizeof(double)); + } + if (overflow_error == 1 || res->ContribRow[u].Weights == NULL) { + u--; + while (u >= 0) { + gdFree(res->ContribRow[u].Weights); + u--; + } + return NULL; + } + } + return res; } static inline void _gdContributionsFree(LineContribType * p) @@ -909,59 +928,62 @@ static inline void _gdContributionsFree(LineContribType * p) static inline LineContribType *_gdContributionsCalc(unsigned int line_size, unsigned int src_size, double scale_d, const interpolation_method pFilter) { - double width_d; - double scale_f_d = 1.0; - const double filter_width_d = DEFAULT_BOX_RADIUS; + double width_d; + double scale_f_d = 1.0; + const double filter_width_d = DEFAULT_BOX_RADIUS; int windows_size; unsigned int u; LineContribType *res; + int overflow_error = 0; - if (scale_d < 1.0) { - width_d = filter_width_d / scale_d; - scale_f_d = scale_d; - } else { - width_d= filter_width_d; - } - - windows_size = 2 * (int)ceil(width_d) + 1; - res = _gdContributionsAlloc(line_size, windows_size); + if (scale_d < 1.0) { + width_d = filter_width_d / scale_d; + scale_f_d = scale_d; + } else { + width_d= filter_width_d; + } - for (u = 0; u < line_size; u++) { - const double dCenter = (double)u / scale_d; - /* get the significant edge points affecting the pixel */ - register int iLeft = MAX(0, (int)floor (dCenter - width_d)); - int iRight = MIN((int)ceil(dCenter + width_d), (int)src_size - 1); - double dTotalWeight = 0.0; + windows_size = 2 * (int)ceil(width_d) + 1; + res = _gdContributionsAlloc(line_size, windows_size); + if (res == NULL) { + return NULL; + } + for (u = 0; u < line_size; u++) { + const double dCenter = (double)u / scale_d; + /* get the significant edge points affecting the pixel */ + register int iLeft = MAX(0, (int)floor (dCenter - width_d)); + int iRight = MIN((int)ceil(dCenter + width_d), (int)src_size - 1); + double dTotalWeight = 0.0; int iSrc; - /* Cut edge points to fit in filter window in case of spill-off */ - if (iRight - iLeft + 1 > windows_size) { - if (iLeft < ((int)src_size - 1 / 2)) { - iLeft++; - } else { - iRight--; - } - } + /* Cut edge points to fit in filter window in case of spill-off */ + if (iRight - iLeft + 1 > windows_size) { + if (iLeft < ((int)src_size - 1 / 2)) { + iLeft++; + } else { + iRight--; + } + } - res->ContribRow[u].Left = iLeft; - res->ContribRow[u].Right = iRight; + res->ContribRow[u].Left = iLeft; + res->ContribRow[u].Right = iRight; - for (iSrc = iLeft; iSrc <= iRight; iSrc++) { - dTotalWeight += (res->ContribRow[u].Weights[iSrc-iLeft] = scale_f_d * (*pFilter)(scale_f_d * (dCenter - (double)iSrc))); - } + for (iSrc = iLeft; iSrc <= iRight; iSrc++) { + dTotalWeight += (res->ContribRow[u].Weights[iSrc-iLeft] = scale_f_d * (*pFilter)(scale_f_d * (dCenter - (double)iSrc))); + } if (dTotalWeight < 0.0) { _gdContributionsFree(res); return NULL; } - if (dTotalWeight > 0.0) { - for (iSrc = iLeft; iSrc <= iRight; iSrc++) { - res->ContribRow[u].Weights[iSrc-iLeft] /= dTotalWeight; - } - } - } - return res; + if (dTotalWeight > 0.0) { + for (iSrc = iLeft; iSrc <= iRight; iSrc++) { + res->ContribRow[u].Weights[iSrc-iLeft] /= dTotalWeight; + } + } + } + return res; } static inline void _gdScaleRow(gdImagePtr pSrc, unsigned int src_width, gdImagePtr dst, unsigned int dst_width, unsigned int row, LineContribType *contrib) From 6cb75fb1e8208d79f58351340923059d0d077ee6 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 7 Jul 2016 14:47:55 +0200 Subject: [PATCH 052/206] Fix #70315: 500 Server Error but page is fully rendered That happens because the external libgd uses other error codes than PHP (and the bundled libgd), but the libgd error codes are simply forwarded to php_verror(). We fix that by properly mapping libgd errors to PHP errors. --- ext/gd/gd.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ext/gd/gd.c b/ext/gd/gd.c index cb070abf84cd4..d8114649aeea7 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -69,6 +69,9 @@ static void php_free_ps_enc(zend_rsrc_list_entry *rsrc TSRMLS_DC); #endif #include +#ifndef HAVE_GD_BUNDLED +# include +#endif #include /* 1 Tiny font */ #include /* 2 Small font */ #include /* 3 Medium bold font */ @@ -1099,6 +1102,18 @@ void php_gd_error_method(int type, const char *format, va_list args) { TSRMLS_FETCH(); + switch (type) { + case GD_DEBUG: + case GD_INFO: + case GD_NOTICE: + type = E_NOTICE; + break; + case GD_WARNING: + type = E_WARNING; + break; + default: + type = E_ERROR; + } php_verror(NULL, "", type, format, args TSRMLS_CC); } /* }}} */ From e6c48213c22ed50b2b987b479fcc1ac709394caa Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Mon, 18 Jul 2016 21:44:39 -0700 Subject: [PATCH 053/206] Fix bug #72606: heap-buffer-overflow (write) simplestring_addn simplestring.c --- ext/xmlrpc/libxmlrpc/simplestring.c | 61 +++++++++++++++++------------ ext/xmlrpc/libxmlrpc/simplestring.h | 2 +- 2 files changed, 38 insertions(+), 25 deletions(-) diff --git a/ext/xmlrpc/libxmlrpc/simplestring.c b/ext/xmlrpc/libxmlrpc/simplestring.c index a084d0e64f347..6477734204ba7 100644 --- a/ext/xmlrpc/libxmlrpc/simplestring.c +++ b/ext/xmlrpc/libxmlrpc/simplestring.c @@ -5,28 +5,28 @@ Epinions.com may be contacted at feedback@epinions-inc.com */ -/* - Copyright 2000 Epinions, Inc. +/* + Copyright 2000 Epinions, Inc. - Subject to the following 3 conditions, Epinions, Inc. permits you, free - of charge, to (a) use, copy, distribute, modify, perform and display this - software and associated documentation files (the "Software"), and (b) - permit others to whom the Software is furnished to do so as well. + Subject to the following 3 conditions, Epinions, Inc. permits you, free + of charge, to (a) use, copy, distribute, modify, perform and display this + software and associated documentation files (the "Software"), and (b) + permit others to whom the Software is furnished to do so as well. - 1) The above copyright notice and this permission notice shall be included - without modification in all copies or substantial portions of the - Software. + 1) The above copyright notice and this permission notice shall be included + without modification in all copies or substantial portions of the + Software. - 2) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF - ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY - IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE OR NONINFRINGEMENT. + 2) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF + ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY + IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE OR NONINFRINGEMENT. - 3) IN NO EVENT SHALL EPINIONS, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, - SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOST PROFITS ARISING OUT - OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING - NEGLIGENCE), EVEN IF EPINIONS, INC. IS AWARE OF THE POSSIBILITY OF SUCH - DAMAGES. + 3) IN NO EVENT SHALL EPINIONS, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, + SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOST PROFITS ARISING OUT + OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING + NEGLIGENCE), EVEN IF EPINIONS, INC. IS AWARE OF THE POSSIBILITY OF SUCH + DAMAGES. */ @@ -71,7 +71,7 @@ static const char rcsid[] = "#(@) $Id$"; * * Oh, and it is also binary safe, ie it can handle strings with embedded NULLs, * so long as the real length is passed in. - * + * * And the masses rejoiced. * * BUGS @@ -136,7 +136,7 @@ static void simplestring_init_str(simplestring* string) { * NOTES * This function is very fast as it does not de-allocate any memory. * SEE ALSO - * + * * SOURCE */ void simplestring_clear(simplestring* string) { @@ -190,18 +190,31 @@ void simplestring_free(simplestring* string) { * simplestring_add () * SOURCE */ -void simplestring_addn(simplestring* target, const char* source, int add_len) { +void simplestring_addn(simplestring* target, const char* source, size_t add_len) { + size_t newsize = target->size, incr = 0; if(target && source) { if(!target->str) { simplestring_init_str(target); } + + if((SIZE_MAX - add_len) < target->len || (SIZE_MAX - add_len - 1) < target->len) { + /* check for overflows, if there's a potential overflow do nothing */ + return; + } + if(target->len + add_len + 1 > target->size) { /* newsize is current length + new length */ - int newsize = target->len + add_len + 1; - int incr = target->size * 2; + newsize = target->len + add_len + 1; + incr = target->size * 2; /* align to SIMPLESTRING_INCR increments */ - newsize = newsize - (newsize % incr) + incr; + if (incr) { + newsize = newsize - (newsize % incr) + incr; + } + if(newsize < (target->len + add_len + 1)) { + /* some kind of overflow happened */ + return; + } target->str = (char*)realloc(target->str, newsize); target->size = target->str ? newsize : 0; diff --git a/ext/xmlrpc/libxmlrpc/simplestring.h b/ext/xmlrpc/libxmlrpc/simplestring.h index c5d98cf1d8e01..7e88cd0ef04a1 100644 --- a/ext/xmlrpc/libxmlrpc/simplestring.h +++ b/ext/xmlrpc/libxmlrpc/simplestring.h @@ -63,7 +63,7 @@ void simplestring_init(simplestring* string); void simplestring_clear(simplestring* string); void simplestring_free(simplestring* string); void simplestring_add(simplestring* string, const char* add); -void simplestring_addn(simplestring* string, const char* add, int add_len); +void simplestring_addn(simplestring* string, const char* add, size_t add_len); #ifdef __cplusplus } From f3feddb5b45b5abd93abb1a95044b7e099d51c84 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Mon, 18 Jul 2016 22:20:45 -0700 Subject: [PATCH 054/206] Partial fix for bug #72613 - do not treat negative returns from bz2 as size_t --- ext/bz2/bz2.c | 80 +++++++++++++++++++----------------- ext/bz2/tests/72613.bz2 | Bin 0 -> 351 bytes ext/bz2/tests/bug72613.phpt | 23 +++++++++++ 3 files changed, 65 insertions(+), 38 deletions(-) create mode 100644 ext/bz2/tests/72613.bz2 create mode 100644 ext/bz2/tests/bug72613.phpt diff --git a/ext/bz2/bz2.c b/ext/bz2/bz2.c index de3250ef7296c..7cfcaa8f58834 100644 --- a/ext/bz2/bz2.c +++ b/ext/bz2/bz2.c @@ -15,7 +15,7 @@ | Author: Sterling Hughes | +----------------------------------------------------------------------+ */ - + /* $Id$ */ #ifdef HAVE_CONFIG_H @@ -137,29 +137,33 @@ struct php_bz2_stream_data_t { static size_t php_bz2iop_read(php_stream *stream, char *buf, size_t count TSRMLS_DC) { struct php_bz2_stream_data_t *self = (struct php_bz2_stream_data_t *) stream->abstract; - size_t ret; - - ret = BZ2_bzread(self->bz_file, buf, count); + int bz2_ret; + + bz2_ret = BZ2_bzread(self->bz_file, buf, count); - if (ret == 0) { + if (bz2_ret < 0) { + stream->eof = 1; + return -1; + } + if (bz2_ret == 0) { stream->eof = 1; } - return ret; + return (size_t)bz2_ret; } static size_t php_bz2iop_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC) { struct php_bz2_stream_data_t *self = (struct php_bz2_stream_data_t *) stream->abstract; - return BZ2_bzwrite(self->bz_file, (char*)buf, count); + return BZ2_bzwrite(self->bz_file, (char*)buf, count); } static int php_bz2iop_close(php_stream *stream, int close_handle TSRMLS_DC) { struct php_bz2_stream_data_t *self = (struct php_bz2_stream_data_t *)stream->abstract; int ret = EOF; - + if (close_handle) { BZ2_bzclose(self->bz_file); } @@ -191,11 +195,11 @@ php_stream_ops php_stream_bz2io_ops = { }; /* {{{ Bzip2 stream openers */ -PHP_BZ2_API php_stream *_php_stream_bz2open_from_BZFILE(BZFILE *bz, +PHP_BZ2_API php_stream *_php_stream_bz2open_from_BZFILE(BZFILE *bz, char *mode, php_stream *innerstream STREAMS_DC TSRMLS_DC) { struct php_bz2_stream_data_t *self; - + self = emalloc(sizeof(*self)); self->stream = innerstream; @@ -226,7 +230,7 @@ PHP_BZ2_API php_stream *_php_stream_bz2open(php_stream_wrapper *wrapper, virtual_filepath_ex(path, &path_copy, NULL TSRMLS_CC); #else path_copy = path; -#endif +#endif if (php_check_open_basedir(path_copy TSRMLS_CC)) { #ifdef VIRTUAL_DIR @@ -234,7 +238,7 @@ PHP_BZ2_API php_stream *_php_stream_bz2open(php_stream_wrapper *wrapper, #endif return NULL; } - + /* try and open it directly first */ bz_file = BZ2_bzopen(path_copy, mode); @@ -245,11 +249,11 @@ PHP_BZ2_API php_stream *_php_stream_bz2open(php_stream_wrapper *wrapper, free(path_copy); #endif path_copy = NULL; - + if (bz_file == NULL) { /* that didn't work, so try and get something from the network/wrapper */ stream = php_stream_open_wrapper(path, mode, options | STREAM_WILL_CAST, opened_path); - + if (stream) { int fd; if (SUCCESS == php_stream_cast(stream, PHP_STREAM_AS_FD, (void **) &fd, REPORT_ERRORS)) { @@ -264,7 +268,7 @@ PHP_BZ2_API php_stream *_php_stream_bz2open(php_stream_wrapper *wrapper, VCWD_UNLINK(*opened_path); } } - + if (bz_file) { retstream = _php_stream_bz2open_from_BZFILE(bz_file, mode, stream STREAMS_REL_CC TSRMLS_CC); if (retstream) { @@ -340,7 +344,7 @@ static PHP_FUNCTION(bzread) if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &bz, &len)) { RETURN_FALSE; } - + php_stream_from_zval(stream, &bz); if ((len + 1) < 1) { @@ -350,13 +354,13 @@ static PHP_FUNCTION(bzread) Z_STRVAL_P(return_value) = emalloc(len + 1); Z_STRLEN_P(return_value) = php_stream_read(stream, Z_STRVAL_P(return_value), len); - + if (Z_STRLEN_P(return_value) < 0) { efree(Z_STRVAL_P(return_value)); php_error_docref(NULL TSRMLS_CC, E_WARNING, "could not read valid bz2 data from stream"); - RETURN_FALSE; + RETURN_FALSE; } - + Z_STRVAL_P(return_value)[Z_STRLEN_P(return_value)] = 0; Z_TYPE_P(return_value) = IS_STRING; } @@ -372,7 +376,7 @@ static PHP_FUNCTION(bzopen) BZFILE *bz; /* The compressed file stream */ php_stream *stream = NULL; - + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Zs", &file, &mode, &mode_len) == FAILURE) { return; } @@ -388,15 +392,15 @@ static PHP_FUNCTION(bzopen) php_error_docref(NULL TSRMLS_CC, E_WARNING, "filename cannot be empty"); RETURN_FALSE; } - + if (CHECK_ZVAL_NULL_PATH(*file)) { RETURN_FALSE; } stream = php_stream_bz2open(NULL, - Z_STRVAL_PP(file), - mode, - REPORT_ERRORS, + Z_STRVAL_PP(file), + mode, + REPORT_ERRORS, NULL); } else if (Z_TYPE_PP(file) == IS_RESOURCE) { /* If it is a resource, than its a stream resource */ @@ -405,7 +409,7 @@ static PHP_FUNCTION(bzopen) php_stream_from_zval(stream, file); stream_mode_len = strlen(stream->mode); - + if (stream_mode_len != 1 && !(stream_mode_len == 2 && memchr(stream->mode, 'b', 2))) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "cannot use stream opened in mode '%s'", stream->mode); RETURN_FALSE; @@ -439,7 +443,7 @@ static PHP_FUNCTION(bzopen) if (FAILURE == php_stream_cast(stream, PHP_STREAM_AS_FD, (void *) &fd, REPORT_ERRORS)) { RETURN_FALSE; } - + bz = BZ2_bzdopen(fd, mode); stream = php_stream_bz2open_from_BZFILE(bz, mode, stream); @@ -493,7 +497,7 @@ static PHP_FUNCTION(bzcompress) work_factor = 0, /* Work factor for compression algorithm */ argc; /* Argument count */ int source_len; /* Length of the source data */ - unsigned int dest_len; /* Length of the destination buffer */ + unsigned int dest_len; /* Length of the destination buffer */ argc = ZEND_NUM_ARGS(); @@ -502,19 +506,19 @@ static PHP_FUNCTION(bzcompress) } /* Assign them to easy to use variables, dest_len is initially the length of the data - + .01 x length of data + 600 which is the largest size the results of the compression - could possibly be, at least that's what the libbz2 docs say (thanks to jeremy@nirvani.net + + .01 x length of data + 600 which is the largest size the results of the compression + could possibly be, at least that's what the libbz2 docs say (thanks to jeremy@nirvani.net for pointing this out). */ dest_len = (unsigned int) (source_len + (0.01 * source_len) + 600); - + /* Allocate the destination buffer */ dest = emalloc(dest_len + 1); - + /* Handle the optional arguments */ if (argc > 1) { block_size = zblock_size; } - + if (argc > 2) { work_factor = zwork_factor; } @@ -564,7 +568,7 @@ static PHP_FUNCTION(bzdecompress) /* in most cases bz2 offers at least 2:1 compression, so we use that as our base */ bzs.avail_out = source_len * 2; bzs.next_out = dest = emalloc(bzs.avail_out + 1); - + while ((error = BZ2_bzDecompress(&bzs)) == BZ_OK && bzs.avail_in > 0) { /* compression is better then 2:1, need to allocate more memory */ bzs.avail_out = source_len; @@ -590,13 +594,13 @@ static PHP_FUNCTION(bzdecompress) /* {{{ php_bz2_error() The central error handling interface, does the work for bzerrno, bzerrstr and bzerror */ static void php_bz2_error(INTERNAL_FUNCTION_PARAMETERS, int opt) -{ +{ zval *bzp; /* BZip2 Resource Pointer */ php_stream *stream; const char *errstr; /* Error string */ int errnum; /* Error number */ struct php_bz2_stream_data_t *self; - + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &bzp) == FAILURE) { return; } @@ -608,10 +612,10 @@ static void php_bz2_error(INTERNAL_FUNCTION_PARAMETERS, int opt) } self = (struct php_bz2_stream_data_t *) stream->abstract; - + /* Fetch the error information */ errstr = BZ2_bzerror(self->bz_file, &errnum); - + /* Determine what to return */ switch (opt) { case PHP_BZ_ERRNO: @@ -622,7 +626,7 @@ static void php_bz2_error(INTERNAL_FUNCTION_PARAMETERS, int opt) break; case PHP_BZ_ERRBOTH: array_init(return_value); - + add_assoc_long (return_value, "errno", errnum); add_assoc_string(return_value, "errstr", (char*)errstr, 1); break; diff --git a/ext/bz2/tests/72613.bz2 b/ext/bz2/tests/72613.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..0b932f8d912584371d1164b07434e690593332cb GIT binary patch literal 351 zcmZXOu@S;B5CoMG(}DwX4;8?;10quaUA#L}DW(I54!}O{UM~$Z{*mn0>2FW>=d15; zXj{;!M~D|SjBusIafLs6q4Yusd8K!_F_&08U5AHzmP zTNxhjDaM0l<#BI({OA|L)F)-N4scWfR>h%pvbYL5;6ZLbkBD?)P3&e5ScC!J^aCNF BLi+#! literal 0 HcmV?d00001 diff --git a/ext/bz2/tests/bug72613.phpt b/ext/bz2/tests/bug72613.phpt new file mode 100644 index 0000000000000..82547e6ae071c --- /dev/null +++ b/ext/bz2/tests/bug72613.phpt @@ -0,0 +1,23 @@ +--TEST-- +Bug #72613 (Inadequate error handling in bzread()) +--SKIPIF-- + +--FILE-- + +DONE +--EXPECT-- +DONE \ No newline at end of file From 41131cd41d2fd2e0c2f332a27988df75659c42e4 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Mon, 18 Jul 2016 23:21:51 -0700 Subject: [PATCH 055/206] Fix bug #72618: NULL Pointer Dereference in exif_process_user_comment --- ext/exif/exif.c | 17 +++++++++++------ ext/exif/tests/bug72618.jpg | Bin 0 -> 3711 bytes ext/exif/tests/bug72618.phpt | 11 +++++++++++ 3 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 ext/exif/tests/bug72618.jpg create mode 100644 ext/exif/tests/bug72618.phpt diff --git a/ext/exif/exif.c b/ext/exif/exif.c index 760e7460c3ef9..74b652b3ebe78 100644 --- a/ext/exif/exif.c +++ b/ext/exif/exif.c @@ -2623,6 +2623,7 @@ static int exif_process_user_comment(image_info_type *ImageInfo, char **pszInfoP *pszEncoding = NULL; /* Copy the comment */ if (ByteCount>=8) { + const zend_encoding *from, *to; if (!memcmp(szValuePtr, "UNICODE\0", 8)) { *pszEncoding = estrdup((const char*)szValuePtr); szValuePtr = szValuePtr+8; @@ -2643,14 +2644,16 @@ static int exif_process_user_comment(image_info_type *ImageInfo, char **pszInfoP } else { decode = ImageInfo->decode_unicode_le; } + to = zend_multibyte_fetch_encoding(ImageInfo->encode_unicode TSRMLS_CC); + from = zend_multibyte_fetch_encoding(decode TSRMLS_CC); /* XXX this will fail again if encoding_converter returns on error something different than SIZE_MAX */ - if (zend_multibyte_encoding_converter( + if (!to || !from || zend_multibyte_encoding_converter( (unsigned char**)pszInfoPtr, &len, (unsigned char*)szValuePtr, ByteCount, - zend_multibyte_fetch_encoding(ImageInfo->encode_unicode TSRMLS_CC), - zend_multibyte_fetch_encoding(decode TSRMLS_CC) + to, + from TSRMLS_CC) == (size_t)-1) { len = exif_process_string_raw(pszInfoPtr, szValuePtr, ByteCount); } @@ -2665,13 +2668,15 @@ static int exif_process_user_comment(image_info_type *ImageInfo, char **pszInfoP szValuePtr = szValuePtr+8; ByteCount -= 8; /* XXX this will fail again if encoding_converter returns on error something different than SIZE_MAX */ - if (zend_multibyte_encoding_converter( + to = zend_multibyte_fetch_encoding(ImageInfo->encode_jis TSRMLS_CC); + from = zend_multibyte_fetch_encoding(ImageInfo->motorola_intel ? ImageInfo->decode_jis_be : ImageInfo->decode_jis_le TSRMLS_CC); + if (!to || !from || zend_multibyte_encoding_converter( (unsigned char**)pszInfoPtr, &len, (unsigned char*)szValuePtr, ByteCount, - zend_multibyte_fetch_encoding(ImageInfo->encode_jis TSRMLS_CC), - zend_multibyte_fetch_encoding(ImageInfo->motorola_intel ? ImageInfo->decode_jis_be : ImageInfo->decode_jis_le TSRMLS_CC) + to, + from TSRMLS_CC) == (size_t)-1) { len = exif_process_string_raw(pszInfoPtr, szValuePtr, ByteCount); } diff --git a/ext/exif/tests/bug72618.jpg b/ext/exif/tests/bug72618.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0a61ae2e020aec43da98b9fdf55afb67d71c4991 GIT binary patch literal 3711 zcmeH~&k6xi6o-HJm=WbqSz21kOJJx`EbszKN{OvxA&ISKC9#!9!psAtgMLK}Zn!$7B0sPKGQc+CR!edP#p13tqR7%7nb~ znclDVFHa%&W!?{8_=Z9A2kC0mfEtLb0lxChqKZZhsDa2DC~MS!8i=d`zBb%W@bmb0 P1@+Is`I>5PJQ=?Lo6++x literal 0 HcmV?d00001 diff --git a/ext/exif/tests/bug72618.phpt b/ext/exif/tests/bug72618.phpt new file mode 100644 index 0000000000000..424c0ec402380 --- /dev/null +++ b/ext/exif/tests/bug72618.phpt @@ -0,0 +1,11 @@ +--TEST-- +Bug 72618 (NULL Pointer Dereference in exif_process_user_comment) +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +Warning: exif_read_data(bug72618.jpg): IFD data bad offset: 0x058E length 0x0030 in %s/bug72618.php on line %d +int(13) \ No newline at end of file From 1364742be9757e594fd1b203d45805106ecd31c7 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Mon, 18 Jul 2016 23:30:51 -0700 Subject: [PATCH 056/206] Fix tests --- ext/exif/tests/bug54002.phpt | 6 +----- ext/exif/tests/bug62523_2.phpt | 6 ++++-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/ext/exif/tests/bug54002.phpt b/ext/exif/tests/bug54002.phpt index c51fa58897bb5..8f85339190ace 100644 --- a/ext/exif/tests/bug54002.phpt +++ b/ext/exif/tests/bug54002.phpt @@ -13,8 +13,4 @@ exif_read_data(__DIR__ . '/bug54002_2.jpeg'); --EXPECTF-- Warning: exif_read_data(bug54002_1.jpeg): Process tag(x0205=UndefinedTa): Illegal byte_count in %sbug54002.php on line %d -Warning: exif_read_data(bug54002_1.jpeg): Process tag(xA000=FlashPixVer): Illegal pointer offset(%s) in %sbug54002.php on line %d - -Warning: exif_read_data(bug54002_2.jpeg): Process tag(x0205=UndefinedTa): Illegal byte_count in %sbug54002.php on line %d - -Warning: exif_read_data(bug54002_2.jpeg): Process tag(xA000=FlashPixVer): Illegal pointer offset(%s) in %sbug54002.php on line %d +Warning: exif_read_data(bug54002_2.jpeg): Process tag(x0205=UndefinedTa): Illegal byte_count in %sbug54002.php on line %d \ No newline at end of file diff --git a/ext/exif/tests/bug62523_2.phpt b/ext/exif/tests/bug62523_2.phpt index ddc8ae824e82e..c533d42652235 100644 --- a/ext/exif/tests/bug62523_2.phpt +++ b/ext/exif/tests/bug62523_2.phpt @@ -10,7 +10,9 @@ echo "Test\n"; var_dump(count(exif_read_data(__DIR__."/bug62523_2.jpg"))); ?> Done ---EXPECT-- +--EXPECTF-- Test -int(76) + +Warning: exif_read_data(bug62523_2.jpg): IFD data bad offset: 0xADB23672 length 0x0D94 in %s/bug62523_2.php on line %d +int(30) Done From 0fbcff1b35c1005b8d2cdfd33184867912d9d83a Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 19 Jul 2016 13:37:23 +0700 Subject: [PATCH 057/206] fix #72512, invalid read or write for palette image when invalid transparent index is used --- ext/gd/libgd/gd.c | 13 ++++++++----- ext/gd/libgd/gd_interpolation.c | 8 +++++++- ext/gd/tests/bug72512.phpt | 17 +++++++++++++++++ 3 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 ext/gd/tests/bug72512.phpt diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index 4dad95ae3930b..927ecc54390e7 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -599,15 +599,18 @@ void gdImageColorDeallocate (gdImagePtr im, int color) void gdImageColorTransparent (gdImagePtr im, int color) { + if (color < 0) { + return; + } if (!im->trueColor) { + if((color >= im->colorsTotal)) { + return; + } + /* Make the old transparent color opaque again */ if (im->transparent != -1) { im->alpha[im->transparent] = gdAlphaOpaque; } - if (color > -1 && color < im->colorsTotal && color < gdMaxColors) { - im->alpha[color] = gdAlphaTransparent; - } else { - return; - } + im->alpha[color] = gdAlphaTransparent; } im->transparent = color; } diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c index 4fa23f0a1469a..81ea88525a27e 100644 --- a/ext/gd/libgd/gd_interpolation.c +++ b/ext/gd/libgd/gd_interpolation.c @@ -1225,7 +1225,13 @@ static gdImagePtr gdImageScaleBilinearPalette(gdImagePtr im, const unsigned int if (new_img == NULL) { return NULL; } - new_img->transparent = gdTrueColorAlpha(im->red[transparent], im->green[transparent], im->blue[transparent], im->alpha[transparent]); + + if (transparent < 0) { + /* uninitialized */ + new_img->transparent = -1; + } else { + new_img->transparent = gdTrueColorAlpha(im->red[transparent], im->green[transparent], im->blue[transparent], im->alpha[transparent]); + } for (i=0; i < _height; i++) { long j; diff --git a/ext/gd/tests/bug72512.phpt b/ext/gd/tests/bug72512.phpt new file mode 100644 index 0000000000000..2a2024d4cbfdc --- /dev/null +++ b/ext/gd/tests/bug72512.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #19366 (gdimagefill() function crashes (fixed in bundled libgd)) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK + From 2fbce5f51f4ba01e4d0de3b8592bb14773a98d4d Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 19 Jul 2016 14:11:44 +0700 Subject: [PATCH 058/206] fix #72519, possible OOB using imagegif --- ext/gd/libgd/gd_gif_out.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/ext/gd/libgd/gd_gif_out.c b/ext/gd/libgd/gd_gif_out.c index 14045385ab834..0178dd9741dc4 100644 --- a/ext/gd/libgd/gd_gif_out.c +++ b/ext/gd/libgd/gd_gif_out.c @@ -601,14 +601,26 @@ compress(int init_bits, gdIOCtxPtr outfile, gdImagePtr im, GifCtx *ctx) * code in turn. When the buffer fills up empty it and start over. */ -static unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F, +static const unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F, 0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF, 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF }; + +/* Arbitrary value to mark output is done. When we see EOFCode, then we don't + * expect to see any more data. If we do (e.g. corrupt image inputs), cur_bits + * might be negative, so flag it to return early. + */ +#define CUR_BITS_FINISHED -1000 + + static void output(code_int code, GifCtx *ctx) { + if (ctx->cur_bits == CUR_BITS_FINISHED) { + return; + } + ctx->cur_accum &= masks[ ctx->cur_bits ]; if( ctx->cur_bits > 0 ) @@ -655,8 +667,10 @@ output(code_int code, GifCtx *ctx) ctx->cur_bits -= 8; } - flush_char(ctx); + /* Flag that it's done to prevent re-entry. */ + ctx->cur_bits = CUR_BITS_FINISHED; + flush_char(ctx); } } From 33c1a55b40900c61ce7e162648eb71ce9b25837c Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 19 Jul 2016 00:13:25 -0700 Subject: [PATCH 059/206] Apparently some envs miss SIZE_MAX --- ext/xmlrpc/libxmlrpc/simplestring.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ext/xmlrpc/libxmlrpc/simplestring.c b/ext/xmlrpc/libxmlrpc/simplestring.c index 6477734204ba7..c88754fb9ae18 100644 --- a/ext/xmlrpc/libxmlrpc/simplestring.c +++ b/ext/xmlrpc/libxmlrpc/simplestring.c @@ -172,6 +172,9 @@ void simplestring_free(simplestring* string) { } /******/ +#ifndef SIZE_MAX +#define SIZE_MAX ((size_t)-1) +#endif /****f* FUNC/simplestring_addn * NAME * simplestring_addn From 7b1572b1772dc92b2e73b7cf6d51dca88a60f411 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 19 Jul 2016 07:11:44 +0700 Subject: [PATCH 060/206] fix #72519, possible OOB using imagegif fix #72519, possible OOB using imagegif --- ext/gd/libgd/gd_gif_out.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/ext/gd/libgd/gd_gif_out.c b/ext/gd/libgd/gd_gif_out.c index 14045385ab834..0178dd9741dc4 100644 --- a/ext/gd/libgd/gd_gif_out.c +++ b/ext/gd/libgd/gd_gif_out.c @@ -601,14 +601,26 @@ compress(int init_bits, gdIOCtxPtr outfile, gdImagePtr im, GifCtx *ctx) * code in turn. When the buffer fills up empty it and start over. */ -static unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F, +static const unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F, 0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF, 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF }; + +/* Arbitrary value to mark output is done. When we see EOFCode, then we don't + * expect to see any more data. If we do (e.g. corrupt image inputs), cur_bits + * might be negative, so flag it to return early. + */ +#define CUR_BITS_FINISHED -1000 + + static void output(code_int code, GifCtx *ctx) { + if (ctx->cur_bits == CUR_BITS_FINISHED) { + return; + } + ctx->cur_accum &= masks[ ctx->cur_bits ]; if( ctx->cur_bits > 0 ) @@ -655,8 +667,10 @@ output(code_int code, GifCtx *ctx) ctx->cur_bits -= 8; } - flush_char(ctx); + /* Flag that it's done to prevent re-entry. */ + ctx->cur_bits = CUR_BITS_FINISHED; + flush_char(ctx); } } From 928aecc002e906b309b28f0062f03d4e5eda3e45 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 19 Jul 2016 13:37:23 +0700 Subject: [PATCH 061/206] fix #72512, invalid read or write for palette image when invalid transparent index is used Conflicts: ext/gd/libgd/gd.c --- ext/gd/libgd/gd.c | 4 ++-- ext/gd/libgd/gd_interpolation.c | 8 +++++++- ext/gd/tests/bug72512.phpt | 17 +++++++++++++++++ 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 ext/gd/tests/bug72512.phpt diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index c501c676734b3..9fce60b5d1e0d 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -602,11 +602,11 @@ void gdImageColorTransparent (gdImagePtr im, int color) if (color < 0) { return; } - if (!im->trueColor) { - if((color >= gdMaxColors)) { + if((color >= im->colorsTotal)) { return; } + /* Make the old transparent color opaque again */ if (im->transparent != -1) { im->alpha[im->transparent] = gdAlphaOpaque; } diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c index 0ff10b9f4f08e..ca106add7c0f8 100644 --- a/ext/gd/libgd/gd_interpolation.c +++ b/ext/gd/libgd/gd_interpolation.c @@ -1247,7 +1247,13 @@ static gdImagePtr gdImageScaleBilinearPalette(gdImagePtr im, const unsigned int if (new_img == NULL) { return NULL; } - new_img->transparent = gdTrueColorAlpha(im->red[transparent], im->green[transparent], im->blue[transparent], im->alpha[transparent]); + + if (transparent < 0) { + /* uninitialized */ + new_img->transparent = -1; + } else { + new_img->transparent = gdTrueColorAlpha(im->red[transparent], im->green[transparent], im->blue[transparent], im->alpha[transparent]); + } for (i=0; i < _height; i++) { long j; diff --git a/ext/gd/tests/bug72512.phpt b/ext/gd/tests/bug72512.phpt new file mode 100644 index 0000000000000..2a2024d4cbfdc --- /dev/null +++ b/ext/gd/tests/bug72512.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #19366 (gdimagefill() function crashes (fixed in bundled libgd)) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +OK + From 8dc5ffa479f886fae235d4ff6391e14546a3fda9 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 19 Jul 2016 14:11:44 +0700 Subject: [PATCH 062/206] fix #72519, possible OOB using imagegif --- ext/gd/libgd/gd_gif_out.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/ext/gd/libgd/gd_gif_out.c b/ext/gd/libgd/gd_gif_out.c index 14045385ab834..0178dd9741dc4 100644 --- a/ext/gd/libgd/gd_gif_out.c +++ b/ext/gd/libgd/gd_gif_out.c @@ -601,14 +601,26 @@ compress(int init_bits, gdIOCtxPtr outfile, gdImagePtr im, GifCtx *ctx) * code in turn. When the buffer fills up empty it and start over. */ -static unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F, +static const unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F, 0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF, 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF }; + +/* Arbitrary value to mark output is done. When we see EOFCode, then we don't + * expect to see any more data. If we do (e.g. corrupt image inputs), cur_bits + * might be negative, so flag it to return early. + */ +#define CUR_BITS_FINISHED -1000 + + static void output(code_int code, GifCtx *ctx) { + if (ctx->cur_bits == CUR_BITS_FINISHED) { + return; + } + ctx->cur_accum &= masks[ ctx->cur_bits ]; if( ctx->cur_bits > 0 ) @@ -655,8 +667,10 @@ output(code_int code, GifCtx *ctx) ctx->cur_bits -= 8; } - flush_char(ctx); + /* Flag that it's done to prevent re-entry. */ + ctx->cur_bits = CUR_BITS_FINISHED; + flush_char(ctx); } } From 47d6ea6332d457f16ab4b33f42fdb62e66acb73f Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 19 Jul 2016 01:47:27 -0700 Subject: [PATCH 063/206] Fix memory leak --- ext/gd/libgd/gd_interpolation.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c index ca106add7c0f8..37e14a1c0b64b 100644 --- a/ext/gd/libgd/gd_interpolation.c +++ b/ext/gd/libgd/gd_interpolation.c @@ -891,6 +891,7 @@ static inline LineContribType * _gdContributionsAlloc(unsigned int line_length, res->WindowSize = windows_size; res->LineLength = line_length; if (overflow2(line_length, sizeof(ContributionType))) { + gdFree(res); return NULL; } res->ContribRow = (ContributionType *) gdMalloc(line_length * sizeof(ContributionType)); From df0951508920d3e8400c99d058fa213397b752f8 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 19 Jul 2016 15:51:43 +0700 Subject: [PATCH 064/206] improve fix #72558, while (u>=0) with unsigned int will always be true --- ext/gd/libgd/gd_interpolation.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c index 9481e3fd1dd4f..9a7789e365f79 100644 --- a/ext/gd/libgd/gd_interpolation.c +++ b/ext/gd/libgd/gd_interpolation.c @@ -904,11 +904,12 @@ static inline LineContribType * _gdContributionsAlloc(unsigned int line_length, res->ContribRow[u].Weights = (double *) gdMalloc(windows_size * sizeof(double)); } if (overflow_error == 1 || res->ContribRow[u].Weights == NULL) { + unsigned int i; u--; - while (u >= 0) { - gdFree(res->ContribRow[u].Weights); - u--; + for (i=0;i<=u;i++) { + gdFree(res->ContribRow[i].Weights); } + gdFree(res); return NULL; } } From 75211491936ab23281e7d6d45a1fd78076571d0c Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 19 Jul 2016 15:51:43 +0700 Subject: [PATCH 065/206] improve fix #72558, while (u>=0) with unsigned int will always be true --- ext/gd/libgd/gd_interpolation.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c index 37e14a1c0b64b..e00135ae713fb 100644 --- a/ext/gd/libgd/gd_interpolation.c +++ b/ext/gd/libgd/gd_interpolation.c @@ -906,11 +906,12 @@ static inline LineContribType * _gdContributionsAlloc(unsigned int line_length, res->ContribRow[u].Weights = (double *) gdMalloc(windows_size * sizeof(double)); } if (overflow_error == 1 || res->ContribRow[u].Weights == NULL) { + unsigned int i; u--; - while (u >= 0) { - gdFree(res->ContribRow[u].Weights); - u--; + for (i=0;i<=u;i++) { + gdFree(res->ContribRow[i].Weights); } + gdFree(res); return NULL; } } From 48e76abadd17a090259db77f3294d870fbc31ba5 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 19 Jul 2016 16:33:17 +0700 Subject: [PATCH 066/206] improve fix #72558, free contribRow as well --- ext/gd/libgd/gd_interpolation.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c index 9a7789e365f79..fd91e56535cf3 100644 --- a/ext/gd/libgd/gd_interpolation.c +++ b/ext/gd/libgd/gd_interpolation.c @@ -909,6 +909,7 @@ static inline LineContribType * _gdContributionsAlloc(unsigned int line_length, for (i=0;i<=u;i++) { gdFree(res->ContribRow[i].Weights); } + gdFree(res->ContribRow); gdFree(res); return NULL; } From 1d69028d2f15216d128b5a6e606f763ef09d4991 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 19 Jul 2016 18:23:51 +0700 Subject: [PATCH 067/206] fix #72494, improve input color check and prevent issues when old gd are used, done before gd call --- ext/gd/gd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/gd/gd.c b/ext/gd/gd.c index b843bda98d8c4..533dc502cabd3 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -5116,7 +5116,7 @@ PHP_FUNCTION(imagecropauto) break; case GD_CROP_THRESHOLD: - if (color < 0) { + if (color < 0 || (!gdImageTrueColor(im) && color >= gdImageColorsTotal(im))) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Color argument missing with threshold mode"); RETURN_FALSE; } From b25009fc2c97c6b5a93b3fc5f6a5b221b62f1273 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 19 Jul 2016 19:34:07 +0700 Subject: [PATCH 068/206] #72482, Ilegal write/read access caused by gdImageAALine overflow --- ext/gd/libgd/gd.c | 49 ++--------------------------------------------- 1 file changed, 2 insertions(+), 47 deletions(-) diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index fc63cd379c5b1..49867b1f2a6ac 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -1301,55 +1301,10 @@ void gdImageAALine (gdImagePtr im, int x1, int y1, int x2, int y2, int col) long x, y, inc; long dx, dy,tmp; - if (y1 < 0 && y2 < 0) { - return; - } - if (y1 < 0) { - x1 += (y1 * (x1 - x2)) / (y2 - y1); - y1 = 0; - } - if (y2 < 0) { - x2 += (y2 * (x1 - x2)) / (y2 - y1); - y2 = 0; - } - - /* bottom edge */ - if (y1 >= im->sy && y2 >= im->sy) { - return; - } - if (y1 >= im->sy) { - x1 -= ((im->sy - y1) * (x1 - x2)) / (y2 - y1); - y1 = im->sy - 1; - } - if (y2 >= im->sy) { - x2 -= ((im->sy - y2) * (x1 - x2)) / (y2 - y1); - y2 = im->sy - 1; - } - - /* left edge */ - if (x1 < 0 && x2 < 0) { - return; - } - if (x1 < 0) { - y1 += (x1 * (y1 - y2)) / (x2 - x1); - x1 = 0; - } - if (x2 < 0) { - y2 += (x2 * (y1 - y2)) / (x2 - x1); - x2 = 0; - } - /* right edge */ - if (x1 >= im->sx && x2 >= im->sx) { + /* 2.0.10: Nick Atty: clip to edges of drawing rectangle, return if no points need to be drawn */ + if (!clip_1d(&x1,&y1,&x2,&y2,gdImageSX(im)) || !clip_1d(&y1,&x1,&y2,&x2,gdImageSY(im))) { return; } - if (x1 >= im->sx) { - y1 -= ((im->sx - x1) * (y1 - y2)) / (x2 - x1); - x1 = im->sx - 1; - } - if (x2 >= im->sx) { - y2 -= ((im->sx - x2) * (y1 - y2)) / (x2 - x1); - x2 = im->sx - 1; - } dx = x2 - x1; dy = y2 - y1; From bd1919504b19ada4f801d2fe939e79a07006c52a Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Tue, 19 Jul 2016 14:45:23 +0200 Subject: [PATCH 069/206] fix test portability and expectation The test images for #72603 and #72618 are broken, that seems to be the cause of different test output. Seems also to be platform dependent, so it's not reliable to depend on the exact error output. --- ext/exif/tests/bug62523_2.phpt | 2 +- ext/exif/tests/bug72603.phpt | 4 ++-- ext/exif/tests/bug72618.phpt | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ext/exif/tests/bug62523_2.phpt b/ext/exif/tests/bug62523_2.phpt index c533d42652235..689ed0679dffd 100644 --- a/ext/exif/tests/bug62523_2.phpt +++ b/ext/exif/tests/bug62523_2.phpt @@ -13,6 +13,6 @@ Done --EXPECTF-- Test -Warning: exif_read_data(bug62523_2.jpg): IFD data bad offset: 0xADB23672 length 0x0D94 in %s/bug62523_2.php on line %d +Warning: exif_read_data(bug62523_2.jpg): IFD data bad offset: 0xADB23672 length 0x0D94 in %s%ebug62523_2.php on line %d int(30) Done diff --git a/ext/exif/tests/bug72603.phpt b/ext/exif/tests/bug72603.phpt index a4295f98482bc..71d3943446162 100644 --- a/ext/exif/tests/bug72603.phpt +++ b/ext/exif/tests/bug72603.phpt @@ -7,5 +7,5 @@ Bug #72603 (Out of bound read in exif_process_IFD_in_MAKERNOTE) var_dump(count(exif_read_data(dirname(__FILE__) . "/bug72603.jpeg"))); ?> --EXPECTF-- -Warning: exif_read_data(bug72603.jpeg): IFD data bad offset: 0x058C length 0x001C in %s/bug72603.php on line %d -int(13) \ No newline at end of file +Warning: exif_read_data(bug72603.jpeg): %s in %s%ebug72603.php on line %d +int(%d) diff --git a/ext/exif/tests/bug72618.phpt b/ext/exif/tests/bug72618.phpt index 424c0ec402380..c4fe8e3f90753 100644 --- a/ext/exif/tests/bug72618.phpt +++ b/ext/exif/tests/bug72618.phpt @@ -7,5 +7,5 @@ Bug 72618 (NULL Pointer Dereference in exif_process_user_comment) var_dump(count(exif_read_data(dirname(__FILE__) . "/bug72618.jpg"))); ?> --EXPECTF-- -Warning: exif_read_data(bug72618.jpg): IFD data bad offset: 0x058E length 0x0030 in %s/bug72618.php on line %d -int(13) \ No newline at end of file +Warning: exif_read_data(bug72618.jpg): %s in %s%ebug72618.php on line %d +int(%d) From 828f911efd7cde5c18f36b1339573866663193f1 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sat, 16 Jul 2016 20:42:47 +0200 Subject: [PATCH 070/206] Fix #43828: broken transparency of imagearc for truecolor in blendingmode No pixel of a filled arc must ever be drawn multiple times. Otherwise we get artifacts regarding transparency. That happens with the current implementation of gdImageFilledArc() unless gdChord or gdNoFill are set. When gdPie is set, however, the filled arc is drawn in wedges, which are polygons of three points, and so some overlap is natural. To resolve the issue, we stick with the current algorithm of calculating the wedges, but instead of drawing each polygon separately, we put the relevant points in a large array, and draw a single polygon. That also is supposed to improve the performance considerably. Note that this modification will change the results when gdImageSetStyle() or gdImageSetBrush() are used, but we believe that this modification is also an improvement in this regard, even though it still might not make much sense to use these functions with gdImageFilledArc(). The respective fix for libgd is . --- ext/gd/libgd/gd.c | 41 ++++++++++++------- ext/gd/tests/bug43828.phpt | 23 +++++++++++ .../tests/imagecolorallocatealpha_basic.phpt | 2 +- 3 files changed, 50 insertions(+), 16 deletions(-) create mode 100644 ext/gd/tests/bug43828.phpt diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index 49867b1f2a6ac..59ac42cc29daa 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -1625,9 +1625,7 @@ long lsqrt (long n) /* s and e are integers modulo 360 (degrees), with 0 degrees being the rightmost extreme and degrees changing clockwise. cx and cy are the center in pixels; w and h are the horizontal - and vertical diameter in pixels. Nice interface, but slow. - See gd_arc_f_buggy.c for a better version that doesn't - seem to be bug-free yet. */ + and vertical diameter in pixels. */ void gdImageArc (gdImagePtr im, int cx, int cy, int w, int h, int s, int e, int color) { @@ -1636,8 +1634,8 @@ void gdImageArc (gdImagePtr im, int cx, int cy, int w, int h, int s, int e, int void gdImageFilledArc (gdImagePtr im, int cx, int cy, int w, int h, int s, int e, int color, int style) { - gdPoint pts[3]; - int i; + gdPoint pts[363]; + int i, pti; int lx = 0, ly = 0; int fx = 0, fy = 0; @@ -1665,7 +1663,7 @@ void gdImageFilledArc (gdImagePtr im, int cx, int cy, int w, int h, int s, int e } } - for (i = s; i <= e; i++) { + for (i = s, pti = 1; i <= e; i++, pti++) { int x, y; x = ((long) gdCosT[i % 360] * (long) w / (2 * 1024)) + cx; y = ((long) gdSinT[i % 360] * (long) h / (2 * 1024)) + cy; @@ -1674,19 +1672,28 @@ void gdImageFilledArc (gdImagePtr im, int cx, int cy, int w, int h, int s, int e if (style & gdNoFill) { gdImageLine(im, lx, ly, x, y, color); } else { - /* This is expensive! */ - pts[0].x = lx; - pts[0].y = ly; - pts[1].x = x; - pts[1].y = y; - pts[2].x = cx; - pts[2].y = cy; - gdImageFilledPolygon(im, pts, 3, color); - } + if (y == ly) { + pti--; /* don't add this point */ + if (((i > 270 || i < 90) && x > lx) || ((i > 90 && i < 270) && x < lx)) { + /* replace the old x coord, if increasing on the + right side or decreasing on the left side */ + pts[pti].x = x; + } + } else { + pts[pti].x = x; + pts[pti].y = y; + } + } } } else { fx = x; fy = y; + if (!(style & (gdChord | gdNoFill))) { + pts[0].x = cx; + pts[0].y = cy; + pts[pti].x = x; + pts[pti].y = y; + } } lx = x; ly = y; @@ -1713,6 +1720,10 @@ void gdImageFilledArc (gdImagePtr im, int cx, int cy, int w, int h, int s, int e gdImageLine(im, cx, cy, lx, ly, color); gdImageLine(im, cx, cy, fx, fy, color); } + } else { + pts[pti].x = cx; + pts[pti].y = cy; + gdImageFilledPolygon(im, pts, pti+1, color); } } } diff --git a/ext/gd/tests/bug43828.phpt b/ext/gd/tests/bug43828.phpt new file mode 100644 index 0000000000000..05445608d3e50 --- /dev/null +++ b/ext/gd/tests/bug43828.phpt @@ -0,0 +1,23 @@ +--TEST-- +Bug #43828 (broken transparency of imagearc for truecolor in blendingmode) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +3d82e4525f19790ae1055366e2a36917 diff --git a/ext/gd/tests/imagecolorallocatealpha_basic.phpt b/ext/gd/tests/imagecolorallocatealpha_basic.phpt index bdc417387fe7f..bb2e5a7f4f86a 100644 --- a/ext/gd/tests/imagecolorallocatealpha_basic.phpt +++ b/ext/gd/tests/imagecolorallocatealpha_basic.phpt @@ -26,5 +26,5 @@ var_dump(md5(base64_encode($imgsrc))); var_dump($corA); ?> --EXPECT-- -string(32) "2a6424e4cb4e1b7391dfff74bf136bde" +string(32) "f95489d97f4f1a5c4dc265388922d1ec" int(842163455) \ No newline at end of file From 206d45bc17648c81486446ce7f1061a2430d1c82 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 19 Jul 2016 17:58:29 +0200 Subject: [PATCH 071/206] Update NEWS --- NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS b/NEWS index 9ac1d860bab5c..7b76ccdecda18 100644 --- a/NEWS +++ b/NEWS @@ -30,6 +30,8 @@ PHP NEWS . Fixed bug #72596 (imagetypes function won't advertise WEBP support). (cmb) . Fixed bug #72604 (imagearc() ignores thickness for full arcs). (cmb) . Fixed bug #70315 (500 Server Error but page is fully rendered). (cmb) + . Fixed bug #43828 (broken transparency of imagearc for truecolor in + blendingmode). (cmb) - Intl: . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain From 9cc0a5a9a96aea75066c898fc12a7b8182f6ce25 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Wed, 20 Jul 2016 00:18:25 +0700 Subject: [PATCH 072/206] #72482, revert for 5.6 for now --- ext/gd/libgd/gd.c | 49 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index 49867b1f2a6ac..fc63cd379c5b1 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -1301,10 +1301,55 @@ void gdImageAALine (gdImagePtr im, int x1, int y1, int x2, int y2, int col) long x, y, inc; long dx, dy,tmp; - /* 2.0.10: Nick Atty: clip to edges of drawing rectangle, return if no points need to be drawn */ - if (!clip_1d(&x1,&y1,&x2,&y2,gdImageSX(im)) || !clip_1d(&y1,&x1,&y2,&x2,gdImageSY(im))) { + if (y1 < 0 && y2 < 0) { + return; + } + if (y1 < 0) { + x1 += (y1 * (x1 - x2)) / (y2 - y1); + y1 = 0; + } + if (y2 < 0) { + x2 += (y2 * (x1 - x2)) / (y2 - y1); + y2 = 0; + } + + /* bottom edge */ + if (y1 >= im->sy && y2 >= im->sy) { + return; + } + if (y1 >= im->sy) { + x1 -= ((im->sy - y1) * (x1 - x2)) / (y2 - y1); + y1 = im->sy - 1; + } + if (y2 >= im->sy) { + x2 -= ((im->sy - y2) * (x1 - x2)) / (y2 - y1); + y2 = im->sy - 1; + } + + /* left edge */ + if (x1 < 0 && x2 < 0) { return; } + if (x1 < 0) { + y1 += (x1 * (y1 - y2)) / (x2 - x1); + x1 = 0; + } + if (x2 < 0) { + y2 += (x2 * (y1 - y2)) / (x2 - x1); + x2 = 0; + } + /* right edge */ + if (x1 >= im->sx && x2 >= im->sx) { + return; + } + if (x1 >= im->sx) { + y1 -= ((im->sx - x1) * (y1 - y2)) / (x2 - x1); + x1 = im->sx - 1; + } + if (x2 >= im->sx) { + y2 -= ((im->sx - x2) * (y1 - y2)) / (x2 - x1); + x2 = im->sx - 1; + } dx = x2 - x1; dy = y2 - y1; From 8ebdb1f5fd19cb15dd6ac7700c781ede5dcbba95 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 19 Jul 2016 22:37:03 -0700 Subject: [PATCH 073/206] Improve fix for #72520 --- ext/zip/zip_stream.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/zip/zip_stream.c b/ext/zip/zip_stream.c index a9192d26cb890..45171221d24ed 100644 --- a/ext/zip/zip_stream.c +++ b/ext/zip/zip_stream.c @@ -101,13 +101,13 @@ static int php_zip_ops_stat(php_stream *stream, php_stream_statbuf *ssb TSRMLS_D { struct zip_stat sb; const char *path = stream->orig_path; - int path_len = strlen(stream->orig_path); + size_t path_len = strlen(stream->orig_path); char *file_basename; size_t file_basename_len; char file_dirname[MAXPATHLEN]; struct zip *za; char *fragment; - int fragment_len; + size_t fragment_len; int err; fragment = strchr(path, '#'); From 18ba78e9881b83ea3d978e145dd2501eaf744460 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Wed, 20 Jul 2016 10:19:53 +0100 Subject: [PATCH 074/206] Regenerate with the -b flag, as we used to do. Apparently, Apple's LLVM can't handle it otherwise o_O. --- ext/date/lib/parse_date.c | 48530 +++++++++++++----------------------- 1 file changed, 17497 insertions(+), 31033 deletions(-) diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index b5bc04e83e746..c1804498f48fc 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.16 on Mon Jul 11 11:31:07 2016 */ +/* Generated by re2c 0.16 on Wed Jul 20 10:18:20 2016 */ #line 1 "ext/date/lib/parse_date.re" /* * The MIT License (MIT) @@ -828,6 +828,40 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) { YYCTYPE yych; unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 50, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 8, 32, 24, 48, 0, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 0, 0, 0, 0, 0, 0, + 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 0, 0, 0, 0, 0, + 0, 192, 192, 192, 224, 192, 192, 192, + 224, 192, 192, 192, 192, 192, 224, 192, + 192, 192, 224, 224, 224, 192, 192, 192, + 192, 192, 192, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 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) < 31) YYFILL(31); yych = *YYCURSOR; switch (yych) { @@ -912,7 +946,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) s->pos = cursor; s->line++; goto std; } -#line 916 "" +#line 950 "" yy4: ++YYCURSOR; yy5: @@ -921,94 +955,35 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) add_error(s, "Unexpected character"); goto std; } -#line 925 "" +#line 959 "" yy6: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy54; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy57; - default: goto yy7; + if (yybm[0+yych] & 2) { + goto yy54; } + if (yych <= '/') goto yy7; + if (yych <= '9') goto yy57; yy7: #line 1710 "ext/date/lib/parse_date.re" { goto std; } -#line 949 "" +#line 973 "" yy8: yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy40; - default: goto yy5; - } + if (yych <= '@') goto yy5; + if (yych <= 'Z') goto yy40; + if (yych <= '`') goto yy5; + if (yych <= 'z') goto yy40; + goto yy5; yy9: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 2) { + goto yy54; + } switch (yych) { - case '\t': - case ' ': goto yy54; case '+': case '-': goto yy59; case '0': @@ -1287,22477 +1262,4521 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) yy16: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy103; + if (yych <= '/') goto yy5; + if (yych <= '9') goto yy104; + goto yy5; +yy17: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= 'U') { + if (yych <= 'F') { + if (yych == ')') goto yy107; + if (yych >= 'A') goto yy108; + } else { + if (yych <= 'O') { + if (yych <= 'G') goto yy109; + goto yy108; + } else { + if (yych <= 'P') goto yy110; + if (yych <= 'T') goto yy108; + goto yy111; + } + } + } else { + if (yych <= 'o') { + if (yych <= '`') { + if (yych <= 'Z') goto yy108; + } else { + if (yych == 'g') goto yy113; + goto yy112; + } + } else { + if (yych <= 't') { + if (yych <= 'p') goto yy114; + goto yy112; + } else { + if (yych <= 'u') goto yy115; + if (yych <= 'z') goto yy112; + } + } + } +yy18: +#line 1626 "ext/date/lib/parse_date.re" + { + 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; + } +#line 1318 "" +yy19: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy116; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy108; + goto yy18; + } else { + if (yych <= 'a') goto yy117; + if (yych <= 'z') goto yy112; + goto yy18; + } + } +yy20: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy112; + goto yy18; + } +yy21: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy108; + goto yy118; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy112; + } else { + if (yych <= 'e') goto yy119; + if (yych <= 'z') goto yy112; + goto yy18; + } + } +yy22: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == 'I') goto yy120; + if (yych <= 'K') goto yy108; + goto yy121; + } + } else { + if (yych <= 'i') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + if (yych <= 'h') goto yy112; + goto yy122; + } else { + if (yych == 'l') goto yy123; + if (yych <= 'z') goto yy112; + goto yy18; + } + } +yy23: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy108; + goto yy124; + } + } else { + if (yych <= 'N') { + if (yych == 'I') goto yy125; + goto yy108; + } else { + if (yych <= 'O') goto yy126; + if (yych <= 'Q') goto yy108; + goto yy127; + } + } + } else { + if (yych <= 'i') { + if (yych <= 'd') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy112; + } else { + if (yych <= 'e') goto yy128; + if (yych <= 'h') goto yy112; + goto yy129; + } + } else { + if (yych <= 'q') { + if (yych == 'o') goto yy130; + goto yy112; + } else { + if (yych <= 'r') goto yy131; + if (yych <= 'z') goto yy112; + goto yy18; + } + } + } +yy24: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy108; + } else { + if (yych <= 'Z') { + if (yych <= 'M') goto yy132; + goto yy108; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy112; + goto yy18; + } + } +yy25: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy18; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy18; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + goto yy18; + } else { + if (yych == '/') goto yy18; + goto yy134; + } + } + } else { + if (yych <= 'V') { + if (yych <= 'H') { + if (yych <= '@') goto yy18; + goto yy108; + } else { + if (yych <= 'I') goto yy139; + if (yych <= 'U') goto yy108; + goto yy140; + } + } else { + if (yych <= 'Z') { + if (yych == 'X') goto yy140; + goto yy108; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy112; + goto yy18; + } + } + } +yy26: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'A') goto yy141; + if (yych <= 'T') goto yy108; + goto yy142; + } + } else { + if (yych <= 'a') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy143; + } else { + if (yych == 'u') goto yy144; + if (yych <= 'z') goto yy112; + goto yy18; + } + } +yy27: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy145; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy108; + goto yy18; + } else { + if (yych <= 'a') goto yy146; + if (yych <= 'z') goto yy112; + goto yy18; + } + } +yy28: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'A') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy147; + } else { + if (yych == 'I') goto yy148; + if (yych <= 'N') goto yy108; + goto yy149; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + if (yych <= 'a') goto yy150; + goto yy112; + } else { + if (yych <= 'n') { + if (yych <= 'i') goto yy151; + goto yy112; + } else { + if (yych <= 'o') goto yy152; + if (yych <= 'z') goto yy112; + goto yy18; + } + } + } +yy29: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'D') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy108; + } else { + if (yych <= 'H') { + if (yych <= 'E') goto yy153; + goto yy108; + } else { + if (yych <= 'I') goto yy154; + if (yych <= 'N') goto yy108; + goto yy155; + } + } + } else { + if (yych <= 'h') { + if (yych <= '`') { + if (yych <= 'Z') goto yy108; + goto yy18; + } else { + if (yych == 'e') goto yy156; + goto yy112; + } + } else { + if (yych <= 'n') { + if (yych <= 'i') goto yy157; + goto yy112; + } else { + if (yych <= 'o') goto yy158; + if (yych <= 'z') goto yy112; + goto yy18; + } + } + } +yy30: + yych = *++YYCURSOR; + if (yych <= 'C') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'B') goto yy108; + goto yy159; + } + } else { + if (yych <= 'b') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy112; + } else { + if (yych <= 'c') goto yy160; + if (yych <= 'z') goto yy112; + goto yy18; + } + } +yy31: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'Q') goto yy108; + goto yy161; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy112; + } else { + if (yych <= 'r') goto yy162; + if (yych <= 'z') goto yy112; + goto yy18; + } + } +yy32: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'A') goto yy163; + goto yy108; + } + } else { + if (yych <= 'H') { + if (yych <= 'E') goto yy164; + goto yy108; + } else { + if (yych <= 'I') goto yy165; + if (yych <= 'T') goto yy108; + goto yy149; + } + } + } else { + if (yych <= 'e') { + if (yych <= '`') { + if (yych <= 'Z') goto yy108; + goto yy18; + } else { + if (yych <= 'a') goto yy166; + if (yych <= 'd') goto yy112; + goto yy167; + } + } else { + if (yych <= 't') { + if (yych == 'i') goto yy168; + goto yy112; + } else { + if (yych <= 'u') goto yy152; + if (yych <= 'z') goto yy112; + goto yy18; + } + } + } +yy33: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '-': goto yy103; + case ')': goto yy107; case '0': - case '1': - case '2': + case '1': goto yy169; + case '2': goto yy170; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy104; - default: goto yy5; - } -yy17: - ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case ')': goto yy107; + case '9': goto yy171; case 'A': case 'B': case 'C': case 'D': - case 'E': case 'F': - case 'H': + case 'G': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': - case 'O': + case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': - case 'W': case 'X': case 'Y': case 'Z': goto yy108; - case 'G': goto yy109; - case 'P': goto yy110; - case 'U': goto yy111; + case 'E': goto yy154; + case 'H': goto yy172; + case 'O': goto yy173; + case 'U': goto yy174; + case 'W': goto yy175; case 'a': case 'b': case 'c': case 'd': - case 'e': case 'f': - case 'h': + case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': - case 'o': + case 'p': case 'q': case 'r': case 's': case 't': case 'v': - case 'w': case 'x': case 'y': case 'z': goto yy112; - case 'g': goto yy113; - case 'p': goto yy114; - case 'u': goto yy115; + case 'e': goto yy157; + case 'h': goto yy176; + case 'o': goto yy177; + case 'u': goto yy178; + case 'w': goto yy179; default: goto yy18; } -yy18: -#line 1626 "ext/date/lib/parse_date.re" - { - 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"); +yy34: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy134; + if (yych <= 0x1F) goto yy18; + goto yy134; + } else { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy134; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy134; + if (yych <= '@') goto yy18; + goto yy108; + } else { + if (yych <= 'Z') { + if (yych <= 'I') goto yy180; + goto yy108; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy112; + goto yy18; + } } - TIMELIB_DEINIT; - return TIMELIB_TIMEZONE; } -#line 1377 "" -yy19: +yy35: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': goto yy116; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'a': goto yy117; - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - default: goto yy18; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy108; + goto yy181; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy112; + } else { + if (yych <= 'e') goto yy182; + if (yych <= 'z') goto yy112; + goto yy18; + } } -yy20: +yy36: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy134; + if (yych <= 0x1F) goto yy18; + goto yy134; + } else { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy134; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy134; + if (yych <= '@') goto yy18; + goto yy108; + } else { + if (yych <= 'Z') { + if (yych <= 'I') goto yy139; + goto yy108; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy112; + goto yy18; + } + } + } +yy37: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy108; + goto yy183; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy112; + } else { + if (yych <= 'e') goto yy184; + if (yych <= 'z') goto yy112; + goto yy18; + } + } +yy38: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'F') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy108; + } else { + if (yych <= 'O') { + if (yych <= 'G') goto yy109; + goto yy108; + } else { + if (yych <= 'P') goto yy110; + if (yych <= 'T') goto yy108; + goto yy111; + } + } + } else { + if (yych <= 'o') { + if (yych <= '`') { + if (yych <= 'Z') goto yy108; + goto yy18; + } else { + if (yych == 'g') goto yy109; + goto yy108; + } + } else { + if (yych <= 't') { + if (yych <= 'p') goto yy110; + goto yy108; + } else { + if (yych <= 'u') goto yy111; + if (yych <= 'z') goto yy108; + goto yy18; + } + } + } +yy39: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy116; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy108; + goto yy18; + } else { + if (yych <= 'a') goto yy116; + if (yych <= 'z') goto yy108; + goto yy18; + } + } +yy40: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy108; + goto yy18; + } +yy41: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy108; + goto yy118; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy108; + } else { + if (yych <= 'e') goto yy118; + if (yych <= 'z') goto yy108; + goto yy18; + } + } +yy42: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == 'I') goto yy120; + if (yych <= 'K') goto yy108; + goto yy121; + } + } else { + if (yych <= 'i') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + if (yych <= 'h') goto yy108; + goto yy120; + } else { + if (yych == 'l') goto yy121; + if (yych <= 'z') goto yy108; + goto yy18; + } + } +yy43: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy108; + goto yy124; + } + } else { + if (yych <= 'N') { + if (yych == 'I') goto yy125; + goto yy108; + } else { + if (yych <= 'O') goto yy126; + if (yych <= 'Q') goto yy108; + goto yy127; + } + } + } else { + if (yych <= 'i') { + if (yych <= 'd') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy108; + } else { + if (yych <= 'e') goto yy124; + if (yych <= 'h') goto yy108; + goto yy125; + } + } else { + if (yych <= 'q') { + if (yych == 'o') goto yy126; + goto yy108; + } else { + if (yych <= 'r') goto yy127; + if (yych <= 'z') goto yy108; + goto yy18; + } + } + } +yy44: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'A') goto yy141; + if (yych <= 'T') goto yy108; + goto yy142; + } + } else { + if (yych <= 'a') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy141; + } else { + if (yych == 'u') goto yy142; + if (yych <= 'z') goto yy108; + goto yy18; + } + } +yy45: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy145; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy108; + goto yy18; + } else { + if (yych <= 'a') goto yy145; + if (yych <= 'z') goto yy108; + goto yy18; + } + } +yy46: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'A') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy147; + } else { + if (yych == 'I') goto yy148; + if (yych <= 'N') goto yy108; + goto yy149; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + if (yych <= 'a') goto yy147; + goto yy108; + } else { + if (yych <= 'n') { + if (yych <= 'i') goto yy148; + goto yy108; + } else { + if (yych <= 'o') goto yy149; + if (yych <= 'z') goto yy108; + goto yy18; + } + } + } +yy47: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'D') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy108; + } else { + if (yych <= 'H') { + if (yych <= 'E') goto yy153; + goto yy108; + } else { + if (yych <= 'I') goto yy154; + if (yych <= 'N') goto yy108; + goto yy155; + } + } + } else { + if (yych <= 'h') { + if (yych <= '`') { + if (yych <= 'Z') goto yy108; + goto yy18; + } else { + if (yych == 'e') goto yy153; + goto yy108; + } + } else { + if (yych <= 'n') { + if (yych <= 'i') goto yy154; + goto yy108; + } else { + if (yych <= 'o') goto yy155; + if (yych <= 'z') goto yy108; + goto yy18; + } + } + } +yy48: + yych = *++YYCURSOR; + if (yych <= 'C') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'B') goto yy108; + goto yy159; + } + } else { + if (yych <= 'b') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy108; + } else { + if (yych <= 'c') goto yy159; + if (yych <= 'z') goto yy108; + goto yy18; + } + } +yy49: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'Q') goto yy108; + goto yy161; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy108; + } else { + if (yych <= 'r') goto yy161; + if (yych <= 'z') goto yy108; + goto yy18; + } + } +yy50: yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'A') goto yy163; + goto yy108; + } + } else { + if (yych <= 'H') { + if (yych <= 'E') goto yy164; + goto yy108; + } else { + if (yych <= 'I') goto yy165; + if (yych <= 'T') goto yy108; + goto yy149; + } + } + } else { + if (yych <= 'e') { + if (yych <= '`') { + if (yych <= 'Z') goto yy108; + goto yy18; + } else { + if (yych <= 'a') goto yy163; + if (yych <= 'd') goto yy108; + goto yy164; + } + } else { + if (yych <= 't') { + if (yych == 'i') goto yy165; + goto yy108; + } else { + if (yych <= 'u') goto yy149; + if (yych <= 'z') goto yy108; + goto yy18; + } + } + } +yy51: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy107; + case '0': + case '1': goto yy169; + case '2': goto yy170; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy171; case 'A': case 'B': case 'C': case 'D': - case 'E': case 'F': case 'G': - case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': - case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': - case 'U': case 'V': - case 'W': case 'X': case 'Y': - case 'Z': goto yy108; + case 'Z': case 'a': case 'b': case 'c': case 'd': - case 'e': case 'f': case 'g': - case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': - case 'o': case 'p': case 'q': case 'r': case 's': case 't': - case 'u': case 'v': - case 'w': case 'x': case 'y': - case 'z': goto yy112; - default: goto yy18; - } -yy21: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': + case 'z': goto yy108; + case 'E': + case 'e': goto yy154; case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': + case 'h': goto yy172; case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': + case 'o': goto yy173; case 'U': - case 'V': + case 'u': goto yy174; case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'E': goto yy118; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - case 'e': goto yy119; + case 'w': goto yy175; default: goto yy18; } -yy22: +yy52: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy108; + goto yy181; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy108; + } else { + if (yych <= 'e') goto yy181; + if (yych <= 'z') goto yy108; + goto yy18; + } + } +yy53: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy108; + goto yy183; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy108; + if (yych <= '`') goto yy18; + goto yy108; + } else { + if (yych <= 'e') goto yy183; + if (yych <= 'z') goto yy108; + goto yy18; + } + } +yy54: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy57; +yy56: + YYCURSOR = YYMARKER; + if (yyaccept <= 16) { + if (yyaccept <= 8) { + if (yyaccept <= 4) { + if (yyaccept <= 2) { + if (yyaccept <= 1) { + if (yyaccept == 0) { + goto yy7; + } else { + goto yy5; + } + } else { + goto yy18; + } + } else { + if (yyaccept == 3) { + goto yy78; + } else { + goto yy136; + } + } + } else { + if (yyaccept <= 6) { + if (yyaccept == 5) { + goto yy208; + } else { + goto yy213; + } + } else { + if (yyaccept == 7) { + goto yy274; + } else { + goto yy272; + } + } + } + } else { + if (yyaccept <= 12) { + if (yyaccept <= 10) { + if (yyaccept == 9) { + goto yy294; + } else { + goto yy331; + } + } else { + if (yyaccept == 11) { + goto yy396; + } else { + goto yy398; + } + } + } else { + if (yyaccept <= 14) { + if (yyaccept == 13) { + goto yy402; + } else { + goto yy504; + } + } else { + if (yyaccept == 15) { + goto yy544; + } else { + goto yy669; + } + } + } + } + } else { + if (yyaccept <= 25) { + if (yyaccept <= 21) { + if (yyaccept <= 19) { + if (yyaccept <= 18) { + if (yyaccept == 17) { + goto yy673; + } else { + goto yy704; + } + } else { + goto yy719; + } + } else { + if (yyaccept == 20) { + goto yy732; + } else { + goto yy755; + } + } + } else { + if (yyaccept <= 23) { + if (yyaccept == 22) { + goto yy900; + } else { + goto yy576; + } + } else { + if (yyaccept == 24) { + goto yy915; + } else { + goto yy993; + } + } + } + } else { + if (yyaccept <= 29) { + if (yyaccept <= 27) { + if (yyaccept == 26) { + goto yy1011; + } else { + goto yy1016; + } + } else { + if (yyaccept == 28) { + goto yy1046; + } else { + goto yy1064; + } + } + } else { + if (yyaccept <= 31) { + if (yyaccept == 30) { + goto yy1097; + } else { + goto yy1129; + } + } else { + if (yyaccept == 32) { + goto yy1132; + } else { + goto yy1231; + } + } + } + } + } +yy57: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; + if (yybm[0+yych] & 4) { + goto yy57; + } + if (yych <= 'W') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy185; + if (yych <= 0x1F) goto yy56; + goto yy185; + } else { + if (yych == 'D') goto yy187; + if (yych <= 'E') goto yy56; + goto yy188; + } + } else { + if (yych <= 'M') { + if (yych == 'H') goto yy76; + if (yych <= 'L') goto yy56; + goto yy189; + } else { + if (yych <= 'S') { + if (yych <= 'R') goto yy56; + goto yy190; + } else { + if (yych <= 'T') goto yy84; + if (yych <= 'V') goto yy56; + goto yy86; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy88; + if (yych <= 'c') goto yy56; + goto yy187; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy56; + goto yy188; + } else { + if (yych == 'h') goto yy76; + goto yy56; + } + } + } else { + if (yych <= 't') { + if (yych <= 'm') goto yy189; + if (yych <= 'r') goto yy56; + if (yych <= 's') goto yy190; + goto yy84; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy56; + goto yy86; + } else { + if (yych == 'y') goto yy88; + goto yy56; + } + } + } + } +yy59: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych <= ',') { + if (yych == '+') goto yy59; + goto yy56; + } else { + if (yych <= '-') goto yy59; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy57; + goto yy56; + } +yy61: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy18; + goto yy186; + } else { + if (yych <= '9') { + if (yych <= '/') goto yy18; + goto yy191; + } else { + if (yych <= ':') goto yy192; + if (yych <= 'C') goto yy18; + goto yy186; + } + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy186; + if (yych <= 'G') goto yy18; + goto yy186; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy18; + goto yy186; + } else { + if (yych <= 'R') goto yy18; + if (yych <= 'T') goto yy186; + goto yy18; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy18; + if (yych <= 'Y') goto yy186; + goto yy18; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy186; + goto yy18; + } else { + if (yych == 'g') goto yy18; + goto yy186; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy186; + if (yych <= 'r') goto yy18; + goto yy186; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy18; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy18; + } + } + } + } +yy62: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy18; + goto yy186; + } else { + if (yych <= '4') { + if (yych <= '/') goto yy18; + goto yy191; + } else { + if (yych <= '5') goto yy193; + if (yych <= '9') goto yy194; + goto yy192; + } + } + } else { + if (yych <= 'G') { + if (yych <= 'D') { + if (yych <= 'C') goto yy18; + goto yy186; + } else { + if (yych == 'F') goto yy186; + goto yy18; + } + } else { + if (yych <= 'L') { + if (yych <= 'H') goto yy186; + goto yy18; + } else { + if (yych <= 'M') goto yy186; + if (yych <= 'R') goto yy18; + goto yy186; + } + } + } + } else { + if (yych <= 'g') { + if (yych <= 'Y') { + if (yych == 'W') goto yy186; + if (yych <= 'X') goto yy18; + goto yy186; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy18; + goto yy186; + } else { + if (yych == 'f') goto yy186; + goto yy18; + } + } + } else { + if (yych <= 't') { + if (yych <= 'l') { + if (yych <= 'h') goto yy186; + goto yy18; + } else { + if (yych <= 'm') goto yy186; + if (yych <= 'r') goto yy18; + goto yy186; + } + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy18; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy18; + } + } + } + } +yy63: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych <= 'C') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy18; + goto yy186; + } else { + if (yych <= '5') { + if (yych <= '/') goto yy18; + goto yy193; + } else { + if (yych <= '9') goto yy194; + if (yych <= ':') goto yy192; + goto yy18; + } + } + } else { + if (yych <= 'G') { + if (yych == 'E') goto yy18; + if (yych <= 'F') goto yy186; + goto yy18; + } else { + if (yych <= 'L') { + if (yych <= 'H') goto yy186; + goto yy18; + } else { + if (yych <= 'M') goto yy186; + if (yych <= 'R') goto yy18; + goto yy186; + } + } + } + } else { + if (yych <= 'g') { + if (yych <= 'Y') { + if (yych == 'W') goto yy186; + if (yych <= 'X') goto yy18; + goto yy186; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy18; + goto yy186; + } else { + if (yych == 'f') goto yy186; + goto yy18; + } + } + } else { + if (yych <= 't') { + if (yych <= 'l') { + if (yych <= 'h') goto yy186; + goto yy18; + } else { + if (yych <= 'm') goto yy186; + if (yych <= 'r') goto yy18; + goto yy186; + } + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy18; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy18; + } + } + } + } +yy64: yych = *++YYCURSOR; + if (yych <= '/') goto yy66; + if (yych <= '0') goto yy197; + if (yych <= '1') goto yy198; + if (yych <= '9') goto yy199; + goto yy66; +yy65: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy66: switch (yych) { - case ')': goto yy107; + case '\t': + case ' ': goto yy65; + case '-': + case '.': goto yy195; case 'A': - case 'B': - case 'C': + case 'a': goto yy73; case 'D': - case 'E': + case 'd': goto yy74; case 'F': - case 'G': + case 'f': goto yy75; case 'H': + case 'h': goto yy76; + case 'I': goto yy77; case 'J': - case 'K': + case 'j': goto yy79; case 'M': + case 'm': goto yy80; case 'N': + case 'n': goto yy81; case 'O': - case 'P': - case 'Q': - case 'R': + case 'o': goto yy82; case 'S': + case 's': goto yy83; case 'T': - case 'U': - case 'V': + case 't': goto yy84; + case 'V': goto yy85; case 'W': - case 'X': + case 'w': goto yy86; + case 'X': goto yy87; case 'Y': - case 'Z': goto yy108; - case 'I': goto yy120; - case 'L': goto yy121; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - case 'i': goto yy122; - case 'l': goto yy123; - default: goto yy18; + case 'y': goto yy88; + default: goto yy56; } -yy23: +yy67: + yych = *++YYCURSOR; + if (yych <= '/') goto yy196; + if (yych <= '0') goto yy200; + if (yych <= '1') goto yy201; + if (yych <= '9') goto yy202; + goto yy196; +yy68: + yych = *++YYCURSOR; + if (yych <= '1') { + if (yych <= '/') goto yy196; + if (yych <= '0') goto yy207; + goto yy209; + } else { + if (yych <= '5') goto yy210; + if (yych <= '9') goto yy211; + goto yy196; + } +yy69: yych = *++YYCURSOR; switch (yych) { - case ')': goto yy107; + case '0': + case '1': + case '2': goto yy212; + case '3': goto yy214; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy215; case 'A': - case 'B': - case 'C': + case 'a': goto yy216; case 'D': + case 'd': goto yy217; case 'F': - case 'G': - case 'H': + case 'f': goto yy218; case 'J': - case 'K': - case 'L': + case 'j': goto yy219; case 'M': + case 'm': goto yy220; case 'N': - case 'P': - case 'Q': + case 'n': goto yy221; + case 'O': + case 'o': goto yy222; case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'E': goto yy124; - case 'I': goto yy125; - case 'O': goto yy126; - case 'R': goto yy127; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - case 'e': goto yy128; - case 'i': goto yy129; - case 'o': goto yy130; - case 'r': goto yy131; - default: goto yy18; + case 's': goto yy223; + default: goto yy56; } -yy24: +yy70: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= '-') { + if (yych == '\t') goto yy64; + if (yych <= ',') goto yy66; + goto yy224; + } else { + if (yych <= '.') goto yy68; + if (yych <= '/') goto yy69; + if (yych <= '5') goto yy225; + goto yy226; + } + } else { + if (yych <= 'q') { + if (yych <= ':') goto yy72; + if (yych == 'n') goto yy89; + goto yy66; + } else { + if (yych <= 'r') goto yy90; + if (yych <= 's') goto yy91; + if (yych <= 't') goto yy92; + goto yy66; + } + } +yy71: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= '-') { + if (yych == '\t') goto yy93; + if (yych <= ',') goto yy95; + goto yy224; + } else { + if (yych <= '.') goto yy96; + if (yych <= '/') goto yy69; + if (yych <= '5') goto yy225; + goto yy226; + } + } else { + if (yych <= 'q') { + if (yych <= ':') goto yy98; + if (yych == 'n') goto yy89; + goto yy95; + } else { + if (yych <= 'r') goto yy90; + if (yych <= 's') goto yy91; + if (yych <= 't') goto yy92; + goto yy95; + } + } +yy72: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy227; + if (yych <= '9') goto yy228; + goto yy56; +yy73: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy229; + if (yych <= 'T') goto yy56; + goto yy230; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy229; + } else { + if (yych == 'u') goto yy230; + goto yy56; + } + } +yy74: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych == 'A') goto yy231; + if (yych <= 'D') goto yy56; + goto yy232; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy231; + } else { + if (yych == 'e') goto yy232; + goto yy56; + } + } +yy75: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= 'N') { + if (yych == 'E') goto yy233; + goto yy56; + } else { + if (yych <= 'O') goto yy234; + if (yych <= 'Q') goto yy56; + goto yy235; + } + } else { + if (yych <= 'n') { + if (yych == 'e') goto yy233; + goto yy56; + } else { + if (yych <= 'o') goto yy234; + if (yych == 'r') goto yy235; + goto yy56; + } + } +yy76: + yych = *++YYCURSOR; + if (yych == 'O') goto yy236; + if (yych == 'o') goto yy236; + goto yy56; +yy77: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy237; + } else { + if (yych <= ' ') goto yy237; + if (yych <= ',') goto yy78; + if (yych <= '.') goto yy237; + } + } else { + if (yych <= 'U') { + if (yych <= '9') goto yy239; + if (yych == 'I') goto yy241; + } else { + if (yych == 'W') goto yy78; + if (yych <= 'X') goto yy242; + } + } +yy78: +#line 1376 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("datenoyearrev"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->d = timelib_get_nr((char **) &ptr, 2); + timelib_skip_day_suffix((char **) &ptr); + s->time->m = timelib_get_month((char **) &ptr); + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } +#line 2991 "" +yy79: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy243; + if (yych <= 'T') goto yy56; + goto yy244; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy243; + } else { + if (yych == 'u') goto yy244; + goto yy56; + } + } +yy80: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'H') { + if (yych == 'A') goto yy245; + goto yy56; + } else { + if (yych <= 'I') goto yy246; + if (yych <= 'N') goto yy56; + goto yy247; + } + } else { + if (yych <= 'h') { + if (yych == 'a') goto yy245; + goto yy56; + } else { + if (yych <= 'i') goto yy246; + if (yych == 'o') goto yy247; + goto yy56; + } + } +yy81: + yych = *++YYCURSOR; + if (yych == 'O') goto yy248; + if (yych == 'o') goto yy248; + goto yy56; +yy82: + yych = *++YYCURSOR; + if (yych == 'C') goto yy249; + if (yych == 'c') goto yy249; + goto yy56; +yy83: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych == 'A') goto yy250; + goto yy56; + } else { + if (yych <= 'E') goto yy251; + if (yych <= 'T') goto yy56; + goto yy252; + } + } else { + if (yych <= 'd') { + if (yych == 'a') goto yy250; + goto yy56; + } else { + if (yych <= 'e') goto yy251; + if (yych == 'u') goto yy252; + goto yy56; + } + } +yy84: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'H') goto yy253; + if (yych <= 'T') goto yy56; + goto yy254; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy253; + } else { + if (yych == 'u') goto yy254; + goto yy56; + } + } +yy85: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy78; + goto yy237; + } else { + if (yych == ' ') goto yy237; + goto yy78; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy237; + if (yych <= '/') goto yy78; + goto yy239; + } else { + if (yych == 'I') goto yy87; + goto yy78; + } + } +yy86: + yych = *++YYCURSOR; + if (yych == 'E') goto yy255; + if (yych == 'e') goto yy255; + goto yy56; +yy87: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy78; + goto yy237; + } else { + if (yych == ' ') goto yy237; + goto yy78; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy237; + if (yych <= '/') goto yy78; + goto yy239; + } else { + if (yych == 'I') goto yy241; + goto yy78; + } + } +yy88: + yych = *++YYCURSOR; + if (yych == 'E') goto yy256; + if (yych == 'e') goto yy256; + goto yy56; +yy89: + yych = *++YYCURSOR; + if (yych <= 'c') { + if (yych == 'O') goto yy248; + goto yy56; + } else { + if (yych <= 'd') goto yy257; + if (yych == 'o') goto yy248; + goto yy56; + } +yy90: + yych = *++YYCURSOR; + if (yych == 'd') goto yy257; + goto yy56; +yy91: + yych = *++YYCURSOR; + if (yych <= '`') { + if (yych <= 'D') { + if (yych == 'A') goto yy250; + goto yy56; + } else { + if (yych <= 'E') goto yy251; + if (yych == 'U') goto yy252; + goto yy56; + } + } else { + if (yych <= 'e') { + if (yych <= 'a') goto yy250; + if (yych <= 'd') goto yy56; + goto yy251; + } else { + if (yych <= 's') goto yy56; + if (yych <= 't') goto yy257; + if (yych <= 'u') goto yy252; + goto yy56; + } + } +yy92: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'H') goto yy253; + if (yych <= 'T') goto yy56; + goto yy254; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy258; + } else { + if (yych == 'u') goto yy254; + goto yy56; + } + } +yy93: yych = *++YYCURSOR; + if (yych <= '/') goto yy95; + if (yych <= '0') goto yy197; + if (yych <= '1') goto yy198; + if (yych <= '9') goto yy199; + goto yy95; +yy94: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy95: switch (yych) { - case ')': goto yy107; + case '\t': + case ' ': goto yy94; + case '-': + case '.': goto yy195; case 'A': - case 'B': - case 'C': + case 'a': goto yy99; case 'D': - case 'E': + case 'd': goto yy74; case 'F': - case 'G': + case 'f': goto yy75; case 'H': - case 'I': + case 'h': goto yy76; + case 'I': goto yy77; case 'J': - case 'K': - case 'L': + case 'j': goto yy79; + case 'M': + case 'm': goto yy80; case 'N': + case 'n': goto yy81; case 'O': + case 'o': goto yy82; case 'P': - case 'Q': - case 'R': + case 'p': goto yy100; case 'S': + case 's': goto yy83; case 'T': - case 'U': - case 'V': + case 't': goto yy84; + case 'V': goto yy85; case 'W': - case 'X': + case 'w': goto yy86; + case 'X': goto yy87; case 'Y': - case 'Z': goto yy108; - case 'M': goto yy132; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - default: goto yy18; + case 'y': goto yy88; + default: goto yy56; } -yy25: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'W': - case 'Y': - case 'Z': goto yy108; - case 'I': goto yy139; - case 'V': - case 'X': goto yy140; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - default: goto yy18; +yy96: + yych = *++YYCURSOR; + if (yych <= '1') { + if (yych <= '/') goto yy196; + if (yych <= '0') goto yy259; + goto yy260; + } else { + if (yych <= '5') goto yy261; + if (yych <= '9') goto yy262; + goto yy196; } -yy26: +yy97: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': goto yy141; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'U': goto yy142; - case 'a': goto yy143; - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - case 'u': goto yy144; - default: goto yy18; + if (yych <= '9') { + if (yych <= '-') { + if (yych == '\t') goto yy64; + if (yych <= ',') goto yy66; + goto yy224; + } else { + if (yych <= '.') goto yy68; + if (yych <= '/') goto yy263; + if (yych <= '5') goto yy225; + goto yy226; + } + } else { + if (yych <= 'q') { + if (yych <= ':') goto yy72; + if (yych == 'n') goto yy89; + goto yy66; + } else { + if (yych <= 'r') goto yy90; + if (yych <= 's') goto yy91; + if (yych <= 't') goto yy92; + goto yy66; + } } -yy27: +yy98: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': goto yy145; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'a': goto yy146; - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - default: goto yy18; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy264; + if (yych <= '9') goto yy265; + goto yy56; +yy99: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= 'L') { + if (yych == '.') goto yy266; + goto yy56; + } else { + if (yych <= 'M') goto yy267; + if (yych == 'P') goto yy229; + goto yy56; + } + } else { + if (yych <= 'o') { + if (yych <= 'U') goto yy230; + if (yych == 'm') goto yy267; + goto yy56; + } else { + if (yych <= 'p') goto yy229; + if (yych == 'u') goto yy230; + goto yy56; + } } -yy28: +yy100: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': goto yy147; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'I': goto yy148; - case 'O': goto yy149; - case 'a': goto yy150; - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - case 'i': goto yy151; - case 'o': goto yy152; - default: goto yy18; + if (yych <= 'L') { + if (yych == '.') goto yy266; + goto yy56; + } else { + if (yych <= 'M') goto yy267; + if (yych == 'm') goto yy267; + goto yy56; } -yy29: +yy101: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'E': goto yy153; - case 'I': goto yy154; - case 'O': goto yy155; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - case 'e': goto yy156; - case 'i': goto yy157; - case 'o': goto yy158; - default: goto yy18; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '\t') goto yy64; + goto yy66; + } else { + if (yych <= '-') goto yy224; + if (yych <= '.') goto yy268; + if (yych <= '/') goto yy263; + goto yy226; + } + } else { + if (yych <= 'q') { + if (yych == 'n') goto yy89; + goto yy66; + } else { + if (yych <= 'r') goto yy90; + if (yych <= 's') goto yy91; + if (yych <= 't') goto yy92; + goto yy66; + } } -yy30: +yy102: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'C': goto yy159; - case 'a': - case 'b': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - case 'c': goto yy160; - default: goto yy18; + if (yych == '-') goto yy269; + if (yych <= '/') goto yy186; + if (yych <= '9') goto yy226; + goto yy186; +yy103: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy104: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy106; + if (yych <= '9') goto yy104; +yy106: +#line 1006 "ext/date/lib/parse_date.re" + { + timelib_ull i; + + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_UNHAVE_DATE(); + TIMELIB_UNHAVE_TIME(); + TIMELIB_HAVE_TZ(); + + i = timelib_get_unsigned_nr((char **) &ptr, 24); + s->time->y = 1970; + s->time->m = 1; + s->time->d = 1; + s->time->h = s->time->i = s->time->s = 0; + s->time->f = 0.0; + s->time->relative.s += i; + s->time->is_localtime = 1; + s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; + s->time->z = 0; + s->time->dst = 0; + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; } -yy31: +#line 3365 "" +yy107: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'R': goto yy161; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - case 'r': goto yy162; - default: goto yy18; + goto yy18; +yy108: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy270; + goto yy18; } -yy32: +yy109: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': goto yy163; - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'E': goto yy164; - case 'I': goto yy165; - case 'U': goto yy149; - case 'a': goto yy166; - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - case 'e': goto yy167; - case 'i': goto yy168; - case 'u': goto yy152; - default: goto yy18; + if (yych <= 'O') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'N') goto yy270; + goto yy271; + } + } else { + if (yych <= 'n') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'o') goto yy271; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy33: +yy110: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'Q') goto yy270; + goto yy273; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'r') goto yy273; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy111: + yych = *++YYCURSOR; + if (yych <= 'G') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'F') goto yy270; + goto yy275; + } + } else { + if (yych <= 'f') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'g') goto yy275; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy112: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '0': - case '1': goto yy169; - case '2': goto yy170; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy171; - 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 yy108; - case 'E': goto yy154; - case 'H': goto yy172; - case 'O': goto yy173; - case 'U': goto yy174; - case 'W': goto yy175; - 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 yy112; - case 'e': goto yy157; - case 'h': goto yy176; - case 'o': goto yy177; - case 'u': goto yy178; - case 'w': goto yy179; - default: goto yy18; + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + goto yy276; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy18; + if (yych <= 'Z') goto yy270; + goto yy18; + } else { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy277; + goto yy18; + } } -yy34: +yy113: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'I': goto yy180; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - default: goto yy18; + if (yych <= 'N') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'O') goto yy271; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'n') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'o') goto yy278; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy35: +yy114: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy273; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'r') goto yy279; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy115: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'F') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'G') goto yy275; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'f') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'g') goto yy280; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy116: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'E': goto yy181; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - case 'e': goto yy182; - default: goto yy18; + if (yych <= 'C') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'B') goto yy270; + goto yy281; + } + } else { + if (yych <= 'b') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'c') goto yy281; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy36: +yy117: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'I': goto yy139; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - default: goto yy18; + if (yych <= 'B') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'C') goto yy281; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'b') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'c') goto yy282; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy37: +yy118: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy108; - case 'E': goto yy183; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy112; - case 'e': goto yy184; - default: goto yy18; + if (yych <= 'C') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'B') goto yy270; + goto yy283; + } + } else { + if (yych <= 'b') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'c') goto yy283; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy38: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - case 'G': - case 'g': goto yy109; - case 'P': - case 'p': goto yy110; - case 'U': - case 'u': goto yy111; - default: goto yy18; +yy119: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'B') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'C') goto yy283; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'b') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'c') goto yy284; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy39: +yy120: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'a': goto yy116; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - default: goto yy18; + if (yych <= 'G') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'F') goto yy270; + goto yy285; + } + } else { + if (yych <= 'f') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'g') goto yy285; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy40: +yy121: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - default: goto yy18; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy270; + goto yy286; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'e') goto yy286; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy41: +yy122: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'F') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'G') goto yy285; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'f') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'g') goto yy287; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy123: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy286; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'e') goto yy288; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy124: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - case 'E': - case 'e': goto yy118; - default: goto yy18; + if (yych <= 'B') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'A') goto yy270; + goto yy289; + } + } else { + if (yych <= 'a') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'b') goto yy289; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy42: +yy125: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - case 'I': - case 'i': goto yy120; - case 'L': - case 'l': goto yy121; - default: goto yy18; + if (yych <= 'R') { + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == 'F') goto yy290; + if (yych <= 'Q') goto yy270; + goto yy291; + } + } else { + if (yych <= 'f') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + if (yych <= 'e') goto yy270; + goto yy290; + } else { + if (yych == 'r') goto yy291; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy43: +yy126: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - case 'E': - case 'e': goto yy124; - case 'I': - case 'i': goto yy125; - case 'O': - case 'o': goto yy126; - case 'R': - case 'r': goto yy127; - default: goto yy18; + if (yych <= 'U') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'T') goto yy270; + goto yy292; + } + } else { + if (yych <= 't') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'u') goto yy292; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy44: +yy127: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'a': goto yy141; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - case 'U': - case 'u': goto yy142; - default: goto yy18; - } -yy45: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'a': goto yy145; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - default: goto yy18; - } -yy46: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'a': goto yy147; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - case 'I': - case 'i': goto yy148; - case 'O': - case 'o': goto yy149; - default: goto yy18; - } -yy47: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - case 'E': - case 'e': goto yy153; - case 'I': - case 'i': goto yy154; - case 'O': - case 'o': goto yy155; - default: goto yy18; - } -yy48: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - case 'C': - case 'c': goto yy159; - default: goto yy18; - } -yy49: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - case 'R': - case 'r': goto yy161; - default: goto yy18; - } -yy50: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'a': goto yy163; - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - case 'E': - case 'e': goto yy164; - case 'I': - case 'i': goto yy165; - case 'U': - case 'u': goto yy149; - default: goto yy18; - } -yy51: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '0': - case '1': goto yy169; - case '2': goto yy170; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy171; - 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 yy108; - case 'E': - case 'e': goto yy154; - case 'H': - case 'h': goto yy172; - case 'O': - case 'o': goto yy173; - case 'U': - case 'u': goto yy174; - case 'W': - case 'w': goto yy175; - default: goto yy18; - } -yy52: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - case 'E': - case 'e': goto yy181; - default: goto yy18; - } -yy53: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy108; - case 'E': - case 'e': goto yy183; - default: goto yy18; - } -yy54: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch (yych) { - case '\t': - case ' ': goto yy54; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy57; - default: goto yy56; - } -yy56: - YYCURSOR = YYMARKER; - switch (yyaccept) { - case 0: goto yy7; - case 1: goto yy5; - case 2: goto yy18; - case 3: goto yy78; - case 4: goto yy136; - case 5: goto yy208; - case 6: goto yy213; - case 7: goto yy274; - case 8: goto yy272; - case 9: goto yy294; - case 10: goto yy331; - case 11: goto yy396; - case 12: goto yy398; - case 13: goto yy402; - case 14: goto yy504; - case 15: goto yy544; - case 16: goto yy669; - case 17: goto yy673; - case 18: goto yy704; - case 19: goto yy719; - case 20: goto yy732; - case 21: goto yy755; - case 22: goto yy900; - case 23: goto yy576; - case 24: goto yy915; - case 25: goto yy993; - case 26: goto yy1011; - case 27: goto yy1016; - case 28: goto yy1046; - case 29: goto yy1064; - case 30: goto yy1097; - case 31: goto yy1129; - case 32: goto yy1132; - default: goto yy1231; - } -yy57: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; - switch (yych) { - case '\t': - case ' ': goto yy185; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy57; - case 'D': - case 'd': goto yy187; - case 'F': - case 'f': goto yy188; - case 'H': - case 'h': goto yy76; - case 'M': - case 'm': goto yy189; - case 'S': - case 's': goto yy190; - case 'T': - case 't': goto yy84; - case 'W': - case 'w': goto yy86; - case 'Y': - case 'y': goto yy88; - default: goto yy56; - } -yy59: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch (yych) { - case '\t': - case ' ': goto yy54; - case '+': - case '-': goto yy59; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy57; - default: goto yy56; - } -yy61: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy191; - case ':': goto yy192; - default: goto yy18; - } -yy62: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': goto yy191; - case '5': goto yy193; - case '6': - case '7': - case '8': - case '9': goto yy194; - case ':': goto yy192; - default: goto yy18; - } -yy63: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy193; - case '6': - case '7': - case '8': - case '9': goto yy194; - case ':': goto yy192; - default: goto yy18; - } -yy64: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy197; - case '1': goto yy198; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy199; - default: goto yy66; - } -yy65: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); - yych = *YYCURSOR; -yy66: - switch (yych) { - case '\t': - case ' ': goto yy65; - case '-': - case '.': goto yy195; - case 'A': - case 'a': goto yy73; - case 'D': - case 'd': goto yy74; - case 'F': - case 'f': goto yy75; - case 'H': - case 'h': goto yy76; - case 'I': goto yy77; - case 'J': - case 'j': goto yy79; - case 'M': - case 'm': goto yy80; - case 'N': - case 'n': goto yy81; - case 'O': - case 'o': goto yy82; - case 'S': - case 's': goto yy83; - case 'T': - case 't': goto yy84; - case 'V': goto yy85; - case 'W': - case 'w': goto yy86; - case 'X': goto yy87; - case 'Y': - case 'y': goto yy88; - default: goto yy56; - } -yy67: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy200; - case '1': goto yy201; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy202; - default: goto yy196; - } -yy68: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy207; - case '1': goto yy209; - case '2': - case '3': - case '4': - case '5': goto yy210; - case '6': - case '7': - case '8': - case '9': goto yy211; - default: goto yy196; - } -yy69: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy212; - case '3': goto yy214; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy215; - case 'A': - case 'a': goto yy216; - case 'D': - case 'd': goto yy217; - case 'F': - case 'f': goto yy218; - case 'J': - case 'j': goto yy219; - case 'M': - case 'm': goto yy220; - case 'N': - case 'n': goto yy221; - case 'O': - case 'o': goto yy222; - case 'S': - case 's': goto yy223; - default: goto yy56; - } -yy70: - yych = *++YYCURSOR; - switch (yych) { - case '\t': goto yy64; - case '-': goto yy224; - case '.': goto yy68; - case '/': goto yy69; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy225; - case '6': - case '7': - case '8': - case '9': goto yy226; - case ':': goto yy72; - case 'n': goto yy89; - case 'r': goto yy90; - case 's': goto yy91; - case 't': goto yy92; - default: goto yy66; - } -yy71: - yych = *++YYCURSOR; - switch (yych) { - case '\t': goto yy93; - case '-': goto yy224; - case '.': goto yy96; - case '/': goto yy69; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy225; - case '6': - case '7': - case '8': - case '9': goto yy226; - case ':': goto yy98; - case 'n': goto yy89; - case 'r': goto yy90; - case 's': goto yy91; - case 't': goto yy92; - default: goto yy95; - } -yy72: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy227; - case '6': - case '7': - case '8': - case '9': goto yy228; - default: goto yy56; - } -yy73: - yych = *++YYCURSOR; - switch (yych) { - case 'P': - case 'p': goto yy229; - case 'U': - case 'u': goto yy230; - default: goto yy56; - } -yy74: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy231; - case 'E': - case 'e': goto yy232; - default: goto yy56; - } -yy75: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy233; - case 'O': - case 'o': goto yy234; - case 'R': - case 'r': goto yy235; - default: goto yy56; - } -yy76: - yych = *++YYCURSOR; - switch (yych) { - case 'O': - case 'o': goto yy236; - default: goto yy56; - } -yy77: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'I': goto yy241; - case 'V': - case 'X': goto yy242; - default: goto yy78; - } -yy78: -#line 1376 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datenoyearrev"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->d = timelib_get_nr((char **) &ptr, 2); - timelib_skip_day_suffix((char **) &ptr); - s->time->m = timelib_get_month((char **) &ptr); - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; - } -#line 3942 "" -yy79: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy243; - case 'U': - case 'u': goto yy244; - default: goto yy56; - } -yy80: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy245; - case 'I': - case 'i': goto yy246; - case 'O': - case 'o': goto yy247; - default: goto yy56; - } -yy81: - yych = *++YYCURSOR; - switch (yych) { - case 'O': - case 'o': goto yy248; - default: goto yy56; - } -yy82: - yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy249; - default: goto yy56; - } -yy83: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy250; - case 'E': - case 'e': goto yy251; - case 'U': - case 'u': goto yy252; - default: goto yy56; - } -yy84: - yych = *++YYCURSOR; - switch (yych) { - case 'H': - case 'h': goto yy253; - case 'U': - case 'u': goto yy254; - default: goto yy56; - } -yy85: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'I': goto yy87; - default: goto yy78; - } -yy86: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy255; - default: goto yy56; - } -yy87: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'I': goto yy241; - default: goto yy78; - } -yy88: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy256; - default: goto yy56; - } -yy89: - yych = *++YYCURSOR; - switch (yych) { - case 'O': - case 'o': goto yy248; - case 'd': goto yy257; - default: goto yy56; - } -yy90: - yych = *++YYCURSOR; - switch (yych) { - case 'd': goto yy257; - default: goto yy56; - } -yy91: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy250; - case 'E': - case 'e': goto yy251; - case 'U': - case 'u': goto yy252; - case 't': goto yy257; - default: goto yy56; - } -yy92: - yych = *++YYCURSOR; - switch (yych) { - case 'H': goto yy253; - case 'U': - case 'u': goto yy254; - case 'h': goto yy258; - default: goto yy56; - } -yy93: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy197; - case '1': goto yy198; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy199; - default: goto yy95; - } -yy94: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); - yych = *YYCURSOR; -yy95: - switch (yych) { - case '\t': - case ' ': goto yy94; - case '-': - case '.': goto yy195; - case 'A': - case 'a': goto yy99; - case 'D': - case 'd': goto yy74; - case 'F': - case 'f': goto yy75; - case 'H': - case 'h': goto yy76; - case 'I': goto yy77; - case 'J': - case 'j': goto yy79; - case 'M': - case 'm': goto yy80; - case 'N': - case 'n': goto yy81; - case 'O': - case 'o': goto yy82; - case 'P': - case 'p': goto yy100; - case 'S': - case 's': goto yy83; - case 'T': - case 't': goto yy84; - case 'V': goto yy85; - case 'W': - case 'w': goto yy86; - case 'X': goto yy87; - case 'Y': - case 'y': goto yy88; - default: goto yy56; - } -yy96: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy259; - case '1': goto yy260; - case '2': - case '3': - case '4': - case '5': goto yy261; - case '6': - case '7': - case '8': - case '9': goto yy262; - default: goto yy196; - } -yy97: - yych = *++YYCURSOR; - switch (yych) { - case '\t': goto yy64; - case '-': goto yy224; - case '.': goto yy68; - case '/': goto yy263; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy225; - case '6': - case '7': - case '8': - case '9': goto yy226; - case ':': goto yy72; - case 'n': goto yy89; - case 'r': goto yy90; - case 's': goto yy91; - case 't': goto yy92; - default: goto yy66; - } -yy98: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy264; - case '6': - case '7': - case '8': - case '9': goto yy265; - default: goto yy56; - } -yy99: - yych = *++YYCURSOR; - switch (yych) { - case '.': goto yy266; - case 'M': - case 'm': goto yy267; - case 'P': - case 'p': goto yy229; - case 'U': - case 'u': goto yy230; - default: goto yy56; - } -yy100: - yych = *++YYCURSOR; - switch (yych) { - case '.': goto yy266; - case 'M': - case 'm': goto yy267; - default: goto yy56; - } -yy101: - yych = *++YYCURSOR; - switch (yych) { - case '\t': goto yy64; - case '-': goto yy224; - case '.': goto yy268; - case '/': goto yy263; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy226; - case 'n': goto yy89; - case 'r': goto yy90; - case 's': goto yy91; - case 't': goto yy92; - default: goto yy66; - } -yy102: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy269; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy226; - default: goto yy186; - } -yy103: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy104; - default: goto yy56; - } -yy104: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy104; - default: goto yy106; - } -yy106: -#line 1006 "ext/date/lib/parse_date.re" - { - timelib_ull i; - - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_UNHAVE_DATE(); - TIMELIB_UNHAVE_TIME(); - TIMELIB_HAVE_TZ(); - - i = timelib_get_unsigned_nr((char **) &ptr, 24); - s->time->y = 1970; - s->time->m = 1; - s->time->d = 1; - s->time->h = s->time->i = s->time->s = 0; - s->time->f = 0.0; - s->time->relative.s += i; - s->time->is_localtime = 1; - s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; - s->time->z = 0; - s->time->dst = 0; - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 4315 "" -yy107: - yych = *++YYCURSOR; - goto yy18; -yy108: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - default: goto yy18; - } -yy109: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'O': - case 'o': goto yy271; - default: goto yy18; - } -yy110: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'R': - case 'r': goto yy273; - default: goto yy18; - } -yy111: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'G': - case 'g': goto yy275; - default: goto yy18; - } -yy112: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - default: goto yy18; - } -yy113: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'O': goto yy271; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'o': goto yy278; - default: goto yy18; - } -yy114: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'R': goto yy273; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'r': goto yy279; - default: goto yy18; - } -yy115: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'G': goto yy275; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'g': goto yy280; - default: goto yy18; - } -yy116: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'C': - case 'c': goto yy281; - default: goto yy18; - } -yy117: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'C': goto yy281; - case 'a': - case 'b': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'c': goto yy282; - default: goto yy18; - } -yy118: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'C': - case 'c': goto yy283; - default: goto yy18; - } -yy119: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'C': goto yy283; - case 'a': - case 'b': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'c': goto yy284; - default: goto yy18; - } -yy120: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'G': - case 'g': goto yy285; - default: goto yy18; - } -yy121: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'E': - case 'e': goto yy286; - default: goto yy18; - } -yy122: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'G': goto yy285; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'g': goto yy287; - default: goto yy18; - } -yy123: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'E': goto yy286; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'e': goto yy288; - default: goto yy18; - } -yy124: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'B': - case 'b': goto yy289; - default: goto yy18; - } -yy125: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'F': - case 'f': goto yy290; - case 'R': - case 'r': goto yy291; - default: goto yy18; - } -yy126: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'U': - case 'u': goto yy292; - default: goto yy18; - } -yy127: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'I': - case 'i': goto yy293; - case 'O': - case 'o': goto yy295; - default: goto yy18; - } -yy128: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'B': goto yy289; - case 'a': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'b': goto yy296; - default: goto yy18; - } -yy129: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'F': goto yy290; - case 'R': goto yy291; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'f': goto yy297; - case 'r': goto yy298; - default: goto yy18; - } -yy130: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'U': goto yy292; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'u': goto yy299; - default: goto yy18; - } -yy131: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'I': goto yy293; - case 'O': goto yy295; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'i': goto yy300; - case 'o': goto yy301; - default: goto yy18; - } -yy132: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'T': goto yy302; - default: goto yy18; - } -yy133: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21); - yych = *YYCURSOR; -yy134: - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy133; - case '0': - case '1': - case '2': goto yy135; - case '3': goto yy137; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy138; - default: goto yy56; - } -yy135: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': goto yy305; - case '1': goto yy306; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy307; - default: goto yy304; - } -yy136: -#line 1362 "ext/date/lib/parse_date.re" - { - 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; - } -#line 5869 "" -yy137: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': goto yy305; - case '1': goto yy306; - case '2': goto yy309; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy310; - default: goto yy304; - } -yy138: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': goto yy311; - case '1': goto yy312; - case '2': goto yy309; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy310; - default: goto yy304; - } -yy139: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'I': goto yy313; - default: goto yy18; - } -yy140: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - default: goto yy18; - } -yy141: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'N': - case 'n': goto yy314; - default: goto yy18; - } -yy142: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'L': - case 'l': goto yy315; - case 'N': - case 'n': goto yy316; - default: goto yy18; - } -yy143: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'N': goto yy314; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'n': goto yy317; - default: goto yy18; - } -yy144: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'L': goto yy315; - case 'N': goto yy316; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'l': goto yy318; - case 'n': goto yy319; - default: goto yy18; - } -yy145: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'S': - case 's': goto yy320; - default: goto yy18; - } -yy146: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'S': goto yy320; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 's': goto yy321; - default: goto yy18; - } -yy147: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'z': goto yy270; - case 'R': - case 'r': goto yy322; - case 'Y': - case 'y': goto yy323; - default: goto yy18; - } -yy148: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'D': - case 'd': goto yy324; - default: goto yy18; - } -yy149: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'N': - case 'n': goto yy293; - default: goto yy18; - } -yy150: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Z': goto yy270; - case 'R': goto yy322; - case 'Y': goto yy323; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'z': goto yy277; - case 'r': goto yy325; - case 'y': goto yy326; - default: goto yy18; - } -yy151: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'D': goto yy324; - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'd': goto yy327; - default: goto yy18; - } -yy152: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'N': goto yy293; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'n': goto yy300; - default: goto yy18; - } -yy153: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'y': - case 'z': goto yy270; - case 'X': - case 'x': goto yy328; - default: goto yy18; - } -yy154: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'N': - case 'n': goto yy290; - default: goto yy18; - } -yy155: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'x': - case 'y': - case 'z': goto yy270; - case 'O': - case 'o': goto yy329; - case 'V': - case 'v': goto yy283; - case 'W': - case 'w': goto yy330; - default: goto yy18; - } -yy156: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'Y': - case 'Z': goto yy270; - case 'X': goto yy328; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'y': - case 'z': goto yy277; - case 'x': goto yy332; - default: goto yy18; - } -yy157: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'N': goto yy290; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'n': goto yy297; - default: goto yy18; - } -yy158: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'O': goto yy329; - case 'V': goto yy283; - case 'W': goto yy330; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'x': - case 'y': - case 'z': goto yy277; - case 'o': goto yy333; - case 'v': goto yy284; - case 'w': goto yy334; - default: goto yy18; - } -yy159: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'T': - case 't': goto yy335; - default: goto yy18; - } -yy160: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'T': goto yy335; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 't': goto yy336; - default: goto yy18; - } -yy161: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'E': - case 'e': goto yy337; - default: goto yy18; - } -yy162: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'E': goto yy337; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'e': goto yy338; - default: goto yy18; - } -yy163: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'T': - case 't': goto yy339; - default: goto yy18; - } -yy164: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'C': - case 'c': goto yy340; - case 'P': - case 'p': goto yy341; - case 'V': - case 'v': goto yy342; - default: goto yy18; - } -yy165: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'y': - case 'z': goto yy270; - case 'X': - case 'x': goto yy290; - default: goto yy18; - } -yy166: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'T': goto yy339; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 't': goto yy343; - default: goto yy18; - } -yy167: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'C': goto yy340; - case 'P': goto yy341; - case 'V': goto yy342; - case 'a': - case 'b': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'c': goto yy344; - case 'p': goto yy345; - case 'v': goto yy346; - default: goto yy18; - } -yy168: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'Y': - case 'Z': goto yy270; - case 'X': goto yy290; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'y': - case 'z': goto yy277; - case 'x': goto yy297; - default: goto yy18; - } -yy169: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy72; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy347; - default: goto yy56; - } -yy170: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy72; - case '0': - case '1': - case '2': - case '3': - case '4': goto yy347; - default: goto yy56; - } -yy171: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy72; - default: goto yy56; - } -yy172: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'I': - case 'i': goto yy348; - case 'U': - case 'u': goto yy349; - default: goto yy18; - } -yy173: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'D': - case 'd': goto yy350; - case 'M': - case 'm': goto yy351; - default: goto yy18; - } -yy174: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'E': - case 'e': goto yy352; - default: goto yy18; - } -yy175: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'E': - case 'e': goto yy353; - default: goto yy18; - } -yy176: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'I': goto yy348; - case 'U': goto yy349; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'i': goto yy354; - case 'u': goto yy355; - default: goto yy18; - } -yy177: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'D': goto yy350; - case 'M': goto yy351; - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'd': goto yy356; - case 'm': goto yy357; - default: goto yy18; - } -yy178: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'E': goto yy352; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'e': goto yy358; - default: goto yy18; - } -yy179: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'E': goto yy353; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'e': goto yy359; - default: goto yy18; - } -yy180: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'I': goto yy360; - default: goto yy18; - } -yy181: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'D': - case 'd': goto yy361; - case 'E': - case 'e': goto yy362; - default: goto yy18; - } -yy182: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'D': goto yy361; - case 'E': goto yy362; - case 'a': - case 'b': - case 'c': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 'd': goto yy363; - case 'e': goto yy364; - default: goto yy18; - } -yy183: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy270; - case 'S': - case 's': goto yy365; - default: goto yy18; - } -yy184: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy270; - case 'S': goto yy365; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy277; - case 's': goto yy366; - default: goto yy18; - } -yy185: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy186: - switch (yych) { - case '\t': - case ' ': goto yy185; - case 'D': - case 'd': goto yy187; - case 'F': - case 'f': goto yy188; - case 'H': - case 'h': goto yy76; - case 'M': - case 'm': goto yy189; - case 'S': - case 's': goto yy190; - case 'T': - case 't': goto yy84; - case 'W': - case 'w': goto yy86; - case 'Y': - case 'y': goto yy88; - default: goto yy56; - } -yy187: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy231; - default: goto yy56; - } -yy188: - yych = *++YYCURSOR; - switch (yych) { - case 'O': - case 'o': goto yy234; - case 'R': - case 'r': goto yy235; - default: goto yy56; - } -yy189: - yych = *++YYCURSOR; - switch (yych) { - case 'I': - case 'i': goto yy246; - case 'O': - case 'o': goto yy247; - default: goto yy56; - } -yy190: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy250; - case 'E': - case 'e': goto yy367; - case 'U': - case 'u': goto yy252; - default: goto yy56; - } -yy191: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy368; - case '6': - case '7': - case '8': - case '9': goto yy369; - case ':': goto yy192; - default: goto yy18; - } -yy192: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy370; - case '6': - case '7': - case '8': - case '9': goto yy107; - default: goto yy18; - } -yy193: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy369; - default: goto yy18; - } -yy194: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy371; - default: goto yy18; - } -yy195: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); - yych = *YYCURSOR; -yy196: - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy195; - case 'A': - case 'a': goto yy73; - case 'D': - case 'd': goto yy203; - case 'F': - case 'f': goto yy204; - case 'I': goto yy77; - case 'J': - case 'j': goto yy79; - case 'M': - case 'm': goto yy205; - case 'N': - case 'n': goto yy81; - case 'O': - case 'o': goto yy82; - case 'S': - case 's': goto yy206; - case 'V': goto yy85; - case 'X': goto yy87; - default: goto yy56; - } -yy197: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy372; - case '.': goto yy373; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy199; - default: goto yy56; - } -yy198: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy372; - case '.': goto yy373; - case '0': - case '1': - case '2': goto yy199; - default: goto yy56; - } -yy199: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy372; - case '.': goto yy373; - default: goto yy56; - } -yy200: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy374; - case '.': goto yy372; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy202; - default: goto yy56; - } -yy201: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy374; - case '.': goto yy372; - case '0': - case '1': - case '2': goto yy202; - default: goto yy56; - } -yy202: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy374; - case '.': goto yy372; - default: goto yy56; - } -yy203: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy232; - default: goto yy56; - } -yy204: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy233; - default: goto yy56; - } -yy205: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy245; - default: goto yy56; - } -yy206: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy375; - default: goto yy56; - } -yy207: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy372; - case '.': goto yy376; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy211; - case ':': goto yy377; - default: goto yy208; - } -yy208: -#line 1131 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); - } - } - - if (*ptr != '\0') { - s->time->z = timelib_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; - } -#line 8909 "" -yy209: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy372; - case '.': goto yy376; - case '0': - case '1': - case '2': goto yy211; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy228; - case ':': goto yy377; - default: goto yy208; - } -yy210: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy372; - case '.': goto yy376; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy228; - case ':': goto yy377; - default: goto yy208; - } -yy211: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy372; - case '.': goto yy376; - case ':': goto yy377; - default: goto yy208; - } -yy212: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '/': goto yy378; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy215; - case 'n': - case 'r': goto yy379; - case 's': goto yy380; - case 't': goto yy381; - default: goto yy213; - } -yy213: -#line 1223 "ext/date/lib/parse_date.re" - { - 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; - } -#line 8994 "" -yy214: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '/': goto yy378; - case '0': - case '1': goto yy215; - case 'n': - case 'r': goto yy379; - case 's': goto yy380; - case 't': goto yy381; - default: goto yy213; - } -yy215: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '/': goto yy378; - case 'n': - case 'r': goto yy379; - case 's': goto yy380; - case 't': goto yy381; - default: goto yy213; - } -yy216: - yych = *++YYCURSOR; - switch (yych) { - case 'P': - case 'p': goto yy382; - case 'U': - case 'u': goto yy383; - default: goto yy56; - } -yy217: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy384; - default: goto yy56; - } -yy218: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy385; - default: goto yy56; - } -yy219: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy386; - case 'U': - case 'u': goto yy387; - default: goto yy56; - } -yy220: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy388; - default: goto yy56; - } -yy221: - yych = *++YYCURSOR; - switch (yych) { - case 'O': - case 'o': goto yy389; - default: goto yy56; - } -yy222: - yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy390; - default: goto yy56; - } -yy223: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy391; - default: goto yy56; - } -yy224: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy392; - case '1': goto yy393; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy202; - default: goto yy196; - } -yy225: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy394; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy395; - default: goto yy186; - } -yy226: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy394; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy397; - default: goto yy186; - } -yy227: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy377; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy228; - default: goto yy208; - } -yy228: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy377; - default: goto yy208; - } -yy229: - yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy399; - default: goto yy56; - } -yy230: - yych = *++YYCURSOR; - switch (yych) { - case 'G': - case 'g': goto yy400; - default: goto yy56; - } -yy231: - yych = *++YYCURSOR; - switch (yych) { - case 'Y': - case 'y': goto yy401; - default: goto yy56; - } -yy232: - yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy403; - default: goto yy56; - } -yy233: - yych = *++YYCURSOR; - switch (yych) { - case 'B': - case 'b': goto yy404; - default: goto yy56; - } -yy234: - yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy405; - default: goto yy56; - } -yy235: - yych = *++YYCURSOR; - switch (yych) { - case 'I': - case 'i': goto yy406; - default: goto yy56; - } -yy236: - yych = *++YYCURSOR; - switch (yych) { - case 'U': - case 'u': goto yy407; - default: goto yy56; - } -yy237: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); - yych = *YYCURSOR; - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - default: goto yy56; - } -yy239: - ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy408; - default: goto yy240; - } -yy240: -#line 1293 "ext/date/lib/parse_date.re" - { - 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; - } -#line 9259 "" -yy241: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'I': goto yy242; - default: goto yy78; - } -yy242: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - default: goto yy78; - } -yy243: - yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy409; - default: goto yy56; - } -yy244: - yych = *++YYCURSOR; - switch (yych) { - case 'L': - case 'l': goto yy410; - case 'N': - case 'n': goto yy411; - default: goto yy56; - } -yy245: - yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy412; - case 'Y': - case 'y': goto yy242; - default: goto yy56; - } -yy246: - yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy413; - default: goto yy56; - } -yy247: - yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy414; - default: goto yy56; - } -yy248: - yych = *++YYCURSOR; - switch (yych) { - case 'V': - case 'v': goto yy403; - default: goto yy56; - } -yy249: - yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy415; - default: goto yy56; - } -yy250: - yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy416; - default: goto yy56; - } -yy251: - yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy417; - case 'P': - case 'p': goto yy418; - default: goto yy56; - } -yy252: - yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy406; - default: goto yy56; - } -yy253: - yych = *++YYCURSOR; - switch (yych) { - case 'U': - case 'u': goto yy419; - default: goto yy56; - } -yy254: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy420; - default: goto yy56; - } -yy255: - yych = *++YYCURSOR; - switch (yych) { - case 'D': - case 'd': goto yy421; - case 'E': - case 'e': goto yy422; - default: goto yy56; - } -yy256: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy407; - default: goto yy56; - } -yy257: - yych = *++YYCURSOR; - switch (yych) { - case '\t': - case '.': goto yy268; - case '-': goto yy423; - case '/': goto yy263; - default: goto yy196; - } -yy258: - yych = *++YYCURSOR; - switch (yych) { - case '\t': - case '.': goto yy268; - case '-': goto yy423; - case '/': goto yy263; - case 'U': - case 'u': goto yy419; - default: goto yy196; - } -yy259: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy372; - case '.': goto yy424; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy425; - case ':': goto yy426; - default: goto yy208; - } -yy260: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy372; - case '.': goto yy424; - case '0': - case '1': - case '2': goto yy425; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy427; - case ':': goto yy426; - default: goto yy208; - } -yy261: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy372; - case '.': goto yy424; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy427; - case ':': goto yy426; - default: goto yy208; - } -yy262: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy372; - case '.': goto yy424; - case ':': goto yy426; - default: goto yy208; - } -yy263: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy216; - case 'D': - case 'd': goto yy217; - case 'F': - case 'f': goto yy218; - case 'J': - case 'j': goto yy219; - case 'M': - case 'm': goto yy220; - case 'N': - case 'n': goto yy221; - case 'O': - case 'o': goto yy222; - case 'S': - case 's': goto yy223; - default: goto yy56; - } -yy264: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy426; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy428; - default: goto yy208; - } -yy265: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy426; - default: goto yy208; - } -yy266: - yych = *++YYCURSOR; - switch (yych) { - case 'M': - case 'm': goto yy267; - default: goto yy56; - } -yy267: - yych = *++YYCURSOR; - switch (yych) { - case 0x00: - case '\t': - case ' ': goto yy429; - case '.': goto yy431; - default: goto yy56; - } -yy268: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy197; - case '1': goto yy198; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy199; - default: goto yy196; - } -yy269: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy432; - case '1': goto yy433; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy434; - case 'A': - case 'a': goto yy435; - case 'D': - case 'd': goto yy436; - case 'F': - case 'f': goto yy437; - case 'J': - case 'j': goto yy438; - case 'M': - case 'm': goto yy439; - case 'N': - case 'n': goto yy440; - case 'O': - case 'o': goto yy441; - case 'S': - case 's': goto yy442; - default: goto yy56; - } -yy270: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - default: goto yy18; - } -yy271: - ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - default: goto yy272; - } -yy272: -#line 1536 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("ago"); - TIMELIB_INIT; - s->time->relative.y = 0 - s->time->relative.y; - s->time->relative.m = 0 - s->time->relative.m; - s->time->relative.d = 0 - s->time->relative.d; - s->time->relative.h = 0 - s->time->relative.h; - s->time->relative.i = 0 - s->time->relative.i; - s->time->relative.s = 0 - s->time->relative.s; - s->time->relative.weekday = 0 - s->time->relative.weekday; - if (s->time->relative.weekday == 0) { - s->time->relative.weekday = -7; - } - if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) { - s->time->relative.special.amount = 0 - s->time->relative.special.amount; - } - TIMELIB_DEINIT; - return TIMELIB_AGO; - } -#line 9739 "" -yy273: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy444; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'I': - case 'i': goto yy445; - default: goto yy274; - } -yy274: -#line 1616 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("monthtext"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_lookup_month((char **) &ptr); - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; - } -#line 9823 "" -yy275: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy444; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'U': - case 'u': goto yy446; - default: goto yy274; - } -yy276: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch (yych) { - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy447; - default: goto yy56; - } -yy277: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - default: goto yy18; - } -yy278: - yyaccept = 8; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - default: goto yy272; - } -yy279: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy450; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'I': goto yy445; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'i': goto yy451; - default: goto yy274; - } -yy280: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy450; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'U': goto yy446; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'u': goto yy452; - default: goto yy274; - } -yy281: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'K': - case 'k': goto yy453; - default: goto yy18; - } -yy282: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'K': goto yy453; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'k': goto yy454; - default: goto yy18; - } -yy283: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy444; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'E': - case 'e': goto yy455; - default: goto yy274; - } -yy284: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy450; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'E': goto yy455; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'e': goto yy456; - default: goto yy274; - } -yy285: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'H': - case 'h': goto yy457; - default: goto yy18; - } -yy286: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'V': - case 'v': goto yy458; - default: goto yy18; - } -yy287: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'H': goto yy457; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'h': goto yy459; - default: goto yy18; - } -yy288: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'V': goto yy458; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'v': goto yy460; - default: goto yy18; - } -yy289: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy444; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'R': - case 'r': goto yy461; - default: goto yy274; - } -yy290: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'T': - case 't': goto yy462; - default: goto yy18; - } -yy291: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'S': - case 's': goto yy463; - default: goto yy18; - } -yy292: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'R': - case 'r': goto yy464; - default: goto yy18; - } -yy293: - ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'D': - case 'd': goto yy465; - default: goto yy294; - } -yy294: -#line 1557 "ext/date/lib/parse_date.re" - { - const timelib_relunit* relunit; - DEBUG_OUTPUT("daytext"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_HAVE_WEEKDAY_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - relunit = timelib_lookup_relunit((char**) &ptr); - s->time->relative.weekday = relunit->multiplier; - if (s->time->relative.weekday_behavior != 2) { - s->time->relative.weekday_behavior = 1; - } - - TIMELIB_DEINIT; - return TIMELIB_WEEKDAY; - } -#line 11061 "" -yy295: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'N': - case 'n': goto yy466; - default: goto yy18; - } -yy296: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy450; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'R': goto yy461; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'r': goto yy467; - default: goto yy274; - } -yy297: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'T': goto yy462; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 't': goto yy468; - default: goto yy18; - } -yy298: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'S': goto yy463; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 's': goto yy469; - default: goto yy18; - } -yy299: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'R': goto yy464; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'r': goto yy470; - default: goto yy18; - } -yy300: - yyaccept = 9; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'D': goto yy465; - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'd': goto yy471; - default: goto yy294; - } -yy301: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'N': goto yy466; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'n': goto yy472; - default: goto yy18; - } -yy302: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '+': - case '-': goto yy473; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - default: goto yy18; - } -yy303: - yyaccept = 4; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); - yych = *YYCURSOR; -yy304: - switch (yych) { - case '\t': - case ' ': - case ',': - case '.': - case 'd': - case 'h': - case 'n': - case 'r': - case 's': - case 't': goto yy303; - case '0': goto yy474; - case '1': goto yy475; - case '2': goto yy476; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy477; - case 'T': goto yy308; - default: goto yy136; - } -yy305: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy478; - case '0': goto yy479; - case '1': goto yy480; - case '2': goto yy481; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - case ':': goto yy483; - default: goto yy304; - } -yy306: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy484; - case '0': goto yy485; - case '1': goto yy480; - case '2': goto yy481; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - case ':': goto yy486; - default: goto yy304; - } -yy307: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy484; - case '0': goto yy479; - case '1': goto yy480; - case '2': goto yy481; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - case ':': goto yy486; - default: goto yy304; - } -yy308: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy487; - case '2': goto yy488; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy489; - default: goto yy56; - } -yy309: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy486; - case '0': - case '1': - case '2': - case '3': - case '4': goto yy490; - case '5': - case '6': - case '7': - case '8': - case '9': goto yy491; - default: goto yy56; - } -yy310: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy486; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy491; - default: goto yy56; - } -yy311: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy483; - case '0': goto yy490; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - default: goto yy56; - } -yy312: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy486; - case '0': - case '1': - case '2': goto yy482; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy490; - default: goto yy56; - } -yy313: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - default: goto yy18; - } -yy314: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy444; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'U': - case 'u': goto yy492; - default: goto yy274; - } -yy315: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy444; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'z': goto yy443; - case 'Y': - case 'y': goto yy493; - default: goto yy274; - } -yy316: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy444; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'E': - case 'e': goto yy493; - default: goto yy274; - } -yy317: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy450; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'U': goto yy492; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'u': goto yy494; - default: goto yy274; - } -yy318: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy450; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Z': goto yy443; - case 'Y': goto yy493; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'z': goto yy449; - case 'y': goto yy495; - default: goto yy274; - } -yy319: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy450; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'E': goto yy493; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'e': goto yy495; - default: goto yy274; - } -yy320: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'T': - case 't': goto yy496; - default: goto yy18; - } -yy321: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'T': goto yy496; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 't': goto yy497; - default: goto yy18; - } -yy322: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy444; - case 'A': - case 'B': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'C': - case 'c': goto yy498; - default: goto yy274; - } -yy323: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy444; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - default: goto yy274; - } -yy324: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'N': - case 'n': goto yy499; - default: goto yy18; - } -yy325: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy450; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'C': goto yy498; - case 'a': - case 'b': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'c': goto yy500; - default: goto yy274; - } -yy326: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy450; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - default: goto yy274; - } -yy327: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'N': goto yy499; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'n': goto yy501; - default: goto yy18; - } -yy328: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'T': - case 't': goto yy502; - default: goto yy18; - } -yy329: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'N': - case 'n': goto yy503; - default: goto yy18; - } -yy330: - ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - default: goto yy331; - } -yy331: -#line 963 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("now"); - TIMELIB_INIT; - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 12969 "" -yy332: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'T': goto yy502; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 't': goto yy505; - default: goto yy18; - } -yy333: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'N': goto yy503; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'n': goto yy506; - default: goto yy18; - } -yy334: - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - default: goto yy331; - } -yy335: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy444; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'O': - case 'o': goto yy507; - default: goto yy274; - } -yy336: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy450; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'O': goto yy507; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'o': goto yy508; - default: goto yy274; - } -yy337: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'V': - case 'v': goto yy509; - default: goto yy18; - } -yy338: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'V': goto yy509; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'v': goto yy510; - default: goto yy18; - } -yy339: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'U': - case 'u': goto yy511; - default: goto yy294; - } -yy340: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'O': - case 'o': goto yy512; - default: goto yy18; - } -yy341: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy444; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'T': - case 't': goto yy513; - default: goto yy274; - } -yy342: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'E': - case 'e': goto yy514; - default: goto yy18; - } -yy343: - yyaccept = 9; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'U': goto yy511; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'u': goto yy515; - default: goto yy294; - } -yy344: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'O': goto yy512; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'o': goto yy516; - default: goto yy18; - } -yy345: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy450; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'T': goto yy513; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 't': goto yy517; - default: goto yy274; - } -yy346: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'E': goto yy514; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'e': goto yy518; - default: goto yy18; - } -yy347: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy72; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy519; - default: goto yy56; - } -yy348: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'R': - case 'r': goto yy520; - case 'S': - case 's': goto yy502; - default: goto yy18; - } -yy349: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'R': - case 'r': goto yy521; - default: goto yy294; - } -yy350: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'a': goto yy522; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - default: goto yy18; - } -yy351: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'O': - case 'o': goto yy523; - default: goto yy18; - } -yy352: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'S': - case 's': goto yy524; - default: goto yy294; - } -yy353: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'L': - case 'l': goto yy525; - default: goto yy18; - } -yy354: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'R': goto yy520; - case 'S': goto yy502; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'r': goto yy526; - case 's': goto yy505; - default: goto yy18; - } -yy355: - yyaccept = 9; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'R': goto yy521; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'r': goto yy527; - default: goto yy294; - } -yy356: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': goto yy522; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'a': goto yy528; - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - default: goto yy18; - } -yy357: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'O': goto yy523; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'o': goto yy529; - default: goto yy18; - } -yy358: - yyaccept = 9; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'S': goto yy524; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 's': goto yy530; - default: goto yy294; - } -yy359: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'L': goto yy525; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'l': goto yy531; - default: goto yy18; - } -yy360: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'I': goto yy532; - default: goto yy18; - } -yy361: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'N': - case 'n': goto yy533; - default: goto yy294; - } -yy362: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'K': - case 'k': goto yy534; - default: goto yy18; - } -yy363: - yyaccept = 9; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'N': goto yy533; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'n': goto yy535; - default: goto yy294; - } -yy364: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'K': goto yy534; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 'k': goto yy536; - default: goto yy18; - } -yy365: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy443; - case 'T': - case 't': goto yy537; - default: goto yy18; - } -yy366: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy443; - case 'T': goto yy537; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy449; - case 't': goto yy538; - default: goto yy18; - } -yy367: - yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy417; - default: goto yy56; - } -yy368: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy539; - default: goto yy18; - } -yy369: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy540; - default: goto yy18; - } -yy370: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy107; - default: goto yy18; - } -yy371: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy540; - default: goto yy186; - } -yy372: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy541; - default: goto yy56; - } -yy373: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy542; - default: goto yy56; - } -yy374: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy543; - case '3': goto yy545; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy546; - default: goto yy56; - } -yy375: - yych = *++YYCURSOR; - switch (yych) { - case 'P': - case 'p': goto yy418; - default: goto yy56; - } -yy376: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy547; - case '6': goto yy548; - case '7': - case '8': - case '9': goto yy549; - default: goto yy56; - } -yy377: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy550; - case '6': goto yy551; - case '7': - case '8': - case '9': goto yy552; - default: goto yy56; - } -yy378: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy553; - default: goto yy56; - } -yy379: - yych = *++YYCURSOR; - switch (yych) { - case 'd': goto yy554; - default: goto yy56; - } -yy380: - yych = *++YYCURSOR; - switch (yych) { - case 't': goto yy554; - default: goto yy56; - } -yy381: - yych = *++YYCURSOR; - switch (yych) { - case 'h': goto yy554; - default: goto yy56; - } -yy382: - yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy555; - default: goto yy56; - } -yy383: - yych = *++YYCURSOR; - switch (yych) { - case 'G': - case 'g': goto yy555; - default: goto yy56; - } -yy384: - yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy555; - default: goto yy56; - } -yy385: - yych = *++YYCURSOR; - switch (yych) { - case 'B': - case 'b': goto yy555; - default: goto yy56; - } -yy386: - yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy555; - default: goto yy56; - } -yy387: - yych = *++YYCURSOR; - switch (yych) { - case 'L': - case 'N': - case 'l': - case 'n': goto yy555; - default: goto yy56; - } -yy388: - yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'Y': - case 'r': - case 'y': goto yy555; - default: goto yy56; - } -yy389: - yych = *++YYCURSOR; - switch (yych) { - case 'V': - case 'v': goto yy555; - default: goto yy56; - } -yy390: - yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy555; - default: goto yy56; - } -yy391: - yych = *++YYCURSOR; - switch (yych) { - case 'P': - case 'p': goto yy556; - default: goto yy56; - } -yy392: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy374; - case '.': goto yy372; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy557; - default: goto yy56; - } -yy393: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy374; - case '.': goto yy372; - case '0': - case '1': - case '2': goto yy557; - default: goto yy56; - } -yy394: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy558; - case '1': goto yy559; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy434; - case 'A': - case 'a': goto yy435; - case 'D': - case 'd': goto yy436; - case 'F': - case 'f': goto yy437; - case 'J': - case 'j': goto yy438; - case 'M': - case 'm': goto yy439; - case 'N': - case 'n': goto yy440; - case 'O': - case 'o': goto yy441; - case 'S': - case 's': goto yy442; - default: goto yy56; - } -yy395: - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'A': - case 'D': - case 'F': - case 'H': - case 'I': - case 'J': - case 'M': - case 'N': - case 'O': - case 'S': - case 'T': - case 'V': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'n': - case 'o': - case 's': - case 't': - case 'w': - case 'y': goto yy561; - case '-': goto yy562; - case '.': goto yy563; - case '/': goto yy564; - case '0': goto yy565; - case '1': goto yy566; - case '2': goto yy567; - case '3': goto yy568; - case '4': - case '5': goto yy569; - case '6': goto yy570; - case '7': - case '8': - case '9': goto yy57; - case ':': goto yy571; - case 'W': goto yy583; - default: goto yy396; - } -yy396: -#line 1157 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("gnunocolon"); - TIMELIB_INIT; - switch (s->time->have_time) { - case 0: - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - s->time->s = 0; - break; - case 1: - s->time->y = timelib_get_nr((char **) &ptr, 4); - break; - default: - TIMELIB_DEINIT; - add_error(s, "Double time specification"); - return TIMELIB_ERROR; - } - s->time->have_time++; - TIMELIB_DEINIT; - return TIMELIB_GNU_NOCOLON; - } -#line 15522 "" -yy397: - yyaccept = 12; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'A': - case 'D': - case 'F': - case 'H': - case 'I': - case 'J': - case 'M': - case 'N': - case 'O': - case 'S': - case 'T': - case 'V': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'n': - case 'o': - case 's': - case 't': - case 'w': - case 'y': goto yy561; - case '-': goto yy562; - case '.': goto yy563; - case '/': goto yy564; - case '0': goto yy585; - case '1': goto yy586; - case '2': goto yy587; - case '3': goto yy588; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy57; - case ':': goto yy571; - case 'W': goto yy583; - default: goto yy398; - } -yy398: -#line 1527 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("year4"); - TIMELIB_INIT; - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_DEINIT; - return TIMELIB_CLF; - } -#line 15581 "" -yy399: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'I': - case 'i': goto yy589; - default: goto yy78; - } -yy400: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'U': - case 'u': goto yy590; - default: goto yy78; - } -yy401: - ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case 'S': - case 's': goto yy591; - default: goto yy402; - } -yy402: -#line 1694 "ext/date/lib/parse_date.re" - { - timelib_ull i; - DEBUG_OUTPUT("relative"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - - while(*ptr) { - i = timelib_get_unsigned_nr((char **) &ptr, 24); - timelib_eat_spaces((char **) &ptr); - timelib_set_relative((char **) &ptr, i, 1, s); - } - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 15649 "" -yy403: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'E': - case 'e': goto yy592; - default: goto yy78; - } -yy404: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'R': - case 'r': goto yy593; - default: goto yy78; - } -yy405: - yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy594; - default: goto yy56; - } -yy406: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'D': - case 'd': goto yy595; - default: goto yy402; - } -yy407: - yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy401; - default: goto yy56; - } -yy408: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy596; - default: goto yy240; - } -yy409: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'U': - case 'u': goto yy597; - default: goto yy78; - } -yy410: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'Y': - case 'y': goto yy242; - default: goto yy78; - } -yy411: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'E': - case 'e': goto yy242; - default: goto yy78; - } -yy412: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'C': - case 'c': goto yy598; - default: goto yy78; - } -yy413: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'S': - case 's': goto yy591; - case 'U': - case 'u': goto yy599; - default: goto yy402; - } -yy414: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'D': - case 'd': goto yy595; - case 'T': - case 't': goto yy600; - default: goto yy402; - } -yy415: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'O': - case 'o': goto yy601; - default: goto yy78; - } -yy416: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'U': - case 'u': goto yy602; - default: goto yy402; - } -yy417: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'O': - case 'o': goto yy603; - case 'S': - case 's': goto yy591; - default: goto yy402; - } -yy418: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy237; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy239; - case 'T': - case 't': goto yy403; - default: goto yy78; - } -yy419: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'R': - case 'r': goto yy604; - default: goto yy402; - } -yy420: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'S': - case 's': goto yy605; - default: goto yy402; - } -yy421: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'N': - case 'n': goto yy606; - default: goto yy402; - } -yy422: - yych = *++YYCURSOR; - switch (yych) { - case 'K': - case 'k': goto yy607; - default: goto yy56; - } -yy423: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy608; - case '1': goto yy609; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy610; - default: goto yy196; - } -yy424: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy611; - case '6': goto yy612; - case '7': - case '8': - case '9': goto yy549; - default: goto yy56; - } -yy425: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy613; - case '-': goto yy372; - case '.': goto yy424; - case ':': goto yy426; - case 'A': - case 'P': - case 'a': - case 'p': goto yy100; - default: goto yy208; - } -yy426: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy615; - case '6': goto yy616; - case '7': - case '8': - case '9': goto yy552; - default: goto yy56; - } -yy427: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy613; - case '.': - case ':': goto yy426; - case 'A': - case 'P': - case 'a': - case 'p': goto yy100; - default: goto yy208; - } -yy428: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy613; - case '.': goto yy426; - case ':': goto yy617; - case 'A': - case 'P': - case 'a': - case 'p': goto yy100; - default: goto yy208; - } -yy429: - ++YYCURSOR; -#line 1094 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - } - } - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - TIMELIB_DEINIT; - return TIMELIB_TIME12; - } -#line 16038 "" -yy431: - yych = *++YYCURSOR; - switch (yych) { - case 0x00: - case '\t': - case ' ': goto yy429; - default: goto yy56; - } -yy432: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy618; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy619; - default: goto yy56; - } -yy433: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy618; - case '0': - case '1': - case '2': goto yy619; - default: goto yy56; - } -yy434: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy618; - default: goto yy56; - } -yy435: - yych = *++YYCURSOR; - switch (yych) { - case 'P': - case 'p': goto yy620; - case 'U': - case 'u': goto yy621; - default: goto yy56; - } -yy436: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy622; - default: goto yy56; - } -yy437: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy623; - default: goto yy56; - } -yy438: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy624; - case 'U': - case 'u': goto yy625; - default: goto yy56; - } -yy439: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy626; - default: goto yy56; - } -yy440: - yych = *++YYCURSOR; - switch (yych) { - case 'O': - case 'o': goto yy627; - default: goto yy56; - } -yy441: - yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy628; - default: goto yy56; - } -yy442: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy629; - default: goto yy56; - } -yy443: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - default: goto yy18; - } -yy444: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy631; - case '3': goto yy632; - default: goto yy134; - } -yy445: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'L': - case 'l': goto yy633; - default: goto yy18; - } -yy446: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'S': - case 's': goto yy634; - default: goto yy18; - } -yy447: - yyaccept = 2; - YYMARKER = ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch (yych) { - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy447; - default: goto yy18; - } -yy449: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - default: goto yy18; - } -yy450: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy631; - case '3': goto yy632; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy447; - default: goto yy134; - } -yy451: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'L': goto yy633; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'l': goto yy636; - default: goto yy18; - } -yy452: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'S': goto yy634; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 's': goto yy637; - default: goto yy18; - } -yy453: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ' ': goto yy638; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - default: goto yy18; - } -yy454: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ' ': goto yy638; - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - default: goto yy18; - } -yy455: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'M': - case 'm': goto yy639; - default: goto yy18; - } -yy456: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'M': goto yy639; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'm': goto yy640; - default: goto yy18; - } -yy457: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'T': - case 't': goto yy641; - default: goto yy18; - } -yy458: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'E': - case 'e': goto yy642; - default: goto yy18; - } -yy459: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'T': goto yy641; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 't': goto yy643; - default: goto yy18; - } -yy460: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'E': goto yy642; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'e': goto yy644; - default: goto yy18; - } -yy461: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'U': - case 'u': goto yy645; - default: goto yy18; - } -yy462: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'H': - case 'h': goto yy646; - default: goto yy18; - } -yy463: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'T': - case 't': goto yy647; - default: goto yy18; - } -yy464: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'T': - case 't': goto yy648; - default: goto yy18; - } -yy465: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'a': goto yy649; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - default: goto yy18; - } -yy466: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'T': - case 't': goto yy650; - default: goto yy18; - } -yy467: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'U': goto yy645; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'u': goto yy651; - default: goto yy18; - } -yy468: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'H': goto yy646; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'h': goto yy652; - default: goto yy18; - } -yy469: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'T': goto yy647; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 't': goto yy653; - default: goto yy18; - } -yy470: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'T': goto yy648; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 't': goto yy654; - default: goto yy18; - } -yy471: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': goto yy649; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'a': goto yy655; - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - default: goto yy18; - } -yy472: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'T': goto yy650; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 't': goto yy656; - default: goto yy18; - } -yy473: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy657; - case '2': goto yy658; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy659; - default: goto yy56; - } -yy474: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy483; - case '0': goto yy660; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy661; - default: goto yy136; - } -yy475: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy486; - case '0': - case '1': - case '2': goto yy661; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy660; - default: goto yy136; - } -yy476: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy486; - case '0': - case '1': - case '2': - case '3': - case '4': goto yy660; - case '5': - case '6': - case '7': - case '8': - case '9': goto yy662; - default: goto yy136; - } -yy477: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy486; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy662; - default: goto yy136; - } -yy478: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': goto yy663; - case '1': goto yy664; - case '2': goto yy665; - case '3': - case '4': - case '5': goto yy666; - case '6': - case '7': - case '8': - case '9': goto yy667; - default: goto yy304; - } -yy479: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy483; - case '0': goto yy668; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy670; - default: goto yy56; - } -yy480: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy486; - case '0': - case '1': - case '2': goto yy670; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy668; - default: goto yy56; - } -yy481: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy486; - case '0': - case '1': - case '2': - case '3': - case '4': goto yy668; - case '5': - case '6': - case '7': - case '8': - case '9': goto yy671; - default: goto yy56; - } -yy482: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy486; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy671; - default: goto yy56; - } -yy483: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy672; - case '6': - case '7': - case '8': - case '9': goto yy674; - default: goto yy56; - } -yy484: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': goto yy675; - case '1': goto yy676; - case '2': goto yy677; - case '3': - case '4': - case '5': goto yy678; - case '6': - case '7': - case '8': - case '9': goto yy679; - default: goto yy304; - } -yy485: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy486; - case '0': goto yy668; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy670; - default: goto yy56; - } -yy486: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy680; - case '6': - case '7': - case '8': - case '9': goto yy681; - default: goto yy56; - } -yy487: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy483; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy489; - default: goto yy56; - } -yy488: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy483; - case '0': - case '1': - case '2': - case '3': - case '4': goto yy489; - default: goto yy56; - } -yy489: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy483; - default: goto yy56; - } -yy490: - yych = *++YYCURSOR; - switch (yych) { - case '.': - case ':': goto yy483; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy671; - default: goto yy56; - } -yy491: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy671; - default: goto yy56; - } -yy492: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'a': goto yy682; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - default: goto yy18; - } -yy493: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - default: goto yy274; - } -yy494: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': goto yy682; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'a': goto yy683; - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - default: goto yy18; - } -yy495: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy684; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - default: goto yy274; - } -yy496: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': goto yy685; - case ' ': goto yy687; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - default: goto yy18; - } -yy497: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': goto yy685; - case ' ': goto yy687; - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - default: goto yy18; - } -yy498: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'H': - case 'h': goto yy633; - default: goto yy18; - } -yy499: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'I': - case 'i': goto yy688; - default: goto yy18; - } -yy500: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'H': goto yy633; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'h': goto yy636; - default: goto yy18; - } -yy501: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'I': goto yy688; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'i': goto yy689; - default: goto yy18; - } -yy502: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy685; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - default: goto yy18; - } -yy503: - ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - default: goto yy504; - } -yy504: -#line 972 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("noon"); - TIMELIB_INIT; - TIMELIB_UNHAVE_TIME(); - TIMELIB_HAVE_TIME(); - s->time->h = 12; - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 18900 "" -yy505: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy685; - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - default: goto yy18; - } -yy506: - yyaccept = 14; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - default: goto yy504; - } -yy507: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'B': - case 'b': goto yy690; - default: goto yy18; - } -yy508: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'B': goto yy690; - case 'a': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'b': goto yy691; - default: goto yy18; - } -yy509: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'I': - case 'i': goto yy692; - default: goto yy18; - } -yy510: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'I': goto yy692; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'i': goto yy693; - default: goto yy18; - } -yy511: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'R': - case 'r': goto yy694; - default: goto yy18; - } -yy512: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'N': - case 'n': goto yy695; - default: goto yy18; - } -yy513: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy444; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'E': - case 'e': goto yy696; - default: goto yy274; - } -yy514: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'N': - case 'n': goto yy697; - default: goto yy18; - } -yy515: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'R': goto yy694; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'r': goto yy698; - default: goto yy18; - } -yy516: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'N': goto yy695; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'n': goto yy699; - default: goto yy18; - } -yy517: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy450; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'E': goto yy696; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'e': goto yy700; - default: goto yy274; - } -yy518: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'N': goto yy697; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'n': goto yy701; - default: goto yy18; - } -yy519: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy702; - default: goto yy56; - } -yy520: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'D': - case 'd': goto yy646; - default: goto yy18; - } -yy521: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'S': - case 's': goto yy694; - default: goto yy18; - } -yy522: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'z': goto yy630; - case 'Y': - case 'y': goto yy703; - default: goto yy18; - } -yy523: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'R': - case 'r': goto yy705; - default: goto yy18; - } -yy524: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'D': - case 'd': goto yy706; - default: goto yy18; - } -yy525: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'F': - case 'f': goto yy697; - default: goto yy18; - } -yy526: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'D': goto yy646; - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'd': goto yy652; - default: goto yy18; - } -yy527: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'S': goto yy694; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 's': goto yy698; - default: goto yy18; - } -yy528: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Z': goto yy630; - case 'Y': goto yy703; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'z': goto yy635; - case 'y': goto yy707; - default: goto yy18; - } -yy529: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'R': goto yy705; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'r': goto yy708; - default: goto yy18; - } -yy530: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'D': goto yy706; - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'd': goto yy709; - default: goto yy18; - } -yy531: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'F': goto yy697; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'f': goto yy701; - default: goto yy18; - } -yy532: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - default: goto yy18; - } -yy533: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'E': - case 'e': goto yy710; - default: goto yy18; - } -yy534: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'D': - case 'd': goto yy711; - default: goto yy18; - } -yy535: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'E': goto yy710; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'e': goto yy712; - default: goto yy18; - } -yy536: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'D': goto yy711; - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'd': goto yy713; - default: goto yy18; - } -yy537: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy630; - case 'E': - case 'e': goto yy714; - default: goto yy18; - } -yy538: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy630; - case 'E': goto yy714; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy635; - case 'e': goto yy715; - default: goto yy18; - } -yy539: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '-': goto yy716; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy57; - default: goto yy18; - } -yy540: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy716; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy57; - default: goto yy186; - } -yy541: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy717; - default: goto yy56; - } -yy542: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy718; - default: goto yy56; - } -yy543: - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy720; - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy544; - } -yy544: -#line 1279 "ext/date/lib/parse_date.re" - { - 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; - } -#line 21058 "" -yy545: - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': goto yy720; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy717; - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy544; - } -yy546: - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy717; - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy544; - } -yy547: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy725; - default: goto yy208; - } -yy548: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - case '0': goto yy725; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy718; - default: goto yy208; - } -yy549: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy718; - default: goto yy208; - } -yy550: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy552; - default: goto yy208; - } -yy551: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - case '0': goto yy552; - default: goto yy208; - } -yy552: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - default: goto yy208; - } -yy553: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy726; - default: goto yy213; - } -yy554: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '/': goto yy378; - default: goto yy213; - } -yy555: - yych = *++YYCURSOR; - switch (yych) { - case '/': goto yy727; - default: goto yy56; - } -yy556: - yych = *++YYCURSOR; - switch (yych) { - case '/': goto yy727; - case 'T': - case 't': goto yy555; - default: goto yy56; - } -yy557: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy728; - case '.': goto yy372; - default: goto yy56; - } -yy558: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy618; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy434; - default: goto yy56; - } -yy559: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy618; - case '0': - case '1': - case '2': goto yy434; - default: goto yy56; - } -yy560: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy561: - switch (yych) { - case '\t': - case ' ': goto yy560; - case '-': - case '.': goto yy729; - case 'A': - case 'a': goto yy572; - case 'D': - case 'd': goto yy573; - case 'F': - case 'f': goto yy574; - case 'H': - case 'h': goto yy76; - case 'I': goto yy575; - case 'J': - case 'j': goto yy577; - case 'M': - case 'm': goto yy578; - case 'N': - case 'n': goto yy579; - case 'O': - case 'o': goto yy580; - case 'S': - case 's': goto yy581; - case 'T': - case 't': goto yy84; - case 'V': goto yy582; - case 'W': - case 'w': goto yy86; - case 'X': goto yy584; - case 'Y': - case 'y': goto yy88; - default: goto yy56; - } -yy562: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy731; - case '1': goto yy733; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy734; - case 'A': - case 'a': goto yy735; - case 'D': - case 'd': goto yy736; - case 'F': - case 'f': goto yy737; - case 'J': - case 'j': goto yy738; - case 'M': - case 'm': goto yy739; - case 'N': - case 'n': goto yy740; - case 'O': - case 'o': goto yy741; - case 'S': - case 's': goto yy742; - case 'W': goto yy743; - default: goto yy730; - } -yy563: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy744; - case '1': - case '2': goto yy745; - case '3': goto yy746; - default: goto yy730; - } -yy564: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy751; - case '1': goto yy752; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy753; - default: goto yy56; - } -yy565: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy754; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy756; - default: goto yy186; - } -yy566: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy756; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy757; - default: goto yy186; - } -yy567: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy757; - default: goto yy186; - } -yy568: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy757; - case '6': goto yy758; - case '7': - case '8': - case '9': goto yy759; - default: goto yy186; - } -yy569: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy759; - default: goto yy186; - } -yy570: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy759; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy57; - default: goto yy186; - } -yy571: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy760; - case '1': goto yy761; - default: goto yy56; - } -yy572: - yych = *++YYCURSOR; - switch (yych) { - case 'P': - case 'p': goto yy762; - case 'U': - case 'u': goto yy763; - default: goto yy56; - } -yy573: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy231; - case 'E': - case 'e': goto yy764; - default: goto yy56; - } -yy574: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy765; - case 'O': - case 'o': goto yy234; - case 'R': - case 'r': goto yy235; - default: goto yy56; - } -yy575: - ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case 'I': goto yy766; - case 'V': - case 'X': goto yy767; - default: goto yy576; - } -yy576: -#line 1348 "ext/date/lib/parse_date.re" - { - 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; - } -#line 21493 "" -yy577: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy768; - case 'U': - case 'u': goto yy769; - default: goto yy56; - } -yy578: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy770; - case 'I': - case 'i': goto yy246; - case 'O': - case 'o': goto yy247; - default: goto yy56; - } -yy579: - yych = *++YYCURSOR; - switch (yych) { - case 'O': - case 'o': goto yy771; - default: goto yy56; - } -yy580: - yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy772; - default: goto yy56; - } -yy581: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy250; - case 'E': - case 'e': goto yy773; - case 'U': - case 'u': goto yy252; - default: goto yy56; - } -yy582: - yych = *++YYCURSOR; - switch (yych) { - case 'I': goto yy584; - default: goto yy576; - } -yy583: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy774; - case '1': - case '2': - case '3': - case '4': goto yy775; - case '5': goto yy776; - case 'E': - case 'e': goto yy255; - default: goto yy56; - } -yy584: - yych = *++YYCURSOR; - switch (yych) { - case 'I': goto yy766; - default: goto yy576; - } -yy585: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy777; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy778; - default: goto yy186; - } -yy586: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy778; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy779; - default: goto yy186; - } -yy587: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy779; - default: goto yy186; - } -yy588: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy779; - case '6': goto yy780; - case '7': - case '8': - case '9': goto yy57; - default: goto yy186; - } -yy589: - yych = *++YYCURSOR; - switch (yych) { - case 'L': - case 'l': goto yy242; - default: goto yy56; - } -yy590: - yych = *++YYCURSOR; - switch (yych) { - case 'S': - case 's': goto yy781; - default: goto yy56; - } -yy591: - yych = *++YYCURSOR; - goto yy402; -yy592: - yych = *++YYCURSOR; - switch (yych) { - case 'M': - case 'm': goto yy601; - default: goto yy56; - } -yy593: - yych = *++YYCURSOR; - switch (yych) { - case 'U': - case 'u': goto yy597; - default: goto yy56; - } -yy594: - yych = *++YYCURSOR; - switch (yych) { - case 'H': - case 'h': goto yy782; - case 'N': - case 'n': goto yy783; - default: goto yy56; - } -yy595: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy784; - default: goto yy56; - } -yy596: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy785; - default: goto yy240; - } -yy597: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy786; - default: goto yy56; - } -yy598: - yych = *++YYCURSOR; - switch (yych) { - case 'H': - case 'h': goto yy242; - default: goto yy56; - } -yy599: - yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy787; - default: goto yy56; - } -yy600: - yych = *++YYCURSOR; - switch (yych) { - case 'H': - case 'h': goto yy401; - default: goto yy56; - } -yy601: - yych = *++YYCURSOR; - switch (yych) { - case 'B': - case 'b': goto yy788; - default: goto yy56; - } -yy602: - yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy605; - default: goto yy56; - } -yy603: - yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy789; - default: goto yy56; - } -yy604: - yych = *++YYCURSOR; - switch (yych) { - case 'S': - case 's': goto yy605; - default: goto yy56; - } -yy605: - yych = *++YYCURSOR; - switch (yych) { - case 'D': - case 'd': goto yy595; - default: goto yy56; - } -yy606: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy604; - default: goto yy56; - } -yy607: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'D': - case 'd': goto yy187; - case 'S': - case 's': goto yy591; - default: goto yy402; - } -yy608: - yych = *++YYCURSOR; - switch (yych) { - case '-': - case '.': goto yy372; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy610; - default: goto yy56; - } -yy609: - yych = *++YYCURSOR; - switch (yych) { - case '-': - case '.': goto yy372; - case '0': - case '1': - case '2': goto yy610; - default: goto yy56; - } -yy610: - yych = *++YYCURSOR; - switch (yych) { - case '-': - case '.': goto yy372; - default: goto yy56; - } -yy611: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy790; - default: goto yy208; - } -yy612: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - case '0': goto yy790; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy718; - default: goto yy208; - } -yy613: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - switch (yych) { - case '\t': - case ' ': goto yy613; - case 'A': - case 'P': - case 'a': - case 'p': goto yy100; - default: goto yy56; - } -yy615: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy791; - default: goto yy208; - } -yy616: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - case '0': goto yy791; - default: goto yy208; - } -yy617: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy792; - case '6': goto yy793; - case '7': - case '8': - case '9': goto yy552; - default: goto yy56; - } -yy618: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy794; - case '3': goto yy795; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy796; - default: goto yy56; - } -yy619: - yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy797; - default: goto yy56; - } -yy620: - yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy798; - default: goto yy56; - } -yy621: - yych = *++YYCURSOR; - switch (yych) { - case 'G': - case 'g': goto yy798; - default: goto yy56; - } -yy622: - yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy798; - default: goto yy56; - } -yy623: - yych = *++YYCURSOR; - switch (yych) { - case 'B': - case 'b': goto yy798; - default: goto yy56; - } -yy624: - yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy798; - default: goto yy56; - } -yy625: - yych = *++YYCURSOR; - switch (yych) { - case 'L': - case 'N': - case 'l': - case 'n': goto yy798; - default: goto yy56; - } -yy626: - yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'Y': - case 'r': - case 'y': goto yy798; - default: goto yy56; - } -yy627: - yych = *++YYCURSOR; - switch (yych) { - case 'V': - case 'v': goto yy798; - default: goto yy56; - } -yy628: - yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy798; - default: goto yy56; - } -yy629: - yych = *++YYCURSOR; - switch (yych) { - case 'P': - case 'p': goto yy799; - default: goto yy56; - } -yy630: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - default: goto yy18; - } -yy631: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': goto yy801; - case '1': goto yy802; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy803; - default: goto yy304; - } -yy632: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': goto yy801; - case '1': goto yy802; - case '2': goto yy309; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy310; - default: goto yy304; - } -yy633: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - default: goto yy274; - } -yy634: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'T': - case 't': goto yy804; - default: goto yy18; - } -yy635: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - default: goto yy18; - } -yy636: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy684; - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - default: goto yy274; - } -yy637: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'T': goto yy804; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 't': goto yy806; - default: goto yy18; - } -yy638: - yych = *++YYCURSOR; - switch (yych) { - case 'O': - case 'o': goto yy807; - default: goto yy56; - } -yy639: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'B': - case 'b': goto yy808; - default: goto yy18; - } -yy640: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'B': goto yy808; - case 'a': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'b': goto yy809; - default: goto yy18; + if (yych <= 'O') { + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == 'I') goto yy293; + if (yych <= 'N') goto yy270; + goto yy295; + } + } else { + if (yych <= 'i') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + if (yych <= 'h') goto yy270; + goto yy293; + } else { + if (yych == 'o') goto yy295; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy641: +yy128: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy810; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'H': - case 'h': goto yy812; - default: goto yy18; + if (yych <= 'A') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'B') goto yy289; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'b') goto yy296; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy642: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'N': - case 'n': goto yy813; - default: goto yy18; +yy129: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych == '-') goto yy276; + goto yy18; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy276; + goto yy18; + } else { + if (yych == 'F') goto yy290; + goto yy270; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'R') goto yy291; + goto yy270; + } else { + if (yych == '_') goto yy276; + goto yy18; + } + } else { + if (yych <= 'q') { + if (yych == 'f') goto yy297; + goto yy277; + } else { + if (yych <= 'r') goto yy298; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy643: +yy130: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy810; - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'H': goto yy812; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'h': goto yy814; - default: goto yy18; + if (yych <= 'T') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'U') goto yy292; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 't') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'u') goto yy299; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy131: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych == '-') goto yy276; + goto yy18; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy276; + goto yy18; + } else { + if (yych == 'I') goto yy293; + goto yy270; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'O') goto yy295; + goto yy270; + } else { + if (yych == '_') goto yy276; + goto yy18; + } + } else { + if (yych <= 'n') { + if (yych == 'i') goto yy300; + goto yy277; + } else { + if (yych <= 'o') goto yy301; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy132: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy270; + } else { + if (yych <= 'Z') { + if (yych <= 'T') goto yy302; + goto yy270; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy133: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21); + yych = *YYCURSOR; +yy134: + if (yybm[0+yych] & 16) { + goto yy133; + } + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy135; + if (yych <= '3') goto yy137; + if (yych <= '9') goto yy138; + goto yy56; +yy135: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy304; + if (yych <= '0') goto yy305; + if (yych <= '1') goto yy306; + if (yych <= '9') goto yy307; + goto yy304; +yy136: +#line 1362 "ext/date/lib/parse_date.re" + { + 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; + } +#line 4050 "" +yy137: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '1') { + if (yych <= '/') goto yy304; + if (yych <= '0') goto yy305; + goto yy306; + } else { + if (yych <= '2') goto yy309; + if (yych <= '9') goto yy310; + goto yy304; + } +yy138: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '1') { + if (yych <= '/') goto yy304; + if (yych <= '0') goto yy311; + goto yy312; + } else { + if (yych <= '2') goto yy309; + if (yych <= '9') goto yy310; + goto yy304; } -yy644: +yy139: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'N': goto yy813; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'n': goto yy815; - default: goto yy18; + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy134; + if (yych <= 0x1F) goto yy18; + goto yy134; + } else { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy134; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy134; + if (yych <= '@') goto yy18; + goto yy270; + } else { + if (yych <= 'Z') { + if (yych <= 'I') goto yy313; + goto yy270; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy270; + goto yy18; + } + } } -yy645: +yy140: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy134; + goto yy18; + } else { + if (yych <= ' ') goto yy134; + if (yych == ')') goto yy107; + goto yy18; + } + } else { + if (yych <= '@') { + if (yych == '/') goto yy18; + if (yych <= '9') goto yy134; + goto yy18; + } else { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy141: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'a': goto yy816; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - default: goto yy18; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'M') goto yy270; + goto yy314; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'n') goto yy314; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy646: +yy142: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == 'L') goto yy315; + if (yych <= 'M') goto yy270; + goto yy316; + } + } else { + if (yych <= 'l') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + if (yych <= 'k') goto yy270; + goto yy315; + } else { + if (yych == 'n') goto yy316; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy143: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy810; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - default: goto yy18; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy314; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'n') goto yy317; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy144: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych == '-') goto yy276; + goto yy18; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy276; + goto yy18; + } else { + if (yych == 'L') goto yy315; + goto yy270; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'N') goto yy316; + goto yy270; + } else { + if (yych == '_') goto yy276; + goto yy18; + } + } else { + if (yych <= 'm') { + if (yych == 'l') goto yy318; + goto yy277; + } else { + if (yych <= 'n') goto yy319; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy145: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'R') goto yy270; + goto yy320; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 's') goto yy320; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy146: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy320; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 's') goto yy321; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy147: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == 'R') goto yy322; + if (yych <= 'X') goto yy270; + goto yy323; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + if (yych <= 'q') goto yy270; + goto yy322; + } else { + if (yych == 'y') goto yy323; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy148: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'C') goto yy270; + goto yy324; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'd') goto yy324; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy149: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'M') goto yy270; + goto yy293; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'n') goto yy293; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy150: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych == '-') goto yy276; + goto yy18; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy276; + goto yy18; + } else { + if (yych == 'R') goto yy322; + goto yy270; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'Y') goto yy323; + goto yy270; + } else { + if (yych == '_') goto yy276; + goto yy18; + } + } else { + if (yych <= 'x') { + if (yych == 'r') goto yy325; + goto yy277; + } else { + if (yych <= 'y') goto yy326; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy647: +yy151: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': goto yy810; - case ' ': goto yy817; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - default: goto yy18; + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy324; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'd') goto yy327; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy648: +yy152: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy293; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'n') goto yy300; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy153: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'H': - case 'h': goto yy812; - default: goto yy18; + if (yych <= 'X') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'W') goto yy270; + goto yy328; + } + } else { + if (yych <= 'w') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'x') goto yy328; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy649: +yy154: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'z': goto yy800; - case 'Y': - case 'y': goto yy818; - default: goto yy18; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'M') goto yy270; + goto yy290; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'n') goto yy290; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy650: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ' ': goto yy638; - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - default: goto yy18; +yy155: + yych = *++YYCURSOR; + if (yych <= 'W') { + if (yych <= 'N') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy270; + } else { + if (yych <= 'O') goto yy329; + if (yych <= 'U') goto yy270; + if (yych <= 'V') goto yy283; + goto yy330; + } + } else { + if (yych <= 'o') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + if (yych <= 'n') goto yy270; + goto yy329; + } else { + if (yych <= 'v') { + if (yych <= 'u') goto yy270; + goto yy283; + } else { + if (yych <= 'w') goto yy330; + if (yych <= 'z') goto yy270; + goto yy18; + } + } } -yy651: +yy156: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': goto yy816; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'a': goto yy819; - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - default: goto yy18; + if (yych <= 'W') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'X') goto yy328; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'w') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'x') goto yy332; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy652: +yy157: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy810; - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - default: goto yy18; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy290; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'n') goto yy297; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy653: +yy158: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': goto yy810; - case ' ': goto yy817; - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - default: goto yy18; + if (yych <= 'V') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych == '-') goto yy276; + goto yy18; + } + } else { + if (yych <= 'N') { + if (yych <= '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } else { + if (yych <= 'O') goto yy329; + if (yych <= 'U') goto yy270; + goto yy283; + } + } + } else { + if (yych <= 'n') { + if (yych <= '^') { + if (yych <= 'W') goto yy330; + if (yych <= 'Z') goto yy270; + goto yy18; + } else { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy18; + goto yy277; + } + } else { + if (yych <= 'v') { + if (yych <= 'o') goto yy333; + if (yych <= 'u') goto yy277; + goto yy284; + } else { + if (yych <= 'w') goto yy334; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy654: +yy159: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'S') goto yy270; + goto yy335; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 't') goto yy335; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy160: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy335; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 't') goto yy336; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy161: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy270; + goto yy337; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'e') goto yy337; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy162: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy337; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'e') goto yy338; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy163: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'S') goto yy270; + goto yy339; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 't') goto yy339; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy164: + yych = *++YYCURSOR; + if (yych <= 'V') { + if (yych <= 'B') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy270; + } else { + if (yych <= 'O') { + if (yych <= 'C') goto yy340; + goto yy270; + } else { + if (yych <= 'P') goto yy341; + if (yych <= 'U') goto yy270; + goto yy342; + } + } + } else { + if (yych <= 'o') { + if (yych <= '`') { + if (yych <= 'Z') goto yy270; + goto yy18; + } else { + if (yych == 'c') goto yy340; + goto yy270; + } + } else { + if (yych <= 'u') { + if (yych <= 'p') goto yy341; + goto yy270; + } else { + if (yych <= 'v') goto yy342; + if (yych <= 'z') goto yy270; + goto yy18; + } + } + } +yy165: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'W') goto yy270; + goto yy290; + } + } else { + if (yych <= 'w') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'x') goto yy290; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy166: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'H': goto yy812; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'h': goto yy814; - default: goto yy18; + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy339; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 't') goto yy343; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy655: +yy167: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Z': goto yy800; - case 'Y': goto yy818; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'z': goto yy805; - case 'y': goto yy820; - default: goto yy18; + if (yych <= 'U') { + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + goto yy276; + } + } else { + if (yych <= 'C') { + if (yych <= '@') goto yy18; + if (yych <= 'B') goto yy270; + goto yy340; + } else { + if (yych == 'P') goto yy341; + goto yy270; + } + } + } else { + if (yych <= 'b') { + if (yych <= '^') { + if (yych <= 'V') goto yy342; + if (yych <= 'Z') goto yy270; + goto yy18; + } else { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy18; + goto yy277; + } + } else { + if (yych <= 'p') { + if (yych <= 'c') goto yy344; + if (yych <= 'o') goto yy277; + goto yy345; + } else { + if (yych == 'v') goto yy346; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy656: +yy168: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ' ': goto yy638; - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - default: goto yy18; + if (yych <= 'W') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'X') goto yy290; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'w') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'x') goto yy297; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy657: +yy169: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy659; - case ':': goto yy192; - default: goto yy18; + if (yych <= '/') { + if (yych == '.') goto yy72; + goto yy56; + } else { + if (yych <= '9') goto yy347; + if (yych <= ':') goto yy72; + goto yy56; } -yy658: +yy170: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': goto yy659; - case '5': goto yy370; - case '6': - case '7': - case '8': - case '9': goto yy107; - case ':': goto yy192; - default: goto yy18; + if (yych <= '/') { + if (yych == '.') goto yy72; + goto yy56; + } else { + if (yych <= '4') goto yy347; + if (yych == ':') goto yy72; + goto yy56; + } +yy171: + yych = *++YYCURSOR; + if (yych == '.') goto yy72; + if (yych == ':') goto yy72; + goto yy56; +yy172: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == 'I') goto yy348; + if (yych <= 'T') goto yy270; + goto yy349; + } + } else { + if (yych <= 'i') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + if (yych <= 'h') goto yy270; + goto yy348; + } else { + if (yych == 'u') goto yy349; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy173: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == 'D') goto yy350; + if (yych <= 'L') goto yy270; + goto yy351; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + if (yych <= 'c') goto yy270; + goto yy350; + } else { + if (yych == 'm') goto yy351; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy174: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy270; + goto yy352; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'e') goto yy352; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy175: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy270; + goto yy353; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'e') goto yy353; + if (yych <= 'z') goto yy270; + goto yy18; + } + } +yy176: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych == '-') goto yy276; + goto yy18; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy276; + goto yy18; + } else { + if (yych == 'I') goto yy348; + goto yy270; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'U') goto yy349; + goto yy270; + } else { + if (yych == '_') goto yy276; + goto yy18; + } + } else { + if (yych <= 't') { + if (yych == 'i') goto yy354; + goto yy277; + } else { + if (yych <= 'u') goto yy355; + if (yych <= 'z') goto yy277; + goto yy18; + } + } + } +yy177: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych == '-') goto yy276; + goto yy18; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy276; + goto yy18; + } else { + if (yych == 'D') goto yy350; + goto yy270; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'M') goto yy351; + goto yy270; + } else { + if (yych == '_') goto yy276; + goto yy18; + } + } else { + if (yych <= 'l') { + if (yych == 'd') goto yy356; + goto yy277; + } else { + if (yych <= 'm') goto yy357; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy659: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy370; - case '6': - case '7': - case '8': - case '9': goto yy107; - case ':': goto yy192; - default: goto yy18; +yy178: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy352; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'e') goto yy358; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy660: - yyaccept = 4; +yy179: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy483; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy821; - default: goto yy136; + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy353; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 'e') goto yy359; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy661: - yyaccept = 4; +yy180: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy486; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy821; - default: goto yy136; + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy134; + if (yych <= 0x1F) goto yy18; + goto yy134; + } else { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy134; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy134; + if (yych <= '@') goto yy18; + goto yy270; + } else { + if (yych <= 'Z') { + if (yych <= 'I') goto yy360; + goto yy270; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy270; + goto yy18; + } + } } -yy662: +yy181: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy821; - default: goto yy136; + if (yych <= 'E') { + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'C') goto yy270; + if (yych <= 'D') goto yy361; + goto yy362; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 'd') goto yy361; + if (yych <= 'e') goto yy362; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy663: - yyaccept = 4; +yy182: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy822; - case '0': goto yy823; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy824; - default: goto yy136; + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych <= '/') { + if (yych <= '.') goto yy18; + goto yy276; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'C') goto yy270; + goto yy361; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'E') goto yy362; + goto yy270; + } else { + if (yych == '_') goto yy276; + goto yy18; + } + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy277; + goto yy363; + } else { + if (yych <= 'e') goto yy364; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy664: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy825; - case '0': - case '1': - case '2': goto yy824; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy823; - default: goto yy136; +yy183: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'R') goto yy270; + goto yy365; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy270; + if (yych <= '`') goto yy18; + goto yy270; + } else { + if (yych <= 's') goto yy365; + if (yych <= 'z') goto yy270; + goto yy18; + } } -yy665: - yyaccept = 4; +yy184: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy825; - case '0': - case '1': - case '2': - case '3': - case '4': goto yy823; - case '5': - case '6': - case '7': - case '8': - case '9': goto yy826; - default: goto yy136; + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy270; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy365; + if (yych <= 'Z') goto yy270; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy18; + goto yy277; + } else { + if (yych <= 's') goto yy366; + if (yych <= 'z') goto yy277; + goto yy18; + } + } } -yy666: - yyaccept = 4; +yy185: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy186: + if (yych <= 'W') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy185; + if (yych <= 0x1F) goto yy56; + goto yy185; + } else { + if (yych == 'D') goto yy187; + if (yych <= 'E') goto yy56; + goto yy188; + } + } else { + if (yych <= 'M') { + if (yych == 'H') goto yy76; + if (yych <= 'L') goto yy56; + goto yy189; + } else { + if (yych <= 'S') { + if (yych <= 'R') goto yy56; + goto yy190; + } else { + if (yych <= 'T') goto yy84; + if (yych <= 'V') goto yy56; + goto yy86; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy88; + if (yych <= 'c') goto yy56; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy56; + goto yy188; + } else { + if (yych == 'h') goto yy76; + goto yy56; + } + } + } else { + if (yych <= 't') { + if (yych <= 'm') goto yy189; + if (yych <= 'r') goto yy56; + if (yych <= 's') goto yy190; + goto yy84; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy56; + goto yy86; + } else { + if (yych == 'y') goto yy88; + goto yy56; + } + } + } + } +yy187: + yych = *++YYCURSOR; + if (yych == 'A') goto yy231; + if (yych == 'a') goto yy231; + goto yy56; +yy188: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych == 'O') goto yy234; + if (yych <= 'Q') goto yy56; + goto yy235; + } else { + if (yych <= 'o') { + if (yych <= 'n') goto yy56; + goto yy234; + } else { + if (yych == 'r') goto yy235; + goto yy56; + } + } +yy189: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych == 'I') goto yy246; + if (yych <= 'N') goto yy56; + goto yy247; + } else { + if (yych <= 'i') { + if (yych <= 'h') goto yy56; + goto yy246; + } else { + if (yych == 'o') goto yy247; + goto yy56; + } + } +yy190: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych == 'A') goto yy250; + goto yy56; + } else { + if (yych <= 'E') goto yy367; + if (yych <= 'T') goto yy56; + goto yy252; + } + } else { + if (yych <= 'd') { + if (yych == 'a') goto yy250; + goto yy56; + } else { + if (yych <= 'e') goto yy367; + if (yych == 'u') goto yy252; + goto yy56; + } + } +yy191: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy825; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy826; - default: goto yy136; + if (yych <= 'T') { + if (yych <= 'C') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy18; + goto yy186; + } else { + if (yych <= '5') { + if (yych <= '/') goto yy18; + goto yy368; + } else { + if (yych <= '9') goto yy369; + if (yych >= ';') goto yy18; + } + } + } else { + if (yych <= 'G') { + if (yych == 'E') goto yy18; + if (yych <= 'F') goto yy186; + goto yy18; + } else { + if (yych <= 'L') { + if (yych <= 'H') goto yy186; + goto yy18; + } else { + if (yych <= 'M') goto yy186; + if (yych <= 'R') goto yy18; + goto yy186; + } + } + } + } else { + if (yych <= 'g') { + if (yych <= 'Y') { + if (yych == 'W') goto yy186; + if (yych <= 'X') goto yy18; + goto yy186; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy18; + goto yy186; + } else { + if (yych == 'f') goto yy186; + goto yy18; + } + } + } else { + if (yych <= 't') { + if (yych <= 'l') { + if (yych <= 'h') goto yy186; + goto yy18; + } else { + if (yych <= 'm') goto yy186; + if (yych <= 'r') goto yy18; + goto yy186; + } + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy18; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy18; + } + } + } } -yy667: - yyaccept = 4; +yy192: + yych = *++YYCURSOR; + if (yych <= '/') goto yy18; + if (yych <= '5') goto yy370; + if (yych <= '9') goto yy107; + goto yy18; +yy193: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy825; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy662; - default: goto yy136; + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy18; + goto yy186; + } else { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy369; + if (yych <= 'C') goto yy18; + goto yy186; + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy186; + if (yych <= 'G') goto yy18; + goto yy186; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy18; + goto yy186; + } else { + if (yych <= 'R') goto yy18; + if (yych <= 'T') goto yy186; + goto yy18; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy18; + if (yych <= 'Y') goto yy186; + goto yy18; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy186; + goto yy18; + } else { + if (yych == 'g') goto yy18; + goto yy186; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy186; + if (yych <= 'r') goto yy18; + goto yy186; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy18; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy18; + } + } + } } -yy668: - yyaccept = 16; +yy194: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy18; + goto yy186; + } else { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy371; + if (yych <= 'C') goto yy18; + goto yy186; + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy186; + if (yych <= 'G') goto yy18; + goto yy186; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy18; + goto yy186; + } else { + if (yych <= 'R') goto yy18; + if (yych <= 'T') goto yy186; + goto yy18; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy18; + if (yych <= 'Y') goto yy186; + goto yy18; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy186; + goto yy18; + } else { + if (yych == 'g') goto yy18; + goto yy186; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy186; + if (yych <= 'r') goto yy18; + goto yy186; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy18; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy18; + } + } + } + } +yy195: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy196: switch (yych) { - case '.': - case ':': goto yy483; - default: goto yy669; + case '\t': + case ' ': + case '-': + case '.': goto yy195; + case 'A': + case 'a': goto yy73; + case 'D': + case 'd': goto yy203; + case 'F': + case 'f': goto yy204; + case 'I': goto yy77; + case 'J': + case 'j': goto yy79; + case 'M': + case 'm': goto yy205; + case 'N': + case 'n': goto yy81; + case 'O': + case 'o': goto yy82; + case 'S': + case 's': goto yy206; + case 'V': goto yy85; + case 'X': goto yy87; + default: goto yy56; } -yy669: -#line 1334 "ext/date/lib/parse_date.re" - { - 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; +yy197: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy372; + goto yy373; + } else { + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy199; + goto yy56; } -#line 23718 "" -yy670: - yyaccept = 16; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy486; - default: goto yy669; +yy198: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy372; + goto yy373; + } else { + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; } -yy671: +yy199: yych = *++YYCURSOR; - goto yy669; -yy672: - yyaccept = 17; + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy372; + if (yych <= '.') goto yy373; + goto yy56; +yy200: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy374; + goto yy372; + } else { + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy202; + goto yy56; + } +yy201: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy374; + goto yy372; + } else { + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; + } +yy202: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy374; + if (yych <= '.') goto yy372; + goto yy56; +yy203: + yych = *++YYCURSOR; + if (yych == 'E') goto yy232; + if (yych == 'e') goto yy232; + goto yy56; +yy204: + yych = *++YYCURSOR; + if (yych == 'E') goto yy233; + if (yych == 'e') goto yy233; + goto yy56; +yy205: + yych = *++YYCURSOR; + if (yych == 'A') goto yy245; + if (yych == 'a') goto yy245; + goto yy56; +yy206: + yych = *++YYCURSOR; + if (yych == 'E') goto yy375; + if (yych == 'e') goto yy375; + goto yy56; +yy207: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy827; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy674; - default: goto yy673; + if (yych <= '.') { + if (yych <= ',') goto yy208; + if (yych <= '-') goto yy372; + goto yy376; + } else { + if (yych <= '/') goto yy208; + if (yych <= '9') goto yy211; + if (yych <= ':') goto yy377; } -yy673: -#line 1664 "ext/date/lib/parse_date.re" +yy208: +#line 1131 "ext/date/lib/parse_date.re" { int tz_not_found; - DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); + DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); 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 == ':') { + if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { @@ -23772,2070 +5791,3486 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } TIMELIB_DEINIT; - return TIMELIB_SHORTDATE_WITH_TIME; + return TIMELIB_TIME24_WITH_ZONE; } -#line 23778 "" -yy674: - yyaccept = 17; +#line 5797 "" +yy209: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy827; - default: goto yy673; + if (yych <= '/') { + if (yych <= ',') goto yy208; + if (yych <= '-') goto yy372; + if (yych <= '.') goto yy376; + goto yy208; + } else { + if (yych <= '2') goto yy211; + if (yych <= '9') goto yy228; + if (yych <= ':') goto yy377; + goto yy208; + } +yy210: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy208; + if (yych <= '-') goto yy372; + goto yy376; + } else { + if (yych <= '/') goto yy208; + if (yych <= '9') goto yy228; + if (yych <= ':') goto yy377; + goto yy208; + } +yy211: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy208; + if (yych <= '-') goto yy372; + goto yy376; + } else { + if (yych == ':') goto yy377; + goto yy208; + } +yy212: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') { + if (yych >= '/') goto yy378; + } else { + if (yych <= '9') goto yy215; + if (yych >= 'n') goto yy379; + } + } else { + if (yych <= 'r') { + if (yych >= 'r') goto yy379; + } else { + if (yych <= 's') goto yy380; + if (yych <= 't') goto yy381; + } + } +yy213: +#line 1223 "ext/date/lib/parse_date.re" + { + 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; + } +#line 5870 "" +yy214: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') { + if (yych <= '.') goto yy213; + goto yy378; + } else { + if (yych <= '1') goto yy215; + if (yych <= 'm') goto yy213; + goto yy379; + } + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy213; + goto yy379; + } else { + if (yych <= 's') goto yy380; + if (yych <= 't') goto yy381; + goto yy213; + } + } +yy215: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych == '/') goto yy378; + if (yych <= 'm') goto yy213; + goto yy379; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy213; + goto yy379; + } else { + if (yych <= 's') goto yy380; + if (yych <= 't') goto yy381; + goto yy213; + } + } +yy216: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy382; + if (yych <= 'T') goto yy56; + goto yy383; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy382; + } else { + if (yych == 'u') goto yy383; + goto yy56; + } + } +yy217: + yych = *++YYCURSOR; + if (yych == 'E') goto yy384; + if (yych == 'e') goto yy384; + goto yy56; +yy218: + yych = *++YYCURSOR; + if (yych == 'E') goto yy385; + if (yych == 'e') goto yy385; + goto yy56; +yy219: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy386; + if (yych <= 'T') goto yy56; + goto yy387; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy386; + } else { + if (yych == 'u') goto yy387; + goto yy56; + } + } +yy220: + yych = *++YYCURSOR; + if (yych == 'A') goto yy388; + if (yych == 'a') goto yy388; + goto yy56; +yy221: + yych = *++YYCURSOR; + if (yych == 'O') goto yy389; + if (yych == 'o') goto yy389; + goto yy56; +yy222: + yych = *++YYCURSOR; + if (yych == 'C') goto yy390; + if (yych == 'c') goto yy390; + goto yy56; +yy223: + yych = *++YYCURSOR; + if (yych == 'E') goto yy391; + if (yych == 'e') goto yy391; + goto yy56; +yy224: + yych = *++YYCURSOR; + if (yych <= '/') goto yy196; + if (yych <= '0') goto yy392; + if (yych <= '1') goto yy393; + if (yych <= '9') goto yy202; + goto yy196; +yy225: + yych = *++YYCURSOR; + if (yych == '-') goto yy394; + if (yych <= '/') goto yy186; + if (yych <= '9') goto yy395; + goto yy186; +yy226: + yych = *++YYCURSOR; + if (yych == '-') goto yy394; + if (yych <= '/') goto yy186; + if (yych <= '9') goto yy397; + goto yy186; +yy227: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy377; + goto yy208; + } else { + if (yych <= '9') goto yy228; + if (yych <= ':') goto yy377; + goto yy208; + } +yy228: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy377; + if (yych == ':') goto yy377; + goto yy208; +yy229: + yych = *++YYCURSOR; + if (yych == 'R') goto yy399; + if (yych == 'r') goto yy399; + goto yy56; +yy230: + yych = *++YYCURSOR; + if (yych == 'G') goto yy400; + if (yych == 'g') goto yy400; + goto yy56; +yy231: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy401; + if (yych == 'y') goto yy401; + goto yy56; +yy232: + yych = *++YYCURSOR; + if (yych == 'C') goto yy403; + if (yych == 'c') goto yy403; + goto yy56; +yy233: + yych = *++YYCURSOR; + if (yych == 'B') goto yy404; + if (yych == 'b') goto yy404; + goto yy56; +yy234: + yych = *++YYCURSOR; + if (yych == 'R') goto yy405; + if (yych == 'r') goto yy405; + goto yy56; +yy235: + yych = *++YYCURSOR; + if (yych == 'I') goto yy406; + if (yych == 'i') goto yy406; + goto yy56; +yy236: + yych = *++YYCURSOR; + if (yych == 'U') goto yy407; + if (yych == 'u') goto yy407; + goto yy56; +yy237: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); + yych = *YYCURSOR; + if (yych <= ' ') { + if (yych == '\t') goto yy237; + if (yych <= 0x1F) goto yy56; + goto yy237; + } else { + if (yych <= '.') { + if (yych <= ',') goto yy56; + goto yy237; + } else { + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + } + } +yy239: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '/') goto yy240; + if (yych <= '9') goto yy408; +yy240: +#line 1293 "ext/date/lib/parse_date.re" + { + 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; } -yy675: - yyaccept = 4; +#line 6082 "" +yy241: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy828; - case '0': goto yy829; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy830; - default: goto yy136; + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy78; + goto yy237; + } else { + if (yych == ' ') goto yy237; + goto yy78; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy237; + if (yych <= '/') goto yy78; + goto yy239; + } else { + if (yych != 'I') goto yy78; + } } -yy676: - yyaccept = 4; +yy242: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy831; - case '0': - case '1': - case '2': goto yy830; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy829; - default: goto yy136; + if (yych <= ' ') { + if (yych == '\t') goto yy237; + if (yych <= 0x1F) goto yy78; + goto yy237; + } else { + if (yych <= '.') { + if (yych <= ',') goto yy78; + goto yy237; + } else { + if (yych <= '/') goto yy78; + if (yych <= '9') goto yy239; + goto yy78; + } } -yy677: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy831; - case '0': - case '1': - case '2': - case '3': - case '4': goto yy829; - case '5': - case '6': - case '7': - case '8': - case '9': goto yy832; - default: goto yy136; +yy243: + yych = *++YYCURSOR; + if (yych == 'N') goto yy409; + if (yych == 'n') goto yy409; + goto yy56; +yy244: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy410; + if (yych <= 'M') goto yy56; + goto yy411; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy410; + } else { + if (yych == 'n') goto yy411; + goto yy56; + } } -yy678: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy831; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy832; - default: goto yy136; +yy245: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'R') goto yy412; + if (yych <= 'X') goto yy56; + goto yy242; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + goto yy412; + } else { + if (yych == 'y') goto yy242; + goto yy56; + } } -yy679: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy831; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy662; - default: goto yy136; +yy246: + yych = *++YYCURSOR; + if (yych == 'N') goto yy413; + if (yych == 'n') goto yy413; + goto yy56; +yy247: + yych = *++YYCURSOR; + if (yych == 'N') goto yy414; + if (yych == 'n') goto yy414; + goto yy56; +yy248: + yych = *++YYCURSOR; + if (yych == 'V') goto yy403; + if (yych == 'v') goto yy403; + goto yy56; +yy249: + yych = *++YYCURSOR; + if (yych == 'T') goto yy415; + if (yych == 't') goto yy415; + goto yy56; +yy250: + yych = *++YYCURSOR; + if (yych == 'T') goto yy416; + if (yych == 't') goto yy416; + goto yy56; +yy251: + yych = *++YYCURSOR; + if (yych <= 'P') { + if (yych == 'C') goto yy417; + if (yych <= 'O') goto yy56; + goto yy418; + } else { + if (yych <= 'c') { + if (yych <= 'b') goto yy56; + goto yy417; + } else { + if (yych == 'p') goto yy418; + goto yy56; + } } -yy680: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy833; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy834; - default: goto yy673; +yy252: + yych = *++YYCURSOR; + if (yych == 'N') goto yy406; + if (yych == 'n') goto yy406; + goto yy56; +yy253: + yych = *++YYCURSOR; + if (yych == 'U') goto yy419; + if (yych == 'u') goto yy419; + goto yy56; +yy254: + yych = *++YYCURSOR; + if (yych == 'E') goto yy420; + if (yych == 'e') goto yy420; + goto yy56; +yy255: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= 'C') goto yy56; + if (yych <= 'D') goto yy421; + goto yy422; + } else { + if (yych <= 'c') goto yy56; + if (yych <= 'd') goto yy421; + if (yych <= 'e') goto yy422; + goto yy56; } -yy681: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy833; - default: goto yy673; +yy256: + yych = *++YYCURSOR; + if (yych == 'A') goto yy407; + if (yych == 'a') goto yy407; + goto yy56; +yy257: + yych = *++YYCURSOR; + if (yych <= ',') { + if (yych == '\t') goto yy268; + goto yy196; + } else { + if (yych <= '-') goto yy423; + if (yych <= '.') goto yy268; + if (yych <= '/') goto yy263; + goto yy196; } -yy682: +yy258: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'R': - case 'r': goto yy835; - default: goto yy18; + if (yych <= '.') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy196; + goto yy268; + } else { + if (yych <= ',') goto yy196; + if (yych <= '-') goto yy423; + goto yy268; + } + } else { + if (yych <= 'U') { + if (yych <= '/') goto yy263; + if (yych <= 'T') goto yy196; + goto yy419; + } else { + if (yych == 'u') goto yy419; + goto yy196; + } } -yy683: - yyaccept = 2; +yy259: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'R': goto yy835; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'r': goto yy836; - default: goto yy18; + if (yych <= '.') { + if (yych <= ',') goto yy208; + if (yych <= '-') goto yy372; + goto yy424; + } else { + if (yych <= '/') goto yy208; + if (yych <= '9') goto yy425; + if (yych <= ':') goto yy426; + goto yy208; + } +yy260: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') goto yy208; + if (yych <= '-') goto yy372; + if (yych <= '.') goto yy424; + goto yy208; + } else { + if (yych <= '2') goto yy425; + if (yych <= '9') goto yy427; + if (yych <= ':') goto yy426; + goto yy208; } -yy684: +yy261: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy208; + if (yych <= '-') goto yy372; + goto yy424; + } else { + if (yych <= '/') goto yy208; + if (yych <= '9') goto yy427; + if (yych <= ':') goto yy426; + goto yy208; + } +yy262: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy208; + if (yych <= '-') goto yy372; + goto yy424; + } else { + if (yych == ':') goto yy426; + goto yy208; + } +yy263: yych = *++YYCURSOR; switch (yych) { case 'A': - case 'B': - case 'C': + case 'a': goto yy216; case 'D': - case 'E': + case 'd': goto yy217; case 'F': - case 'G': - case 'H': - case 'I': + case 'f': goto yy218; case 'J': - case 'K': - case 'L': + case 'j': goto yy219; case 'M': + case 'm': goto yy220; case 'N': + case 'n': goto yy221; case 'O': - case 'P': - case 'Q': - case 'R': + case 'o': goto yy222; case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy447; - default: goto yy134; + case 's': goto yy223; + default: goto yy56; } -yy685: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy686: +yy264: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy426; + goto yy208; + } else { + if (yych <= '9') goto yy428; + if (yych <= ':') goto yy426; + goto yy208; + } +yy265: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy426; + if (yych == ':') goto yy426; + goto yy208; +yy266: + yych = *++YYCURSOR; + if (yych == 'M') goto yy267; + if (yych != 'm') goto yy56; +yy267: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy429; + if (yych == '\t') goto yy429; + goto yy56; + } else { + if (yych <= ' ') goto yy429; + if (yych == '.') goto yy431; + goto yy56; + } +yy268: + yych = *++YYCURSOR; + if (yych <= '/') goto yy196; + if (yych <= '0') goto yy197; + if (yych <= '1') goto yy198; + if (yych <= '9') goto yy199; + goto yy196; +yy269: + yych = *++YYCURSOR; switch (yych) { - case '\t': - case ' ': goto yy685; + case '0': goto yy432; + case '1': goto yy433; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy434; + case 'A': + case 'a': goto yy435; case 'D': - case 'd': goto yy837; + case 'd': goto yy436; case 'F': - case 'f': goto yy838; - case 'H': - case 'h': goto yy839; + case 'f': goto yy437; + case 'J': + case 'j': goto yy438; case 'M': - case 'm': goto yy840; + case 'm': goto yy439; + case 'N': + case 'n': goto yy440; + case 'O': + case 'o': goto yy441; case 'S': - case 's': goto yy841; - case 'T': - case 't': goto yy842; - case 'W': - case 'w': goto yy843; - case 'Y': - case 'y': goto yy844; + case 's': goto yy442; default: goto yy56; } -yy687: +yy270: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy443; + goto yy18; + } +yy271: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy107; + } else { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy272; + if (yych <= 'z') goto yy443; + } +yy272: +#line 1536 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("ago"); + TIMELIB_INIT; + s->time->relative.y = 0 - s->time->relative.y; + s->time->relative.m = 0 - s->time->relative.m; + s->time->relative.d = 0 - s->time->relative.d; + s->time->relative.h = 0 - s->time->relative.h; + s->time->relative.i = 0 - s->time->relative.i; + s->time->relative.s = 0 - s->time->relative.s; + s->time->relative.weekday = 0 - s->time->relative.weekday; + if (s->time->relative.weekday == 0) { + s->time->relative.weekday = -7; + } + if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) { + s->time->relative.special.amount = 0 - s->time->relative.special.amount; + } + TIMELIB_DEINIT; + return TIMELIB_AGO; + } +#line 6442 "" +yy273: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych >= '\t') goto yy134; + } else { + if (yych == ' ') goto yy134; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + } else { + if (yych <= '-') goto yy444; + if (yych <= '.') goto yy134; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy134; + } else { + if (yych == 'I') goto yy445; + goto yy443; + } + } else { + if (yych <= 'h') { + if (yych >= 'a') goto yy443; + } else { + if (yych <= 'i') goto yy445; + if (yych <= 'z') goto yy443; + } + } + } +yy274: +#line 1616 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("monthtext"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->m = timelib_lookup_month((char **) &ptr); + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } +#line 6488 "" +yy275: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + goto yy274; + } else { + if (yych <= '-') goto yy444; + if (yych <= '.') goto yy134; + goto yy274; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych == 'U') goto yy446; + goto yy443; + } + } else { + if (yych <= 't') { + if (yych <= '`') goto yy274; + goto yy443; + } else { + if (yych <= 'u') goto yy446; + if (yych <= 'z') goto yy443; + goto yy274; + } + } + } +yy276: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 64) { + goto yy447; + } + goto yy56; +yy277: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + goto yy276; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy18; + if (yych <= 'Z') goto yy443; + goto yy18; + } else { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy449; + goto yy18; + } + } +yy278: + yyaccept = 8; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy272; + } else { + if (yych == '.') goto yy272; + goto yy276; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy272; + if (yych <= 'Z') goto yy443; + goto yy272; + } else { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy272; + if (yych <= 'z') goto yy449; + goto yy272; + } + } +yy279: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy450; + } else { + if (yych == '/') goto yy276; + goto yy134; + } + } + } else { + if (yych <= '^') { + if (yych <= 'H') { + if (yych <= '@') goto yy274; + goto yy443; + } else { + if (yych <= 'I') goto yy445; + if (yych <= 'Z') goto yy443; + goto yy274; + } + } else { + if (yych <= 'h') { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy274; + goto yy449; + } else { + if (yych <= 'i') goto yy451; + if (yych <= 'z') goto yy449; + goto yy274; + } + } + } +yy280: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy450; + } else { + if (yych == '/') goto yy276; + goto yy134; + } + } + } else { + if (yych <= '^') { + if (yych <= 'T') { + if (yych <= '@') goto yy274; + goto yy443; + } else { + if (yych <= 'U') goto yy446; + if (yych <= 'Z') goto yy443; + goto yy274; + } + } else { + if (yych <= 't') { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy274; + goto yy449; + } else { + if (yych <= 'u') goto yy452; + if (yych <= 'z') goto yy449; + goto yy274; + } + } + } +yy281: + yych = *++YYCURSOR; + if (yych <= 'K') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'J') goto yy443; + goto yy453; + } + } else { + if (yych <= 'j') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'k') goto yy453; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy282: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'J') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'K') goto yy453; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'j') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'k') goto yy454; + if (yych <= 'z') goto yy449; + goto yy18; + } + } + } +yy283: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + goto yy274; + } else { + if (yych <= '-') goto yy444; + if (yych <= '.') goto yy134; + goto yy274; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych == 'E') goto yy455; + goto yy443; + } + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy274; + goto yy443; + } else { + if (yych <= 'e') goto yy455; + if (yych <= 'z') goto yy443; + goto yy274; + } + } + } +yy284: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy450; + } else { + if (yych == '/') goto yy276; + goto yy134; + } + } + } else { + if (yych <= '^') { + if (yych <= 'D') { + if (yych <= '@') goto yy274; + goto yy443; + } else { + if (yych <= 'E') goto yy455; + if (yych <= 'Z') goto yy443; + goto yy274; + } + } else { + if (yych <= 'd') { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy274; + goto yy449; + } else { + if (yych <= 'e') goto yy456; + if (yych <= 'z') goto yy449; + goto yy274; + } + } + } +yy285: yych = *++YYCURSOR; - switch (yych) { - case 'D': - case 'd': goto yy845; - default: goto yy686; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'G') goto yy443; + goto yy457; + } + } else { + if (yych <= 'g') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'h') goto yy457; + if (yych <= 'z') goto yy443; + goto yy18; + } } -yy688: +yy286: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'G': - case 'g': goto yy846; - default: goto yy18; + if (yych <= 'V') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'U') goto yy443; + goto yy458; + } + } else { + if (yych <= 'u') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'v') goto yy458; + if (yych <= 'z') goto yy443; + goto yy18; + } } -yy689: +yy287: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'G': goto yy846; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'g': goto yy847; - default: goto yy18; + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'H') goto yy457; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'h') goto yy459; + if (yych <= 'z') goto yy449; + goto yy18; + } + } } -yy690: +yy288: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'U') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'V') goto yy458; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'u') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'v') goto yy460; + if (yych <= 'z') goto yy449; + goto yy18; + } + } + } +yy289: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + goto yy274; + } else { + if (yych <= '-') goto yy444; + if (yych <= '.') goto yy134; + goto yy274; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych == 'R') goto yy461; + goto yy443; + } + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy274; + goto yy443; + } else { + if (yych <= 'r') goto yy461; + if (yych <= 'z') goto yy443; + goto yy274; + } + } + } +yy290: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'E': - case 'e': goto yy848; - default: goto yy18; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'S') goto yy443; + goto yy462; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 't') goto yy462; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy291: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'R') goto yy443; + goto yy463; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 's') goto yy463; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy292: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'Q') goto yy443; + goto yy464; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'r') goto yy464; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy293: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= 'D') { + if (yych <= ')') { + if (yych >= ')') goto yy107; + } else { + if (yych <= '@') goto yy294; + if (yych <= 'C') goto yy443; + goto yy465; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy443; + if (yych >= 'a') goto yy443; + } else { + if (yych <= 'd') goto yy465; + if (yych <= 'z') goto yy443; + } + } +yy294: +#line 1557 "ext/date/lib/parse_date.re" + { + const timelib_relunit* relunit; + DEBUG_OUTPUT("daytext"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_HAVE_WEEKDAY_RELATIVE(); + TIMELIB_UNHAVE_TIME(); + relunit = timelib_lookup_relunit((char**) &ptr); + s->time->relative.weekday = relunit->multiplier; + if (s->time->relative.weekday_behavior != 2) { + s->time->relative.weekday_behavior = 1; + } + + TIMELIB_DEINIT; + return TIMELIB_WEEKDAY; } -yy691: +#line 7060 "" +yy295: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'M') goto yy443; + goto yy466; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'n') goto yy466; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy296: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy450; + } else { + if (yych == '/') goto yy276; + goto yy134; + } + } + } else { + if (yych <= '^') { + if (yych <= 'Q') { + if (yych <= '@') goto yy274; + goto yy443; + } else { + if (yych <= 'R') goto yy461; + if (yych <= 'Z') goto yy443; + goto yy274; + } + } else { + if (yych <= 'q') { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy274; + goto yy449; + } else { + if (yych <= 'r') goto yy467; + if (yych <= 'z') goto yy449; + goto yy274; + } + } + } +yy297: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'E': goto yy848; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'e': goto yy849; - default: goto yy18; + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy462; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 't') goto yy468; + if (yych <= 'z') goto yy449; + goto yy18; + } + } } -yy692: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'O': - case 'o': goto yy850; - default: goto yy18; +yy298: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy463; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 's') goto yy469; + if (yych <= 'z') goto yy449; + goto yy18; + } + } } -yy693: +yy299: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy464; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'r') goto yy470; + if (yych <= 'z') goto yy449; + goto yy18; + } + } + } +yy300: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy294; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy294; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy465; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy294; + goto yy276; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy294; + goto yy449; + } else { + if (yych <= 'd') goto yy471; + if (yych <= 'z') goto yy449; + goto yy294; + } + } + } +yy301: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy466; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'n') goto yy472; + if (yych <= 'z') goto yy449; + goto yy18; + } + } + } +yy302: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych == '+') goto yy473; + goto yy18; + } + } else { + if (yych <= 'Z') { + if (yych <= '-') goto yy473; + if (yych <= '@') goto yy18; + goto yy443; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy303: + yyaccept = 4; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); + yych = *YYCURSOR; +yy304: + if (yybm[0+yych] & 32) { + goto yy303; + } + if (yych <= '2') { + if (yych <= '/') goto yy136; + if (yych <= '0') goto yy474; + if (yych <= '1') goto yy475; + goto yy476; + } else { + if (yych <= '9') goto yy477; + if (yych == 'T') goto yy308; + goto yy136; + } +yy305: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'O': goto yy850; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'o': goto yy851; - default: goto yy18; + case '.': goto yy478; + case '0': goto yy479; + case '1': goto yy480; + case '2': goto yy481; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy482; + case ':': goto yy483; + default: goto yy304; } -yy694: - yych = *++YYCURSOR; +yy306: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'D': - case 'd': goto yy852; - default: goto yy18; + case '.': goto yy484; + case '0': goto yy485; + case '1': goto yy480; + case '2': goto yy481; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy482; + case ':': goto yy486; + default: goto yy304; } -yy695: - yych = *++YYCURSOR; +yy307: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'D': - case 'd': goto yy812; - default: goto yy18; + case '.': goto yy484; + case '0': goto yy479; + case '1': goto yy480; + case '2': goto yy481; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy482; + case ':': goto yy486; + default: goto yy304; } -yy696: +yy308: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'M': - case 'm': goto yy853; - default: goto yy18; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy487; + if (yych <= '2') goto yy488; + if (yych <= '9') goto yy489; + goto yy56; +yy309: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy486; + goto yy56; + } else { + if (yych <= '4') goto yy490; + if (yych <= '9') goto yy491; + if (yych <= ':') goto yy486; + goto yy56; + } +yy310: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy486; + goto yy56; + } else { + if (yych <= '9') goto yy491; + if (yych <= ':') goto yy486; + goto yy56; + } +yy311: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy483; + goto yy56; + } else { + if (yych <= '0') goto yy490; + if (yych <= '9') goto yy482; + if (yych <= ':') goto yy483; + goto yy56; + } +yy312: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy486; + goto yy56; + } else { + if (yych <= '2') goto yy482; + if (yych <= '9') goto yy490; + if (yych <= ':') goto yy486; + goto yy56; + } +yy313: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy134; + goto yy18; + } else { + if (yych <= ' ') goto yy134; + if (yych == ')') goto yy107; + goto yy18; + } + } else { + if (yych <= '@') { + if (yych == '/') goto yy18; + if (yych <= '9') goto yy134; + goto yy18; + } else { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy314: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + goto yy274; + } else { + if (yych <= '-') goto yy444; + if (yych <= '.') goto yy134; + goto yy274; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych == 'U') goto yy492; + goto yy443; + } + } else { + if (yych <= 't') { + if (yych <= '`') goto yy274; + goto yy443; + } else { + if (yych <= 'u') goto yy492; + if (yych <= 'z') goto yy443; + goto yy274; + } + } + } +yy315: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + goto yy274; + } else { + if (yych <= '-') goto yy444; + if (yych <= '.') goto yy134; + goto yy274; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych == 'Y') goto yy493; + goto yy443; + } + } else { + if (yych <= 'x') { + if (yych <= '`') goto yy274; + goto yy443; + } else { + if (yych <= 'y') goto yy493; + if (yych <= 'z') goto yy443; + goto yy274; + } + } + } +yy316: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + goto yy274; + } else { + if (yych <= '-') goto yy444; + if (yych <= '.') goto yy134; + goto yy274; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych == 'E') goto yy493; + goto yy443; + } + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy274; + goto yy443; + } else { + if (yych <= 'e') goto yy493; + if (yych <= 'z') goto yy443; + goto yy274; + } + } } -yy697: +yy317: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy450; + } else { + if (yych == '/') goto yy276; + goto yy134; + } + } + } else { + if (yych <= '^') { + if (yych <= 'T') { + if (yych <= '@') goto yy274; + goto yy443; + } else { + if (yych <= 'U') goto yy492; + if (yych <= 'Z') goto yy443; + goto yy274; + } + } else { + if (yych <= 't') { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy274; + goto yy449; + } else { + if (yych <= 'u') goto yy494; + if (yych <= 'z') goto yy449; + goto yy274; + } + } + } +yy318: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy450; + } else { + if (yych == '/') goto yy276; + goto yy134; + } + } + } else { + if (yych <= '^') { + if (yych <= 'X') { + if (yych <= '@') goto yy274; + goto yy443; + } else { + if (yych <= 'Y') goto yy493; + if (yych <= 'Z') goto yy443; + goto yy274; + } + } else { + if (yych <= 'x') { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy274; + goto yy449; + } else { + if (yych <= 'y') goto yy495; + if (yych <= 'z') goto yy449; + goto yy274; + } + } + } +yy319: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy450; + } else { + if (yych == '/') goto yy276; + goto yy134; + } + } + } else { + if (yych <= '^') { + if (yych <= 'D') { + if (yych <= '@') goto yy274; + goto yy443; + } else { + if (yych <= 'E') goto yy493; + if (yych <= 'Z') goto yy443; + goto yy274; + } + } else { + if (yych <= 'd') { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy274; + goto yy449; + } else { + if (yych <= 'e') goto yy495; + if (yych <= 'z') goto yy449; + goto yy274; + } + } + } +yy320: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'T': - case 't': goto yy854; - default: goto yy18; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'S') goto yy443; + goto yy496; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 't') goto yy496; + if (yych <= 'z') goto yy443; + goto yy18; + } } -yy698: +yy321: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'D': goto yy852; - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'd': goto yy855; - default: goto yy18; + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy496; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 't') goto yy497; + if (yych <= 'z') goto yy449; + goto yy18; + } + } } -yy699: - yyaccept = 2; +yy322: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'D': goto yy812; - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'd': goto yy814; - default: goto yy18; + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + goto yy274; + } else { + if (yych <= '-') goto yy444; + if (yych <= '.') goto yy134; + goto yy274; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych == 'C') goto yy498; + goto yy443; + } + } else { + if (yych <= 'b') { + if (yych <= '`') goto yy274; + goto yy443; + } else { + if (yych <= 'c') goto yy498; + if (yych <= 'z') goto yy443; + goto yy274; + } + } + } +yy323: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy134; + if (yych <= 0x1F) goto yy274; + goto yy134; + } else { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy444; + } + } else { + if (yych <= '@') { + if (yych == '/') goto yy274; + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy274; + if (yych <= 'z') goto yy443; + goto yy274; + } + } +yy324: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'M') goto yy443; + goto yy499; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'n') goto yy499; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy325: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy450; + } else { + if (yych == '/') goto yy276; + goto yy134; + } + } + } else { + if (yych <= '^') { + if (yych <= 'B') { + if (yych <= '@') goto yy274; + goto yy443; + } else { + if (yych <= 'C') goto yy498; + if (yych <= 'Z') goto yy443; + goto yy274; + } + } else { + if (yych <= 'b') { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy274; + goto yy449; + } else { + if (yych <= 'c') goto yy500; + if (yych <= 'z') goto yy449; + goto yy274; + } + } } -yy700: - yyaccept = 2; +yy326: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'M': goto yy853; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'm': goto yy856; - default: goto yy18; + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy134; + if (yych <= 0x1F) goto yy274; + goto yy134; + } else { + if (yych <= ')') { + if (yych <= '(') goto yy274; + goto yy107; + } else { + if (yych <= ',') goto yy274; + if (yych <= '-') goto yy450; + goto yy134; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '/') goto yy276; + if (yych <= '9') goto yy134; + if (yych <= '@') goto yy274; + goto yy443; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy274; + goto yy276; + } else { + if (yych <= '`') goto yy274; + if (yych <= 'z') goto yy449; + goto yy274; + } + } } -yy701: +yy327: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'T': goto yy854; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 't': goto yy857; - default: goto yy18; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy499; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'n') goto yy501; + if (yych <= 'z') goto yy449; + goto yy18; + } + } } -yy702: - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy858; - case '6': goto yy859; - default: goto yy396; +yy328: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'S') goto yy443; + goto yy502; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 't') goto yy502; + if (yych <= 'z') goto yy443; + goto yy18; + } } -yy703: +yy329: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'M') goto yy443; + goto yy503; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'n') goto yy503; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy330: ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - default: goto yy704; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy107; + } else { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy331; + if (yych <= 'z') goto yy443; } -yy704: -#line 984 "ext/date/lib/parse_date.re" +yy331: +#line 963 "ext/date/lib/parse_date.re" { - DEBUG_OUTPUT("midnight | today"); + DEBUG_OUTPUT("now"); TIMELIB_INIT; - TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 25034 "" -yy705: +#line 8016 "" +yy332: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy502; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 't') goto yy505; + if (yych <= 'z') goto yy449; + goto yy18; + } + } + } +yy333: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy503; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'n') goto yy506; + if (yych <= 'z') goto yy449; + goto yy18; + } + } + } +yy334: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy331; + } else { + if (yych == '.') goto yy331; + goto yy276; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy331; + if (yych <= 'Z') goto yy443; + goto yy331; + } else { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy331; + if (yych <= 'z') goto yy449; + goto yy331; + } + } +yy335: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + goto yy274; + } else { + if (yych <= '-') goto yy444; + if (yych <= '.') goto yy134; + goto yy274; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych == 'O') goto yy507; + goto yy443; + } + } else { + if (yych <= 'n') { + if (yych <= '`') goto yy274; + goto yy443; + } else { + if (yych <= 'o') goto yy507; + if (yych <= 'z') goto yy443; + goto yy274; + } + } + } +yy336: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy450; + } else { + if (yych == '/') goto yy276; + goto yy134; + } + } + } else { + if (yych <= '^') { + if (yych <= 'N') { + if (yych <= '@') goto yy274; + goto yy443; + } else { + if (yych <= 'O') goto yy507; + if (yych <= 'Z') goto yy443; + goto yy274; + } + } else { + if (yych <= 'n') { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy274; + goto yy449; + } else { + if (yych <= 'o') goto yy508; + if (yych <= 'z') goto yy449; + goto yy274; + } + } + } +yy337: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'R': - case 'r': goto yy860; - default: goto yy18; + if (yych <= 'V') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'U') goto yy443; + goto yy509; + } + } else { + if (yych <= 'u') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'v') goto yy509; + if (yych <= 'z') goto yy443; + goto yy18; + } } -yy706: +yy338: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'U') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'V') goto yy509; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'u') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'v') goto yy510; + if (yych <= 'z') goto yy449; + goto yy18; + } + } + } +yy339: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'a': goto yy861; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - default: goto yy18; + if (yych <= 'U') { + if (yych <= ')') { + if (yych <= '(') goto yy294; + goto yy107; + } else { + if (yych <= '@') goto yy294; + if (yych <= 'T') goto yy443; + goto yy511; + } + } else { + if (yych <= 't') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy294; + goto yy443; + } else { + if (yych <= 'u') goto yy511; + if (yych <= 'z') goto yy443; + goto yy294; + } } -yy707: - yyaccept = 18; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - default: goto yy704; +yy340: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'N') goto yy443; + goto yy512; + } + } else { + if (yych <= 'n') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'o') goto yy512; + if (yych <= 'z') goto yy443; + goto yy18; + } } -yy708: - yyaccept = 2; +yy341: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'R': goto yy860; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'r': goto yy862; - default: goto yy18; + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + goto yy274; + } else { + if (yych <= '-') goto yy444; + if (yych <= '.') goto yy134; + goto yy274; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych == 'T') goto yy513; + goto yy443; + } + } else { + if (yych <= 's') { + if (yych <= '`') goto yy274; + goto yy443; + } else { + if (yych <= 't') goto yy513; + if (yych <= 'z') goto yy443; + goto yy274; + } + } } -yy709: +yy342: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy443; + goto yy514; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'e') goto yy514; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy343: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy294; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy294; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'U') goto yy511; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy294; + goto yy276; + } else { + if (yych <= 't') { + if (yych <= '`') goto yy294; + goto yy449; + } else { + if (yych <= 'u') goto yy515; + if (yych <= 'z') goto yy449; + goto yy294; + } + } + } +yy344: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': goto yy861; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'a': goto yy863; - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - default: goto yy18; + if (yych <= 'N') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'O') goto yy512; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'n') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'o') goto yy516; + if (yych <= 'z') goto yy449; + goto yy18; + } + } } -yy710: +yy345: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy450; + } else { + if (yych == '/') goto yy276; + goto yy134; + } + } + } else { + if (yych <= '^') { + if (yych <= 'S') { + if (yych <= '@') goto yy274; + goto yy443; + } else { + if (yych <= 'T') goto yy513; + if (yych <= 'Z') goto yy443; + goto yy274; + } + } else { + if (yych <= 's') { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy274; + goto yy449; + } else { + if (yych <= 't') goto yy517; + if (yych <= 'z') goto yy449; + goto yy274; + } + } + } +yy346: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy514; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'e') goto yy518; + if (yych <= 'z') goto yy449; + goto yy18; + } + } + } +yy347: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'S': - case 's': goto yy864; - default: goto yy18; + if (yych <= '/') { + if (yych == '.') goto yy72; + goto yy56; + } else { + if (yych <= '5') goto yy519; + if (yych == ':') goto yy72; + goto yy56; } -yy711: +yy348: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'a': goto yy865; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - default: goto yy18; + if (yych <= 'S') { + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'Q') goto yy443; + if (yych <= 'R') goto yy520; + goto yy502; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'r') goto yy520; + if (yych <= 's') goto yy502; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy349: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy294; + goto yy107; + } else { + if (yych <= '@') goto yy294; + if (yych <= 'Q') goto yy443; + goto yy521; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy294; + goto yy443; + } else { + if (yych <= 'r') goto yy521; + if (yych <= 'z') goto yy443; + goto yy294; + } + } +yy350: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy522; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy443; + goto yy18; + } else { + if (yych <= 'a') goto yy522; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy351: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'N') goto yy443; + goto yy523; + } + } else { + if (yych <= 'n') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'o') goto yy523; + if (yych <= 'z') goto yy443; + goto yy18; + } + } +yy352: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy294; + goto yy107; + } else { + if (yych <= '@') goto yy294; + if (yych <= 'R') goto yy443; + goto yy524; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy294; + goto yy443; + } else { + if (yych <= 's') goto yy524; + if (yych <= 'z') goto yy443; + goto yy294; + } + } +yy353: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'K') goto yy443; + goto yy525; + } + } else { + if (yych <= 'k') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'l') goto yy525; + if (yych <= 'z') goto yy443; + goto yy18; + } } -yy712: +yy354: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'S': goto yy864; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 's': goto yy866; - default: goto yy18; + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych <= '/') { + if (yych <= '.') goto yy18; + goto yy276; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'Q') goto yy443; + goto yy520; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'S') goto yy502; + goto yy443; + } else { + if (yych == '_') goto yy276; + goto yy18; + } + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy449; + goto yy526; + } else { + if (yych <= 's') goto yy505; + if (yych <= 'z') goto yy449; + goto yy18; + } + } } -yy713: - yyaccept = 2; +yy355: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': goto yy865; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'a': goto yy867; - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - default: goto yy18; + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy294; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy294; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy521; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy294; + goto yy276; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy294; + goto yy449; + } else { + if (yych <= 'r') goto yy527; + if (yych <= 'z') goto yy449; + goto yy294; + } + } } -yy714: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy800; - case 'R': - case 'r': goto yy868; - default: goto yy18; +yy356: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy522; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'a') goto yy528; + if (yych <= 'z') goto yy449; + goto yy18; + } } -yy715: +yy357: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy800; - case 'R': goto yy868; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy805; - case 'r': goto yy869; - default: goto yy18; + if (yych <= 'N') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'O') goto yy523; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'n') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'o') goto yy529; + if (yych <= 'z') goto yy449; + goto yy18; + } + } + } +yy358: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy294; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy294; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy524; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy294; + goto yy276; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy294; + goto yy449; + } else { + if (yych <= 's') goto yy530; + if (yych <= 'z') goto yy449; + goto yy294; + } + } } -yy716: +yy359: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'K') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'L') goto yy525; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'k') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'l') goto yy531; + if (yych <= 'z') goto yy449; + goto yy18; + } + } + } +yy360: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy134; + if (yych <= 0x1F) goto yy18; + goto yy134; + } else { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy134; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy134; + if (yych <= '@') goto yy18; + goto yy443; + } else { + if (yych <= 'Z') { + if (yych <= 'I') goto yy532; + goto yy443; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy443; + goto yy18; + } + } + } +yy361: yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy870; - case '1': goto yy871; - default: goto yy56; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy294; + goto yy107; + } else { + if (yych <= '@') goto yy294; + if (yych <= 'M') goto yy443; + goto yy533; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy294; + goto yy443; + } else { + if (yych <= 'n') goto yy533; + if (yych <= 'z') goto yy443; + goto yy294; + } } -yy717: +yy362: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy872; - default: goto yy56; + if (yych <= 'K') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'J') goto yy443; + goto yy534; + } + } else { + if (yych <= 'j') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 'k') goto yy534; + if (yych <= 'z') goto yy443; + goto yy18; + } } -yy718: - yyaccept = 19; +yy363: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy872; - default: goto yy719; - } -yy719: -#line 1320 "ext/date/lib/parse_date.re" - { - 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; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy294; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy294; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy533; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy294; + goto yy276; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy294; + goto yy449; + } else { + if (yych <= 'n') goto yy535; + if (yych <= 'z') goto yy449; + goto yy294; + } + } } -#line 25749 "" -yy720: - yyaccept = 15; +yy364: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy872; - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy544; + if (yych <= 'J') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'K') goto yy534; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'j') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 'k') goto yy536; + if (yych <= 'z') goto yy449; + goto yy18; + } + } } -yy721: +yy365: yych = *++YYCURSOR; - switch (yych) { - case 'd': goto yy873; - default: goto yy56; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'S') goto yy443; + goto yy537; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy443; + if (yych <= '`') goto yy18; + goto yy443; + } else { + if (yych <= 't') goto yy537; + if (yych <= 'z') goto yy443; + goto yy18; + } } -yy722: - yych = *++YYCURSOR; - switch (yych) { - case 't': goto yy873; - default: goto yy56; +yy366: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy443; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy537; + if (yych <= 'Z') goto yy443; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy18; + goto yy449; + } else { + if (yych <= 't') goto yy538; + if (yych <= 'z') goto yy449; + goto yy18; + } + } } -yy723: +yy367: yych = *++YYCURSOR; - switch (yych) { - case 'h': goto yy873; - default: goto yy56; + if (yych == 'C') goto yy417; + if (yych == 'c') goto yy417; + goto yy56; +yy368: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy18; + goto yy186; + } else { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy539; + if (yych <= 'C') goto yy18; + goto yy186; + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy186; + if (yych <= 'G') goto yy18; + goto yy186; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy18; + goto yy186; + } else { + if (yych <= 'R') goto yy18; + if (yych <= 'T') goto yy186; + goto yy18; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy18; + if (yych <= 'Y') goto yy186; + goto yy18; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy186; + goto yy18; + } else { + if (yych == 'g') goto yy18; + goto yy186; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy186; + if (yych <= 'r') goto yy18; + goto yy186; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy18; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy18; + } + } + } } -yy724: +yy369: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy18; + goto yy186; + } else { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy540; + if (yych <= 'C') goto yy18; + goto yy186; + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy186; + if (yych <= 'G') goto yy18; + goto yy186; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy18; + goto yy186; + } else { + if (yych <= 'R') goto yy18; + if (yych <= 'T') goto yy186; + goto yy18; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy18; + if (yych <= 'Y') goto yy186; + goto yy18; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy186; + goto yy18; + } else { + if (yych == 'g') goto yy18; + goto yy186; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy186; + if (yych <= 'r') goto yy18; + goto yy186; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy18; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy18; + } + } + } + } +yy370: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy874; - default: goto yy56; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy107; + goto yy18; +yy371: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '9') goto yy540; + goto yy186; +yy372: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy541; + goto yy56; +yy373: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy542; + goto yy56; +yy374: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy543; + if (yych <= '3') goto yy545; + if (yych <= '9') goto yy546; + goto yy56; +yy375: + yych = *++YYCURSOR; + if (yych == 'P') goto yy418; + if (yych == 'p') goto yy418; + goto yy56; +yy376: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy547; + if (yych <= '6') goto yy548; + if (yych <= '9') goto yy549; + goto yy56; +yy377: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy550; + if (yych <= '6') goto yy551; + if (yych <= '9') goto yy552; + goto yy56; +yy378: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy553; + goto yy56; +yy379: + yych = *++YYCURSOR; + if (yych == 'd') goto yy554; + goto yy56; +yy380: + yych = *++YYCURSOR; + if (yych == 't') goto yy554; + goto yy56; +yy381: + yych = *++YYCURSOR; + if (yych == 'h') goto yy554; + goto yy56; +yy382: + yych = *++YYCURSOR; + if (yych == 'R') goto yy555; + if (yych == 'r') goto yy555; + goto yy56; +yy383: + yych = *++YYCURSOR; + if (yych == 'G') goto yy555; + if (yych == 'g') goto yy555; + goto yy56; +yy384: + yych = *++YYCURSOR; + if (yych == 'C') goto yy555; + if (yych == 'c') goto yy555; + goto yy56; +yy385: + yych = *++YYCURSOR; + if (yych == 'B') goto yy555; + if (yych == 'b') goto yy555; + goto yy56; +yy386: + yych = *++YYCURSOR; + if (yych == 'N') goto yy555; + if (yych == 'n') goto yy555; + goto yy56; +yy387: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy555; + if (yych <= 'M') goto yy56; + goto yy555; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy555; + } else { + if (yych == 'n') goto yy555; + goto yy56; + } } -yy725: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy872; - default: goto yy208; +yy388: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'R') goto yy555; + if (yych <= 'X') goto yy56; + goto yy555; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + goto yy555; + } else { + if (yych == 'y') goto yy555; + goto yy56; + } } -yy726: +yy389: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy876; - default: goto yy213; + if (yych == 'V') goto yy555; + if (yych == 'v') goto yy555; + goto yy56; +yy390: + yych = *++YYCURSOR; + if (yych == 'T') goto yy555; + if (yych == 't') goto yy555; + goto yy56; +yy391: + yych = *++YYCURSOR; + if (yych == 'P') goto yy556; + if (yych == 'p') goto yy556; + goto yy56; +yy392: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy374; + goto yy372; + } else { + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy557; + goto yy56; + } +yy393: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy374; + goto yy372; + } else { + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy557; + goto yy56; } -yy727: +yy394: yych = *++YYCURSOR; switch (yych) { - case '0': - case '1': + case '0': goto yy558; + case '1': goto yy559; case '2': case '3': case '4': @@ -25843,1356 +9278,3045 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy877; + case '9': goto yy434; + case 'A': + case 'a': goto yy435; + case 'D': + case 'd': goto yy436; + case 'F': + case 'f': goto yy437; + case 'J': + case 'j': goto yy438; + case 'M': + case 'm': goto yy439; + case 'N': + case 'n': goto yy440; + case 'O': + case 'o': goto yy441; + case 'S': + case 's': goto yy442; default: goto yy56; } -yy728: - yych = *++YYCURSOR; +yy395: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '0': - case '1': - case '2': goto yy878; - case '3': goto yy879; + case '\t': + case ' ': + case 'A': + case 'D': + case 'F': + case 'H': + case 'I': + case 'J': + case 'M': + case 'N': + case 'O': + case 'S': + case 'T': + case 'V': + case 'X': + case 'Y': + case 'a': + case 'd': + case 'f': + case 'h': + case 'j': + case 'm': + case 'n': + case 'o': + case 's': + case 't': + case 'w': + case 'y': goto yy561; + case '-': goto yy562; + case '.': goto yy563; + case '/': goto yy564; + case '0': goto yy565; + case '1': goto yy566; + case '2': goto yy567; + case '3': goto yy568; case '4': - case '5': - case '6': + case '5': goto yy569; + case '6': goto yy570; case '7': case '8': - case '9': goto yy546; - default: goto yy56; + case '9': goto yy57; + case ':': goto yy571; + case 'W': goto yy583; + default: goto yy396; } -yy729: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy730: +yy396: +#line 1157 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("gnunocolon"); + TIMELIB_INIT; + switch (s->time->have_time) { + case 0: + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + s->time->s = 0; + break; + case 1: + s->time->y = timelib_get_nr((char **) &ptr, 4); + break; + default: + TIMELIB_DEINIT; + add_error(s, "Double time specification"); + return TIMELIB_ERROR; + } + s->time->have_time++; + TIMELIB_DEINIT; + return TIMELIB_GNU_NOCOLON; + } +#line 9373 "" +yy397: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\t': case ' ': - case '-': - case '.': goto yy729; case 'A': - case 'a': goto yy572; case 'D': - case 'd': goto yy747; case 'F': - case 'f': goto yy748; - case 'I': goto yy575; + case 'H': + case 'I': case 'J': - case 'j': goto yy577; case 'M': - case 'm': goto yy749; case 'N': - case 'n': goto yy579; case 'O': - case 'o': goto yy580; case 'S': - case 's': goto yy750; - case 'V': goto yy582; - case 'X': goto yy584; - default: goto yy56; + case 'T': + case 'V': + case 'X': + case 'Y': + case 'a': + case 'd': + case 'f': + case 'h': + case 'j': + case 'm': + case 'n': + case 'o': + case 's': + case 't': + case 'w': + case 'y': goto yy561; + case '-': goto yy562; + case '.': goto yy563; + case '/': goto yy564; + case '0': goto yy585; + case '1': goto yy586; + case '2': goto yy587; + case '3': goto yy588; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy57; + case ':': goto yy571; + case 'W': goto yy583; + default: goto yy398; + } +yy398: +#line 1527 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("year4"); + TIMELIB_INIT; + s->time->y = timelib_get_nr((char **) &ptr, 4); + TIMELIB_DEINIT; + return TIMELIB_CLF; + } +#line 9432 "" +yy399: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy237; + goto yy78; + } else { + if (yych <= ' ') goto yy237; + if (yych <= ',') goto yy78; + goto yy237; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy78; + if (yych <= '9') goto yy239; + goto yy78; + } else { + if (yych <= 'I') goto yy589; + if (yych == 'i') goto yy589; + goto yy78; + } + } +yy400: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy237; + goto yy78; + } else { + if (yych <= ' ') goto yy237; + if (yych <= ',') goto yy78; + goto yy237; + } + } else { + if (yych <= 'T') { + if (yych <= '/') goto yy78; + if (yych <= '9') goto yy239; + goto yy78; + } else { + if (yych <= 'U') goto yy590; + if (yych == 'u') goto yy590; + goto yy78; + } + } +yy401: + ++YYCURSOR; + if ((yych = *YYCURSOR) == 'S') goto yy591; + if (yych == 's') goto yy591; +yy402: +#line 1694 "ext/date/lib/parse_date.re" + { + timelib_ull i; + DEBUG_OUTPUT("relative"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + + while(*ptr) { + i = timelib_get_unsigned_nr((char **) &ptr, 24); + timelib_eat_spaces((char **) &ptr); + timelib_set_relative((char **) &ptr, i, 1, s); + } + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +#line 9499 "" +yy403: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy237; + goto yy78; + } else { + if (yych <= ' ') goto yy237; + if (yych <= ',') goto yy78; + goto yy237; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy78; + if (yych <= '9') goto yy239; + goto yy78; + } else { + if (yych <= 'E') goto yy592; + if (yych == 'e') goto yy592; + goto yy78; + } + } +yy404: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy237; + goto yy78; + } else { + if (yych <= ' ') goto yy237; + if (yych <= ',') goto yy78; + goto yy237; + } + } else { + if (yych <= 'Q') { + if (yych <= '/') goto yy78; + if (yych <= '9') goto yy239; + goto yy78; + } else { + if (yych <= 'R') goto yy593; + if (yych == 'r') goto yy593; + goto yy78; + } + } +yy405: + yych = *++YYCURSOR; + if (yych == 'T') goto yy594; + if (yych == 't') goto yy594; + goto yy56; +yy406: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'D') goto yy595; + if (yych == 'd') goto yy595; + goto yy402; +yy407: + yych = *++YYCURSOR; + if (yych == 'R') goto yy401; + if (yych == 'r') goto yy401; + goto yy56; +yy408: + yych = *++YYCURSOR; + if (yych <= '/') goto yy240; + if (yych <= '9') goto yy596; + goto yy240; +yy409: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy237; + goto yy78; + } else { + if (yych <= ' ') goto yy237; + if (yych <= ',') goto yy78; + goto yy237; + } + } else { + if (yych <= 'T') { + if (yych <= '/') goto yy78; + if (yych <= '9') goto yy239; + goto yy78; + } else { + if (yych <= 'U') goto yy597; + if (yych == 'u') goto yy597; + goto yy78; + } + } +yy410: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy237; + goto yy78; + } else { + if (yych <= ' ') goto yy237; + if (yych <= ',') goto yy78; + goto yy237; + } + } else { + if (yych <= 'X') { + if (yych <= '/') goto yy78; + if (yych <= '9') goto yy239; + goto yy78; + } else { + if (yych <= 'Y') goto yy242; + if (yych == 'y') goto yy242; + goto yy78; + } + } +yy411: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy237; + goto yy78; + } else { + if (yych <= ' ') goto yy237; + if (yych <= ',') goto yy78; + goto yy237; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy78; + if (yych <= '9') goto yy239; + goto yy78; + } else { + if (yych <= 'E') goto yy242; + if (yych == 'e') goto yy242; + goto yy78; + } } -yy731: - yyaccept = 20; +yy412: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy880; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy881; - default: goto yy732; + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy237; + goto yy78; + } else { + if (yych <= ' ') goto yy237; + if (yych <= ',') goto yy78; + goto yy237; + } + } else { + if (yych <= 'B') { + if (yych <= '/') goto yy78; + if (yych <= '9') goto yy239; + goto yy78; + } else { + if (yych <= 'C') goto yy598; + if (yych == 'c') goto yy598; + goto yy78; + } } -yy732: -#line 1265 "ext/date/lib/parse_date.re" - { - 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; +yy413: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'U') { + if (yych == 'S') goto yy591; + if (yych <= 'T') goto yy402; + goto yy599; + } else { + if (yych <= 's') { + if (yych <= 'r') goto yy402; + goto yy591; + } else { + if (yych == 'u') goto yy599; + goto yy402; + } } -#line 25927 "" -yy733: - yyaccept = 20; +yy414: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy880; - case '0': - case '1': - case '2': goto yy881; - default: goto yy732; + if (yych <= 'T') { + if (yych == 'D') goto yy595; + if (yych <= 'S') goto yy402; + goto yy600; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy402; + goto yy595; + } else { + if (yych == 't') goto yy600; + goto yy402; + } } -yy734: - yyaccept = 20; +yy415: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy880; - default: goto yy732; + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy237; + goto yy78; + } else { + if (yych <= ' ') goto yy237; + if (yych <= ',') goto yy78; + goto yy237; + } + } else { + if (yych <= 'N') { + if (yych <= '/') goto yy78; + if (yych <= '9') goto yy239; + goto yy78; + } else { + if (yych <= 'O') goto yy601; + if (yych == 'o') goto yy601; + goto yy78; + } } -yy735: - yych = *++YYCURSOR; - switch (yych) { - case 'P': - case 'p': goto yy882; - case 'U': - case 'u': goto yy883; - default: goto yy56; +yy416: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'U') goto yy602; + if (yych == 'u') goto yy602; + goto yy402; +yy417: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == 'O') goto yy603; + if (yych <= 'R') goto yy402; + goto yy591; + } else { + if (yych <= 'o') { + if (yych <= 'n') goto yy402; + goto yy603; + } else { + if (yych == 's') goto yy591; + goto yy402; + } } -yy736: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy884; - default: goto yy56; +yy418: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy237; + goto yy78; + } else { + if (yych <= ' ') goto yy237; + if (yych <= ',') goto yy78; + goto yy237; + } + } else { + if (yych <= 'S') { + if (yych <= '/') goto yy78; + if (yych <= '9') goto yy239; + goto yy78; + } else { + if (yych <= 'T') goto yy403; + if (yych == 't') goto yy403; + goto yy78; + } } -yy737: +yy419: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'R') goto yy604; + if (yych == 'r') goto yy604; + goto yy402; +yy420: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'S') goto yy605; + if (yych == 's') goto yy605; + goto yy402; +yy421: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'N') goto yy606; + if (yych == 'n') goto yy606; + goto yy402; +yy422: yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy885; - default: goto yy56; - } -yy738: + if (yych == 'K') goto yy607; + if (yych == 'k') goto yy607; + goto yy56; +yy423: yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy886; - case 'U': - case 'u': goto yy887; - default: goto yy56; - } -yy739: + if (yych <= '/') goto yy196; + if (yych <= '0') goto yy608; + if (yych <= '1') goto yy609; + if (yych <= '9') goto yy610; + goto yy196; +yy424: yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy888; - default: goto yy56; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy611; + if (yych <= '6') goto yy612; + if (yych <= '9') goto yy549; + goto yy56; +yy425: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy613; + if (yych <= 0x1F) goto yy208; + goto yy613; + } else { + if (yych <= '-') { + if (yych <= ',') goto yy208; + goto yy372; + } else { + if (yych <= '.') goto yy424; + if (yych <= '9') goto yy208; + } + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy100; + if (yych <= 'O') goto yy208; + goto yy100; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy208; + goto yy100; + } else { + if (yych == 'p') goto yy100; + goto yy208; + } + } } -yy740: +yy426: yych = *++YYCURSOR; - switch (yych) { - case 'O': - case 'o': goto yy889; - default: goto yy56; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy615; + if (yych <= '6') goto yy616; + if (yych <= '9') goto yy552; + goto yy56; +yy427: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy613; + if (yych <= 0x1F) goto yy208; + goto yy613; + } else { + if (yych == '.') goto yy426; + if (yych <= '9') goto yy208; + goto yy426; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy100; + if (yych <= 'O') goto yy208; + goto yy100; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy208; + goto yy100; + } else { + if (yych == 'p') goto yy100; + goto yy208; + } + } } -yy741: - yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy890; - default: goto yy56; +yy428: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy613; + if (yych <= 0x1F) goto yy208; + goto yy613; + } else { + if (yych == '.') goto yy426; + if (yych <= '9') goto yy208; + goto yy617; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy100; + if (yych <= 'O') goto yy208; + goto yy100; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy208; + goto yy100; + } else { + if (yych == 'p') goto yy100; + goto yy208; + } + } } -yy742: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy891; - default: goto yy56; +yy429: + ++YYCURSOR; +#line 1094 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->i = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->s = timelib_get_nr((char **) &ptr, 2); + } + } + s->time->h += timelib_meridian((char **) &ptr, s->time->h); + TIMELIB_DEINIT; + return TIMELIB_TIME12; } -yy743: +#line 9909 "" +yy431: yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy774; - case '1': - case '2': - case '3': - case '4': goto yy775; - case '5': goto yy776; - default: goto yy56; + if (yych <= '\t') { + if (yych <= 0x00) goto yy429; + if (yych <= 0x08) goto yy56; + goto yy429; + } else { + if (yych == ' ') goto yy429; + goto yy56; } -yy744: +yy432: yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy892; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy893; - default: goto yy56; - } -yy745: + if (yych == '-') goto yy618; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy619; + goto yy56; +yy433: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy893; - default: goto yy56; - } -yy746: + if (yych == '-') goto yy618; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy619; + goto yy56; +yy434: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy893; - case '6': goto yy894; - default: goto yy56; - } -yy747: + if (yych == '-') goto yy618; + goto yy56; +yy435: yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy764; - default: goto yy56; + if (yych <= 'U') { + if (yych == 'P') goto yy620; + if (yych <= 'T') goto yy56; + goto yy621; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy620; + } else { + if (yych == 'u') goto yy621; + goto yy56; + } } -yy748: +yy436: yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy765; - default: goto yy56; - } -yy749: + if (yych == 'E') goto yy622; + if (yych == 'e') goto yy622; + goto yy56; +yy437: yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy770; - default: goto yy56; + if (yych == 'E') goto yy623; + if (yych == 'e') goto yy623; + goto yy56; +yy438: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy624; + if (yych <= 'T') goto yy56; + goto yy625; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy624; + } else { + if (yych == 'u') goto yy625; + goto yy56; + } } -yy750: +yy439: + yych = *++YYCURSOR; + if (yych == 'A') goto yy626; + if (yych == 'a') goto yy626; + goto yy56; +yy440: + yych = *++YYCURSOR; + if (yych == 'O') goto yy627; + if (yych == 'o') goto yy627; + goto yy56; +yy441: + yych = *++YYCURSOR; + if (yych == 'C') goto yy628; + if (yych == 'c') goto yy628; + goto yy56; +yy442: + yych = *++YYCURSOR; + if (yych == 'E') goto yy629; + if (yych == 'e') goto yy629; + goto yy56; +yy443: yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy895; - default: goto yy56; + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy630; + goto yy18; } -yy751: +yy444: yych = *++YYCURSOR; - switch (yych) { - case '/': goto yy896; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy897; - default: goto yy56; - } -yy752: + if (yych <= '/') goto yy134; + if (yych <= '2') goto yy631; + if (yych <= '3') goto yy632; + goto yy134; +yy445: yych = *++YYCURSOR; - switch (yych) { - case '/': goto yy896; - case '0': - case '1': - case '2': goto yy897; - default: goto yy56; + if (yych <= 'L') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'K') goto yy630; + goto yy633; + } + } else { + if (yych <= 'k') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'l') goto yy633; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy753: +yy446: yych = *++YYCURSOR; - switch (yych) { - case '/': goto yy896; - default: goto yy56; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'R') goto yy630; + goto yy634; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 's') goto yy634; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy754: - yyaccept = 21; +yy447: + yyaccept = 2; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 64) { + goto yy447; + } + if (yych <= '.') { + if (yych == '-') goto yy276; + goto yy18; + } else { + if (yych <= '/') goto yy276; + if (yych == '_') goto yy276; + goto yy18; + } +yy449: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': goto yy898; - case '1': - case '2': goto yy899; - case '3': goto yy901; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy902; - default: goto yy755; + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + goto yy276; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy18; + if (yych <= 'Z') goto yy630; + goto yy18; + } else { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy635; + goto yy18; + } } -yy755: -#line 1203 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("iso8601nocolon"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr != '\0') { - s->time->z = timelib_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"); +yy450: + yych = *++YYCURSOR; + if (yybm[0+yych] & 64) { + goto yy447; + } + if (yych <= '/') goto yy134; + if (yych <= '2') goto yy631; + if (yych <= '3') goto yy632; + goto yy134; +yy451: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'K') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'L') goto yy633; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'k') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'l') goto yy636; + if (yych <= 'z') goto yy635; + goto yy18; } } - TIMELIB_DEINIT; - return TIMELIB_ISO_NOCOLON; } -#line 26171 "" -yy756: - yyaccept = 21; +yy452: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': goto yy899; - case '3': goto yy901; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy902; - default: goto yy755; + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy634; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 's') goto yy637; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy757: - yyaccept = 21; +yy453: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy902; - default: goto yy755; + if (yych <= ')') { + if (yych == ' ') goto yy638; + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy18; + goto yy630; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy758: - yyaccept = 21; +yy454: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': goto yy902; - case '7': - case '8': - case '9': goto yy57; - default: goto yy755; + if (yych <= '.') { + if (yych <= '(') { + if (yych == ' ') goto yy638; + goto yy18; + } else { + if (yych <= ')') goto yy107; + if (yych == '-') goto yy276; + goto yy18; + } + } else { + if (yych <= '^') { + if (yych <= '/') goto yy276; + if (yych <= '@') goto yy18; + if (yych <= 'Z') goto yy630; + goto yy18; + } else { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy635; + goto yy18; + } } -yy759: - yyaccept = 21; +yy455: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'L') goto yy630; + goto yy639; + } + } else { + if (yych <= 'l') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'm') goto yy639; + if (yych <= 'z') goto yy630; + goto yy18; + } + } +yy456: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy57; - default: goto yy755; + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'M') goto yy639; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'l') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'm') goto yy640; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy760: +yy457: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy903; - default: goto yy56; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'S') goto yy630; + goto yy641; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 't') goto yy641; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy761: +yy458: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy903; - default: goto yy56; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy630; + goto yy642; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'e') goto yy642; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy762: - yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy904; - default: goto yy56; +yy459: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy641; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 't') goto yy643; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy763: - yych = *++YYCURSOR; - switch (yych) { - case 'G': - case 'g': goto yy905; - default: goto yy56; +yy460: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy642; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'e') goto yy644; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy764: +yy461: yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy906; - default: goto yy56; + if (yych <= 'U') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'T') goto yy630; + goto yy645; + } + } else { + if (yych <= 't') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'u') goto yy645; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy765: +yy462: yych = *++YYCURSOR; - switch (yych) { - case 'B': - case 'b': goto yy907; - default: goto yy56; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'G') goto yy630; + goto yy646; + } + } else { + if (yych <= 'g') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'h') goto yy646; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy766: +yy463: yych = *++YYCURSOR; - switch (yych) { - case 'I': goto yy767; - default: goto yy576; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'S') goto yy630; + goto yy647; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 't') goto yy647; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy767: - yych = *++YYCURSOR; - goto yy576; -yy768: +yy464: yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy908; - default: goto yy56; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'S') goto yy630; + goto yy648; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 't') goto yy648; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy769: +yy465: yych = *++YYCURSOR; - switch (yych) { - case 'L': - case 'l': goto yy909; - case 'N': - case 'n': goto yy910; - default: goto yy56; + if (yych <= 'A') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy649; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy630; + goto yy18; + } else { + if (yych <= 'a') goto yy649; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy770: +yy466: yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy911; - case 'Y': - case 'y': goto yy767; - default: goto yy56; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'S') goto yy630; + goto yy650; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 't') goto yy650; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy771: - yych = *++YYCURSOR; - switch (yych) { - case 'V': - case 'v': goto yy906; - default: goto yy56; +yy467: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'U') goto yy645; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 't') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'u') goto yy651; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy772: - yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy912; - default: goto yy56; +yy468: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'H') goto yy646; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'h') goto yy652; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy773: - yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy417; - case 'P': - case 'p': goto yy913; - default: goto yy56; +yy469: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy647; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 't') goto yy653; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy774: - yych = *++YYCURSOR; - switch (yych) { - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy914; - default: goto yy56; +yy470: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy648; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 't') goto yy654; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy775: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy914; - default: goto yy56; +yy471: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy649; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'a') goto yy655; + if (yych <= 'z') goto yy635; + goto yy18; + } } -yy776: +yy472: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy650; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 't') goto yy656; + if (yych <= 'z') goto yy635; + goto yy18; + } + } + } +yy473: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': goto yy914; - default: goto yy56; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy657; + if (yych <= '2') goto yy658; + if (yych <= '9') goto yy659; + goto yy56; +yy474: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy483; + goto yy136; + } else { + if (yych <= '0') goto yy660; + if (yych <= '9') goto yy661; + if (yych <= ':') goto yy483; + goto yy136; } -yy777: +yy475: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy486; + goto yy136; + } else { + if (yych <= '2') goto yy661; + if (yych <= '9') goto yy660; + if (yych <= ':') goto yy486; + goto yy136; + } +yy476: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy486; + goto yy136; + } else { + if (yych <= '4') goto yy660; + if (yych <= '9') goto yy662; + if (yych <= ':') goto yy486; + goto yy136; + } +yy477: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy486; + goto yy136; + } else { + if (yych <= '9') goto yy662; + if (yych <= ':') goto yy486; + goto yy136; + } +yy478: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '1') { + if (yych <= '/') goto yy304; + if (yych <= '0') goto yy663; + goto yy664; + } else { + if (yych <= '2') goto yy665; + if (yych <= '5') goto yy666; + if (yych <= '9') goto yy667; + goto yy304; + } +yy479: yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy898; - case '1': - case '2': goto yy899; - case '3': goto yy901; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy902; - default: goto yy186; + if (yych <= '/') { + if (yych == '.') goto yy483; + goto yy56; + } else { + if (yych <= '0') goto yy668; + if (yych <= '9') goto yy670; + if (yych <= ':') goto yy483; + goto yy56; } -yy778: +yy480: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy899; - case '3': goto yy901; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy902; - default: goto yy186; + if (yych <= '/') { + if (yych == '.') goto yy486; + goto yy56; + } else { + if (yych <= '2') goto yy670; + if (yych <= '9') goto yy668; + if (yych <= ':') goto yy486; + goto yy56; } -yy779: +yy481: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy902; - default: goto yy186; + if (yych <= '/') { + if (yych == '.') goto yy486; + goto yy56; + } else { + if (yych <= '4') goto yy668; + if (yych <= '9') goto yy671; + if (yych <= ':') goto yy486; + goto yy56; } -yy780: +yy482: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': goto yy902; - case '7': - case '8': - case '9': goto yy57; - default: goto yy186; + if (yych <= '/') { + if (yych == '.') goto yy486; + goto yy56; + } else { + if (yych <= '9') goto yy671; + if (yych <= ':') goto yy486; + goto yy56; } -yy781: +yy483: yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy242; - default: goto yy56; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy672; + if (yych <= '9') goto yy674; + goto yy56; +yy484: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '1') { + if (yych <= '/') goto yy304; + if (yych <= '0') goto yy675; + goto yy676; + } else { + if (yych <= '2') goto yy677; + if (yych <= '5') goto yy678; + if (yych <= '9') goto yy679; + goto yy304; } -yy782: +yy485: yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy783; - default: goto yy56; + if (yych <= '/') { + if (yych != '.') goto yy56; + } else { + if (yych <= '0') goto yy668; + if (yych <= '9') goto yy670; + if (yych >= ';') goto yy56; } -yy783: +yy486: yych = *++YYCURSOR; - switch (yych) { - case 'I': - case 'i': goto yy916; - default: goto yy56; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy680; + if (yych <= '9') goto yy681; + goto yy56; +yy487: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy483; + goto yy56; + } else { + if (yych <= '9') goto yy489; + if (yych <= ':') goto yy483; + goto yy56; } -yy784: +yy488: yych = *++YYCURSOR; - switch (yych) { - case 'Y': - case 'y': goto yy591; - default: goto yy56; + if (yych <= '/') { + if (yych == '.') goto yy483; + goto yy56; + } else { + if (yych <= '4') goto yy489; + if (yych == ':') goto yy483; + goto yy56; } -yy785: +yy489: yych = *++YYCURSOR; - goto yy240; -yy786: + if (yych == '.') goto yy483; + if (yych == ':') goto yy483; + goto yy56; +yy490: yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy917; - default: goto yy56; + if (yych <= '/') { + if (yych == '.') goto yy483; + goto yy56; + } else { + if (yych <= '9') goto yy671; + if (yych <= ':') goto yy483; + goto yy56; } -yy787: +yy491: yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy401; - default: goto yy56; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy671; + goto yy56; +yy492: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy682; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy630; + goto yy18; + } else { + if (yych <= 'a') goto yy682; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy788: +yy493: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy134; + goto yy274; + } else { + if (yych <= ' ') goto yy134; + if (yych == ')') goto yy107; + goto yy274; + } + } else { + if (yych <= '@') { + if (yych == '/') goto yy274; + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy274; + if (yych <= 'z') goto yy630; + goto yy274; + } + } +yy494: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy682; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'a') goto yy683; + if (yych <= 'z') goto yy635; + goto yy18; + } + } +yy495: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy134; + if (yych <= 0x1F) goto yy274; + goto yy134; + } else { + if (yych <= ')') { + if (yych <= '(') goto yy274; + goto yy107; + } else { + if (yych <= ',') goto yy274; + if (yych <= '-') goto yy684; + goto yy134; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '/') goto yy276; + if (yych <= '9') goto yy134; + if (yych <= '@') goto yy274; + goto yy630; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy274; + goto yy276; + } else { + if (yych <= '`') goto yy274; + if (yych <= 'z') goto yy635; + goto yy274; + } + } + } +yy496: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy18; + goto yy685; + } else { + if (yych == ' ') goto yy687; + goto yy18; + } + } else { + if (yych <= 'Z') { + if (yych <= ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy630; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy630; + goto yy18; + } + } +yy497: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy685; + if (yych <= 0x1F) goto yy18; + goto yy687; + } else { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } + } else { + if (yych <= 'Z') { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy635; + goto yy18; + } + } + } +yy498: yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy918; - default: goto yy56; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'G') goto yy630; + goto yy633; + } + } else { + if (yych <= 'g') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'h') goto yy633; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy789: +yy499: yych = *++YYCURSOR; - switch (yych) { - case 'D': - case 'd': goto yy401; - default: goto yy56; + if (yych <= 'I') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'H') goto yy630; + goto yy688; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'i') goto yy688; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy790: - yyaccept = 5; +yy500: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy613; - case '.': goto yy724; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy872; - case 'A': - case 'P': - case 'a': - case 'p': goto yy100; - default: goto yy208; + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'H') goto yy633; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'h') goto yy636; + if (yych <= 'z') goto yy635; + goto yy18; + } + } + } +yy501: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'H') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'I') goto yy688; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'h') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'i') goto yy689; + if (yych <= 'z') goto yy635; + goto yy18; + } + } + } +yy502: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy18; + goto yy685; + } else { + if (yych == ' ') goto yy685; + goto yy18; + } + } else { + if (yych <= 'Z') { + if (yych <= ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy630; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy630; + goto yy18; + } + } +yy503: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy107; + } else { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy504; + if (yych <= 'z') goto yy630; + } +yy504: +#line 972 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("noon"); + TIMELIB_INIT; + TIMELIB_UNHAVE_TIME(); + TIMELIB_HAVE_TIME(); + s->time->h = 12; + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +#line 11146 "" +yy505: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy685; + if (yych <= 0x1F) goto yy18; + goto yy685; + } else { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } + } else { + if (yych <= 'Z') { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy635; + goto yy18; + } + } + } +yy506: + yyaccept = 14; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy504; + } else { + if (yych == '.') goto yy504; + goto yy276; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy504; + if (yych <= 'Z') goto yy630; + goto yy504; + } else { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy504; + if (yych <= 'z') goto yy635; + goto yy504; + } + } +yy507: + yych = *++YYCURSOR; + if (yych <= 'B') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'A') goto yy630; + goto yy690; + } + } else { + if (yych <= 'a') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'b') goto yy690; + if (yych <= 'z') goto yy630; + goto yy18; + } + } +yy508: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'B') goto yy690; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'b') goto yy691; + if (yych <= 'z') goto yy635; + goto yy18; + } + } + } +yy509: + yych = *++YYCURSOR; + if (yych <= 'I') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'H') goto yy630; + goto yy692; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'i') goto yy692; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy791: - yyaccept = 5; +yy510: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy613; - case '.': goto yy724; - case 'A': - case 'P': - case 'a': - case 'p': goto yy100; - default: goto yy208; + if (yych <= 'H') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'I') goto yy692; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'h') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'i') goto yy693; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy792: - yyaccept = 5; +yy511: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'Q') goto yy630; + goto yy694; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'r') goto yy694; + if (yych <= 'z') goto yy630; + goto yy18; + } + } +yy512: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'M') goto yy630; + goto yy695; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'n') goto yy695; + if (yych <= 'z') goto yy630; + goto yy18; + } + } +yy513: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy919; - default: goto yy208; + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + goto yy274; + } else { + if (yych <= '-') goto yy444; + if (yych <= '.') goto yy134; + goto yy274; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych == 'E') goto yy696; + goto yy630; + } + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy274; + goto yy630; + } else { + if (yych <= 'e') goto yy696; + if (yych <= 'z') goto yy630; + goto yy274; + } + } } -yy793: - yyaccept = 5; +yy514: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'M') goto yy630; + goto yy697; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'n') goto yy697; + if (yych <= 'z') goto yy630; + goto yy18; + } + } +yy515: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy724; - case '0': goto yy919; - default: goto yy208; + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy694; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'r') goto yy698; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy794: - yyaccept = 15; +yy516: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy796; - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy544; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy695; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'n') goto yy699; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy795: - yyaccept = 15; +yy517: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': goto yy796; - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy544; + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= '-') { + if (yych <= ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy450; + } else { + if (yych == '/') goto yy276; + goto yy134; + } + } + } else { + if (yych <= '^') { + if (yych <= 'D') { + if (yych <= '@') goto yy274; + goto yy630; + } else { + if (yych <= 'E') goto yy696; + if (yych <= 'Z') goto yy630; + goto yy274; + } + } else { + if (yych <= 'd') { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy274; + goto yy635; + } else { + if (yych <= 'e') goto yy700; + if (yych <= 'z') goto yy635; + goto yy274; + } + } } -yy796: - yyaccept = 15; +yy518: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy544; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy697; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'n') goto yy701; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy797: +yy519: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy920; - case '3': goto yy921; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy796; - default: goto yy56; - } -yy798: + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy702; + goto yy56; +yy520: yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy922; - default: goto yy56; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'C') goto yy630; + goto yy646; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'd') goto yy646; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy799: +yy521: yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy922; - case 'T': - case 't': goto yy798; - default: goto yy56; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'R') goto yy630; + goto yy694; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 's') goto yy694; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy800: +yy522: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - default: goto yy18; - } -yy801: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy923; - case '.': goto yy478; - case '0': goto yy479; - case '1': goto yy480; - case '2': goto yy481; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - case ':': goto yy483; - default: goto yy304; + if (yych <= 'Y') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'X') goto yy630; + goto yy703; + } + } else { + if (yych <= 'x') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'y') goto yy703; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy802: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy923; - case '.': goto yy484; - case '0': goto yy485; - case '1': goto yy480; - case '2': goto yy481; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - case ':': goto yy486; - default: goto yy304; +yy523: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'Q') goto yy630; + goto yy705; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'r') goto yy705; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy803: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy923; - case '.': goto yy484; - case '0': goto yy479; - case '1': goto yy480; - case '2': goto yy481; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - case ':': goto yy486; - default: goto yy304; +yy524: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'C') goto yy630; + goto yy706; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'd') goto yy706; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy804: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - default: goto yy274; +yy525: + yych = *++YYCURSOR; + if (yych <= 'F') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'E') goto yy630; + goto yy697; + } + } else { + if (yych <= 'e') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'f') goto yy697; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy805: +yy526: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy18; + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy646; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'd') goto yy652; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy806: - yyaccept = 7; +yy527: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy134; - case ')': goto yy107; - case '-': goto yy684; - case '/': - case '_': goto yy276; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy274; + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy694; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 's') goto yy698; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy807: - yych = *++YYCURSOR; - switch (yych) { - case 'F': - case 'f': goto yy926; - default: goto yy56; +yy528: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'Y') goto yy703; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'x') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'y') goto yy707; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy808: +yy529: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case 'E': - case 'e': goto yy927; - default: goto yy18; + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy705; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'r') goto yy708; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy809: +yy530: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'E': goto yy927; - case 'a': - case 'b': - case 'c': - case 'd': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - case 'e': goto yy928; - default: goto yy18; + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy706; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'd') goto yy709; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy810: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy811: - switch (yych) { - case '\t': - case ' ': goto yy810; - case 'D': - case 'd': goto yy837; - case 'F': - case 'f': goto yy838; - case 'H': - case 'h': goto yy839; - case 'M': - case 'm': goto yy840; - case 'S': - case 's': goto yy841; - case 'T': - case 't': goto yy842; - case 'W': - case 'w': goto yy929; - case 'Y': - case 'y': goto yy844; - default: goto yy56; +yy531: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'E') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'F') goto yy697; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'e') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'f') goto yy701; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy812: +yy532: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy810; - case ')': goto yy107; - default: goto yy18; + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy134; + goto yy18; + } else { + if (yych <= ' ') goto yy134; + if (yych == ')') goto yy107; + goto yy18; + } + } else { + if (yych <= '@') { + if (yych == '/') goto yy18; + if (yych <= '9') goto yy134; + goto yy18; + } else { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy813: +yy533: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy630; + goto yy710; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'e') goto yy710; + if (yych <= 'z') goto yy630; + goto yy18; + } + } +yy534: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'C') goto yy630; + goto yy711; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'd') goto yy711; + if (yych <= 'z') goto yy630; + goto yy18; + } + } +yy535: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case 'T': - case 't': goto yy930; - default: goto yy18; + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy710; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'e') goto yy712; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy814: +yy536: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy810; - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy18; + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy711; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'd') goto yy713; + if (yych <= 'z') goto yy635; + goto yy18; + } + } + } +yy537: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy630; + goto yy714; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy630; + if (yych <= '`') goto yy18; + goto yy630; + } else { + if (yych <= 'e') goto yy714; + if (yych <= 'z') goto yy630; + goto yy18; + } } -yy815: +yy538: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'T': goto yy930; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - case 't': goto yy931; - default: goto yy18; + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy630; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy714; + if (yych <= 'Z') goto yy630; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy18; + goto yy635; + } else { + if (yych <= 'e') goto yy715; + if (yych <= 'z') goto yy635; + goto yy18; + } + } } -yy816: +yy539: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case 'R': - case 'r': goto yy932; - default: goto yy18; + if (yybm[0+yych] & 4) { + goto yy57; + } + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy18; + goto yy186; + } else { + if (yych == '-') goto yy716; + if (yych <= 'C') goto yy18; + goto yy186; + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy186; + if (yych <= 'G') goto yy18; + goto yy186; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy18; + goto yy186; + } else { + if (yych <= 'R') goto yy18; + if (yych <= 'T') goto yy186; + goto yy18; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy18; + if (yych <= 'Y') goto yy186; + goto yy18; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy186; + goto yy18; + } else { + if (yych == 'g') goto yy18; + goto yy186; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy186; + if (yych <= 'r') goto yy18; + goto yy186; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy18; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy18; + } + } + } } -yy817: +yy540: yych = *++YYCURSOR; - switch (yych) { - case 'D': - case 'd': goto yy845; - default: goto yy811; + if (yybm[0+yych] & 4) { + goto yy57; } -yy818: + if (yych == '-') goto yy716; + goto yy186; +yy541: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - default: goto yy294; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy717; + goto yy56; +yy542: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy718; + goto yy56; +yy543: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy544; + if (yych <= '9') goto yy720; + if (yych >= 'n') goto yy721; + } else { + if (yych <= 'r') { + if (yych >= 'r') goto yy721; + } else { + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + } } -yy819: - yyaccept = 2; +yy544: +#line 1279 "ext/date/lib/parse_date.re" + { + 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; + } +#line 12152 "" +yy545: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'R': goto yy932; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - case 'r': goto yy933; - default: goto yy18; + if (yych <= 'n') { + if (yych <= '1') { + if (yych <= '/') goto yy544; + goto yy720; + } else { + if (yych <= '9') goto yy717; + if (yych <= 'm') goto yy544; + goto yy721; + } + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy544; + goto yy721; + } else { + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + goto yy544; + } } -yy820: - yyaccept = 9; +yy546: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy294; + if (yych <= 'n') { + if (yych <= '/') goto yy544; + if (yych <= '9') goto yy717; + if (yych <= 'm') goto yy544; + goto yy721; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy544; + goto yy721; + } else { + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + goto yy544; + } } -yy821: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy934; - default: goto yy136; +yy547: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy724; + if (yych <= '/') goto yy208; + if (yych <= '9') goto yy725; + goto yy208; +yy548: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy724; + goto yy208; + } else { + if (yych <= '0') goto yy725; + if (yych <= '9') goto yy718; + goto yy208; } -yy822: +yy549: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy724; + if (yych <= '/') goto yy208; + if (yych <= '9') goto yy718; + goto yy208; +yy550: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy724; + if (yych <= '/') goto yy208; + if (yych <= '9') goto yy552; + goto yy208; +yy551: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy724; + if (yych != '0') goto yy208; +yy552: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy724; + goto yy208; +yy553: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy935; - case '6': goto yy936; - case '7': - case '8': - case '9': goto yy674; - default: goto yy56; - } -yy823: - yyaccept = 4; + if (yych <= '/') goto yy213; + if (yych <= '9') goto yy726; + goto yy213; +yy554: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); + if (yych == '/') goto yy378; + goto yy213; +yy555: + yych = *++YYCURSOR; + if (yych == '/') goto yy727; + goto yy56; +yy556: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == '/') goto yy727; + goto yy56; + } else { + if (yych <= 'T') goto yy555; + if (yych == 't') goto yy555; + goto yy56; + } +yy557: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy728; + if (yych <= '.') goto yy372; + goto yy56; +yy558: + yych = *++YYCURSOR; + if (yych == '-') goto yy618; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy434; + goto yy56; +yy559: + yych = *++YYCURSOR; + if (yych == '-') goto yy618; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy434; + goto yy56; +yy560: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy561: switch (yych) { - case '.': - case ':': goto yy822; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy821; - default: goto yy136; + case '\t': + case ' ': goto yy560; + case '-': + case '.': goto yy729; + case 'A': + case 'a': goto yy572; + case 'D': + case 'd': goto yy573; + case 'F': + case 'f': goto yy574; + case 'H': + case 'h': goto yy76; + case 'I': goto yy575; + case 'J': + case 'j': goto yy577; + case 'M': + case 'm': goto yy578; + case 'N': + case 'n': goto yy579; + case 'O': + case 'o': goto yy580; + case 'S': + case 's': goto yy581; + case 'T': + case 't': goto yy84; + case 'V': goto yy582; + case 'W': + case 'w': goto yy86; + case 'X': goto yy584; + case 'Y': + case 'y': goto yy88; + default: goto yy56; } -yy824: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); +yy562: + yych = *++YYCURSOR; switch (yych) { - case '.': - case ':': goto yy825; - case '0': - case '1': + case '0': goto yy731; + case '1': goto yy733; case '2': case '3': case '4': @@ -27200,2542 +12324,4661 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy821; - default: goto yy136; + case '9': goto yy734; + case 'A': + case 'a': goto yy735; + case 'D': + case 'd': goto yy736; + case 'F': + case 'f': goto yy737; + case 'J': + case 'j': goto yy738; + case 'M': + case 'm': goto yy739; + case 'N': + case 'n': goto yy740; + case 'O': + case 'o': goto yy741; + case 'S': + case 's': goto yy742; + case 'W': goto yy743; + default: goto yy730; } -yy825: +yy563: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy937; - case '6': goto yy938; - case '7': - case '8': - case '9': goto yy681; - default: goto yy56; + if (yych <= '/') goto yy730; + if (yych <= '0') goto yy744; + if (yych <= '2') goto yy745; + if (yych <= '3') goto yy746; + goto yy730; +yy564: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy751; + if (yych <= '1') goto yy752; + if (yych <= '9') goto yy753; + goto yy56; +yy565: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '0') goto yy754; + if (yych <= '9') goto yy756; + goto yy186; +yy566: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '2') goto yy756; + if (yych <= '9') goto yy757; + goto yy186; +yy567: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '9') goto yy757; + goto yy186; +yy568: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '5') goto yy757; + if (yych <= '6') goto yy758; + if (yych <= '9') goto yy759; + goto yy186; +yy569: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '9') goto yy759; + goto yy186; +yy570: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '0') goto yy759; + if (yych <= '9') goto yy57; + goto yy186; +yy571: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy760; + if (yych <= '1') goto yy761; + goto yy56; +yy572: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy762; + if (yych <= 'T') goto yy56; + goto yy763; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy762; + } else { + if (yych == 'u') goto yy763; + goto yy56; + } } -yy826: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy827; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy821; - default: goto yy136; +yy573: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych == 'A') goto yy231; + if (yych <= 'D') goto yy56; + goto yy764; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy231; + } else { + if (yych == 'e') goto yy764; + goto yy56; + } } -yy827: +yy574: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy939; - case '6': goto yy940; - case '7': - case '8': - case '9': goto yy941; - default: goto yy56; + if (yych <= 'R') { + if (yych <= 'N') { + if (yych == 'E') goto yy765; + goto yy56; + } else { + if (yych <= 'O') goto yy234; + if (yych <= 'Q') goto yy56; + goto yy235; + } + } else { + if (yych <= 'n') { + if (yych == 'e') goto yy765; + goto yy56; + } else { + if (yych <= 'o') goto yy234; + if (yych == 'r') goto yy235; + goto yy56; + } } -yy828: +yy575: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= 'U') { + if (yych == 'I') goto yy766; + } else { + if (yych == 'W') goto yy576; + if (yych <= 'X') goto yy767; + } +yy576: +#line 1348 "ext/date/lib/parse_date.re" + { + 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; + } +#line 12476 "" +yy577: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy942; - case '6': goto yy943; - case '7': - case '8': - case '9': goto yy674; - default: goto yy56; + if (yych <= 'U') { + if (yych == 'A') goto yy768; + if (yych <= 'T') goto yy56; + goto yy769; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy768; + } else { + if (yych == 'u') goto yy769; + goto yy56; + } } -yy829: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy944; - case '.': - case ':': goto yy828; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy821; - case 'A': - case 'P': - case 'a': - case 'p': goto yy946; - default: goto yy136; +yy578: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'H') { + if (yych == 'A') goto yy770; + goto yy56; + } else { + if (yych <= 'I') goto yy246; + if (yych <= 'N') goto yy56; + goto yy247; + } + } else { + if (yych <= 'h') { + if (yych == 'a') goto yy770; + goto yy56; + } else { + if (yych <= 'i') goto yy246; + if (yych == 'o') goto yy247; + goto yy56; + } } -yy830: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy944; - case '.': - case ':': goto yy831; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy821; - case 'A': - case 'P': - case 'a': - case 'p': goto yy946; - default: goto yy136; +yy579: + yych = *++YYCURSOR; + if (yych == 'O') goto yy771; + if (yych == 'o') goto yy771; + goto yy56; +yy580: + yych = *++YYCURSOR; + if (yych == 'C') goto yy772; + if (yych == 'c') goto yy772; + goto yy56; +yy581: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych == 'A') goto yy250; + goto yy56; + } else { + if (yych <= 'E') goto yy773; + if (yych <= 'T') goto yy56; + goto yy252; + } + } else { + if (yych <= 'd') { + if (yych == 'a') goto yy250; + goto yy56; + } else { + if (yych <= 'e') goto yy773; + if (yych == 'u') goto yy252; + goto yy56; + } } -yy831: +yy582: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy937; - case '6': goto yy947; - case '7': - case '8': - case '9': goto yy681; - default: goto yy56; + if (yych == 'I') goto yy584; + goto yy576; +yy583: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy774; + if (yych <= '4') goto yy775; + goto yy776; + } else { + if (yych <= 'E') { + if (yych <= 'D') goto yy56; + goto yy255; + } else { + if (yych == 'e') goto yy255; + goto yy56; + } } -yy832: - yyaccept = 4; +yy584: + yych = *++YYCURSOR; + if (yych == 'I') goto yy766; + goto yy576; +yy585: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '0') goto yy777; + if (yych <= '9') goto yy778; + goto yy186; +yy586: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '2') goto yy778; + if (yych <= '9') goto yy779; + goto yy186; +yy587: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '9') goto yy779; + goto yy186; +yy588: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '5') goto yy779; + if (yych <= '6') goto yy780; + if (yych <= '9') goto yy57; + goto yy186; +yy589: + yych = *++YYCURSOR; + if (yych == 'L') goto yy242; + if (yych == 'l') goto yy242; + goto yy56; +yy590: + yych = *++YYCURSOR; + if (yych == 'S') goto yy781; + if (yych == 's') goto yy781; + goto yy56; +yy591: + yych = *++YYCURSOR; + goto yy402; +yy592: + yych = *++YYCURSOR; + if (yych == 'M') goto yy601; + if (yych == 'm') goto yy601; + goto yy56; +yy593: + yych = *++YYCURSOR; + if (yych == 'U') goto yy597; + if (yych == 'u') goto yy597; + goto yy56; +yy594: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'H') goto yy782; + if (yych <= 'M') goto yy56; + goto yy783; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy782; + } else { + if (yych == 'n') goto yy783; + goto yy56; + } + } +yy595: + yych = *++YYCURSOR; + if (yych == 'A') goto yy784; + if (yych == 'a') goto yy784; + goto yy56; +yy596: + yych = *++YYCURSOR; + if (yych <= '/') goto yy240; + if (yych <= '9') goto yy785; + goto yy240; +yy597: + yych = *++YYCURSOR; + if (yych == 'A') goto yy786; + if (yych == 'a') goto yy786; + goto yy56; +yy598: + yych = *++YYCURSOR; + if (yych == 'H') goto yy242; + if (yych == 'h') goto yy242; + goto yy56; +yy599: + yych = *++YYCURSOR; + if (yych == 'T') goto yy787; + if (yych == 't') goto yy787; + goto yy56; +yy600: + yych = *++YYCURSOR; + if (yych == 'H') goto yy401; + if (yych == 'h') goto yy401; + goto yy56; +yy601: + yych = *++YYCURSOR; + if (yych == 'B') goto yy788; + if (yych == 'b') goto yy788; + goto yy56; +yy602: + yych = *++YYCURSOR; + if (yych == 'R') goto yy605; + if (yych == 'r') goto yy605; + goto yy56; +yy603: + yych = *++YYCURSOR; + if (yych == 'N') goto yy789; + if (yych == 'n') goto yy789; + goto yy56; +yy604: + yych = *++YYCURSOR; + if (yych == 'S') goto yy605; + if (yych != 's') goto yy56; +yy605: + yych = *++YYCURSOR; + if (yych == 'D') goto yy595; + if (yych == 'd') goto yy595; + goto yy56; +yy606: + yych = *++YYCURSOR; + if (yych == 'E') goto yy604; + if (yych == 'e') goto yy604; + goto yy56; +yy607: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy944; - case '.': - case ':': goto yy833; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy821; - case 'A': - case 'P': - case 'a': - case 'p': goto yy946; - default: goto yy136; + if (yych <= 'S') { + if (yych == 'D') goto yy187; + if (yych <= 'R') goto yy402; + goto yy591; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy402; + goto yy187; + } else { + if (yych == 's') goto yy591; + goto yy402; + } } -yy833: +yy608: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy948; - case '6': goto yy949; - case '7': - case '8': - case '9': goto yy941; - default: goto yy56; - } -yy834: - yyaccept = 17; + if (yych <= ',') goto yy56; + if (yych <= '.') goto yy372; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy610; + goto yy56; +yy609: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '.') goto yy372; + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; +yy610: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '.') goto yy372; + goto yy56; +yy611: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy944; - case '.': - case ':': goto yy833; - case 'A': - case 'P': - case 'a': - case 'p': goto yy946; - default: goto yy673; + if (yych == '.') goto yy724; + if (yych <= '/') goto yy208; + if (yych <= '9') goto yy790; + goto yy208; +yy612: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy724; + goto yy208; + } else { + if (yych <= '0') goto yy790; + if (yych <= '9') goto yy718; + goto yy208; } -yy835: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'Y': - case 'y': goto yy950; - default: goto yy18; +yy613: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy613; + goto yy56; + } else { + if (yych <= ' ') goto yy613; + if (yych <= '@') goto yy56; + goto yy100; + } + } else { + if (yych <= '`') { + if (yych == 'P') goto yy100; + goto yy56; + } else { + if (yych <= 'a') goto yy100; + if (yych == 'p') goto yy100; + goto yy56; + } } -yy836: - yyaccept = 2; +yy615: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'Y': goto yy950; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'z': goto yy924; - case 'y': goto yy951; - default: goto yy18; - } -yy837: + if (yych == '.') goto yy724; + if (yych <= '/') goto yy208; + if (yych <= '9') goto yy791; + goto yy208; +yy616: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy724; + if (yych == '0') goto yy791; + goto yy208; +yy617: yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy952; - default: goto yy56; - } -yy838: + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy792; + if (yych <= '6') goto yy793; + if (yych <= '9') goto yy552; + goto yy56; +yy618: yych = *++YYCURSOR; - switch (yych) { - case 'O': - case 'o': goto yy953; - case 'R': - case 'r': goto yy954; - default: goto yy56; - } -yy839: + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy794; + if (yych <= '3') goto yy795; + if (yych <= '9') goto yy796; + goto yy56; +yy619: yych = *++YYCURSOR; - switch (yych) { - case 'O': - case 'o': goto yy955; - default: goto yy56; - } -yy840: + if (yych == '-') goto yy797; + goto yy56; +yy620: yych = *++YYCURSOR; - switch (yych) { - case 'I': - case 'i': goto yy956; - case 'O': - case 'o': goto yy957; - default: goto yy56; - } -yy841: + if (yych == 'R') goto yy798; + if (yych == 'r') goto yy798; + goto yy56; +yy621: yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy958; - case 'E': - case 'e': goto yy959; - case 'U': - case 'u': goto yy960; - default: goto yy56; - } -yy842: + if (yych == 'G') goto yy798; + if (yych == 'g') goto yy798; + goto yy56; +yy622: yych = *++YYCURSOR; - switch (yych) { - case 'H': - case 'h': goto yy961; - case 'U': - case 'u': goto yy962; - default: goto yy56; - } -yy843: + if (yych == 'C') goto yy798; + if (yych == 'c') goto yy798; + goto yy56; +yy623: yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy963; - default: goto yy56; + if (yych == 'B') goto yy798; + if (yych == 'b') goto yy798; + goto yy56; +yy624: + yych = *++YYCURSOR; + if (yych == 'N') goto yy798; + if (yych == 'n') goto yy798; + goto yy56; +yy625: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy798; + if (yych <= 'M') goto yy56; + goto yy798; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy798; + } else { + if (yych == 'n') goto yy798; + goto yy56; + } } -yy844: +yy626: yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy964; - default: goto yy56; + if (yych <= 'Y') { + if (yych == 'R') goto yy798; + if (yych <= 'X') goto yy56; + goto yy798; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + goto yy798; + } else { + if (yych == 'y') goto yy798; + goto yy56; + } } -yy845: +yy627: yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy965; - default: goto yy56; + if (yych == 'V') goto yy798; + if (yych == 'v') goto yy798; + goto yy56; +yy628: + yych = *++YYCURSOR; + if (yych == 'T') goto yy798; + if (yych == 't') goto yy798; + goto yy56; +yy629: + yych = *++YYCURSOR; + if (yych == 'P') goto yy799; + if (yych == 'p') goto yy799; + goto yy56; +yy630: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy800; + goto yy18; } -yy846: - yyaccept = 2; +yy631: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case 'H': - case 'h': goto yy966; - default: goto yy18; - } -yy847: - yyaccept = 2; + if (yych <= '/') goto yy304; + if (yych <= '0') goto yy801; + if (yych <= '1') goto yy802; + if (yych <= '9') goto yy803; + goto yy304; +yy632: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'H': goto yy966; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - case 'h': goto yy967; - default: goto yy18; - } -yy848: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'R': - case 'r': goto yy950; - default: goto yy18; + if (yych <= '1') { + if (yych <= '/') goto yy304; + if (yych <= '0') goto yy801; + goto yy802; + } else { + if (yych <= '2') goto yy309; + if (yych <= '9') goto yy310; + goto yy304; } -yy849: - yyaccept = 2; +yy633: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'R': goto yy950; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - case 'r': goto yy951; - default: goto yy18; + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy134; + goto yy274; + } else { + if (yych <= ' ') goto yy134; + if (yych == ')') goto yy107; + goto yy274; + } + } else { + if (yych <= '@') { + if (yych == '/') goto yy274; + if (yych <= '9') goto yy134; + goto yy274; + } else { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy274; + if (yych <= 'z') goto yy800; + goto yy274; + } } -yy850: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case 'U': - case 'u': goto yy968; - default: goto yy18; +yy634: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'S') goto yy800; + goto yy804; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 't') goto yy804; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy851: +yy635: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'U': goto yy968; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - case 'u': goto yy969; - default: goto yy18; + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + goto yy276; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy18; + if (yych <= 'Z') goto yy800; + goto yy18; + } else { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy805; + goto yy18; + } } -yy852: - yyaccept = 2; +yy636: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case 'A': - case 'a': goto yy970; - default: goto yy18; + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy134; + if (yych <= 0x1F) goto yy274; + goto yy134; + } else { + if (yych <= ')') { + if (yych <= '(') goto yy274; + goto yy107; + } else { + if (yych <= ',') goto yy274; + if (yych <= '-') goto yy684; + goto yy134; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '/') goto yy276; + if (yych <= '9') goto yy134; + if (yych <= '@') goto yy274; + goto yy800; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy274; + goto yy276; + } else { + if (yych <= '`') goto yy274; + if (yych <= 'z') goto yy805; + goto yy274; + } + } } -yy853: +yy637: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case 'B': - case 'b': goto yy971; - default: goto yy18; + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy804; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 't') goto yy806; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy854: +yy638: + yych = *++YYCURSOR; + if (yych == 'O') goto yy807; + if (yych == 'o') goto yy807; + goto yy56; +yy639: + yych = *++YYCURSOR; + if (yych <= 'B') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'A') goto yy800; + goto yy808; + } + } else { + if (yych <= 'a') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'b') goto yy808; + if (yych <= 'z') goto yy800; + goto yy18; + } + } +yy640: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case 'H': - case 'h': goto yy972; - default: goto yy18; + if (yych <= 'A') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'B') goto yy808; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'b') goto yy809; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy855: +yy641: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'A': goto yy970; - case 'a': goto yy973; - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy18; + if (yych <= '@') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy810; + goto yy18; + } else { + if (yych <= ' ') goto yy810; + if (yych == ')') goto yy107; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych == 'H') goto yy812; + if (yych <= 'Z') goto yy800; + goto yy18; + } else { + if (yych == 'h') goto yy812; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy856: +yy642: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'M') goto yy800; + goto yy813; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'n') goto yy813; + if (yych <= 'z') goto yy800; + goto yy18; + } + } +yy643: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'B': goto yy971; - case 'a': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - case 'b': goto yy974; - default: goto yy18; + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy18; + goto yy810; + } else { + if (yych == ' ') goto yy810; + goto yy18; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + goto yy276; + } + } + } else { + if (yych <= '^') { + if (yych <= 'G') { + if (yych <= '@') goto yy18; + goto yy800; + } else { + if (yych <= 'H') goto yy812; + if (yych <= 'Z') goto yy800; + goto yy18; + } + } else { + if (yych <= 'g') { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'h') goto yy814; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy857: +yy644: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'H': goto yy972; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - case 'h': goto yy975; - default: goto yy18; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy813; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'n') goto yy815; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy858: +yy645: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy976; - default: goto yy56; + if (yych <= 'A') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy816; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy800; + goto yy18; + } else { + if (yych <= 'a') goto yy816; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy859: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy976; - default: goto yy56; +yy646: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy18; + goto yy810; + } else { + if (yych == ' ') goto yy810; + goto yy18; + } + } else { + if (yych <= 'Z') { + if (yych <= ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy800; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy860: +yy647: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case 'O': - case 'o': goto yy977; - default: goto yy18; + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy18; + goto yy810; + } else { + if (yych == ' ') goto yy817; + goto yy18; + } + } else { + if (yych <= 'Z') { + if (yych <= ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy800; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy800; + goto yy18; + } + } +yy648: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'G') goto yy800; + goto yy812; + } + } else { + if (yych <= 'g') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'h') goto yy812; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy861: +yy649: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'Y': - case 'y': goto yy978; - default: goto yy18; + if (yych <= 'Y') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'X') goto yy800; + goto yy818; + } + } else { + if (yych <= 'x') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'y') goto yy818; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy862: +yy650: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'O': goto yy977; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - case 'o': goto yy979; - default: goto yy18; + if (yych <= ')') { + if (yych == ' ') goto yy638; + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy18; + goto yy800; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy863: +yy651: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'Y': goto yy978; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'z': goto yy924; - case 'y': goto yy980; - default: goto yy18; + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy816; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'a') goto yy819; + if (yych <= 'z') goto yy805; + goto yy18; + } } -yy864: +yy652: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case 'D': - case 'd': goto yy981; - default: goto yy18; - } -yy865: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy107; - case 'Y': - case 'y': goto yy982; - default: goto yy18; + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy810; + if (yych <= 0x1F) goto yy18; + goto yy810; + } else { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } + } else { + if (yych <= 'Z') { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy866: +yy653: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'D': goto yy981; - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - case 'd': goto yy983; - default: goto yy18; + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy810; + if (yych <= 0x1F) goto yy18; + goto yy817; + } else { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } + } else { + if (yych <= 'Z') { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy867: +yy654: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'Y': goto yy982; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'z': goto yy924; - case 'y': goto yy984; - default: goto yy18; + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'H') goto yy812; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'h') goto yy814; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy868: +yy655: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case 'D': - case 'd': goto yy985; - default: goto yy18; + if (yych <= 'X') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'Y') goto yy818; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'x') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'y') goto yy820; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy869: +yy656: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '-': - case '/': - case '_': goto yy276; - case 'D': goto yy985; - case 'a': - case 'b': - case 'c': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - case 'd': goto yy986; - default: goto yy18; + if (yych <= '.') { + if (yych <= '(') { + if (yych == ' ') goto yy638; + goto yy18; + } else { + if (yych <= ')') goto yy107; + if (yych == '-') goto yy276; + goto yy18; + } + } else { + if (yych <= '^') { + if (yych <= '/') goto yy276; + if (yych <= '@') goto yy18; + if (yych <= 'Z') goto yy800; + goto yy18; + } else { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy18; + if (yych <= 'z') goto yy805; + goto yy18; + } } -yy870: +yy657: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy987; - default: goto yy56; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy659; + if (yych <= ':') goto yy192; + goto yy18; +yy658: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy18; + if (yych >= '5') goto yy370; + } else { + if (yych <= '9') goto yy107; + if (yych <= ':') goto yy192; + goto yy18; + } +yy659: + yych = *++YYCURSOR; + if (yych <= '/') goto yy18; + if (yych <= '5') goto yy370; + if (yych <= '9') goto yy107; + if (yych <= ':') goto yy192; + goto yy18; +yy660: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy483; + goto yy136; + } else { + if (yych <= '9') goto yy821; + if (yych <= ':') goto yy483; + goto yy136; + } +yy661: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy486; + goto yy136; + } else { + if (yych <= '9') goto yy821; + if (yych <= ':') goto yy486; + goto yy136; + } +yy662: + yych = *++YYCURSOR; + if (yych <= '/') goto yy136; + if (yych <= '9') goto yy821; + goto yy136; +yy663: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy822; + goto yy136; + } else { + if (yych <= '0') goto yy823; + if (yych <= '9') goto yy824; + if (yych <= ':') goto yy822; + goto yy136; + } +yy664: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy825; + goto yy136; + } else { + if (yych <= '2') goto yy824; + if (yych <= '9') goto yy823; + if (yych <= ':') goto yy825; + goto yy136; } -yy871: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy987; - default: goto yy56; +yy665: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy825; + goto yy136; + } else { + if (yych <= '4') goto yy823; + if (yych <= '9') goto yy826; + if (yych <= ':') goto yy825; + goto yy136; } -yy872: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy988; - default: goto yy56; +yy666: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy825; + goto yy136; + } else { + if (yych <= '9') goto yy826; + if (yych <= ':') goto yy825; + goto yy136; } -yy873: - yych = *++YYCURSOR; - goto yy544; -yy874: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy874; - default: goto yy208; +yy667: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy825; + goto yy136; + } else { + if (yych <= '9') goto yy662; + if (yych <= ':') goto yy825; + goto yy136; } -yy876: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy990; - default: goto yy213; +yy668: + yyaccept = 16; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy483; + if (yych == ':') goto yy483; +yy669: +#line 1334 "ext/date/lib/parse_date.re" + { + 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; } -yy877: +#line 13621 "" +yy670: + yyaccept = 16; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy486; + if (yych == ':') goto yy486; + goto yy669; +yy671: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy991; - default: goto yy56; + goto yy669; +yy672: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy827; + } else { + if (yych <= '9') goto yy674; + if (yych <= ':') goto yy827; } -yy878: - yyaccept = 15; +yy673: +#line 1664 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->m = timelib_get_month((char **) &ptr); + s->time->d = timelib_get_nr((char **) &ptr, 2); + + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':') { + s->time->s = timelib_get_nr((char **) &ptr, 2); + + if (*ptr == '.') { + s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + } + } + + if (*ptr != '\0') { + s->time->z = timelib_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; + } +#line 13670 "" +yy674: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy992; - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy544; + if (yych == '.') goto yy827; + if (yych == ':') goto yy827; + goto yy673; +yy675: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy828; + goto yy136; + } else { + if (yych <= '0') goto yy829; + if (yych <= '9') goto yy830; + if (yych <= ':') goto yy828; + goto yy136; } -yy879: - yyaccept = 15; +yy676: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': goto yy992; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy717; - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy544; + if (yych <= '/') { + if (yych == '.') goto yy831; + goto yy136; + } else { + if (yych <= '2') goto yy830; + if (yych <= '9') goto yy829; + if (yych <= ':') goto yy831; + goto yy136; } -yy880: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy994; - case '3': goto yy995; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy996; - default: goto yy56; +yy677: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy831; + goto yy136; + } else { + if (yych <= '4') goto yy829; + if (yych <= '9') goto yy832; + if (yych <= ':') goto yy831; + goto yy136; } -yy881: - yyaccept = 20; +yy678: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy997; - default: goto yy732; + if (yych <= '/') { + if (yych == '.') goto yy831; + goto yy136; + } else { + if (yych <= '9') goto yy832; + if (yych <= ':') goto yy831; + goto yy136; } -yy882: - yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy998; - default: goto yy56; +yy679: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy831; + goto yy136; + } else { + if (yych <= '9') goto yy662; + if (yych <= ':') goto yy831; + goto yy136; } -yy883: - yych = *++YYCURSOR; - switch (yych) { - case 'G': - case 'g': goto yy999; - default: goto yy56; +yy680: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy833; + goto yy673; + } else { + if (yych <= '9') goto yy834; + if (yych <= ':') goto yy833; + goto yy673; } -yy884: +yy681: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy833; + if (yych == ':') goto yy833; + goto yy673; +yy682: yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy1000; - default: goto yy56; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'Q') goto yy800; + goto yy835; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'r') goto yy835; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy885: - yych = *++YYCURSOR; - switch (yych) { - case 'B': - case 'b': goto yy1001; - default: goto yy56; +yy683: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy835; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'r') goto yy836; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy886: +yy684: yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy1002; - default: goto yy56; + if (yybm[0+yych] & 64) { + goto yy447; } -yy887: - yych = *++YYCURSOR; - switch (yych) { - case 'L': - case 'l': goto yy1003; - case 'N': - case 'n': goto yy1004; - default: goto yy56; + goto yy134; +yy685: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy686: + if (yych <= 'W') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy685; + if (yych <= 0x1F) goto yy56; + goto yy685; + } else { + if (yych == 'D') goto yy837; + if (yych <= 'E') goto yy56; + goto yy838; + } + } else { + if (yych <= 'M') { + if (yych == 'H') goto yy839; + if (yych <= 'L') goto yy56; + goto yy840; + } else { + if (yych <= 'S') { + if (yych <= 'R') goto yy56; + goto yy841; + } else { + if (yych <= 'T') goto yy842; + if (yych <= 'V') goto yy56; + goto yy843; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy844; + if (yych <= 'c') goto yy56; + goto yy837; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy56; + goto yy838; + } else { + if (yych == 'h') goto yy839; + goto yy56; + } + } + } else { + if (yych <= 't') { + if (yych <= 'm') goto yy840; + if (yych <= 'r') goto yy56; + if (yych <= 's') goto yy841; + goto yy842; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy56; + goto yy843; + } else { + if (yych == 'y') goto yy844; + goto yy56; + } + } + } } -yy888: +yy687: yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy1005; - case 'Y': - case 'y': goto yy1006; - default: goto yy56; - } -yy889: + if (yych == 'D') goto yy845; + if (yych == 'd') goto yy845; + goto yy686; +yy688: yych = *++YYCURSOR; - switch (yych) { - case 'V': - case 'v': goto yy1000; - default: goto yy56; + if (yych <= 'G') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'F') goto yy800; + goto yy846; + } + } else { + if (yych <= 'f') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'g') goto yy846; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy890: - yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy1007; - default: goto yy56; +yy689: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'F') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'G') goto yy846; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'f') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'g') goto yy847; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy891: +yy690: yych = *++YYCURSOR; - switch (yych) { - case 'P': - case 'p': goto yy1008; - default: goto yy56; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'D') goto yy800; + goto yy848; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'e') goto yy848; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy892: - yych = *++YYCURSOR; - switch (yych) { - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1009; - default: goto yy56; +yy691: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy848; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'e') goto yy849; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy893: +yy692: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1009; - default: goto yy56; + if (yych <= 'O') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'N') goto yy800; + goto yy850; + } + } else { + if (yych <= 'n') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'o') goto yy850; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy894: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': goto yy1009; - default: goto yy56; +yy693: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'O') goto yy850; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'n') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'o') goto yy851; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy895: +yy694: yych = *++YYCURSOR; - switch (yych) { - case 'P': - case 'p': goto yy913; - default: goto yy56; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'C') goto yy800; + goto yy852; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'd') goto yy852; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy896: +yy695: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy1010; - case '3': goto yy1012; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1013; - default: goto yy56; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'C') goto yy800; + goto yy812; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'd') goto yy812; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy897: +yy696: yych = *++YYCURSOR; - switch (yych) { - case '/': goto yy1014; - default: goto yy56; + if (yych <= 'M') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'L') goto yy800; + goto yy853; + } + } else { + if (yych <= 'l') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'm') goto yy853; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy898: +yy697: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1015; - default: goto yy186; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'S') goto yy800; + goto yy854; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 't') goto yy854; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy899: - yyaccept = 22; +yy698: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1015; - default: goto yy900; + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy852; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'd') goto yy855; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy900: -#line 1426 "ext/date/lib/parse_date.re" - { - 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; +yy699: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy812; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'd') goto yy814; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -#line 28384 "" -yy901: - yyaccept = 22; +yy700: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': goto yy1015; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy57; - default: goto yy900; + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'M') goto yy853; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'l') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'm') goto yy856; + if (yych <= 'z') goto yy805; + goto yy18; + } + } + } +yy701: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'T') goto yy854; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 't') goto yy857; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy902: - yyaccept = 22; +yy702: + yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case 'D': - case 'F': - case 'H': - case 'M': - case 'S': - case 'T': - case 'W': - case 'Y': - case 'd': - case 'f': - case 'h': - case 'm': - case 's': - case 't': - case 'w': - case 'y': goto yy186; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy57; - default: goto yy900; + if (yych <= '/') goto yy396; + if (yych <= '5') goto yy858; + if (yych <= '6') goto yy859; + goto yy396; +yy703: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy107; + } else { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy704; + if (yych <= 'z') goto yy800; } -yy903: +yy704: +#line 984 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("midnight | today"); + TIMELIB_INIT; + TIMELIB_UNHAVE_TIME(); + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +#line 14269 "" +yy705: yych = *++YYCURSOR; - switch (yych) { - case ':': goto yy1017; - default: goto yy56; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'Q') goto yy800; + goto yy860; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'r') goto yy860; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy904: - yyaccept = 23; +yy706: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy861; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy800; + goto yy18; + } else { + if (yych <= 'a') goto yy861; + if (yych <= 'z') goto yy800; + goto yy18; + } + } +yy707: + yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'I': - case 'i': goto yy1018; - default: goto yy576; + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy704; + } else { + if (yych == '.') goto yy704; + goto yy276; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy704; + if (yych <= 'Z') goto yy800; + goto yy704; + } else { + if (yych <= '_') goto yy276; + if (yych <= '`') goto yy704; + if (yych <= 'z') goto yy805; + goto yy704; + } } -yy905: - yyaccept = 23; +yy708: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'U': - case 'u': goto yy1019; - default: goto yy576; + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy860; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'r') goto yy862; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy906: - yyaccept = 23; +yy709: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'E': - case 'e': goto yy1020; - default: goto yy576; + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy861; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'a') goto yy863; + if (yych <= 'z') goto yy805; + goto yy18; + } } -yy907: - yyaccept = 23; +yy710: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'R') goto yy800; + goto yy864; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 's') goto yy864; + if (yych <= 'z') goto yy800; + goto yy18; + } + } +yy711: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy107; + if (yych <= '@') goto yy18; + goto yy865; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy800; + goto yy18; + } else { + if (yych <= 'a') goto yy865; + if (yych <= 'z') goto yy800; + goto yy18; + } + } +yy712: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'R': - case 'r': goto yy1021; - default: goto yy576; + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy864; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 's') goto yy866; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy908: - yyaccept = 23; +yy713: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'U': - case 'u': goto yy1022; - default: goto yy576; + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy865; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'a') goto yy867; + if (yych <= 'z') goto yy805; + goto yy18; + } } -yy909: +yy714: yych = *++YYCURSOR; - switch (yych) { - case 'Y': - case 'y': goto yy767; - default: goto yy576; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy18; + goto yy107; + } else { + if (yych <= '@') goto yy18; + if (yych <= 'Q') goto yy800; + goto yy868; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy800; + if (yych <= '`') goto yy18; + goto yy800; + } else { + if (yych <= 'r') goto yy868; + if (yych <= 'z') goto yy800; + goto yy18; + } } -yy910: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy767; - default: goto yy576; +yy715: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych == '/') goto yy276; + if (yych <= '@') goto yy18; + goto yy800; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy868; + if (yych <= 'Z') goto yy800; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy18; + goto yy805; + } else { + if (yych <= 'r') goto yy869; + if (yych <= 'z') goto yy805; + goto yy18; + } + } } -yy911: - yyaccept = 23; +yy716: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy870; + if (yych <= '1') goto yy871; + goto yy56; +yy717: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy872; + goto yy56; +yy718: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'C': - case 'c': goto yy1023; - default: goto yy576; + if (yych <= '/') goto yy719; + if (yych <= '9') goto yy872; +yy719: +#line 1320 "ext/date/lib/parse_date.re" + { + 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; } -yy912: - yyaccept = 23; +#line 14561 "" +yy720: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'O': - case 'o': goto yy1024; - default: goto yy576; + if (yych <= 'n') { + if (yych <= '/') goto yy544; + if (yych <= '9') goto yy872; + if (yych <= 'm') goto yy544; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy544; + } else { + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + goto yy544; + } } -yy913: +yy721: yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy906; - default: goto yy576; - } -yy914: - yyaccept = 24; + if (yych == 'd') goto yy873; + goto yy56; +yy722: + yych = *++YYCURSOR; + if (yych == 't') goto yy873; + goto yy56; +yy723: + yych = *++YYCURSOR; + if (yych == 'h') goto yy873; + goto yy56; +yy724: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy874; + goto yy56; +yy725: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy724; + if (yych <= '/') goto yy208; + if (yych <= '9') goto yy872; + goto yy208; +yy726: + yych = *++YYCURSOR; + if (yych <= '/') goto yy213; + if (yych <= '9') goto yy876; + goto yy213; +yy727: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy877; + goto yy56; +yy728: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy878; + if (yych <= '3') goto yy879; + if (yych <= '9') goto yy546; + goto yy56; +yy729: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; +yy730: switch (yych) { - case '-': goto yy1025; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': goto yy1026; - default: goto yy915; + case '\t': + case ' ': + case '-': + case '.': goto yy729; + case 'A': + case 'a': goto yy572; + case 'D': + case 'd': goto yy747; + case 'F': + case 'f': goto yy748; + case 'I': goto yy575; + case 'J': + case 'j': goto yy577; + case 'M': + case 'm': goto yy749; + case 'N': + case 'n': goto yy579; + case 'O': + case 'o': goto yy580; + case 'S': + case 's': goto yy750; + case 'V': goto yy582; + case 'X': goto yy584; + default: goto yy56; } -yy915: -#line 1459 "ext/date/lib/parse_date.re" +yy731: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy880; + if (yych <= '/') goto yy732; + if (yych <= '9') goto yy881; +yy732: +#line 1265 "ext/date/lib/parse_date.re" { - timelib_sll w, d; - DEBUG_OUTPUT("isoweek"); + int length = 0; + DEBUG_OUTPUT("gnudateshorter"); 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->y = timelib_get_nr_ex((char **) &ptr, 4, &length); + s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = 1; - s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); - + TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; - return TIMELIB_ISO_WEEK; + return TIMELIB_ISO_DATE; } -#line 28570 "" -yy916: +#line 14670 "" +yy733: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy880; + if (yych <= '/') goto yy732; + if (yych <= '2') goto yy881; + goto yy732; +yy734: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy880; + goto yy732; +yy735: yych = *++YYCURSOR; - switch (yych) { - case 'G': - case 'g': goto yy1028; - default: goto yy56; + if (yych <= 'U') { + if (yych == 'P') goto yy882; + if (yych <= 'T') goto yy56; + goto yy883; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy882; + } else { + if (yych == 'u') goto yy883; + goto yy56; + } } -yy917: +yy736: yych = *++YYCURSOR; - switch (yych) { - case 'Y': - case 'y': goto yy242; - default: goto yy56; - } -yy918: + if (yych == 'E') goto yy884; + if (yych == 'e') goto yy884; + goto yy56; +yy737: yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy242; - default: goto yy56; + if (yych == 'E') goto yy885; + if (yych == 'e') goto yy885; + goto yy56; +yy738: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy886; + if (yych <= 'T') goto yy56; + goto yy887; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy886; + } else { + if (yych == 'u') goto yy887; + goto yy56; + } } -yy919: - yyaccept = 5; +yy739: + yych = *++YYCURSOR; + if (yych == 'A') goto yy888; + if (yych == 'a') goto yy888; + goto yy56; +yy740: + yych = *++YYCURSOR; + if (yych == 'O') goto yy889; + if (yych == 'o') goto yy889; + goto yy56; +yy741: + yych = *++YYCURSOR; + if (yych == 'C') goto yy890; + if (yych == 'c') goto yy890; + goto yy56; +yy742: + yych = *++YYCURSOR; + if (yych == 'E') goto yy891; + if (yych == 'e') goto yy891; + goto yy56; +yy743: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy774; + if (yych <= '4') goto yy775; + if (yych <= '5') goto yy776; + goto yy56; +yy744: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy892; + if (yych <= '9') goto yy893; + goto yy56; +yy745: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy893; + goto yy56; +yy746: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy893; + if (yych <= '6') goto yy894; + goto yy56; +yy747: + yych = *++YYCURSOR; + if (yych == 'E') goto yy764; + if (yych == 'e') goto yy764; + goto yy56; +yy748: + yych = *++YYCURSOR; + if (yych == 'E') goto yy765; + if (yych == 'e') goto yy765; + goto yy56; +yy749: + yych = *++YYCURSOR; + if (yych == 'A') goto yy770; + if (yych == 'a') goto yy770; + goto yy56; +yy750: + yych = *++YYCURSOR; + if (yych == 'E') goto yy895; + if (yych == 'e') goto yy895; + goto yy56; +yy751: + yych = *++YYCURSOR; + if (yych <= '.') goto yy56; + if (yych <= '/') goto yy896; + if (yych <= '9') goto yy897; + goto yy56; +yy752: + yych = *++YYCURSOR; + if (yych <= '.') goto yy56; + if (yych <= '/') goto yy896; + if (yych <= '2') goto yy897; + goto yy56; +yy753: + yych = *++YYCURSOR; + if (yych == '/') goto yy896; + goto yy56; +yy754: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy613; - case '.': goto yy1029; - case ':': goto yy1030; - case 'A': - case 'P': - case 'a': - case 'p': goto yy100; - default: goto yy208; + if (yych <= 'T') { + if (yych <= '9') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych >= ' ') goto yy186; + } else { + if (yych <= '0') { + if (yych >= '0') goto yy898; + } else { + if (yych <= '2') goto yy899; + if (yych <= '3') goto yy901; + goto yy902; + } + } + } else { + if (yych <= 'G') { + if (yych <= 'D') { + if (yych >= 'D') goto yy186; + } else { + if (yych == 'F') goto yy186; + } + } else { + if (yych <= 'L') { + if (yych <= 'H') goto yy186; + } else { + if (yych <= 'M') goto yy186; + if (yych >= 'S') goto yy186; + } + } + } + } else { + if (yych <= 'g') { + if (yych <= 'Y') { + if (yych == 'W') goto yy186; + if (yych >= 'Y') goto yy186; + } else { + if (yych <= 'd') { + if (yych >= 'd') goto yy186; + } else { + if (yych == 'f') goto yy186; + } + } + } else { + if (yych <= 't') { + if (yych <= 'l') { + if (yych <= 'h') goto yy186; + } else { + if (yych <= 'm') goto yy186; + if (yych >= 's') goto yy186; + } + } else { + if (yych <= 'w') { + if (yych >= 'w') goto yy186; + } else { + if (yych == 'y') goto yy186; + } + } + } } -yy920: - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1031; - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy544; +yy755: +#line 1203 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("iso8601nocolon"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + s->time->s = timelib_get_nr((char **) &ptr, 2); + + if (*ptr != '\0') { + s->time->z = timelib_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; } -yy921: - yyaccept = 15; +#line 14885 "" +yy756: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': goto yy1031; - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy544; - } -yy922: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy1032; - case '3': goto yy1033; - default: goto yy56; + if (yych <= 'T') { + if (yych <= 'C') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy755; + goto yy186; + } else { + if (yych <= '2') { + if (yych <= '/') goto yy755; + goto yy899; + } else { + if (yych <= '3') goto yy901; + if (yych <= '9') goto yy902; + goto yy755; + } + } + } else { + if (yych <= 'G') { + if (yych == 'E') goto yy755; + if (yych <= 'F') goto yy186; + goto yy755; + } else { + if (yych <= 'L') { + if (yych <= 'H') goto yy186; + goto yy755; + } else { + if (yych <= 'M') goto yy186; + if (yych <= 'R') goto yy755; + goto yy186; + } + } + } + } else { + if (yych <= 'g') { + if (yych <= 'Y') { + if (yych == 'W') goto yy186; + if (yych <= 'X') goto yy755; + goto yy186; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy755; + goto yy186; + } else { + if (yych == 'f') goto yy186; + goto yy755; + } + } + } else { + if (yych <= 't') { + if (yych <= 'l') { + if (yych <= 'h') goto yy186; + goto yy755; + } else { + if (yych <= 'm') goto yy186; + if (yych <= 'r') goto yy755; + goto yy186; + } + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy755; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy755; + } + } + } } -yy923: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1034; - default: goto yy56; +yy757: + yyaccept = 21; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy755; + goto yy186; + } else { + if (yych <= '/') goto yy755; + if (yych <= '9') goto yy902; + if (yych <= 'C') goto yy755; + goto yy186; + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy186; + if (yych <= 'G') goto yy755; + goto yy186; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy755; + goto yy186; + } else { + if (yych <= 'R') goto yy755; + if (yych <= 'T') goto yy186; + goto yy755; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy755; + if (yych <= 'Y') goto yy186; + goto yy755; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy186; + goto yy755; + } else { + if (yych == 'g') goto yy755; + goto yy186; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy186; + if (yych <= 'r') goto yy755; + goto yy186; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy755; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy755; + } + } + } } -yy924: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; -yy925: - switch (yych) { - case '-': - case '/': - case '_': goto yy276; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy56; +yy758: + yyaccept = 21; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy755; + goto yy186; + } else { + if (yych <= '6') { + if (yych <= '/') goto yy755; + goto yy902; + } else { + if (yych <= '9') goto yy57; + if (yych <= 'C') goto yy755; + goto yy186; + } + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy186; + if (yych <= 'G') goto yy755; + goto yy186; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy755; + goto yy186; + } else { + if (yych <= 'R') goto yy755; + if (yych <= 'T') goto yy186; + goto yy755; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy755; + if (yych <= 'Y') goto yy186; + goto yy755; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy186; + goto yy755; + } else { + if (yych == 'g') goto yy755; + goto yy186; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy186; + if (yych <= 'r') goto yy755; + goto yy186; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy755; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy755; + } + } + } } -yy926: - yych = *++YYCURSOR; - switch (yych) { - case ' ': goto yy1036; - default: goto yy56; +yy759: + yyaccept = 21; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 4) { + goto yy57; + } + if (yych <= 'W') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy755; + goto yy186; + } else { + if (yych == 'D') goto yy186; + if (yych <= 'E') goto yy755; + goto yy186; + } + } else { + if (yych <= 'M') { + if (yych == 'H') goto yy186; + if (yych <= 'L') goto yy755; + goto yy186; + } else { + if (yych <= 'R') goto yy755; + if (yych <= 'T') goto yy186; + if (yych <= 'V') goto yy755; + goto yy186; + } + } + } else { + if (yych <= 'h') { + if (yych <= 'd') { + if (yych == 'Y') goto yy186; + if (yych <= 'c') goto yy755; + goto yy186; + } else { + if (yych == 'f') goto yy186; + if (yych <= 'g') goto yy755; + goto yy186; + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy186; + if (yych <= 'r') goto yy755; + goto yy186; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy755; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy755; + } + } + } } -yy927: +yy760: yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy950; - default: goto yy56; - } -yy928: + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy903; + goto yy56; +yy761: yych = *++YYCURSOR; - switch (yych) { - case 'R': goto yy950; - case 'r': goto yy951; - default: goto yy925; - } -yy929: + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy903; + goto yy56; +yy762: yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy1037; - default: goto yy56; - } -yy930: + if (yych == 'R') goto yy904; + if (yych == 'r') goto yy904; + goto yy56; +yy763: yych = *++YYCURSOR; - switch (yych) { - case 'H': - case 'h': goto yy972; - default: goto yy56; + if (yych == 'G') goto yy905; + if (yych == 'g') goto yy905; + goto yy56; +yy764: + yych = *++YYCURSOR; + if (yych == 'C') goto yy906; + if (yych == 'c') goto yy906; + goto yy56; +yy765: + yych = *++YYCURSOR; + if (yych == 'B') goto yy907; + if (yych == 'b') goto yy907; + goto yy56; +yy766: + yych = *++YYCURSOR; + if (yych != 'I') goto yy576; +yy767: + yych = *++YYCURSOR; + goto yy576; +yy768: + yych = *++YYCURSOR; + if (yych == 'N') goto yy908; + if (yych == 'n') goto yy908; + goto yy56; +yy769: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy909; + if (yych <= 'M') goto yy56; + goto yy910; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy909; + } else { + if (yych == 'n') goto yy910; + goto yy56; + } } -yy931: +yy770: yych = *++YYCURSOR; - switch (yych) { - case 'H': goto yy972; - case 'h': goto yy975; - default: goto yy925; + if (yych <= 'Y') { + if (yych == 'R') goto yy911; + if (yych <= 'X') goto yy56; + goto yy767; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + goto yy911; + } else { + if (yych == 'y') goto yy767; + goto yy56; + } } -yy932: +yy771: yych = *++YYCURSOR; - switch (yych) { - case 'Y': - case 'y': goto yy950; - default: goto yy56; + if (yych == 'V') goto yy906; + if (yych == 'v') goto yy906; + goto yy56; +yy772: + yych = *++YYCURSOR; + if (yych == 'T') goto yy912; + if (yych == 't') goto yy912; + goto yy56; +yy773: + yych = *++YYCURSOR; + if (yych <= 'P') { + if (yych == 'C') goto yy417; + if (yych <= 'O') goto yy56; + goto yy913; + } else { + if (yych <= 'c') { + if (yych <= 'b') goto yy56; + goto yy417; + } else { + if (yych == 'p') goto yy913; + goto yy56; + } } -yy933: +yy774: yych = *++YYCURSOR; - switch (yych) { - case 'Y': goto yy950; - case 'y': goto yy951; - default: goto yy925; + if (yych <= '0') goto yy56; + if (yych <= '9') goto yy914; + goto yy56; +yy775: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy914; + goto yy56; +yy776: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '3') goto yy914; + goto yy56; +yy777: + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy186; + if (yych <= '0') goto yy898; + goto yy899; + } else { + if (yych <= '3') goto yy901; + if (yych <= '9') goto yy902; + goto yy186; } -yy934: +yy778: yych = *++YYCURSOR; - goto yy136; -yy935: - yyaccept = 17; + if (yych <= '/') goto yy186; + if (yych <= '2') goto yy899; + if (yych <= '3') goto yy901; + if (yych <= '9') goto yy902; + goto yy186; +yy779: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '9') goto yy902; + goto yy186; +yy780: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '6') goto yy902; + if (yych <= '9') goto yy57; + goto yy186; +yy781: + yych = *++YYCURSOR; + if (yych == 'T') goto yy242; + if (yych == 't') goto yy242; + goto yy56; +yy782: + yych = *++YYCURSOR; + if (yych == 'N') goto yy783; + if (yych != 'n') goto yy56; +yy783: + yych = *++YYCURSOR; + if (yych == 'I') goto yy916; + if (yych == 'i') goto yy916; + goto yy56; +yy784: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy591; + if (yych == 'y') goto yy591; + goto yy56; +yy785: + yych = *++YYCURSOR; + goto yy240; +yy786: + yych = *++YYCURSOR; + if (yych == 'R') goto yy917; + if (yych == 'r') goto yy917; + goto yy56; +yy787: + yych = *++YYCURSOR; + if (yych == 'E') goto yy401; + if (yych == 'e') goto yy401; + goto yy56; +yy788: + yych = *++YYCURSOR; + if (yych == 'E') goto yy918; + if (yych == 'e') goto yy918; + goto yy56; +yy789: + yych = *++YYCURSOR; + if (yych == 'D') goto yy401; + if (yych == 'd') goto yy401; + goto yy56; +yy790: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy827; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1038; - default: goto yy673; + if (yych <= '9') { + if (yych <= ' ') { + if (yych == '\t') goto yy613; + if (yych <= 0x1F) goto yy208; + goto yy613; + } else { + if (yych == '.') goto yy724; + if (yych <= '/') goto yy208; + goto yy872; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy100; + if (yych <= 'O') goto yy208; + goto yy100; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy208; + goto yy100; + } else { + if (yych == 'p') goto yy100; + goto yy208; + } + } } -yy936: - yyaccept = 17; +yy791: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy827; - case '0': goto yy1039; - default: goto yy673; + if (yych <= '@') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy613; + goto yy208; + } else { + if (yych <= ' ') goto yy613; + if (yych == '.') goto yy724; + goto yy208; + } + } else { + if (yych <= '`') { + if (yych <= 'A') goto yy100; + if (yych == 'P') goto yy100; + goto yy208; + } else { + if (yych <= 'a') goto yy100; + if (yych == 'p') goto yy100; + goto yy208; + } } -yy937: - yyaccept = 17; +yy792: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy833; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1040; - default: goto yy673; - } -yy938: - yyaccept = 17; + if (yych == '.') goto yy724; + if (yych <= '/') goto yy208; + if (yych <= '9') goto yy919; + goto yy208; +yy793: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy833; - case '0': goto yy1039; - default: goto yy673; - } -yy939: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1039; - default: goto yy673; - } -yy940: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy1039; - default: goto yy673; - } -yy941: - yych = *++YYCURSOR; - goto yy673; -yy942: - yyaccept = 17; + if (yych == '.') goto yy724; + if (yych == '0') goto yy919; + goto yy208; +yy794: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy827; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1041; - default: goto yy673; + if (yych <= 'n') { + if (yych <= '/') goto yy544; + if (yych <= '9') goto yy796; + if (yych <= 'm') goto yy544; + goto yy721; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy544; + goto yy721; + } else { + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + goto yy544; + } } -yy943: - yyaccept = 17; +yy795: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy827; - case '0': goto yy1042; - default: goto yy673; + if (yych <= 'n') { + if (yych <= '/') goto yy544; + if (yych <= '1') goto yy796; + if (yych <= 'm') goto yy544; + goto yy721; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy544; + goto yy721; + } else { + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + goto yy544; + } } -yy944: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - switch (yych) { - case '\t': - case ' ': goto yy944; - case 'A': - case 'P': - case 'a': - case 'p': goto yy946; - default: goto yy56; +yy796: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'q') { + if (yych == 'n') goto yy721; + goto yy544; + } else { + if (yych <= 'r') goto yy721; + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + goto yy544; } -yy946: +yy797: yych = *++YYCURSOR; - switch (yych) { - case '.': goto yy1043; - case 'M': - case 'm': goto yy1044; - default: goto yy56; - } -yy947: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': - case ':': goto yy833; - case '0': goto yy1042; - default: goto yy673; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy920; + if (yych <= '3') goto yy921; + if (yych <= '9') goto yy796; + goto yy56; +yy798: + yych = *++YYCURSOR; + if (yych == '-') goto yy922; + goto yy56; +yy799: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == '-') goto yy922; + goto yy56; + } else { + if (yych <= 'T') goto yy798; + if (yych == 't') goto yy798; + goto yy56; } -yy948: +yy800: yych = *++YYCURSOR; + if (yych == ')') goto yy107; + goto yy18; +yy801: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '0': - case '1': - case '2': + case '-': goto yy923; + case '.': goto yy478; + case '0': goto yy479; + case '1': goto yy480; + case '2': goto yy481; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy1042; - default: goto yy673; - } -yy949: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy1042; - default: goto yy673; + case '9': goto yy482; + case ':': goto yy483; + default: goto yy304; } -yy950: - yyaccept = 7; +yy802: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '\t': - case ' ': - case '-': - case '.': - case '0': - case '1': - case '2': + case '-': goto yy923; + case '.': goto yy484; + case '0': goto yy485; + case '1': goto yy480; + case '2': goto yy481; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy134; - default: goto yy274; + case '9': goto yy482; + case ':': goto yy486; + default: goto yy304; } -yy951: - yyaccept = 7; +yy803: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '\t': - case ' ': - case '.': - case '0': - case '1': - case '2': + case '-': goto yy923; + case '.': goto yy484; + case '0': goto yy479; + case '1': goto yy480; + case '2': goto yy481; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy134; - case '-': goto yy684; - case '/': - case '_': goto yy276; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy274; - } -yy952: - yych = *++YYCURSOR; - switch (yych) { - case 'Y': - case 'y': goto yy1045; - default: goto yy56; - } -yy953: - yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy1047; - default: goto yy56; - } -yy954: - yych = *++YYCURSOR; - switch (yych) { - case 'I': - case 'i': goto yy1048; - default: goto yy56; + case '9': goto yy482; + case ':': goto yy486; + default: goto yy304; } -yy955: - yych = *++YYCURSOR; - switch (yych) { - case 'U': - case 'u': goto yy1049; - default: goto yy56; +yy804: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy274; + goto yy134; + } else { + if (yych == ' ') goto yy134; + goto yy274; + } + } else { + if (yych <= '.') { + if (yych <= ')') goto yy107; + if (yych <= ',') goto yy274; + goto yy134; + } else { + if (yych <= '/') goto yy274; + if (yych <= '9') goto yy134; + goto yy274; + } } -yy956: - yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy1050; - default: goto yy56; +yy805: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy924; } -yy957: - yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy1051; - default: goto yy56; + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy18; + goto yy276; + } else { + if (yych <= '/') { + if (yych <= '.') goto yy18; + goto yy276; + } else { + if (yych == '_') goto yy276; + goto yy18; + } } -yy958: - yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy1052; - default: goto yy56; +yy806: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy924; } -yy959: - yych = *++YYCURSOR; - switch (yych) { - case 'C': - case 'c': goto yy1053; - default: goto yy56; + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy134; + goto yy274; + } else { + if (yych <= ' ') goto yy134; + if (yych == ')') goto yy107; + goto yy274; + } + } else { + if (yych <= '/') { + if (yych <= '-') goto yy684; + if (yych <= '.') goto yy134; + goto yy276; + } else { + if (yych <= '9') goto yy134; + if (yych == '_') goto yy276; + goto yy274; + } } -yy960: +yy807: yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy1048; - default: goto yy56; + if (yych == 'F') goto yy926; + if (yych == 'f') goto yy926; + goto yy56; +yy808: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'E') goto yy927; + if (yych == 'e') goto yy927; + goto yy18; } -yy961: - yych = *++YYCURSOR; - switch (yych) { - case 'U': - case 'u': goto yy1054; - default: goto yy56; +yy809: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'E') goto yy927; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'e') goto yy928; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy962: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy1055; - default: goto yy56; +yy810: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy811: + if (yych <= 'W') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy810; + if (yych <= 0x1F) goto yy56; + goto yy810; + } else { + if (yych == 'D') goto yy837; + if (yych <= 'E') goto yy56; + goto yy838; + } + } else { + if (yych <= 'M') { + if (yych == 'H') goto yy839; + if (yych <= 'L') goto yy56; + goto yy840; + } else { + if (yych <= 'S') { + if (yych <= 'R') goto yy56; + goto yy841; + } else { + if (yych <= 'T') goto yy842; + if (yych <= 'V') goto yy56; + goto yy929; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy844; + if (yych <= 'c') goto yy56; + goto yy837; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy56; + goto yy838; + } else { + if (yych == 'h') goto yy839; + goto yy56; + } + } + } else { + if (yych <= 't') { + if (yych <= 'm') goto yy840; + if (yych <= 'r') goto yy56; + if (yych <= 's') goto yy841; + goto yy842; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy56; + goto yy929; + } else { + if (yych == 'y') goto yy844; + goto yy56; + } + } + } } -yy963: - yych = *++YYCURSOR; - switch (yych) { - case 'D': - case 'd': goto yy1056; - case 'E': - case 'e': goto yy1057; - default: goto yy56; +yy812: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 0x1F) { + if (yych == '\t') goto yy810; + goto yy18; + } else { + if (yych <= ' ') goto yy810; + if (yych == ')') goto yy107; + goto yy18; } -yy964: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy1049; - default: goto yy56; +yy813: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'T') goto yy930; + if (yych == 't') goto yy930; + goto yy18; } -yy965: - yych = *++YYCURSOR; - switch (yych) { - case 'Y': - case 'y': goto yy1058; - default: goto yy56; +yy814: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy924; } -yy966: - yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy1059; - default: goto yy56; + if (yych <= ')') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy810; + goto yy18; + } else { + if (yych <= ' ') goto yy810; + if (yych <= '(') goto yy18; + goto yy107; + } + } else { + if (yych <= '.') { + if (yych == '-') goto yy276; + goto yy18; + } else { + if (yych <= '/') goto yy276; + if (yych == '_') goto yy276; + goto yy18; + } } -yy967: - yych = *++YYCURSOR; - switch (yych) { - case 'T': goto yy1059; - case 't': goto yy1060; - default: goto yy925; +yy815: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'T') goto yy930; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 't') goto yy931; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy968: - yych = *++YYCURSOR; - switch (yych) { - case 'S': - case 's': goto yy1061; - default: goto yy56; +yy816: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'R') goto yy932; + if (yych == 'r') goto yy932; + goto yy18; } -yy969: +yy817: yych = *++YYCURSOR; - switch (yych) { - case 'S': goto yy1061; - case 's': goto yy1062; - default: goto yy925; - } -yy970: + if (yych == 'D') goto yy845; + if (yych == 'd') goto yy845; + goto yy811; +yy818: yych = *++YYCURSOR; - switch (yych) { - case 'Y': - case 'y': goto yy978; - default: goto yy56; + if (yych == ')') goto yy107; + goto yy294; +yy819: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'R') goto yy932; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'r') goto yy933; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy971: - yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy927; - default: goto yy56; +yy820: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy924; } -yy972: - yych = *++YYCURSOR; - switch (yych) { - case '\t': - case ' ': goto yy810; - default: goto yy56; + if (yych <= '-') { + if (yych == ')') goto yy107; + if (yych <= ',') goto yy294; + goto yy276; + } else { + if (yych <= '/') { + if (yych <= '.') goto yy294; + goto yy276; + } else { + if (yych == '_') goto yy276; + goto yy294; + } } -yy973: +yy821: yych = *++YYCURSOR; - switch (yych) { - case 'Y': goto yy978; - case 'y': goto yy980; - default: goto yy925; - } -yy974: + if (yych <= '/') goto yy136; + if (yych <= '9') goto yy934; + goto yy136; +yy822: yych = *++YYCURSOR; - switch (yych) { - case 'E': goto yy927; - case 'e': goto yy928; - default: goto yy925; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy935; + if (yych <= '6') goto yy936; + if (yych <= '9') goto yy674; + goto yy56; +yy823: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy822; + goto yy136; + } else { + if (yych <= '9') goto yy821; + if (yych <= ':') goto yy822; + goto yy136; } -yy975: - yych = *++YYCURSOR; - switch (yych) { - case '\t': - case ' ': goto yy810; - case '-': - case '/': - case '_': goto yy276; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy56; +yy824: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych != '.') goto yy136; + } else { + if (yych <= '9') goto yy821; + if (yych >= ';') goto yy136; } -yy976: - yych = *++YYCURSOR; - goto yy755; -yy977: +yy825: yych = *++YYCURSOR; - switch (yych) { - case 'W': - case 'w': goto yy1063; - default: goto yy56; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy937; + if (yych <= '6') goto yy938; + if (yych <= '9') goto yy681; + goto yy56; +yy826: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych != '.') goto yy136; + } else { + if (yych <= '9') goto yy821; + if (yych >= ';') goto yy136; } -yy978: +yy827: yych = *++YYCURSOR; - goto yy294; -yy979: + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy939; + if (yych <= '6') goto yy940; + if (yych <= '9') goto yy941; + goto yy56; +yy828: yych = *++YYCURSOR; - switch (yych) { - case 'W': goto yy1063; - case 'w': goto yy1065; - default: goto yy925; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy942; + if (yych <= '6') goto yy943; + if (yych <= '9') goto yy674; + goto yy56; +yy829: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy944; + if (yych <= 0x1F) goto yy136; + goto yy944; + } else { + if (yych <= '.') { + if (yych <= '-') goto yy136; + goto yy828; + } else { + if (yych <= '/') goto yy136; + if (yych <= '9') goto yy821; + goto yy828; + } + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy946; + if (yych <= 'O') goto yy136; + goto yy946; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy136; + goto yy946; + } else { + if (yych == 'p') goto yy946; + goto yy136; + } + } } -yy980: - yyaccept = 9; +yy830: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': - case '/': - case '_': goto yy276; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy294; + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy944; + if (yych <= 0x1F) goto yy136; + goto yy944; + } else { + if (yych <= '.') { + if (yych <= '-') goto yy136; + } else { + if (yych <= '/') goto yy136; + if (yych <= '9') goto yy821; + } + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy946; + if (yych <= 'O') goto yy136; + goto yy946; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy136; + goto yy946; + } else { + if (yych == 'p') goto yy946; + goto yy136; + } + } } -yy981: +yy831: yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy970; - default: goto yy56; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy937; + if (yych <= '6') goto yy947; + if (yych <= '9') goto yy681; + goto yy56; +yy832: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy944; + if (yych <= 0x1F) goto yy136; + goto yy944; + } else { + if (yych <= '.') { + if (yych <= '-') goto yy136; + } else { + if (yych <= '/') goto yy136; + if (yych <= '9') goto yy821; + } + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy946; + if (yych <= 'O') goto yy136; + goto yy946; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy136; + goto yy946; + } else { + if (yych == 'p') goto yy946; + goto yy136; + } + } } -yy982: +yy833: yych = *++YYCURSOR; - switch (yych) { - case 'S': - case 's': goto yy978; - default: goto yy294; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy948; + if (yych <= '6') goto yy949; + if (yych <= '9') goto yy941; + goto yy56; +yy834: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy944; + if (yych <= 0x1F) goto yy673; + goto yy944; + } else { + if (yych == '.') goto yy833; + if (yych <= '9') goto yy673; + goto yy833; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy946; + if (yych <= 'O') goto yy673; + goto yy946; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy673; + goto yy946; + } else { + if (yych == 'p') goto yy946; + goto yy673; + } + } } -yy983: +yy835: yych = *++YYCURSOR; - switch (yych) { - case 'A': goto yy970; - case 'a': goto yy973; - default: goto yy925; + if (yych <= 'X') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'Y') goto yy950; + if (yych == 'y') goto yy950; + goto yy18; } -yy984: - yyaccept = 9; +yy836: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': - case '/': - case '_': goto yy276; - case 'S': goto yy978; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - case 's': goto yy980; - default: goto yy294; + if (yych <= 'X') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'Y') goto yy950; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'y') goto yy951; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy985: +yy837: yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy1066; - default: goto yy56; + if (yych == 'A') goto yy952; + if (yych == 'a') goto yy952; + goto yy56; +yy838: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych == 'O') goto yy953; + if (yych <= 'Q') goto yy56; + goto yy954; + } else { + if (yych <= 'o') { + if (yych <= 'n') goto yy56; + goto yy953; + } else { + if (yych == 'r') goto yy954; + goto yy56; + } } -yy986: +yy839: yych = *++YYCURSOR; - switch (yych) { - case 'A': goto yy1066; - case 'a': goto yy1067; - default: goto yy925; + if (yych == 'O') goto yy955; + if (yych == 'o') goto yy955; + goto yy56; +yy840: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych == 'I') goto yy956; + if (yych <= 'N') goto yy56; + goto yy957; + } else { + if (yych <= 'i') { + if (yych <= 'h') goto yy56; + goto yy956; + } else { + if (yych == 'o') goto yy957; + goto yy56; + } } -yy987: +yy841: yych = *++YYCURSOR; - switch (yych) { - case '-': goto yy1068; - default: goto yy56; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych == 'A') goto yy958; + goto yy56; + } else { + if (yych <= 'E') goto yy959; + if (yych <= 'T') goto yy56; + goto yy960; + } + } else { + if (yych <= 'd') { + if (yych == 'a') goto yy958; + goto yy56; + } else { + if (yych <= 'e') goto yy959; + if (yych == 'u') goto yy960; + goto yy56; + } } -yy988: - ++YYCURSOR; -#line 1308 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("pointed date YYYY"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_DEINIT; - return TIMELIB_DATE_FULL_POINTED; +yy842: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'H') goto yy961; + if (yych <= 'T') goto yy56; + goto yy962; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy961; + } else { + if (yych == 'u') goto yy962; + goto yy56; + } } -#line 29325 "" -yy990: +yy843: yych = *++YYCURSOR; - goto yy213; -yy991: + if (yych == 'E') goto yy963; + if (yych == 'e') goto yy963; + goto yy56; +yy844: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1069; - default: goto yy56; + if (yych == 'E') goto yy964; + if (yych == 'e') goto yy964; + goto yy56; +yy845: + yych = *++YYCURSOR; + if (yych == 'A') goto yy965; + if (yych == 'a') goto yy965; + goto yy56; +yy846: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'H') goto yy966; + if (yych == 'h') goto yy966; + goto yy18; } -yy992: - yyaccept = 25; +yy847: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy872; - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy993; + if (yych <= 'G') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'H') goto yy966; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'h') goto yy967; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy993: -#line 1251 "ext/date/lib/parse_date.re" - { - 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; +yy848: + yych = *++YYCURSOR; + if (yych <= 'Q') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'R') goto yy950; + if (yych == 'r') goto yy950; + goto yy18; } -#line 29378 "" -yy994: - yyaccept = 15; +yy849: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy996; - case 'T': goto yy1070; - case 'n': - case 'r': goto yy1071; - case 's': goto yy1072; - case 't': goto yy1073; - default: goto yy544; + if (yych <= 'Q') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'R') goto yy950; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'r') goto yy951; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy995: - yyaccept = 15; +yy850: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': goto yy996; - case 'T': goto yy1070; - case 'n': - case 'r': goto yy1071; - case 's': goto yy1072; - case 't': goto yy1073; - default: goto yy544; + if (yych <= 'T') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'U') goto yy968; + if (yych == 'u') goto yy968; + goto yy18; } -yy996: - yyaccept = 15; +yy851: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'T': goto yy1070; - case 'n': - case 'r': goto yy1071; - case 's': goto yy1072; - case 't': goto yy1073; - default: goto yy544; + if (yych <= 'T') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'U') goto yy968; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'u') goto yy969; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy997: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy1074; - case '3': goto yy1075; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy996; - default: goto yy56; +yy852: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'A') goto yy970; + if (yych == 'a') goto yy970; + goto yy18; } -yy998: - yyaccept = 23; +yy853: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy922; - case 'I': - case 'i': goto yy1018; - default: goto yy576; + if (yych <= 'A') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'B') goto yy971; + if (yych == 'b') goto yy971; + goto yy18; } -yy999: - yyaccept = 23; +yy854: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy922; - case 'U': - case 'u': goto yy1019; - default: goto yy576; + if (yych <= 'G') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'H') goto yy972; + if (yych == 'h') goto yy972; + goto yy18; } -yy1000: - yyaccept = 23; +yy855: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy922; - case 'E': - case 'e': goto yy1020; - default: goto yy576; + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy970; + if (yych <= '^') goto yy18; + goto yy276; + } else { + if (yych <= '`') goto yy18; + if (yych <= 'a') goto yy973; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy1001: - yyaccept = 23; +yy856: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy922; - case 'R': - case 'r': goto yy1021; - default: goto yy576; + if (yych <= 'A') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'B') goto yy971; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'b') goto yy974; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy1002: - yyaccept = 23; +yy857: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy922; - case 'U': - case 'u': goto yy1022; - default: goto yy576; + if (yych <= 'G') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'H') goto yy972; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'h') goto yy975; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy1003: - yyaccept = 23; +yy858: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy976; + goto yy56; +yy859: + yych = *++YYCURSOR; + if (yych == '0') goto yy976; + goto yy56; +yy860: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy922; - case 'Y': - case 'y': goto yy767; - default: goto yy576; + if (yych <= 'N') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'O') goto yy977; + if (yych == 'o') goto yy977; + goto yy18; } -yy1004: - yyaccept = 23; +yy861: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'Y') goto yy978; + if (yych == 'y') goto yy978; + goto yy18; + } +yy862: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy922; - case 'E': - case 'e': goto yy767; - default: goto yy576; + if (yych <= 'N') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'O') goto yy977; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'o') goto yy979; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy1005: - yyaccept = 23; +yy863: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy922; - case 'C': - case 'c': goto yy1023; - default: goto yy576; + if (yych <= 'X') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'Y') goto yy978; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'y') goto yy980; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy1006: - yyaccept = 23; +yy864: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy922; - default: goto yy576; + if (yych <= 'C') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'D') goto yy981; + if (yych == 'd') goto yy981; + goto yy18; } -yy1007: - yyaccept = 23; +yy865: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'Y') goto yy982; + if (yych == 'y') goto yy982; + goto yy18; + } +yy866: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy922; - case 'O': - case 'o': goto yy1024; - default: goto yy576; + if (yych <= 'C') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'D') goto yy981; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'd') goto yy983; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy1008: - yyaccept = 23; +yy867: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy922; - case 'T': - case 't': goto yy1000; - default: goto yy576; + if (yych <= 'X') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'Y') goto yy982; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'y') goto yy984; + if (yych <= 'z') goto yy924; + goto yy18; + } } -yy1009: - yych = *++YYCURSOR; - goto yy900; -yy1010: - yyaccept = 26; +yy868: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1013; - case 'n': - case 'r': goto yy1076; - case 's': goto yy1077; - case 't': goto yy1078; - default: goto yy1011; + if (yych <= 'C') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych <= 'D') goto yy985; + if (yych == 'd') goto yy985; + goto yy18; } -yy1011: -#line 1239 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_DEINIT; - return TIMELIB_ISO_DATE; +yy869: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= ',') { + if (yych == ')') goto yy107; + goto yy18; + } else { + if (yych == '.') goto yy18; + if (yych <= '/') goto yy276; + goto yy18; + } + } else { + if (yych <= '`') { + if (yych <= 'D') goto yy985; + if (yych == '_') goto yy276; + goto yy18; + } else { + if (yych == 'd') goto yy986; + if (yych <= 'z') goto yy924; + goto yy18; + } + } +yy870: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy987; + goto yy56; +yy871: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy987; + goto yy56; +yy872: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy988; + goto yy56; +yy873: + yych = *++YYCURSOR; + goto yy544; +yy874: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy208; + if (yych <= '9') goto yy874; + goto yy208; +yy876: + yych = *++YYCURSOR; + if (yych <= '/') goto yy213; + if (yych <= '9') goto yy990; + goto yy213; +yy877: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy991; + goto yy56; +yy878: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy544; + if (yych <= '9') goto yy992; + if (yych <= 'm') goto yy544; + goto yy721; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy544; + goto yy721; + } else { + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + goto yy544; + } } -#line 29571 "" -yy1012: - yyaccept = 26; +yy879: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': goto yy1013; - case 'n': - case 'r': goto yy1076; - case 's': goto yy1077; - case 't': goto yy1078; - default: goto yy1011; + if (yych <= 'n') { + if (yych <= '1') { + if (yych <= '/') goto yy544; + goto yy992; + } else { + if (yych <= '9') goto yy717; + if (yych <= 'm') goto yy544; + goto yy721; + } + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy544; + goto yy721; + } else { + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + goto yy544; + } } -yy1013: - yyaccept = 26; +yy880: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy994; + if (yych <= '3') goto yy995; + if (yych <= '9') goto yy996; + goto yy56; +yy881: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'n': - case 'r': goto yy1076; - case 's': goto yy1077; - case 't': goto yy1078; - default: goto yy1011; + if (yych == '-') goto yy997; + goto yy732; +yy882: + yych = *++YYCURSOR; + if (yych == 'R') goto yy998; + if (yych == 'r') goto yy998; + goto yy56; +yy883: + yych = *++YYCURSOR; + if (yych == 'G') goto yy999; + if (yych == 'g') goto yy999; + goto yy56; +yy884: + yych = *++YYCURSOR; + if (yych == 'C') goto yy1000; + if (yych == 'c') goto yy1000; + goto yy56; +yy885: + yych = *++YYCURSOR; + if (yych == 'B') goto yy1001; + if (yych == 'b') goto yy1001; + goto yy56; +yy886: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1002; + if (yych == 'n') goto yy1002; + goto yy56; +yy887: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy1003; + if (yych <= 'M') goto yy56; + goto yy1004; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy1003; + } else { + if (yych == 'n') goto yy1004; + goto yy56; + } } -yy1014: +yy888: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy1079; - case '3': goto yy1080; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1013; - default: goto yy56; + if (yych <= 'Y') { + if (yych == 'R') goto yy1005; + if (yych <= 'X') goto yy56; + goto yy1006; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + goto yy1005; + } else { + if (yych == 'y') goto yy1006; + goto yy56; + } } -yy1015: - yyaccept = 27; +yy889: + yych = *++YYCURSOR; + if (yych == 'V') goto yy1000; + if (yych == 'v') goto yy1000; + goto yy56; +yy890: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1007; + if (yych == 't') goto yy1007; + goto yy56; +yy891: + yych = *++YYCURSOR; + if (yych == 'P') goto yy1008; + if (yych == 'p') goto yy1008; + goto yy56; +yy892: + yych = *++YYCURSOR; + if (yych <= '0') goto yy56; + if (yych <= '9') goto yy1009; + goto yy56; +yy893: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1009; + goto yy56; +yy894: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '6') goto yy1009; + goto yy56; +yy895: + yych = *++YYCURSOR; + if (yych == 'P') goto yy913; + if (yych == 'p') goto yy913; + goto yy56; +yy896: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy1010; + if (yych <= '3') goto yy1012; + if (yych <= '9') goto yy1013; + goto yy56; +yy897: + yych = *++YYCURSOR; + if (yych == '/') goto yy1014; + goto yy56; +yy898: + yych = *++YYCURSOR; + if (yych <= '/') goto yy186; + if (yych <= '9') goto yy1015; + goto yy186; +yy899: + yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy185; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy57; - case 'D': - case 'd': goto yy187; - case 'F': - case 'f': goto yy188; - case 'H': - case 'h': goto yy76; - case 'M': - case 'm': goto yy189; - case 'S': - case 's': goto yy190; - case 'T': goto yy1081; - case 'W': - case 'w': goto yy86; - case 'Y': - case 'y': goto yy88; - case 't': goto yy1082; - default: goto yy1016; + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych >= ' ') goto yy186; + } else { + if (yych <= '/') goto yy900; + if (yych <= '9') goto yy1015; + if (yych >= 'D') goto yy186; + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy186; + if (yych >= 'H') goto yy186; + } else { + if (yych <= 'M') { + if (yych >= 'M') goto yy186; + } else { + if (yych <= 'R') goto yy900; + if (yych <= 'T') goto yy186; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy900; + if (yych <= 'Y') goto yy186; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy186; + } else { + if (yych != 'g') goto yy186; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy186; + if (yych >= 's') goto yy186; + } else { + if (yych <= 'w') { + if (yych >= 'w') goto yy186; + } else { + if (yych == 'y') goto yy186; + } + } + } } -yy1016: -#line 1388 "ext/date/lib/parse_date.re" +yy900: +#line 1426 "ext/date/lib/parse_date.re" { - DEBUG_OUTPUT("datenocolon"); + int length = 0; + DEBUG_OUTPUT("pgydotd"); 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); + 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_DATE_NOCOLON; - } -#line 29655 "" -yy1017: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy1083; - case '3': goto yy1084; - default: goto yy56; - } -yy1018: - yych = *++YYCURSOR; - switch (yych) { - case 'L': - case 'l': goto yy767; - default: goto yy56; - } -yy1019: - yych = *++YYCURSOR; - switch (yych) { - case 'S': - case 's': goto yy1085; - default: goto yy56; - } -yy1020: - yych = *++YYCURSOR; - switch (yych) { - case 'M': - case 'm': goto yy1024; - default: goto yy56; + return TIMELIB_PG_YEARDAY; } -yy1021: - yych = *++YYCURSOR; - switch (yych) { - case 'U': - case 'u': goto yy1022; - default: goto yy56; +#line 16781 "" +yy901: + yyaccept = 22; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy900; + goto yy186; + } else { + if (yych <= '1') { + if (yych <= '/') goto yy900; + goto yy1015; + } else { + if (yych <= '9') goto yy57; + if (yych <= 'C') goto yy900; + goto yy186; + } + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy186; + if (yych <= 'G') goto yy900; + goto yy186; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy900; + goto yy186; + } else { + if (yych <= 'R') goto yy900; + if (yych <= 'T') goto yy186; + goto yy900; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy900; + if (yych <= 'Y') goto yy186; + goto yy900; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy186; + goto yy900; + } else { + if (yych == 'g') goto yy900; + goto yy186; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy186; + if (yych <= 'r') goto yy900; + goto yy186; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy900; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy900; + } + } + } } -yy1022: - yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy1086; - default: goto yy56; +yy902: + yyaccept = 22; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 4) { + goto yy57; + } + if (yych <= 'W') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy186; + if (yych <= 0x1F) goto yy900; + goto yy186; + } else { + if (yych == 'D') goto yy186; + if (yych <= 'E') goto yy900; + goto yy186; + } + } else { + if (yych <= 'M') { + if (yych == 'H') goto yy186; + if (yych <= 'L') goto yy900; + goto yy186; + } else { + if (yych <= 'R') goto yy900; + if (yych <= 'T') goto yy186; + if (yych <= 'V') goto yy900; + goto yy186; + } + } + } else { + if (yych <= 'h') { + if (yych <= 'd') { + if (yych == 'Y') goto yy186; + if (yych <= 'c') goto yy900; + goto yy186; + } else { + if (yych == 'f') goto yy186; + if (yych <= 'g') goto yy900; + goto yy186; + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy186; + if (yych <= 'r') goto yy900; + goto yy186; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy900; + goto yy186; + } else { + if (yych == 'y') goto yy186; + goto yy900; + } + } + } } -yy1023: +yy903: yych = *++YYCURSOR; - switch (yych) { - case 'H': - case 'h': goto yy767; - default: goto yy56; - } -yy1024: + if (yych == ':') goto yy1017; + goto yy56; +yy904: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'I') goto yy1018; + if (yych == 'i') goto yy1018; + goto yy576; +yy905: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'U') goto yy1019; + if (yych == 'u') goto yy1019; + goto yy576; +yy906: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'E') goto yy1020; + if (yych == 'e') goto yy1020; + goto yy576; +yy907: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'R') goto yy1021; + if (yych == 'r') goto yy1021; + goto yy576; +yy908: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'U') goto yy1022; + if (yych == 'u') goto yy1022; + goto yy576; +yy909: yych = *++YYCURSOR; - switch (yych) { - case 'B': - case 'b': goto yy1087; - default: goto yy56; - } -yy1025: + if (yych == 'Y') goto yy767; + if (yych == 'y') goto yy767; + goto yy576; +yy910: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': goto yy1026; - default: goto yy56; - } -yy1026: - ++YYCURSOR; -#line 1440 "ext/date/lib/parse_date.re" + if (yych == 'E') goto yy767; + if (yych == 'e') goto yy767; + goto yy576; +yy911: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'C') goto yy1023; + if (yych == 'c') goto yy1023; + goto yy576; +yy912: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'O') goto yy1024; + if (yych == 'o') goto yy1024; + goto yy576; +yy913: + yych = *++YYCURSOR; + if (yych == 'T') goto yy906; + if (yych == 't') goto yy906; + goto yy576; +yy914: + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy1025; + if (yych <= '/') goto yy915; + if (yych <= '7') goto yy1026; +yy915: +#line 1459 "ext/date/lib/parse_date.re" { timelib_sll w, d; - DEBUG_OUTPUT("isoweekday"); + 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 = timelib_get_nr((char **) &ptr, 1); + d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); @@ -29743,1620 +16986,1989 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 29747 "" -yy1028: +#line 16990 "" +yy916: yych = *++YYCURSOR; - switch (yych) { - case 'H': - case 'h': goto yy1088; - default: goto yy56; - } -yy1029: + if (yych == 'G') goto yy1028; + if (yych == 'g') goto yy1028; + goto yy56; +yy917: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1089; - default: goto yy56; - } -yy1030: + if (yych == 'Y') goto yy242; + if (yych == 'y') goto yy242; + goto yy56; +yy918: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1091; - default: goto yy56; - } -yy1031: - yyaccept = 25; + if (yych == 'R') goto yy242; + if (yych == 'r') goto yy242; + goto yy56; +yy919: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'n': - case 'r': goto yy721; - case 's': goto yy722; - case 't': goto yy723; - default: goto yy993; - } -yy1032: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1093; - default: goto yy56; - } -yy1033: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1093; - default: goto yy56; - } -yy1034: - ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1095; - default: goto yy1035; - } -yy1035: -#line 1478 "ext/date/lib/parse_date.re" - { - 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; - } -#line 29846 "" -yy1036: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1096; - case '2': goto yy1098; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1099; - default: goto yy56; - } -yy1037: - yych = *++YYCURSOR; - switch (yych) { - case 'D': - case 'd': goto yy1056; - case 'E': - case 'e': goto yy1101; - default: goto yy56; + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy613; + if (yych <= 0x1F) goto yy208; + goto yy613; + } else { + if (yych == '.') goto yy1029; + if (yych <= '9') goto yy208; + goto yy1030; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy100; + if (yych <= 'O') goto yy208; + goto yy100; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy208; + goto yy100; + } else { + if (yych == 'p') goto yy100; + goto yy208; + } + } } -yy1038: - yyaccept = 17; +yy920: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '(': - case '+': - case '-': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1103; - case '.': - case ':': goto yy827; - default: goto yy673; + if (yych <= 'n') { + if (yych <= '/') goto yy544; + if (yych <= '9') goto yy1031; + if (yych <= 'm') goto yy544; + goto yy721; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy544; + goto yy721; + } else { + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + goto yy544; + } } -yy1039: - yyaccept = 17; +yy921: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '(': - case '+': - case '-': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1103; - default: goto yy673; + if (yych <= 'n') { + if (yych <= '/') goto yy544; + if (yych <= '1') goto yy1031; + if (yych <= 'm') goto yy544; + goto yy721; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy544; + goto yy721; + } else { + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + goto yy544; + } + } +yy922: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy1032; + if (yych <= '3') goto yy1033; + goto yy56; +yy923: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1034; + goto yy56; +yy924: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy925: + if (yybm[0+yych] & 128) { + goto yy924; } -yy1040: + if (yych <= '.') { + if (yych == '-') goto yy276; + goto yy56; + } else { + if (yych <= '/') goto yy276; + if (yych == '_') goto yy276; + goto yy56; + } +yy926: + yych = *++YYCURSOR; + if (yych == ' ') goto yy1036; + goto yy56; +yy927: + yych = *++YYCURSOR; + if (yych == 'R') goto yy950; + if (yych == 'r') goto yy950; + goto yy56; +yy928: + yych = *++YYCURSOR; + if (yych == 'R') goto yy950; + if (yych == 'r') goto yy951; + goto yy925; +yy929: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1037; + if (yych == 'e') goto yy1037; + goto yy56; +yy930: + yych = *++YYCURSOR; + if (yych == 'H') goto yy972; + if (yych == 'h') goto yy972; + goto yy56; +yy931: + yych = *++YYCURSOR; + if (yych == 'H') goto yy972; + if (yych == 'h') goto yy975; + goto yy925; +yy932: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy950; + if (yych == 'y') goto yy950; + goto yy56; +yy933: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy950; + if (yych == 'y') goto yy951; + goto yy925; +yy934: + yych = *++YYCURSOR; + goto yy136; +yy935: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '(': - case '+': - case '-': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1110; - case '.': - case ':': goto yy833; - default: goto yy673; + if (yych <= '/') { + if (yych == '.') goto yy827; + goto yy673; + } else { + if (yych <= '9') goto yy1038; + if (yych <= ':') goto yy827; + goto yy673; } -yy1041: +yy936: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '(': - case '+': - case '-': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1110; - case '.': - case ':': goto yy827; - default: goto yy673; + if (yych <= '/') { + if (yych == '.') goto yy827; + goto yy673; + } else { + if (yych <= '0') goto yy1039; + if (yych == ':') goto yy827; + goto yy673; } -yy1042: +yy937: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': - case '(': - case '+': - case '-': - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1110; - default: goto yy673; + if (yych <= '/') { + if (yych == '.') goto yy833; + goto yy673; + } else { + if (yych <= '9') goto yy1040; + if (yych <= ':') goto yy833; + goto yy673; } -yy1043: - yych = *++YYCURSOR; - switch (yych) { - case 'M': - case 'm': goto yy1044; - default: goto yy56; +yy938: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy833; + goto yy673; + } else { + if (yych <= '0') goto yy1039; + if (yych == ':') goto yy833; + goto yy673; } -yy1044: +yy939: yych = *++YYCURSOR; - switch (yych) { - case 0x00: - case '\t': - case ' ': goto yy1113; - case '.': goto yy1115; - default: goto yy56; + if (yych <= '/') goto yy673; + if (yych <= '9') goto yy1039; + goto yy673; +yy940: + yych = *++YYCURSOR; + if (yych == '0') goto yy1039; + goto yy673; +yy941: + yych = *++YYCURSOR; + goto yy673; +yy942: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy827; + goto yy673; + } else { + if (yych <= '9') goto yy1041; + if (yych <= ':') goto yy827; + goto yy673; } -yy1045: - ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case 'S': - case 's': goto yy1116; - default: goto yy1046; +yy943: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy827; + goto yy673; + } else { + if (yych <= '0') goto yy1042; + if (yych == ':') goto yy827; + goto yy673; } -yy1046: -#line 1599 "ext/date/lib/parse_date.re" - { - timelib_sll i; - int behavior = 0; - DEBUG_OUTPUT("relativetext"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - - while(*ptr) { - i = timelib_get_relative_text((char **) &ptr, &behavior); - timelib_eat_spaces((char **) &ptr); - timelib_set_relative((char **) &ptr, i, behavior, s); +yy944: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy944; + goto yy56; + } else { + if (yych <= ' ') goto yy944; + if (yych <= '@') goto yy56; + } + } else { + if (yych <= '`') { + if (yych != 'P') goto yy56; + } else { + if (yych <= 'a') goto yy946; + if (yych != 'p') goto yy56; } - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; } -#line 30232 "" -yy1047: +yy946: yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy1117; - default: goto yy56; + if (yych <= 'L') { + if (yych == '.') goto yy1043; + goto yy56; + } else { + if (yych <= 'M') goto yy1044; + if (yych == 'm') goto yy1044; + goto yy56; } -yy1048: - yyaccept = 28; +yy947: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy1118; - case 'D': - case 'd': goto yy1120; - default: goto yy1046; + if (yych <= '/') { + if (yych == '.') goto yy833; + goto yy673; + } else { + if (yych <= '0') goto yy1042; + if (yych == ':') goto yy833; + goto yy673; } -yy1049: +yy948: yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy1045; - default: goto yy56; - } -yy1050: - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'S': - case 's': goto yy1116; - case 'U': - case 'u': goto yy1121; - default: goto yy1046; - } -yy1051: - yyaccept = 28; + if (yych <= '/') goto yy673; + if (yych <= '9') goto yy1042; + goto yy673; +yy949: + yych = *++YYCURSOR; + if (yych == '0') goto yy1042; + goto yy673; +yy950: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy1118; - case 'D': - case 'd': goto yy1120; - case 'T': - case 't': goto yy1122; - default: goto yy1046; + if (yych <= ' ') { + if (yych == '\t') goto yy134; + if (yych <= 0x1F) goto yy274; + goto yy134; + } else { + if (yych <= '.') { + if (yych <= ',') goto yy274; + goto yy134; + } else { + if (yych <= '/') goto yy274; + if (yych <= '9') goto yy134; + goto yy274; + } } -yy1052: - yyaccept = 28; +yy951: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy1118; - case 'U': - case 'u': goto yy1123; - default: goto yy1046; + if (yybm[0+yych] & 128) { + goto yy924; } -yy1053: - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'O': - case 'o': goto yy1124; - case 'S': - case 's': goto yy1116; - default: goto yy1046; + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy134; + goto yy274; + } else { + if (yych <= ' ') goto yy134; + if (yych <= ',') goto yy274; + goto yy684; + } + } else { + if (yych <= '9') { + if (yych == '/') goto yy276; + goto yy134; + } else { + if (yych == '_') goto yy276; + goto yy274; + } } -yy1054: - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy1118; - case 'R': - case 'r': goto yy1125; - default: goto yy1046; +yy952: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1045; + if (yych == 'y') goto yy1045; + goto yy56; +yy953: + yych = *++YYCURSOR; + if (yych == 'R') goto yy1047; + if (yych == 'r') goto yy1047; + goto yy56; +yy954: + yych = *++YYCURSOR; + if (yych == 'I') goto yy1048; + if (yych == 'i') goto yy1048; + goto yy56; +yy955: + yych = *++YYCURSOR; + if (yych == 'U') goto yy1049; + if (yych == 'u') goto yy1049; + goto yy56; +yy956: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1050; + if (yych == 'n') goto yy1050; + goto yy56; +yy957: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1051; + if (yych == 'n') goto yy1051; + goto yy56; +yy958: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1052; + if (yych == 't') goto yy1052; + goto yy56; +yy959: + yych = *++YYCURSOR; + if (yych == 'C') goto yy1053; + if (yych == 'c') goto yy1053; + goto yy56; +yy960: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1048; + if (yych == 'n') goto yy1048; + goto yy56; +yy961: + yych = *++YYCURSOR; + if (yych == 'U') goto yy1054; + if (yych == 'u') goto yy1054; + goto yy56; +yy962: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1055; + if (yych == 'e') goto yy1055; + goto yy56; +yy963: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= 'C') goto yy56; + if (yych <= 'D') goto yy1056; + goto yy1057; + } else { + if (yych <= 'c') goto yy56; + if (yych <= 'd') goto yy1056; + if (yych <= 'e') goto yy1057; + goto yy56; } -yy1055: - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy1118; - case 'S': - case 's': goto yy1126; - default: goto yy1046; +yy964: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1049; + if (yych == 'a') goto yy1049; + goto yy56; +yy965: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1058; + if (yych == 'y') goto yy1058; + goto yy56; +yy966: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1059; + if (yych == 't') goto yy1059; + goto yy56; +yy967: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1059; + if (yych == 't') goto yy1060; + goto yy925; +yy968: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1061; + if (yych == 's') goto yy1061; + goto yy56; +yy969: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1061; + if (yych == 's') goto yy1062; + goto yy925; +yy970: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy978; + if (yych == 'y') goto yy978; + goto yy56; +yy971: + yych = *++YYCURSOR; + if (yych == 'E') goto yy927; + if (yych == 'e') goto yy927; + goto yy56; +yy972: + yych = *++YYCURSOR; + if (yych == '\t') goto yy810; + if (yych == ' ') goto yy810; + goto yy56; +yy973: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy978; + if (yych == 'y') goto yy980; + goto yy925; +yy974: + yych = *++YYCURSOR; + if (yych == 'E') goto yy927; + if (yych == 'e') goto yy928; + goto yy925; +yy975: + yych = *++YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy924; } -yy1056: - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy1118; - case 'N': - case 'n': goto yy1127; - default: goto yy1046; + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy810; + } else { + if (yych == ' ') goto yy810; + goto yy56; + } + } else { + if (yych <= '/') { + if (yych == '.') goto yy56; + goto yy276; + } else { + if (yych == '_') goto yy276; + goto yy56; + } } -yy1057: +yy976: yych = *++YYCURSOR; - switch (yych) { - case 'K': - case 'k': goto yy1128; - default: goto yy56; - } -yy1058: - yyaccept = 28; + goto yy755; +yy977: + yych = *++YYCURSOR; + if (yych == 'W') goto yy1063; + if (yych == 'w') goto yy1063; + goto yy56; +yy978: + yych = *++YYCURSOR; + goto yy294; +yy979: + yych = *++YYCURSOR; + if (yych == 'W') goto yy1063; + if (yych == 'w') goto yy1065; + goto yy925; +yy980: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ' ': goto yy1130; - case 'S': - case 's': goto yy1116; - default: goto yy1046; + if (yybm[0+yych] & 128) { + goto yy924; } -yy1059: + if (yych <= '.') { + if (yych == '-') goto yy276; + goto yy294; + } else { + if (yych <= '/') goto yy276; + if (yych == '_') goto yy276; + goto yy294; + } +yy981: yych = *++YYCURSOR; - goto yy704; -yy1060: - yyaccept = 18; + if (yych == 'A') goto yy970; + if (yych == 'a') goto yy970; + goto yy56; +yy982: + yych = *++YYCURSOR; + if (yych == 'S') goto yy978; + if (yych == 's') goto yy978; + goto yy294; +yy983: + yych = *++YYCURSOR; + if (yych == 'A') goto yy970; + if (yych == 'a') goto yy973; + goto yy925; +yy984: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': - case '/': - case '_': goto yy276; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy704; + if (yych <= 'S') { + if (yych <= '.') { + if (yych == '-') goto yy276; + goto yy294; + } else { + if (yych <= '/') goto yy276; + if (yych <= 'R') goto yy294; + goto yy978; + } + } else { + if (yych <= '`') { + if (yych == '_') goto yy276; + goto yy294; + } else { + if (yych == 's') goto yy980; + if (yych <= 'z') goto yy924; + goto yy294; + } } -yy1061: +yy985: yych = *++YYCURSOR; - switch (yych) { - case '\t': - case ' ': goto yy685; - default: goto yy56; + if (yych == 'A') goto yy1066; + if (yych == 'a') goto yy1066; + goto yy56; +yy986: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1066; + if (yych == 'a') goto yy1067; + goto yy925; +yy987: + yych = *++YYCURSOR; + if (yych == '-') goto yy1068; + goto yy56; +yy988: + ++YYCURSOR; +#line 1308 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("pointed date YYYY"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->d = timelib_get_nr((char **) &ptr, 2); + s->time->m = timelib_get_nr((char **) &ptr, 2); + s->time->y = timelib_get_nr((char **) &ptr, 4); + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL_POINTED; } -yy1062: +#line 17546 "" +yy990: yych = *++YYCURSOR; - switch (yych) { - case '\t': - case ' ': goto yy685; - case '-': - case '/': - case '_': goto yy276; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy56; + goto yy213; +yy991: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1069; + goto yy56; +yy992: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy993; + if (yych <= '9') goto yy872; + if (yych >= 'n') goto yy721; + } else { + if (yych <= 'r') { + if (yych >= 'r') goto yy721; + } else { + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + } } -yy1063: - ++YYCURSOR; -yy1064: -#line 994 "ext/date/lib/parse_date.re" +yy993: +#line 1251 "ext/date/lib/parse_date.re" { - DEBUG_OUTPUT("tomorrow"); + int length = 0; + DEBUG_OUTPUT("iso8601date2"); TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - - s->time->relative.d = 1; + 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_RELATIVE; + return TIMELIB_ISO_DATE; } -#line 30440 "" -yy1065: - yyaccept = 29; +#line 17584 "" +yy994: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': - case '/': - case '_': goto yy276; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy1064; + if (yych <= 'm') { + if (yych <= '9') { + if (yych <= '/') goto yy544; + goto yy996; + } else { + if (yych == 'T') goto yy1070; + goto yy544; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy1071; + if (yych <= 'q') goto yy544; + goto yy1071; + } else { + if (yych <= 's') goto yy1072; + if (yych <= 't') goto yy1073; + goto yy544; + } } -yy1066: - yych = *++YYCURSOR; - switch (yych) { - case 'Y': - case 'y': goto yy1131; - default: goto yy56; +yy995: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'm') { + if (yych <= '1') { + if (yych <= '/') goto yy544; + } else { + if (yych == 'T') goto yy1070; + goto yy544; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy1071; + if (yych <= 'q') goto yy544; + goto yy1071; + } else { + if (yych <= 's') goto yy1072; + if (yych <= 't') goto yy1073; + goto yy544; + } } -yy1067: - yych = *++YYCURSOR; - switch (yych) { - case 'Y': goto yy1131; - case 'y': goto yy1133; - default: goto yy925; +yy996: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych == 'T') goto yy1070; + if (yych <= 'm') goto yy544; + goto yy1071; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy544; + goto yy1071; + } else { + if (yych <= 's') goto yy1072; + if (yych <= 't') goto yy1073; + goto yy544; + } } -yy1068: +yy997: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy1134; - case '3': goto yy1135; - default: goto yy56; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy1074; + if (yych <= '3') goto yy1075; + if (yych <= '9') goto yy996; + goto yy56; +yy998: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'H') { + if (yych == '-') goto yy922; + goto yy576; + } else { + if (yych <= 'I') goto yy1018; + if (yych == 'i') goto yy1018; + goto yy576; } -yy1069: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1136; - default: goto yy56; +yy999: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych == '-') goto yy922; + goto yy576; + } else { + if (yych <= 'U') goto yy1019; + if (yych == 'u') goto yy1019; + goto yy576; } -yy1070: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1137; - case '2': goto yy1138; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1139; - default: goto yy56; +yy1000: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == '-') goto yy922; + goto yy576; + } else { + if (yych <= 'E') goto yy1020; + if (yych == 'e') goto yy1020; + goto yy576; } -yy1071: - yych = *++YYCURSOR; - switch (yych) { - case 'd': goto yy1140; - default: goto yy56; +yy1001: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych == '-') goto yy922; + goto yy576; + } else { + if (yych <= 'R') goto yy1021; + if (yych == 'r') goto yy1021; + goto yy576; } -yy1072: - yych = *++YYCURSOR; - switch (yych) { - case 't': goto yy1140; - default: goto yy56; +yy1002: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych == '-') goto yy922; + goto yy576; + } else { + if (yych <= 'U') goto yy1022; + if (yych == 'u') goto yy1022; + goto yy576; } -yy1073: +yy1003: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych == '-') goto yy922; + goto yy576; + } else { + if (yych <= 'Y') goto yy767; + if (yych == 'y') goto yy767; + goto yy576; + } +yy1004: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == '-') goto yy922; + goto yy576; + } else { + if (yych <= 'E') goto yy767; + if (yych == 'e') goto yy767; + goto yy576; + } +yy1005: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'B') { + if (yych == '-') goto yy922; + goto yy576; + } else { + if (yych <= 'C') goto yy1023; + if (yych == 'c') goto yy1023; + goto yy576; + } +yy1006: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy922; + goto yy576; +yy1007: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych == '-') goto yy922; + goto yy576; + } else { + if (yych <= 'O') goto yy1024; + if (yych == 'o') goto yy1024; + goto yy576; + } +yy1008: + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == '-') goto yy922; + goto yy576; + } else { + if (yych <= 'T') goto yy1000; + if (yych == 't') goto yy1000; + goto yy576; + } +yy1009: yych = *++YYCURSOR; - switch (yych) { - case 'h': goto yy1140; - default: goto yy56; + goto yy900; +yy1010: + yyaccept = 26; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy1011; + if (yych <= '9') goto yy1013; + if (yych >= 'n') goto yy1076; + } else { + if (yych <= 'r') { + if (yych >= 'r') goto yy1076; + } else { + if (yych <= 's') goto yy1077; + if (yych <= 't') goto yy1078; + } } -yy1074: - yyaccept = 15; +yy1011: +#line 1239 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4); + s->time->m = timelib_get_nr((char **) &ptr, 2); + s->time->d = timelib_get_nr((char **) &ptr, 2); + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } +#line 17797 "" +yy1012: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1141; - case 'T': goto yy1070; - case 'n': - case 'r': goto yy1071; - case 's': goto yy1072; - case 't': goto yy1073; - default: goto yy544; + if (yych <= 'n') { + if (yych <= '/') goto yy1011; + if (yych <= '1') goto yy1013; + if (yych <= 'm') goto yy1011; + goto yy1076; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy1011; + goto yy1076; + } else { + if (yych <= 's') goto yy1077; + if (yych <= 't') goto yy1078; + goto yy1011; + } } -yy1075: - yyaccept = 15; +yy1013: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': goto yy1141; - case 'T': goto yy1070; - case 'n': - case 'r': goto yy1071; - case 's': goto yy1072; - case 't': goto yy1073; - default: goto yy544; + if (yych <= 'q') { + if (yych == 'n') goto yy1076; + goto yy1011; + } else { + if (yych <= 'r') goto yy1076; + if (yych <= 's') goto yy1077; + if (yych <= 't') goto yy1078; + goto yy1011; } -yy1076: +yy1014: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy1079; + if (yych <= '3') goto yy1080; + if (yych <= '9') goto yy1013; + goto yy56; +yy1015: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 4) { + goto yy57; + } + if (yych <= 'W') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy185; + if (yych >= ' ') goto yy185; + } else { + if (yych == 'D') goto yy187; + if (yych >= 'F') goto yy188; + } + } else { + if (yych <= 'M') { + if (yych == 'H') goto yy76; + if (yych >= 'M') goto yy189; + } else { + if (yych <= 'S') { + if (yych >= 'S') goto yy190; + } else { + if (yych <= 'T') goto yy1081; + if (yych >= 'W') goto yy86; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy88; + if (yych >= 'd') goto yy187; + } else { + if (yych <= 'f') { + if (yych >= 'f') goto yy188; + } else { + if (yych == 'h') goto yy76; + } + } + } else { + if (yych <= 't') { + if (yych <= 'm') goto yy189; + if (yych <= 'r') goto yy1016; + if (yych <= 's') goto yy190; + goto yy1082; + } else { + if (yych <= 'w') { + if (yych >= 'w') goto yy86; + } else { + if (yych == 'y') goto yy88; + } + } + } + } +yy1016: +#line 1388 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("datenocolon"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->m = timelib_get_nr((char **) &ptr, 2); + s->time->d = timelib_get_nr((char **) &ptr, 2); + TIMELIB_DEINIT; + return TIMELIB_DATE_NOCOLON; + } +#line 17902 "" +yy1017: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy1083; + if (yych <= '3') goto yy1084; + goto yy56; +yy1018: + yych = *++YYCURSOR; + if (yych == 'L') goto yy767; + if (yych == 'l') goto yy767; + goto yy56; +yy1019: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1085; + if (yych == 's') goto yy1085; + goto yy56; +yy1020: yych = *++YYCURSOR; - switch (yych) { - case 'd': goto yy1142; - default: goto yy56; - } -yy1077: + if (yych == 'M') goto yy1024; + if (yych == 'm') goto yy1024; + goto yy56; +yy1021: yych = *++YYCURSOR; - switch (yych) { - case 't': goto yy1142; - default: goto yy56; - } -yy1078: + if (yych == 'U') goto yy1022; + if (yych != 'u') goto yy56; +yy1022: yych = *++YYCURSOR; - switch (yych) { - case 'h': goto yy1142; - default: goto yy56; - } -yy1079: - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1143; - case 'n': - case 'r': goto yy1076; - case 's': goto yy1077; - case 't': goto yy1078; - default: goto yy1011; - } -yy1080: - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': goto yy1143; - case 'n': - case 'r': goto yy1076; - case 's': goto yy1077; - case 't': goto yy1078; - default: goto yy1011; - } -yy1081: + if (yych == 'A') goto yy1086; + if (yych == 'a') goto yy1086; + goto yy56; +yy1023: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1144; - case '2': goto yy1145; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1146; - case 'H': - case 'h': goto yy253; - case 'U': - case 'u': goto yy254; - default: goto yy56; - } -yy1082: + if (yych == 'H') goto yy767; + if (yych == 'h') goto yy767; + goto yy56; +yy1024: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1147; - case '2': goto yy1148; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1149; - case 'H': - case 'h': goto yy253; - case 'U': - case 'u': goto yy254; - default: goto yy56; - } -yy1083: + if (yych == 'B') goto yy1087; + if (yych == 'b') goto yy1087; + goto yy56; +yy1025: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1150; - default: goto yy56; + if (yych <= '/') goto yy56; + if (yych >= '8') goto yy56; +yy1026: + ++YYCURSOR; +#line 1440 "ext/date/lib/parse_date.re" + { + timelib_sll w, d; + DEBUG_OUTPUT("isoweekday"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + TIMELIB_HAVE_RELATIVE(); + + s->time->y = timelib_get_nr((char **) &ptr, 4); + w = timelib_get_nr((char **) &ptr, 2); + d = timelib_get_nr((char **) &ptr, 1); + s->time->m = 1; + s->time->d = 1; + s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); + + TIMELIB_DEINIT; + return TIMELIB_ISO_WEEK; } -yy1084: +#line 17967 "" +yy1028: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1150; - default: goto yy56; - } -yy1085: + if (yych == 'H') goto yy1088; + if (yych == 'h') goto yy1088; + goto yy56; +yy1029: yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy767; - default: goto yy56; - } -yy1086: + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1089; + goto yy56; +yy1030: yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy1151; - default: goto yy56; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1091; + goto yy56; +yy1031: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'q') { + if (yych == 'n') goto yy721; + goto yy993; + } else { + if (yych <= 'r') goto yy721; + if (yych <= 's') goto yy722; + if (yych <= 't') goto yy723; + goto yy993; } -yy1087: +yy1032: yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy1152; - default: goto yy56; - } -yy1088: + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1093; + goto yy56; +yy1033: yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy401; - default: goto yy56; - } -yy1089: - yyaccept = 5; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1089; - case 'A': - case 'P': - case 'a': - case 'p': goto yy1153; - default: goto yy208; - } -yy1091: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1091; - case 'A': - case 'P': - case 'a': - case 'p': goto yy1153; - default: goto yy56; - } -yy1093: + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1093; + goto yy56; +yy1034: ++YYCURSOR; -#line 1492 "ext/date/lib/parse_date.re" + if ((yych = *YYCURSOR) <= '/') goto yy1035; + if (yych <= '9') goto yy1095; +yy1035: +#line 1478 "ext/date/lib/parse_date.re" { int length = 0; - DEBUG_OUTPUT("pgtextreverse"); + DEBUG_OUTPUT("pgtextshort"); 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); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 30777 "" -yy1095: +#line 18023 "" +yy1036: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1096; + if (yych <= '2') goto yy1098; + if (yych <= '9') goto yy1099; + goto yy56; +yy1037: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= 'C') goto yy56; + if (yych <= 'D') goto yy1056; + goto yy1101; + } else { + if (yych <= 'c') goto yy56; + if (yych <= 'd') goto yy1056; + if (yych <= 'e') goto yy1101; + goto yy56; + } +yy1038: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= ' ') { + if (yych == '\t') goto yy1103; + if (yych <= 0x1F) goto yy673; + goto yy1103; + } else { + if (yych <= '(') { + if (yych <= '\'') goto yy673; + goto yy1103; + } else { + if (yych == '+') goto yy1103; + goto yy673; + } + } + } else { + if (yych <= ':') { + if (yych <= '-') goto yy1103; + if (yych <= '.') goto yy827; + if (yych <= '9') goto yy673; + goto yy827; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy673; + goto yy1103; + } else { + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1103; + goto yy673; + } + } + } +yy1039: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '*') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1103; + goto yy673; + } else { + if (yych <= ' ') goto yy1103; + if (yych == '(') goto yy1103; + goto yy673; + } + } else { + if (yych <= '@') { + if (yych == ',') goto yy673; + if (yych <= '-') goto yy1103; + goto yy673; + } else { + if (yych <= 'Z') goto yy1103; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1103; + goto yy673; + } + } +yy1040: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= ' ') { + if (yych == '\t') goto yy1110; + if (yych <= 0x1F) goto yy673; + goto yy1110; + } else { + if (yych <= '(') { + if (yych <= '\'') goto yy673; + goto yy1110; + } else { + if (yych == '+') goto yy1110; + goto yy673; + } + } + } else { + if (yych <= ':') { + if (yych <= '-') goto yy1110; + if (yych <= '.') goto yy833; + if (yych <= '9') goto yy673; + goto yy833; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy673; + goto yy1110; + } else { + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1110; + goto yy673; + } + } + } +yy1041: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= ' ') { + if (yych == '\t') goto yy1110; + if (yych <= 0x1F) goto yy673; + goto yy1110; + } else { + if (yych <= '(') { + if (yych <= '\'') goto yy673; + goto yy1110; + } else { + if (yych == '+') goto yy1110; + goto yy673; + } + } + } else { + if (yych <= ':') { + if (yych <= '-') goto yy1110; + if (yych <= '.') goto yy827; + if (yych <= '9') goto yy673; + goto yy827; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy673; + goto yy1110; + } else { + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1110; + goto yy673; + } + } + } +yy1042: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '*') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1110; + goto yy673; + } else { + if (yych <= ' ') goto yy1110; + if (yych == '(') goto yy1110; + goto yy673; + } + } else { + if (yych <= '@') { + if (yych == ',') goto yy673; + if (yych <= '-') goto yy1110; + goto yy673; + } else { + if (yych <= 'Z') goto yy1110; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1110; + goto yy673; + } + } +yy1043: + yych = *++YYCURSOR; + if (yych == 'M') goto yy1044; + if (yych != 'm') goto yy56; +yy1044: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy1113; + if (yych == '\t') goto yy1113; + goto yy56; + } else { + if (yych <= ' ') goto yy1113; + if (yych == '.') goto yy1115; + goto yy56; + } +yy1045: + ++YYCURSOR; + if ((yych = *YYCURSOR) == 'S') goto yy1116; + if (yych == 's') goto yy1116; +yy1046: +#line 1599 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; + DEBUG_OUTPUT("relativetext"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + + while(*ptr) { + i = timelib_get_relative_text((char **) &ptr, &behavior); + timelib_eat_spaces((char **) &ptr); + timelib_set_relative((char **) &ptr, i, behavior, s); + } + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +#line 18229 "" +yy1047: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1154; - default: goto yy1035; + if (yych == 'T') goto yy1117; + if (yych == 't') goto yy1117; + goto yy56; +yy1048: + yyaccept = 28; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1046; + goto yy1118; + } else { + if (yych <= 'D') { + if (yych <= 'C') goto yy1046; + goto yy1120; + } else { + if (yych == 'd') goto yy1120; + goto yy1046; + } } -yy1096: - yyaccept = 30; +yy1049: + yych = *++YYCURSOR; + if (yych == 'R') goto yy1045; + if (yych == 'r') goto yy1045; + goto yy56; +yy1050: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1099; - default: goto yy1100; + if (yych <= 'U') { + if (yych == 'S') goto yy1116; + if (yych <= 'T') goto yy1046; + goto yy1121; + } else { + if (yych <= 's') { + if (yych <= 'r') goto yy1046; + goto yy1116; + } else { + if (yych == 'u') goto yy1121; + goto yy1046; + } } -yy1097: -#line 1049 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("backof | frontof"); - TIMELIB_INIT; - TIMELIB_UNHAVE_TIME(); - TIMELIB_HAVE_TIME(); - - if (*ptr == 'b') { - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = 15; +yy1051: + yyaccept = 28; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1118; + goto yy1046; } else { - s->time->h = timelib_get_nr((char **) &ptr, 2) - 1; - s->time->i = 45; + if (yych <= ' ') goto yy1118; + if (yych <= 'C') goto yy1046; + goto yy1120; } - if (*ptr != '\0' ) { - timelib_eat_spaces((char **) &ptr); - s->time->h += timelib_meridian((char **) &ptr, s->time->h); + } else { + if (yych <= 'c') { + if (yych == 'T') goto yy1122; + goto yy1046; + } else { + if (yych <= 'd') goto yy1120; + if (yych == 't') goto yy1122; + goto yy1046; } - - TIMELIB_DEINIT; - return TIMELIB_LF_DAY_OF_MONTH; } -#line 30832 "" -yy1098: - yyaccept = 30; +yy1052: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': goto yy1099; - default: goto yy1100; + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1046; + goto yy1118; + } else { + if (yych <= 'U') { + if (yych <= 'T') goto yy1046; + goto yy1123; + } else { + if (yych == 'u') goto yy1123; + goto yy1046; + } } -yy1099: - yyaccept = 30; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; -yy1100: - switch (yych) { - case '\t': - case ' ': goto yy1099; - case 'A': - case 'P': - case 'a': - case 'p': goto yy1155; - default: goto yy1097; +yy1053: + yyaccept = 28; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == 'O') goto yy1124; + if (yych <= 'R') goto yy1046; + goto yy1116; + } else { + if (yych <= 'o') { + if (yych <= 'n') goto yy1046; + goto yy1124; + } else { + if (yych == 's') goto yy1116; + goto yy1046; + } } -yy1101: +yy1054: + yyaccept = 28; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1046; + goto yy1118; + } else { + if (yych <= 'R') { + if (yych <= 'Q') goto yy1046; + goto yy1125; + } else { + if (yych == 'r') goto yy1125; + goto yy1046; + } + } +yy1055: + yyaccept = 28; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1046; + goto yy1118; + } else { + if (yych <= 'S') { + if (yych <= 'R') goto yy1046; + goto yy1126; + } else { + if (yych == 's') goto yy1126; + goto yy1046; + } + } +yy1056: + yyaccept = 28; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1046; + goto yy1118; + } else { + if (yych <= 'N') { + if (yych <= 'M') goto yy1046; + goto yy1127; + } else { + if (yych == 'n') goto yy1127; + goto yy1046; + } + } +yy1057: yych = *++YYCURSOR; - switch (yych) { - case 'K': - case 'k': goto yy1156; - default: goto yy56; + if (yych == 'K') goto yy1128; + if (yych == 'k') goto yy1128; + goto yy56; +yy1058: + yyaccept = 28; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych == ' ') goto yy1130; + goto yy1046; + } else { + if (yych <= 'S') goto yy1116; + if (yych == 's') goto yy1116; + goto yy1046; } -yy1102: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy1103: - switch (yych) { - case '\t': - case ' ': goto yy1102; - case '(': goto yy1104; - case '+': - case '-': goto yy1105; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy1106; - case 'G': goto yy1107; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1108; - default: goto yy56; +yy1059: + yych = *++YYCURSOR; + goto yy704; +yy1060: + yyaccept = 18; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy924; } -yy1104: + if (yych <= '.') { + if (yych == '-') goto yy276; + goto yy704; + } else { + if (yych <= '/') goto yy276; + if (yych == '_') goto yy276; + goto yy704; + } +yy1061: yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1108; - default: goto yy56; + if (yych == '\t') goto yy685; + if (yych == ' ') goto yy685; + goto yy56; +yy1062: + yych = *++YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy924; + } + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy685; + } else { + if (yych == ' ') goto yy685; + goto yy56; + } + } else { + if (yych <= '/') { + if (yych == '.') goto yy56; + goto yy276; + } else { + if (yych == '_') goto yy276; + goto yy56; + } + } +yy1063: + ++YYCURSOR; +yy1064: +#line 994 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("tomorrow"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_UNHAVE_TIME(); + + s->time->relative.d = 1; + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; } -yy1105: +#line 18448 "" +yy1065: + yyaccept = 29; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy924; + } + if (yych <= '.') { + if (yych == '-') goto yy276; + goto yy1064; + } else { + if (yych <= '/') goto yy276; + if (yych == '_') goto yy276; + goto yy1064; + } +yy1066: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1157; - case '2': goto yy1158; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1159; - default: goto yy56; + if (yych == 'Y') goto yy1131; + if (yych == 'y') goto yy1131; + goto yy56; +yy1067: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1131; + if (yych == 'y') goto yy1133; + goto yy925; +yy1068: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy1134; + if (yych <= '3') goto yy1135; + goto yy56; +yy1069: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1136; + goto yy56; +yy1070: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1137; + if (yych <= '2') goto yy1138; + if (yych <= '9') goto yy1139; + goto yy56; +yy1071: + yych = *++YYCURSOR; + if (yych == 'd') goto yy1140; + goto yy56; +yy1072: + yych = *++YYCURSOR; + if (yych == 't') goto yy1140; + goto yy56; +yy1073: + yych = *++YYCURSOR; + if (yych == 'h') goto yy1140; + goto yy56; +yy1074: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'm') { + if (yych <= '9') { + if (yych <= '/') goto yy544; + goto yy1141; + } else { + if (yych == 'T') goto yy1070; + goto yy544; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy1071; + if (yych <= 'q') goto yy544; + goto yy1071; + } else { + if (yych <= 's') goto yy1072; + if (yych <= 't') goto yy1073; + goto yy544; + } } -yy1106: +yy1075: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'm') { + if (yych <= '1') { + if (yych <= '/') goto yy544; + goto yy1141; + } else { + if (yych == 'T') goto yy1070; + goto yy544; + } + } else { + if (yych <= 'r') { + if (yych <= 'n') goto yy1071; + if (yych <= 'q') goto yy544; + goto yy1071; + } else { + if (yych <= 's') goto yy1072; + if (yych <= 't') goto yy1073; + goto yy544; + } + } +yy1076: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy941; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy1160; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1161; - default: goto yy673; + if (yych == 'd') goto yy1142; + goto yy56; +yy1077: + yych = *++YYCURSOR; + if (yych == 't') goto yy1142; + goto yy56; +yy1078: + yych = *++YYCURSOR; + if (yych == 'h') goto yy1142; + goto yy56; +yy1079: + yyaccept = 26; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy1011; + if (yych <= '9') goto yy1143; + if (yych <= 'm') goto yy1011; + goto yy1076; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy1011; + goto yy1076; + } else { + if (yych <= 's') goto yy1077; + if (yych <= 't') goto yy1078; + goto yy1011; + } } -yy1107: +yy1080: + yyaccept = 26; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy1011; + if (yych <= '1') goto yy1143; + if (yych <= 'm') goto yy1011; + goto yy1076; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy1011; + goto yy1076; + } else { + if (yych <= 's') goto yy1077; + if (yych <= 't') goto yy1078; + goto yy1011; + } + } +yy1081: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy941; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy1160; - case 'M': goto yy1162; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1161; - default: goto yy673; + if (yych <= 'H') { + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1144; + goto yy1145; + } else { + if (yych <= '9') goto yy1146; + if (yych <= 'G') goto yy56; + goto yy253; + } + } else { + if (yych <= 'g') { + if (yych == 'U') goto yy254; + goto yy56; + } else { + if (yych <= 'h') goto yy253; + if (yych == 'u') goto yy254; + goto yy56; + } } -yy1108: +yy1082: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy941; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1160; - default: goto yy673; + if (yych <= 'H') { + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1147; + goto yy1148; + } else { + if (yych <= '9') goto yy1149; + if (yych <= 'G') goto yy56; + goto yy253; + } + } else { + if (yych <= 'g') { + if (yych == 'U') goto yy254; + goto yy56; + } else { + if (yych <= 'h') goto yy253; + if (yych == 'u') goto yy254; + goto yy56; + } + } +yy1083: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1150; + goto yy56; +yy1084: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1150; + goto yy56; +yy1085: + yych = *++YYCURSOR; + if (yych == 'T') goto yy767; + if (yych == 't') goto yy767; + goto yy56; +yy1086: + yych = *++YYCURSOR; + if (yych == 'R') goto yy1151; + if (yych == 'r') goto yy1151; + goto yy56; +yy1087: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1152; + if (yych == 'e') goto yy1152; + goto yy56; +yy1088: + yych = *++YYCURSOR; + if (yych == 'T') goto yy401; + if (yych == 't') goto yy401; + goto yy56; +yy1089: + yyaccept = 5; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'O') { + if (yych <= '9') { + if (yych <= '/') goto yy208; + goto yy1089; + } else { + if (yych == 'A') goto yy1153; + goto yy208; + } + } else { + if (yych <= 'a') { + if (yych <= 'P') goto yy1153; + if (yych <= '`') goto yy208; + goto yy1153; + } else { + if (yych == 'p') goto yy1153; + goto yy208; + } } -yy1109: +yy1091: ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; -yy1110: - switch (yych) { - case '\t': - case ' ': goto yy1109; - case '(': goto yy1104; - case '+': - case '-': goto yy1105; - case 'A': - case 'P': goto yy1111; - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy1106; - case 'G': goto yy1107; - case 'a': - case 'p': goto yy1112; - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1108; - default: goto yy56; + if (yych <= 'O') { + if (yych <= '9') { + if (yych <= '/') goto yy56; + goto yy1091; + } else { + if (yych == 'A') goto yy1153; + goto yy56; + } + } else { + if (yych <= 'a') { + if (yych <= 'P') goto yy1153; + if (yych <= '`') goto yy56; + goto yy1153; + } else { + if (yych == 'p') goto yy1153; + goto yy56; + } } -yy1111: - yyaccept = 17; +yy1093: + ++YYCURSOR; +#line 1492 "ext/date/lib/parse_date.re" + { + 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; + } +#line 18729 "" +yy1095: + yych = *++YYCURSOR; + if (yych <= '/') goto yy1035; + if (yych <= '9') goto yy1154; + goto yy1035; +yy1096: + yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy941; - case '.': goto yy1043; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy1160; - case 'M': goto yy1163; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1161; - case 'm': goto yy1164; - default: goto yy673; + if (yych <= '/') goto yy1100; + if (yych <= '9') goto yy1099; + goto yy1100; +yy1097: +#line 1049 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("backof | frontof"); + TIMELIB_INIT; + TIMELIB_UNHAVE_TIME(); + TIMELIB_HAVE_TIME(); + + if (*ptr == 'b') { + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = 15; + } else { + s->time->h = timelib_get_nr((char **) &ptr, 2) - 1; + s->time->i = 45; + } + if (*ptr != '\0' ) { + timelib_eat_spaces((char **) &ptr); + s->time->h += timelib_meridian((char **) &ptr, s->time->h); + } + + TIMELIB_DEINIT; + return TIMELIB_LF_DAY_OF_MONTH; } -yy1112: - yyaccept = 17; +#line 18764 "" +yy1098: + yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy941; - case '.': goto yy1043; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1160; - case 'M': - case 'm': goto yy1163; - default: goto yy673; + if (yych <= '/') goto yy1100; + if (yych >= '5') goto yy1100; +yy1099: + yyaccept = 30; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; +yy1100: + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1099; + goto yy1097; + } else { + if (yych <= ' ') goto yy1099; + if (yych <= '@') goto yy1097; + goto yy1155; + } + } else { + if (yych <= '`') { + if (yych == 'P') goto yy1155; + goto yy1097; + } else { + if (yych <= 'a') goto yy1155; + if (yych == 'p') goto yy1155; + goto yy1097; + } + } +yy1101: + yych = *++YYCURSOR; + if (yych == 'K') goto yy1156; + if (yych == 'k') goto yy1156; + goto yy56; +yy1102: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; +yy1103: + if (yych <= '+') { + if (yych <= ' ') { + if (yych == '\t') goto yy1102; + if (yych <= 0x1F) goto yy56; + goto yy1102; + } else { + if (yych == '(') goto yy1104; + if (yych <= '*') goto yy56; + goto yy1105; + } + } else { + if (yych <= 'F') { + if (yych == '-') goto yy1105; + if (yych <= '@') goto yy56; + goto yy1106; + } else { + if (yych <= 'Z') { + if (yych <= 'G') goto yy1107; + goto yy1106; + } else { + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy1108; + goto yy56; + } + } + } +yy1104: + yych = *++YYCURSOR; + if (yych <= '@') goto yy56; + if (yych <= 'Z') goto yy1108; + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy1108; + goto yy56; +yy1105: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1157; + if (yych <= '2') goto yy1158; + if (yych <= '9') goto yy1159; + goto yy56; +yy1106: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy941; + goto yy673; + } else { + if (yych <= 'Z') goto yy1160; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1161; + goto yy673; + } +yy1107: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych == ')') goto yy941; + if (yych <= '@') goto yy673; + goto yy1160; + } else { + if (yych <= 'Z') { + if (yych <= 'M') goto yy1162; + goto yy1160; + } else { + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1161; + goto yy673; + } + } +yy1108: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy941; + goto yy673; + } else { + if (yych <= 'Z') goto yy1160; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1160; + goto yy673; + } +yy1109: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; +yy1110: + if (yych <= '@') { + if (yych <= '\'') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy1109; + } else { + if (yych == ' ') goto yy1109; + goto yy56; + } + } else { + if (yych <= '+') { + if (yych <= '(') goto yy1104; + if (yych <= '*') goto yy56; + goto yy1105; + } else { + if (yych == '-') goto yy1105; + goto yy56; + } + } + } else { + if (yych <= 'Z') { + if (yych <= 'G') { + if (yych <= 'A') goto yy1111; + if (yych <= 'F') goto yy1106; + goto yy1107; + } else { + if (yych != 'P') goto yy1106; + } + } else { + if (yych <= 'o') { + if (yych <= '`') goto yy56; + if (yych <= 'a') goto yy1112; + goto yy1108; + } else { + if (yych <= 'p') goto yy1112; + if (yych <= 'z') goto yy1108; + goto yy56; + } + } + } +yy1111: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy941; + goto yy673; + } else { + if (yych <= '.') goto yy1043; + if (yych <= '@') goto yy673; + goto yy1160; + } + } else { + if (yych <= '`') { + if (yych <= 'M') goto yy1163; + if (yych <= 'Z') goto yy1160; + goto yy673; + } else { + if (yych == 'm') goto yy1164; + if (yych <= 'z') goto yy1161; + goto yy673; + } + } +yy1112: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy941; + goto yy673; + } else { + if (yych <= '.') goto yy1043; + if (yych <= '@') goto yy673; + goto yy1160; + } + } else { + if (yych <= '`') { + if (yych <= 'M') goto yy1163; + if (yych <= 'Z') goto yy1160; + goto yy673; + } else { + if (yych == 'm') goto yy1163; + if (yych <= 'z') goto yy1160; + goto yy673; + } } yy1113: ++YYCURSOR; @@ -31383,103 +18995,103 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 31387 "" +#line 18999 "" yy1115: yych = *++YYCURSOR; - switch (yych) { - case 0x00: - case '\t': - case ' ': goto yy1113; - default: goto yy56; + if (yych <= '\t') { + if (yych <= 0x00) goto yy1113; + if (yych <= 0x08) goto yy56; + goto yy1113; + } else { + if (yych == ' ') goto yy1113; + goto yy56; } yy1116: yych = *++YYCURSOR; goto yy1046; yy1117: yych = *++YYCURSOR; - switch (yych) { - case 'H': - case 'h': goto yy1165; - case 'N': - case 'n': goto yy1166; - default: goto yy56; + if (yych <= 'N') { + if (yych == 'H') goto yy1165; + if (yych <= 'M') goto yy56; + goto yy1166; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy1165; + } else { + if (yych == 'n') goto yy1166; + goto yy56; + } } yy1118: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - switch (yych) { - case '\t': - case ' ': goto yy1118; - case 'O': - case 'o': goto yy1167; - default: goto yy56; + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy56; + goto yy1118; + } else { + if (yych <= 'O') { + if (yych <= 'N') goto yy56; + goto yy1167; + } else { + if (yych == 'o') goto yy1167; + goto yy56; + } } yy1120: yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy1168; - default: goto yy56; - } + if (yych == 'A') goto yy1168; + if (yych == 'a') goto yy1168; + goto yy56; yy1121: yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy1169; - default: goto yy56; - } + if (yych == 'T') goto yy1169; + if (yych == 't') goto yy1169; + goto yy56; yy1122: yych = *++YYCURSOR; - switch (yych) { - case 'H': - case 'h': goto yy1045; - default: goto yy56; - } + if (yych == 'H') goto yy1045; + if (yych == 'h') goto yy1045; + goto yy56; yy1123: yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy1126; - default: goto yy56; - } + if (yych == 'R') goto yy1126; + if (yych == 'r') goto yy1126; + goto yy56; yy1124: yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy1170; - default: goto yy56; - } + if (yych == 'N') goto yy1170; + if (yych == 'n') goto yy1170; + goto yy56; yy1125: yych = *++YYCURSOR; - switch (yych) { - case 'S': - case 's': goto yy1126; - default: goto yy56; - } + if (yych == 'S') goto yy1126; + if (yych != 's') goto yy56; yy1126: yych = *++YYCURSOR; - switch (yych) { - case 'D': - case 'd': goto yy1120; - default: goto yy56; - } + if (yych == 'D') goto yy1120; + if (yych == 'd') goto yy1120; + goto yy56; yy1127: yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy1125; - default: goto yy56; - } + if (yych == 'E') goto yy1125; + if (yych == 'e') goto yy1125; + goto yy56; yy1128: yyaccept = 31; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'D': - case 'd': goto yy837; - case 'S': - case 's': goto yy1116; - default: goto yy1129; + if (yych <= 'S') { + if (yych == 'D') goto yy837; + if (yych >= 'S') goto yy1116; + } else { + if (yych <= 'd') { + if (yych >= 'd') goto yy837; + } else { + if (yych == 's') goto yy1116; + } } yy1129: #line 1575 "ext/date/lib/parse_date.re" @@ -31505,14 +19117,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 31509 "" +#line 19121 "" yy1130: yych = *++YYCURSOR; - switch (yych) { - case 'O': - case 'o': goto yy1171; - default: goto yy56; - } + if (yych == 'O') goto yy1171; + if (yych == 'o') goto yy1171; + goto yy56; yy1131: ++YYCURSOR; yy1132: @@ -31527,120 +19137,72 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 31531 "" +#line 19141 "" yy1133: yyaccept = 32; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': - case '/': - case '_': goto yy276; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy924; - default: goto yy1132; + if (yybm[0+yych] & 128) { + goto yy924; + } + if (yych <= '.') { + if (yych == '-') goto yy276; + goto yy1132; + } else { + if (yych <= '/') goto yy276; + if (yych == '_') goto yy276; + goto yy1132; } yy1134: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1142; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1142; + goto yy56; yy1135: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1142; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1142; + goto yy56; yy1136: yych = *++YYCURSOR; - switch (yych) { - case ':': goto yy1172; - default: goto yy56; - } + if (yych == ':') goto yy1172; + goto yy56; yy1137: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1139; - case ':': goto yy1173; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1139; + if (yych <= ':') goto yy1173; + goto yy56; yy1138: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': goto yy1139; - case ':': goto yy1173; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy1139; + if (yych == ':') goto yy1173; + goto yy56; yy1139: yych = *++YYCURSOR; - switch (yych) { - case ':': goto yy1173; - default: goto yy56; - } + if (yych == ':') goto yy1173; + goto yy56; yy1140: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'T': goto yy1070; - default: goto yy544; - } + if (yych == 'T') goto yy1070; + goto yy544; yy1141: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 'T': goto yy1174; - case 'n': - case 'r': goto yy1071; - case 's': goto yy1072; - case 't': goto yy1073; - default: goto yy1011; + if (yych <= 'n') { + if (yych == 'T') goto yy1174; + if (yych <= 'm') goto yy1011; + goto yy1071; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy1011; + goto yy1071; + } else { + if (yych <= 's') goto yy1072; + if (yych <= 't') goto yy1073; + goto yy1011; + } } yy1142: yych = *++YYCURSOR; @@ -31648,970 +19210,441 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) yy1143: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '/': goto yy1142; - case 'n': - case 'r': goto yy1076; - case 's': goto yy1077; - case 't': goto yy1078; - default: goto yy1011; + if (yych <= 'n') { + if (yych == '/') goto yy1142; + if (yych <= 'm') goto yy1011; + goto yy1076; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy1011; + goto yy1076; + } else { + if (yych <= 's') goto yy1077; + if (yych <= 't') goto yy1078; + goto yy1011; + } } yy1144: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1175; - case '6': - case '7': - case '8': - case '9': goto yy1146; - case ':': goto yy1176; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1175; + if (yych <= '9') goto yy1146; + if (yych <= ':') goto yy1176; + goto yy56; yy1145: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': goto yy1175; - case '5': goto yy1177; - case ':': goto yy1176; - default: goto yy56; + if (yych <= '5') { + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy1175; + goto yy1177; + } else { + if (yych == ':') goto yy1176; + goto yy56; } yy1146: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1177; - case ':': goto yy1176; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1177; + if (yych == ':') goto yy1176; + goto yy56; yy1147: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1178; - case '6': - case '7': - case '8': - case '9': goto yy1149; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1178; + if (yych <= '9') goto yy1149; + goto yy56; yy1148: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': goto yy1178; - case '5': goto yy1177; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy1178; + if (yych <= '5') goto yy1177; + goto yy56; yy1149: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1177; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1177; + goto yy56; yy1150: yych = *++YYCURSOR; - switch (yych) { - case ' ': goto yy1179; - default: goto yy56; - } + if (yych == ' ') goto yy1179; + goto yy56; yy1151: yych = *++YYCURSOR; - switch (yych) { - case 'Y': - case 'y': goto yy767; - default: goto yy56; - } + if (yych == 'Y') goto yy767; + if (yych == 'y') goto yy767; + goto yy56; yy1152: yych = *++YYCURSOR; - switch (yych) { - case 'R': - case 'r': goto yy767; - default: goto yy56; - } + if (yych == 'R') goto yy767; + if (yych == 'r') goto yy767; + goto yy56; yy1153: yych = *++YYCURSOR; - switch (yych) { - case '.': goto yy1180; - case 'M': - case 'm': goto yy1181; - default: goto yy56; + if (yych <= 'L') { + if (yych == '.') goto yy1180; + goto yy56; + } else { + if (yych <= 'M') goto yy1181; + if (yych == 'm') goto yy1181; + goto yy56; } yy1154: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1182; - default: goto yy1035; - } + if (yych <= '/') goto yy1035; + if (yych <= '9') goto yy1182; + goto yy1035; yy1155: yych = *++YYCURSOR; - switch (yych) { - case '.': goto yy1183; - case 'M': - case 'm': goto yy1184; - default: goto yy56; + if (yych <= 'L') { + if (yych == '.') goto yy1183; + goto yy56; + } else { + if (yych <= 'M') goto yy1184; + if (yych == 'm') goto yy1184; + goto yy56; } yy1156: yych = *++YYCURSOR; - switch (yych) { - case 'D': - case 'd': goto yy837; - case 'S': - case 's': goto yy1116; - default: goto yy56; + if (yych <= 'S') { + if (yych == 'D') goto yy837; + if (yych <= 'R') goto yy56; + goto yy1116; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy837; + } else { + if (yych == 's') goto yy1116; + goto yy56; + } } yy1157: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1159; - case ':': goto yy1185; - default: goto yy673; - } + if (yych <= '/') goto yy673; + if (yych <= '9') goto yy1159; + if (yych <= ':') goto yy1185; + goto yy673; yy1158: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': goto yy1159; - case '5': goto yy1186; - case '6': - case '7': - case '8': - case '9': goto yy941; - case ':': goto yy1185; - default: goto yy673; + if (yych <= '5') { + if (yych <= '/') goto yy673; + if (yych >= '5') goto yy1186; + } else { + if (yych <= '9') goto yy941; + if (yych <= ':') goto yy1185; + goto yy673; } yy1159: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1186; - case '6': - case '7': - case '8': - case '9': goto yy941; - case ':': goto yy1185; - default: goto yy673; - } + if (yych <= '/') goto yy673; + if (yych <= '5') goto yy1186; + if (yych <= '9') goto yy941; + if (yych <= ':') goto yy1185; + goto yy673; yy1160: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy941; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1187; - default: goto yy673; + if (yych <= '@') { + if (yych == ')') goto yy941; + goto yy673; + } else { + if (yych <= 'Z') goto yy1187; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1187; + goto yy673; } yy1161: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy941; - case '-': - case '/': - case '_': goto yy1188; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy1187; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1189; - default: goto yy673; + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy941; + goto yy673; + } else { + if (yych == '.') goto yy673; + goto yy1188; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy673; + if (yych <= 'Z') goto yy1187; + goto yy673; + } else { + if (yych <= '_') goto yy1188; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1189; + goto yy673; + } } yy1162: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy941; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1187; - case 'T': goto yy1190; - default: goto yy673; + if (yych <= 'S') { + if (yych == ')') goto yy941; + if (yych <= '@') goto yy673; + goto yy1187; + } else { + if (yych <= 'Z') { + if (yych <= 'T') goto yy1190; + goto yy1187; + } else { + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1187; + goto yy673; + } } yy1163: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 0x00: - case '\t': - case ' ': goto yy1113; - case ')': goto yy941; - case '.': goto yy1115; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1187; - default: goto yy673; + if (yych <= ')') { + if (yych <= '\t') { + if (yych <= 0x00) goto yy1113; + if (yych <= 0x08) goto yy673; + goto yy1113; + } else { + if (yych == ' ') goto yy1113; + if (yych <= '(') goto yy673; + goto yy941; + } + } else { + if (yych <= '@') { + if (yych == '.') goto yy1115; + goto yy673; + } else { + if (yych <= 'Z') goto yy1187; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1187; + goto yy673; + } } yy1164: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case 0x00: - case '\t': - case ' ': goto yy1113; - case ')': goto yy941; - case '-': - case '/': - case '_': goto yy1188; - case '.': goto yy1115; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy1187; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1189; - default: goto yy673; + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy1113; + if (yych == '\t') goto yy1113; + goto yy673; + } else { + if (yych <= '(') { + if (yych <= ' ') goto yy1113; + goto yy673; + } else { + if (yych <= ')') goto yy941; + if (yych <= ',') goto yy673; + goto yy1188; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '.') goto yy1115; + if (yych <= '/') goto yy1188; + if (yych <= '@') goto yy673; + goto yy1187; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy673; + goto yy1188; + } else { + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1189; + goto yy673; + } + } } yy1165: yych = *++YYCURSOR; - switch (yych) { - case 'N': - case 'n': goto yy1166; - default: goto yy56; - } + if (yych == 'N') goto yy1166; + if (yych != 'n') goto yy56; yy1166: yych = *++YYCURSOR; - switch (yych) { - case 'I': - case 'i': goto yy1191; - default: goto yy56; - } + if (yych == 'I') goto yy1191; + if (yych == 'i') goto yy1191; + goto yy56; yy1167: yych = *++YYCURSOR; - switch (yych) { - case 'F': - case 'f': goto yy1192; - default: goto yy56; - } + if (yych == 'F') goto yy1192; + if (yych == 'f') goto yy1192; + goto yy56; yy1168: yych = *++YYCURSOR; - switch (yych) { - case 'Y': - case 'y': goto yy1194; - default: goto yy56; - } + if (yych == 'Y') goto yy1194; + if (yych == 'y') goto yy1194; + goto yy56; yy1169: yych = *++YYCURSOR; - switch (yych) { - case 'E': - case 'e': goto yy1045; - default: goto yy56; - } + if (yych == 'E') goto yy1045; + if (yych == 'e') goto yy1045; + goto yy56; yy1170: yych = *++YYCURSOR; - switch (yych) { - case 'D': - case 'd': goto yy1045; - default: goto yy56; - } + if (yych == 'D') goto yy1045; + if (yych == 'd') goto yy1045; + goto yy56; yy1171: yych = *++YYCURSOR; - switch (yych) { - case 'F': - case 'f': goto yy1195; - default: goto yy56; - } + if (yych == 'F') goto yy1195; + if (yych == 'f') goto yy1195; + goto yy56; yy1172: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1197; - case '2': goto yy1198; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1197; + if (yych <= '2') goto yy1198; + goto yy56; yy1173: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1199; - case '6': - case '7': - case '8': - case '9': goto yy1200; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1199; + if (yych <= '9') goto yy1200; + goto yy56; yy1174: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1201; - case '2': goto yy1202; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1139; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1201; + if (yych <= '2') goto yy1202; + if (yych <= '9') goto yy1139; + goto yy56; yy1175: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1203; - case '6': - case '7': - case '8': - case '9': goto yy1204; - case ':': goto yy1176; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1203; + if (yych <= '9') goto yy1204; + if (yych >= ';') goto yy56; yy1176: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1205; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1205; + goto yy56; yy1177: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1204; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1204; + goto yy56; yy1178: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1203; - case '6': - case '7': - case '8': - case '9': goto yy1204; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1203; + if (yych <= '9') goto yy1204; + goto yy56; yy1179: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1206; - case '2': goto yy1207; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1206; + if (yych <= '2') goto yy1207; + goto yy56; yy1180: yych = *++YYCURSOR; - switch (yych) { - case 'M': - case 'm': goto yy1181; - default: goto yy56; - } + if (yych == 'M') goto yy1181; + if (yych != 'm') goto yy56; yy1181: yych = *++YYCURSOR; - switch (yych) { - case 0x00: - case '\t': - case ' ': goto yy1208; - case '.': goto yy1210; - default: goto yy56; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy1208; + if (yych == '\t') goto yy1208; + goto yy56; + } else { + if (yych <= ' ') goto yy1208; + if (yych == '.') goto yy1210; + goto yy56; } yy1182: yych = *++YYCURSOR; goto yy1035; yy1183: yych = *++YYCURSOR; - switch (yych) { - case 'M': - case 'm': goto yy1184; - default: goto yy56; - } + if (yych == 'M') goto yy1184; + if (yych != 'm') goto yy56; yy1184: yych = *++YYCURSOR; - switch (yych) { - case 0x00: - case '\t': - case ' ': goto yy1211; - case '.': goto yy1212; - default: goto yy56; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy1211; + if (yych == '\t') goto yy1211; + goto yy56; + } else { + if (yych <= ' ') goto yy1211; + if (yych == '.') goto yy1212; + goto yy56; } yy1185: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1186; - case '6': - case '7': - case '8': - case '9': goto yy941; - default: goto yy673; - } -yy1186: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy941; - default: goto yy673; - } -yy1187: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy941; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1213; - default: goto yy673; + yych = *++YYCURSOR; + if (yych <= '/') goto yy673; + if (yych <= '5') goto yy1186; + if (yych <= '9') goto yy941; + goto yy673; +yy1186: + yych = *++YYCURSOR; + if (yych <= '/') goto yy673; + if (yych <= '9') goto yy941; + goto yy673; +yy1187: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy941; + goto yy673; + } else { + if (yych <= 'Z') goto yy1213; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1213; + goto yy673; } yy1188: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch (yych) { - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1214; - default: goto yy56; - } + if (yych <= '@') goto yy56; + if (yych <= 'Z') goto yy1214; + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy1214; + goto yy56; yy1189: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy941; - case '-': - case '/': - case '_': goto yy1188; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy1213; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1216; - default: goto yy673; + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy941; + goto yy673; + } else { + if (yych == '.') goto yy673; + goto yy1188; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy673; + if (yych <= 'Z') goto yy1213; + goto yy673; + } else { + if (yych <= '_') goto yy1188; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1216; + goto yy673; + } } yy1190: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy941; - case '+': - case '-': goto yy1105; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1213; - default: goto yy673; + if (yych <= ',') { + if (yych <= ')') { + if (yych <= '(') goto yy673; + goto yy941; + } else { + if (yych == '+') goto yy1105; + goto yy673; + } + } else { + if (yych <= 'Z') { + if (yych <= '-') goto yy1105; + if (yych <= '@') goto yy673; + goto yy1213; + } else { + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1213; + goto yy673; + } } yy1191: yych = *++YYCURSOR; - switch (yych) { - case 'G': - case 'g': goto yy1217; - default: goto yy56; - } + if (yych == 'G') goto yy1217; + if (yych == 'g') goto yy1217; + goto yy56; yy1192: ++YYCURSOR; #line 1072 "ext/date/lib/parse_date.re" @@ -32635,15 +19668,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_WEEK_DAY_OF_MONTH; } -#line 32639 "" +#line 19672 "" yy1194: yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': - case ' ': goto yy1118; - default: goto yy1046; - } + if (yych == '\t') goto yy1118; + if (yych == ' ') goto yy1118; + goto yy1046; yy1195: ++YYCURSOR; #line 1032 "ext/date/lib/parse_date.re" @@ -32662,148 +19693,66 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 32666 "" +#line 19697 "" yy1197: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1218; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1218; + goto yy56; yy1198: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': goto yy1218; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy1218; + goto yy56; yy1199: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1200; - case ':': goto yy1219; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1200; + if (yych <= ':') goto yy1219; + goto yy56; yy1200: yych = *++YYCURSOR; - switch (yych) { - case ':': goto yy1219; - default: goto yy56; - } + if (yych == ':') goto yy1219; + goto yy56; yy1201: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1220; - case ':': goto yy1173; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1220; + if (yych <= ':') goto yy1173; + goto yy56; yy1202: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': goto yy1220; - case ':': goto yy1173; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy1220; + if (yych == ':') goto yy1173; + goto yy56; yy1203: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1219; - case '6': goto yy1221; - case '7': - case '8': - case '9': goto yy1204; - default: goto yy56; - } -yy1204: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1222; - case '6': goto yy1223; - default: goto yy56; - } + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1219; + if (yych <= '6') goto yy1221; + if (yych >= ':') goto yy56; +yy1204: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1222; + if (yych <= '6') goto yy1223; + goto yy56; yy1205: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1224; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1224; + goto yy56; yy1206: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1225; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1225; + goto yy56; yy1207: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': goto yy1225; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy1225; + goto yy56; yy1208: ++YYCURSOR; #line 1111 "ext/date/lib/parse_date.re" @@ -32825,441 +19774,180 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 32829 "" +#line 19778 "" yy1210: yych = *++YYCURSOR; - switch (yych) { - case 0x00: - case '\t': - case ' ': goto yy1208; - default: goto yy56; + if (yych <= '\t') { + if (yych <= 0x00) goto yy1208; + if (yych <= 0x08) goto yy56; + goto yy1208; + } else { + if (yych == ' ') goto yy1208; + goto yy56; } yy1211: yych = *++YYCURSOR; goto yy1097; yy1212: yych = *++YYCURSOR; - switch (yych) { - case 0x00: - case '\t': - case ' ': goto yy1211; - default: goto yy56; + if (yych <= '\t') { + if (yych <= 0x00) goto yy1211; + if (yych <= 0x08) goto yy56; + goto yy1211; + } else { + if (yych == ' ') goto yy1211; + goto yy56; } yy1213: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy941; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1226; - default: goto yy673; + if (yych <= '@') { + if (yych == ')') goto yy941; + goto yy673; + } else { + if (yych <= 'Z') goto yy1226; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1226; + goto yy673; } yy1214: yyaccept = 17; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - switch (yych) { - case '-': - case '/': - case '_': goto yy1188; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1214; - default: goto yy673; + if (yych <= '@') { + if (yych <= '-') { + if (yych <= ',') goto yy673; + goto yy1188; + } else { + if (yych == '/') goto yy1188; + goto yy673; + } + } else { + if (yych <= '_') { + if (yych <= 'Z') goto yy1214; + if (yych <= '^') goto yy673; + goto yy1188; + } else { + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1214; + goto yy673; + } } yy1216: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy941; - case '-': - case '/': - case '_': goto yy1188; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy1226; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1227; - default: goto yy673; + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy941; + goto yy673; + } else { + if (yych == '.') goto yy673; + goto yy1188; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy673; + if (yych <= 'Z') goto yy1226; + goto yy673; + } else { + if (yych <= '_') goto yy1188; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1227; + goto yy673; + } } yy1217: yych = *++YYCURSOR; - switch (yych) { - case 'H': - case 'h': goto yy1228; - default: goto yy56; - } + if (yych == 'H') goto yy1228; + if (yych == 'h') goto yy1228; + goto yy56; yy1218: yych = *++YYCURSOR; - switch (yych) { - case ':': goto yy1229; - default: goto yy56; - } -yy1219: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1230; - case '6': goto yy1232; - case '7': - case '8': - case '9': goto yy1233; - default: goto yy56; - } -yy1220: - yych = *++YYCURSOR; - switch (yych) { - case ':': goto yy1234; - default: goto yy56; - } -yy1221: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy1230; - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1222; - case '6': goto yy1223; - default: goto yy56; - } -yy1222: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1233; - default: goto yy56; - } + if (yych == ':') goto yy1229; + goto yy56; +yy1219: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1230; + if (yych <= '6') goto yy1232; + if (yych <= '9') goto yy1233; + goto yy56; +yy1220: + yych = *++YYCURSOR; + if (yych == ':') goto yy1234; + goto yy56; +yy1221: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy1230; + if (yych <= '5') goto yy1222; + if (yych <= '6') goto yy1223; + goto yy56; +yy1222: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1233; + goto yy56; yy1223: yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy1233; - default: goto yy56; - } + if (yych == '0') goto yy1233; + goto yy56; yy1224: yych = *++YYCURSOR; - switch (yych) { - case ':': goto yy1204; - default: goto yy56; - } + if (yych == ':') goto yy1204; + goto yy56; yy1225: yych = *++YYCURSOR; - switch (yych) { - case ':': goto yy1176; - default: goto yy56; - } + if (yych == ':') goto yy1176; + goto yy56; yy1226: yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy941; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1235; - default: goto yy673; + if (yych <= '@') { + if (yych == ')') goto yy941; + goto yy673; + } else { + if (yych <= 'Z') goto yy1235; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1235; + goto yy673; } yy1227: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy941; - case '-': - case '/': - case '_': goto yy1188; - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': goto yy1235; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1236; - default: goto yy673; + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy941; + goto yy673; + } else { + if (yych == '.') goto yy673; + goto yy1188; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy673; + if (yych <= 'Z') goto yy1235; + goto yy673; + } else { + if (yych <= '_') goto yy1188; + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1236; + goto yy673; + } } yy1228: yych = *++YYCURSOR; - switch (yych) { - case 'T': - case 't': goto yy1045; - default: goto yy56; - } + if (yych == 'T') goto yy1045; + if (yych == 't') goto yy1045; + goto yy56; yy1229: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1237; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1237; + goto yy56; yy1230: ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1233; - default: goto yy1231; - } + if ((yych = *YYCURSOR) <= '/') goto yy1231; + if (yych <= '9') goto yy1233; yy1231: #line 1400 "ext/date/lib/parse_date.re" { @@ -33286,320 +19974,183 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } -#line 33290 "" +#line 19978 "" yy1232: yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy1233; - default: goto yy1231; - } + if (yych != '0') goto yy1231; yy1233: yych = *++YYCURSOR; - goto yy1231; -yy1234: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1238; - case '6': - case '7': - case '8': - case '9': goto yy1200; - default: goto yy56; - } -yy1235: - yych = *++YYCURSOR; - switch (yych) { - case ')': goto yy941; - default: goto yy673; - } -yy1236: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy941; - case '-': - case '/': - case '_': goto yy1188; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1239; - default: goto yy673; - } -yy1237: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1241; - default: goto yy56; - } -yy1238: - yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1242; - case ':': goto yy1219; - default: goto yy56; - } -yy1239: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - switch (yych) { - case '-': - case '/': - case '_': goto yy1188; - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': goto yy1239; - default: goto yy56; + goto yy1231; +yy1234: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1238; + if (yych <= '9') goto yy1200; + goto yy56; +yy1235: + yych = *++YYCURSOR; + if (yych == ')') goto yy941; + goto yy673; +yy1236: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy673; + goto yy941; + } else { + if (yych == '-') goto yy1188; + goto yy673; + } + } else { + if (yych <= '_') { + if (yych <= '/') goto yy1188; + if (yych <= '^') goto yy673; + goto yy1188; + } else { + if (yych <= '`') goto yy673; + if (yych <= 'z') goto yy1239; + goto yy673; + } } -yy1241: +yy1237: yych = *++YYCURSOR; - switch (yych) { - case ':': goto yy1243; - default: goto yy56; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1241; + goto yy56; +yy1238: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1242; + if (yych <= ':') goto yy1219; + goto yy56; +yy1239: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') { + if (yych == '-') goto yy1188; + if (yych <= '.') goto yy56; + goto yy1188; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy56; + goto yy1188; + } else { + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy1239; + goto yy56; + } } +yy1241: + yych = *++YYCURSOR; + if (yych == ':') goto yy1243; + goto yy56; yy1242: yych = *++YYCURSOR; - switch (yych) { - case ':': goto yy1244; - default: goto yy56; - } + if (yych == ':') goto yy1244; + goto yy56; yy1243: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1245; - case '6': goto yy1246; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1245; + if (yych <= '6') goto yy1246; + goto yy56; yy1244: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1247; - case '6': goto yy1248; - case '7': - case '8': - case '9': goto yy1233; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1247; + if (yych <= '6') goto yy1248; + if (yych <= '9') goto yy1233; + goto yy56; yy1245: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1249; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1249; + goto yy56; yy1246: yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy1249; - default: goto yy56; - } + if (yych == '0') goto yy1249; + goto yy56; yy1247: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1250; - default: goto yy1231; - } + if (yych <= '/') goto yy1231; + if (yych <= '9') goto yy1250; + goto yy1231; yy1248: yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy1250; - default: goto yy1231; - } + if (yych == '0') goto yy1250; + goto yy1231; yy1249: yych = *++YYCURSOR; - switch (yych) { - case '\t': - case ' ': goto yy1251; - default: goto yy56; - } + if (yych == '\t') goto yy1251; + if (yych == ' ') goto yy1251; + goto yy56; yy1250: yyaccept = 33; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy1253; - default: goto yy1231; - } + if (yych == '.') goto yy1253; + goto yy1231; yy1251: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; - switch (yych) { - case '\t': - case ' ': goto yy1251; - case '+': - case '-': goto yy1254; - case 'G': goto yy1255; - default: goto yy56; + if (yych <= '*') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy1251; + } else { + if (yych == ' ') goto yy1251; + goto yy56; + } + } else { + if (yych <= '-') { + if (yych == ',') goto yy56; + goto yy1254; + } else { + if (yych == 'G') goto yy1255; + goto yy56; + } } yy1253: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1256; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1256; + goto yy56; yy1254: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1258; - case '2': goto yy1260; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1261; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1258; + if (yych <= '2') goto yy1260; + if (yych <= '9') goto yy1261; + goto yy56; yy1255: yych = *++YYCURSOR; - switch (yych) { - case 'M': goto yy1262; - default: goto yy56; - } + if (yych == 'M') goto yy1262; + goto yy56; yy1256: yyaccept = 33; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; - switch (yych) { - case '+': - case '-': goto yy1263; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1256; - case 'G': goto yy1264; - default: goto yy1231; + if (yych <= '-') { + if (yych == '+') goto yy1263; + if (yych <= ',') goto yy1231; + goto yy1263; + } else { + if (yych <= '9') { + if (yych <= '/') goto yy1231; + goto yy1256; + } else { + if (yych == 'G') goto yy1264; + goto yy1231; + } } yy1258: ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1261; - case ':': goto yy1265; - default: goto yy1259; - } + if ((yych = *YYCURSOR) <= '/') goto yy1259; + if (yych <= '9') goto yy1261; + if (yych <= ':') goto yy1265; yy1259: #line 1506 "ext/date/lib/parse_date.re" { @@ -33621,182 +20172,95 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 33625 "" +#line 20176 "" yy1260: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': goto yy1261; - case '5': goto yy1266; - case '6': - case '7': - case '8': - case '9': goto yy1267; - case ':': goto yy1265; - default: goto yy1259; + if (yych <= '5') { + if (yych <= '/') goto yy1259; + if (yych >= '5') goto yy1266; + } else { + if (yych <= '9') goto yy1267; + if (yych <= ':') goto yy1265; + goto yy1259; } yy1261: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1266; - case '6': - case '7': - case '8': - case '9': goto yy1267; - case ':': goto yy1265; - default: goto yy1259; - } + if (yych <= '/') goto yy1259; + if (yych <= '5') goto yy1266; + if (yych <= '9') goto yy1267; + if (yych <= ':') goto yy1265; + goto yy1259; yy1262: yych = *++YYCURSOR; - switch (yych) { - case 'T': goto yy1268; - default: goto yy56; - } + if (yych == 'T') goto yy1268; + goto yy56; yy1263: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': goto yy1269; - case '2': goto yy1270; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1271; - default: goto yy56; - } + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1269; + if (yych <= '2') goto yy1270; + if (yych <= '9') goto yy1271; + goto yy56; yy1264: yych = *++YYCURSOR; - switch (yych) { - case 'M': goto yy1272; - default: goto yy56; - } + if (yych == 'M') goto yy1272; + goto yy56; yy1265: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1266; - case '6': - case '7': - case '8': - case '9': goto yy1267; - default: goto yy1259; - } + if (yych <= '/') goto yy1259; + if (yych <= '5') goto yy1266; + if (yych <= '9') goto yy1267; + goto yy1259; yy1266: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1267; - default: goto yy1259; - } + if (yych <= '/') goto yy1259; + if (yych >= ':') goto yy1259; yy1267: yych = *++YYCURSOR; goto yy1259; yy1268: yych = *++YYCURSOR; - switch (yych) { - case '+': - case '-': goto yy1254; - default: goto yy56; - } + if (yych == '+') goto yy1254; + if (yych == '-') goto yy1254; + goto yy56; yy1269: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy1271; - case ':': goto yy1273; - default: goto yy1231; - } + if (yych <= '/') goto yy1231; + if (yych <= '9') goto yy1271; + if (yych <= ':') goto yy1273; + goto yy1231; yy1270: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': goto yy1271; - case '5': goto yy1230; - case '6': - case '7': - case '8': - case '9': goto yy1233; - case ':': goto yy1273; - default: goto yy1231; + if (yych <= '5') { + if (yych <= '/') goto yy1231; + if (yych >= '5') goto yy1230; + } else { + if (yych <= '9') goto yy1233; + if (yych <= ':') goto yy1273; + goto yy1231; } yy1271: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1230; - case '6': - case '7': - case '8': - case '9': goto yy1233; - case ':': goto yy1273; - default: goto yy1231; - } + if (yych <= '/') goto yy1231; + if (yych <= '5') goto yy1230; + if (yych <= '9') goto yy1233; + if (yych <= ':') goto yy1273; + goto yy1231; yy1272: yych = *++YYCURSOR; - switch (yych) { - case 'T': goto yy1274; - default: goto yy56; - } + if (yych == 'T') goto yy1274; + goto yy56; yy1273: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': goto yy1230; - case '6': - case '7': - case '8': - case '9': goto yy1233; - default: goto yy1231; - } + if (yych <= '/') goto yy1231; + if (yych <= '5') goto yy1230; + if (yych <= '9') goto yy1233; + goto yy1231; yy1274: ++YYCURSOR; - switch ((yych = *YYCURSOR)) { - case '+': - case '-': goto yy1263; - default: goto yy56; - } + if ((yych = *YYCURSOR) == '+') goto yy1263; + if (yych == '-') goto yy1263; + goto yy56; } #line 1725 "ext/date/lib/parse_date.re" From 9ebc96116b609cd3c969c2d5a460aaa904c2afec Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Wed, 20 Jul 2016 18:07:02 +0800 Subject: [PATCH 075/206] Fixed arginfo --- ext/standard/basic_functions.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index f7776d6e5b9bb..1ea19066a8ab3 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -636,8 +636,9 @@ ZEND_BEGIN_ARG_INFO(arginfo_long2ip, 0) ZEND_ARG_INFO(0, proper_address) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_getenv, 0) +ZEND_BEGIN_ARG_INFO_EX(arginfo_getenv, 0, 0, 1) ZEND_ARG_INFO(0, varname) + ZEND_ARG_INFO(0, local_only) ZEND_END_ARG_INFO() #ifdef HAVE_PUTENV From b57a38f584f5e4256e6014348466d36ceab550d4 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Wed, 20 Jul 2016 17:57:39 +0200 Subject: [PATCH 076/206] regenerate date parser with re2c 0.13.5 to fix OSX issues --- ext/date/lib/parse_date.c | 33788 +++++++++++++++++++----------------- 1 file changed, 18338 insertions(+), 15450 deletions(-) diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index c1804498f48fc..ebe48547a9e48 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.16 on Wed Jul 20 10:18:20 2016 */ +/* Generated by re2c 0.13.5 on Wed Jul 20 17:56:59 2016 */ #line 1 "ext/date/lib/parse_date.re" /* * The MIT License (MIT) @@ -830,21 +830,21 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 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, - 50, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 32, 24, 48, 0, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 0, 0, 0, 0, 0, 0, - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 0, 0, 0, 0, 0, - 0, 192, 192, 192, 224, 192, 192, 192, - 224, 192, 192, 192, 192, 192, 224, 192, - 192, 192, 224, 224, 224, 192, 192, 192, - 192, 192, 192, 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, @@ -862,57 +862,58 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; + if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31); yych = *YYCURSOR; switch (yych) { case 0x00: - case '\n': goto yy2; + case '\n': goto yy51; case '\t': - case ' ': goto yy6; - case '(': goto yy8; + case ' ': goto yy48; + case '(': goto yy45; case '+': - case '-': goto yy9; + case '-': goto yy30; case ',': - case '.': goto yy10; - case '0': goto yy11; - case '1': goto yy12; - case '2': goto yy13; - case '3': goto yy14; + 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 yy15; - case '@': goto yy16; - case 'A': goto yy17; - case 'B': goto yy19; + 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 yy20; - case 'D': goto yy21; - case 'E': goto yy22; - case 'F': goto yy23; - case 'G': goto yy24; - case 'I': goto yy25; - case 'J': goto yy26; - case 'L': goto yy27; - case 'M': goto yy28; - case 'N': goto yy29; - case 'O': goto yy30; - case 'P': goto yy31; - case 'S': goto yy32; - case 'T': goto yy33; - case 'V': goto yy34; - case 'W': goto yy35; - case 'X': goto yy36; - case 'Y': goto yy37; - case 'a': goto yy38; - case 'b': goto yy39; + 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': @@ -923,1402 +924,1449 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'u': case 'v': case 'x': - case 'z': goto yy40; + case 'z': goto yy47; case 'd': goto yy41; - case 'e': goto yy42; - case 'f': goto yy43; - case 'j': goto yy44; - case 'l': goto yy45; - case 'm': goto yy46; - case 'n': goto yy47; - case 'o': goto yy48; - case 'p': goto yy49; - case 's': goto yy50; - case 't': goto yy51; - case 'w': goto yy52; - case 'y': goto yy53; - default: goto yy4; + 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; -#line 1715 "ext/date/lib/parse_date.re" + if ((yych = *YYCURSOR) <= 'E') { + if (yych <= ')') { + if (yych >= ')') goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; + goto yy1523; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy140; + if (yych >= 'a') goto yy145; + } else { + if (yych <= 'e') goto yy1532; + if (yych <= 'z') goto yy145; + } + } +yy3: +#line 1626 "ext/date/lib/parse_date.re" { - s->pos = cursor; s->line++; - goto std; + 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; } -#line 950 "" +#line 977 "" yy4: - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; + goto yy1523; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy140; + } else { + if (yych <= 'e') goto yy1523; + if (yych <= 'z') goto yy140; + goto yy3; + } + } yy5: -#line 1721 "ext/date/lib/parse_date.re" - { - add_error(s, "Unexpected character"); - goto std; + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'D') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy140; + } else { + if (yych <= 'H') { + if (yych <= 'E') goto yy1494; + goto yy140; + } else { + if (yych <= 'I') goto yy1495; + if (yych <= 'N') goto yy140; + goto yy1493; + } + } + } else { + if (yych <= 'h') { + if (yych <= '`') { + if (yych <= 'Z') goto yy140; + goto yy3; + } else { + if (yych == 'e') goto yy1510; + goto yy145; + } + } else { + if (yych <= 'n') { + if (yych <= 'i') goto yy1511; + goto yy145; + } else { + if (yych <= 'o') goto yy1509; + if (yych <= 'z') goto yy145; + goto yy3; + } + } } -#line 959 "" yy6: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy54; + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'D') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy140; + } else { + if (yych <= 'H') { + if (yych <= 'E') goto yy1494; + goto yy140; + } else { + if (yych <= 'I') goto yy1495; + if (yych <= 'N') goto yy140; + goto yy1493; + } + } + } else { + if (yych <= 'h') { + if (yych <= '`') { + if (yych <= 'Z') goto yy140; + goto yy3; + } else { + if (yych == 'e') goto yy1494; + goto yy140; + } + } else { + if (yych <= 'n') { + if (yych <= 'i') goto yy1495; + goto yy140; + } else { + if (yych <= 'o') goto yy1493; + if (yych <= 'z') goto yy140; + goto yy3; + } + } } - if (yych <= '/') goto yy7; - if (yych <= '9') goto yy57; yy7: -#line 1710 "ext/date/lib/parse_date.re" - { - goto std; + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy1463; + } else { + if (yych == 'I') goto yy1464; + if (yych <= 'N') goto yy140; + goto yy1465; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1478; + goto yy145; + } else { + if (yych <= 'n') { + if (yych <= 'i') goto yy1479; + goto yy145; + } else { + if (yych <= 'o') goto yy1480; + if (yych <= 'z') goto yy145; + goto yy3; + } + } } -#line 973 "" yy8: yych = *++YYCURSOR; - if (yych <= '@') goto yy5; - if (yych <= 'Z') goto yy40; - if (yych <= '`') goto yy5; - if (yych <= 'z') goto yy40; - goto yy5; + if (yych <= 'O') { + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy1463; + } else { + if (yych == 'I') goto yy1464; + if (yych <= 'N') goto yy140; + goto yy1465; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1463; + goto yy140; + } else { + if (yych <= 'n') { + if (yych <= 'i') goto yy1464; + goto yy140; + } else { + if (yych <= 'o') goto yy1465; + if (yych <= 'z') goto yy140; + goto yy3; + } + } + } yy9: - yyaccept = 1; + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy54; - } switch (yych) { - case '+': - case '-': goto yy59; + case ')': goto yy139; case '0': - case '1': goto yy61; - case '2': goto yy62; + case '1': goto yy1393; + case '2': goto yy1394; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy63; - default: goto yy5; - } -yy10: - yych = *++YYCURSOR; - goto yy7; -yy11: - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': goto yy64; - case ' ': + case '9': goto yy1395; case 'A': + case 'B': + case 'C': case 'D': case 'F': - case 'H': + case 'G': case 'I': case 'J': + case 'K': + case 'L': case 'M': case 'N': - case 'O': + case 'P': + case 'Q': + case 'R': case 'S': case 'T': case 'V': - case 'W': case 'X': case 'Y': + case 'Z': goto yy140; + case 'E': goto yy1388; + case 'H': goto yy1389; + case 'O': goto yy1390; + case 'U': goto yy1391; + case 'W': goto yy1392; case 'a': + case 'b': + case 'c': case 'd': case 'f': - case 'h': + case 'g': + case 'i': case 'j': + case 'k': + case 'l': case 'm': - case 'o': - case 'w': - case 'y': goto yy66; - case '-': goto yy67; - case '.': goto yy68; - case '/': goto yy69; - case '0': goto yy70; - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy71; - case ':': goto yy72; - case 'n': goto yy89; - case 'r': goto yy90; - case 's': goto yy91; - case 't': goto yy92; - default: goto yy5; + case 'n': + case 'p': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'x': + case 'y': + case 'z': goto yy145; + case 'e': goto yy1431; + case 'h': goto yy1432; + case 'o': goto yy1433; + case 'u': goto yy1434; + case 'w': goto yy1435; + default: goto yy3; } -yy12: - yyaccept = 1; +yy10: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '\t': goto yy93; - case ' ': - case 'A': - case 'D': - case 'F': - case 'H': - case 'I': - case 'J': - case 'M': - case 'N': - case 'O': - case 'P': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'o': - case 'p': - case 'w': - case 'y': goto yy95; - case '-': goto yy67; - case '.': goto yy96; - case '/': goto yy69; + case ')': goto yy139; case '0': - case '1': - case '2': goto yy71; + case '1': goto yy1393; + case '2': goto yy1394; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy97; - case ':': goto yy98; - case 'n': goto yy89; - case 'r': goto yy90; - case 's': goto yy91; - case 't': goto yy92; - default: goto yy5; - } -yy13: - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': goto yy93; - case ' ': + case '9': goto yy1395; case 'A': + case 'B': + case 'C': case 'D': case 'F': - case 'H': + case 'G': case 'I': case 'J': + case 'K': + case 'L': case 'M': case 'N': - case 'O': case 'P': + case 'Q': + case 'R': case 'S': case 'T': case 'V': - case 'W': case 'X': case 'Y': + case 'Z': case 'a': + case 'b': + case 'c': case 'd': case 'f': - case 'h': + case 'g': + case 'i': case 'j': + case 'k': + case 'l': case 'm': - case 'o': + case 'n': case 'p': - case 'w': - case 'y': goto yy95; - case '-': goto yy67; - case '.': goto yy96; - case '/': goto yy69; - case '0': - case '1': - case '2': - case '3': - case '4': goto yy97; - case '5': - case '6': - case '7': - case '8': - case '9': goto yy101; - case ':': goto yy98; - case 'n': goto yy89; - case 'r': goto yy90; - case 's': goto yy91; - case 't': goto yy92; - default: goto yy5; - } -yy14: - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': goto yy93; - case ' ': - case 'A': - case 'D': - case 'F': + case 'q': + case 'r': + case 's': + case 't': + case 'v': + case 'x': + case 'y': + case 'z': goto yy140; + case 'E': + case 'e': goto yy1388; case 'H': - case 'I': - case 'J': - case 'M': - case 'N': + case 'h': goto yy1389; case 'O': - case 'P': - case 'S': - case 'T': - case 'V': + case 'o': goto yy1390; + case 'U': + case 'u': goto yy1391; case 'W': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'o': - case 'p': - case 'w': - case 'y': goto yy95; - case '-': goto yy67; - case '.': goto yy96; - case '/': goto yy69; - case '0': - case '1': goto yy101; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy102; - case ':': goto yy98; - case 'n': goto yy89; - case 'r': goto yy90; - case 's': goto yy91; - case 't': goto yy92; - default: goto yy5; + case 'w': goto yy1392; + default: goto yy3; } -yy15: +yy11: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '\t': goto yy93; - case ' ': - case 'A': - case 'D': - case 'F': - case 'H': - case 'I': - case 'J': - case 'M': - case 'N': - case 'O': - case 'P': - case 'S': - case 'T': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'o': - case 'p': - case 'w': - case 'y': goto yy95; - case '-': goto yy67; - case '.': goto yy96; - case '/': goto yy69; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy102; - case ':': goto yy98; - case 'n': goto yy89; - case 'r': goto yy90; - case 's': goto yy91; - case 't': goto yy92; - default: goto yy5; + if (yych == '-') goto yy1384; + if (yych <= '/') goto yy12; + if (yych <= '9') goto yy1385; +yy12: +#line 1721 "ext/date/lib/parse_date.re" + { + add_error(s, "Unexpected character"); + goto std; } -yy16: - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy103; - if (yych <= '/') goto yy5; - if (yych <= '9') goto yy104; - goto yy5; -yy17: - ++YYCURSOR; - if ((yych = *YYCURSOR) <= 'U') { - if (yych <= 'F') { - if (yych == ')') goto yy107; - if (yych >= 'A') goto yy108; +#line 1282 "" +yy13: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; + goto yy1320; + } } else { - if (yych <= 'O') { - if (yych <= 'G') goto yy109; - goto yy108; + if (yych <= 'N') { + if (yych == 'I') goto yy1321; + goto yy140; } else { - if (yych <= 'P') goto yy110; - if (yych <= 'T') goto yy108; - goto yy111; + if (yych <= 'O') goto yy1322; + if (yych <= 'Q') goto yy140; + goto yy1323; } } } else { - if (yych <= 'o') { - if (yych <= '`') { - if (yych <= 'Z') goto yy108; + if (yych <= 'i') { + if (yych <= 'd') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy145; } else { - if (yych == 'g') goto yy113; - goto yy112; + if (yych <= 'e') goto yy1361; + if (yych <= 'h') goto yy145; + goto yy1362; } } else { - if (yych <= 't') { - if (yych <= 'p') goto yy114; - goto yy112; + if (yych <= 'q') { + if (yych == 'o') goto yy1363; + goto yy145; } else { - if (yych <= 'u') goto yy115; - if (yych <= 'z') goto yy112; + if (yych <= 'r') goto yy1364; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy18: -#line 1626 "ext/date/lib/parse_date.re" - { - 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; - } -#line 1318 "" -yy19: - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy116; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy108; - goto yy18; - } else { - if (yych <= 'a') goto yy117; - if (yych <= 'z') goto yy112; - goto yy18; - } - } -yy20: - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy112; - goto yy18; - } -yy21: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy108; - goto yy118; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy112; - } else { - if (yych <= 'e') goto yy119; - if (yych <= 'z') goto yy112; - goto yy18; - } - } -yy22: - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych == 'I') goto yy120; - if (yych <= 'K') goto yy108; - goto yy121; - } - } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - if (yych <= 'h') goto yy112; - goto yy122; - } else { - if (yych == 'l') goto yy123; - if (yych <= 'z') goto yy112; - goto yy18; - } - } -yy23: +yy14: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy108; - goto yy124; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; + goto yy1320; } } else { if (yych <= 'N') { - if (yych == 'I') goto yy125; - goto yy108; + if (yych == 'I') goto yy1321; + goto yy140; } else { - if (yych <= 'O') goto yy126; - if (yych <= 'Q') goto yy108; - goto yy127; + if (yych <= 'O') goto yy1322; + if (yych <= 'Q') goto yy140; + goto yy1323; } } } else { if (yych <= 'i') { if (yych <= 'd') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy112; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy140; } else { - if (yych <= 'e') goto yy128; - if (yych <= 'h') goto yy112; - goto yy129; + if (yych <= 'e') goto yy1320; + if (yych <= 'h') goto yy140; + goto yy1321; } } else { if (yych <= 'q') { - if (yych == 'o') goto yy130; - goto yy112; + if (yych == 'o') goto yy1322; + goto yy140; } else { - if (yych <= 'r') goto yy131; - if (yych <= 'z') goto yy112; - goto yy18; + if (yych <= 'r') goto yy1323; + if (yych <= 'z') goto yy140; + goto yy3; } } } -yy24: +yy15: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy108; + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy1306; } else { - if (yych <= 'Z') { - if (yych <= 'M') goto yy132; - goto yy108; + if (yych <= '`') { + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy112; - goto yy18; + if (yych <= 'a') goto yy1317; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy25: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy18; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy18; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy107; - goto yy18; - } else { - if (yych == '/') goto yy18; - goto yy134; - } - } +yy16: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy1306; } else { - if (yych <= 'V') { - if (yych <= 'H') { - if (yych <= '@') goto yy18; - goto yy108; - } else { - if (yych <= 'I') goto yy139; - if (yych <= 'U') goto yy108; - goto yy140; - } + if (yych <= '`') { + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych <= 'Z') { - if (yych == 'X') goto yy140; - goto yy108; - } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy112; - goto yy18; - } + if (yych <= 'a') goto yy1306; + if (yych <= 'z') goto yy140; + goto yy3; } } -yy26: +yy17: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'A') goto yy141; - if (yych <= 'T') goto yy108; - goto yy142; - } + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy1286; } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy143; + if (yych <= '`') { + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych == 'u') goto yy144; - if (yych <= 'z') goto yy112; - goto yy18; + if (yych <= 'a') goto yy1303; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy27: +yy18: yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy145; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy1286; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy108; - goto yy18; + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych <= 'a') goto yy146; - if (yych <= 'z') goto yy112; - goto yy18; + if (yych <= 'a') goto yy1286; + if (yych <= 'z') goto yy140; + goto yy3; } } -yy28: +yy19: yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'A') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy147; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy1229; + goto yy140; + } } else { - if (yych == 'I') goto yy148; - if (yych <= 'N') goto yy108; - goto yy149; + if (yych <= 'H') { + if (yych <= 'E') goto yy1228; + goto yy140; + } else { + if (yych <= 'I') goto yy1230; + if (yych <= 'T') goto yy140; + goto yy1231; + } } } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - if (yych <= 'a') goto yy150; - goto yy112; + if (yych <= 'e') { + if (yych <= '`') { + if (yych <= 'Z') goto yy140; + goto yy3; + } else { + if (yych <= 'a') goto yy1258; + if (yych <= 'd') goto yy145; + goto yy1257; + } } else { - if (yych <= 'n') { - if (yych <= 'i') goto yy151; - goto yy112; + if (yych <= 't') { + if (yych == 'i') goto yy1259; + goto yy145; } else { - if (yych <= 'o') goto yy152; - if (yych <= 'z') goto yy112; - goto yy18; + if (yych <= 'u') goto yy1260; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy29: +yy20: yych = *++YYCURSOR; - if (yych <= 'O') { + if (yych <= 'U') { if (yych <= 'D') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy108; + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy1229; + goto yy140; + } } else { if (yych <= 'H') { - if (yych <= 'E') goto yy153; - goto yy108; + if (yych <= 'E') goto yy1228; + goto yy140; } else { - if (yych <= 'I') goto yy154; - if (yych <= 'N') goto yy108; - goto yy155; + if (yych <= 'I') goto yy1230; + if (yych <= 'T') goto yy140; + goto yy1231; } } } else { - if (yych <= 'h') { + if (yych <= 'e') { if (yych <= '`') { - if (yych <= 'Z') goto yy108; - goto yy18; + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych == 'e') goto yy156; - goto yy112; + if (yych <= 'a') goto yy1229; + if (yych <= 'd') goto yy140; + goto yy1228; } } else { - if (yych <= 'n') { - if (yych <= 'i') goto yy157; - goto yy112; + if (yych <= 't') { + if (yych == 'i') goto yy1230; + goto yy140; } else { - if (yych <= 'o') goto yy158; - if (yych <= 'z') goto yy112; - goto yy18; + if (yych <= 'u') goto yy1231; + if (yych <= 'z') goto yy140; + goto yy3; } } } -yy30: +yy21: yych = *++YYCURSOR; - if (yych <= 'C') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= 'L') { + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= '@') goto yy18; - if (yych <= 'B') goto yy108; - goto yy159; + if (yych == 'I') goto yy1198; + if (yych <= 'K') goto yy140; + goto yy1199; } } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy112; + if (yych <= 'i') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy145; + goto yy1216; } else { - if (yych <= 'c') goto yy160; - if (yych <= 'z') goto yy112; - goto yy18; + if (yych == 'l') goto yy1217; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy31: +yy22: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= 'L') { + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= '@') goto yy18; - if (yych <= 'Q') goto yy108; - goto yy161; + if (yych == 'I') goto yy1198; + if (yych <= 'K') goto yy140; + goto yy1199; } } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy112; + if (yych <= 'i') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy140; + goto yy1198; } else { - if (yych <= 'r') goto yy162; - if (yych <= 'z') goto yy112; - goto yy18; + if (yych == 'l') goto yy1199; + if (yych <= 'z') goto yy140; + goto yy3; } } -yy32: +yy23: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'A') goto yy163; - goto yy108; - } + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= 'H') { - if (yych <= 'E') goto yy164; - goto yy108; - } else { - if (yych <= 'I') goto yy165; - if (yych <= 'T') goto yy108; - goto yy149; - } + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy140; + goto yy1097; } } else { - if (yych <= 'e') { - if (yych <= '`') { - if (yych <= 'Z') goto yy108; - goto yy18; - } else { - if (yych <= 'a') goto yy166; - if (yych <= 'd') goto yy112; - goto yy167; - } + if (yych <= 'q') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy145; } else { - if (yych <= 't') { - if (yych == 'i') goto yy168; - goto yy112; - } else { - if (yych <= 'u') goto yy152; - if (yych <= 'z') goto yy112; - goto yy18; - } + if (yych <= 'r') goto yy1191; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy33: - yyaccept = 2; +yy24: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy140; + goto yy1097; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy140; + } else { + if (yych <= 'r') goto yy1097; + if (yych <= 'z') goto yy140; + goto yy3; + } + } +yy25: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': goto yy1051; + case ' ': + case 'A': + case 'D': + case 'F': + case 'H': + case 'I': + case 'J': + case 'M': + case 'N': + case 'O': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'a': + case 'd': + case 'f': + case 'h': + case 'j': + case 'm': + case 'o': + case 'w': + case 'y': goto yy1053; + case '-': goto yy472; + case '.': goto yy1063; + case '/': goto yy471; + case '0': goto yy1096; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1095; + case ':': goto yy1064; + case 'n': goto yy469; + case 'r': goto yy470; + case 's': goto yy463; + case 't': goto yy467; + default: goto yy12; + } +yy26: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case ')': goto yy107; + case '\t': goto yy459; + case ' ': + case 'A': + case 'D': + case 'F': + case 'H': + case 'I': + case 'J': + case 'M': + case 'N': + case 'O': + case 'P': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'a': + case 'd': + case 'f': + case 'h': + case 'j': + case 'm': + case 'o': + case 'p': + case 'w': + case 'y': goto yy461; + case '-': goto yy472; + case '.': goto yy473; + case '/': goto yy471; case '0': - case '1': goto yy169; - case '2': goto yy170; + case '1': + case '2': goto yy1095; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy171; + case '9': goto yy1062; + case ':': goto yy482; + case 'n': goto yy469; + case 'r': goto yy470; + case 's': goto yy463; + case 't': goto yy467; + default: goto yy12; + } +yy27: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': goto yy459; + case ' ': case 'A': - case 'B': - case 'C': case 'D': case 'F': - case 'G': + case 'H': case 'I': case 'J': - case 'K': - case 'L': case 'M': case 'N': + case 'O': case 'P': - case 'Q': - case 'R': case 'S': case 'T': case 'V': + case 'W': case 'X': case 'Y': - case 'Z': goto yy108; - case 'E': goto yy154; - case 'H': goto yy172; - case 'O': goto yy173; - case 'U': goto yy174; - case 'W': goto yy175; case 'a': - case 'b': - case 'c': case 'd': case 'f': - case 'g': - case 'i': + case 'h': case 'j': - case 'k': - case 'l': case 'm': - case 'n': + case 'o': case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'v': - case 'x': - case 'y': - case 'z': goto yy112; - case 'e': goto yy157; - case 'h': goto yy176; - case 'o': goto yy177; - case 'u': goto yy178; - case 'w': goto yy179; - default: goto yy18; + case 'w': + case 'y': goto yy461; + case '-': goto yy472; + case '.': goto yy473; + case '/': goto yy471; + case '0': + case '1': + case '2': + case '3': + case '4': goto yy1062; + case '5': + case '6': + case '7': + case '8': + case '9': goto yy1049; + case ':': goto yy482; + case 'n': goto yy469; + case 'r': goto yy470; + case 's': goto yy463; + case 't': goto yy467; + default: goto yy12; } -yy34: - yyaccept = 2; +yy28: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy134; - if (yych <= 0x1F) goto yy18; - goto yy134; + switch (yych) { + case '\t': goto yy459; + case ' ': + case 'A': + case 'D': + case 'F': + case 'H': + case 'I': + case 'J': + case 'M': + case 'N': + case 'O': + case 'P': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'a': + case 'd': + case 'f': + case 'h': + case 'j': + case 'm': + case 'o': + case 'p': + case 'w': + case 'y': goto yy461; + case '-': goto yy472; + case '.': goto yy473; + case '/': goto yy471; + case '0': + case '1': goto yy1049; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy468; + case ':': goto yy482; + case 'n': goto yy469; + case 'r': goto yy470; + case 's': goto yy463; + case 't': goto yy467; + default: goto yy12; + } +yy29: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': goto yy459; + case ' ': + case 'A': + case 'D': + case 'F': + case 'H': + case 'I': + case 'J': + case 'M': + case 'N': + case 'O': + case 'P': + case 'S': + case 'T': + case 'V': + case 'W': + case 'X': + case 'Y': + case 'a': + case 'd': + case 'f': + case 'h': + case 'j': + case 'm': + case 'o': + case 'p': + case 'w': + case 'y': goto yy461; + case '-': goto yy472; + case '.': goto yy473; + case '/': goto yy471; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy468; + case ':': goto yy482; + case 'n': goto yy469; + case 'r': goto yy470; + case 's': goto yy463; + case 't': goto yy467; + default: goto yy12; + } +yy30: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 4) { + goto yy57; + } + switch (yych) { + case '+': + case '-': goto yy439; + case '0': + case '1': goto yy436; + case '2': goto yy437; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy438; + default: goto yy12; + } +yy31: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy195; + } else { + if (yych == ' ') goto yy195; + goto yy3; + } } else { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy134; + if (yych <= ',') { + if (yych <= ')') goto yy139; + goto yy3; + } else { + if (yych == '/') goto yy3; + goto yy195; + } } } else { - if (yych <= 'H') { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy134; - if (yych <= '@') goto yy18; - goto yy108; + if (yych <= 'V') { + if (yych <= 'H') { + if (yych <= '@') goto yy3; + goto yy140; + } else { + if (yych <= 'I') goto yy435; + if (yych <= 'U') goto yy140; + goto yy434; + } } else { if (yych <= 'Z') { - if (yych <= 'I') goto yy180; - goto yy108; + if (yych == 'X') goto yy434; + goto yy140; } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy112; - goto yy18; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy35: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy32: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy3; + goto yy195; } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy108; - goto yy181; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy195; } } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy112; + if (yych <= 'H') { + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy3; + goto yy140; } else { - if (yych <= 'e') goto yy182; - if (yych <= 'z') goto yy112; - goto yy18; + if (yych <= 'Z') { + if (yych <= 'I') goto yy431; + goto yy140; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy145; + goto yy3; + } } } -yy36: - yyaccept = 2; +yy33: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy134; - if (yych <= 0x1F) goto yy18; - goto yy134; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy3; + goto yy195; } else { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy134; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy195; } } else { if (yych <= 'H') { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy134; - if (yych <= '@') goto yy18; - goto yy108; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy3; + goto yy140; } else { if (yych <= 'Z') { - if (yych <= 'I') goto yy139; - goto yy108; + if (yych <= 'I') goto yy429; + goto yy140; } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy112; - goto yy18; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy37: +yy34: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= 'U') { + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy108; - goto yy183; + if (yych <= 'A') goto yy412; + if (yych <= 'T') goto yy140; + goto yy411; } } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy112; + if (yych <= 'a') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy421; } else { - if (yych <= 'e') goto yy184; - if (yych <= 'z') goto yy112; - goto yy18; + if (yych == 'u') goto yy420; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy38: +yy35: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'A') goto yy412; + if (yych <= 'T') goto yy140; + goto yy411; + } + } else { + if (yych <= 'a') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy412; + } else { + if (yych == 'u') goto yy411; + if (yych <= 'z') goto yy140; + goto yy3; + } + } +yy36: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy108; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy140; } else { if (yych <= 'O') { - if (yych <= 'G') goto yy109; - goto yy108; + if (yych <= 'G') goto yy390; + goto yy140; } else { - if (yych <= 'P') goto yy110; - if (yych <= 'T') goto yy108; - goto yy111; + if (yych <= 'P') goto yy389; + if (yych <= 'T') goto yy140; + goto yy388; } } } else { if (yych <= 'o') { if (yych <= '`') { - if (yych <= 'Z') goto yy108; - goto yy18; + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych == 'g') goto yy109; - goto yy108; + if (yych == 'g') goto yy402; + goto yy145; } } else { if (yych <= 't') { - if (yych <= 'p') goto yy110; - goto yy108; + if (yych <= 'p') goto yy401; + goto yy145; } else { - if (yych <= 'u') goto yy111; - if (yych <= 'z') goto yy108; - goto yy18; + if (yych <= 'u') goto yy400; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy39: +yy37: yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy116; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy108; - goto yy18; + if (yych <= 'U') { + if (yych <= 'F') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy140; } else { - if (yych <= 'a') goto yy116; - if (yych <= 'z') goto yy108; - goto yy18; + if (yych <= 'O') { + if (yych <= 'G') goto yy390; + goto yy140; + } else { + if (yych <= 'P') goto yy389; + if (yych <= 'T') goto yy140; + goto yy388; + } } - } -yy40: - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; } else { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy108; - goto yy18; + if (yych <= 'o') { + if (yych <= '`') { + if (yych <= 'Z') goto yy140; + goto yy3; + } else { + if (yych == 'g') goto yy390; + goto yy140; + } + } else { + if (yych <= 't') { + if (yych <= 'p') goto yy389; + goto yy140; + } else { + if (yych <= 'u') goto yy388; + if (yych <= 'z') goto yy140; + goto yy3; + } + } } -yy41: +yy38: yych = *++YYCURSOR; - if (yych <= 'E') { + if (yych <= 'C') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy108; - goto yy118; + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy140; + goto yy378; } } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy108; + if (yych <= 'b') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy145; } else { - if (yych <= 'e') goto yy118; - if (yych <= 'z') goto yy108; - goto yy18; + if (yych <= 'c') goto yy383; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy42: +yy39: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'C') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == 'I') goto yy120; - if (yych <= 'K') goto yy108; - goto yy121; + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy140; + goto yy378; } } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - if (yych <= 'h') goto yy108; - goto yy120; + if (yych <= 'b') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy140; } else { - if (yych == 'l') goto yy121; - if (yych <= 'z') goto yy108; - goto yy18; + if (yych <= 'c') goto yy378; + if (yych <= 'z') goto yy140; + goto yy3; } } -yy43: +yy40: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy108; - goto yy124; - } + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= 'N') { - if (yych == 'I') goto yy125; - goto yy108; - } else { - if (yych <= 'O') goto yy126; - if (yych <= 'Q') goto yy108; - goto yy127; - } + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; + goto yy191; } } else { - if (yych <= 'i') { - if (yych <= 'd') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy108; - } else { - if (yych <= 'e') goto yy124; - if (yych <= 'h') goto yy108; - goto yy125; - } + if (yych <= 'd') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy145; } else { - if (yych <= 'q') { - if (yych == 'o') goto yy126; - goto yy108; - } else { - if (yych <= 'r') goto yy127; - if (yych <= 'z') goto yy108; - goto yy18; - } + if (yych <= 'e') goto yy369; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy44: +yy41: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= 'A') goto yy141; - if (yych <= 'T') goto yy108; - goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; + goto yy191; } } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy141; + if (yych <= 'd') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy140; } else { - if (yych == 'u') goto yy142; - if (yych <= 'z') goto yy108; - goto yy18; + if (yych <= 'e') goto yy191; + if (yych <= 'z') goto yy140; + goto yy3; } } -yy45: +yy42: yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy145; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; + goto yy164; + } } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy108; - goto yy18; + if (yych <= 'd') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy145; } else { - if (yych <= 'a') goto yy145; - if (yych <= 'z') goto yy108; - goto yy18; + if (yych <= 'e') goto yy178; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy46: +yy43: yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'A') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy147; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == 'I') goto yy148; - if (yych <= 'N') goto yy108; - goto yy149; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; + goto yy164; } } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - if (yych <= 'a') goto yy147; - goto yy108; + if (yych <= 'd') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy140; } else { - if (yych <= 'n') { - if (yych <= 'i') goto yy148; - goto yy108; - } else { - if (yych <= 'o') goto yy149; - if (yych <= 'z') goto yy108; - goto yy18; - } + if (yych <= 'e') goto yy164; + if (yych <= 'z') goto yy140; + goto yy3; } } -yy47: +yy44: yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'D') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy108; - } else { - if (yych <= 'H') { - if (yych <= 'E') goto yy153; - goto yy108; - } else { - if (yych <= 'I') goto yy154; - if (yych <= 'N') goto yy108; - goto yy155; - } - } + if (yych <= 'L') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy140; } else { - if (yych <= 'h') { - if (yych <= '`') { - if (yych <= 'Z') goto yy108; - goto yy18; - } else { - if (yych == 'e') goto yy153; - goto yy108; - } + if (yych <= 'Z') { + if (yych <= 'M') goto yy156; + goto yy140; } else { - if (yych <= 'n') { - if (yych <= 'i') goto yy154; - goto yy108; - } else { - if (yych <= 'o') goto yy155; - if (yych <= 'z') goto yy108; - goto yy18; - } + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy48: +yy45: yych = *++YYCURSOR; - if (yych <= 'C') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'B') goto yy108; - goto yy159; - } + if (yych <= '@') goto yy12; + if (yych <= 'Z') goto yy155; + if (yych <= '`') goto yy12; + if (yych <= 'z') goto yy155; + goto yy12; +yy46: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy108; - } else { - if (yych <= 'c') goto yy159; - if (yych <= 'z') goto yy108; - goto yy18; - } + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy145; + goto yy3; } -yy49: +yy47: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'Q') goto yy108; - goto yy161; - } + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy108; - } else { - if (yych <= 'r') goto yy161; - if (yych <= 'z') goto yy108; - goto yy18; - } + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy140; + 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: +#line 1710 "ext/date/lib/parse_date.re" + { + goto std; } +#line 2300 "" yy50: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + goto yy49; +yy51: + ++YYCURSOR; +#line 1715 "ext/date/lib/parse_date.re" + { + s->pos = cursor; s->line++; + goto std; + } +#line 2311 "" +yy53: + yych = *++YYCURSOR; + goto yy12; +yy54: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych <= 'W') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy59; + if (yych >= ' ') goto yy59; } else { - if (yych <= '@') goto yy18; - if (yych <= 'A') goto yy163; - goto yy108; + if (yych == 'D') goto yy64; + if (yych >= 'F') goto yy65; } } else { - if (yych <= 'H') { - if (yych <= 'E') goto yy164; - goto yy108; + if (yych <= 'M') { + if (yych == 'H') goto yy63; + if (yych >= 'M') goto yy62; } else { - if (yych <= 'I') goto yy165; - if (yych <= 'T') goto yy108; - goto yy149; + if (yych <= 'S') { + if (yych >= 'S') goto yy61; + } else { + if (yych <= 'T') goto yy68; + if (yych >= 'W') goto yy67; + } } } } else { - if (yych <= 'e') { - if (yych <= '`') { - if (yych <= 'Z') goto yy108; - goto yy18; + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy66; + if (yych >= 'd') goto yy64; } else { - if (yych <= 'a') goto yy163; - if (yych <= 'd') goto yy108; - goto yy164; + if (yych <= 'f') { + if (yych >= 'f') goto yy65; + } else { + if (yych == 'h') goto yy63; + } } } else { if (yych <= 't') { - if (yych == 'i') goto yy165; - goto yy108; + if (yych <= 'm') goto yy62; + if (yych <= 'r') goto yy56; + if (yych <= 's') goto yy61; + goto yy68; } else { - if (yych <= 'u') goto yy149; - if (yych <= 'z') goto yy108; - goto yy18; + if (yych <= 'w') { + if (yych >= 'w') goto yy67; + } else { + if (yych == 'y') goto yy66; + } } } } -yy51: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case ')': goto yy107; - case '0': - case '1': goto yy169; - case '2': goto yy170; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy171; - 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 yy108; - case 'E': - case 'e': goto yy154; - case 'H': - case 'h': goto yy172; - case 'O': - case 'o': goto yy173; - case 'U': - case 'u': goto yy174; - case 'W': - case 'w': goto yy175; - default: goto yy18; - } -yy52: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy108; - goto yy181; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy108; - } else { - if (yych <= 'e') goto yy181; - if (yych <= 'z') goto yy108; - goto yy18; - } - } -yy53: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy108; - goto yy183; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy108; - if (yych <= '`') goto yy18; - goto yy108; - } else { - if (yych <= 'e') goto yy183; - if (yych <= 'z') goto yy108; - goto yy18; - } - } -yy54: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yybm[0+yych] & 2) { - goto yy54; - } - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy57; yy56: YYCURSOR = YYMARKER; if (yyaccept <= 16) { @@ -2326,63 +2374,63 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yyaccept <= 4) { if (yyaccept <= 2) { if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy7; + if (yyaccept <= 0) { + goto yy3; } else { - goto yy5; + goto yy12; } } else { - goto yy18; + goto yy49; } } else { - if (yyaccept == 3) { - goto yy78; + if (yyaccept <= 3) { + goto yy72; } else { - goto yy136; + goto yy166; } } } else { if (yyaccept <= 6) { - if (yyaccept == 5) { - goto yy208; + if (yyaccept <= 5) { + goto yy193; } else { - goto yy213; + goto yy198; } } else { - if (yyaccept == 7) { - goto yy274; + if (yyaccept <= 7) { + goto yy222; } else { - goto yy272; + goto yy294; } } } } else { if (yyaccept <= 12) { if (yyaccept <= 10) { - if (yyaccept == 9) { - goto yy294; + if (yyaccept <= 9) { + goto yy392; } else { - goto yy331; + goto yy475; } } else { - if (yyaccept == 11) { - goto yy396; + if (yyaccept <= 11) { + goto yy490; } else { - goto yy398; + goto yy611; } } } else { if (yyaccept <= 14) { - if (yyaccept == 13) { - goto yy402; + if (yyaccept <= 13) { + goto yy656; } else { - goto yy504; + goto yy666; } } else { - if (yyaccept == 15) { - goto yy544; + if (yyaccept <= 15) { + goto yy763; } else { - goto yy669; + goto yy783; } } } @@ -2392,63 +2440,63 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yyaccept <= 21) { if (yyaccept <= 19) { if (yyaccept <= 18) { - if (yyaccept == 17) { - goto yy673; + if (yyaccept <= 17) { + goto yy814; } else { - goto yy704; + goto yy821; } } else { - goto yy719; + goto yy848; } } else { - if (yyaccept == 20) { - goto yy732; + if (yyaccept <= 20) { + goto yy793; } else { - goto yy755; + goto yy454; } } } else { if (yyaccept <= 23) { - if (yyaccept == 22) { - goto yy900; + if (yyaccept <= 22) { + goto yy973; } else { - goto yy576; + goto yy842; } } else { - if (yyaccept == 24) { - goto yy915; + if (yyaccept <= 24) { + goto yy1067; } else { - goto yy993; + goto yy1075; } } } } else { if (yyaccept <= 29) { if (yyaccept <= 27) { - if (yyaccept == 26) { - goto yy1011; + if (yyaccept <= 26) { + goto yy1117; } else { - goto yy1016; + goto yy1141; } } else { - if (yyaccept == 28) { - goto yy1046; + if (yyaccept <= 28) { + goto yy1294; } else { - goto yy1064; + goto yy1417; } } } else { if (yyaccept <= 31) { - if (yyaccept == 30) { - goto yy1097; + if (yyaccept <= 30) { + goto yy1420; } else { - goto yy1129; + goto yy1500; } } else { - if (yyaccept == 32) { - goto yy1132; + if (yyaccept <= 32) { + goto yy1508; } else { - goto yy1231; + goto yy1531; } } } @@ -2456,6849 +2504,9454 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy57: ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + 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) < 11) YYFILL(11); + yych = *YYCURSOR; +yy60: if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { - if (yych == '\t') goto yy185; + if (yych == '\t') goto yy59; if (yych <= 0x1F) goto yy56; - goto yy185; + goto yy59; } else { - if (yych == 'D') goto yy187; + if (yych == 'D') goto yy64; if (yych <= 'E') goto yy56; - goto yy188; + goto yy65; } } else { if (yych <= 'M') { - if (yych == 'H') goto yy76; + if (yych == 'H') goto yy63; if (yych <= 'L') goto yy56; - goto yy189; + goto yy62; } else { if (yych <= 'S') { if (yych <= 'R') goto yy56; - goto yy190; } else { - if (yych <= 'T') goto yy84; + if (yych <= 'T') goto yy68; if (yych <= 'V') goto yy56; - goto yy86; + goto yy67; } } } } else { if (yych <= 'l') { if (yych <= 'd') { - if (yych == 'Y') goto yy88; + if (yych == 'Y') goto yy66; if (yych <= 'c') goto yy56; - goto yy187; + goto yy64; } else { if (yych <= 'f') { if (yych <= 'e') goto yy56; - goto yy188; + goto yy65; } else { - if (yych == 'h') goto yy76; + if (yych == 'h') goto yy63; goto yy56; } } } else { if (yych <= 't') { - if (yych <= 'm') goto yy189; + if (yych <= 'm') goto yy62; if (yych <= 'r') goto yy56; - if (yych <= 's') goto yy190; - goto yy84; + if (yych >= 't') goto yy68; } else { if (yych <= 'w') { if (yych <= 'v') goto yy56; - goto yy86; + goto yy67; } else { - if (yych == 'y') goto yy88; + if (yych == 'y') goto yy66; goto yy56; } } } } -yy59: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yybm[0+yych] & 2) { - goto yy54; - } - if (yych <= ',') { - if (yych == '+') goto yy59; - goto yy56; - } else { - if (yych <= '-') goto yy59; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy57; - goto yy56; - } yy61: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { + yych = *++YYCURSOR; + if (yych <= 'U') { if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy18; - goto yy186; - } else { - if (yych <= '9') { - if (yych <= '/') goto yy18; - goto yy191; - } else { - if (yych <= ':') goto yy192; - if (yych <= 'C') goto yy18; - goto yy186; - } - } + if (yych == 'A') goto yy126; + goto yy56; } else { - if (yych <= 'H') { - if (yych == 'F') goto yy186; - if (yych <= 'G') goto yy18; - goto yy186; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy18; - goto yy186; - } else { - if (yych <= 'R') goto yy18; - if (yych <= 'T') goto yy186; - goto yy18; - } - } + if (yych <= 'E') goto yy127; + if (yych <= 'T') goto yy56; + goto yy125; } } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy18; - if (yych <= 'Y') goto yy186; - goto yy18; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy186; - goto yy18; - } else { - if (yych == 'g') goto yy18; - goto yy186; - } - } + if (yych <= 'd') { + if (yych == 'a') goto yy126; + goto yy56; } else { - if (yych <= 't') { - if (yych == 'm') goto yy186; - if (yych <= 'r') goto yy18; - goto yy186; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy18; - goto yy186; - } else { - if (yych == 'y') goto yy186; - goto yy18; - } - } + if (yych <= 'e') goto yy127; + if (yych == 'u') goto yy125; + goto yy56; } } yy62: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy18; - goto yy186; - } else { - if (yych <= '4') { - if (yych <= '/') goto yy18; - goto yy191; - } else { - if (yych <= '5') goto yy193; - if (yych <= '9') goto yy194; - goto yy192; - } - } - } else { - if (yych <= 'G') { - if (yych <= 'D') { - if (yych <= 'C') goto yy18; - goto yy186; - } else { - if (yych == 'F') goto yy186; - goto yy18; - } - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy186; - goto yy18; - } else { - if (yych <= 'M') goto yy186; - if (yych <= 'R') goto yy18; - goto yy186; - } - } - } + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych == 'I') goto yy117; + if (yych <= 'N') goto yy56; + goto yy116; } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy186; - if (yych <= 'X') goto yy18; - goto yy186; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy18; - goto yy186; - } else { - if (yych == 'f') goto yy186; - goto yy18; - } - } + if (yych <= 'i') { + if (yych <= 'h') goto yy56; + goto yy117; } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy186; - goto yy18; - } else { - if (yych <= 'm') goto yy186; - if (yych <= 'r') goto yy18; - goto yy186; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy18; - goto yy186; - } else { - if (yych == 'y') goto yy186; - goto yy18; - } - } + if (yych == 'o') goto yy116; + goto yy56; } } yy63: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= 'C') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy18; - goto yy186; - } else { - if (yych <= '5') { - if (yych <= '/') goto yy18; - goto yy193; - } else { - if (yych <= '9') goto yy194; - if (yych <= ':') goto yy192; - goto yy18; - } - } - } else { - if (yych <= 'G') { - if (yych == 'E') goto yy18; - if (yych <= 'F') goto yy186; - goto yy18; - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy186; - goto yy18; - } else { - if (yych <= 'M') goto yy186; - if (yych <= 'R') goto yy18; - goto yy186; - } - } - } + yych = *++YYCURSOR; + if (yych == 'O') goto yy114; + if (yych == 'o') goto yy114; + goto yy56; +yy64: + yych = *++YYCURSOR; + if (yych == 'A') goto yy113; + if (yych == 'a') goto yy113; + goto yy56; +yy65: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych == 'O') goto yy98; + if (yych <= 'Q') goto yy56; + goto yy97; } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy186; - if (yych <= 'X') goto yy18; - goto yy186; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy18; - goto yy186; - } else { - if (yych == 'f') goto yy186; - goto yy18; - } - } + if (yych <= 'o') { + if (yych <= 'n') goto yy56; + goto yy98; } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy186; - goto yy18; - } else { - if (yych <= 'm') goto yy186; - if (yych <= 'r') goto yy18; - goto yy186; - } - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy18; - goto yy186; - } else { - if (yych == 'y') goto yy186; - goto yy18; - } - } + if (yych == 'r') goto yy97; + goto yy56; } } -yy64: - yych = *++YYCURSOR; - if (yych <= '/') goto yy66; - if (yych <= '0') goto yy197; - if (yych <= '1') goto yy198; - if (yych <= '9') goto yy199; - goto yy66; -yy65: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); - yych = *YYCURSOR; yy66: - switch (yych) { - case '\t': - case ' ': goto yy65; - case '-': - case '.': goto yy195; - case 'A': - case 'a': goto yy73; - case 'D': - case 'd': goto yy74; - case 'F': - case 'f': goto yy75; - case 'H': - case 'h': goto yy76; - case 'I': goto yy77; - case 'J': - case 'j': goto yy79; - case 'M': - case 'm': goto yy80; - case 'N': - case 'n': goto yy81; - case 'O': - case 'o': goto yy82; - case 'S': - case 's': goto yy83; - case 'T': - case 't': goto yy84; - case 'V': goto yy85; - case 'W': - case 'w': goto yy86; - case 'X': goto yy87; - case 'Y': - case 'y': goto yy88; - default: goto yy56; - } + yych = *++YYCURSOR; + if (yych == 'E') goto yy94; + if (yych == 'e') goto yy94; + goto yy56; yy67: yych = *++YYCURSOR; - if (yych <= '/') goto yy196; - if (yych <= '0') goto yy200; - if (yych <= '1') goto yy201; - if (yych <= '9') goto yy202; - goto yy196; + if (yych == 'E') goto yy82; + if (yych == 'e') goto yy82; + goto yy56; yy68: yych = *++YYCURSOR; - if (yych <= '1') { - if (yych <= '/') goto yy196; - if (yych <= '0') goto yy207; - goto yy209; + if (yych <= 'U') { + if (yych == 'H') goto yy69; + if (yych <= 'T') goto yy56; + goto yy70; } else { - if (yych <= '5') goto yy210; - if (yych <= '9') goto yy211; - goto yy196; + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + } else { + if (yych == 'u') goto yy70; + goto yy56; + } } yy69: yych = *++YYCURSOR; - switch (yych) { - case '0': - case '1': - case '2': goto yy212; - case '3': goto yy214; - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy215; - case 'A': - case 'a': goto yy216; - case 'D': - case 'd': goto yy217; - case 'F': - case 'f': goto yy218; - case 'J': - case 'j': goto yy219; - case 'M': - case 'm': goto yy220; - case 'N': - case 'n': goto yy221; - case 'O': - case 'o': goto yy222; - case 'S': - case 's': goto yy223; - default: goto yy56; - } + if (yych == 'U') goto yy77; + if (yych == 'u') goto yy77; + goto yy56; yy70: yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= '-') { - if (yych == '\t') goto yy64; - if (yych <= ',') goto yy66; - goto yy224; - } else { - if (yych <= '.') goto yy68; - if (yych <= '/') goto yy69; - if (yych <= '5') goto yy225; - goto yy226; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy72; - if (yych == 'n') goto yy89; - goto yy66; - } else { - if (yych <= 'r') goto yy90; - if (yych <= 's') goto yy91; - if (yych <= 't') goto yy92; - goto yy66; - } - } + if (yych == 'E') goto yy71; + if (yych != 'e') goto yy56; yy71: - yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= '-') { - if (yych == '\t') goto yy93; - if (yych <= ',') goto yy95; - goto yy224; - } else { - if (yych <= '.') goto yy96; - if (yych <= '/') goto yy69; - if (yych <= '5') goto yy225; - goto yy226; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy98; - if (yych == 'n') goto yy89; - goto yy95; - } else { - if (yych <= 'r') goto yy90; - if (yych <= 's') goto yy91; - if (yych <= 't') goto yy92; - goto yy95; + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'S') goto yy73; + if (yych == 's') goto yy73; +yy72: +#line 1694 "ext/date/lib/parse_date.re" + { + timelib_ull i; + DEBUG_OUTPUT("relative"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + + while(*ptr) { + i = timelib_get_unsigned_nr((char **) &ptr, 24); + timelib_eat_spaces((char **) &ptr); + timelib_set_relative((char **) &ptr, i, 1, s); } + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; } -yy72: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy227; - if (yych <= '9') goto yy228; - goto yy56; +#line 2693 "" yy73: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy229; - if (yych <= 'T') goto yy56; - goto yy230; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy56; - goto yy229; - } else { - if (yych == 'u') goto yy230; - goto yy56; - } - } + if (yych == 'D') goto yy74; + if (yych != 'd') goto yy56; yy74: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych == 'A') goto yy231; - if (yych <= 'D') goto yy56; - goto yy232; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy231; - } else { - if (yych == 'e') goto yy232; - goto yy56; - } - } + if (yych == 'A') goto yy75; + if (yych != 'a') goto yy56; yy75: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= 'N') { - if (yych == 'E') goto yy233; - goto yy56; - } else { - if (yych <= 'O') goto yy234; - if (yych <= 'Q') goto yy56; - goto yy235; - } - } else { - if (yych <= 'n') { - if (yych == 'e') goto yy233; - goto yy56; - } else { - if (yych <= 'o') goto yy234; - if (yych == 'r') goto yy235; - goto yy56; - } - } + if (yych == 'Y') goto yy76; + if (yych != 'y') goto yy56; yy76: yych = *++YYCURSOR; - if (yych == 'O') goto yy236; - if (yych == 'o') goto yy236; - goto yy56; + goto yy72; yy77: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy237; - } else { - if (yych <= ' ') goto yy237; - if (yych <= ',') goto yy78; - if (yych <= '.') goto yy237; - } - } else { - if (yych <= 'U') { - if (yych <= '9') goto yy239; - if (yych == 'I') goto yy241; - } else { - if (yych == 'W') goto yy78; - if (yych <= 'X') goto yy242; - } - } + if (yych == 'R') goto yy78; + if (yych != 'r') goto yy72; yy78: -#line 1376 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datenoyearrev"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->d = timelib_get_nr((char **) &ptr, 2); - timelib_skip_day_suffix((char **) &ptr); - s->time->m = timelib_get_month((char **) &ptr); - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; - } -#line 2991 "" + yych = *++YYCURSOR; + if (yych == 'S') goto yy79; + if (yych != 's') goto yy56; yy79: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy243; - if (yych <= 'T') goto yy56; - goto yy244; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy243; - } else { - if (yych == 'u') goto yy244; - goto yy56; - } - } + if (yych == 'D') goto yy80; + if (yych != 'd') goto yy56; yy80: yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'H') { - if (yych == 'A') goto yy245; - goto yy56; - } else { - if (yych <= 'I') goto yy246; - if (yych <= 'N') goto yy56; - goto yy247; - } - } else { - if (yych <= 'h') { - if (yych == 'a') goto yy245; - goto yy56; - } else { - if (yych <= 'i') goto yy246; - if (yych == 'o') goto yy247; - goto yy56; - } - } + if (yych == 'A') goto yy81; + if (yych != 'a') goto yy56; yy81: yych = *++YYCURSOR; - if (yych == 'O') goto yy248; - if (yych == 'o') goto yy248; + if (yych == 'Y') goto yy76; + if (yych == 'y') goto yy76; goto yy56; yy82: yych = *++YYCURSOR; - if (yych == 'C') goto yy249; - if (yych == 'c') goto yy249; - goto yy56; -yy83: - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'A') goto yy250; - goto yy56; - } else { - if (yych <= 'E') goto yy251; - if (yych <= 'T') goto yy56; - goto yy252; - } + if (yych <= 'E') { + if (yych <= 'C') goto yy56; + if (yych <= 'D') goto yy84; } else { - if (yych <= 'd') { - if (yych == 'a') goto yy250; - goto yy56; - } else { - if (yych <= 'e') goto yy251; - if (yych == 'u') goto yy252; - goto yy56; - } + if (yych <= 'c') goto yy56; + if (yych <= 'd') goto yy84; + if (yych >= 'f') goto yy56; } -yy84: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'H') goto yy253; - if (yych <= 'T') goto yy56; - goto yy254; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy56; - goto yy253; - } else { - if (yych == 'u') goto yy254; - goto yy56; - } - } -yy85: + if (yych == 'K') goto yy90; + if (yych == 'k') goto yy90; + goto yy56; +yy84: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy78; - goto yy237; - } else { - if (yych == ' ') goto yy237; - goto yy78; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy237; - if (yych <= '/') goto yy78; - goto yy239; - } else { - if (yych == 'I') goto yy87; - goto yy78; - } - } + if (yych == 'N') goto yy85; + if (yych != 'n') goto yy72; +yy85: + yych = *++YYCURSOR; + if (yych == 'E') goto yy86; + if (yych != 'e') goto yy56; yy86: yych = *++YYCURSOR; - if (yych == 'E') goto yy255; - if (yych == 'e') goto yy255; - goto yy56; + if (yych == 'S') goto yy87; + if (yych != 's') goto yy56; yy87: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy78; - goto yy237; - } else { - if (yych == ' ') goto yy237; - goto yy78; - } - } else { - if (yych <= '9') { - if (yych <= '.') goto yy237; - if (yych <= '/') goto yy78; - goto yy239; - } else { - if (yych == 'I') goto yy241; - goto yy78; - } - } + yych = *++YYCURSOR; + if (yych == 'D') goto yy88; + if (yych != 'd') goto yy56; yy88: yych = *++YYCURSOR; - if (yych == 'E') goto yy256; - if (yych == 'e') goto yy256; - goto yy56; + if (yych == 'A') goto yy89; + if (yych != 'a') goto yy56; yy89: yych = *++YYCURSOR; - if (yych <= 'c') { - if (yych == 'O') goto yy248; - goto yy56; - } else { - if (yych <= 'd') goto yy257; - if (yych == 'o') goto yy248; - goto yy56; - } -yy90: - yych = *++YYCURSOR; - if (yych == 'd') goto yy257; + if (yych == 'Y') goto yy76; + if (yych == 'y') goto yy76; goto yy56; -yy91: - yych = *++YYCURSOR; - if (yych <= '`') { - if (yych <= 'D') { - if (yych == 'A') goto yy250; - goto yy56; - } else { - if (yych <= 'E') goto yy251; - if (yych == 'U') goto yy252; - goto yy56; - } +yy90: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == 'D') goto yy91; + if (yych <= 'R') goto yy72; + goto yy76; } else { - if (yych <= 'e') { - if (yych <= 'a') goto yy250; - if (yych <= 'd') goto yy56; - goto yy251; + if (yych <= 'd') { + if (yych <= 'c') goto yy72; } else { - if (yych <= 's') goto yy56; - if (yych <= 't') goto yy257; - if (yych <= 'u') goto yy252; - goto yy56; + if (yych == 's') goto yy76; + goto yy72; } } +yy91: + yych = *++YYCURSOR; + if (yych == 'A') goto yy92; + if (yych != 'a') goto yy56; yy92: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'H') goto yy253; - if (yych <= 'T') goto yy56; - goto yy254; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy56; - goto yy258; - } else { - if (yych == 'u') goto yy254; - goto yy56; - } - } + if (yych == 'Y') goto yy93; + if (yych != 'y') goto yy56; yy93: yych = *++YYCURSOR; - if (yych <= '/') goto yy95; - if (yych <= '0') goto yy197; - if (yych <= '1') goto yy198; - if (yych <= '9') goto yy199; - goto yy95; + if (yych == 'S') goto yy76; + if (yych == 's') goto yy76; + goto yy72; yy94: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); - yych = *YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'A') goto yy95; + if (yych != 'a') goto yy56; yy95: - switch (yych) { - case '\t': - case ' ': goto yy94; - case '-': - case '.': goto yy195; - case 'A': - case 'a': goto yy99; - case 'D': - case 'd': goto yy74; - case 'F': - case 'f': goto yy75; - case 'H': - case 'h': goto yy76; - case 'I': goto yy77; - case 'J': - case 'j': goto yy79; - case 'M': - case 'm': goto yy80; - case 'N': - case 'n': goto yy81; - case 'O': - case 'o': goto yy82; - case 'P': - case 'p': goto yy100; - case 'S': - case 's': goto yy83; - case 'T': - case 't': goto yy84; - case 'V': goto yy85; - case 'W': - case 'w': goto yy86; - case 'X': goto yy87; - case 'Y': - case 'y': goto yy88; - default: goto yy56; - } + yych = *++YYCURSOR; + if (yych == 'R') goto yy96; + if (yych != 'r') goto yy56; yy96: yych = *++YYCURSOR; - if (yych <= '1') { - if (yych <= '/') goto yy196; - if (yych <= '0') goto yy259; - goto yy260; - } else { - if (yych <= '5') goto yy261; - if (yych <= '9') goto yy262; - goto yy196; - } + if (yych == 'S') goto yy76; + if (yych == 's') goto yy76; + goto yy72; yy97: yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= '-') { - if (yych == '\t') goto yy64; - if (yych <= ',') goto yy66; - goto yy224; - } else { - if (yych <= '.') goto yy68; - if (yych <= '/') goto yy263; - if (yych <= '5') goto yy225; - goto yy226; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy72; - if (yych == 'n') goto yy89; - goto yy66; - } else { - if (yych <= 'r') goto yy90; - if (yych <= 's') goto yy91; - if (yych <= 't') goto yy92; - goto yy66; - } - } + if (yych == 'I') goto yy110; + if (yych == 'i') goto yy110; + goto yy56; yy98: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy264; - if (yych <= '9') goto yy265; - goto yy56; + if (yych == 'R') goto yy99; + if (yych != 'r') goto yy56; yy99: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= 'L') { - if (yych == '.') goto yy266; - goto yy56; - } else { - if (yych <= 'M') goto yy267; - if (yych == 'P') goto yy229; - goto yy56; - } + if (yych == 'T') goto yy100; + if (yych != 't') goto yy56; +yy100: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'H') goto yy102; + if (yych <= 'M') goto yy56; } else { - if (yych <= 'o') { - if (yych <= 'U') goto yy230; - if (yych == 'm') goto yy267; - goto yy56; + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy102; } else { - if (yych <= 'p') goto yy229; - if (yych == 'u') goto yy230; - goto yy56; + if (yych != 'n') goto yy56; } } -yy100: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == '.') goto yy266; - goto yy56; - } else { - if (yych <= 'M') goto yy267; - if (yych == 'm') goto yy267; - goto yy56; - } -yy101: - yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '\t') goto yy64; - goto yy66; - } else { - if (yych <= '-') goto yy224; - if (yych <= '.') goto yy268; - if (yych <= '/') goto yy263; - goto yy226; - } - } else { - if (yych <= 'q') { - if (yych == 'n') goto yy89; - goto yy66; - } else { - if (yych <= 'r') goto yy90; - if (yych <= 's') goto yy91; - if (yych <= 't') goto yy92; - goto yy66; - } - } + if (yych == 'I') goto yy107; + if (yych == 'i') goto yy107; + goto yy56; yy102: yych = *++YYCURSOR; - if (yych == '-') goto yy269; - if (yych <= '/') goto yy186; - if (yych <= '9') goto yy226; - goto yy186; + if (yych == 'N') goto yy103; + if (yych != 'n') goto yy56; yy103: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; + if (yych == 'I') goto yy104; + if (yych != 'i') goto yy56; yy104: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '/') goto yy106; - if (yych <= '9') goto yy104; + yych = *++YYCURSOR; + if (yych == 'G') goto yy105; + if (yych != 'g') goto yy56; +yy105: + yych = *++YYCURSOR; + if (yych == 'H') goto yy106; + if (yych != 'h') goto yy56; yy106: -#line 1006 "ext/date/lib/parse_date.re" - { - timelib_ull i; - - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_UNHAVE_DATE(); - TIMELIB_UNHAVE_TIME(); - TIMELIB_HAVE_TZ(); - - i = timelib_get_unsigned_nr((char **) &ptr, 24); - s->time->y = 1970; - s->time->m = 1; - s->time->d = 1; - s->time->h = s->time->i = s->time->s = 0; - s->time->f = 0.0; - s->time->relative.s += i; - s->time->is_localtime = 1; - s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; - s->time->z = 0; - s->time->dst = 0; - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 3365 "" + yych = *++YYCURSOR; + if (yych == 'T') goto yy96; + if (yych == 't') goto yy96; + goto yy56; yy107: yych = *++YYCURSOR; - goto yy18; + if (yych == 'G') goto yy108; + if (yych != 'g') goto yy56; yy108: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy270; - goto yy18; - } + if (yych == 'H') goto yy109; + if (yych != 'h') goto yy56; yy109: yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'N') goto yy270; - goto yy271; - } + if (yych == 'T') goto yy96; + if (yych == 't') goto yy96; + goto yy56; +yy110: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'D') goto yy111; + if (yych != 'd') goto yy72; +yy111: + yych = *++YYCURSOR; + if (yych == 'A') goto yy112; + if (yych != 'a') goto yy56; +yy112: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy76; + if (yych == 'y') goto yy76; + goto yy56; +yy113: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy96; + if (yych == 'y') goto yy96; + goto yy56; +yy114: + yych = *++YYCURSOR; + if (yych == 'U') goto yy115; + if (yych != 'u') goto yy56; +yy115: + yych = *++YYCURSOR; + if (yych == 'R') goto yy96; + if (yych == 'r') goto yy96; + goto yy56; +yy116: + yych = *++YYCURSOR; + if (yych == 'N') goto yy121; + if (yych == 'n') goto yy121; + goto yy56; +yy117: + yych = *++YYCURSOR; + if (yych == 'N') goto yy118; + if (yych != 'n') goto yy56; +yy118: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'U') { + if (yych == 'S') goto yy76; + if (yych <= 'T') goto yy72; } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= 's') { + if (yych <= 'r') goto yy72; + goto yy76; } else { - if (yych <= 'o') goto yy271; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych != 'u') goto yy72; } } -yy110: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'Q') goto yy270; - goto yy273; - } + if (yych == 'T') goto yy120; + if (yych != 't') goto yy56; +yy120: + yych = *++YYCURSOR; + if (yych == 'E') goto yy96; + if (yych == 'e') goto yy96; + goto yy56; +yy121: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych == 'D') goto yy122; + if (yych <= 'S') goto yy72; + goto yy123; } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= 'd') { + if (yych <= 'c') goto yy72; } else { - if (yych <= 'r') goto yy273; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych == 't') goto yy123; + goto yy72; } } -yy111: +yy122: yych = *++YYCURSOR; - if (yych <= 'G') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'F') goto yy270; - goto yy275; - } + if (yych == 'A') goto yy124; + if (yych == 'a') goto yy124; + goto yy56; +yy123: + yych = *++YYCURSOR; + if (yych == 'H') goto yy96; + if (yych == 'h') goto yy96; + goto yy56; +yy124: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy76; + if (yych == 'y') goto yy76; + goto yy56; +yy125: + yych = *++YYCURSOR; + if (yych == 'N') goto yy136; + if (yych == 'n') goto yy136; + goto yy56; +yy126: + yych = *++YYCURSOR; + if (yych == 'T') goto yy131; + if (yych == 't') goto yy131; + goto yy56; +yy127: + yych = *++YYCURSOR; + if (yych == 'C') goto yy128; + if (yych != 'c') goto yy56; +yy128: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == 'O') goto yy129; + if (yych <= 'R') goto yy72; + goto yy76; } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= 'o') { + if (yych <= 'n') goto yy72; } else { - if (yych <= 'g') goto yy275; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych == 's') goto yy76; + goto yy72; } } -yy112: - yyaccept = 2; +yy129: + yych = *++YYCURSOR; + if (yych == 'N') goto yy130; + if (yych != 'n') goto yy56; +yy130: + yych = *++YYCURSOR; + if (yych == 'D') goto yy96; + if (yych == 'd') goto yy96; + goto yy56; +yy131: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'U') goto yy132; + if (yych != 'u') goto yy72; +yy132: + yych = *++YYCURSOR; + if (yych == 'R') goto yy133; + if (yych != 'r') goto yy56; +yy133: + yych = *++YYCURSOR; + if (yych == 'D') goto yy134; + if (yych != 'd') goto yy56; +yy134: + yych = *++YYCURSOR; + if (yych == 'A') goto yy135; + if (yych != 'a') goto yy56; +yy135: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy76; + if (yych == 'y') goto yy76; + goto yy56; +yy136: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'D') goto yy137; + if (yych != 'd') goto yy72; +yy137: + yych = *++YYCURSOR; + if (yych == 'A') goto yy138; + if (yych != 'a') goto yy56; +yy138: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy76; + if (yych == 'y') goto yy76; + goto yy56; +yy139: + yych = *++YYCURSOR; + goto yy3; +yy140: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; + } +yy141: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; + } +yy142: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; + } +yy143: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; + } +yy144: + yych = *++YYCURSOR; + if (yych == ')') goto yy139; + goto yy3; +yy145: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy18; - goto yy276; + if (yych == '.') goto yy3; + goto yy147; } } else { if (yych <= '^') { - if (yych <= '@') goto yy18; - if (yych <= 'Z') goto yy270; - goto yy18; + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy141; + goto yy3; } else { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy277; - goto yy18; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; } } -yy113: - yyaccept = 2; +yy146: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych == '.') goto yy3; } } else { - if (yych <= '_') { - if (yych <= 'O') goto yy271; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '^') { + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy142; + goto yy3; } else { - if (yych <= 'n') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'o') goto yy278; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy150; + goto yy3; } } -yy114: - yyaccept = 2; +yy147: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 8) { + goto yy148; + } + goto yy56; +yy148: + yyaccept = 0; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 8) { + goto yy148; + } + if (yych <= '.') { + if (yych == '-') goto yy147; + goto yy3; + } else { + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; + goto yy3; + } +yy150: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych == '.') goto yy3; + goto yy147; } } else { - if (yych <= '_') { - if (yych <= 'R') goto yy273; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '^') { + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy143; + goto yy3; } else { - if (yych <= 'q') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'r') goto yy279; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; } } -yy115: - yyaccept = 2; +yy151: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'F') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych == '.') goto yy3; + goto yy147; } } else { - if (yych <= '_') { - if (yych <= 'G') goto yy275; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '^') { + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy144; + goto yy3; } else { - if (yych <= 'f') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'g') goto yy280; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; } } -yy116: - yych = *++YYCURSOR; - if (yych <= 'C') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'B') goto yy270; - goto yy281; - } +yy152: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy153; + } + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= '/') { + if (yych <= '.') goto yy3; + goto yy147; } else { - if (yych <= 'c') goto yy281; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych == '_') goto yy147; + goto yy3; } } -yy117: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'B') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; - } +yy153: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy154: + if (yybm[0+yych] & 16) { + goto yy153; + } + if (yych <= '.') { + if (yych == '-') goto yy147; + goto yy56; } else { - if (yych <= '_') { - if (yych <= 'C') goto yy281; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'b') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'c') goto yy282; - if (yych <= 'z') goto yy277; - goto yy18; - } - } + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; + goto yy56; } -yy118: +yy155: yych = *++YYCURSOR; - if (yych <= 'C') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'B') goto yy270; - goto yy283; - } + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy140; + goto yy3; + } +yy156: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy141; + } else { + if (yych <= 'Z') { + if (yych >= 'U') goto yy141; } else { - if (yych <= 'c') goto yy283; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy119: - yyaccept = 2; + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'B') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= ',') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych != '+') goto yy3; } } else { - if (yych <= '_') { - if (yych <= 'C') goto yy283; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'Z') { + if (yych <= '-') goto yy158; + if (yych <= '@') goto yy3; + goto yy142; } else { - if (yych <= 'b') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'c') goto yy284; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy120: +yy158: yych = *++YYCURSOR; - if (yych <= 'G') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'F') goto yy270; - goto yy285; - } + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy159; + if (yych <= '2') goto yy160; + if (yych <= '9') goto yy161; + goto yy56; +yy159: + yych = *++YYCURSOR; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy161; + if (yych <= ':') goto yy162; + goto yy3; +yy160: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy3; + if (yych >= '5') goto yy163; } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; - } else { - if (yych <= 'g') goto yy285; - if (yych <= 'z') goto yy270; - goto yy18; - } + if (yych <= '9') goto yy139; + if (yych <= ':') goto yy162; + goto yy3; } -yy121: +yy161: + yych = *++YYCURSOR; + if (yych <= '/') goto yy3; + if (yych <= '5') goto yy163; + if (yych <= '9') goto yy139; + if (yych >= ';') goto yy3; +yy162: + yych = *++YYCURSOR; + if (yych <= '/') goto yy3; + if (yych <= '5') goto yy163; + if (yych <= '9') goto yy139; + goto yy3; +yy163: + yych = *++YYCURSOR; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy139; + goto yy3; +yy164: yych = *++YYCURSOR; if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy270; - goto yy286; + if (yych <= 'C') goto yy141; + if (yych >= 'E') goto yy167; } } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= 'c') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'e') goto yy286; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'd') goto yy165; + if (yych <= 'e') goto yy167; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy122: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'F') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; +yy165: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= 'N') { + if (yych <= ')') { + if (yych >= ')') goto yy139; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych <= '@') goto yy166; + if (yych <= 'M') goto yy142; + goto yy173; } } else { - if (yych <= '_') { - if (yych <= 'G') goto yy285; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'm') { + if (yych <= 'Z') goto yy142; + if (yych >= 'a') goto yy142; } else { - if (yych <= 'f') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'g') goto yy287; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= 'n') goto yy173; + if (yych <= 'z') goto yy142; } } -yy123: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; +yy166: +#line 1557 "ext/date/lib/parse_date.re" + { + const timelib_relunit* relunit; + DEBUG_OUTPUT("daytext"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_HAVE_WEEKDAY_RELATIVE(); + TIMELIB_UNHAVE_TIME(); + relunit = timelib_lookup_relunit((char**) &ptr); + s->time->relative.weekday = relunit->multiplier; + if (s->time->relative.weekday_behavior != 2) { + s->time->relative.weekday_behavior = 1; + } + + TIMELIB_DEINIT; + return TIMELIB_WEEKDAY; + } +#line 3378 "" +yy167: + yych = *++YYCURSOR; + if (yych <= 'K') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych <= '@') goto yy3; + if (yych <= 'J') goto yy142; } } else { - if (yych <= '_') { - if (yych <= 'E') goto yy286; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'j') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 'd') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'e') goto yy288; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= 'k') goto yy168; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy124: +yy168: yych = *++YYCURSOR; - if (yych <= 'B') { + if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'A') goto yy270; - goto yy289; + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy143; } } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= 'c') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'b') goto yy289; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'd') goto yy169; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy125: +yy169: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych == 'F') goto yy290; - if (yych <= 'Q') goto yy270; - goto yy291; - } + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - if (yych <= 'e') goto yy270; - goto yy290; + if (yych <= '`') { + if (yych <= 'Z') goto yy144; + goto yy3; } else { - if (yych == 'r') goto yy291; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'a') goto yy170; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy126: +yy170: yych = *++YYCURSOR; - if (yych <= 'U') { + if (yych <= 'X') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'Y') goto yy171; + if (yych != 'y') goto yy3; + } +yy171: + yych = *++YYCURSOR; + if (yych == 'S') goto yy172; + if (yych != 's') goto yy166; +yy172: + yych = *++YYCURSOR; + goto yy166; +yy173: + yych = *++YYCURSOR; + if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'T') goto yy270; - goto yy292; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy143; } } else { - if (yych <= 't') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= 'd') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'u') goto yy292; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'e') goto yy174; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy127: +yy174: yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == 'I') goto yy293; - if (yych <= 'N') goto yy270; - goto yy295; + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy144; } } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - if (yych <= 'h') goto yy270; - goto yy293; + if (yych <= 'r') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych == 'o') goto yy295; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 's') goto yy175; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy128: - yyaccept = 2; +yy175: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; - } + if (yych <= 'C') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= '_') { - if (yych <= 'B') goto yy289; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'b') goto yy296; - if (yych <= 'z') goto yy277; - goto yy18; - } - } + if (yych <= 'D') goto yy176; + if (yych != 'd') goto yy3; } -yy129: - yyaccept = 2; +yy176: + yych = *++YYCURSOR; + if (yych == 'A') goto yy177; + if (yych != 'a') goto yy56; +yy177: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy172; + if (yych == 'y') goto yy172; + goto yy56; +yy178: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych == '-') goto yy276; - goto yy18; - } + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '@') { - if (yych <= '/') goto yy276; - goto yy18; + if (yych <= '/') { + if (yych <= '.') goto yy3; + goto yy147; } else { - if (yych == 'F') goto yy290; - goto yy270; + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy141; + goto yy165; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'R') goto yy291; - goto yy270; + if (yych <= 'E') goto yy167; + goto yy141; } else { - if (yych == '_') goto yy276; - goto yy18; + if (yych == '_') goto yy147; + goto yy3; } } else { - if (yych <= 'q') { - if (yych == 'f') goto yy297; - goto yy277; + if (yych <= 'd') { + if (yych <= 'c') goto yy146; } else { - if (yych <= 'r') goto yy298; - if (yych <= 'z') goto yy277; - goto yy18; + if (yych <= 'e') goto yy180; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy130: - yyaccept = 2; + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { + if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'U') goto yy292; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'N') goto yy173; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { - if (yych <= 't') { - if (yych <= '`') goto yy18; - goto yy277; + if (yych <= 'm') { + if (yych <= '`') goto yy166; + goto yy150; } else { - if (yych <= 'u') goto yy299; - if (yych <= 'z') goto yy277; - goto yy18; + if (yych <= 'n') goto yy186; + if (yych <= 'z') goto yy150; + goto yy166; } } } -yy131: - yyaccept = 2; +yy180: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych == '-') goto yy276; - goto yy18; - } + if (yych <= 'J') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '@') { - if (yych <= '/') goto yy276; - goto yy18; - } else { - if (yych == 'I') goto yy293; - goto yy270; - } + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'O') goto yy295; - goto yy270; - } else { - if (yych == '_') goto yy276; - goto yy18; - } + if (yych <= '_') { + if (yych <= 'K') goto yy168; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'n') { - if (yych == 'i') goto yy300; - goto yy277; + if (yych <= 'j') { + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 'o') goto yy301; - if (yych <= 'z') goto yy277; - goto yy18; + if (yych <= 'k') goto yy181; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy132: - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy270; +yy181: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } } else { - if (yych <= 'Z') { - if (yych <= 'T') goto yy302; - goto yy270; + if (yych <= '_') { + if (yych <= 'D') goto yy169; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'd') goto yy182; + if (yych <= 'z') goto yy151; + goto yy3; + } } } -yy133: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21); - yych = *YYCURSOR; -yy134: - if (yybm[0+yych] & 16) { - goto yy133; +yy182: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy170; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy183; + if (yych <= 'z') goto yy152; + goto yy3; + } } - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy135; - if (yych <= '3') goto yy137; - if (yych <= '9') goto yy138; - goto yy56; -yy135: - yyaccept = 4; +yy183: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy304; - if (yych <= '0') goto yy305; - if (yych <= '1') goto yy306; - if (yych <= '9') goto yy307; - goto yy304; -yy136: -#line 1362 "ext/date/lib/parse_date.re" - { - 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; + if (yych <= 'X') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'Y') goto yy171; + if (yych == '_') goto yy147; + goto yy3; + } else { + if (yych == 'y') goto yy184; + if (yych <= 'z') goto yy153; + goto yy3; + } } -#line 4050 "" -yy137: +yy184: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '1') { - if (yych <= '/') goto yy304; - if (yych <= '0') goto yy305; - goto yy306; + if (yych <= 'S') { + if (yych <= '.') { + if (yych == '-') goto yy147; + goto yy166; + } else { + if (yych <= '/') goto yy147; + if (yych <= 'R') goto yy166; + goto yy172; + } } else { - if (yych <= '2') goto yy309; - if (yych <= '9') goto yy310; - goto yy304; + if (yych <= '`') { + if (yych == '_') goto yy147; + goto yy166; + } else { + if (yych == 's') goto yy185; + if (yych <= 'z') goto yy153; + goto yy166; + } } -yy138: +yy185: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '1') { - if (yych <= '/') goto yy304; - if (yych <= '0') goto yy311; - goto yy312; + if (yybm[0+yych] & 16) { + goto yy153; + } + if (yych <= '.') { + if (yych == '-') goto yy147; + goto yy166; } else { - if (yych <= '2') goto yy309; - if (yych <= '9') goto yy310; - goto yy304; + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; + goto yy166; } -yy139: - yyaccept = 2; +yy186: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy134; - if (yych <= 0x1F) goto yy18; - goto yy134; + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy134; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { - if (yych <= 'H') { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy134; - if (yych <= '@') goto yy18; - goto yy270; + if (yych <= '_') { + if (yych <= 'E') goto yy174; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'Z') { - if (yych <= 'I') goto yy313; - goto yy270; + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'e') goto yy187; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy140: - yyaccept = 2; +yy187: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy134; - goto yy18; + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= ' ') goto yy134; - if (yych == ')') goto yy107; - goto yy18; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { - if (yych <= '@') { - if (yych == '/') goto yy18; - if (yych <= '9') goto yy134; - goto yy18; + if (yych <= '_') { + if (yych <= 'S') goto yy175; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'r') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 's') goto yy188; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy141: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy188: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= '@') goto yy18; - if (yych <= 'M') goto yy270; - goto yy314; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= '`') { + if (yych <= 'D') goto yy176; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych <= 'n') goto yy314; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych == 'd') goto yy189; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy142: +yy189: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych == 'L') goto yy315; - if (yych <= 'M') goto yy270; - goto yy316; - } - } else { - if (yych <= 'l') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - if (yych <= 'k') goto yy270; - goto yy315; - } else { - if (yych == 'n') goto yy316; - if (yych <= 'z') goto yy270; - goto yy18; - } - } -yy143: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == 'A') goto yy177; + if (yych != 'a') goto yy154; + yych = *++YYCURSOR; + if (yych == 'Y') goto yy172; + if (yych == 'y') goto yy185; + goto yy154; +yy191: + yych = *++YYCURSOR; + if (yych <= 'C') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy141; } } else { - if (yych <= '_') { - if (yych <= 'N') goto yy314; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'b') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'm') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'n') goto yy317; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= 'c') goto yy192; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy144: - yyaccept = 2; +yy192: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych >= '\t') goto yy195; } else { - if (yych == '-') goto yy276; - goto yy18; + if (yych == ' ') goto yy195; } } else { - if (yych <= '@') { - if (yych <= '/') goto yy276; - goto yy18; + if (yych <= ',') { + if (yych <= ')') goto yy139; } else { - if (yych == 'L') goto yy315; - goto yy270; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; } } } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'N') goto yy316; - goto yy270; + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy195; } else { - if (yych == '_') goto yy276; - goto yy18; + if (yych == 'E') goto yy201; + goto yy142; } } else { - if (yych <= 'm') { - if (yych == 'l') goto yy318; - goto yy277; + if (yych <= 'd') { + if (yych >= 'a') goto yy142; } else { - if (yych <= 'n') goto yy319; - if (yych <= 'z') goto yy277; - goto yy18; + if (yych <= 'e') goto yy201; + if (yych <= 'z') goto yy142; } } } -yy145: +yy193: +#line 1616 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("monthtext"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->m = timelib_lookup_month((char **) &ptr); + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } +#line 3880 "" +yy194: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21); + yych = *YYCURSOR; +yy195: + if (yybm[0+yych] & 32) { + goto yy194; + } + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy197; + if (yych <= '3') goto yy199; + if (yych <= '9') goto yy200; + goto yy56; +yy196: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '/') goto yy195; + if (yych <= '0') goto yy356; + if (yych <= '2') goto yy357; + if (yych <= '3') goto yy358; + goto yy195; +yy197: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'm') { + if (yych <= '1') { + if (yych <= '/') goto yy215; + if (yych <= '0') goto yy297; + goto yy298; } else { - if (yych <= '@') goto yy18; - if (yych <= 'R') goto yy270; - goto yy320; + if (yych <= '2') goto yy354; + if (yych <= '9') goto yy355; + goto yy215; } } else { if (yych <= 'r') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= 'n') goto yy211; + if (yych <= 'q') goto yy215; + goto yy212; } else { - if (yych <= 's') goto yy320; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy146: - yyaccept = 2; +yy198: +#line 1362 "ext/date/lib/parse_date.re" + { + 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; + } +#line 3939 "" +yy199: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= 'm') { + if (yych <= '1') { + if (yych <= '/') goto yy215; + if (yych <= '0') goto yy297; + goto yy298; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych <= '2') goto yy208; + if (yych <= '9') goto yy209; + goto yy215; } } else { - if (yych <= '_') { - if (yych <= 'S') goto yy320; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'r') { + if (yych <= 'n') goto yy211; + if (yych <= 'q') goto yy215; + goto yy212; } else { - if (yych <= 'r') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 's') goto yy321; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy147: - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; +yy200: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'm') { + if (yych <= '1') { + if (yych <= '/') goto yy215; + if (yych <= '0') goto yy206; + goto yy207; } else { - if (yych == 'R') goto yy322; - if (yych <= 'X') goto yy270; - goto yy323; + if (yych <= '2') goto yy208; + if (yych <= '9') goto yy209; + goto yy215; } } else { if (yych <= 'r') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - if (yych <= 'q') goto yy270; - goto yy322; + if (yych <= 'n') goto yy211; + if (yych <= 'q') goto yy215; + goto yy212; } else { - if (yych == 'y') goto yy323; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy148: +yy201: yych = *++YYCURSOR; - if (yych <= 'D') { + if (yych <= 'M') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'C') goto yy270; - goto yy324; + if (yych <= '@') goto yy3; + if (yych <= 'L') goto yy143; } } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= 'l') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'd') goto yy324; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'm') goto yy202; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy149: +yy202: yych = *++YYCURSOR; - if (yych <= 'N') { + if (yych <= 'B') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'M') goto yy270; - goto yy293; + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy144; } } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= 'a') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'n') goto yy293; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'b') goto yy203; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy150: - yyaccept = 2; +yy203: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { + if (yych <= 'D') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'E') goto yy204; + if (yych != 'e') goto yy3; + } +yy204: + yych = *++YYCURSOR; + if (yych == 'R') goto yy205; + if (yych != 'r') goto yy56; +yy205: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy193; + goto yy195; + } else { if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych == '-') goto yy276; - goto yy18; - } + if (yych <= ',') goto yy193; + goto yy195; } else { - if (yych <= '@') { - if (yych <= '/') goto yy276; - goto yy18; - } else { - if (yych == 'R') goto yy322; - goto yy270; - } + if (yych <= '/') goto yy193; + if (yych <= '9') goto yy195; + goto yy193; } + } +yy206: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy220; + goto yy56; } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'Y') goto yy323; - goto yy270; - } else { - if (yych == '_') goto yy276; - goto yy18; + if (yych <= '0') goto yy295; + if (yych <= '9') goto yy296; + if (yych <= ':') goto yy220; + goto yy56; + } +yy207: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy263; + goto yy56; + } else { + if (yych <= '2') goto yy296; + if (yych <= '9') goto yy295; + if (yych <= ':') goto yy263; + goto yy56; + } +yy208: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy263; + goto yy56; + } else { + if (yych <= '4') goto yy295; + if (yych <= '9') goto yy292; + if (yych <= ':') goto yy263; + goto yy56; + } +yy209: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy263; + goto yy56; + } else { + if (yych <= '9') goto yy292; + if (yych <= ':') goto yy263; + goto yy56; + } +yy210: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + goto yy215; +yy211: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + goto yy215; +yy212: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + goto yy215; +yy213: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + goto yy215; +yy214: + yyaccept = 6; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); + yych = *YYCURSOR; +yy215: + if (yybm[0+yych] & 64) { + goto yy214; + } + if (yych <= '2') { + if (yych <= '/') goto yy198; + if (yych <= '0') goto yy258; + if (yych <= '1') goto yy259; + goto yy260; + } else { + if (yych <= '9') goto yy261; + if (yych != 'T') goto yy198; + } + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy217; + if (yych <= '2') goto yy218; + if (yych <= '9') goto yy219; + goto yy56; +yy217: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy220; + goto yy56; + } else { + if (yych <= '9') goto yy219; + if (yych <= ':') goto yy220; + goto yy56; + } +yy218: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy220; + goto yy56; + } else { + if (yych <= '4') goto yy219; + if (yych == ':') goto yy220; + goto yy56; + } +yy219: + yych = *++YYCURSOR; + if (yych == '.') goto yy220; + if (yych != ':') goto yy56; +yy220: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy221; + if (yych <= '9') goto yy223; + goto yy56; +yy221: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy224; + } else { + if (yych <= '9') goto yy223; + if (yych <= ':') goto yy224; + } +yy222: +#line 1664 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->m = timelib_get_month((char **) &ptr); + s->time->d = timelib_get_nr((char **) &ptr, 2); + + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':') { + s->time->s = timelib_get_nr((char **) &ptr, 2); + + if (*ptr == '.') { + s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } - } else { - if (yych <= 'x') { - if (yych == 'r') goto yy325; - goto yy277; - } else { - if (yych <= 'y') goto yy326; - if (yych <= 'z') goto yy277; - goto yy18; + } + + 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; } -yy151: - yyaccept = 2; +#line 4213 "" +yy223: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == '.') goto yy224; + if (yych != ':') goto yy222; +yy224: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy225; + if (yych <= '6') goto yy226; + if (yych <= '9') goto yy227; + goto yy56; +yy225: + yych = *++YYCURSOR; + if (yych <= '/') goto yy222; + if (yych <= '9') goto yy228; + goto yy222; +yy226: + yych = *++YYCURSOR; + if (yych == '0') goto yy228; + goto yy222; +yy227: + yych = *++YYCURSOR; + goto yy222; +yy228: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '*') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy230; + goto yy222; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych <= ' ') goto yy230; + if (yych == '(') goto yy230; + goto yy222; } } else { - if (yych <= '_') { - if (yych <= 'D') goto yy324; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '@') { + if (yych == ',') goto yy222; + if (yych <= '-') goto yy230; + goto yy222; } else { - if (yych <= 'c') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'd') goto yy327; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= 'Z') goto yy230; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy230; + goto yy222; } } -yy152: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; +yy229: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; +yy230: + if (yych <= '+') { + if (yych <= ' ') { + if (yych == '\t') goto yy229; + if (yych <= 0x1F) goto yy56; + goto yy229; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych == '(') goto yy233; + if (yych <= '*') goto yy56; + goto yy232; } } else { - if (yych <= '_') { - if (yych <= 'N') goto yy293; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'F') { + if (yych == '-') goto yy232; + if (yych <= '@') goto yy56; + goto yy234; } else { - if (yych <= 'm') { - if (yych <= '`') goto yy18; - goto yy277; + if (yych <= 'Z') { + if (yych >= 'H') goto yy234; } else { - if (yych <= 'n') goto yy300; - if (yych <= 'z') goto yy277; - goto yy18; + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy235; + goto yy56; } } } -yy153: +yy231: yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'W') goto yy270; - goto yy328; - } + if (yych <= 'L') { + if (yych == ')') goto yy227; + if (yych <= '@') goto yy222; + goto yy236; } else { - if (yych <= 'w') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= 'Z') { + if (yych <= 'M') goto yy256; + goto yy236; } else { - if (yych <= 'x') goto yy328; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy241; + goto yy222; } } -yy154: +yy232: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'M') goto yy270; - goto yy290; - } + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy251; + if (yych <= '2') goto yy252; + if (yych <= '9') goto yy253; + goto yy56; +yy233: + yych = *++YYCURSOR; + if (yych <= '@') goto yy56; + if (yych <= 'Z') goto yy235; + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy235; + goto yy56; +yy234: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; - } else { - if (yych <= 'n') goto yy290; - if (yych <= 'z') goto yy270; - goto yy18; - } + if (yych <= 'Z') goto yy236; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy241; + goto yy222; } -yy155: +yy235: yych = *++YYCURSOR; - if (yych <= 'W') { - if (yych <= 'N') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy270; + if (yych <= '@') { + if (yych == ')') goto yy227; + goto yy222; + } else { + if (yych <= 'Z') goto yy236; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; + } +yy236: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy227; + goto yy222; + } else { + if (yych <= 'Z') goto yy237; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; + } +yy237: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy227; + goto yy222; + } else { + if (yych <= 'Z') goto yy238; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; + } +yy238: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy227; + goto yy222; + } else { + if (yych <= 'Z') goto yy239; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; + } +yy239: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych == ')') goto yy227; + goto yy222; + } else { + if (yych <= 'Z') goto yy240; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; + } +yy240: + yych = *++YYCURSOR; + if (yych == ')') goto yy227; + goto yy222; +yy241: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= 'O') goto yy329; - if (yych <= 'U') goto yy270; - if (yych <= 'V') goto yy283; - goto yy330; + if (yych == '.') goto yy222; + goto yy243; } } else { - if (yych <= 'o') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - if (yych <= 'n') goto yy270; - goto yy329; + if (yych <= '^') { + if (yych <= '@') goto yy222; + if (yych <= 'Z') goto yy237; + goto yy222; } else { - if (yych <= 'v') { - if (yych <= 'u') goto yy270; - goto yy283; - } else { - if (yych <= 'w') goto yy330; - if (yych <= 'z') goto yy270; - goto yy18; - } + if (yych <= '_') goto yy243; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } } -yy156: - yyaccept = 2; +yy242: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'W') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych == '.') goto yy222; } } else { - if (yych <= '_') { - if (yych <= 'X') goto yy328; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '^') { + if (yych <= '@') goto yy222; + if (yych <= 'Z') goto yy238; + goto yy222; } else { - if (yych <= 'w') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'x') goto yy332; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= '_') goto yy243; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy246; + goto yy222; } } -yy157: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { +yy243: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '@') goto yy56; + if (yych <= 'Z') goto yy244; + if (yych <= '`') goto yy56; + if (yych >= '{') goto yy56; +yy244: + yyaccept = 7; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '@') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= ',') goto yy222; + goto yy243; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych == '/') goto yy243; + goto yy222; } } else { if (yych <= '_') { - if (yych <= 'N') goto yy290; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'Z') goto yy244; + if (yych <= '^') goto yy222; + goto yy243; } else { - if (yych <= 'm') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'n') goto yy297; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy244; + goto yy222; } } -yy158: - yyaccept = 2; +yy246: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych == '-') goto yy276; - goto yy18; - } + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= 'N') { - if (yych <= '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; - } else { - if (yych <= 'O') goto yy329; - if (yych <= 'U') goto yy270; - goto yy283; - } + if (yych == '.') goto yy222; + goto yy243; } } else { - if (yych <= 'n') { - if (yych <= '^') { - if (yych <= 'W') goto yy330; - if (yych <= 'Z') goto yy270; - goto yy18; - } else { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy18; - goto yy277; - } + if (yych <= '^') { + if (yych <= '@') goto yy222; + if (yych <= 'Z') goto yy239; + goto yy222; } else { - if (yych <= 'v') { - if (yych <= 'o') goto yy333; - if (yych <= 'u') goto yy277; - goto yy284; - } else { - if (yych <= 'w') goto yy334; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= '_') goto yy243; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } } -yy159: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= '@') goto yy18; - if (yych <= 'S') goto yy270; - goto yy335; + if (yych == '.') goto yy222; + goto yy243; } } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= '^') { + if (yych <= '@') goto yy222; + if (yych <= 'Z') goto yy240; + goto yy222; } else { - if (yych <= 't') goto yy335; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= '_') goto yy243; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } } -yy160: - yyaccept = 2; + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy222; + goto yy227; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych == '-') goto yy243; + goto yy222; } } else { if (yych <= '_') { - if (yych <= 'T') goto yy335; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '/') goto yy243; + if (yych <= '^') goto yy222; + goto yy243; } else { - if (yych <= 's') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 't') goto yy336; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } } -yy161: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy249: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') { + if (yych == '-') goto yy243; + if (yych <= '.') goto yy56; + goto yy243; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy56; + goto yy243; } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy270; - goto yy337; + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy249; + goto yy56; } + } +yy251: + yych = *++YYCURSOR; + if (yych <= '/') goto yy222; + if (yych <= '9') goto yy253; + if (yych <= ':') goto yy254; + goto yy222; +yy252: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy222; + if (yych >= '5') goto yy255; } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= '9') goto yy227; + if (yych <= ':') goto yy254; + goto yy222; + } +yy253: + yych = *++YYCURSOR; + if (yych <= '/') goto yy222; + if (yych <= '5') goto yy255; + if (yych <= '9') goto yy227; + if (yych >= ';') goto yy222; +yy254: + yych = *++YYCURSOR; + if (yych <= '/') goto yy222; + if (yych <= '5') goto yy255; + if (yych <= '9') goto yy227; + goto yy222; +yy255: + yych = *++YYCURSOR; + if (yych <= '/') goto yy222; + if (yych <= '9') goto yy227; + goto yy222; +yy256: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == ')') goto yy227; + if (yych <= '@') goto yy222; + goto yy237; + } else { + if (yych <= 'Z') { + if (yych >= 'U') goto yy237; } else { - if (yych <= 'e') goto yy337; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy237; + goto yy222; } } -yy162: - yyaccept = 2; + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= ',') { + if (yych <= ')') { + if (yych <= '(') goto yy222; + goto yy227; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych == '+') goto yy232; + goto yy222; } } else { - if (yych <= '_') { - if (yych <= 'E') goto yy337; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'Z') { + if (yych <= '-') goto yy232; + if (yych <= '@') goto yy222; + goto yy238; } else { - if (yych <= 'd') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'e') goto yy338; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy238; + goto yy222; } } -yy163: +yy258: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy220; + goto yy198; + } else { + if (yych <= '0') goto yy290; + if (yych <= '9') goto yy291; + if (yych <= ':') goto yy220; + goto yy198; + } +yy259: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy263; + goto yy198; + } else { + if (yych <= '2') goto yy291; + if (yych <= '9') goto yy290; + if (yych <= ':') goto yy263; + goto yy198; + } +yy260: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy263; + goto yy198; + } else { + if (yych <= '4') goto yy290; + if (yych <= '9') goto yy262; + if (yych <= ':') goto yy263; + goto yy198; + } +yy261: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy263; + goto yy198; + } else { + if (yych <= '9') goto yy262; + if (yych <= ':') goto yy263; + goto yy198; + } +yy262: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '/') goto yy198; + if (yych <= '9') goto yy288; + goto yy198; +yy263: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy264; + if (yych <= '9') goto yy265; + goto yy56; +yy264: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy266; + goto yy222; + } else { + if (yych <= '9') goto yy281; + if (yych <= ':') goto yy266; + goto yy222; + } +yy265: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy266; + if (yych != ':') goto yy222; +yy266: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy267; + if (yych <= '6') goto yy268; + if (yych <= '9') goto yy227; + goto yy56; +yy267: + yych = *++YYCURSOR; + if (yych <= '/') goto yy222; + if (yych <= '9') goto yy269; + goto yy222; +yy268: + yych = *++YYCURSOR; + if (yych != '0') goto yy222; +yy269: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '*') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy271; + goto yy222; } else { - if (yych <= '@') goto yy18; - if (yych <= 'S') goto yy270; - goto yy339; + if (yych <= ' ') goto yy271; + if (yych == '(') goto yy271; + goto yy222; } } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= '@') { + if (yych == ',') goto yy222; + if (yych <= '-') goto yy271; + goto yy222; } else { - if (yych <= 't') goto yy339; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'Z') goto yy271; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy271; + goto yy222; } } -yy164: - yych = *++YYCURSOR; - if (yych <= 'V') { - if (yych <= 'B') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy270; - } else { - if (yych <= 'O') { - if (yych <= 'C') goto yy340; +yy270: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; +yy271: + if (yych <= '@') { + if (yych <= '\'') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; goto yy270; } else { - if (yych <= 'P') goto yy341; - if (yych <= 'U') goto yy270; - goto yy342; + if (yych == ' ') goto yy270; + goto yy56; + } + } else { + if (yych <= '+') { + if (yych <= '(') goto yy233; + if (yych <= '*') goto yy56; + goto yy232; + } else { + if (yych == '-') goto yy232; + goto yy56; } } } else { - if (yych <= 'o') { - if (yych <= '`') { - if (yych <= 'Z') goto yy270; - goto yy18; + if (yych <= 'Z') { + if (yych <= 'G') { + if (yych <= 'A') goto yy272; + if (yych <= 'F') goto yy234; + goto yy231; } else { - if (yych == 'c') goto yy340; - goto yy270; + if (yych != 'P') goto yy234; } } else { - if (yych <= 'u') { - if (yych <= 'p') goto yy341; - goto yy270; + if (yych <= 'o') { + if (yych <= '`') goto yy56; + if (yych <= 'a') goto yy273; + goto yy235; } else { - if (yych <= 'v') goto yy342; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'p') goto yy273; + if (yych <= 'z') goto yy235; + goto yy56; } } } -yy165: - yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'W') goto yy270; - goto yy290; - } - } else { - if (yych <= 'w') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; - } else { - if (yych <= 'x') goto yy290; - if (yych <= 'z') goto yy270; - goto yy18; - } - } -yy166: - yyaccept = 2; +yy272: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { + if (yych <= 'L') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych <= '.') goto yy274; + if (yych <= '@') goto yy222; + goto yy236; } } else { - if (yych <= '_') { - if (yych <= 'T') goto yy339; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '`') { + if (yych <= 'M') goto yy275; + if (yych <= 'Z') goto yy236; + goto yy222; } else { - if (yych <= 's') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 't') goto yy343; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych == 'm') goto yy280; + if (yych <= 'z') goto yy241; + goto yy222; } } -yy167: - yyaccept = 2; +yy273: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych == '.') goto yy18; - goto yy276; - } + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= 'C') { - if (yych <= '@') goto yy18; - if (yych <= 'B') goto yy270; - goto yy340; - } else { - if (yych == 'P') goto yy341; - goto yy270; - } + if (yych <= '.') goto yy274; + if (yych <= '@') goto yy222; + goto yy236; } } else { - if (yych <= 'b') { - if (yych <= '^') { - if (yych <= 'V') goto yy342; - if (yych <= 'Z') goto yy270; - goto yy18; - } else { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy18; - goto yy277; - } + if (yych <= '`') { + if (yych <= 'M') goto yy275; + if (yych <= 'Z') goto yy236; + goto yy222; } else { - if (yych <= 'p') { - if (yych <= 'c') goto yy344; - if (yych <= 'o') goto yy277; - goto yy345; - } else { - if (yych == 'v') goto yy346; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych == 'm') goto yy275; + if (yych <= 'z') goto yy236; + goto yy222; } } -yy168: - yyaccept = 2; +yy274: + yych = *++YYCURSOR; + if (yych == 'M') goto yy279; + if (yych == 'm') goto yy279; + goto yy56; +yy275: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'W') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= ')') { + if (yych <= '\t') { + if (yych <= 0x00) goto yy277; + if (yych <= 0x08) goto yy222; + goto yy277; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych == ' ') goto yy277; + if (yych <= '(') goto yy222; + goto yy227; } } else { - if (yych <= '_') { - if (yych <= 'X') goto yy290; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '@') { + if (yych != '.') goto yy222; } else { - if (yych <= 'w') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'x') goto yy297; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= 'Z') goto yy237; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy237; + goto yy222; } } -yy169: +yy276: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy72; - goto yy56; + if (yych <= '\t') { + if (yych <= 0x00) goto yy277; + if (yych <= 0x08) goto yy56; } else { - if (yych <= '9') goto yy347; - if (yych <= ':') goto yy72; - goto yy56; + if (yych != ' ') goto yy56; } -yy170: +yy277: + ++YYCURSOR; +#line 1640 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->m = timelib_get_month((char **) &ptr); + s->time->d = timelib_get_nr((char **) &ptr, 2); + + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->s = timelib_get_nr((char **) &ptr, 2); + + if (*ptr == '.') { + s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + } + } + + s->time->h += timelib_meridian((char **) &ptr, s->time->h); + TIMELIB_DEINIT; + return TIMELIB_SHORTDATE_WITH_TIME; + } +#line 4878 "" +yy279: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy72; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy277; + if (yych == '\t') goto yy277; goto yy56; } else { - if (yych <= '4') goto yy347; - if (yych == ':') goto yy72; + if (yych <= ' ') goto yy277; + if (yych == '.') goto yy276; goto yy56; } -yy171: - yych = *++YYCURSOR; - if (yych == '.') goto yy72; - if (yych == ':') goto yy72; - goto yy56; -yy172: - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; +yy280: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy277; + if (yych == '\t') goto yy277; + goto yy222; } else { - if (yych == 'I') goto yy348; - if (yych <= 'T') goto yy270; - goto yy349; + if (yych <= '(') { + if (yych <= ' ') goto yy277; + goto yy222; + } else { + if (yych <= ')') goto yy227; + if (yych <= ',') goto yy222; + goto yy243; + } } } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - if (yych <= 'h') goto yy270; - goto yy348; + if (yych <= 'Z') { + if (yych <= '.') goto yy276; + if (yych <= '/') goto yy243; + if (yych <= '@') goto yy222; + goto yy237; } else { - if (yych == 'u') goto yy349; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= '_') { + if (yych <= '^') goto yy222; + goto yy243; + } else { + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy242; + goto yy222; + } } } -yy173: - yych = *++YYCURSOR; - if (yych <= 'M') { - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; +yy281: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy282; + if (yych <= 0x1F) goto yy222; } else { - if (yych == 'D') goto yy350; - if (yych <= 'L') goto yy270; - goto yy351; + if (yych == '.') goto yy266; + if (yych <= '9') goto yy222; + goto yy266; } } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - if (yych <= 'c') goto yy270; - goto yy350; + if (yych <= 'P') { + if (yych == 'A') goto yy284; + if (yych <= 'O') goto yy222; + goto yy284; } else { - if (yych == 'm') goto yy351; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'a') { + if (yych <= '`') goto yy222; + goto yy284; + } else { + if (yych == 'p') goto yy284; + goto yy222; + } } } -yy174: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy282: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy282; + goto yy56; } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy270; - goto yy352; + if (yych <= ' ') goto yy282; + if (yych <= '@') goto yy56; } } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; + if (yych <= '`') { + if (yych != 'P') goto yy56; } else { - if (yych <= 'e') goto yy352; - if (yych <= 'z') goto yy270; - goto yy18; + if (yych <= 'a') goto yy284; + if (yych != 'p') goto yy56; } } -yy175: +yy284: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy270; - goto yy353; - } + if (yych <= 'L') { + if (yych != '.') goto yy56; } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; - } else { - if (yych <= 'e') goto yy353; - if (yych <= 'z') goto yy270; - goto yy18; - } + if (yych <= 'M') goto yy286; + if (yych == 'm') goto yy286; + goto yy56; } -yy176: - yyaccept = 2; +yy285: + yych = *++YYCURSOR; + if (yych == 'M') goto yy286; + if (yych != 'm') goto yy56; +yy286: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy277; + if (yych == '\t') goto yy277; + goto yy56; + } else { + if (yych <= ' ') goto yy277; + if (yych != '.') goto yy56; + } +yy287: + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy277; + if (yych <= 0x08) goto yy56; + goto yy277; + } else { + if (yych == ' ') goto yy277; + goto yy56; + } +yy288: + yych = *++YYCURSOR; + if (yych <= '/') goto yy198; + if (yych >= ':') goto yy198; + yych = *++YYCURSOR; + goto yy198; +yy290: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych == '-') goto yy276; - goto yy18; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy276; - goto yy18; - } else { - if (yych == 'I') goto yy348; - goto yy270; - } - } + if (yych <= '/') { + if (yych == '.') goto yy220; + goto yy198; } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'U') goto yy349; - goto yy270; - } else { - if (yych == '_') goto yy276; - goto yy18; - } - } else { - if (yych <= 't') { - if (yych == 'i') goto yy354; - goto yy277; - } else { - if (yych <= 'u') goto yy355; - if (yych <= 'z') goto yy277; - goto yy18; - } - } + if (yych <= '9') goto yy288; + if (yych <= ':') goto yy220; + goto yy198; } -yy177: - yyaccept = 2; +yy291: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych == '-') goto yy276; - goto yy18; - } - } else { - if (yych <= '@') { - if (yych <= '/') goto yy276; - goto yy18; - } else { - if (yych == 'D') goto yy350; - goto yy270; - } - } + if (yych <= '/') { + if (yych == '.') goto yy263; + goto yy198; } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'M') goto yy351; - goto yy270; - } else { - if (yych == '_') goto yy276; - goto yy18; - } - } else { - if (yych <= 'l') { - if (yych == 'd') goto yy356; - goto yy277; - } else { - if (yych <= 'm') goto yy357; - if (yych <= 'z') goto yy277; - goto yy18; - } - } + if (yych <= '9') goto yy288; + if (yych <= ':') goto yy263; + goto yy198; } -yy178: - yyaccept = 2; +yy292: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy293: + ++YYCURSOR; +yy294: +#line 1334 "ext/date/lib/parse_date.re" + { + 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; + } +#line 5053 "" +yy295: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy220; + goto yy56; + } else { + if (yych <= '9') goto yy293; + if (yych <= ':') goto yy220; + goto yy56; + } +yy296: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy263; + goto yy56; + } else { + if (yych <= '9') goto yy293; + if (yych <= ':') goto yy263; + goto yy56; + } +yy297: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '9') { + if (yych <= '/') { + if (yych == '.') goto yy330; + goto yy215; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych <= '0') goto yy331; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { - if (yych <= '_') { - if (yych <= 'E') goto yy352; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'q') { + if (yych <= ':') goto yy220; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'd') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'e') goto yy358; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy179: - yyaccept = 2; +yy298: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '9') { + if (yych <= '/') { + if (yych != '.') goto yy215; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych <= '0') goto yy300; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { - if (yych <= '_') { - if (yych <= 'E') goto yy353; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'q') { + if (yych <= ':') goto yy263; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'd') { - if (yych <= '`') goto yy18; - goto yy277; - } else { - if (yych <= 'e') goto yy359; - if (yych <= 'z') goto yy277; - goto yy18; - } + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy180: - yyaccept = 2; +yy299: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy134; - if (yych <= 0x1F) goto yy18; - goto yy134; - } else { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy134; - } + if (yych <= '1') { + if (yych <= '/') goto yy215; + if (yych <= '0') goto yy305; + goto yy306; } else { - if (yych <= 'H') { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy134; - if (yych <= '@') goto yy18; - goto yy270; - } else { - if (yych <= 'Z') { - if (yych <= 'I') goto yy360; - goto yy270; - } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy270; - goto yy18; - } - } + if (yych <= '2') goto yy307; + if (yych <= '5') goto yy308; + if (yych <= '9') goto yy309; + goto yy215; } -yy181: +yy300: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'C') goto yy270; - if (yych <= 'D') goto yy361; - goto yy362; - } + if (yych <= '/') { + if (yych == '.') goto yy263; + goto yy56; } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; - } else { - if (yych <= 'd') goto yy361; - if (yych <= 'e') goto yy362; - if (yych <= 'z') goto yy270; - goto yy18; - } + if (yych <= '0') goto yy303; + if (yych <= '9') goto yy304; + if (yych <= ':') goto yy263; + goto yy56; } -yy182: - yyaccept = 2; +yy301: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy263; + goto yy56; + } else { + if (yych <= '2') goto yy304; + if (yych <= '9') goto yy303; + if (yych <= ':') goto yy263; + goto yy56; + } +yy302: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy263; + goto yy56; + } else { + if (yych <= '4') goto yy303; + if (yych <= '9') goto yy293; + if (yych <= ':') goto yy263; + goto yy56; + } +yy303: + yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy18; - goto yy276; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'C') goto yy270; - goto yy361; - } - } + if (yych == '.') goto yy220; + if (yych == ':') goto yy220; + goto yy294; +yy304: + yyaccept = 8; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy263; + if (yych == ':') goto yy263; + goto yy294; +yy305: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy325; + goto yy198; } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'E') goto yy362; - goto yy270; - } else { - if (yych == '_') goto yy276; - goto yy18; - } - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy277; - goto yy363; - } else { - if (yych <= 'e') goto yy364; - if (yych <= 'z') goto yy277; - goto yy18; - } - } + if (yych <= '0') goto yy324; + if (yych <= '9') goto yy329; + if (yych <= ':') goto yy325; + goto yy198; } -yy183: +yy306: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy310; + goto yy198; + } else { + if (yych <= '2') goto yy329; + if (yych <= '9') goto yy324; + if (yych <= ':') goto yy310; + goto yy198; + } +yy307: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy310; + goto yy198; + } else { + if (yych <= '4') goto yy324; + if (yych <= '9') goto yy323; + if (yych <= ':') goto yy310; + goto yy198; + } +yy308: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy310; + goto yy198; + } else { + if (yych <= '9') goto yy323; + if (yych <= ':') goto yy310; + goto yy198; + } +yy309: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych != '.') goto yy198; + } else { + if (yych <= '9') goto yy262; + if (yych >= ';') goto yy198; + } +yy310: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'R') goto yy270; - goto yy365; - } + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy311; + if (yych <= '6') goto yy312; + if (yych <= '9') goto yy265; + goto yy56; +yy311: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy266; + goto yy222; } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy270; - if (yych <= '`') goto yy18; - goto yy270; - } else { - if (yych <= 's') goto yy365; - if (yych <= 'z') goto yy270; - goto yy18; - } + if (yych <= '9') goto yy313; + if (yych <= ':') goto yy266; + goto yy222; } -yy184: - yyaccept = 2; +yy312: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '/') { + if (yych == '.') goto yy266; + goto yy222; + } else { + if (yych <= '0') goto yy269; + if (yych == ':') goto yy266; + goto yy222; + } +yy313: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= ' ') { + if (yych == '\t') goto yy315; + if (yych <= 0x1F) goto yy222; + goto yy315; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy270; + if (yych <= '(') { + if (yych <= '\'') goto yy222; + goto yy315; + } else { + if (yych == '+') goto yy315; + goto yy222; + } } } else { - if (yych <= '_') { - if (yych <= 'S') goto yy365; - if (yych <= 'Z') goto yy270; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= ':') { + if (yych <= '-') goto yy315; + if (yych <= '.') goto yy266; + if (yych <= '9') goto yy222; + goto yy266; } else { - if (yych <= 'r') { - if (yych <= '`') goto yy18; - goto yy277; + if (yych <= 'Z') { + if (yych <= '@') goto yy222; + goto yy315; } else { - if (yych <= 's') goto yy366; - if (yych <= 'z') goto yy277; - goto yy18; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy315; + goto yy222; } } } -yy185: +yy314: ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; -yy186: - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy185; - if (yych <= 0x1F) goto yy56; - goto yy185; +yy315: + if (yych <= '@') { + if (yych <= '\'') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy314; } else { - if (yych == 'D') goto yy187; - if (yych <= 'E') goto yy56; - goto yy188; + if (yych == ' ') goto yy314; + goto yy56; } } else { - if (yych <= 'M') { - if (yych == 'H') goto yy76; - if (yych <= 'L') goto yy56; - goto yy189; + if (yych <= '+') { + if (yych <= '(') goto yy233; + if (yych <= '*') goto yy56; + goto yy232; } else { - if (yych <= 'S') { - if (yych <= 'R') goto yy56; - goto yy190; - } else { - if (yych <= 'T') goto yy84; - if (yych <= 'V') goto yy56; - goto yy86; - } + if (yych == '-') goto yy232; + goto yy56; } } } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy88; - if (yych <= 'c') goto yy56; + if (yych <= 'Z') { + if (yych <= 'G') { + if (yych <= 'A') goto yy316; + if (yych <= 'F') goto yy234; + goto yy231; } else { - if (yych <= 'f') { - if (yych <= 'e') goto yy56; - goto yy188; - } else { - if (yych == 'h') goto yy76; - goto yy56; - } + if (yych != 'P') goto yy234; } } else { - if (yych <= 't') { - if (yych <= 'm') goto yy189; - if (yych <= 'r') goto yy56; - if (yych <= 's') goto yy190; - goto yy84; + if (yych <= 'o') { + if (yych <= '`') goto yy56; + if (yych <= 'a') goto yy317; + goto yy235; } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy56; - goto yy86; - } else { - if (yych == 'y') goto yy88; - goto yy56; - } + if (yych <= 'p') goto yy317; + if (yych <= 'z') goto yy235; + goto yy56; } } } -yy187: - yych = *++YYCURSOR; - if (yych == 'A') goto yy231; - if (yych == 'a') goto yy231; - goto yy56; -yy188: - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych == 'O') goto yy234; - if (yych <= 'Q') goto yy56; - goto yy235; +yy316: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy227; + goto yy222; + } else { + if (yych <= '.') goto yy319; + if (yych <= '@') goto yy222; + goto yy236; + } } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy56; - goto yy234; + if (yych <= '`') { + if (yych <= 'M') goto yy318; + if (yych <= 'Z') goto yy236; + goto yy222; } else { - if (yych == 'r') goto yy235; - goto yy56; + if (yych == 'm') goto yy322; + if (yych <= 'z') goto yy241; + goto yy222; } } -yy189: - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych == 'I') goto yy246; - if (yych <= 'N') goto yy56; - goto yy247; +yy317: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy227; + goto yy222; + } else { + if (yych <= '.') goto yy319; + if (yych <= '@') goto yy222; + goto yy236; + } } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy56; - goto yy246; + if (yych <= '`') { + if (yych <= 'M') goto yy318; + if (yych <= 'Z') goto yy236; + goto yy222; } else { - if (yych == 'o') goto yy247; - goto yy56; + if (yych == 'm') goto yy318; + if (yych <= 'z') goto yy236; + goto yy222; } } -yy190: - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'A') goto yy250; - goto yy56; +yy318: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ')') { + if (yych <= '\t') { + if (yych <= 0x00) goto yy277; + if (yych <= 0x08) goto yy222; + goto yy277; } else { - if (yych <= 'E') goto yy367; - if (yych <= 'T') goto yy56; - goto yy252; + if (yych == ' ') goto yy277; + if (yych <= '(') goto yy222; + goto yy227; } } else { - if (yych <= 'd') { - if (yych == 'a') goto yy250; - goto yy56; + if (yych <= '@') { + if (yych == '.') goto yy321; + goto yy222; } else { - if (yych <= 'e') goto yy367; - if (yych == 'u') goto yy252; - goto yy56; + if (yych <= 'Z') goto yy237; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy237; + goto yy222; } } -yy191: - yyaccept = 2; +yy319: + yych = *++YYCURSOR; + if (yych == 'M') goto yy320; + if (yych != 'm') goto yy56; +yy320: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy277; + if (yych == '\t') goto yy277; + goto yy56; + } else { + if (yych <= ' ') goto yy277; + if (yych != '.') goto yy56; + } +yy321: + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy277; + if (yych <= 0x08) goto yy56; + goto yy277; + } else { + if (yych == ' ') goto yy277; + goto yy56; + } +yy322: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= 'C') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy18; - goto yy186; - } else { - if (yych <= '5') { - if (yych <= '/') goto yy18; - goto yy368; - } else { - if (yych <= '9') goto yy369; - if (yych >= ';') goto yy18; - } - } + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy277; + if (yych == '\t') goto yy277; + goto yy222; } else { - if (yych <= 'G') { - if (yych == 'E') goto yy18; - if (yych <= 'F') goto yy186; - goto yy18; + if (yych <= '(') { + if (yych <= ' ') goto yy277; + goto yy222; } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy186; - goto yy18; - } else { - if (yych <= 'M') goto yy186; - if (yych <= 'R') goto yy18; - goto yy186; - } + if (yych <= ')') goto yy227; + if (yych <= ',') goto yy222; + goto yy243; } } } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy186; - if (yych <= 'X') goto yy18; - goto yy186; - } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy18; - goto yy186; - } else { - if (yych == 'f') goto yy186; - goto yy18; - } - } + if (yych <= 'Z') { + if (yych <= '.') goto yy321; + if (yych <= '/') goto yy243; + if (yych <= '@') goto yy222; + goto yy237; } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy186; - goto yy18; - } else { - if (yych <= 'm') goto yy186; - if (yych <= 'r') goto yy18; - goto yy186; - } + if (yych <= '_') { + if (yych <= '^') goto yy222; + goto yy243; } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy18; - goto yy186; - } else { - if (yych == 'y') goto yy186; - goto yy18; - } + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy242; + goto yy222; } } } -yy192: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '5') goto yy370; - if (yych <= '9') goto yy107; - goto yy18; -yy193: - yyaccept = 2; +yy323: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy18; - goto yy186; - } else { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy369; - if (yych <= 'C') goto yy18; - goto yy186; - } + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy282; + if (yych <= 0x1F) goto yy198; + goto yy282; } else { - if (yych <= 'H') { - if (yych == 'F') goto yy186; - if (yych <= 'G') goto yy18; - goto yy186; + if (yych <= '.') { + if (yych <= '-') goto yy198; + goto yy266; } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy18; - goto yy186; - } else { - if (yych <= 'R') goto yy18; - if (yych <= 'T') goto yy186; - goto yy18; - } + if (yych <= '/') goto yy198; + if (yych <= '9') goto yy288; + goto yy266; } } } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy18; - if (yych <= 'Y') goto yy186; - goto yy18; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy186; - goto yy18; - } else { - if (yych == 'g') goto yy18; - goto yy186; - } - } + if (yych <= 'P') { + if (yych == 'A') goto yy284; + if (yych <= 'O') goto yy198; + goto yy284; } else { - if (yych <= 't') { - if (yych == 'm') goto yy186; - if (yych <= 'r') goto yy18; - goto yy186; + if (yych <= 'a') { + if (yych <= '`') goto yy198; + goto yy284; } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy18; - goto yy186; - } else { - if (yych == 'y') goto yy186; - goto yy18; - } + if (yych == 'p') goto yy284; + goto yy198; } } } -yy194: - yyaccept = 2; +yy324: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy18; - goto yy186; - } else { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy371; - if (yych <= 'C') goto yy18; - goto yy186; - } + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy282; + if (yych <= 0x1F) goto yy198; + goto yy282; } else { - if (yych <= 'H') { - if (yych == 'F') goto yy186; - if (yych <= 'G') goto yy18; - goto yy186; + if (yych <= '.') { + if (yych <= '-') goto yy198; } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy18; - goto yy186; - } else { - if (yych <= 'R') goto yy18; - if (yych <= 'T') goto yy186; - goto yy18; - } + if (yych <= '/') goto yy198; + if (yych <= '9') goto yy288; } } } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy18; - if (yych <= 'Y') goto yy186; - goto yy18; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy186; - goto yy18; - } else { - if (yych == 'g') goto yy18; - goto yy186; - } - } + if (yych <= 'P') { + if (yych == 'A') goto yy284; + if (yych <= 'O') goto yy198; + goto yy284; } else { - if (yych <= 't') { - if (yych == 'm') goto yy186; - if (yych <= 'r') goto yy18; - goto yy186; + if (yych <= 'a') { + if (yych <= '`') goto yy198; + goto yy284; } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy18; - goto yy186; - } else { - if (yych == 'y') goto yy186; - goto yy18; - } + if (yych == 'p') goto yy284; + goto yy198; } } } -yy195: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); - yych = *YYCURSOR; -yy196: - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy195; - case 'A': - case 'a': goto yy73; - case 'D': - case 'd': goto yy203; - case 'F': - case 'f': goto yy204; - case 'I': goto yy77; - case 'J': - case 'j': goto yy79; - case 'M': - case 'm': goto yy205; - case 'N': - case 'n': goto yy81; - case 'O': - case 'o': goto yy82; - case 'S': - case 's': goto yy206; - case 'V': goto yy85; - case 'X': goto yy87; - default: goto yy56; - } -yy197: - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy372; - goto yy373; - } else { - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy199; - goto yy56; - } -yy198: - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy372; - goto yy373; - } else { - if (yych <= '/') goto yy56; - if (yych >= '3') goto yy56; - } -yy199: +yy325: yych = *++YYCURSOR; - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy372; - if (yych <= '.') goto yy373; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy326; + if (yych <= '6') goto yy327; + if (yych <= '9') goto yy223; goto yy56; -yy200: - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy374; - goto yy372; +yy326: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy224; + goto yy222; } else { - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy202; - goto yy56; + if (yych <= '9') goto yy328; + if (yych <= ':') goto yy224; + goto yy222; } -yy201: - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy374; - goto yy372; +yy327: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy224; + goto yy222; } else { - if (yych <= '/') goto yy56; - if (yych >= '3') goto yy56; + if (yych <= '0') goto yy269; + if (yych == ':') goto yy224; + goto yy222; } -yy202: - yych = *++YYCURSOR; - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy374; - if (yych <= '.') goto yy372; - goto yy56; -yy203: - yych = *++YYCURSOR; - if (yych == 'E') goto yy232; - if (yych == 'e') goto yy232; - goto yy56; -yy204: - yych = *++YYCURSOR; - if (yych == 'E') goto yy233; - if (yych == 'e') goto yy233; - goto yy56; -yy205: - yych = *++YYCURSOR; - if (yych == 'A') goto yy245; - if (yych == 'a') goto yy245; - goto yy56; -yy206: - yych = *++YYCURSOR; - if (yych == 'E') goto yy375; - if (yych == 'e') goto yy375; - goto yy56; -yy207: - yyaccept = 5; +yy328: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy208; - if (yych <= '-') goto yy372; - goto yy376; + if (yych <= ',') { + if (yych <= ' ') { + if (yych == '\t') goto yy271; + if (yych <= 0x1F) goto yy222; + goto yy271; + } else { + if (yych <= '(') { + if (yych <= '\'') goto yy222; + goto yy271; + } else { + if (yych == '+') goto yy271; + goto yy222; + } + } } else { - if (yych <= '/') goto yy208; - if (yych <= '9') goto yy211; - if (yych <= ':') goto yy377; + if (yych <= ':') { + if (yych <= '-') goto yy271; + if (yych <= '.') goto yy224; + if (yych <= '9') goto yy222; + goto yy224; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy222; + goto yy271; + } else { + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy271; + goto yy222; + } + } } -yy208: -#line 1131 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); +yy329: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy282; + if (yych <= 0x1F) goto yy198; + goto yy282; + } else { + if (yych <= '.') { + if (yych <= '-') goto yy198; + goto yy310; + } else { + if (yych <= '/') goto yy198; + if (yych <= '9') goto yy288; + goto yy310; } } - - 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"); + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy284; + if (yych <= 'O') goto yy198; + goto yy284; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy198; + goto yy284; + } else { + if (yych == 'p') goto yy284; + goto yy198; } } - TIMELIB_DEINIT; - return TIMELIB_TIME24_WITH_ZONE; } -#line 5797 "" -yy209: - yyaccept = 5; +yy330: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') goto yy208; - if (yych <= '-') goto yy372; - if (yych <= '.') goto yy376; - goto yy208; + if (yych <= '1') { + if (yych <= '/') goto yy215; + if (yych <= '0') goto yy332; + goto yy333; } else { - if (yych <= '2') goto yy211; - if (yych <= '9') goto yy228; - if (yych <= ':') goto yy377; - goto yy208; + if (yych <= '2') goto yy334; + if (yych <= '5') goto yy335; + if (yych <= '9') goto yy336; + goto yy215; } -yy210: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy208; - if (yych <= '-') goto yy372; - goto yy376; +yy331: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy220; + goto yy56; } else { - if (yych <= '/') goto yy208; - if (yych <= '9') goto yy228; - if (yych <= ':') goto yy377; - goto yy208; + if (yych <= '0') goto yy303; + if (yych <= '9') goto yy304; + if (yych <= ':') goto yy220; + goto yy56; } -yy211: - yyaccept = 5; +yy332: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy208; - if (yych <= '-') goto yy372; - goto yy376; + if (yych <= '/') { + if (yych == '.') goto yy349; + goto yy198; } else { - if (yych == ':') goto yy377; - goto yy208; + if (yych <= '0') goto yy348; + if (yych <= '9') goto yy353; + if (yych <= ':') goto yy349; + goto yy198; } -yy212: +yy333: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') { - if (yych >= '/') goto yy378; - } else { - if (yych <= '9') goto yy215; - if (yych >= 'n') goto yy379; - } + if (yych <= '/') { + if (yych == '.') goto yy337; + goto yy198; } else { - if (yych <= 'r') { - if (yych >= 'r') goto yy379; - } else { - if (yych <= 's') goto yy380; - if (yych <= 't') goto yy381; - } - } -yy213: -#line 1223 "ext/date/lib/parse_date.re" - { - 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; + if (yych <= '2') goto yy353; + if (yych <= '9') goto yy348; + if (yych <= ':') goto yy337; + goto yy198; } -#line 5870 "" -yy214: +yy334: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') { - if (yych <= '.') goto yy213; - goto yy378; - } else { - if (yych <= '1') goto yy215; - if (yych <= 'm') goto yy213; - goto yy379; - } + if (yych <= '/') { + if (yych == '.') goto yy337; + goto yy198; } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy213; - goto yy379; - } else { - if (yych <= 's') goto yy380; - if (yych <= 't') goto yy381; - goto yy213; - } + if (yych <= '4') goto yy348; + if (yych <= '9') goto yy347; + if (yych <= ':') goto yy337; + goto yy198; } -yy215: +yy335: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych == '/') goto yy378; - if (yych <= 'm') goto yy213; - goto yy379; + if (yych <= '/') { + if (yych == '.') goto yy337; + goto yy198; } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy213; - goto yy379; - } else { - if (yych <= 's') goto yy380; - if (yych <= 't') goto yy381; - goto yy213; - } + if (yych <= '9') goto yy347; + if (yych <= ':') goto yy337; + goto yy198; } -yy216: - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy382; - if (yych <= 'T') goto yy56; - goto yy383; +yy336: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych != '.') goto yy198; } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy56; - goto yy382; - } else { - if (yych == 'u') goto yy383; - goto yy56; - } + if (yych <= '9') goto yy262; + if (yych >= ';') goto yy198; } -yy217: - yych = *++YYCURSOR; - if (yych == 'E') goto yy384; - if (yych == 'e') goto yy384; - goto yy56; -yy218: +yy337: yych = *++YYCURSOR; - if (yych == 'E') goto yy385; - if (yych == 'e') goto yy385; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy338; + if (yych <= '6') goto yy339; + if (yych <= '9') goto yy265; goto yy56; -yy219: - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy386; - if (yych <= 'T') goto yy56; - goto yy387; +yy338: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy266; + goto yy222; } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy386; - } else { - if (yych == 'u') goto yy387; - goto yy56; - } + if (yych <= '9') goto yy340; + if (yych <= ':') goto yy266; + goto yy222; } -yy220: - yych = *++YYCURSOR; - if (yych == 'A') goto yy388; - if (yych == 'a') goto yy388; - goto yy56; -yy221: - yych = *++YYCURSOR; - if (yych == 'O') goto yy389; - if (yych == 'o') goto yy389; - goto yy56; -yy222: - yych = *++YYCURSOR; - if (yych == 'C') goto yy390; - if (yych == 'c') goto yy390; - goto yy56; -yy223: - yych = *++YYCURSOR; - if (yych == 'E') goto yy391; - if (yych == 'e') goto yy391; - goto yy56; -yy224: - yych = *++YYCURSOR; - if (yych <= '/') goto yy196; - if (yych <= '0') goto yy392; - if (yych <= '1') goto yy393; - if (yych <= '9') goto yy202; - goto yy196; -yy225: - yych = *++YYCURSOR; - if (yych == '-') goto yy394; - if (yych <= '/') goto yy186; - if (yych <= '9') goto yy395; - goto yy186; -yy226: - yych = *++YYCURSOR; - if (yych == '-') goto yy394; - if (yych <= '/') goto yy186; - if (yych <= '9') goto yy397; - goto yy186; -yy227: - yyaccept = 5; +yy339: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy377; - goto yy208; + if (yych == '.') goto yy266; + goto yy222; } else { - if (yych <= '9') goto yy228; - if (yych <= ':') goto yy377; - goto yy208; + if (yych <= '0') goto yy228; + if (yych == ':') goto yy266; + goto yy222; } -yy228: - yyaccept = 5; +yy340: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy377; - if (yych == ':') goto yy377; - goto yy208; -yy229: - yych = *++YYCURSOR; - if (yych == 'R') goto yy399; - if (yych == 'r') goto yy399; - goto yy56; -yy230: - yych = *++YYCURSOR; - if (yych == 'G') goto yy400; - if (yych == 'g') goto yy400; - goto yy56; -yy231: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy401; - if (yych == 'y') goto yy401; - goto yy56; -yy232: - yych = *++YYCURSOR; - if (yych == 'C') goto yy403; - if (yych == 'c') goto yy403; - goto yy56; -yy233: - yych = *++YYCURSOR; - if (yych == 'B') goto yy404; - if (yych == 'b') goto yy404; - goto yy56; -yy234: - yych = *++YYCURSOR; - if (yych == 'R') goto yy405; - if (yych == 'r') goto yy405; - goto yy56; -yy235: - yych = *++YYCURSOR; - if (yych == 'I') goto yy406; - if (yych == 'i') goto yy406; - goto yy56; -yy236: - yych = *++YYCURSOR; - if (yych == 'U') goto yy407; - if (yych == 'u') goto yy407; - goto yy56; -yy237: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); - yych = *YYCURSOR; - if (yych <= ' ') { - if (yych == '\t') goto yy237; - if (yych <= 0x1F) goto yy56; - goto yy237; + if (yych <= ',') { + if (yych <= ' ') { + if (yych == '\t') goto yy342; + if (yych <= 0x1F) goto yy222; + goto yy342; + } else { + if (yych <= '(') { + if (yych <= '\'') goto yy222; + goto yy342; + } else { + if (yych == '+') goto yy342; + goto yy222; + } + } } else { - if (yych <= '.') { - if (yych <= ',') goto yy56; - goto yy237; + if (yych <= ':') { + if (yych <= '-') goto yy342; + if (yych <= '.') goto yy266; + if (yych <= '9') goto yy222; + goto yy266; } else { - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; + if (yych <= 'Z') { + if (yych <= '@') goto yy222; + goto yy342; + } else { + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy342; + goto yy222; + } } } -yy239: +yy341: ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy240; - if (yych <= '9') goto yy408; -yy240: -#line 1293 "ext/date/lib/parse_date.re" - { - 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; - } -#line 6082 "" -yy241: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy78; - goto yy237; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; +yy342: + if (yych <= '@') { + if (yych <= '\'') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy341; + } else { + if (yych == ' ') goto yy341; + goto yy56; + } } else { - if (yych == ' ') goto yy237; - goto yy78; + if (yych <= '+') { + if (yych <= '(') goto yy233; + if (yych <= '*') goto yy56; + goto yy232; + } else { + if (yych == '-') goto yy232; + goto yy56; + } } } else { - if (yych <= '9') { - if (yych <= '.') goto yy237; - if (yych <= '/') goto yy78; - goto yy239; + if (yych <= 'Z') { + if (yych <= 'G') { + if (yych <= 'A') goto yy343; + if (yych <= 'F') goto yy234; + goto yy231; + } else { + if (yych != 'P') goto yy234; + } } else { - if (yych != 'I') goto yy78; + if (yych <= 'o') { + if (yych <= '`') goto yy56; + if (yych <= 'a') goto yy344; + goto yy235; + } else { + if (yych <= 'p') goto yy344; + if (yych <= 'z') goto yy235; + goto yy56; + } } } -yy242: - yyaccept = 3; +yy343: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy237; - if (yych <= 0x1F) goto yy78; - goto yy237; - } else { - if (yych <= '.') { - if (yych <= ',') goto yy78; - goto yy237; + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= '/') goto yy78; - if (yych <= '9') goto yy239; - goto yy78; + if (yych <= '.') goto yy285; + if (yych <= '@') goto yy222; + goto yy236; } - } -yy243: - yych = *++YYCURSOR; - if (yych == 'N') goto yy409; - if (yych == 'n') goto yy409; - goto yy56; -yy244: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy410; - if (yych <= 'M') goto yy56; - goto yy411; } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy56; - goto yy410; + if (yych <= '`') { + if (yych <= 'M') goto yy345; + if (yych <= 'Z') goto yy236; + goto yy222; } else { - if (yych == 'n') goto yy411; - goto yy56; + if (yych == 'm') goto yy346; + if (yych <= 'z') goto yy241; + goto yy222; } } -yy245: - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy412; - if (yych <= 'X') goto yy56; - goto yy242; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy56; - goto yy412; +yy344: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych == 'y') goto yy242; - goto yy56; + if (yych <= '.') goto yy285; + if (yych <= '@') goto yy222; + goto yy236; } - } -yy246: - yych = *++YYCURSOR; - if (yych == 'N') goto yy413; - if (yych == 'n') goto yy413; - goto yy56; -yy247: - yych = *++YYCURSOR; - if (yych == 'N') goto yy414; - if (yych == 'n') goto yy414; - goto yy56; -yy248: - yych = *++YYCURSOR; - if (yych == 'V') goto yy403; - if (yych == 'v') goto yy403; - goto yy56; -yy249: - yych = *++YYCURSOR; - if (yych == 'T') goto yy415; - if (yych == 't') goto yy415; - goto yy56; -yy250: - yych = *++YYCURSOR; - if (yych == 'T') goto yy416; - if (yych == 't') goto yy416; - goto yy56; -yy251: - yych = *++YYCURSOR; - if (yych <= 'P') { - if (yych == 'C') goto yy417; - if (yych <= 'O') goto yy56; - goto yy418; } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy56; - goto yy417; + if (yych <= '`') { + if (yych <= 'M') goto yy345; + if (yych <= 'Z') goto yy236; + goto yy222; } else { - if (yych == 'p') goto yy418; - goto yy56; + if (yych == 'm') goto yy345; + if (yych <= 'z') goto yy236; + goto yy222; } } -yy252: - yych = *++YYCURSOR; - if (yych == 'N') goto yy406; - if (yych == 'n') goto yy406; - goto yy56; -yy253: - yych = *++YYCURSOR; - if (yych == 'U') goto yy419; - if (yych == 'u') goto yy419; - goto yy56; -yy254: - yych = *++YYCURSOR; - if (yych == 'E') goto yy420; - if (yych == 'e') goto yy420; - goto yy56; -yy255: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= 'C') goto yy56; - if (yych <= 'D') goto yy421; - goto yy422; - } else { - if (yych <= 'c') goto yy56; - if (yych <= 'd') goto yy421; - if (yych <= 'e') goto yy422; - goto yy56; - } -yy256: - yych = *++YYCURSOR; - if (yych == 'A') goto yy407; - if (yych == 'a') goto yy407; - goto yy56; -yy257: - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '\t') goto yy268; - goto yy196; - } else { - if (yych <= '-') goto yy423; - if (yych <= '.') goto yy268; - if (yych <= '/') goto yy263; - goto yy196; - } -yy258: - yych = *++YYCURSOR; - if (yych <= '.') { +yy345: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ')') { if (yych <= '\t') { - if (yych <= 0x08) goto yy196; - goto yy268; + if (yych <= 0x00) goto yy277; + if (yych <= 0x08) goto yy222; + goto yy277; } else { - if (yych <= ',') goto yy196; - if (yych <= '-') goto yy423; - goto yy268; + if (yych == ' ') goto yy277; + if (yych <= '(') goto yy222; + goto yy227; } } else { - if (yych <= 'U') { - if (yych <= '/') goto yy263; - if (yych <= 'T') goto yy196; - goto yy419; + if (yych <= '@') { + if (yych == '.') goto yy287; + goto yy222; } else { - if (yych == 'u') goto yy419; - goto yy196; + if (yych <= 'Z') goto yy237; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy237; + goto yy222; } } -yy259: - yyaccept = 5; +yy346: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy208; - if (yych <= '-') goto yy372; - goto yy424; + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy277; + if (yych == '\t') goto yy277; + goto yy222; + } else { + if (yych <= '(') { + if (yych <= ' ') goto yy277; + goto yy222; + } else { + if (yych <= ')') goto yy227; + if (yych <= ',') goto yy222; + goto yy243; + } + } } else { - if (yych <= '/') goto yy208; - if (yych <= '9') goto yy425; - if (yych <= ':') goto yy426; - goto yy208; + if (yych <= 'Z') { + if (yych <= '.') goto yy287; + if (yych <= '/') goto yy243; + if (yych <= '@') goto yy222; + goto yy237; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy222; + goto yy243; + } else { + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy242; + goto yy222; + } + } } -yy260: - yyaccept = 5; +yy347: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych <= ',') goto yy208; - if (yych <= '-') goto yy372; - if (yych <= '.') goto yy424; - goto yy208; - } else { - if (yych <= '2') goto yy425; - if (yych <= '9') goto yy427; - if (yych <= ':') goto yy426; - goto yy208; - } -yy261: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy208; - if (yych <= '-') goto yy372; - goto yy424; + if (yych == '.') goto yy224; + goto yy198; } else { - if (yych <= '/') goto yy208; - if (yych <= '9') goto yy427; - if (yych <= ':') goto yy426; - goto yy208; + if (yych <= '9') goto yy288; + if (yych <= ':') goto yy224; + goto yy198; } -yy262: - yyaccept = 5; +yy348: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy208; - if (yych <= '-') goto yy372; - goto yy424; + if (yych <= '/') { + if (yych != '.') goto yy198; } else { - if (yych == ':') goto yy426; - goto yy208; + if (yych <= '9') goto yy288; + if (yych >= ';') goto yy198; } -yy263: +yy349: yych = *++YYCURSOR; - switch (yych) { - case 'A': - case 'a': goto yy216; - case 'D': - case 'd': goto yy217; - case 'F': - case 'f': goto yy218; - case 'J': - case 'j': goto yy219; - case 'M': - case 'm': goto yy220; - case 'N': - case 'n': goto yy221; - case 'O': - case 'o': goto yy222; - case 'S': - case 's': goto yy223; - default: goto yy56; - } -yy264: - yyaccept = 5; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy350; + if (yych <= '6') goto yy351; + if (yych <= '9') goto yy223; + goto yy56; +yy350: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy426; - goto yy208; + if (yych == '.') goto yy224; + goto yy222; } else { - if (yych <= '9') goto yy428; - if (yych <= ':') goto yy426; - goto yy208; + if (yych <= '9') goto yy352; + if (yych <= ':') goto yy224; + goto yy222; } -yy265: - yyaccept = 5; +yy351: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy426; - if (yych == ':') goto yy426; - goto yy208; -yy266: - yych = *++YYCURSOR; - if (yych == 'M') goto yy267; - if (yych != 'm') goto yy56; -yy267: - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy429; - if (yych == '\t') goto yy429; - goto yy56; - } else { - if (yych <= ' ') goto yy429; - if (yych == '.') goto yy431; - goto yy56; - } -yy268: - yych = *++YYCURSOR; - if (yych <= '/') goto yy196; - if (yych <= '0') goto yy197; - if (yych <= '1') goto yy198; - if (yych <= '9') goto yy199; - goto yy196; -yy269: - yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy432; - case '1': goto yy433; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy434; - case 'A': - case 'a': goto yy435; - case 'D': - case 'd': goto yy436; - case 'F': - case 'f': goto yy437; - case 'J': - case 'j': goto yy438; - case 'M': - case 'm': goto yy439; - case 'N': - case 'n': goto yy440; - case 'O': - case 'o': goto yy441; - case 'S': - case 's': goto yy442; - default: goto yy56; - } -yy270: - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy443; - goto yy18; - } -yy271: - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy107; + if (yych <= '/') { + if (yych == '.') goto yy224; + goto yy222; } else { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy272; - if (yych <= 'z') goto yy443; - } -yy272: -#line 1536 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("ago"); - TIMELIB_INIT; - s->time->relative.y = 0 - s->time->relative.y; - s->time->relative.m = 0 - s->time->relative.m; - s->time->relative.d = 0 - s->time->relative.d; - s->time->relative.h = 0 - s->time->relative.h; - s->time->relative.i = 0 - s->time->relative.i; - s->time->relative.s = 0 - s->time->relative.s; - s->time->relative.weekday = 0 - s->time->relative.weekday; - if (s->time->relative.weekday == 0) { - s->time->relative.weekday = -7; - } - if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) { - s->time->relative.special.amount = 0 - s->time->relative.special.amount; - } - TIMELIB_DEINIT; - return TIMELIB_AGO; + if (yych <= '0') goto yy228; + if (yych == ':') goto yy224; + goto yy222; } -#line 6442 "" -yy273: +yy352: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych >= '\t') goto yy134; - } else { - if (yych == ' ') goto yy134; - } + if (yych <= ',') { + if (yych <= ' ') { + if (yych == '\t') goto yy230; + if (yych <= 0x1F) goto yy222; + goto yy230; } else { - if (yych <= ',') { - if (yych <= ')') goto yy107; + if (yych <= '(') { + if (yych <= '\'') goto yy222; + goto yy230; } else { - if (yych <= '-') goto yy444; - if (yych <= '.') goto yy134; + if (yych == '+') goto yy230; + goto yy222; } } } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy134; - } else { - if (yych == 'I') goto yy445; - goto yy443; - } + if (yych <= ':') { + if (yych <= '-') goto yy230; + if (yych <= '.') goto yy224; + if (yych <= '9') goto yy222; + goto yy224; } else { - if (yych <= 'h') { - if (yych >= 'a') goto yy443; + if (yych <= 'Z') { + if (yych <= '@') goto yy222; + goto yy230; } else { - if (yych <= 'i') goto yy445; - if (yych <= 'z') goto yy443; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy230; + goto yy222; } } } -yy274: -#line 1616 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("monthtext"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_lookup_month((char **) &ptr); - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; - } -#line 6488 "" -yy275: - yyaccept = 7; +yy353: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy274; - } + if (yych == '.') goto yy337; + goto yy198; + } else { + if (yych <= '9') goto yy288; + if (yych <= ':') goto yy337; + goto yy198; + } +yy354: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '/') { + if (yych == '.') goto yy299; + goto yy215; } else { - if (yych <= ',') { - if (yych <= ')') goto yy107; - goto yy274; - } else { - if (yych <= '-') goto yy444; - if (yych <= '.') goto yy134; - goto yy274; - } + if (yych <= '0') goto yy331; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy134; - goto yy274; - } else { - if (yych == 'U') goto yy446; - goto yy443; - } + if (yych <= 'q') { + if (yych <= ':') goto yy263; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 't') { - if (yych <= '`') goto yy274; - goto yy443; - } else { - if (yych <= 'u') goto yy446; - if (yych <= 'z') goto yy443; - goto yy274; - } + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy276: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yybm[0+yych] & 64) { - goto yy447; - } - goto yy56; -yy277: - yyaccept = 2; +yy355: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= '9') { + if (yych <= '/') { + if (yych == '.') goto yy299; + goto yy215; } else { - if (yych == '.') goto yy18; - goto yy276; + if (yych <= '0') goto yy331; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { - if (yych <= '^') { - if (yych <= '@') goto yy18; - if (yych <= 'Z') goto yy443; - goto yy18; + if (yych <= 'q') { + if (yych <= ':') goto yy263; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy278: - yyaccept = 8; +yy356: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy272; + if (yych <= 'm') { + if (yych <= '1') { + if (yych <= '/') goto yy215; + if (yych <= '0') goto yy359; + goto yy360; } else { - if (yych == '.') goto yy272; - goto yy276; + if (yych <= '2') goto yy367; + if (yych <= '9') goto yy368; + goto yy215; } } else { - if (yych <= '^') { - if (yych <= '@') goto yy272; - if (yych <= 'Z') goto yy443; - goto yy272; + if (yych <= 'r') { + if (yych <= 'n') goto yy211; + if (yych <= 'q') goto yy215; + goto yy212; } else { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy272; - if (yych <= 'z') goto yy449; - goto yy272; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy279: - yyaccept = 7; +yy357: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy274; - } + if (yych <= 'm') { + if (yych <= '1') { + if (yych <= '/') goto yy215; + if (yych <= '0') goto yy359; + goto yy360; } else { - if (yych <= '-') { - if (yych <= ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy450; - } else { - if (yych == '/') goto yy276; - goto yy134; - } + if (yych <= '2') goto yy367; + if (yych <= '9') goto yy368; + goto yy215; } } else { - if (yych <= '^') { - if (yych <= 'H') { - if (yych <= '@') goto yy274; - goto yy443; - } else { - if (yych <= 'I') goto yy445; - if (yych <= 'Z') goto yy443; - goto yy274; - } + if (yych <= 'r') { + if (yych <= 'n') goto yy211; + if (yych <= 'q') goto yy215; + goto yy212; } else { - if (yych <= 'h') { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy274; - goto yy449; - } else { - if (yych <= 'i') goto yy451; - if (yych <= 'z') goto yy449; - goto yy274; - } + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy280: - yyaccept = 7; +yy358: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy274; - } + if (yych <= 'm') { + if (yych <= '1') { + if (yych <= '/') goto yy215; + if (yych >= '1') goto yy360; } else { - if (yych <= '-') { - if (yych <= ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy450; - } else { - if (yych == '/') goto yy276; - goto yy134; - } + if (yych <= '2') goto yy208; + if (yych <= '9') goto yy209; + goto yy215; } } else { - if (yych <= '^') { - if (yych <= 'T') { - if (yych <= '@') goto yy274; - goto yy443; - } else { - if (yych <= 'U') goto yy446; - if (yych <= 'Z') goto yy443; - goto yy274; - } + if (yych <= 'r') { + if (yych <= 'n') goto yy211; + if (yych <= 'q') goto yy215; + goto yy212; } else { - if (yych <= 't') { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy274; - goto yy449; - } else { - if (yych <= 'u') goto yy452; - if (yych <= 'z') goto yy449; - goto yy274; - } + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy281: - yych = *++YYCURSOR; - if (yych <= 'K') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy359: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '/') { + if (yych <= ',') goto yy215; + if (yych <= '-') goto yy361; + if (yych <= '.') goto yy330; + goto yy215; } else { - if (yych <= '@') goto yy18; - if (yych <= 'J') goto yy443; - goto yy453; + if (yych <= '0') goto yy331; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { - if (yych <= 'j') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= 'q') { + if (yych <= ':') goto yy220; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'k') goto yy453; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy282: - yyaccept = 2; +yy360: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'J') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '9') { + if (yych <= '/') { + if (yych <= ',') goto yy215; + if (yych <= '-') goto yy361; + if (yych <= '.') goto yy299; + goto yy215; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych <= '0') goto yy300; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { - if (yych <= '_') { - if (yych <= 'K') goto yy453; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'q') { + if (yych <= ':') goto yy263; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'j') { - if (yych <= '`') goto yy18; - goto yy449; - } else { - if (yych <= 'k') goto yy454; - if (yych <= 'z') goto yy449; - goto yy18; - } + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy283: - yyaccept = 7; +yy361: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '/') goto yy363; + if (yych <= '9') goto yy364; +yy363: +#line 1478 "ext/date/lib/parse_date.re" + { + 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; + } +#line 6217 "" +yy364: + yych = *++YYCURSOR; + if (yych <= '/') goto yy363; + if (yych >= ':') goto yy363; + yych = *++YYCURSOR; + if (yych <= '/') goto yy363; + if (yych >= ':') goto yy363; + yych = *++YYCURSOR; + goto yy363; +yy367: + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy274; - } + if (yych <= '9') { + if (yych <= '/') { + if (yych <= ',') goto yy215; + if (yych <= '-') goto yy361; + if (yych <= '.') goto yy299; + goto yy215; } else { - if (yych <= ',') { - if (yych <= ')') goto yy107; - goto yy274; - } else { - if (yych <= '-') goto yy444; - if (yych <= '.') goto yy134; - goto yy274; - } + if (yych <= '0') goto yy331; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy134; - goto yy274; - } else { - if (yych == 'E') goto yy455; - goto yy443; - } + if (yych <= 'q') { + if (yych <= ':') goto yy263; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'd') { - if (yych <= '`') goto yy274; - goto yy443; + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; + } + } +yy368: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '/') { + if (yych <= ',') goto yy215; + if (yych <= '-') goto yy361; + if (yych <= '.') goto yy299; + goto yy215; + } else { + if (yych <= '0') goto yy331; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; + } + } else { + if (yych <= 'q') { + if (yych <= ':') goto yy263; + if (yych == 'n') goto yy211; + goto yy215; + } else { + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; + } + } +yy369: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'B') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; + } + } else { + if (yych <= '_') { + if (yych <= 'C') goto yy192; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'b') { + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'e') goto yy455; - if (yych <= 'z') goto yy443; - goto yy274; + if (yych <= 'c') goto yy370; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy284: - yyaccept = 7; +yy370: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy134; - goto yy274; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy450; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; } else { - if (yych == '/') goto yy276; - goto yy134; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'D') { - if (yych <= '@') goto yy274; - goto yy443; + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'E') goto yy455; - if (yych <= 'Z') goto yy443; - goto yy274; + if (yych <= 'E') goto yy201; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { if (yych <= 'd') { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy274; - goto yy449; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'e') goto yy456; - if (yych <= 'z') goto yy449; - goto yy274; + if (yych <= 'e') goto yy372; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy285: +yy371: yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yybm[0+yych] & 8) { + goto yy148; + } + if (yych <= '/') goto yy195; + if (yych <= '0') goto yy356; + if (yych <= '2') goto yy357; + if (yych <= '3') goto yy358; + goto yy195; +yy372: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '@') goto yy18; - if (yych <= 'G') goto yy443; - goto yy457; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= '_') { + if (yych <= 'M') goto yy202; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'h') goto yy457; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 'l') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'm') goto yy373; + if (yych <= 'z') goto yy151; + goto yy3; + } } } -yy286: - yych = *++YYCURSOR; - if (yych <= 'V') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy373: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '@') goto yy18; - if (yych <= 'U') goto yy443; - goto yy458; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { - if (yych <= 'u') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= '_') { + if (yych <= 'B') goto yy203; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'v') goto yy458; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 'a') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'b') goto yy374; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy287: - yyaccept = 2; +yy374: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= 'D') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { - if (yych <= '_') { - if (yych <= 'H') goto yy457; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '`') { + if (yych <= 'E') goto yy204; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych <= 'g') { - if (yych <= '`') goto yy18; - goto yy449; - } else { - if (yych <= 'h') goto yy459; - if (yych <= 'z') goto yy449; - goto yy18; - } + if (yych == 'e') goto yy375; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy288: - yyaccept = 2; +yy375: + yych = *++YYCURSOR; + if (yych == 'R') goto yy205; + if (yych != 'r') goto yy154; +yy376: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yybm[0+yych] & 16) { + goto yy153; + } + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy195; + goto yy193; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych <= ' ') goto yy195; + if (yych <= ',') goto yy193; } } else { - if (yych <= '_') { - if (yych <= 'V') goto yy458; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '9') { + if (yych == '/') goto yy147; + goto yy195; } else { - if (yych <= 'u') { - if (yych <= '`') goto yy18; - goto yy449; - } else { - if (yych <= 'v') goto yy460; - if (yych <= 'z') goto yy449; - goto yy18; - } + if (yych == '_') goto yy147; + goto yy193; } } -yy289: - yyaccept = 7; +yy377: + yych = *++YYCURSOR; + if (yybm[0+yych] & 8) { + goto yy148; + } + goto yy195; +yy378: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy141; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; + } else { + if (yych <= 't') goto yy379; + if (yych <= 'z') goto yy141; + goto yy3; + } + } +yy379: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy134; - goto yy274; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy107; - goto yy274; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy444; - if (yych <= '.') goto yy134; - goto yy274; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy134; - goto yy274; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych == 'R') goto yy461; - goto yy443; + if (yych != 'O') goto yy142; } } else { - if (yych <= 'q') { - if (yych <= '`') goto yy274; - goto yy443; + if (yych <= 'n') { + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 'r') goto yy461; - if (yych <= 'z') goto yy443; - goto yy274; + if (yych <= 'o') goto yy380; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy290: +yy380: yych = *++YYCURSOR; - if (yych <= 'T') { + if (yych <= 'B') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'S') goto yy443; - goto yy462; + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy143; } } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= 'a') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 't') goto yy462; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 'b') goto yy381; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy291: +yy381: yych = *++YYCURSOR; - if (yych <= 'S') { + if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'R') goto yy443; - goto yy463; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy144; } } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= 'd') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 's') goto yy463; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 'e') goto yy382; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy292: +yy382: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'Q') goto yy443; - goto yy464; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; - } else { - if (yych <= 'r') goto yy464; - if (yych <= 'z') goto yy443; - goto yy18; - } - } -yy293: - ++YYCURSOR; - if ((yych = *YYCURSOR) <= 'D') { - if (yych <= ')') { - if (yych >= ')') goto yy107; - } else { - if (yych <= '@') goto yy294; - if (yych <= 'C') goto yy443; - goto yy465; - } + if (yych <= 'Q') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy443; - if (yych >= 'a') goto yy443; - } else { - if (yych <= 'd') goto yy465; - if (yych <= 'z') goto yy443; - } - } -yy294: -#line 1557 "ext/date/lib/parse_date.re" - { - const timelib_relunit* relunit; - DEBUG_OUTPUT("daytext"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_HAVE_WEEKDAY_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - relunit = timelib_lookup_relunit((char**) &ptr); - s->time->relative.weekday = relunit->multiplier; - if (s->time->relative.weekday_behavior != 2) { - s->time->relative.weekday_behavior = 1; - } - - TIMELIB_DEINIT; - return TIMELIB_WEEKDAY; + if (yych <= 'R') goto yy205; + if (yych == 'r') goto yy205; + goto yy3; } -#line 7060 "" -yy295: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy383: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '@') goto yy18; - if (yych <= 'M') goto yy443; - goto yy466; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= '_') { + if (yych <= 'T') goto yy379; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'n') goto yy466; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 't') goto yy384; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy296: - yyaccept = 7; +yy384: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy134; - goto yy274; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy450; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy276; - goto yy134; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { - if (yych <= 'Q') { - if (yych <= '@') goto yy274; - goto yy443; + if (yych <= 'N') { + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'R') goto yy461; - if (yych <= 'Z') goto yy443; - goto yy274; + if (yych <= 'O') goto yy380; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { - if (yych <= 'q') { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy274; - goto yy449; + if (yych <= 'n') { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'r') goto yy467; - if (yych <= 'z') goto yy449; - goto yy274; + if (yych <= 'o') goto yy385; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy297: - yyaccept = 2; +yy385: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { + if (yych <= 'A') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'T') goto yy462; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'B') goto yy381; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 's') { - if (yych <= '`') goto yy18; - goto yy449; + if (yych <= 'a') { + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 't') goto yy468; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych <= 'b') goto yy386; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy298: - yyaccept = 2; +yy386: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { + if (yych <= 'D') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'S') goto yy463; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'E') goto yy382; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'r') { - if (yych <= '`') goto yy18; - goto yy449; + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 's') goto yy469; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych <= 'e') goto yy387; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy299: - yyaccept = 2; +yy387: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { - if (yych <= '_') { - if (yych <= 'R') goto yy464; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '`') { + if (yych <= 'R') goto yy205; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych <= 'q') { - if (yych <= '`') goto yy18; - goto yy449; - } else { - if (yych <= 'r') goto yy470; - if (yych <= 'z') goto yy449; - goto yy18; - } + if (yych == 'r') goto yy376; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy300: - yyaccept = 9; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy294; - goto yy276; +yy388: + yych = *++YYCURSOR; + if (yych <= 'G') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy294; - goto yy443; + if (yych <= '@') goto yy3; + if (yych <= 'F') goto yy141; + goto yy396; } } else { - if (yych <= '_') { - if (yych <= 'D') goto yy465; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy294; - goto yy276; + if (yych <= 'f') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'c') { - if (yych <= '`') goto yy294; - goto yy449; - } else { - if (yych <= 'd') goto yy471; - if (yych <= 'z') goto yy449; - goto yy294; - } + if (yych <= 'g') goto yy396; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy301: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; +yy389: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy141; + goto yy393; } } else { - if (yych <= '_') { - if (yych <= 'N') goto yy466; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'q') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'm') { - if (yych <= '`') goto yy18; - goto yy449; - } else { - if (yych <= 'n') goto yy472; - if (yych <= 'z') goto yy449; - goto yy18; - } + if (yych <= 'r') goto yy393; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy302: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { +yy390: + yych = *++YYCURSOR; + if (yych <= 'O') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '+') goto yy473; - goto yy18; + if (yych <= '@') goto yy3; + if (yych <= 'N') goto yy141; } } else { - if (yych <= 'Z') { - if (yych <= '-') goto yy473; - if (yych <= '@') goto yy18; - goto yy443; + if (yych <= 'n') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 'o') goto yy391; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy303: - yyaccept = 4; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); - yych = *YYCURSOR; -yy304: - if (yybm[0+yych] & 32) { - goto yy303; - } - if (yych <= '2') { - if (yych <= '/') goto yy136; - if (yych <= '0') goto yy474; - if (yych <= '1') goto yy475; - goto yy476; - } else { - if (yych <= '9') goto yy477; - if (yych == 'T') goto yy308; - goto yy136; - } -yy305: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy478; - case '0': goto yy479; - case '1': goto yy480; - case '2': goto yy481; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - case ':': goto yy483; - default: goto yy304; - } -yy306: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy484; - case '0': goto yy485; - case '1': goto yy480; - case '2': goto yy481; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - case ':': goto yy486; - default: goto yy304; - } -yy307: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '.': goto yy484; - case '0': goto yy479; - case '1': goto yy480; - case '2': goto yy481; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - case ':': goto yy486; - default: goto yy304; - } -yy308: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy487; - if (yych <= '2') goto yy488; - if (yych <= '9') goto yy489; - goto yy56; -yy309: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy486; - goto yy56; - } else { - if (yych <= '4') goto yy490; - if (yych <= '9') goto yy491; - if (yych <= ':') goto yy486; - goto yy56; - } -yy310: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy486; - goto yy56; - } else { - if (yych <= '9') goto yy491; - if (yych <= ':') goto yy486; - goto yy56; - } -yy311: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy483; - goto yy56; - } else { - if (yych <= '0') goto yy490; - if (yych <= '9') goto yy482; - if (yych <= ':') goto yy483; - goto yy56; - } -yy312: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy486; - goto yy56; +yy391: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy139; } else { - if (yych <= '2') goto yy482; - if (yych <= '9') goto yy490; - if (yych <= ':') goto yy486; - goto yy56; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy392; + if (yych <= 'z') goto yy142; } -yy313: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy134; - goto yy18; - } else { - if (yych <= ' ') goto yy134; - if (yych == ')') goto yy107; - goto yy18; +yy392: +#line 1536 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("ago"); + TIMELIB_INIT; + s->time->relative.y = 0 - s->time->relative.y; + s->time->relative.m = 0 - s->time->relative.m; + s->time->relative.d = 0 - s->time->relative.d; + s->time->relative.h = 0 - s->time->relative.h; + s->time->relative.i = 0 - s->time->relative.i; + s->time->relative.s = 0 - s->time->relative.s; + s->time->relative.weekday = 0 - s->time->relative.weekday; + if (s->time->relative.weekday == 0) { + s->time->relative.weekday = -7; } - } else { - if (yych <= '@') { - if (yych == '/') goto yy18; - if (yych <= '9') goto yy134; - goto yy18; - } else { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy443; - goto yy18; + 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; } -yy314: - yyaccept = 7; +#line 6846 "" +yy393: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy134; - goto yy274; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy107; - goto yy274; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy444; - if (yych <= '.') goto yy134; - goto yy274; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy134; - goto yy274; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych == 'U') goto yy492; - goto yy443; + if (yych != 'I') goto yy142; } } else { - if (yych <= 't') { - if (yych <= '`') goto yy274; - goto yy443; + if (yych <= 'h') { + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 'u') goto yy492; - if (yych <= 'z') goto yy443; - goto yy274; + if (yych <= 'i') goto yy394; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy315: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy274; - } +yy394: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= ',') { - if (yych <= ')') goto yy107; - goto yy274; - } else { - if (yych <= '-') goto yy444; - if (yych <= '.') goto yy134; - goto yy274; - } + if (yych <= '@') goto yy3; + if (yych <= 'K') goto yy143; } } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy134; - goto yy274; - } else { - if (yych == 'Y') goto yy493; - goto yy443; - } + if (yych <= 'k') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'x') { - if (yych <= '`') goto yy274; - goto yy443; - } else { - if (yych <= 'y') goto yy493; - if (yych <= 'z') goto yy443; - goto yy274; - } + if (yych <= 'l') goto yy395; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy316: - yyaccept = 7; +yy395: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy274; - } + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy195; + goto yy193; } else { - if (yych <= ',') { - if (yych <= ')') goto yy107; - goto yy274; - } else { - if (yych <= '-') goto yy444; - if (yych <= '.') goto yy134; - goto yy274; - } + if (yych <= ' ') goto yy195; + if (yych == ')') goto yy139; + goto yy193; } } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy134; - goto yy274; - } else { - if (yych == 'E') goto yy493; - goto yy443; - } + if (yych <= '@') { + if (yych == '/') goto yy193; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych <= 'd') { - if (yych <= '`') goto yy274; - goto yy443; - } else { - if (yych <= 'e') goto yy493; - if (yych <= 'z') goto yy443; - goto yy274; - } + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy144; + goto yy193; } } -yy317: - yyaccept = 7; +yy396: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { + if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy134; - goto yy274; + if (yych == ' ') goto yy195; + goto yy193; } } else { - if (yych <= '-') { - if (yych <= ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy450; + if (yych <= ',') { + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych == '/') goto yy276; - goto yy134; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { - if (yych <= '^') { - if (yych <= 'T') { - if (yych <= '@') goto yy274; - goto yy443; + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych <= 'U') goto yy492; - if (yych <= 'Z') goto yy443; - goto yy274; + if (yych != 'U') goto yy142; } } else { if (yych <= 't') { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy274; - goto yy449; + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 'u') goto yy494; - if (yych <= 'z') goto yy449; - goto yy274; + if (yych <= 'u') goto yy397; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy318: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy274; - } +yy397: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '-') { - if (yych <= ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy450; - } else { - if (yych == '/') goto yy276; - goto yy134; - } + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy143; } } else { - if (yych <= '^') { - if (yych <= 'X') { - if (yych <= '@') goto yy274; - goto yy443; - } else { - if (yych <= 'Y') goto yy493; - if (yych <= 'Z') goto yy443; - goto yy274; - } + if (yych <= 'r') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'x') { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy274; - goto yy449; - } else { - if (yych <= 'y') goto yy495; - if (yych <= 'z') goto yy449; - goto yy274; - } + if (yych <= 's') goto yy398; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy319: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy274; - } +yy398: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '-') { - if (yych <= ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy450; - } else { - if (yych == '/') goto yy276; - goto yy134; - } + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy144; } } else { - if (yych <= '^') { - if (yych <= 'D') { - if (yych <= '@') goto yy274; - goto yy443; - } else { - if (yych <= 'E') goto yy493; - if (yych <= 'Z') goto yy443; - goto yy274; - } + if (yych <= 's') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'd') { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy274; - goto yy449; - } else { - if (yych <= 'e') goto yy495; - if (yych <= 'z') goto yy449; - goto yy274; - } + if (yych <= 't') goto yy399; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy320: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy399: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych <= '@') goto yy18; - if (yych <= 'S') goto yy443; - goto yy496; + if (yych == ' ') goto yy195; + goto yy193; } } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= '.') { + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy195; } else { - if (yych <= 't') goto yy496; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= '/') goto yy193; + if (yych <= '9') goto yy195; + goto yy193; } } -yy321: - yyaccept = 2; +yy400: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { + if (yych <= 'F') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'T') goto yy496; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'G') goto yy396; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 's') { - if (yych <= '`') goto yy18; - goto yy449; + if (yych <= 'f') { + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 't') goto yy497; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych <= 'g') goto yy407; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy322: - yyaccept = 7; +yy401: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy274; - } + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= ',') { - if (yych <= ')') goto yy107; - goto yy274; - } else { - if (yych <= '-') goto yy444; - if (yych <= '.') goto yy134; - goto yy274; - } + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy134; - goto yy274; - } else { - if (yych == 'C') goto yy498; - goto yy443; - } + if (yych <= '_') { + if (yych <= 'R') goto yy393; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'b') { - if (yych <= '`') goto yy274; - goto yy443; + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'c') goto yy498; - if (yych <= 'z') goto yy443; - goto yy274; + if (yych <= 'r') goto yy404; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy323: - yyaccept = 7; +yy402: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy134; - if (yych <= 0x1F) goto yy274; - goto yy134; + if (yych <= 'N') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy444; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { - if (yych <= '@') { - if (yych == '/') goto yy274; - if (yych <= '9') goto yy134; - goto yy274; + if (yych <= '_') { + if (yych <= 'O') goto yy391; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy274; - if (yych <= 'z') goto yy443; - goto yy274; + if (yych <= 'n') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'o') goto yy403; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy324: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy403: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy392; } else { - if (yych <= '@') goto yy18; - if (yych <= 'M') goto yy443; - goto yy499; + if (yych == '.') goto yy392; + goto yy147; } } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= '^') { + if (yych <= '@') goto yy392; + if (yych <= 'Z') goto yy142; + goto yy392; } else { - if (yych <= 'n') goto yy499; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy392; + if (yych <= 'z') goto yy150; + goto yy392; } } -yy325: - yyaccept = 7; +yy404: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy134; - goto yy274; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy450; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy276; - goto yy134; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { - if (yych <= 'B') { - if (yych <= '@') goto yy274; - goto yy443; + if (yych <= 'H') { + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'C') goto yy498; - if (yych <= 'Z') goto yy443; - goto yy274; + if (yych <= 'I') goto yy394; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { - if (yych <= 'b') { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy274; - goto yy449; + if (yych <= 'h') { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'c') goto yy500; - if (yych <= 'z') goto yy449; - goto yy274; + if (yych <= 'i') goto yy405; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy326: - yyaccept = 7; +yy405: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'K') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } + } else { + if (yych <= '_') { + if (yych <= 'L') goto yy395; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'k') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'l') goto yy406; + if (yych <= 'z') goto yy151; + goto yy3; + } + } + } +yy406: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy134; - if (yych <= 0x1F) goto yy274; - goto yy134; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy193; + goto yy195; } else { if (yych <= ')') { - if (yych <= '(') goto yy274; - goto yy107; + if (yych <= '(') goto yy193; + goto yy139; } else { - if (yych <= ',') goto yy274; - if (yych <= '-') goto yy450; - goto yy134; + if (yych <= ',') goto yy193; + if (yych <= '-') goto yy377; + goto yy195; } } } else { if (yych <= 'Z') { - if (yych <= '/') goto yy276; - if (yych <= '9') goto yy134; - if (yych <= '@') goto yy274; - goto yy443; + if (yych <= '/') goto yy147; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy193; + goto yy144; } else { if (yych <= '_') { - if (yych <= '^') goto yy274; - goto yy276; + if (yych <= '^') goto yy193; + goto yy147; } else { - if (yych <= '`') goto yy274; - if (yych <= 'z') goto yy449; - goto yy274; + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy152; + goto yy193; } } } -yy327: - yyaccept = 2; +yy407: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; - } - } else { - if (yych <= '_') { - if (yych <= 'N') goto yy499; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy18; - goto yy449; + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych <= 'n') goto yy501; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych == ' ') goto yy195; + goto yy193; } - } - } -yy328: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; } else { - if (yych <= '@') goto yy18; - if (yych <= 'S') goto yy443; - goto yy502; + if (yych <= '-') { + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; + } else { + if (yych == '/') goto yy147; + goto yy195; + } } } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= '^') { + if (yych <= 'T') { + if (yych <= '@') goto yy193; + goto yy142; + } else { + if (yych <= 'U') goto yy397; + if (yych <= 'Z') goto yy142; + goto yy193; + } } else { - if (yych <= 't') goto yy502; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 't') { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; + } else { + if (yych <= 'u') goto yy408; + if (yych <= 'z') goto yy150; + goto yy193; + } } } -yy329: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy408: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '@') goto yy18; - if (yych <= 'M') goto yy443; - goto yy503; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= '_') { + if (yych <= 'S') goto yy398; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'n') goto yy503; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 'r') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 's') goto yy409; + if (yych <= 'z') goto yy151; + goto yy3; + } } } -yy330: - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy107; - } else { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy331; - if (yych <= 'z') goto yy443; - } -yy331: -#line 963 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("now"); - TIMELIB_INIT; - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 8016 "" -yy332: - yyaccept = 2; +yy409: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'T') goto yy502; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'T') goto yy399; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy18; - goto yy449; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 't') goto yy505; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych <= 't') goto yy410; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy333: - yyaccept = 2; +yy410: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yybm[0+yych] & 16) { + goto yy153; + } + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy195; + goto yy193; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych <= ' ') goto yy195; + if (yych == ')') goto yy139; + goto yy193; } } else { - if (yych <= '_') { - if (yych <= 'N') goto yy503; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '/') { + if (yych <= '-') goto yy377; + if (yych <= '.') goto yy195; + goto yy147; } else { - if (yych <= 'm') { - if (yych <= '`') goto yy18; - goto yy449; - } else { - if (yych <= 'n') goto yy506; - if (yych <= 'z') goto yy449; - goto yy18; - } + if (yych <= '9') goto yy195; + if (yych == '_') goto yy147; + goto yy193; } } -yy334: - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy331; +yy411: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy331; - goto yy276; + if (yych == 'L') goto yy418; + if (yych <= 'M') goto yy141; + goto yy417; } } else { - if (yych <= '^') { - if (yych <= '@') goto yy331; - if (yych <= 'Z') goto yy443; - goto yy331; + if (yych <= 'l') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych <= 'k') goto yy141; + goto yy418; } else { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy331; - if (yych <= 'z') goto yy449; - goto yy331; + if (yych == 'n') goto yy417; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy335: - yyaccept = 7; +yy412: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy141; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; + } else { + if (yych <= 'n') goto yy413; + if (yych <= 'z') goto yy141; + goto yy3; + } + } +yy413: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy134; - goto yy274; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy107; - goto yy274; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy444; - if (yych <= '.') goto yy134; - goto yy274; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy134; - goto yy274; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych == 'O') goto yy507; - goto yy443; + if (yych != 'U') goto yy142; } } else { - if (yych <= 'n') { - if (yych <= '`') goto yy274; - goto yy443; + if (yych <= 't') { + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 'o') goto yy507; - if (yych <= 'z') goto yy443; - goto yy274; + if (yych <= 'u') goto yy414; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy336: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy274; - } +yy414: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy143; + goto yy3; } else { - if (yych <= '-') { - if (yych <= ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy450; - } else { - if (yych == '/') goto yy276; - goto yy134; - } - } - } else { - if (yych <= '^') { - if (yych <= 'N') { - if (yych <= '@') goto yy274; - goto yy443; - } else { - if (yych <= 'O') goto yy507; - if (yych <= 'Z') goto yy443; - goto yy274; - } - } else { - if (yych <= 'n') { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy274; - goto yy449; - } else { - if (yych <= 'o') goto yy508; - if (yych <= 'z') goto yy449; - goto yy274; - } + if (yych <= 'a') goto yy415; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy337: +yy415: yych = *++YYCURSOR; - if (yych <= 'V') { + if (yych <= 'R') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'U') goto yy443; - goto yy509; - } - } else { - if (yych <= 'u') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; - } else { - if (yych <= 'v') goto yy509; - if (yych <= 'z') goto yy443; - goto yy18; - } - } -yy338: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy144; } } else { - if (yych <= '_') { - if (yych <= 'V') goto yy509; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'q') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'u') { - if (yych <= '`') goto yy18; - goto yy449; - } else { - if (yych <= 'v') goto yy510; - if (yych <= 'z') goto yy449; - goto yy18; - } + if (yych <= 'r') goto yy416; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy339: +yy416: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= ')') { - if (yych <= '(') goto yy294; - goto yy107; - } else { - if (yych <= '@') goto yy294; - if (yych <= 'T') goto yy443; - goto yy511; - } + if (yych <= 'X') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 't') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy294; - goto yy443; - } else { - if (yych <= 'u') goto yy511; - if (yych <= 'z') goto yy443; - goto yy294; - } + if (yych <= 'Y') goto yy205; + if (yych == 'y') goto yy205; + goto yy3; } -yy340: - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy417: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; + } else { + if (yych == ' ') goto yy195; + goto yy193; + } } else { - if (yych <= '@') goto yy18; - if (yych <= 'N') goto yy443; - goto yy512; + if (yych <= ',') { + if (yych <= ')') goto yy139; + goto yy193; + } else { + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; + } } } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy195; + goto yy193; + } else { + if (yych == 'E') goto yy419; + goto yy142; + } } else { - if (yych <= 'o') goto yy512; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 'd') { + if (yych <= '`') goto yy193; + goto yy142; + } else { + if (yych <= 'e') goto yy419; + if (yych <= 'z') goto yy142; + goto yy193; + } } } -yy341: - yyaccept = 7; +yy418: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy134; - goto yy274; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy107; - goto yy274; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy444; - if (yych <= '.') goto yy134; - goto yy274; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy134; - goto yy274; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych == 'T') goto yy513; - goto yy443; + if (yych != 'Y') goto yy142; } } else { - if (yych <= 's') { - if (yych <= '`') goto yy274; - goto yy443; + if (yych <= 'x') { + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 't') goto yy513; - if (yych <= 'z') goto yy443; - goto yy274; + if (yych <= 'y') goto yy419; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy342: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy419: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy195; + goto yy193; } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy443; - goto yy514; + if (yych <= ' ') goto yy195; + if (yych == ')') goto yy139; + goto yy193; } } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= '@') { + if (yych == '/') goto yy193; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych <= 'e') goto yy514; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy143; + goto yy193; } } -yy343: - yyaccept = 9; +yy420: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy294; - goto yy276; + if (yych <= 'M') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych == '-') goto yy147; + goto yy3; + } } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy294; - goto yy443; + if (yych <= '@') { + if (yych <= '/') goto yy147; + goto yy3; + } else { + if (yych == 'L') goto yy418; + goto yy141; + } } } else { - if (yych <= '_') { - if (yych <= 'U') goto yy511; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy294; - goto yy276; + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'N') goto yy417; + goto yy141; + } else { + if (yych == '_') goto yy147; + goto yy3; + } } else { - if (yych <= 't') { - if (yych <= '`') goto yy294; - goto yy449; + if (yych <= 'm') { + if (yych == 'l') goto yy427; + goto yy146; } else { - if (yych <= 'u') goto yy515; - if (yych <= 'z') goto yy449; - goto yy294; + if (yych <= 'n') goto yy426; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy344: - yyaccept = 2; +yy421: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { + if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'O') goto yy512; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'N') goto yy413; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'n') { - if (yych <= '`') goto yy18; - goto yy449; + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'o') goto yy516; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych <= 'n') goto yy422; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy345: - yyaccept = 7; +yy422: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy134; - goto yy274; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy450; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy276; - goto yy134; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { - if (yych <= 'S') { - if (yych <= '@') goto yy274; - goto yy443; + if (yych <= 'T') { + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'T') goto yy513; - if (yych <= 'Z') goto yy443; - goto yy274; + if (yych <= 'U') goto yy414; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { - if (yych <= 's') { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy274; - goto yy449; + if (yych <= 't') { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 't') goto yy517; - if (yych <= 'z') goto yy449; - goto yy274; + if (yych <= 'u') goto yy423; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy346: - yyaccept = 2; +yy423: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '_') { - if (yych <= 'E') goto yy514; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'A') goto yy415; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'd') { - if (yych <= '`') goto yy18; - goto yy449; - } else { - if (yych <= 'e') goto yy518; - if (yych <= 'z') goto yy449; - goto yy18; - } + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy424; + if (yych <= 'z') goto yy151; + goto yy3; } } -yy347: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy72; - goto yy56; - } else { - if (yych <= '5') goto yy519; - if (yych == ':') goto yy72; - goto yy56; - } -yy348: - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; +yy424: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= 'Q') goto yy443; - if (yych <= 'R') goto yy520; - goto yy502; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= '_') { + if (yych <= 'R') goto yy416; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'r') goto yy520; - if (yych <= 's') goto yy502; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'r') goto yy425; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy349: - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy294; - goto yy107; - } else { - if (yych <= '@') goto yy294; - if (yych <= 'Q') goto yy443; - goto yy521; - } - } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy294; - goto yy443; +yy425: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'r') goto yy521; - if (yych <= 'z') goto yy443; - goto yy294; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } - } -yy350: - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy522; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy443; - goto yy18; - } else { - if (yych <= 'a') goto yy522; - if (yych <= 'z') goto yy443; - goto yy18; - } - } -yy351: - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'N') goto yy443; - goto yy523; - } - } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; - } else { - if (yych <= 'o') goto yy523; - if (yych <= 'z') goto yy443; - goto yy18; - } - } -yy352: - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy294; - goto yy107; - } else { - if (yych <= '@') goto yy294; - if (yych <= 'R') goto yy443; - goto yy524; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy294; - goto yy443; - } else { - if (yych <= 's') goto yy524; - if (yych <= 'z') goto yy443; - goto yy294; - } - } -yy353: - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= 'Y') goto yy205; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych <= '@') goto yy18; - if (yych <= 'K') goto yy443; - goto yy525; - } - } else { - if (yych <= 'k') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; - } else { - if (yych <= 'l') goto yy525; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych == 'y') goto yy376; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy354: - yyaccept = 2; +yy426: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; + } else { + if (yych == ' ') goto yy195; + goto yy193; + } } else { - if (yych <= '/') { - if (yych <= '.') goto yy18; - goto yy276; + if (yych <= '-') { + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych <= '@') goto yy18; - if (yych <= 'Q') goto yy443; - goto yy520; + if (yych == '/') goto yy147; + goto yy195; } } } else { - if (yych <= '`') { - if (yych <= 'Z') { - if (yych <= 'S') goto yy502; - goto yy443; + if (yych <= '^') { + if (yych <= 'D') { + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych == '_') goto yy276; - goto yy18; + if (yych <= 'E') goto yy419; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy449; - goto yy526; + if (yych <= 'd') { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 's') goto yy505; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych <= 'e') goto yy428; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy355: - yyaccept = 9; +yy427: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy294; - goto yy276; + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; + } else { + if (yych == ' ') goto yy195; + goto yy193; + } } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy294; - goto yy443; + if (yych <= '-') { + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; + } else { + if (yych == '/') goto yy147; + goto yy195; + } } } else { - if (yych <= '_') { - if (yych <= 'R') goto yy521; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy294; - goto yy276; + if (yych <= '^') { + if (yych <= 'X') { + if (yych <= '@') goto yy193; + goto yy142; + } else { + if (yych <= 'Y') goto yy419; + if (yych <= 'Z') goto yy142; + goto yy193; + } } else { - if (yych <= 'q') { - if (yych <= '`') goto yy294; - goto yy449; + if (yych <= 'x') { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'r') goto yy527; - if (yych <= 'z') goto yy449; - goto yy294; + if (yych <= 'y') goto yy428; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy356: - yyaccept = 2; +yy428: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy193; + goto yy195; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych <= ')') { + if (yych <= '(') goto yy193; + goto yy139; + } else { + if (yych <= ',') goto yy193; + if (yych <= '-') goto yy377; + goto yy195; + } } } else { - if (yych <= '_') { - if (yych <= 'A') goto yy522; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'Z') { + if (yych <= '/') goto yy147; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy193; + goto yy143; } else { - if (yych <= '`') goto yy18; - if (yych <= 'a') goto yy528; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych <= '_') { + if (yych <= '^') goto yy193; + goto yy147; + } else { + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy151; + goto yy193; + } } } -yy357: - yyaccept = 2; +yy429: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy3; + goto yy195; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy195; } } else { - if (yych <= '_') { - if (yych <= 'O') goto yy523; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'H') { + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy3; + goto yy141; } else { - if (yych <= 'n') { - if (yych <= '`') goto yy18; - goto yy449; + if (yych <= 'Z') { + if (yych >= 'J') goto yy141; } else { - if (yych <= 'o') goto yy529; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy141; + goto yy3; } } } -yy358: - yyaccept = 9; +yy430: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy294; - goto yy276; + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy195; + goto yy3; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy294; - goto yy443; + if (yych <= ' ') goto yy195; + if (yych == ')') goto yy139; + goto yy3; } } else { - if (yych <= '_') { - if (yych <= 'S') goto yy524; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy294; - goto yy276; + if (yych <= '@') { + if (yych == '/') goto yy3; + if (yych <= '9') goto yy195; + goto yy3; } else { - if (yych <= 'r') { - if (yych <= '`') goto yy294; - goto yy449; - } else { - if (yych <= 's') goto yy530; - if (yych <= 'z') goto yy449; - goto yy294; - } + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy359: - yyaccept = 2; +yy431: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'K') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy3; + goto yy195; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy195; } } else { - if (yych <= '_') { - if (yych <= 'L') goto yy525; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'H') { + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy3; + goto yy141; } else { - if (yych <= 'k') { - if (yych <= '`') goto yy18; - goto yy449; + if (yych <= 'Z') { + if (yych >= 'J') goto yy141; } else { - if (yych <= 'l') goto yy531; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy141; + goto yy3; } } } -yy360: - yyaccept = 2; + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy134; - if (yych <= 0x1F) goto yy18; - goto yy134; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy3; + goto yy195; } else { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy134; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy195; } } else { if (yych <= 'H') { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy134; - if (yych <= '@') goto yy18; - goto yy443; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy3; + goto yy142; } else { if (yych <= 'Z') { - if (yych <= 'I') goto yy532; - goto yy443; + if (yych >= 'J') goto yy142; } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy142; + goto yy3; } } } -yy361: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy294; - goto yy107; + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy195; + goto yy3; } else { - if (yych <= '@') goto yy294; - if (yych <= 'M') goto yy443; - goto yy533; + if (yych <= ' ') goto yy195; + if (yych == ')') goto yy139; + goto yy3; } } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy294; - goto yy443; + if (yych <= '@') { + if (yych == '/') goto yy3; + if (yych <= '9') goto yy195; + goto yy3; } else { - if (yych <= 'n') goto yy533; - if (yych <= 'z') goto yy443; - goto yy294; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy362: - yych = *++YYCURSOR; - if (yych <= 'K') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy434: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy195; + goto yy3; } else { - if (yych <= '@') goto yy18; - if (yych <= 'J') goto yy443; - goto yy534; + if (yych <= ' ') goto yy195; + if (yych == ')') goto yy139; + goto yy3; } } else { - if (yych <= 'j') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= '@') { + if (yych == '/') goto yy3; + if (yych <= '9') goto yy195; + goto yy3; } else { - if (yych <= 'k') goto yy534; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy363: - yyaccept = 9; +yy435: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy294; - goto yy276; + if (yych <= '.') { + if (yych <= ' ') { + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy3; + goto yy195; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy294; - goto yy443; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy195; } } else { - if (yych <= '_') { - if (yych <= 'N') goto yy533; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy294; - goto yy276; + if (yych <= 'H') { + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy3; + goto yy141; } else { - if (yych <= 'm') { - if (yych <= '`') goto yy294; - goto yy449; + if (yych <= 'Z') { + if (yych <= 'I') goto yy430; + goto yy141; } else { - if (yych <= 'n') goto yy535; - if (yych <= 'z') goto yy449; - goto yy294; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy141; + goto yy3; } } } -yy364: - yyaccept = 2; +yy436: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'J') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= 'V') { + 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 yy456; + } else { + if (yych <= ':') goto yy162; + if (yych <= 'C') goto yy3; + goto yy60; + } + } } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych <= 'H') { + if (yych == 'F') goto yy60; + 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 <= 'T') goto yy60; + goto yy3; + } + } } } else { - if (yych <= '_') { - if (yych <= 'K') goto yy534; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy3; + if (yych <= 'Y') goto yy60; + goto yy3; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy60; + goto yy3; + } else { + if (yych == 'g') goto yy3; + goto yy60; + } + } } else { - if (yych <= 'j') { - if (yych <= '`') goto yy18; - goto yy449; + if (yych <= 't') { + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; } else { - if (yych <= 'k') goto yy536; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych <= 'w') { + if (yych <= 'v') goto yy3; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy3; + } } } } -yy365: - yych = *++YYCURSOR; +yy437: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; + } else { + if (yych <= '4') { + if (yych <= '/') goto yy3; + goto yy456; + } else { + if (yych <= '5') goto yy441; + if (yych <= '9') goto yy442; + goto yy162; + } + } } else { - if (yych <= '@') goto yy18; - if (yych <= 'S') goto yy443; - goto yy537; + if (yych <= 'G') { + if (yych <= 'D') { + if (yych <= 'C') goto yy3; + goto yy60; + } else { + if (yych == 'F') goto yy60; + goto yy3; + } + } else { + if (yych <= 'L') { + if (yych <= 'H') goto yy60; + goto yy3; + } else { + if (yych <= 'M') goto yy60; + if (yych <= 'R') goto yy3; + goto yy60; + } + } } } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy443; - if (yych <= '`') goto yy18; - goto yy443; + if (yych <= 'g') { + if (yych <= 'Y') { + if (yych == 'W') goto yy60; + if (yych <= 'X') goto yy3; + goto yy60; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy3; + goto yy60; + } else { + if (yych == 'f') goto yy60; + goto yy3; + } + } } else { - if (yych <= 't') goto yy537; - if (yych <= 'z') goto yy443; - goto yy18; + if (yych <= 't') { + if (yych <= 'l') { + if (yych <= 'h') goto yy60; + goto yy3; + } else { + if (yych <= 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; + } + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy3; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy3; + } + } } } -yy366: - yyaccept = 2; +yy438: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= 'T') { + 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 yy441; + } else { + if (yych <= '9') goto yy442; + if (yych <= ':') goto yy162; + goto yy3; + } + } } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy443; + if (yych <= 'G') { + if (yych == 'E') goto yy3; + if (yych <= 'F') goto yy60; + goto yy3; + } else { + if (yych <= 'L') { + if (yych <= 'H') goto yy60; + goto yy3; + } else { + if (yych <= 'M') goto yy60; + if (yych <= 'R') goto yy3; + goto yy60; + } + } } } else { - if (yych <= '_') { - if (yych <= 'T') goto yy537; - if (yych <= 'Z') goto yy443; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'g') { + if (yych <= 'Y') { + if (yych == 'W') goto yy60; + if (yych <= 'X') goto yy3; + goto yy60; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy3; + goto yy60; + } else { + if (yych == 'f') goto yy60; + goto yy3; + } + } } else { - if (yych <= 's') { - if (yych <= '`') goto yy18; - goto yy449; + if (yych <= 't') { + if (yych <= 'l') { + if (yych <= 'h') goto yy60; + goto yy3; + } else { + if (yych <= 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; + } } else { - if (yych <= 't') goto yy538; - if (yych <= 'z') goto yy449; - goto yy18; + if (yych <= 'w') { + if (yych <= 'v') goto yy3; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy3; + } } } } -yy367: - yych = *++YYCURSOR; - if (yych == 'C') goto yy417; - if (yych == 'c') goto yy417; - goto yy56; -yy368: - yyaccept = 2; +yy439: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 4) { + goto yy57; + } + if (yych <= ',') { + if (yych == '+') goto yy439; + goto yy56; + } else { + if (yych <= '-') goto yy439; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy54; + goto yy56; + } +yy441: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy18; - goto yy186; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; } else { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy539; - if (yych <= 'C') goto yy18; - goto yy186; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy455; + if (yych <= 'C') goto yy3; + goto yy60; } } else { if (yych <= 'H') { - if (yych == 'F') goto yy186; - if (yych <= 'G') goto yy18; - goto yy186; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy3; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy18; - goto yy186; + if (yych <= 'L') goto yy3; + goto yy60; } else { - if (yych <= 'R') goto yy18; - if (yych <= 'T') goto yy186; - goto yy18; + if (yych <= 'R') goto yy3; + if (yych <= 'T') goto yy60; + goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy18; - if (yych <= 'Y') goto yy186; - goto yy18; + if (yych == 'X') goto yy3; + if (yych <= 'Y') goto yy60; + goto yy3; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy186; - goto yy18; + if (yych <= 'd') goto yy60; + goto yy3; } else { - if (yych == 'g') goto yy18; - goto yy186; + if (yych == 'g') goto yy3; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy186; - if (yych <= 'r') goto yy18; - goto yy186; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy18; - goto yy186; + if (yych <= 'v') goto yy3; + goto yy60; } else { - if (yych == 'y') goto yy186; - goto yy18; + if (yych == 'y') goto yy60; + goto yy3; } } } } -yy369: - yyaccept = 2; +yy442: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy18; - goto yy186; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; } else { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy540; - if (yych <= 'C') goto yy18; - goto yy186; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy443; + if (yych <= 'C') goto yy3; + goto yy60; } } else { if (yych <= 'H') { - if (yych == 'F') goto yy186; - if (yych <= 'G') goto yy18; - goto yy186; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy3; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy18; - goto yy186; + if (yych <= 'L') goto yy3; + goto yy60; } else { - if (yych <= 'R') goto yy18; - if (yych <= 'T') goto yy186; - goto yy18; + if (yych <= 'R') goto yy3; + if (yych <= 'T') goto yy60; + goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy18; - if (yych <= 'Y') goto yy186; - goto yy18; + if (yych == 'X') goto yy3; + if (yych <= 'Y') goto yy60; + goto yy3; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy186; - goto yy18; + if (yych <= 'd') goto yy60; + goto yy3; } else { - if (yych == 'g') goto yy18; - goto yy186; + if (yych == 'g') goto yy3; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy186; - if (yych <= 'r') goto yy18; - goto yy186; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy18; - goto yy186; + if (yych <= 'v') goto yy3; + goto yy60; } else { - if (yych == 'y') goto yy186; - goto yy18; + if (yych == 'y') goto yy60; + goto yy3; } } } } -yy370: +yy443: yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy107; - goto yy18; -yy371: + if (yych <= '/') goto yy60; + if (yych >= ':') goto yy60; +yy444: yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '9') goto yy540; - goto yy186; -yy372: + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych != '-') goto yy60; +yy445: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy541; + if (yych <= '0') goto yy446; + if (yych <= '1') goto yy447; goto yy56; -yy373: +yy446: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy542; + if (yych <= '9') goto yy448; goto yy56; -yy374: +yy447: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '2') goto yy543; - if (yych <= '3') goto yy545; - if (yych <= '9') goto yy546; - goto yy56; -yy375: + if (yych >= '3') goto yy56; +yy448: yych = *++YYCURSOR; - if (yych == 'P') goto yy418; - if (yych == 'p') goto yy418; - goto yy56; -yy376: + if (yych != '-') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy547; - if (yych <= '6') goto yy548; - if (yych <= '9') goto yy549; + if (yych <= '0') goto yy450; + if (yych <= '2') goto yy451; + if (yych <= '3') goto yy452; goto yy56; -yy377: +yy450: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy550; - if (yych <= '6') goto yy551; - if (yych <= '9') goto yy552; + if (yych <= '9') goto yy453; goto yy56; -yy378: +yy451: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy553; - goto yy56; -yy379: - yych = *++YYCURSOR; - if (yych == 'd') goto yy554; - goto yy56; -yy380: - yych = *++YYCURSOR; - if (yych == 't') goto yy554; - goto yy56; -yy381: - yych = *++YYCURSOR; - if (yych == 'h') goto yy554; + if (yych <= '9') goto yy453; goto yy56; -yy382: +yy452: yych = *++YYCURSOR; - if (yych == 'R') goto yy555; - if (yych == 'r') goto yy555; - goto yy56; -yy383: + if (yych <= '/') goto yy56; + if (yych >= '2') goto yy56; +yy453: + ++YYCURSOR; +yy454: +#line 1239 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4); + s->time->m = timelib_get_nr((char **) &ptr, 2); + s->time->d = timelib_get_nr((char **) &ptr, 2); + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } +#line 8545 "" +yy455: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; + } else { + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy444; + if (yych <= 'C') goto yy3; + goto yy60; + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy60; + 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 <= 'T') goto yy60; + goto yy3; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy3; + if (yych <= 'Y') goto yy60; + goto yy3; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy60; + goto yy3; + } else { + if (yych == 'g') goto yy3; + goto yy60; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy3; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy3; + } + } + } + } +yy456: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + 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 yy455; + if (yych <= ':') goto yy162; + goto yy3; + } + } + } else { + if (yych <= 'G') { + if (yych == 'E') goto yy3; + if (yych <= 'F') goto yy60; + goto yy3; + } else { + if (yych <= 'L') { + if (yych <= 'H') goto yy60; + goto yy3; + } else { + if (yych <= 'M') goto yy60; + if (yych <= 'R') goto yy3; + goto yy60; + } + } + } + } else { + if (yych <= 'g') { + if (yych <= 'Y') { + if (yych == 'W') goto yy60; + if (yych <= 'X') goto yy3; + goto yy60; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy3; + goto yy60; + } else { + if (yych == 'f') goto yy60; + goto yy3; + } + } + } else { + if (yych <= 't') { + if (yych <= 'l') { + if (yych <= 'h') goto yy60; + goto yy3; + } else { + if (yych <= 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; + } + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy3; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy3; + } + } + } + } + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; + } else { + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy458; + if (yych <= 'C') goto yy3; + goto yy60; + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy60; + 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 <= 'T') goto yy60; + goto yy3; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy3; + if (yych <= 'Y') goto yy60; + goto yy3; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy60; + goto yy3; + } else { + if (yych == 'g') goto yy3; + goto yy60; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy3; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy3; + } + } + } + } +yy458: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; + } else { + if (yych == '-') goto yy445; + if (yych <= 'C') goto yy3; + goto yy60; + } + } else { + if (yych <= 'H') { + if (yych == 'F') goto yy60; + 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 <= 'T') goto yy60; + goto yy3; + } + } + } + } else { + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy3; + if (yych <= 'Y') goto yy60; + goto yy3; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy60; + goto yy3; + } else { + if (yych == 'g') goto yy3; + goto yy60; + } + } + } else { + if (yych <= 't') { + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy3; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy3; + } + } + } + } +yy459: + yych = *++YYCURSOR; + if (yych <= '/') goto yy461; + if (yych <= '0') goto yy735; + if (yych <= '1') goto yy736; + if (yych <= '9') goto yy737; + goto yy461; +yy460: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy461: + switch (yych) { + case '\t': + case ' ': goto yy460; + case '-': + case '.': goto yy576; + case 'A': + case 'a': goto yy479; + case 'D': + case 'd': goto yy465; + case 'F': + case 'f': goto yy466; + case 'H': + case 'h': goto yy63; + case 'I': goto yy474; + case 'J': + case 'j': goto yy478; + case 'M': + case 'm': goto yy464; + case 'N': + case 'n': goto yy481; + case 'O': + case 'o': goto yy480; + case 'P': + case 'p': goto yy483; + case 'S': + case 's': goto yy462; + case 'T': + case 't': goto yy68; + case 'V': goto yy476; + case 'W': + case 'w': goto yy67; + case 'X': goto yy477; + case 'Y': + case 'y': goto yy66; + default: goto yy56; + } +yy462: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych == 'A') goto yy126; + goto yy56; + } else { + if (yych <= 'E') goto yy1048; + if (yych <= 'T') goto yy56; + goto yy125; + } + } else { + if (yych <= 'd') { + if (yych == 'a') goto yy126; + goto yy56; + } else { + if (yych <= 'e') goto yy1048; + if (yych == 'u') goto yy125; + goto yy56; + } + } +yy463: + yych = *++YYCURSOR; + if (yych <= '`') { + if (yych <= 'D') { + if (yych == 'A') goto yy126; + goto yy56; + } else { + if (yych <= 'E') goto yy1048; + if (yych == 'U') goto yy125; + goto yy56; + } + } else { + if (yych <= 'e') { + if (yych <= 'a') goto yy126; + if (yych <= 'd') goto yy56; + goto yy1048; + } else { + if (yych <= 's') goto yy56; + if (yych <= 't') goto yy728; + if (yych <= 'u') goto yy125; + goto yy56; + } + } +yy464: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= 'H') { + if (yych == 'A') goto yy591; + goto yy56; + } else { + if (yych <= 'I') goto yy117; + if (yych <= 'N') goto yy56; + goto yy116; + } + } else { + if (yych <= 'h') { + if (yych == 'a') goto yy591; + goto yy56; + } else { + if (yych <= 'i') goto yy117; + if (yych == 'o') goto yy116; + goto yy56; + } + } +yy465: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych == 'A') goto yy113; + if (yych <= 'D') goto yy56; + goto yy578; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy113; + } else { + if (yych == 'e') goto yy578; + goto yy56; + } + } +yy466: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= 'N') { + if (yych == 'E') goto yy594; + goto yy56; + } else { + if (yych <= 'O') goto yy98; + if (yych <= 'Q') goto yy56; + goto yy97; + } + } else { + if (yych <= 'n') { + if (yych == 'e') goto yy594; + goto yy56; + } else { + if (yych <= 'o') goto yy98; + if (yych == 'r') goto yy97; + goto yy56; + } + } +yy467: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'H') goto yy69; + if (yych <= 'T') goto yy56; + goto yy70; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy1047; + } else { + if (yych == 'u') goto yy70; + goto yy56; + } + } +yy468: + yych = *++YYCURSOR; + if (yych == '-') goto yy741; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy740; + goto yy60; +yy469: + yych = *++YYCURSOR; + if (yych <= 'c') { + if (yych == 'O') goto yy529; + goto yy56; + } else { + if (yych <= 'd') goto yy728; + if (yych == 'o') goto yy529; + goto yy56; + } +yy470: + yych = *++YYCURSOR; + if (yych == 'd') goto yy728; + goto yy56; +yy471: + yych = *++YYCURSOR; + switch (yych) { + case '0': + case '1': + case '2': goto yy665; + case '3': goto yy667; + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy668; + case 'A': + case 'a': goto yy672; + case 'D': + case 'd': goto yy676; + case 'F': + case 'f': goto yy670; + case 'J': + case 'j': goto yy669; + case 'M': + case 'm': goto yy671; + case 'N': + case 'n': goto yy675; + case 'O': + case 'o': goto yy674; + case 'S': + case 's': goto yy673; + default: goto yy56; + } +yy472: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy615; + case '1': goto yy616; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy617; + case 'A': + case 'a': goto yy621; + case 'D': + case 'd': goto yy625; + case 'F': + case 'f': goto yy619; + case 'J': + case 'j': goto yy618; + case 'M': + case 'm': goto yy620; + case 'N': + case 'n': goto yy624; + case 'O': + case 'o': goto yy623; + case 'S': + case 's': goto yy622; + default: goto yy577; + } +yy473: + yych = *++YYCURSOR; + if (yych <= '1') { + if (yych <= '/') goto yy577; + if (yych <= '0') goto yy567; + goto yy568; + } else { + if (yych <= '5') goto yy569; + if (yych <= '9') goto yy570; + goto yy577; + } +yy474: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '.') goto yy531; + } + } else { + if (yych <= 'U') { + if (yych <= '9') goto yy533; + if (yych == 'I') goto yy566; + } else { + if (yych == 'W') goto yy475; + if (yych <= 'X') goto yy539; + } + } +yy475: +#line 1376 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("datenoyearrev"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->d = timelib_get_nr((char **) &ptr, 2); + timelib_skip_day_suffix((char **) &ptr); + s->time->m = timelib_get_month((char **) &ptr); + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } +#line 9092 "" +yy476: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy475; + goto yy531; + } else { + if (yych == ' ') goto yy531; + goto yy475; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy531; + if (yych <= '/') goto yy475; + goto yy533; + } else { + if (yych == 'I') goto yy564; + goto yy475; + } + } +yy477: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy475; + goto yy531; + } else { + if (yych == ' ') goto yy531; + goto yy475; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy531; + if (yych <= '/') goto yy475; + goto yy533; + } else { + if (yych == 'I') goto yy563; + goto yy475; + } + } +yy478: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy556; + if (yych <= 'T') goto yy56; + goto yy555; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy556; + } else { + if (yych == 'u') goto yy555; + goto yy56; + } + } +yy479: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= 'L') { + if (yych == '.') goto yy484; + goto yy56; + } else { + if (yych <= 'M') goto yy485; + if (yych == 'P') goto yy549; + goto yy56; + } + } else { + if (yych <= 'o') { + if (yych <= 'U') goto yy548; + if (yych == 'm') goto yy485; + goto yy56; + } else { + if (yych <= 'p') goto yy549; + if (yych == 'u') goto yy548; + goto yy56; + } + } +yy480: + yych = *++YYCURSOR; + if (yych == 'C') goto yy543; + if (yych == 'c') goto yy543; + goto yy56; +yy481: + yych = *++YYCURSOR; + if (yych == 'O') goto yy529; + if (yych == 'o') goto yy529; + goto yy56; +yy482: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy489; + if (yych <= '9') goto yy491; + 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; + } +yy484: + 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; +#line 1094 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->i = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->s = timelib_get_nr((char **) &ptr, 2); + } + } + s->time->h += timelib_meridian((char **) &ptr, s->time->h); + TIMELIB_DEINIT; + return TIMELIB_TIME12; + } +#line 9236 "" +yy489: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy492; + } else { + if (yych <= '9') goto yy506; + if (yych <= ':') goto yy492; + } +yy490: +#line 1131 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->s = timelib_get_nr((char **) &ptr, 2); + + if (*ptr == '.') { + s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + } + } + + if (*ptr != '\0') { + s->time->z = timelib_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; + } +#line 9272 "" +yy491: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy492; + if (yych != ':') goto yy490; +yy492: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy493; + if (yych <= '6') goto yy494; + if (yych <= '9') goto yy495; + goto yy56; +yy493: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy496; + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy499; + goto yy490; +yy494: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy496; + if (yych == '0') goto yy499; + goto yy490; +yy495: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych != '.') goto yy490; +yy496: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy497: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy497; + goto yy490; +yy499: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= 0x1F) { + if (yych != '\t') goto yy490; + } else { + if (yych <= ' ') goto yy500; + if (yych == '.') goto yy496; + goto yy490; + } + } else { + if (yych <= '`') { + if (yych <= 'A') goto yy502; + if (yych == 'P') goto yy502; + goto yy490; + } else { + if (yych <= 'a') goto yy502; + if (yych == 'p') goto yy502; + goto yy490; + } + } +yy500: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy500; + goto yy56; + } else { + if (yych <= ' ') goto yy500; + if (yych <= '@') goto yy56; + } + } else { + if (yych <= '`') { + if (yych != 'P') goto yy56; + } else { + if (yych <= 'a') goto yy502; + if (yych != 'p') goto yy56; + } + } +yy502: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { + if (yych <= 'M') goto yy504; + if (yych == 'm') goto yy504; + goto yy56; + } + yych = *++YYCURSOR; + if (yych == 'M') goto yy504; + if (yych != 'm') goto yy56; +yy504: + 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; + goto yy487; + } else { + if (yych == ' ') goto yy487; + goto yy56; + } +yy506: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy507; + if (yych <= 0x1F) goto yy490; + } else { + if (yych == '.') goto yy492; + if (yych <= '9') goto yy490; + goto yy510; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy509; + if (yych <= 'O') goto yy490; + goto yy509; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy490; + goto yy509; + } else { + if (yych == 'p') goto yy509; + goto yy490; + } + } + } +yy507: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy507; + goto yy56; + } else { + if (yych <= ' ') goto yy507; + if (yych <= '@') goto yy56; + } + } else { + if (yych <= '`') { + if (yych != 'P') goto yy56; + } else { + if (yych <= 'a') goto yy509; + if (yych != 'p') goto yy56; + } + } +yy509: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych == '.') goto yy526; + goto yy56; + } else { + if (yych <= 'M') goto yy527; + if (yych == 'm') goto yy527; + goto yy56; + } +yy510: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy511; + if (yych <= '6') goto yy512; + if (yych <= '9') goto yy495; + goto yy56; +yy511: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy496; + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy513; + goto yy490; +yy512: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy496; + if (yych != '0') goto yy490; +yy513: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy500; + if (yych <= 0x1F) goto yy490; + goto yy500; + } else { + if (yych == '.') goto yy514; + if (yych <= '9') goto yy490; + goto yy515; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy502; + if (yych <= 'O') goto yy490; + goto yy502; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy490; + goto yy502; + } else { + if (yych == 'p') goto yy502; + goto yy490; + } + } + } +yy514: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy524; + goto yy56; +yy515: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy516: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'O') { + if (yych <= '9') { + if (yych <= '/') goto yy56; + goto yy516; + } else { + if (yych != 'A') goto yy56; + } + } else { + if (yych <= 'a') { + if (yych <= 'P') goto yy518; + if (yych <= '`') goto yy56; + } else { + if (yych != 'p') goto yy56; + } + } +yy518: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { + if (yych <= 'M') goto yy520; + if (yych == 'm') goto yy520; + goto yy56; + } + yych = *++YYCURSOR; + if (yych == 'M') goto yy520; + if (yych != 'm') goto yy56; +yy520: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy522; + if (yych == '\t') goto yy522; + goto yy56; + } else { + if (yych <= ' ') goto yy522; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy522; + if (yych <= 0x08) goto yy56; + } else { + if (yych != ' ') goto yy56; + } +yy522: + ++YYCURSOR; +#line 1111 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("mssqltime"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->s = timelib_get_nr((char **) &ptr, 2); + + if (*ptr == ':' || *ptr == '.') { + s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + } + } + timelib_eat_spaces((char **) &ptr); + s->time->h += timelib_meridian((char **) &ptr, s->time->h); + TIMELIB_DEINIT; + return TIMELIB_TIME24_WITH_ZONE; + } +#line 9568 "" +yy524: + yyaccept = 11; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'O') { + if (yych <= '9') { + if (yych <= '/') goto yy490; + goto yy524; + } else { + if (yych == 'A') goto yy518; + goto yy490; + } + } else { + if (yych <= 'a') { + if (yych <= 'P') goto yy518; + if (yych <= '`') goto yy490; + goto yy518; + } else { + if (yych == 'p') goto yy518; + goto yy490; + } + } +yy526: + yych = *++YYCURSOR; + if (yych == 'M') goto yy527; + if (yych != 'm') goto yy56; +yy527: + 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; + goto yy487; + } else { + if (yych == ' ') goto yy487; + goto yy56; + } +yy529: + yych = *++YYCURSOR; + if (yych == 'V') goto yy530; + if (yych != 'v') goto yy56; +yy530: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych != '\t') goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'E') goto yy535; + if (yych == 'e') goto yy535; + goto yy475; + } + } +yy531: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); + yych = *YYCURSOR; +yy532: + if (yych <= ' ') { + if (yych == '\t') goto yy531; + if (yych <= 0x1F) goto yy56; + goto yy531; + } else { + if (yych <= '.') { + if (yych <= ',') goto yy56; + goto yy531; + } else { + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + } + } +yy533: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '/') goto yy534; + if (yych <= '9') goto yy540; +yy534: +#line 1293 "ext/date/lib/parse_date.re" + { + 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; + } +#line 9677 "" +yy535: + yych = *++YYCURSOR; + if (yych == 'M') goto yy536; + if (yych != 'm') goto yy56; +yy536: + yych = *++YYCURSOR; + if (yych == 'B') goto yy537; + if (yych != 'b') goto yy56; +yy537: + yych = *++YYCURSOR; + if (yych == 'E') goto yy538; + if (yych != 'e') goto yy56; +yy538: + yych = *++YYCURSOR; + if (yych == 'R') goto yy539; + if (yych != 'r') goto yy56; +yy539: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy531; + if (yych <= 0x1F) goto yy475; + goto yy531; + } else { + if (yych <= '.') { + if (yych <= ',') goto yy475; + goto yy531; + } else { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } + } +yy540: + yych = *++YYCURSOR; + if (yych <= '/') goto yy534; + if (yych >= ':') goto yy534; +yy541: + yych = *++YYCURSOR; + if (yych <= '/') goto yy534; + if (yych >= ':') goto yy534; + yych = *++YYCURSOR; + goto yy534; +yy543: + yych = *++YYCURSOR; + if (yych == 'T') goto yy544; + if (yych != 't') goto yy56; +yy544: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; + } + } else { + if (yych <= 'N') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'O') goto yy545; + if (yych != 'o') goto yy475; + } + } +yy545: + yych = *++YYCURSOR; + if (yych == 'B') goto yy546; + if (yych != 'b') goto yy56; +yy546: + yych = *++YYCURSOR; + if (yych == 'E') goto yy547; + if (yych != 'e') goto yy56; +yy547: + yych = *++YYCURSOR; + if (yych == 'R') goto yy539; + if (yych == 'r') goto yy539; + goto yy56; +yy548: + yych = *++YYCURSOR; + if (yych == 'G') goto yy552; + if (yych == 'g') goto yy552; + goto yy56; +yy549: + yych = *++YYCURSOR; + if (yych == 'R') goto yy550; + if (yych != 'r') goto yy56; +yy550: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'I') goto yy551; + if (yych != 'i') goto yy475; + } + } +yy551: + yych = *++YYCURSOR; + if (yych == 'L') goto yy539; + if (yych == 'l') goto yy539; + goto yy56; +yy552: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; + } + } else { + if (yych <= 'T') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'U') goto yy553; + if (yych != 'u') goto yy475; + } + } +yy553: + yych = *++YYCURSOR; + if (yych == 'S') goto yy554; + if (yych != 's') goto yy56; +yy554: + yych = *++YYCURSOR; + if (yych == 'T') goto yy539; + if (yych == 't') goto yy539; + goto yy56; +yy555: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy562; + if (yych <= 'M') goto yy56; + goto yy561; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy562; + } else { + if (yych == 'n') goto yy561; + goto yy56; + } + } +yy556: + yych = *++YYCURSOR; + if (yych == 'N') goto yy557; + if (yych != 'n') goto yy56; +yy557: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; + } + } else { + if (yych <= 'T') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'U') goto yy558; + if (yych != 'u') goto yy475; + } + } +yy558: + yych = *++YYCURSOR; + if (yych == 'A') goto yy559; + if (yych != 'a') goto yy56; +yy559: + yych = *++YYCURSOR; + if (yych == 'R') goto yy560; + if (yych != 'r') goto yy56; +yy560: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy539; + if (yych == 'y') goto yy539; + goto yy56; +yy561: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'E') goto yy539; + if (yych == 'e') goto yy539; + goto yy475; + } + } +yy562: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; + } + } else { + if (yych <= 'X') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'Y') goto yy539; + if (yych == 'y') goto yy539; + goto yy475; + } + } +yy563: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy475; + goto yy531; + } else { + if (yych == ' ') goto yy531; + goto yy475; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy531; + if (yych <= '/') goto yy475; + goto yy533; + } else { + if (yych == 'I') goto yy539; + goto yy475; + } + } +yy564: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy475; + goto yy531; + } else { + if (yych == ' ') goto yy531; + goto yy475; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy531; + if (yych <= '/') goto yy475; + goto yy533; + } else { + if (yych != 'I') goto yy475; + } + } + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy475; + goto yy531; + } else { + if (yych == ' ') goto yy531; + goto yy475; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy531; + if (yych <= '/') goto yy475; + goto yy533; + } else { + if (yych == 'I') goto yy539; + goto yy475; + } + } +yy566: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy475; + goto yy531; + } else { + if (yych == ' ') goto yy531; + goto yy475; + } + } else { + if (yych <= '9') { + if (yych <= '.') goto yy531; + if (yych <= '/') goto yy475; + goto yy533; + } else { + if (yych == 'I') goto yy539; + goto yy475; + } + } +yy567: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; + goto yy600; + } else { + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy614; + if (yych <= ':') goto yy492; + goto yy490; + } +yy568: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; + if (yych <= '.') goto yy600; + goto yy490; + } else { + if (yych <= '2') goto yy614; + if (yych <= '9') goto yy613; + if (yych <= ':') goto yy492; + goto yy490; + } +yy569: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; + goto yy600; + } else { + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy613; + if (yych <= ':') goto yy492; + goto yy490; + } +yy570: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; + goto yy600; + } else { + if (yych == ':') goto yy492; + goto yy490; + } +yy571: + yych = *++YYCURSOR; + if (yych == 'E') goto yy594; + if (yych == 'e') goto yy594; + goto yy56; +yy572: + yych = *++YYCURSOR; + if (yych == 'A') goto yy591; + if (yych == 'a') goto yy591; + goto yy56; +yy573: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy549; + if (yych <= 'T') goto yy56; + goto yy548; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy549; + } else { + if (yych == 'u') goto yy548; + goto yy56; + } + } +yy574: + yych = *++YYCURSOR; + if (yych == 'E') goto yy584; + if (yych == 'e') goto yy584; + goto yy56; +yy575: + yych = *++YYCURSOR; + if (yych == 'E') goto yy578; + if (yych == 'e') goto yy578; + goto yy56; +yy576: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy577: + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy576; + case 'A': + case 'a': goto yy573; + case 'D': + case 'd': goto yy575; + case 'F': + case 'f': goto yy571; + case 'I': goto yy474; + case 'J': + case 'j': goto yy478; + case 'M': + case 'm': goto yy572; + case 'N': + case 'n': goto yy481; + case 'O': + case 'o': goto yy480; + case 'S': + case 's': goto yy574; + case 'V': goto yy476; + case 'X': goto yy477; + default: goto yy56; + } +yy578: + yych = *++YYCURSOR; + if (yych == 'C') goto yy579; + if (yych != 'c') goto yy56; +yy579: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'E') goto yy580; + if (yych != 'e') goto yy475; + } + } +yy580: + yych = *++YYCURSOR; + if (yych == 'M') goto yy581; + if (yych != 'm') goto yy56; +yy581: + yych = *++YYCURSOR; + if (yych == 'B') goto yy582; + if (yych != 'b') goto yy56; +yy582: + yych = *++YYCURSOR; + if (yych == 'E') goto yy583; + if (yych != 'e') goto yy56; +yy583: + yych = *++YYCURSOR; + if (yych == 'R') goto yy539; + if (yych == 'r') goto yy539; + goto yy56; +yy584: + yych = *++YYCURSOR; + if (yych == 'P') goto yy585; + if (yych != 'p') goto yy56; +yy585: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; + } + } else { + if (yych <= 'S') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'T') goto yy586; + if (yych != 't') goto yy475; + } + } +yy586: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'E') goto yy587; + if (yych != 'e') goto yy475; + } + } +yy587: + yych = *++YYCURSOR; + if (yych == 'M') goto yy588; + if (yych != 'm') goto yy56; +yy588: + yych = *++YYCURSOR; + if (yych == 'B') goto yy589; + if (yych != 'b') goto yy56; +yy589: + yych = *++YYCURSOR; + if (yych == 'E') goto yy590; + if (yych != 'e') goto yy56; +yy590: + yych = *++YYCURSOR; + if (yych == 'R') goto yy539; + if (yych == 'r') goto yy539; + goto yy56; +yy591: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'R') goto yy592; + if (yych <= 'X') goto yy56; + goto yy539; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + } else { + if (yych == 'y') goto yy539; + goto yy56; + } + } +yy592: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; + } + } else { + if (yych <= 'B') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'C') goto yy593; + if (yych != 'c') goto yy475; + } + } +yy593: + yych = *++YYCURSOR; + if (yych == 'H') goto yy539; + if (yych == 'h') goto yy539; + goto yy56; +yy594: + yych = *++YYCURSOR; + if (yych == 'B') goto yy595; + if (yych != 'b') goto yy56; +yy595: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; + } + } else { + if (yych <= 'Q') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'R') goto yy596; + if (yych != 'r') goto yy475; + } + } +yy596: + yych = *++YYCURSOR; + if (yych == 'U') goto yy597; + if (yych != 'u') goto yy56; +yy597: + yych = *++YYCURSOR; + if (yych == 'A') goto yy598; + if (yych != 'a') goto yy56; +yy598: + yych = *++YYCURSOR; + if (yych == 'R') goto yy599; + if (yych != 'r') goto yy56; +yy599: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy539; + if (yych == 'y') goto yy539; + goto yy56; +yy600: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy607; + if (yych <= '6') goto yy608; + if (yych <= '9') goto yy609; + goto yy56; +yy601: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy603: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy604: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; +#line 1308 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("pointed date YYYY"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->d = timelib_get_nr((char **) &ptr, 2); + s->time->m = timelib_get_nr((char **) &ptr, 2); + s->time->y = timelib_get_nr((char **) &ptr, 4); + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL_POINTED; + } +#line 10352 "" +yy607: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy496; + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy612; + goto yy490; +yy608: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy496; + goto yy490; + } else { + if (yych <= '0') goto yy612; + if (yych <= '9') goto yy610; + goto yy490; + } +yy609: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy496; + if (yych <= '/') goto yy490; + if (yych >= ':') goto yy490; +yy610: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy611; + if (yych <= '9') goto yy604; +yy611: +#line 1320 "ext/date/lib/parse_date.re" + { + 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; + } +#line 10396 "" +yy612: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= ' ') { + if (yych == '\t') goto yy500; + if (yych <= 0x1F) goto yy490; + goto yy500; + } else { + if (yych == '.') goto yy496; + if (yych <= '/') goto yy490; + goto yy604; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy502; + if (yych <= 'O') goto yy490; + goto yy502; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy490; + goto yy502; + } else { + if (yych == 'p') goto yy502; + goto yy490; + } + } + } +yy613: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy507; + if (yych <= 0x1F) goto yy490; + goto yy507; + } else { + if (yych == '.') goto yy492; + if (yych <= '9') goto yy490; + goto yy492; + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy509; + if (yych <= 'O') goto yy490; + goto yy509; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy490; + goto yy509; + } else { + if (yych == 'p') goto yy509; + goto yy490; + } + } + } +yy614: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy507; + if (yych <= 0x1F) goto yy490; + goto yy507; + } else { + if (yych <= '-') { + if (yych <= ',') goto yy490; + goto yy601; + } else { + if (yych <= '.') goto yy600; + if (yych <= '9') goto yy490; + goto yy492; + } + } + } else { + if (yych <= 'P') { + if (yych == 'A') goto yy509; + if (yych <= 'O') goto yy490; + goto yy509; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy490; + goto yy509; + } else { + if (yych == 'p') goto yy509; + goto yy490; + } + } + } +yy615: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy654; + goto yy601; + } else { + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy617; + goto yy56; + } +yy616: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy654; + goto yy601; + } else { + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; + } +yy617: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy654; + if (yych <= '.') goto yy601; + goto yy56; +yy618: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy650; + if (yych <= 'T') goto yy56; + goto yy649; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy650; + } else { + if (yych == 'u') goto yy649; + goto yy56; + } + } +yy619: + yych = *++YYCURSOR; + if (yych == 'E') goto yy647; + if (yych == 'e') goto yy647; + goto yy56; +yy620: + yych = *++YYCURSOR; + if (yych == 'A') goto yy644; + if (yych == 'a') goto yy644; + goto yy56; +yy621: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy641; + if (yych <= 'T') goto yy56; + goto yy640; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy641; + } else { + if (yych == 'u') goto yy640; + goto yy56; + } + } +yy622: + yych = *++YYCURSOR; + if (yych == 'E') goto yy637; + if (yych == 'e') goto yy637; + goto yy56; +yy623: + yych = *++YYCURSOR; + if (yych == 'C') goto yy635; + if (yych == 'c') goto yy635; + goto yy56; +yy624: + yych = *++YYCURSOR; + if (yych == 'O') goto yy633; + if (yych == 'o') goto yy633; + goto yy56; +yy625: + yych = *++YYCURSOR; + if (yych == 'E') goto yy626; + if (yych != 'e') goto yy56; +yy626: + yych = *++YYCURSOR; + if (yych == 'C') goto yy627; + if (yych != 'c') goto yy56; +yy627: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych >= '.') goto yy531; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'E') goto yy580; + if (yych == 'e') goto yy580; + goto yy475; + } + } +yy628: + yych = *++YYCURSOR; + if (yych <= '/') goto yy532; + if (yych <= '0') goto yy629; + if (yych <= '2') goto yy630; + if (yych <= '3') goto yy631; + goto yy532; +yy629: + yych = *++YYCURSOR; + if (yych <= '/') goto yy534; + if (yych <= '9') goto yy632; + goto yy534; +yy630: + yych = *++YYCURSOR; + if (yych <= '/') goto yy534; + if (yych <= '9') goto yy632; + goto yy534; +yy631: + yych = *++YYCURSOR; + if (yych <= '/') goto yy534; + if (yych <= '1') goto yy632; + if (yych <= '9') goto yy540; + goto yy534; +yy632: + yych = *++YYCURSOR; + if (yych <= '/') goto yy534; + if (yych <= '9') goto yy541; + goto yy534; +yy633: + yych = *++YYCURSOR; + if (yych == 'V') goto yy634; + if (yych != 'v') goto yy56; +yy634: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'E') goto yy535; + if (yych == 'e') goto yy535; + goto yy475; + } + } +yy635: + yych = *++YYCURSOR; + if (yych == 'T') goto yy636; + if (yych != 't') goto yy56; +yy636: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; + } + } else { + if (yych <= 'N') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'O') goto yy545; + if (yych == 'o') goto yy545; + goto yy475; + } + } +yy637: + yych = *++YYCURSOR; + if (yych == 'P') goto yy638; + if (yych != 'p') goto yy56; +yy638: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; + } + } else { + if (yych <= 'S') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'T') goto yy639; + if (yych != 't') goto yy475; + } + } +yy639: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'E') goto yy587; + if (yych == 'e') goto yy587; + goto yy475; + } + } +yy640: + yych = *++YYCURSOR; + if (yych == 'G') goto yy643; + if (yych == 'g') goto yy643; + goto yy56; +yy641: + yych = *++YYCURSOR; + if (yych == 'R') goto yy642; + if (yych != 'r') goto yy56; +yy642: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; + } + } else { + if (yych <= 'H') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'I') goto yy551; + if (yych == 'i') goto yy551; + goto yy475; + } + } +yy643: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; + } + } else { + if (yych <= 'T') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'U') goto yy553; + if (yych == 'u') goto yy553; + goto yy475; + } + } +yy644: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'R') goto yy645; + if (yych <= 'X') goto yy56; + goto yy646; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + } else { + if (yych == 'y') goto yy646; + goto yy56; + } + } +yy645: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; + } + } else { + if (yych <= 'B') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'C') goto yy593; + if (yych == 'c') goto yy593; + goto yy475; + } + } +yy646: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy475; + goto yy531; + } else { + if (yych == ' ') goto yy531; + goto yy475; + } + } else { + if (yych <= '.') { + if (yych <= '-') goto yy628; + goto yy531; + } else { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } + } +yy647: + yych = *++YYCURSOR; + if (yych == 'B') goto yy648; + if (yych != 'b') goto yy56; +yy648: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; + } + } else { + if (yych <= 'Q') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'R') goto yy596; + if (yych == 'r') goto yy596; + goto yy475; + } + } +yy649: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy653; + if (yych <= 'M') goto yy56; + goto yy652; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy653; + } else { + if (yych == 'n') goto yy652; + goto yy56; + } + } +yy650: + yych = *++YYCURSOR; + if (yych == 'N') goto yy651; + if (yych != 'n') goto yy56; +yy651: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; + } + } else { + if (yych <= 'T') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'U') goto yy558; + if (yych == 'u') goto yy558; + goto yy475; + } + } +yy652: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; + } + } else { + if (yych <= 'D') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'E') goto yy539; + if (yych == 'e') goto yy539; + goto yy475; + } + } +yy653: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy531; + goto yy475; + } else { + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; + } + } else { + if (yych <= 'X') { + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; + } else { + if (yych <= 'Y') goto yy539; + if (yych == 'y') goto yy539; + goto yy475; + } + } +yy654: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy655; + if (yych <= '3') goto yy657; + if (yych <= '9') goto yy658; + goto yy56; +yy655: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy664; + if (yych >= 'n') goto yy660; + } else { + if (yych <= 'r') { + if (yych >= 'r') goto yy661; + } else { + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + } + } +yy656: +#line 1279 "ext/date/lib/parse_date.re" + { + 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; + } +#line 11005 "" +yy657: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '1') { + if (yych <= '/') goto yy656; + goto yy664; + } else { + if (yych <= '9') goto yy603; + if (yych <= 'm') goto yy656; + goto yy660; + } + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy656; + goto yy661; + } else { + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; + } + } +yy658: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy603; + if (yych <= 'm') goto yy656; + goto yy660; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy656; + goto yy661; + } else { + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; + } + } +yy659: + yych = *++YYCURSOR; + if (yych == 't') goto yy663; + goto yy56; +yy660: + yych = *++YYCURSOR; + if (yych == 'd') goto yy663; + goto yy56; +yy661: + yych = *++YYCURSOR; + if (yych == 'd') goto yy663; + goto yy56; +yy662: + yych = *++YYCURSOR; + if (yych != 'h') goto yy56; +yy663: + yych = *++YYCURSOR; + goto yy656; +yy664: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy604; + if (yych <= 'm') goto yy656; + goto yy660; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy656; + goto yy661; + } else { + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; + } + } +yy665: + yyaccept = 14; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') { + if (yych >= '/') goto yy722; + } else { + if (yych <= '9') goto yy668; + if (yych >= 'n') goto yy719; + } + } else { + if (yych <= 'r') { + if (yych >= 'r') goto yy720; + } else { + if (yych <= 's') goto yy718; + if (yych <= 't') goto yy721; + } + } +yy666: +#line 1223 "ext/date/lib/parse_date.re" + { + 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; + } +#line 11116 "" +yy667: + yyaccept = 14; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') { + if (yych <= '.') goto yy666; + goto yy722; + } else { + if (yych <= '1') goto yy668; + if (yych <= 'm') goto yy666; + goto yy719; + } + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy666; + goto yy720; + } else { + if (yych <= 's') goto yy718; + if (yych <= 't') goto yy721; + goto yy666; + } + } +yy668: + yyaccept = 14; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych == '/') goto yy722; + if (yych <= 'm') goto yy666; + goto yy719; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy666; + goto yy720; + } else { + if (yych <= 's') goto yy718; + if (yych <= 't') goto yy721; + goto yy666; + } + } +yy669: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy717; + if (yych <= 'T') goto yy56; + goto yy716; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy717; + } else { + if (yych == 'u') goto yy716; + goto yy56; + } + } +yy670: + yych = *++YYCURSOR; + if (yych == 'E') goto yy715; + if (yych == 'e') goto yy715; + goto yy56; +yy671: + yych = *++YYCURSOR; + if (yych == 'A') goto yy714; + if (yych == 'a') goto yy714; + goto yy56; +yy672: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy713; + if (yych <= 'T') goto yy56; + goto yy712; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy713; + } else { + if (yych == 'u') goto yy712; + goto yy56; + } + } +yy673: + yych = *++YYCURSOR; + if (yych == 'E') goto yy710; + if (yych == 'e') goto yy710; + goto yy56; +yy674: + yych = *++YYCURSOR; + if (yych == 'C') goto yy709; + if (yych == 'c') goto yy709; + goto yy56; +yy675: + yych = *++YYCURSOR; + if (yych == 'O') goto yy708; + if (yych == 'o') goto yy708; + goto yy56; +yy676: + yych = *++YYCURSOR; + if (yych == 'E') goto yy677; + if (yych != 'e') goto yy56; +yy677: + yych = *++YYCURSOR; + if (yych == 'C') goto yy678; + if (yych != 'c') goto yy56; +yy678: + yych = *++YYCURSOR; + if (yych != '/') goto yy56; +yy679: + 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 yy685; + if (yych <= '2') goto yy686; + goto yy56; +yy685: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy687; + goto yy56; +yy686: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '5') goto yy56; +yy687: + 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 yy692; + if (yych <= '6') goto yy693; + goto yy56; +yy692: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy694; + goto yy56; +yy693: + yych = *++YYCURSOR; + if (yych != '0') goto yy56; +yy694: + yych = *++YYCURSOR; + if (yych == '\t') goto yy695; + if (yych != ' ') goto yy56; +yy695: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; + if (yych <= '*') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy695; + } else { + if (yych == ' ') goto yy695; + goto yy56; + } + } else { + if (yych <= '-') { + if (yych == ',') goto yy56; + goto yy698; + } else { + if (yych != 'G') goto yy56; + } + } + yych = *++YYCURSOR; + if (yych == 'M') goto yy706; + goto yy56; +yy698: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy699; + if (yych <= '2') goto yy701; + if (yych <= '9') goto yy702; + goto yy56; +yy699: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '/') goto yy700; + if (yych <= '9') goto yy702; + if (yych <= ':') goto yy703; +yy700: +#line 1506 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("clf"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + TIMELIB_HAVE_DATE(); + s->time->d = timelib_get_nr((char **) &ptr, 2); + s->time->m = timelib_get_month((char **) &ptr); + s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + s->time->s = timelib_get_nr((char **) &ptr, 2); + s->time->z = timelib_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; + } +#line 11335 "" +yy701: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy700; + if (yych >= '5') goto yy704; + } else { + if (yych <= '9') goto yy705; + if (yych <= ':') goto yy703; + goto yy700; + } +yy702: + yych = *++YYCURSOR; + if (yych <= '/') goto yy700; + if (yych <= '5') goto yy704; + if (yych <= '9') goto yy705; + if (yych >= ';') goto yy700; +yy703: + yych = *++YYCURSOR; + if (yych <= '/') goto yy700; + if (yych <= '5') goto yy704; + if (yych <= '9') goto yy705; + goto yy700; +yy704: + yych = *++YYCURSOR; + if (yych <= '/') goto yy700; + if (yych >= ':') goto yy700; +yy705: + yych = *++YYCURSOR; + goto yy700; +yy706: + yych = *++YYCURSOR; + if (yych != 'T') goto yy56; + yych = *++YYCURSOR; + if (yych == '+') goto yy698; + if (yych == '-') goto yy698; + goto yy56; +yy708: + yych = *++YYCURSOR; + if (yych == 'V') goto yy678; + if (yych == 'v') goto yy678; + goto yy56; +yy709: + yych = *++YYCURSOR; + if (yych == 'T') goto yy678; + if (yych == 't') goto yy678; + goto yy56; +yy710: + yych = *++YYCURSOR; + if (yych == 'P') goto yy711; + if (yych != 'p') goto yy56; +yy711: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == '/') goto yy679; + goto yy56; + } else { + if (yych <= 'T') goto yy678; + if (yych == 't') goto yy678; + goto yy56; + } +yy712: + yych = *++YYCURSOR; + if (yych == 'G') goto yy678; + if (yych == 'g') goto yy678; + goto yy56; +yy713: + yych = *++YYCURSOR; + if (yych == 'R') goto yy678; + if (yych == 'r') goto yy678; + goto yy56; +yy714: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'R') goto yy678; + if (yych <= 'X') goto yy56; + goto yy678; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy56; + goto yy678; + } else { + if (yych == 'y') goto yy678; + goto yy56; + } + } +yy715: + yych = *++YYCURSOR; + if (yych == 'B') goto yy678; + if (yych == 'b') goto yy678; + goto yy56; +yy716: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych == 'L') goto yy678; + if (yych <= 'M') goto yy56; + goto yy678; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy678; + } else { + if (yych == 'n') goto yy678; + goto yy56; + } + } +yy717: + yych = *++YYCURSOR; + if (yych == 'N') goto yy678; + if (yych == 'n') goto yy678; + goto yy56; +yy718: + yych = *++YYCURSOR; + if (yych == 't') goto yy727; + goto yy56; +yy719: + yych = *++YYCURSOR; + if (yych == 'd') goto yy727; + goto yy56; +yy720: + yych = *++YYCURSOR; + if (yych == 'd') goto yy727; + goto yy56; +yy721: + yych = *++YYCURSOR; + if (yych == 'h') goto yy727; + goto yy56; +yy722: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy666; + if (yych >= ':') goto yy666; + yych = *++YYCURSOR; + if (yych <= '/') goto yy666; + if (yych >= ':') goto yy666; + yych = *++YYCURSOR; + if (yych <= '/') goto yy666; + if (yych >= ':') goto yy666; + yych = *++YYCURSOR; + goto yy666; +yy727: + yyaccept = 14; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '/') goto yy722; + goto yy666; +yy728: + yych = *++YYCURSOR; + if (yych <= ',') { + if (yych == '\t') goto yy730; + goto yy577; + } else { + if (yych <= '-') goto yy731; + if (yych <= '.') goto yy730; + if (yych >= '0') goto yy577; + } +yy729: + yych = *++YYCURSOR; + switch (yych) { + case 'A': + case 'a': goto yy672; + case 'D': + case 'd': goto yy676; + case 'F': + case 'f': goto yy670; + case 'J': + case 'j': goto yy669; + case 'M': + case 'm': goto yy671; + case 'N': + case 'n': goto yy675; + case 'O': + case 'o': goto yy674; + case 'S': + case 's': goto yy673; + default: goto yy56; + } +yy730: + yych = *++YYCURSOR; + if (yych <= '/') goto yy577; + if (yych <= '0') goto yy735; + if (yych <= '1') goto yy736; + if (yych <= '9') goto yy737; + goto yy577; +yy731: + yych = *++YYCURSOR; + if (yych <= '/') goto yy577; + if (yych <= '0') goto yy732; + if (yych <= '1') goto yy733; + if (yych <= '9') goto yy734; + goto yy577; +yy732: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '.') goto yy601; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy734; + goto yy56; +yy733: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '.') goto yy601; + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; +yy734: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '.') goto yy601; + goto yy56; +yy735: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy601; + goto yy738; + } else { + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy737; + goto yy56; + } +yy736: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy601; + goto yy738; + } else { + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; + } +yy737: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy601; + if (yych >= '/') goto yy56; +yy738: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy610; + goto yy56; +yy740: + yych = *++YYCURSOR; + if (yych == '-') goto yy784; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy782; + goto yy60; +yy741: + 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 yy752; + case 'A': + case 'a': goto yy745; + case 'D': + case 'd': goto yy749; + case 'F': + case 'f': goto yy743; + case 'J': + case 'j': goto yy742; + case 'M': + case 'm': goto yy744; + case 'N': + case 'n': goto yy748; + case 'O': + case 'o': goto yy747; + case 'S': + case 's': goto yy746; + default: goto yy56; + } +yy742: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy781; + if (yych <= 'T') goto yy56; + goto yy780; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy781; + } else { + if (yych == 'u') goto yy780; + goto yy56; + } + } +yy743: + yych = *++YYCURSOR; + if (yych == 'E') goto yy779; + if (yych == 'e') goto yy779; + goto yy56; +yy744: + yych = *++YYCURSOR; + if (yych == 'A') goto yy778; + if (yych == 'a') goto yy778; + goto yy56; +yy745: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy777; + if (yych <= 'T') goto yy56; + goto yy776; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy777; + } else { + if (yych == 'u') goto yy776; + goto yy56; + } + } +yy746: + yych = *++YYCURSOR; + if (yych == 'E') goto yy774; + if (yych == 'e') goto yy774; + goto yy56; +yy747: + yych = *++YYCURSOR; + if (yych == 'C') goto yy773; + if (yych == 'c') goto yy773; + goto yy56; +yy748: + yych = *++YYCURSOR; + if (yych == 'O') goto yy772; + if (yych == 'o') goto yy772; + goto yy56; +yy749: + yych = *++YYCURSOR; + if (yych == 'E') goto yy764; + if (yych == 'e') goto yy764; + goto yy56; +yy750: + yych = *++YYCURSOR; + if (yych == '-') goto yy753; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy757; + goto yy56; +yy751: + yych = *++YYCURSOR; + if (yych == '-') goto yy753; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy757; + goto yy56; +yy752: + yych = *++YYCURSOR; + if (yych != '-') goto yy56; +yy753: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy754; + if (yych <= '3') goto yy755; + if (yych <= '9') goto yy756; + goto yy56; +yy754: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy756; + if (yych <= 'm') goto yy656; + goto yy660; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy656; + goto yy661; + } else { + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; + } + } +yy755: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy656; + if (yych <= '1') goto yy756; + if (yych <= 'm') goto yy656; + goto yy660; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy656; + goto yy661; + } else { + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; + } + } +yy756: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'q') { + if (yych == 'n') goto yy660; + goto yy656; + } else { + if (yych <= 'r') goto yy661; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; + } +yy757: + yych = *++YYCURSOR; + if (yych != '-') goto yy56; + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych >= '1') goto yy760; + } else { + if (yych <= '3') goto yy761; + if (yych <= '9') goto yy756; + goto yy56; + } + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy762; + if (yych <= 'm') goto yy656; + goto yy660; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy656; + goto yy661; + } else { + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; + } + } +yy760: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy762; + if (yych <= 'm') goto yy656; + goto yy660; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy656; + goto yy661; + } else { + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; + } + } +yy761: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy656; + if (yych <= '1') goto yy762; + if (yych <= 'm') goto yy656; + goto yy660; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy656; + goto yy661; + } else { + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; + } + } +yy762: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'q') { + if (yych == 'n') goto yy660; + } else { + if (yych <= 'r') goto yy661; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + } +yy763: +#line 1251 "ext/date/lib/parse_date.re" + { + 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; + } +#line 11835 "" +yy764: + yych = *++YYCURSOR; + if (yych == 'C') goto yy765; + if (yych != 'c') goto yy56; +yy765: + yych = *++YYCURSOR; + if (yych != '-') goto yy56; +yy766: yych = *++YYCURSOR; - if (yych == 'G') goto yy555; - if (yych == 'g') goto yy555; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy767; + if (yych <= '2') goto yy768; + if (yych <= '3') goto yy769; goto yy56; -yy384: +yy767: yych = *++YYCURSOR; - if (yych == 'C') goto yy555; - if (yych == 'c') goto yy555; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy770; goto yy56; -yy385: +yy768: yych = *++YYCURSOR; - if (yych == 'B') goto yy555; - if (yych == 'b') goto yy555; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy770; goto yy56; -yy386: +yy769: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '2') goto yy56; +yy770: + ++YYCURSOR; +#line 1492 "ext/date/lib/parse_date.re" + { + 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; + } +#line 11879 "" +yy772: yych = *++YYCURSOR; - if (yych == 'N') goto yy555; - if (yych == 'n') goto yy555; + if (yych == 'V') goto yy765; + if (yych == 'v') goto yy765; goto yy56; -yy387: +yy773: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy555; - if (yych <= 'M') goto yy56; - goto yy555; + if (yych == 'T') goto yy765; + if (yych == 't') goto yy765; + goto yy56; +yy774: + yych = *++YYCURSOR; + if (yych == 'P') goto yy775; + if (yych != 'p') goto yy56; +yy775: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == '-') goto yy766; + goto yy56; } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy56; - goto yy555; - } else { - if (yych == 'n') goto yy555; - goto yy56; - } + if (yych <= 'T') goto yy765; + if (yych == 't') goto yy765; + goto yy56; } -yy388: +yy776: + yych = *++YYCURSOR; + if (yych == 'G') goto yy765; + if (yych == 'g') goto yy765; + goto yy56; +yy777: + yych = *++YYCURSOR; + if (yych == 'R') goto yy765; + if (yych == 'r') goto yy765; + goto yy56; +yy778: yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy555; + if (yych == 'R') goto yy765; if (yych <= 'X') goto yy56; - goto yy555; + goto yy765; } else { if (yych <= 'r') { if (yych <= 'q') goto yy56; - goto yy555; + goto yy765; } else { - if (yych == 'y') goto yy555; + if (yych == 'y') goto yy765; goto yy56; } } -yy389: - yych = *++YYCURSOR; - if (yych == 'V') goto yy555; - if (yych == 'v') goto yy555; - goto yy56; -yy390: - yych = *++YYCURSOR; - if (yych == 'T') goto yy555; - if (yych == 't') goto yy555; - goto yy56; -yy391: +yy779: yych = *++YYCURSOR; - if (yych == 'P') goto yy556; - if (yych == 'p') goto yy556; + if (yych == 'B') goto yy765; + if (yych == 'b') goto yy765; goto yy56; -yy392: - yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy374; - goto yy372; - } else { - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy557; - goto yy56; - } -yy393: +yy780: yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy374; - goto yy372; + if (yych <= 'N') { + if (yych == 'L') goto yy765; + if (yych <= 'M') goto yy56; + goto yy765; } else { - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy557; - goto yy56; + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy765; + } else { + if (yych == 'n') goto yy765; + goto yy56; + } } -yy394: +yy781: yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy558; - case '1': goto yy559; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy434; - case 'A': - case 'a': goto yy435; - case 'D': - case 'd': goto yy436; - case 'F': - case 'f': goto yy437; - case 'J': - case 'j': goto yy438; - case 'M': - case 'm': goto yy439; - case 'N': - case 'n': goto yy440; - case 'O': - case 'o': goto yy441; - case 'S': - case 's': goto yy442; - default: goto yy56; - } -yy395: - yyaccept = 11; + if (yych == 'N') goto yy765; + if (yych == 'n') goto yy765; + goto yy56; +yy782: + yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\t': @@ -9328,10939 +11981,11174 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 's': case 't': case 'w': - case 'y': goto yy561; - case '-': goto yy562; - case '.': goto yy563; - case '/': goto yy564; - case '0': goto yy565; - case '1': goto yy566; - case '2': goto yy567; - case '3': goto yy568; + case 'y': goto yy790; + case '-': goto yy787; + case '.': goto yy791; + case '/': goto yy788; + case '0': goto yy804; + case '1': goto yy805; + case '2': goto yy807; + case '3': goto yy808; case '4': - case '5': goto yy569; - case '6': goto yy570; + case '5': + case '6': case '7': case '8': - case '9': goto yy57; - case ':': goto yy571; - case 'W': goto yy583; - default: goto yy396; + case '9': goto yy54; + case ':': goto yy806; + case 'W': goto yy809; + default: goto yy783; } -yy396: -#line 1157 "ext/date/lib/parse_date.re" +yy783: +#line 1527 "ext/date/lib/parse_date.re" { - DEBUG_OUTPUT("gnunocolon"); + DEBUG_OUTPUT("year4"); 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++; + s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; - return TIMELIB_GNU_NOCOLON; + return TIMELIB_CLF; } -#line 9373 "" -yy397: - yyaccept = 12; - yych = *(YYMARKER = ++YYCURSOR); +#line 12012 "" +yy784: + yych = *++YYCURSOR; switch (yych) { - case '\t': - case ' ': + case '0': goto yy785; + case '1': goto yy786; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy752; case 'A': + case 'a': goto yy745; case 'D': + case 'd': goto yy749; case 'F': - case 'H': - case 'I': + case 'f': goto yy743; case 'J': + case 'j': goto yy742; case 'M': + case 'm': goto yy744; case 'N': + case 'n': goto yy748; case 'O': + case 'o': goto yy747; case 'S': - case 'T': - case 'V': - case 'X': - case 'Y': - case 'a': - case 'd': - case 'f': - case 'h': - case 'j': - case 'm': - case 'n': - case 'o': - case 's': - case 't': - case 'w': - case 'y': goto yy561; - case '-': goto yy562; - case '.': goto yy563; - case '/': goto yy564; - case '0': goto yy585; - case '1': goto yy586; - case '2': goto yy587; - case '3': goto yy588; + case 's': goto yy746; + default: goto yy56; + } +yy785: + yych = *++YYCURSOR; + if (yych == '-') goto yy753; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy752; + goto yy56; +yy786: + yych = *++YYCURSOR; + if (yych == '-') goto yy753; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy752; + goto yy56; +yy787: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy972; + case '1': goto yy974; + case '2': + case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy57; - case ':': goto yy571; - case 'W': goto yy583; - default: goto yy398; + case '9': goto yy975; + case 'A': + case 'a': goto yy966; + case 'D': + case 'd': goto yy970; + case 'F': + case 'f': goto yy964; + case 'J': + case 'j': goto yy963; + case 'M': + case 'm': goto yy965; + case 'N': + case 'n': goto yy969; + case 'O': + case 'o': goto yy968; + case 'S': + case 's': goto yy967; + case 'W': goto yy971; + default: goto yy938; } -yy398: -#line 1527 "ext/date/lib/parse_date.re" +yy788: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy946; + if (yych <= '1') goto yy947; + if (yych <= '9') goto yy948; + goto yy56; +yy789: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy790: + switch (yych) { + case '\t': + case ' ': goto yy789; + case '-': + case '.': goto yy937; + case 'A': + case 'a': goto yy799; + case 'D': + case 'd': goto yy803; + case 'F': + case 'f': goto yy797; + case 'H': + case 'h': goto yy63; + case 'I': goto yy792; + case 'J': + case 'j': goto yy796; + case 'M': + case 'm': goto yy798; + case 'N': + case 'n': goto yy802; + case 'O': + case 'o': goto yy801; + case 'S': + case 's': goto yy800; + case 'T': + case 't': goto yy68; + case 'V': goto yy794; + case 'W': + case 'w': goto yy67; + case 'X': goto yy795; + case 'Y': + case 'y': goto yy66; + default: goto yy56; + } +yy791: + yych = *++YYCURSOR; + if (yych <= '/') goto yy938; + if (yych <= '0') goto yy930; + if (yych <= '2') goto yy931; + if (yych <= '3') goto yy932; + goto yy938; +yy792: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= 'U') { + if (yych == 'I') goto yy929; + } else { + if (yych == 'W') goto yy793; + if (yych <= 'X') goto yy883; + } +yy793: +#line 1348 "ext/date/lib/parse_date.re" { - DEBUG_OUTPUT("year4"); + int length = 0; + DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; - s->time->y = timelib_get_nr((char **) &ptr, 4); + 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_CLF; + return TIMELIB_DATE_NO_DAY; + } +#line 12163 "" +yy794: + yych = *++YYCURSOR; + if (yych == 'I') goto yy927; + goto yy793; +yy795: + yych = *++YYCURSOR; + if (yych == 'I') goto yy926; + goto yy793; +yy796: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy919; + if (yych <= 'T') goto yy56; + goto yy918; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy919; + } else { + if (yych == 'u') goto yy918; + goto yy56; + } } -#line 9432 "" -yy399: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy237; - goto yy78; +yy797: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= 'N') { + if (yych == 'E') goto yy912; + goto yy56; } else { - if (yych <= ' ') goto yy237; - if (yych <= ',') goto yy78; - goto yy237; + if (yych <= 'O') goto yy98; + if (yych <= 'Q') goto yy56; + goto yy97; } } else { + if (yych <= 'n') { + if (yych == 'e') goto yy912; + goto yy56; + } else { + if (yych <= 'o') goto yy98; + if (yych == 'r') goto yy97; + goto yy56; + } + } +yy798: + yych = *++YYCURSOR; + if (yych <= 'O') { if (yych <= 'H') { - if (yych <= '/') goto yy78; - if (yych <= '9') goto yy239; - goto yy78; + if (yych == 'A') goto yy909; + goto yy56; + } else { + if (yych <= 'I') goto yy117; + if (yych <= 'N') goto yy56; + goto yy116; + } + } else { + if (yych <= 'h') { + if (yych == 'a') goto yy909; + goto yy56; } else { - if (yych <= 'I') goto yy589; - if (yych == 'i') goto yy589; - goto yy78; + if (yych <= 'i') goto yy117; + if (yych == 'o') goto yy116; + goto yy56; } } -yy400: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy237; - goto yy78; +yy799: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy903; + if (yych <= 'T') goto yy56; + goto yy902; + } else { + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy903; } else { - if (yych <= ' ') goto yy237; - if (yych <= ',') goto yy78; - goto yy237; + if (yych == 'u') goto yy902; + goto yy56; + } + } +yy800: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych == 'A') goto yy126; + goto yy56; + } else { + if (yych <= 'E') goto yy895; + if (yych <= 'T') goto yy56; + goto yy125; } } else { - if (yych <= 'T') { - if (yych <= '/') goto yy78; - if (yych <= '9') goto yy239; - goto yy78; + if (yych <= 'd') { + if (yych == 'a') goto yy126; + goto yy56; } else { - if (yych <= 'U') goto yy590; - if (yych == 'u') goto yy590; - goto yy78; + if (yych <= 'e') goto yy895; + if (yych == 'u') goto yy125; + goto yy56; } } -yy401: +yy801: + yych = *++YYCURSOR; + if (yych == 'C') goto yy890; + if (yych == 'c') goto yy890; + goto yy56; +yy802: + yych = *++YYCURSOR; + if (yych == 'O') goto yy884; + if (yych == 'o') goto yy884; + goto yy56; +yy803: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych == 'A') goto yy113; + if (yych <= 'D') goto yy56; + goto yy877; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy113; + } else { + if (yych == 'e') goto yy877; + goto yy56; + } + } +yy804: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy874; + if (yych <= '9') goto yy875; + goto yy60; +yy805: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '2') goto yy843; + if (yych <= '9') goto yy822; + goto yy60; +yy806: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy823; + if (yych <= '1') goto yy824; + goto yy56; +yy807: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy822; + goto yy60; +yy808: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '5') goto yy818; + if (yych <= '6') goto yy819; + if (yych <= '9') goto yy54; + goto yy60; +yy809: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy810; + if (yych <= '4') goto yy811; + goto yy812; + } else { + if (yych <= 'E') { + if (yych <= 'D') goto yy56; + goto yy82; + } else { + if (yych == 'e') goto yy82; + goto yy56; + } + } +yy810: + yych = *++YYCURSOR; + if (yych <= '0') goto yy56; + if (yych <= '9') goto yy813; + goto yy56; +yy811: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy813; + goto yy56; +yy812: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '4') goto yy56; +yy813: + yyaccept = 17; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy815; + if (yych <= '/') goto yy814; + if (yych <= '7') goto yy816; +yy814: +#line 1459 "ext/date/lib/parse_date.re" + { + timelib_sll w, d; + DEBUG_OUTPUT("isoweek"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + TIMELIB_HAVE_RELATIVE(); + + s->time->y = timelib_get_nr((char **) &ptr, 4); + w = timelib_get_nr((char **) &ptr, 2); + d = 1; + s->time->m = 1; + s->time->d = 1; + s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); + + TIMELIB_DEINIT; + return TIMELIB_ISO_WEEK; + } +#line 12375 "" +yy815: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '8') goto yy56; +yy816: ++YYCURSOR; - if ((yych = *YYCURSOR) == 'S') goto yy591; - if (yych == 's') goto yy591; -yy402: -#line 1694 "ext/date/lib/parse_date.re" +#line 1440 "ext/date/lib/parse_date.re" { - timelib_ull i; - DEBUG_OUTPUT("relative"); + timelib_sll w, d; + DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; + TIMELIB_HAVE_DATE(); 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); - } + 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_RELATIVE; + return TIMELIB_ISO_WEEK; } -#line 9499 "" -yy403: - yyaccept = 3; +#line 12400 "" +yy818: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy820; + goto yy60; +yy819: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '6') goto yy820; + if (yych <= '9') goto yy54; + goto yy60; +yy820: + yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy237; - goto yy78; - } else { - if (yych <= ' ') goto yy237; - if (yych <= ',') goto yy78; - goto yy237; - } - } else { - if (yych <= 'D') { - if (yych <= '/') goto yy78; - if (yych <= '9') goto yy239; - goto yy78; - } else { - if (yych <= 'E') goto yy592; - if (yych == 'e') goto yy592; - goto yy78; - } + if (yybm[0+yych] & 2) { + goto yy54; } -yy404: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy237; - goto yy78; + if (yych <= 'W') { + 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 <= ' ') goto yy237; - if (yych <= ',') goto yy78; - goto yy237; + if (yych <= 'M') { + if (yych == 'H') goto yy60; + if (yych >= 'M') goto yy60; + } else { + if (yych <= 'R') goto yy821; + if (yych <= 'T') goto yy60; + if (yych >= 'W') goto yy60; + } } } else { - if (yych <= 'Q') { - if (yych <= '/') goto yy78; - if (yych <= '9') goto yy239; - goto yy78; + if (yych <= 'h') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych >= 'd') goto yy60; + } else { + if (yych == 'f') goto yy60; + if (yych >= 'h') goto yy60; + } } else { - if (yych <= 'R') goto yy593; - if (yych == 'r') goto yy593; - goto yy78; + if (yych <= 't') { + if (yych == 'm') goto yy60; + if (yych >= 's') goto yy60; + } else { + if (yych <= 'w') { + if (yych >= 'w') goto yy60; + } else { + if (yych == 'y') goto yy60; + } + } } } -yy405: +yy821: +#line 1426 "ext/date/lib/parse_date.re" + { + 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; + } +#line 12473 "" +yy822: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy820; + goto yy60; +yy823: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy825; + goto yy56; +yy824: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; +yy825: + yych = *++YYCURSOR; + if (yych != ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy827; + if (yych <= '2') goto yy828; + if (yych <= '3') goto yy829; + goto yy56; +yy827: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy830; + goto yy56; +yy828: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy830; + goto yy56; +yy829: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '2') goto yy56; +yy830: + yych = *++YYCURSOR; + if (yych != ' ') goto yy56; yych = *++YYCURSOR; - if (yych == 'T') goto yy594; - if (yych == 't') goto yy594; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy832; + if (yych <= '2') goto yy833; goto yy56; -yy406: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'D') goto yy595; - if (yych == 'd') goto yy595; - goto yy402; -yy407: +yy832: yych = *++YYCURSOR; - if (yych == 'R') goto yy401; - if (yych == 'r') goto yy401; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy834; goto yy56; -yy408: +yy833: yych = *++YYCURSOR; - if (yych <= '/') goto yy240; - if (yych <= '9') goto yy596; - goto yy240; -yy409: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy237; - goto yy78; - } else { - if (yych <= ' ') goto yy237; - if (yych <= ',') goto yy78; - goto yy237; + if (yych <= '/') goto yy56; + if (yych >= '5') goto yy56; +yy834: + 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 yy839; + if (yych <= '6') goto yy840; + goto yy56; +yy839: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy841; + goto yy56; +yy840: + yych = *++YYCURSOR; + if (yych != '0') goto yy56; +yy841: + ++YYCURSOR; +yy842: +#line 1400 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + TIMELIB_HAVE_DATE(); + s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->m = timelib_get_nr((char **) &ptr, 2); + s->time->d = timelib_get_nr((char **) &ptr, 2); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + s->time->s = timelib_get_nr((char **) &ptr, 2); + if (*ptr == '.') { + s->time->f = timelib_get_frac_nr((char **) &ptr, 9); + if (*ptr) { /* timezone is optional */ + s->time->z = timelib_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; + } +#line 12580 "" +yy843: + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy60; + if (yych >= '1') goto yy845; } else { - if (yych <= 'T') { - if (yych <= '/') goto yy78; - if (yych <= '9') goto yy239; - goto yy78; - } else { - if (yych <= 'U') goto yy597; - if (yych == 'u') goto yy597; - goto yy78; - } + if (yych <= '3') goto yy846; + if (yych <= '9') goto yy820; + goto yy60; } -yy410: - yyaccept = 3; +yy844: + yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy237; - goto yy78; + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy821; + goto yy60; + } else { + if (yych <= '/') goto yy821; + if (yych <= '9') goto yy847; + if (yych <= 'C') goto yy821; + goto yy60; + } } else { - if (yych <= ' ') goto yy237; - if (yych <= ',') goto yy78; - goto yy237; + if (yych <= 'H') { + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy821; + goto yy60; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy821; + goto yy60; + } else { + if (yych <= 'R') goto yy821; + if (yych <= 'T') goto yy60; + goto yy821; + } + } } } else { - if (yych <= 'X') { - if (yych <= '/') goto yy78; - if (yych <= '9') goto yy239; - goto yy78; + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy821; + if (yych <= 'Y') goto yy60; + goto yy821; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy60; + goto yy821; + } else { + if (yych == 'g') goto yy821; + goto yy60; + } + } } else { - if (yych <= 'Y') goto yy242; - if (yych == 'y') goto yy242; - goto yy78; + if (yych <= 't') { + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy821; + goto yy60; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy821; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy821; + } + } } } -yy411: - yyaccept = 3; +yy845: + yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy237; - goto yy78; + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy821; + goto yy60; + } else { + if (yych <= '/') goto yy821; + if (yych <= '9') goto yy847; + if (yych <= 'C') goto yy821; + goto yy60; + } } else { - if (yych <= ' ') goto yy237; - if (yych <= ',') goto yy78; - goto yy237; + if (yych <= 'H') { + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy821; + goto yy60; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy821; + goto yy60; + } else { + if (yych <= 'R') goto yy821; + if (yych <= 'T') goto yy60; + goto yy821; + } + } } } else { - if (yych <= 'D') { - if (yych <= '/') goto yy78; - if (yych <= '9') goto yy239; - goto yy78; + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy821; + if (yych <= 'Y') goto yy60; + goto yy821; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy60; + goto yy821; + } else { + if (yych == 'g') goto yy821; + goto yy60; + } + } } else { - if (yych <= 'E') goto yy242; - if (yych == 'e') goto yy242; - goto yy78; + if (yych <= 't') { + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy821; + goto yy60; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy821; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy821; + } + } } } -yy412: - yyaccept = 3; +yy846: + yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy237; - goto yy78; + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy821; + goto yy60; + } else { + if (yych <= '1') { + if (yych <= '/') goto yy821; + } else { + if (yych <= '9') goto yy54; + if (yych <= 'C') goto yy821; + goto yy60; + } + } } else { - if (yych <= ' ') goto yy237; - if (yych <= ',') goto yy78; - goto yy237; + if (yych <= 'H') { + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy821; + goto yy60; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy821; + goto yy60; + } else { + if (yych <= 'R') goto yy821; + if (yych <= 'T') goto yy60; + goto yy821; + } + } } } else { - if (yych <= 'B') { - if (yych <= '/') goto yy78; - if (yych <= '9') goto yy239; - goto yy78; + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy821; + if (yych <= 'Y') goto yy60; + goto yy821; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy60; + goto yy821; + } else { + if (yych == 'g') goto yy821; + goto yy60; + } + } } else { - if (yych <= 'C') goto yy598; - if (yych == 'c') goto yy598; - goto yy78; + if (yych <= 't') { + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy821; + goto yy60; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy821; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy821; + } + } } } -yy413: - yyaccept = 13; +yy847: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych == 'S') goto yy591; - if (yych <= 'T') goto yy402; - goto yy599; - } else { - if (yych <= 's') { - if (yych <= 'r') goto yy402; - goto yy591; + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych <= 'W') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy59; + if (yych >= ' ') goto yy59; + } else { + if (yych == 'D') goto yy64; + if (yych >= 'F') goto yy65; + } } else { - if (yych == 'u') goto yy599; - goto yy402; + if (yych <= 'M') { + if (yych == 'H') goto yy63; + if (yych >= 'M') goto yy62; + } else { + if (yych <= 'S') { + if (yych >= 'S') goto yy61; + } else { + if (yych <= 'T') goto yy849; + if (yych >= 'W') goto yy67; + } + } } - } -yy414: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych == 'D') goto yy595; - if (yych <= 'S') goto yy402; - goto yy600; } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy402; - goto yy595; + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy66; + if (yych >= 'd') goto yy64; + } else { + if (yych <= 'f') { + if (yych >= 'f') goto yy65; + } else { + if (yych == 'h') goto yy63; + } + } } else { - if (yych == 't') goto yy600; - goto yy402; + if (yych <= 't') { + if (yych <= 'm') goto yy62; + if (yych <= 'r') goto yy848; + if (yych <= 's') goto yy61; + goto yy850; + } else { + if (yych <= 'w') { + if (yych >= 'w') goto yy67; + } else { + if (yych == 'y') goto yy66; + } + } } } -yy415: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy237; - goto yy78; - } else { - if (yych <= ' ') goto yy237; - if (yych <= ',') goto yy78; - goto yy237; - } - } else { - if (yych <= 'N') { - if (yych <= '/') goto yy78; - if (yych <= '9') goto yy239; - goto yy78; +yy848: +#line 1388 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("datenocolon"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->y = timelib_get_nr((char **) &ptr, 4); + s->time->m = timelib_get_nr((char **) &ptr, 2); + s->time->d = timelib_get_nr((char **) &ptr, 2); + TIMELIB_DEINIT; + return TIMELIB_DATE_NOCOLON; + } +#line 12847 "" +yy849: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy864; + goto yy865; } else { - if (yych <= 'O') goto yy601; - if (yych == 'o') goto yy601; - goto yy78; + if (yych <= '9') goto yy866; + if (yych <= 'G') goto yy56; + goto yy69; } - } -yy416: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy602; - if (yych == 'u') goto yy602; - goto yy402; -yy417: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == 'O') goto yy603; - if (yych <= 'R') goto yy402; - goto yy591; } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy402; - goto yy603; + if (yych <= 'g') { + if (yych == 'U') goto yy70; + goto yy56; } else { - if (yych == 's') goto yy591; - goto yy402; + if (yych <= 'h') goto yy69; + if (yych == 'u') goto yy70; + goto yy56; } } -yy418: - yyaccept = 3; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy237; - goto yy78; +yy850: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych >= '2') goto yy852; } else { - if (yych <= ' ') goto yy237; - if (yych <= ',') goto yy78; - goto yy237; + if (yych <= '9') goto yy853; + if (yych <= 'G') goto yy56; + goto yy69; } } else { - if (yych <= 'S') { - if (yych <= '/') goto yy78; - if (yych <= '9') goto yy239; - goto yy78; + if (yych <= 'g') { + if (yych == 'U') goto yy70; + goto yy56; } else { - if (yych <= 'T') goto yy403; - if (yych == 't') goto yy403; - goto yy78; + if (yych <= 'h') goto yy69; + if (yych == 'u') goto yy70; + goto yy56; } } -yy419: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'R') goto yy604; - if (yych == 'r') goto yy604; - goto yy402; -yy420: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'S') goto yy605; - if (yych == 's') goto yy605; - goto yy402; -yy421: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'N') goto yy606; - if (yych == 'n') goto yy606; - goto yy402; -yy422: yych = *++YYCURSOR; - if (yych == 'K') goto yy607; - if (yych == 'k') goto yy607; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy858; + if (yych <= '9') goto yy853; goto yy56; -yy423: +yy852: yych = *++YYCURSOR; - if (yych <= '/') goto yy196; - if (yych <= '0') goto yy608; - if (yych <= '1') goto yy609; - if (yych <= '9') goto yy610; - goto yy196; -yy424: + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy858; + if (yych <= '5') goto yy854; + goto yy56; +yy853: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '6') goto yy56; +yy854: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy855: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy611; - if (yych <= '6') goto yy612; - if (yych <= '9') goto yy549; + if (yych <= '5') goto yy856; + if (yych <= '6') goto yy857; goto yy56; -yy425: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy613; - if (yych <= 0x1F) goto yy208; - goto yy613; - } else { - if (yych <= '-') { - if (yych <= ',') goto yy208; - goto yy372; - } else { - if (yych <= '.') goto yy424; - if (yych <= '9') goto yy208; - } - } +yy856: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy841; + goto yy56; +yy857: + yych = *++YYCURSOR; + if (yych == '0') goto yy841; + goto yy56; +yy858: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy859; + if (yych <= '9') goto yy855; + goto yy56; +yy859: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy860; + if (yych <= '6') goto yy861; + if (yych <= '9') goto yy855; + goto yy56; +yy860: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy862; + if (yych <= '6') goto yy863; + if (yych <= '9') goto yy841; + goto yy56; +yy861: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy862; + if (yych <= '5') goto yy856; + if (yych <= '6') goto yy857; + goto yy56; +yy862: + yych = *++YYCURSOR; + if (yych <= '/') goto yy842; + if (yych <= '9') goto yy841; + goto yy842; +yy863: + yych = *++YYCURSOR; + if (yych == '0') goto yy841; + goto yy842; +yy864: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy873; + if (yych <= '9') goto yy866; + if (yych <= ':') goto yy867; + goto yy56; +yy865: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy873; + goto yy854; } else { - if (yych <= 'P') { - if (yych == 'A') goto yy100; - if (yych <= 'O') goto yy208; - goto yy100; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy208; - goto yy100; - } else { - if (yych == 'p') goto yy100; - goto yy208; - } - } + if (yych == ':') goto yy867; + goto yy56; } -yy426: +yy866: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy854; + if (yych != ':') goto yy56; +yy867: + 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 yy615; - if (yych <= '6') goto yy616; - if (yych <= '9') goto yy552; + if (yych <= '5') goto yy871; + if (yych <= '6') goto yy872; goto yy56; -yy427: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy613; - if (yych <= 0x1F) goto yy208; - goto yy613; - } else { - if (yych == '.') goto yy426; - if (yych <= '9') goto yy208; - goto yy426; - } +yy871: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy841; + goto yy56; +yy872: + yych = *++YYCURSOR; + if (yych == '0') goto yy841; + goto yy56; +yy873: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy859; + if (yych <= '9') goto yy855; + if (yych <= ':') goto yy867; + goto yy56; +yy874: + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy876; + goto yy845; } else { - if (yych <= 'P') { - if (yych == 'A') goto yy100; - if (yych <= 'O') goto yy208; - goto yy100; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy208; - goto yy100; - } else { - if (yych == 'p') goto yy100; - goto yy208; - } - } + if (yych <= '3') goto yy846; + if (yych <= '9') goto yy820; + goto yy60; } -yy428: - yyaccept = 5; +yy875: + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy844; + goto yy845; + } else { + if (yych <= '3') goto yy846; + if (yych <= '9') goto yy820; + goto yy60; + } +yy876: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy847; + goto yy60; +yy877: + yych = *++YYCURSOR; + if (yych == 'C') goto yy878; + if (yych != 'c') goto yy56; +yy878: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy613; - if (yych <= 0x1F) goto yy208; - goto yy613; - } else { - if (yych == '.') goto yy426; - if (yych <= '9') goto yy208; - goto yy617; - } + if (yych == 'E') goto yy879; + if (yych != 'e') goto yy793; +yy879: + yych = *++YYCURSOR; + if (yych == 'M') goto yy880; + if (yych != 'm') goto yy56; +yy880: + yych = *++YYCURSOR; + if (yych == 'B') goto yy881; + if (yych != 'b') goto yy56; +yy881: + yych = *++YYCURSOR; + if (yych == 'E') goto yy882; + if (yych != 'e') goto yy56; +yy882: + yych = *++YYCURSOR; + if (yych == 'R') goto yy883; + if (yych != 'r') goto yy56; +yy883: + yych = *++YYCURSOR; + goto yy793; +yy884: + yych = *++YYCURSOR; + if (yych == 'V') goto yy885; + if (yych != 'v') goto yy56; +yy885: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'E') goto yy886; + if (yych != 'e') goto yy793; +yy886: + yych = *++YYCURSOR; + if (yych == 'M') goto yy887; + if (yych != 'm') goto yy56; +yy887: + yych = *++YYCURSOR; + if (yych == 'B') goto yy888; + if (yych != 'b') goto yy56; +yy888: + yych = *++YYCURSOR; + if (yych == 'E') goto yy889; + if (yych != 'e') goto yy56; +yy889: + yych = *++YYCURSOR; + if (yych == 'R') goto yy883; + if (yych == 'r') goto yy883; + goto yy56; +yy890: + yych = *++YYCURSOR; + if (yych == 'T') goto yy891; + if (yych != 't') goto yy56; +yy891: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'O') goto yy892; + if (yych != 'o') goto yy793; +yy892: + yych = *++YYCURSOR; + if (yych == 'B') goto yy893; + if (yych != 'b') goto yy56; +yy893: + yych = *++YYCURSOR; + if (yych == 'E') goto yy894; + if (yych != 'e') goto yy56; +yy894: + yych = *++YYCURSOR; + if (yych == 'R') goto yy883; + if (yych == 'r') goto yy883; + goto yy56; +yy895: + yych = *++YYCURSOR; + if (yych <= 'P') { + if (yych == 'C') goto yy128; + if (yych <= 'O') goto yy56; } else { - if (yych <= 'P') { - if (yych == 'A') goto yy100; - if (yych <= 'O') goto yy208; - goto yy100; + if (yych <= 'c') { + if (yych <= 'b') goto yy56; + goto yy128; } else { - if (yych <= 'a') { - if (yych <= '`') goto yy208; - goto yy100; - } else { - if (yych == 'p') goto yy100; - goto yy208; - } - } - } -yy429: - ++YYCURSOR; -#line 1094 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - } + if (yych != 'p') goto yy56; } - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - TIMELIB_DEINIT; - return TIMELIB_TIME12; } -#line 9909 "" -yy431: +yy896: yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy429; - if (yych <= 0x08) goto yy56; - goto yy429; - } else { - if (yych == ' ') goto yy429; - goto yy56; - } -yy432: + if (yych == 'T') goto yy897; + if (yych != 't') goto yy793; +yy897: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'E') goto yy898; + if (yych != 'e') goto yy793; +yy898: yych = *++YYCURSOR; - if (yych == '-') goto yy618; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy619; + if (yych == 'M') goto yy899; + if (yych != 'm') goto yy56; +yy899: + yych = *++YYCURSOR; + if (yych == 'B') goto yy900; + if (yych != 'b') goto yy56; +yy900: + yych = *++YYCURSOR; + if (yych == 'E') goto yy901; + if (yych != 'e') goto yy56; +yy901: + yych = *++YYCURSOR; + if (yych == 'R') goto yy883; + if (yych == 'r') goto yy883; goto yy56; -yy433: +yy902: yych = *++YYCURSOR; - if (yych == '-') goto yy618; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy619; + if (yych == 'G') goto yy906; + if (yych == 'g') goto yy906; goto yy56; -yy434: +yy903: + yych = *++YYCURSOR; + if (yych == 'R') goto yy904; + if (yych != 'r') goto yy56; +yy904: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'I') goto yy905; + if (yych != 'i') goto yy793; +yy905: yych = *++YYCURSOR; - if (yych == '-') goto yy618; + if (yych == 'L') goto yy883; + if (yych == 'l') goto yy883; goto yy56; -yy435: +yy906: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'U') goto yy907; + if (yych != 'u') goto yy793; +yy907: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy620; - if (yych <= 'T') goto yy56; - goto yy621; + if (yych == 'S') goto yy908; + if (yych != 's') goto yy56; +yy908: + yych = *++YYCURSOR; + if (yych == 'T') goto yy883; + if (yych == 't') goto yy883; + goto yy56; +yy909: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'R') goto yy910; + if (yych <= 'X') goto yy56; + goto yy883; } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy56; - goto yy620; + if (yych <= 'r') { + if (yych <= 'q') goto yy56; } else { - if (yych == 'u') goto yy621; + if (yych == 'y') goto yy883; goto yy56; } } -yy436: +yy910: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'C') goto yy911; + if (yych != 'c') goto yy793; +yy911: yych = *++YYCURSOR; - if (yych == 'E') goto yy622; - if (yych == 'e') goto yy622; + if (yych == 'H') goto yy883; + if (yych == 'h') goto yy883; goto yy56; -yy437: +yy912: + yych = *++YYCURSOR; + if (yych == 'B') goto yy913; + if (yych != 'b') goto yy56; +yy913: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'R') goto yy914; + if (yych != 'r') goto yy793; +yy914: + yych = *++YYCURSOR; + if (yych == 'U') goto yy915; + if (yych != 'u') goto yy56; +yy915: yych = *++YYCURSOR; - if (yych == 'E') goto yy623; - if (yych == 'e') goto yy623; + if (yych == 'A') goto yy916; + if (yych != 'a') goto yy56; +yy916: + yych = *++YYCURSOR; + if (yych == 'R') goto yy917; + if (yych != 'r') goto yy56; +yy917: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy883; + if (yych == 'y') goto yy883; goto yy56; -yy438: +yy918: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy624; - if (yych <= 'T') goto yy56; - goto yy625; + if (yych <= 'N') { + if (yych == 'L') goto yy925; + if (yych <= 'M') goto yy56; + goto yy924; } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy624; + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy925; } else { - if (yych == 'u') goto yy625; + if (yych == 'n') goto yy924; goto yy56; } } -yy439: +yy919: + yych = *++YYCURSOR; + if (yych == 'N') goto yy920; + if (yych != 'n') goto yy56; +yy920: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'U') goto yy921; + if (yych != 'u') goto yy793; +yy921: yych = *++YYCURSOR; - if (yych == 'A') goto yy626; - if (yych == 'a') goto yy626; + if (yych == 'A') goto yy922; + if (yych != 'a') goto yy56; +yy922: + yych = *++YYCURSOR; + if (yych == 'R') goto yy923; + if (yych != 'r') goto yy56; +yy923: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy883; + if (yych == 'y') goto yy883; goto yy56; -yy440: +yy924: + yych = *++YYCURSOR; + if (yych == 'E') goto yy883; + if (yych == 'e') goto yy883; + goto yy793; +yy925: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy883; + if (yych == 'y') goto yy883; + goto yy793; +yy926: + yych = *++YYCURSOR; + if (yych == 'I') goto yy883; + goto yy793; +yy927: + yych = *++YYCURSOR; + if (yych != 'I') goto yy793; + yych = *++YYCURSOR; + if (yych == 'I') goto yy883; + goto yy793; +yy929: + yych = *++YYCURSOR; + if (yych == 'I') goto yy883; + goto yy793; +yy930: yych = *++YYCURSOR; - if (yych == 'O') goto yy627; - if (yych == 'o') goto yy627; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy945; + if (yych <= '9') goto yy944; goto yy56; -yy441: +yy931: yych = *++YYCURSOR; - if (yych == 'C') goto yy628; - if (yych == 'c') goto yy628; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy943; goto yy56; -yy442: +yy932: yych = *++YYCURSOR; - if (yych == 'E') goto yy629; - if (yych == 'e') goto yy629; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy941; + if (yych <= '6') goto yy940; goto yy56; -yy443: +yy933: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy630; - goto yy18; - } -yy444: + if (yych == 'E') goto yy912; + if (yych == 'e') goto yy912; + goto yy56; +yy934: yych = *++YYCURSOR; - if (yych <= '/') goto yy134; - if (yych <= '2') goto yy631; - if (yych <= '3') goto yy632; - goto yy134; -yy445: + if (yych == 'A') goto yy909; + if (yych == 'a') goto yy909; + goto yy56; +yy935: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'K') goto yy630; - goto yy633; - } - } else { - if (yych <= 'k') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 'l') goto yy633; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy446: + if (yych == 'E') goto yy939; + if (yych == 'e') goto yy939; + goto yy56; +yy936: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'R') goto yy630; - goto yy634; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 's') goto yy634; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy447: - yyaccept = 2; - YYMARKER = ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); + if (yych == 'E') goto yy877; + if (yych == 'e') goto yy877; + goto yy56; +yy937: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; - if (yybm[0+yych] & 64) { - goto yy447; - } - if (yych <= '.') { - if (yych == '-') goto yy276; - goto yy18; - } else { - if (yych <= '/') goto yy276; - if (yych == '_') goto yy276; - goto yy18; - } -yy449: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych == '.') goto yy18; - goto yy276; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy18; - if (yych <= 'Z') goto yy630; - goto yy18; - } else { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy635; - goto yy18; - } +yy938: + switch (yych) { + case '\t': + case ' ': + case '-': + case '.': goto yy937; + case 'A': + case 'a': goto yy799; + case 'D': + case 'd': goto yy936; + case 'F': + case 'f': goto yy933; + case 'I': goto yy792; + case 'J': + case 'j': goto yy796; + case 'M': + case 'm': goto yy934; + case 'N': + case 'n': goto yy802; + case 'O': + case 'o': goto yy801; + case 'S': + case 's': goto yy935; + case 'V': goto yy794; + case 'X': goto yy795; + default: goto yy56; } -yy450: +yy939: yych = *++YYCURSOR; - if (yybm[0+yych] & 64) { - goto yy447; - } - if (yych <= '/') goto yy134; - if (yych <= '2') goto yy631; - if (yych <= '3') goto yy632; - goto yy134; -yy451: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'K') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } - } else { - if (yych <= '_') { - if (yych <= 'L') goto yy633; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'k') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'l') goto yy636; - if (yych <= 'z') goto yy635; - goto yy18; - } - } - } -yy452: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy634; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'r') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 's') goto yy637; - if (yych <= 'z') goto yy635; - goto yy18; - } - } - } -yy453: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych == ' ') goto yy638; - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy18; - goto yy630; - } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy454: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= '(') { - if (yych == ' ') goto yy638; - goto yy18; - } else { - if (yych <= ')') goto yy107; - if (yych == '-') goto yy276; - goto yy18; - } - } else { - if (yych <= '^') { - if (yych <= '/') goto yy276; - if (yych <= '@') goto yy18; - if (yych <= 'Z') goto yy630; - goto yy18; - } else { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy635; - goto yy18; - } - } -yy455: + if (yych == 'P') goto yy896; + if (yych == 'p') goto yy896; + goto yy56; +yy940: yych = *++YYCURSOR; - if (yych <= 'M') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'L') goto yy630; - goto yy639; - } - } else { - if (yych <= 'l') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 'm') goto yy639; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy456: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } - } else { - if (yych <= '_') { - if (yych <= 'M') goto yy639; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'l') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'm') goto yy640; - if (yych <= 'z') goto yy635; - goto yy18; - } - } - } -yy457: + if (yych <= '/') goto yy56; + if (yych <= '6') goto yy942; + goto yy56; +yy941: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'S') goto yy630; - goto yy641; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 't') goto yy641; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy458: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy942: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy630; - goto yy642; - } + goto yy821; +yy943: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy942; + goto yy56; +yy944: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy942; + goto yy56; +yy945: + yych = *++YYCURSOR; + if (yych <= '0') goto yy56; + if (yych <= '9') goto yy942; + goto yy56; +yy946: + yych = *++YYCURSOR; + if (yych <= '.') goto yy56; + if (yych <= '/') goto yy949; + if (yych <= '9') goto yy957; + goto yy56; +yy947: + yych = *++YYCURSOR; + if (yych <= '.') goto yy56; + if (yych <= '/') goto yy949; + if (yych <= '2') goto yy957; + goto yy56; +yy948: + yych = *++YYCURSOR; + if (yych != '/') goto yy56; +yy949: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy950; + if (yych <= '3') goto yy951; + if (yych <= '9') goto yy952; + goto yy56; +yy950: + yyaccept = 21; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy454; + if (yych <= '9') goto yy952; + if (yych <= 'm') goto yy454; + goto yy954; } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; + if (yych <= 'r') { + if (yych <= 'q') goto yy454; + goto yy955; } else { - if (yych <= 'e') goto yy642; - if (yych <= 'z') goto yy630; - goto yy18; + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } } -yy459: - yyaccept = 2; +yy951: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } + if (yych <= 'n') { + if (yych <= '/') goto yy454; + if (yych <= '1') goto yy952; + if (yych <= 'm') goto yy454; + goto yy954; } else { - if (yych <= '_') { - if (yych <= 'T') goto yy641; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'r') { + if (yych <= 'q') goto yy454; + goto yy955; } else { - if (yych <= 's') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 't') goto yy643; - if (yych <= 'z') goto yy635; - goto yy18; - } + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } } -yy460: - yyaccept = 2; +yy952: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } + if (yych <= 'q') { + if (yych == 'n') goto yy954; + goto yy454; } else { - if (yych <= '_') { - if (yych <= 'E') goto yy642; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'e') goto yy644; - if (yych <= 'z') goto yy635; - goto yy18; - } - } + if (yych <= 'r') goto yy955; + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } -yy461: +yy953: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'T') goto yy630; - goto yy645; - } - } else { - if (yych <= 't') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 'u') goto yy645; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy462: + if (yych == 't') goto yy453; + goto yy56; +yy954: yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'G') goto yy630; - goto yy646; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 'h') goto yy646; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy463: + if (yych == 'd') goto yy453; + goto yy56; +yy955: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'S') goto yy630; - goto yy647; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 't') goto yy647; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy464: + if (yych == 'd') goto yy453; + goto yy56; +yy956: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'S') goto yy630; - goto yy648; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 't') goto yy648; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy465: + if (yych == 'h') goto yy453; + goto yy56; +yy957: yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy649; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy630; - goto yy18; - } else { - if (yych <= 'a') goto yy649; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy466: + if (yych != '/') goto yy56; yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'S') goto yy630; - goto yy650; - } + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych >= '1') goto yy960; } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 't') goto yy650; - if (yych <= 'z') goto yy630; - goto yy18; - } + if (yych <= '3') goto yy961; + if (yych <= '9') goto yy952; + goto yy56; } -yy467: - yyaccept = 2; + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } + if (yych <= 'n') { + if (yych <= '/') goto yy454; + if (yych <= '9') goto yy962; + if (yych <= 'm') goto yy454; + goto yy954; } else { - if (yych <= '_') { - if (yych <= 'U') goto yy645; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'r') { + if (yych <= 'q') goto yy454; + goto yy955; } else { - if (yych <= 't') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'u') goto yy651; - if (yych <= 'z') goto yy635; - goto yy18; - } + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } } -yy468: - yyaccept = 2; +yy960: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } + if (yych <= 'n') { + if (yych <= '/') goto yy454; + if (yych <= '9') goto yy962; + if (yych <= 'm') goto yy454; + goto yy954; } else { - if (yych <= '_') { - if (yych <= 'H') goto yy646; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'r') { + if (yych <= 'q') goto yy454; + goto yy955; } else { - if (yych <= 'g') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'h') goto yy652; - if (yych <= 'z') goto yy635; - goto yy18; - } + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } } -yy469: - yyaccept = 2; +yy961: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } + if (yych <= 'n') { + if (yych <= '/') goto yy454; + if (yych <= '1') goto yy962; + if (yych <= 'm') goto yy454; + goto yy954; } else { - if (yych <= '_') { - if (yych <= 'T') goto yy647; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'r') { + if (yych <= 'q') goto yy454; + goto yy955; } else { - if (yych <= 's') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 't') goto yy653; - if (yych <= 'z') goto yy635; - goto yy18; - } + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } } -yy470: - yyaccept = 2; +yy962: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } + if (yych <= 'n') { + if (yych == '/') goto yy453; + if (yych <= 'm') goto yy454; + goto yy954; } else { - if (yych <= '_') { - if (yych <= 'T') goto yy648; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'r') { + if (yych <= 'q') goto yy454; + goto yy955; } else { - if (yych <= 's') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 't') goto yy654; - if (yych <= 'z') goto yy635; - goto yy18; - } + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } } -yy471: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; - } +yy963: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'A') goto yy1043; + if (yych <= 'T') goto yy56; + goto yy1042; } else { - if (yych <= '_') { - if (yych <= 'A') goto yy649; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'a') { + if (yych <= '`') goto yy56; + goto yy1043; } else { - if (yych <= '`') goto yy18; - if (yych <= 'a') goto yy655; - if (yych <= 'z') goto yy635; - goto yy18; + if (yych == 'u') goto yy1042; + goto yy56; } } -yy472: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } +yy964: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1040; + if (yych == 'e') goto yy1040; + goto yy56; +yy965: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1037; + if (yych == 'a') goto yy1037; + goto yy56; +yy966: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'P') goto yy1034; + if (yych <= 'T') goto yy56; + goto yy1033; } else { - if (yych <= '_') { - if (yych <= 'T') goto yy650; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'p') { + if (yych <= 'o') goto yy56; + goto yy1034; } else { - if (yych <= 's') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 't') goto yy656; - if (yych <= 'z') goto yy635; - goto yy18; - } + if (yych == 'u') goto yy1033; + goto yy56; } } -yy473: +yy967: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1030; + if (yych == 'e') goto yy1030; + goto yy56; +yy968: + yych = *++YYCURSOR; + if (yych == 'C') goto yy1028; + if (yych == 'c') goto yy1028; + goto yy56; +yy969: + yych = *++YYCURSOR; + if (yych == 'O') goto yy1026; + if (yych == 'o') goto yy1026; + goto yy56; +yy970: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1024; + if (yych == 'e') goto yy1024; + goto yy56; +yy971: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '1') goto yy657; - if (yych <= '2') goto yy658; - if (yych <= '9') goto yy659; + if (yych <= '0') goto yy810; + if (yych <= '4') goto yy811; + if (yych <= '5') goto yy812; goto yy56; -yy474: - yyaccept = 4; +yy972: + yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy483; - goto yy136; - } else { - if (yych <= '0') goto yy660; - if (yych <= '9') goto yy661; - if (yych <= ':') goto yy483; - goto yy136; + if (yych == '-') goto yy976; + if (yych <= '/') goto yy973; + if (yych <= '9') goto yy995; +yy973: +#line 1265 "ext/date/lib/parse_date.re" + { + 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; } -yy475: - yyaccept = 4; +#line 13654 "" +yy974: + yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy486; - goto yy136; - } else { - if (yych <= '2') goto yy661; - if (yych <= '9') goto yy660; - if (yych <= ':') goto yy486; - goto yy136; - } -yy476: - yyaccept = 4; + if (yych == '-') goto yy976; + if (yych <= '/') goto yy973; + if (yych <= '2') goto yy995; + goto yy973; +yy975: + yyaccept = 22; + yych = *(YYMARKER = ++YYCURSOR); + if (yych != '-') goto yy973; +yy976: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy977; + if (yych <= '3') goto yy978; + if (yych <= '9') goto yy979; + goto yy56; +yy977: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy486; - goto yy136; + if (yych <= 'm') { + if (yych <= '9') { + if (yych <= '/') goto yy656; + goto yy979; + } else { + if (yych == 'T') goto yy984; + goto yy656; + } } else { - if (yych <= '4') goto yy660; - if (yych <= '9') goto yy662; - if (yych <= ':') goto yy486; - goto yy136; + if (yych <= 'r') { + if (yych <= 'n') goto yy981; + if (yych <= 'q') goto yy656; + goto yy982; + } else { + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy656; + } } -yy477: - yyaccept = 4; +yy978: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy486; - goto yy136; + if (yych <= 'm') { + if (yych <= '1') { + if (yych <= '/') goto yy656; + } else { + if (yych == 'T') goto yy984; + goto yy656; + } } else { - if (yych <= '9') goto yy662; - if (yych <= ':') goto yy486; - goto yy136; + if (yych <= 'r') { + if (yych <= 'n') goto yy981; + if (yych <= 'q') goto yy656; + goto yy982; + } else { + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy656; + } } -yy478: - yyaccept = 4; +yy979: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '1') { - if (yych <= '/') goto yy304; - if (yych <= '0') goto yy663; - goto yy664; + if (yych <= 'n') { + if (yych == 'T') goto yy984; + if (yych <= 'm') goto yy656; + goto yy981; } else { - if (yych <= '2') goto yy665; - if (yych <= '5') goto yy666; - if (yych <= '9') goto yy667; - goto yy304; + if (yych <= 'r') { + if (yych <= 'q') goto yy656; + goto yy982; + } else { + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy656; + } } -yy479: +yy980: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy483; - goto yy56; - } else { - if (yych <= '0') goto yy668; - if (yych <= '9') goto yy670; - if (yych <= ':') goto yy483; - goto yy56; - } -yy480: + if (yych == 't') goto yy994; + goto yy56; +yy981: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy486; - goto yy56; - } else { - if (yych <= '2') goto yy670; - if (yych <= '9') goto yy668; - if (yych <= ':') goto yy486; - goto yy56; - } -yy481: + if (yych == 'd') goto yy994; + goto yy56; +yy982: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy486; - goto yy56; - } else { - if (yych <= '4') goto yy668; - if (yych <= '9') goto yy671; - if (yych <= ':') goto yy486; - goto yy56; - } -yy482: + if (yych == 'd') goto yy994; + goto yy56; +yy983: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy486; - goto yy56; - } else { - if (yych <= '9') goto yy671; - if (yych <= ':') goto yy486; - goto yy56; - } -yy483: + if (yych == 'h') goto yy994; + goto yy56; +yy984: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy672; - if (yych <= '9') goto yy674; + if (yych <= '1') goto yy985; + if (yych <= '2') goto yy986; + if (yych <= '9') goto yy987; goto yy56; -yy484: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '1') { - if (yych <= '/') goto yy304; - if (yych <= '0') goto yy675; - goto yy676; - } else { - if (yych <= '2') goto yy677; - if (yych <= '5') goto yy678; - if (yych <= '9') goto yy679; - goto yy304; - } -yy485: +yy985: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych != '.') goto yy56; - } else { - if (yych <= '0') goto yy668; - if (yych <= '9') goto yy670; - if (yych >= ';') goto yy56; - } -yy486: + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy987; + if (yych <= ':') goto yy988; + goto yy56; +yy986: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy680; - if (yych <= '9') goto yy681; + if (yych <= '4') goto yy987; + if (yych == ':') goto yy988; goto yy56; -yy487: +yy987: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy483; - goto yy56; - } else { - if (yych <= '9') goto yy489; - if (yych <= ':') goto yy483; - goto yy56; - } -yy488: + if (yych != ':') goto yy56; +yy988: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy483; - goto yy56; - } else { - if (yych <= '4') goto yy489; - if (yych == ':') goto yy483; - goto yy56; - } -yy489: + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy989; + if (yych <= '9') goto yy990; + goto yy56; +yy989: yych = *++YYCURSOR; - if (yych == '.') goto yy483; - if (yych == ':') goto yy483; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy990; + if (yych <= ':') goto yy991; goto yy56; -yy490: +yy990: yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy483; - goto yy56; - } else { - if (yych <= '9') goto yy671; - if (yych <= ':') goto yy483; - goto yy56; - } -yy491: + if (yych != ':') goto yy56; +yy991: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy671; + if (yych <= '5') goto yy992; + if (yych <= '6') goto yy993; + if (yych <= '9') goto yy841; goto yy56; -yy492: +yy992: yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy682; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy630; - goto yy18; - } else { - if (yych <= 'a') goto yy682; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy493: - yyaccept = 7; + if (yych <= '/') goto yy842; + if (yych <= '9') goto yy841; + goto yy842; +yy993: + yych = *++YYCURSOR; + if (yych == '0') goto yy841; + goto yy842; +yy994: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy134; - goto yy274; - } else { - if (yych <= ' ') goto yy134; - if (yych == ')') goto yy107; - goto yy274; - } + if (yych == 'T') goto yy984; + goto yy656; +yy995: + yyaccept = 22; + yych = *(YYMARKER = ++YYCURSOR); + if (yych != '-') goto yy973; + yych = *++YYCURSOR; + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych >= '1') goto yy998; } else { - if (yych <= '@') { - if (yych == '/') goto yy274; - if (yych <= '9') goto yy134; - goto yy274; - } else { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy274; - if (yych <= 'z') goto yy630; - goto yy274; - } + if (yych <= '3') goto yy999; + if (yych <= '9') goto yy979; + goto yy56; } -yy494: - yyaccept = 2; + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'm') { + if (yych <= '9') { + if (yych <= '/') goto yy656; + goto yy1000; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == 'T') goto yy984; + goto yy656; } } else { - if (yych <= '_') { - if (yych <= 'A') goto yy682; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'r') { + if (yych <= 'n') goto yy981; + if (yych <= 'q') goto yy656; + goto yy982; } else { - if (yych <= '`') goto yy18; - if (yych <= 'a') goto yy683; - if (yych <= 'z') goto yy635; - goto yy18; + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy656; } } -yy495: - yyaccept = 7; +yy998: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy134; - if (yych <= 0x1F) goto yy274; - goto yy134; + if (yych <= 'm') { + if (yych <= '9') { + if (yych <= '/') goto yy656; + goto yy1000; } else { - if (yych <= ')') { - if (yych <= '(') goto yy274; - goto yy107; - } else { - if (yych <= ',') goto yy274; - if (yych <= '-') goto yy684; - goto yy134; - } + if (yych == 'T') goto yy984; + goto yy656; } } else { - if (yych <= 'Z') { - if (yych <= '/') goto yy276; - if (yych <= '9') goto yy134; - if (yych <= '@') goto yy274; - goto yy630; + if (yych <= 'r') { + if (yych <= 'n') goto yy981; + if (yych <= 'q') goto yy656; + goto yy982; } else { - if (yych <= '_') { - if (yych <= '^') goto yy274; - goto yy276; - } else { - if (yych <= '`') goto yy274; - if (yych <= 'z') goto yy635; - goto yy274; - } + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy656; } } -yy496: - yyaccept = 2; +yy999: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy18; - goto yy685; + if (yych <= 'm') { + if (yych <= '1') { + if (yych <= '/') goto yy656; } else { - if (yych == ' ') goto yy687; - goto yy18; + if (yych == 'T') goto yy984; + goto yy656; } } else { - if (yych <= 'Z') { - if (yych <= ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy630; + if (yych <= 'r') { + if (yych <= 'n') goto yy981; + if (yych <= 'q') goto yy656; + goto yy982; } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy630; - goto yy18; + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy656; } } -yy497: - yyaccept = 2; +yy1000: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy685; - if (yych <= 0x1F) goto yy18; - goto yy687; - } else { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } + if (yych <= 'n') { + if (yych == 'T') goto yy1001; + if (yych <= 'm') goto yy454; + goto yy981; } else { - if (yych <= 'Z') { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; + if (yych <= 'r') { + if (yych <= 'q') goto yy454; + goto yy982; } else { - if (yych <= '_') { - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy635; - goto yy18; - } + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy454; } } -yy498: +yy1001: yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'G') goto yy630; - goto yy633; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 'h') goto yy633; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy499: + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1002; + if (yych <= '2') goto yy1003; + if (yych <= '9') goto yy987; + goto yy56; +yy1002: yych = *++YYCURSOR; - if (yych <= 'I') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'H') goto yy630; - goto yy688; - } - } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 'i') goto yy688; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy500: - yyaccept = 2; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1004; + if (yych <= ':') goto yy988; + goto yy56; +yy1003: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy1004; + if (yych == ':') goto yy988; + goto yy56; +yy1004: + yych = *++YYCURSOR; + if (yych != ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1006; + if (yych <= '9') goto yy990; + goto yy56; +yy1006: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1007; + if (yych <= ':') goto yy991; + goto yy56; +yy1007: + yych = *++YYCURSOR; + if (yych != ':') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1009; + if (yych <= '6') goto yy1010; + if (yych <= '9') goto yy841; + goto yy56; +yy1009: + yych = *++YYCURSOR; + if (yych <= '/') goto yy842; + if (yych <= '9') goto yy1011; + goto yy842; +yy1010: + yych = *++YYCURSOR; + if (yych != '0') goto yy842; +yy1011: + yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } + if (yych != '.') goto yy842; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy1013: + yyaccept = 23; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); + yych = *YYCURSOR; + if (yych <= '-') { + if (yych == '+') goto yy1016; + if (yych <= ',') goto yy842; + goto yy1016; } else { - if (yych <= '_') { - if (yych <= 'H') goto yy633; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '9') { + if (yych <= '/') goto yy842; + goto yy1013; } else { - if (yych <= 'g') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'h') goto yy636; - if (yych <= 'z') goto yy635; - goto yy18; - } + if (yych != 'G') goto yy842; } } -yy501: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'H') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } + yych = *++YYCURSOR; + if (yych == 'M') goto yy1022; + goto yy56; +yy1016: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1017; + if (yych <= '2') goto yy1018; + if (yych <= '9') goto yy1019; + goto yy56; +yy1017: + yych = *++YYCURSOR; + if (yych <= '/') goto yy842; + if (yych <= '9') goto yy1019; + if (yych <= ':') goto yy1020; + goto yy842; +yy1018: + yych = *++YYCURSOR; + if (yych <= '5') { + if (yych <= '/') goto yy842; + if (yych >= '5') goto yy1021; } else { - if (yych <= '_') { - if (yych <= 'I') goto yy688; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'h') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'i') goto yy689; - if (yych <= 'z') goto yy635; - goto yy18; - } - } + if (yych <= '9') goto yy841; + if (yych <= ':') goto yy1020; + goto yy842; } -yy502: - yyaccept = 2; +yy1019: + yych = *++YYCURSOR; + if (yych <= '/') goto yy842; + if (yych <= '5') goto yy1021; + if (yych <= '9') goto yy841; + if (yych >= ';') goto yy842; +yy1020: + yych = *++YYCURSOR; + if (yych <= '/') goto yy842; + if (yych <= '5') goto yy1021; + if (yych <= '9') goto yy841; + goto yy842; +yy1021: + yych = *++YYCURSOR; + if (yych <= '/') goto yy842; + if (yych <= '9') goto yy841; + goto yy842; +yy1022: + yych = *++YYCURSOR; + if (yych != 'T') goto yy56; + yych = *++YYCURSOR; + if (yych == '+') goto yy1016; + if (yych == '-') goto yy1016; + goto yy56; +yy1024: + yych = *++YYCURSOR; + if (yych == 'C') goto yy1025; + if (yych != 'c') goto yy56; +yy1025: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy18; - goto yy685; - } else { - if (yych == ' ') goto yy685; - goto yy18; - } + if (yych <= 'D') { + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'Z') { - if (yych <= ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy630; - } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy630; - goto yy18; - } + if (yych <= 'E') goto yy879; + if (yych == 'e') goto yy879; + goto yy793; } -yy503: - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy107; +yy1026: + yych = *++YYCURSOR; + if (yych == 'V') goto yy1027; + if (yych != 'v') goto yy56; +yy1027: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy504; - if (yych <= 'z') goto yy630; + if (yych <= 'E') goto yy886; + if (yych == 'e') goto yy886; + goto yy793; } -yy504: -#line 972 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("noon"); - TIMELIB_INIT; - TIMELIB_UNHAVE_TIME(); - TIMELIB_HAVE_TIME(); - s->time->h = 12; - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; +yy1028: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1029; + if (yych != 't') goto yy56; +yy1029: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych == '-') goto yy766; + goto yy793; + } else { + if (yych <= 'O') goto yy892; + if (yych == 'o') goto yy892; + goto yy793; } -#line 11146 "" -yy505: - yyaccept = 2; +yy1030: + yych = *++YYCURSOR; + if (yych == 'P') goto yy1031; + if (yych != 'p') goto yy56; +yy1031: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy685; - if (yych <= 0x1F) goto yy18; - goto yy685; - } else { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } + if (yych <= 'S') { + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'Z') { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy635; - goto yy18; - } - } + if (yych <= 'T') goto yy1032; + if (yych != 't') goto yy793; } -yy506: - yyaccept = 14; +yy1032: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy504; - } else { - if (yych == '.') goto yy504; - goto yy276; - } + if (yych <= 'D') { + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= '^') { - if (yych <= '@') goto yy504; - if (yych <= 'Z') goto yy630; - goto yy504; - } else { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy504; - if (yych <= 'z') goto yy635; - goto yy504; - } + if (yych <= 'E') goto yy898; + if (yych == 'e') goto yy898; + goto yy793; } -yy507: +yy1033: yych = *++YYCURSOR; - if (yych <= 'B') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'A') goto yy630; - goto yy690; - } + if (yych == 'G') goto yy1036; + if (yych == 'g') goto yy1036; + goto yy56; +yy1034: + yych = *++YYCURSOR; + if (yych == 'R') goto yy1035; + if (yych != 'r') goto yy56; +yy1035: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'H') { + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 'b') goto yy690; - if (yych <= 'z') goto yy630; - goto yy18; - } + if (yych <= 'I') goto yy905; + if (yych == 'i') goto yy905; + goto yy793; } -yy508: - yyaccept = 2; +yy1036: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } + if (yych <= 'T') { + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= '_') { - if (yych <= 'B') goto yy690; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'b') goto yy691; - if (yych <= 'z') goto yy635; - goto yy18; - } - } + if (yych <= 'U') goto yy907; + if (yych == 'u') goto yy907; + goto yy793; } -yy509: +yy1037: yych = *++YYCURSOR; - if (yych <= 'I') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'H') goto yy630; - goto yy692; - } + if (yych <= 'Y') { + if (yych == 'R') goto yy1038; + if (yych <= 'X') goto yy56; + goto yy1039; } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; + if (yych <= 'r') { + if (yych <= 'q') goto yy56; } else { - if (yych <= 'i') goto yy692; - if (yych <= 'z') goto yy630; - goto yy18; + if (yych == 'y') goto yy1039; + goto yy56; } } -yy510: - yyaccept = 2; +yy1038: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'H') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } + if (yych <= 'B') { + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= '_') { - if (yych <= 'I') goto yy692; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'h') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'i') goto yy693; - if (yych <= 'z') goto yy635; - goto yy18; - } - } + if (yych <= 'C') goto yy911; + if (yych == 'c') goto yy911; + goto yy793; } -yy511: +yy1039: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy766; + goto yy793; +yy1040: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'Q') goto yy630; - goto yy694; - } + if (yych == 'B') goto yy1041; + if (yych != 'b') goto yy56; +yy1041: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 'r') goto yy694; - if (yych <= 'z') goto yy630; - goto yy18; - } + if (yych <= 'R') goto yy914; + if (yych == 'r') goto yy914; + goto yy793; } -yy512: +yy1042: yych = *++YYCURSOR; if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'M') goto yy630; - goto yy695; - } + if (yych == 'L') goto yy1046; + if (yych <= 'M') goto yy56; + goto yy1045; } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; + if (yych <= 'l') { + if (yych <= 'k') goto yy56; + goto yy1046; } else { - if (yych <= 'n') goto yy695; - if (yych <= 'z') goto yy630; - goto yy18; + if (yych == 'n') goto yy1045; + goto yy56; } } -yy513: - yyaccept = 7; +yy1043: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1044; + if (yych != 'n') goto yy56; +yy1044: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy274; - } - } else { - if (yych <= ',') { - if (yych <= ')') goto yy107; - goto yy274; - } else { - if (yych <= '-') goto yy444; - if (yych <= '.') goto yy134; - goto yy274; - } - } + if (yych <= 'T') { + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'Z') { - if (yych <= '@') { - if (yych <= '9') goto yy134; - goto yy274; - } else { - if (yych == 'E') goto yy696; - goto yy630; - } - } else { - if (yych <= 'd') { - if (yych <= '`') goto yy274; - goto yy630; - } else { - if (yych <= 'e') goto yy696; - if (yych <= 'z') goto yy630; - goto yy274; - } - } + if (yych <= 'U') goto yy921; + if (yych == 'u') goto yy921; + goto yy793; } -yy514: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'M') goto yy630; - goto yy697; - } +yy1045: + yyaccept = 20; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 'n') goto yy697; - if (yych <= 'z') goto yy630; - goto yy18; - } + if (yych <= 'E') goto yy883; + if (yych == 'e') goto yy883; + goto yy793; } -yy515: - yyaccept = 2; +yy1046: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= 'X') { + if (yych == '-') goto yy766; + goto yy793; + } else { + if (yych <= 'Y') goto yy883; + if (yych == 'y') goto yy883; + goto yy793; + } +yy1047: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy577; + goto yy730; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; + if (yych <= ',') goto yy577; + if (yych <= '-') goto yy731; + goto yy730; } } else { - if (yych <= '_') { - if (yych <= 'R') goto yy694; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'U') { + if (yych <= '/') goto yy729; + if (yych <= 'T') goto yy577; + goto yy77; } else { - if (yych <= 'q') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'r') goto yy698; - if (yych <= 'z') goto yy635; - goto yy18; - } + if (yych == 'u') goto yy77; + goto yy577; } } -yy516: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } +yy1048: + yych = *++YYCURSOR; + if (yych <= 'P') { + if (yych == 'C') goto yy128; + if (yych <= 'O') goto yy56; + goto yy585; } else { - if (yych <= '_') { - if (yych <= 'N') goto yy695; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'c') { + if (yych <= 'b') goto yy56; + goto yy128; } else { - if (yych <= 'm') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'n') goto yy699; - if (yych <= 'z') goto yy635; - goto yy18; - } + if (yych == 'p') goto yy585; + goto yy56; } } -yy517: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); +yy1049: + yych = *++YYCURSOR; if (yych <= '9') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; - } else { - if (yych == ' ') goto yy134; - goto yy274; - } + if (yych <= ',') { + if (yych == '\t') goto yy1051; + goto yy1053; } else { - if (yych <= '-') { - if (yych <= ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy450; - } else { - if (yych == '/') goto yy276; - goto yy134; - } + if (yych <= '-') goto yy1050; + if (yych <= '.') goto yy730; + if (yych <= '/') goto yy729; + goto yy740; } } else { - if (yych <= '^') { - if (yych <= 'D') { - if (yych <= '@') goto yy274; - goto yy630; - } else { - if (yych <= 'E') goto yy696; - if (yych <= 'Z') goto yy630; - goto yy274; - } + if (yych <= 'q') { + if (yych == 'n') goto yy469; + goto yy1053; } else { - if (yych <= 'd') { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy274; - goto yy635; - } else { - if (yych <= 'e') goto yy700; - if (yych <= 'z') goto yy635; - goto yy274; - } + if (yych <= 'r') goto yy470; + if (yych <= 's') goto yy463; + if (yych <= 't') goto yy467; + goto yy1053; } } -yy518: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } +yy1050: + yych = *++YYCURSOR; + switch (yych) { + case '0': goto yy1054; + case '1': goto yy1055; + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy617; + case 'A': + case 'a': goto yy621; + case 'D': + case 'd': goto yy625; + case 'F': + case 'f': goto yy619; + case 'J': + case 'j': goto yy618; + case 'M': + case 'm': goto yy620; + case 'N': + case 'n': goto yy624; + case 'O': + case 'o': goto yy623; + case 'S': + case 's': goto yy622; + default: goto yy577; + } +yy1051: + yych = *++YYCURSOR; + if (yych <= '/') goto yy1053; + if (yych <= '0') goto yy735; + if (yych <= '1') goto yy736; + if (yych <= '9') goto yy737; + goto yy1053; +yy1052: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; +yy1053: + switch (yych) { + case '\t': + case ' ': goto yy1052; + case '-': + case '.': goto yy576; + case 'A': + case 'a': goto yy573; + case 'D': + case 'd': goto yy465; + case 'F': + case 'f': goto yy466; + case 'H': + case 'h': goto yy63; + case 'I': goto yy474; + case 'J': + case 'j': goto yy478; + case 'M': + case 'm': goto yy464; + case 'N': + case 'n': goto yy481; + case 'O': + case 'o': goto yy480; + case 'S': + case 's': goto yy462; + case 'T': + case 't': goto yy68; + case 'V': goto yy476; + case 'W': + case 'w': goto yy67; + case 'X': goto yy477; + case 'Y': + case 'y': goto yy66; + default: goto yy56; + } +yy1054: + yych = *++YYCURSOR; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy654; + goto yy601; } else { - if (yych <= '_') { - if (yych <= 'N') goto yy697; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'm') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'n') goto yy701; - if (yych <= 'z') goto yy635; - goto yy18; - } - } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1056; + goto yy56; } -yy519: +yy1055: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy702; + if (yych <= '.') { + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy654; + goto yy601; + } else { + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; + } +yy1056: + yych = *++YYCURSOR; + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy1057; + if (yych <= '.') goto yy601; goto yy56; -yy520: +yy1057: yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '2') { + if (yych <= '/') goto yy56; + if (yych >= '1') goto yy1059; + } else { + if (yych <= '3') goto yy1060; + if (yych <= '9') goto yy658; + goto yy56; + } + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy1061; + if (yych <= 'm') goto yy656; + goto yy660; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= '@') goto yy18; - if (yych <= 'C') goto yy630; - goto yy646; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } + } +yy1059: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy1061; + if (yych <= 'm') goto yy656; + goto yy660; } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; + if (yych <= 'r') { + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 'd') goto yy646; - if (yych <= 'z') goto yy630; - goto yy18; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } -yy521: - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy1060: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '1') { + if (yych <= '/') goto yy656; } else { - if (yych <= '@') goto yy18; - if (yych <= 'R') goto yy630; - goto yy694; + if (yych <= '9') goto yy603; + if (yych <= 'm') goto yy656; + goto yy660; } } else { if (yych <= 'r') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 's') goto yy694; - if (yych <= 'z') goto yy630; - goto yy18; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } -yy522: - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'X') goto yy630; - goto yy703; - } +yy1061: + yyaccept = 15; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'n') { + if (yych <= '/') goto yy763; + if (yych <= '9') goto yy604; + if (yych <= 'm') goto yy763; + goto yy660; } else { - if (yych <= 'x') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; + if (yych <= 'r') { + if (yych <= 'q') goto yy763; + goto yy661; } else { - if (yych <= 'y') goto yy703; - if (yych <= 'z') goto yy630; - goto yy18; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy763; } } -yy523: +yy1062: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '9') { + if (yych <= '-') { + if (yych == '\t') goto yy1051; + if (yych <= ',') goto yy1053; + goto yy1050; } else { - if (yych <= '@') goto yy18; - if (yych <= 'Q') goto yy630; - goto yy705; + if (yych <= '.') goto yy1063; + if (yych <= '/') goto yy729; + if (yych <= '5') goto yy1065; + goto yy740; } } else { if (yych <= 'q') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; + if (yych <= ':') goto yy1064; + if (yych == 'n') goto yy469; + goto yy1053; } else { - if (yych <= 'r') goto yy705; - if (yych <= 'z') goto yy630; - goto yy18; + if (yych <= 'r') goto yy470; + if (yych <= 's') goto yy463; + if (yych <= 't') goto yy467; + goto yy1053; } } -yy524: +yy1063: yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'C') goto yy630; - goto yy706; - } + if (yych <= '1') { + if (yych <= '/') goto yy577; + if (yych <= '0') goto yy1087; + goto yy1088; } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 'd') goto yy706; - if (yych <= 'z') goto yy630; - goto yy18; - } + if (yych <= '5') goto yy1089; + if (yych <= '9') goto yy1090; + goto yy577; } -yy525: +yy1064: yych = *++YYCURSOR; - if (yych <= 'F') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'E') goto yy630; - goto yy697; - } - } else { - if (yych <= 'e') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 'f') goto yy697; - if (yych <= 'z') goto yy630; - goto yy18; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1082; + if (yych <= '9') goto yy1083; + goto yy56; +yy1065: + yych = *++YYCURSOR; + if (yych == '-') goto yy784; + if (yych <= '/') goto yy60; + if (yych >= ':') goto yy60; + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); + switch (yych) { + case '\t': + case ' ': + case 'A': + case 'D': + case 'F': + case 'H': + case 'I': + case 'J': + case 'M': + case 'N': + case 'O': + case 'S': + case 'T': + case 'V': + case 'X': + case 'Y': + case 'a': + case 'd': + case 'f': + case 'h': + case 'j': + case 'm': + case 'n': + case 'o': + case 's': + case 't': + case 'w': + case 'y': goto yy790; + case '-': goto yy787; + case '.': goto yy791; + case '/': goto yy788; + case '0': goto yy1068; + case '1': goto yy1069; + case '2': goto yy1070; + case '3': goto yy1071; + case '4': + case '5': goto yy1072; + case '6': goto yy1073; + case '7': + case '8': + case '9': goto yy54; + case ':': goto yy806; + case 'W': goto yy809; + default: goto yy1067; + } +yy1067: +#line 1157 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("gnunocolon"); + TIMELIB_INIT; + switch (s->time->have_time) { + case 0: + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + s->time->s = 0; + break; + case 1: + s->time->y = timelib_get_nr((char **) &ptr, 4); + break; + default: + TIMELIB_DEINIT; + add_error(s, "Double time specification"); + return TIMELIB_ERROR; } + s->time->have_time++; + TIMELIB_DEINIT; + return TIMELIB_GNU_NOCOLON; } -yy526: - yyaccept = 2; +#line 14588 "" +yy1068: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy1080; + if (yych <= '9') goto yy1081; + goto yy60; +yy1069: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '2') goto yy1079; + if (yych <= '9') goto yy1078; + goto yy60; +yy1070: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy1078; + goto yy60; +yy1071: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '5') goto yy1076; + if (yych <= '6') goto yy1077; + if (yych <= '9') goto yy1074; + goto yy60; +yy1072: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy1074; + goto yy60; +yy1073: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy1074; + if (yych <= '9') goto yy54; + goto yy60; +yy1074: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy646; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy18; - goto yy635; + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych <= 'W') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych >= ' ') goto yy60; } else { - if (yych <= 'd') goto yy652; - if (yych <= 'z') goto yy635; - goto yy18; + if (yych == 'D') goto yy60; + if (yych >= 'F') goto yy60; } - } - } -yy527: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } - } else { - if (yych <= '_') { - if (yych <= 'S') goto yy694; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; } else { - if (yych <= 'r') { - if (yych <= '`') goto yy18; - goto yy635; + if (yych <= 'M') { + if (yych == 'H') goto yy60; + if (yych >= 'M') goto yy60; } else { - if (yych <= 's') goto yy698; - if (yych <= 'z') goto yy635; - goto yy18; + if (yych <= 'R') goto yy1075; + if (yych <= 'T') goto yy60; + if (yych >= 'W') goto yy60; } } - } -yy528: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } } else { - if (yych <= '_') { - if (yych <= 'Y') goto yy703; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'h') { + if (yych <= 'd') { + if (yych == 'Y') goto yy60; + if (yych >= 'd') goto yy60; + } else { + if (yych == 'f') goto yy60; + if (yych >= 'h') goto yy60; + } } else { - if (yych <= 'x') { - if (yych <= '`') goto yy18; - goto yy635; + if (yych <= 't') { + if (yych == 'm') goto yy60; + if (yych >= 's') goto yy60; } else { - if (yych <= 'y') goto yy707; - if (yych <= 'z') goto yy635; - goto yy18; + if (yych <= 'w') { + if (yych >= 'w') goto yy60; + } else { + if (yych == 'y') goto yy60; + } } } } -yy529: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } - } else { - if (yych <= '_') { - if (yych <= 'R') goto yy705; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'q') { - if (yych <= '`') goto yy18; - goto yy635; - } else { - if (yych <= 'r') goto yy708; - if (yych <= 'z') goto yy635; - goto yy18; +yy1075: +#line 1203 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("iso8601nocolon"); + TIMELIB_INIT; + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + s->time->s = timelib_get_nr((char **) &ptr, 2); + + if (*ptr != '\0') { + s->time->z = timelib_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; } -yy530: - yyaccept = 2; +#line 14691 "" +yy1076: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1075; + goto yy60; + } else { + if (yych <= '/') goto yy1075; + if (yych <= '9') goto yy820; + if (yych <= 'C') goto yy1075; + goto yy60; + } } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; + if (yych <= 'H') { + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy1075; + goto yy60; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy1075; + goto yy60; + } else { + if (yych <= 'R') goto yy1075; + if (yych <= 'T') goto yy60; + goto yy1075; + } + } } } else { - if (yych <= '_') { - if (yych <= 'D') goto yy706; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; - } else { + if (yych <= 'h') { if (yych <= 'c') { - if (yych <= '`') goto yy18; - goto yy635; + if (yych == 'X') goto yy1075; + if (yych <= 'Y') goto yy60; + goto yy1075; } else { - if (yych <= 'd') goto yy709; - if (yych <= 'z') goto yy635; - goto yy18; + if (yych <= 'e') { + if (yych <= 'd') goto yy60; + goto yy1075; + } else { + if (yych == 'g') goto yy1075; + goto yy60; + } } - } - } -yy531: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'E') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } - } else { - if (yych <= '_') { - if (yych <= 'F') goto yy697; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; } else { - if (yych <= 'e') { - if (yych <= '`') goto yy18; - goto yy635; + if (yych <= 't') { + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy1075; + goto yy60; } else { - if (yych <= 'f') goto yy701; - if (yych <= 'z') goto yy635; - goto yy18; + if (yych <= 'w') { + if (yych <= 'v') goto yy1075; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy1075; + } } } } -yy532: - yyaccept = 2; +yy1077: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy134; - goto yy18; - } else { - if (yych <= ' ') goto yy134; - if (yych == ')') goto yy107; - goto yy18; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy18; - if (yych <= '9') goto yy134; - goto yy18; - } else { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy533: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy630; - goto yy710; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; - } else { - if (yych <= 'e') goto yy710; - if (yych <= 'z') goto yy630; - goto yy18; - } - } -yy534: - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1075; + goto yy60; + } else { + if (yych <= '6') { + if (yych <= '/') goto yy1075; + goto yy820; + } else { + if (yych <= '9') goto yy54; + if (yych <= 'C') goto yy1075; + goto yy60; + } + } } else { - if (yych <= '@') goto yy18; - if (yych <= 'C') goto yy630; - goto yy711; + if (yych <= 'H') { + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy1075; + goto yy60; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy1075; + goto yy60; + } else { + if (yych <= 'R') goto yy1075; + if (yych <= 'T') goto yy60; + goto yy1075; + } + } } } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy1075; + if (yych <= 'Y') goto yy60; + goto yy1075; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy60; + goto yy1075; + } else { + if (yych == 'g') goto yy1075; + goto yy60; + } + } } else { - if (yych <= 'd') goto yy711; - if (yych <= 'z') goto yy630; - goto yy18; + if (yych <= 't') { + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy1075; + goto yy60; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy1075; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy1075; + } + } } } -yy535: - yyaccept = 2; +yy1078: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= 'V') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1075; + goto yy60; + } else { + if (yych <= '/') goto yy1075; + if (yych <= '9') goto yy820; + if (yych <= 'C') goto yy1075; + goto yy60; + } } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; + if (yych <= 'H') { + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy1075; + goto yy60; + } else { + if (yych <= 'M') { + if (yych <= 'L') goto yy1075; + goto yy60; + } else { + if (yych <= 'R') goto yy1075; + if (yych <= 'T') goto yy60; + goto yy1075; + } + } } } else { - if (yych <= '_') { - if (yych <= 'E') goto yy710; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'h') { + if (yych <= 'c') { + if (yych == 'X') goto yy1075; + if (yych <= 'Y') goto yy60; + goto yy1075; + } else { + if (yych <= 'e') { + if (yych <= 'd') goto yy60; + goto yy1075; + } else { + if (yych == 'g') goto yy1075; + goto yy60; + } + } } else { - if (yych <= 'd') { - if (yych <= '`') goto yy18; - goto yy635; + if (yych <= 't') { + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy1075; + goto yy60; } else { - if (yych <= 'e') goto yy712; - if (yych <= 'z') goto yy635; - goto yy18; + if (yych <= 'w') { + if (yych <= 'v') goto yy1075; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy1075; + } } } } -yy536: - yyaccept = 2; +yy1079: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; - } - } else { - if (yych <= '_') { - if (yych <= 'D') goto yy711; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= 'c') { - if (yych <= '`') goto yy18; - goto yy635; + if (yych <= 'T') { + if (yych <= '9') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1075; + goto yy60; } else { - if (yych <= 'd') goto yy713; - if (yych <= 'z') goto yy635; - goto yy18; + if (yych <= '0') { + if (yych <= '/') goto yy1075; + goto yy844; + } else { + if (yych <= '2') goto yy845; + if (yych <= '3') goto yy846; + goto yy820; + } } - } - } -yy537: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy630; - goto yy714; + if (yych <= 'G') { + if (yych <= 'D') { + if (yych <= 'C') goto yy1075; + goto yy60; + } else { + if (yych == 'F') goto yy60; + goto yy1075; + } + } else { + if (yych <= 'L') { + if (yych <= 'H') goto yy60; + goto yy1075; + } else { + if (yych <= 'M') goto yy60; + if (yych <= 'R') goto yy1075; + goto yy60; + } + } } } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy630; - if (yych <= '`') goto yy18; - goto yy630; + if (yych <= 'g') { + if (yych <= 'Y') { + if (yych == 'W') goto yy60; + if (yych <= 'X') goto yy1075; + goto yy60; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy1075; + goto yy60; + } else { + if (yych == 'f') goto yy60; + goto yy1075; + } + } } else { - if (yych <= 'e') goto yy714; - if (yych <= 'z') goto yy630; - goto yy18; + if (yych <= 't') { + if (yych <= 'l') { + if (yych <= 'h') goto yy60; + goto yy1075; + } else { + if (yych <= 'm') goto yy60; + if (yych <= 'r') goto yy1075; + goto yy60; + } + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy1075; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy1075; + } + } } } -yy538: - yyaccept = 2; +yy1080: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= 'T') { + if (yych <= '9') { + if (yych <= ' ') { + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1075; + goto yy60; + } else { + if (yych <= '0') { + if (yych <= '/') goto yy1075; + goto yy876; + } else { + if (yych <= '2') goto yy845; + if (yych <= '3') goto yy846; + goto yy820; + } + } } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy630; + if (yych <= 'G') { + if (yych <= 'D') { + if (yych <= 'C') goto yy1075; + goto yy60; + } else { + if (yych == 'F') goto yy60; + goto yy1075; + } + } else { + if (yych <= 'L') { + if (yych <= 'H') goto yy60; + goto yy1075; + } else { + if (yych <= 'M') goto yy60; + if (yych <= 'R') goto yy1075; + goto yy60; + } + } } } else { - if (yych <= '_') { - if (yych <= 'E') goto yy714; - if (yych <= 'Z') goto yy630; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'g') { + if (yych <= 'Y') { + if (yych == 'W') goto yy60; + if (yych <= 'X') goto yy1075; + goto yy60; + } else { + if (yych <= 'd') { + if (yych <= 'c') goto yy1075; + goto yy60; + } else { + if (yych == 'f') goto yy60; + goto yy1075; + } + } } else { - if (yych <= 'd') { - if (yych <= '`') goto yy18; - goto yy635; + if (yych <= 't') { + if (yych <= 'l') { + if (yych <= 'h') goto yy60; + goto yy1075; + } else { + if (yych <= 'm') goto yy60; + if (yych <= 'r') goto yy1075; + goto yy60; + } } else { - if (yych <= 'e') goto yy715; - if (yych <= 'z') goto yy635; - goto yy18; + if (yych <= 'w') { + if (yych <= 'v') goto yy1075; + goto yy60; + } else { + if (yych == 'y') goto yy60; + goto yy1075; + } } } } -yy539: - yyaccept = 2; +yy1081: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy57; - } - if (yych <= 'V') { - if (yych <= 'D') { + if (yych <= 'T') { + if (yych <= '9') { if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy18; - goto yy186; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1075; + goto yy60; } else { - if (yych == '-') goto yy716; - if (yych <= 'C') goto yy18; - goto yy186; + if (yych <= '0') { + if (yych <= '/') goto yy1075; + goto yy844; + } else { + if (yych <= '2') goto yy845; + if (yych <= '3') goto yy846; + goto yy820; + } } } else { - if (yych <= 'H') { - if (yych == 'F') goto yy186; - if (yych <= 'G') goto yy18; - goto yy186; + if (yych <= 'G') { + if (yych <= 'D') { + if (yych <= 'C') goto yy1075; + goto yy60; + } else { + if (yych == 'F') goto yy60; + goto yy1075; + } } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy18; - goto yy186; + if (yych <= 'L') { + if (yych <= 'H') goto yy60; + goto yy1075; } else { - if (yych <= 'R') goto yy18; - if (yych <= 'T') goto yy186; - goto yy18; + if (yych <= 'M') goto yy60; + if (yych <= 'R') goto yy1075; + goto yy60; } } } } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy18; - if (yych <= 'Y') goto yy186; - goto yy18; + if (yych <= 'g') { + if (yych <= 'Y') { + if (yych == 'W') goto yy60; + if (yych <= 'X') goto yy1075; + goto yy60; } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy186; - goto yy18; + if (yych <= 'd') { + if (yych <= 'c') goto yy1075; + goto yy60; } else { - if (yych == 'g') goto yy18; - goto yy186; + if (yych == 'f') goto yy60; + goto yy1075; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy186; - if (yych <= 'r') goto yy18; - goto yy186; + if (yych <= 'l') { + if (yych <= 'h') goto yy60; + goto yy1075; + } else { + if (yych <= 'm') goto yy60; + if (yych <= 'r') goto yy1075; + goto yy60; + } } else { if (yych <= 'w') { - if (yych <= 'v') goto yy18; - goto yy186; + if (yych <= 'v') goto yy1075; + goto yy60; } else { - if (yych == 'y') goto yy186; - goto yy18; + if (yych == 'y') goto yy60; + goto yy1075; } } } } -yy540: - yych = *++YYCURSOR; - if (yybm[0+yych] & 4) { - goto yy57; +yy1082: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych == '.') goto yy1084; + goto yy490; + } else { + if (yych <= '9') goto yy1083; + if (yych <= ':') goto yy1084; + goto yy490; } - if (yych == '-') goto yy716; - goto yy186; -yy541: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy717; - goto yy56; -yy542: +yy1083: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy1084; + if (yych != ':') goto yy490; +yy1084: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy718; + if (yych <= '5') goto yy1085; + if (yych <= '6') goto yy1086; + if (yych <= '9') goto yy495; goto yy56; -yy543: - yyaccept = 15; +yy1085: + yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy544; - if (yych <= '9') goto yy720; - if (yych >= 'n') goto yy721; + if (yych == '.') goto yy496; + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy495; + goto yy490; +yy1086: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '.') goto yy496; + if (yych == '0') goto yy495; + goto yy490; +yy1087: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; + goto yy1091; } else { - if (yych <= 'r') { - if (yych >= 'r') goto yy721; - } else { - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; - } + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy1090; + if (yych <= ':') goto yy1084; + goto yy490; } -yy544: -#line 1279 "ext/date/lib/parse_date.re" - { - 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; +yy1088: + yyaccept = 11; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; + if (yych <= '.') goto yy1091; + goto yy490; + } else { + if (yych <= '2') goto yy1090; + if (yych <= '9') goto yy1083; + if (yych <= ':') goto yy1084; + goto yy490; } -#line 12152 "" -yy545: - yyaccept = 15; +yy1089: + yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '1') { - if (yych <= '/') goto yy544; - goto yy720; - } else { - if (yych <= '9') goto yy717; - if (yych <= 'm') goto yy544; - goto yy721; - } + if (yych <= '.') { + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; + goto yy1091; } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy544; - goto yy721; - } else { - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; - goto yy544; - } + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy1083; + if (yych <= ':') goto yy1084; + goto yy490; } -yy546: - yyaccept = 15; +yy1090: + yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy544; - if (yych <= '9') goto yy717; - if (yych <= 'm') goto yy544; - goto yy721; + if (yych <= '.') { + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy544; - goto yy721; - } else { - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; - goto yy544; - } + if (yych == ':') goto yy1084; + goto yy490; } -yy547: - yyaccept = 5; +yy1091: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy1092; + if (yych <= '6') goto yy1093; + if (yych <= '9') goto yy609; + goto yy56; +yy1092: + yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy724; - if (yych <= '/') goto yy208; - if (yych <= '9') goto yy725; - goto yy208; -yy548: - yyaccept = 5; + if (yych == '.') goto yy496; + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy1094; + goto yy490; +yy1093: + yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy724; - goto yy208; + if (yych == '.') goto yy496; + goto yy490; } else { - if (yych <= '0') goto yy725; - if (yych <= '9') goto yy718; - goto yy208; + if (yych <= '0') goto yy1094; + if (yych <= '9') goto yy610; + goto yy490; } -yy549: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy724; - if (yych <= '/') goto yy208; - if (yych <= '9') goto yy718; - goto yy208; -yy550: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy724; - if (yych <= '/') goto yy208; - if (yych <= '9') goto yy552; - goto yy208; -yy551: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy724; - if (yych != '0') goto yy208; -yy552: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy724; - goto yy208; -yy553: - yych = *++YYCURSOR; - if (yych <= '/') goto yy213; - if (yych <= '9') goto yy726; - goto yy213; -yy554: - yyaccept = 6; +yy1094: + yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '/') goto yy378; - goto yy213; -yy555: - yych = *++YYCURSOR; - if (yych == '/') goto yy727; - goto yy56; -yy556: + if (yych == '.') goto yy496; + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy604; + goto yy490; +yy1095: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == '/') goto yy727; - goto yy56; + if (yych <= '9') { + if (yych <= '-') { + if (yych == '\t') goto yy459; + if (yych <= ',') goto yy461; + goto yy1050; + } else { + if (yych <= '.') goto yy473; + if (yych <= '/') goto yy471; + if (yych <= '5') goto yy1065; + goto yy740; + } } else { - if (yych <= 'T') goto yy555; - if (yych == 't') goto yy555; - goto yy56; - } -yy557: - yych = *++YYCURSOR; - if (yych <= ',') goto yy56; - if (yych <= '-') goto yy728; - if (yych <= '.') goto yy372; - goto yy56; -yy558: - yych = *++YYCURSOR; - if (yych == '-') goto yy618; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy434; - goto yy56; -yy559: - yych = *++YYCURSOR; - if (yych == '-') goto yy618; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy434; - goto yy56; -yy560: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy561: - switch (yych) { - case '\t': - case ' ': goto yy560; - case '-': - case '.': goto yy729; - case 'A': - case 'a': goto yy572; - case 'D': - case 'd': goto yy573; - case 'F': - case 'f': goto yy574; - case 'H': - case 'h': goto yy76; - case 'I': goto yy575; - case 'J': - case 'j': goto yy577; - case 'M': - case 'm': goto yy578; - case 'N': - case 'n': goto yy579; - case 'O': - case 'o': goto yy580; - case 'S': - case 's': goto yy581; - case 'T': - case 't': goto yy84; - case 'V': goto yy582; - case 'W': - case 'w': goto yy86; - case 'X': goto yy584; - case 'Y': - case 'y': goto yy88; - default: goto yy56; + if (yych <= 'q') { + if (yych <= ':') goto yy482; + if (yych == 'n') goto yy469; + goto yy461; + } else { + if (yych <= 'r') goto yy470; + if (yych <= 's') goto yy463; + if (yych <= 't') goto yy467; + goto yy461; + } } -yy562: +yy1096: yych = *++YYCURSOR; - switch (yych) { - case '0': goto yy731; - case '1': goto yy733; - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy734; - case 'A': - case 'a': goto yy735; - case 'D': - case 'd': goto yy736; - case 'F': - case 'f': goto yy737; - case 'J': - case 'j': goto yy738; - case 'M': - case 'm': goto yy739; - case 'N': - case 'n': goto yy740; - case 'O': - case 'o': goto yy741; - case 'S': - case 's': goto yy742; - case 'W': goto yy743; - default: goto yy730; + if (yych <= '9') { + if (yych <= '-') { + if (yych == '\t') goto yy1051; + if (yych <= ',') goto yy1053; + goto yy1050; + } else { + if (yych <= '.') goto yy1063; + if (yych <= '/') goto yy471; + if (yych <= '5') goto yy1065; + goto yy740; + } + } else { + if (yych <= 'q') { + if (yych <= ':') goto yy1064; + if (yych == 'n') goto yy469; + goto yy1053; + } else { + if (yych <= 'r') goto yy470; + if (yych <= 's') goto yy463; + if (yych <= 't') goto yy467; + goto yy1053; + } } -yy563: - yych = *++YYCURSOR; - if (yych <= '/') goto yy730; - if (yych <= '0') goto yy744; - if (yych <= '2') goto yy745; - if (yych <= '3') goto yy746; - goto yy730; -yy564: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy751; - if (yych <= '1') goto yy752; - if (yych <= '9') goto yy753; - goto yy56; -yy565: - yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '0') goto yy754; - if (yych <= '9') goto yy756; - goto yy186; -yy566: - yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '2') goto yy756; - if (yych <= '9') goto yy757; - goto yy186; -yy567: - yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '9') goto yy757; - goto yy186; -yy568: - yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '5') goto yy757; - if (yych <= '6') goto yy758; - if (yych <= '9') goto yy759; - goto yy186; -yy569: - yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '9') goto yy759; - goto yy186; -yy570: - yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '0') goto yy759; - if (yych <= '9') goto yy57; - goto yy186; -yy571: +yy1097: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy760; - if (yych <= '1') goto yy761; - goto yy56; -yy572: + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy141; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; + } else { + if (yych <= 'e') goto yy1098; + if (yych <= 'z') goto yy141; + goto yy3; + } + } +yy1098: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy762; - if (yych <= 'T') goto yy56; - goto yy763; + if (yych <= 'V') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'U') goto yy142; + } } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy56; - goto yy762; + if (yych <= 'u') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych == 'u') goto yy763; - goto yy56; + if (yych <= 'v') goto yy1099; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy573: +yy1099: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych == 'A') goto yy231; - if (yych <= 'D') goto yy56; - goto yy764; + if (yych <= 'I') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'H') goto yy143; + } } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy231; + if (yych <= 'h') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych == 'e') goto yy764; - goto yy56; + if (yych <= 'i') goto yy1100; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy574: +yy1100: yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= 'N') { - if (yych == 'E') goto yy765; - goto yy56; + if (yych <= 'O') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= 'O') goto yy234; - if (yych <= 'Q') goto yy56; - goto yy235; + if (yych <= '@') goto yy3; + if (yych <= 'N') goto yy144; } } else { if (yych <= 'n') { - if (yych == 'e') goto yy765; - goto yy56; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'o') goto yy234; - if (yych == 'r') goto yy235; - goto yy56; + if (yych <= 'o') goto yy1101; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy575: - ++YYCURSOR; - if ((yych = *YYCURSOR) <= 'U') { - if (yych == 'I') goto yy766; +yy1101: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == 'W') goto yy576; - if (yych <= 'X') goto yy767; + if (yych <= 'U') goto yy1102; + if (yych != 'u') goto yy3; } -yy576: -#line 1348 "ext/date/lib/parse_date.re" - { - 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; +yy1102: + yych = *++YYCURSOR; + if (yych == 'S') goto yy1103; + if (yych != 's') goto yy56; +yy1103: + yych = *++YYCURSOR; + if (yych == '\t') goto yy1104; + if (yych != ' ') goto yy56; +yy1104: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy1105: + if (yych <= 'W') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy1104; + if (yych <= 0x1F) goto yy56; + goto yy1104; + } else { + if (yych == 'D') goto yy1109; + if (yych <= 'E') goto yy56; + goto yy1110; + } + } else { + if (yych <= 'M') { + if (yych == 'H') goto yy1108; + if (yych <= 'L') goto yy56; + goto yy1107; + } else { + if (yych <= 'S') { + if (yych <= 'R') goto yy56; + } else { + if (yych <= 'T') goto yy1113; + if (yych <= 'V') goto yy56; + goto yy1112; + } + } + } + } else { + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy1111; + if (yych <= 'c') goto yy56; + goto yy1109; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy56; + goto yy1110; + } else { + if (yych == 'h') goto yy1108; + goto yy56; + } + } + } else { + if (yych <= 't') { + if (yych <= 'm') goto yy1107; + if (yych <= 'r') goto yy56; + if (yych >= 't') goto yy1113; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy56; + goto yy1112; + } else { + if (yych == 'y') goto yy1111; + goto yy56; + } + } + } } -#line 12476 "" -yy577: +yy1106: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy768; - if (yych <= 'T') goto yy56; - goto yy769; + if (yych <= 'D') { + if (yych == 'A') goto yy1178; + goto yy56; + } else { + if (yych <= 'E') goto yy1179; + if (yych <= 'T') goto yy56; + goto yy1177; + } } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy768; + if (yych <= 'd') { + if (yych == 'a') goto yy1178; + goto yy56; } else { - if (yych == 'u') goto yy769; + if (yych <= 'e') goto yy1179; + if (yych == 'u') goto yy1177; goto yy56; } } -yy578: +yy1107: yych = *++YYCURSOR; if (yych <= 'O') { - if (yych <= 'H') { - if (yych == 'A') goto yy770; - goto yy56; + if (yych == 'I') goto yy1169; + if (yych <= 'N') goto yy56; + goto yy1168; + } else { + if (yych <= 'i') { + if (yych <= 'h') goto yy56; + goto yy1169; } else { - if (yych <= 'I') goto yy246; - if (yych <= 'N') goto yy56; - goto yy247; + if (yych == 'o') goto yy1168; + goto yy56; } + } +yy1108: + yych = *++YYCURSOR; + if (yych == 'O') goto yy1166; + if (yych == 'o') goto yy1166; + goto yy56; +yy1109: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1165; + if (yych == 'a') goto yy1165; + goto yy56; +yy1110: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych == 'O') goto yy1150; + if (yych <= 'Q') goto yy56; + goto yy1149; } else { - if (yych <= 'h') { - if (yych == 'a') goto yy770; - goto yy56; + if (yych <= 'o') { + if (yych <= 'n') goto yy56; + goto yy1150; } else { - if (yych <= 'i') goto yy246; - if (yych == 'o') goto yy247; + if (yych == 'r') goto yy1149; goto yy56; } } -yy579: +yy1111: yych = *++YYCURSOR; - if (yych == 'O') goto yy771; - if (yych == 'o') goto yy771; + if (yych == 'E') goto yy1146; + if (yych == 'e') goto yy1146; goto yy56; -yy580: +yy1112: yych = *++YYCURSOR; - if (yych == 'C') goto yy772; - if (yych == 'c') goto yy772; + if (yych == 'E') goto yy1132; + if (yych == 'e') goto yy1132; goto yy56; -yy581: +yy1113: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'A') goto yy250; + if (yych == 'H') goto yy1114; + if (yych <= 'T') goto yy56; + goto yy1115; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + } else { + if (yych == 'u') goto yy1115; goto yy56; + } + } +yy1114: + yych = *++YYCURSOR; + if (yych == 'U') goto yy1127; + if (yych == 'u') goto yy1127; + goto yy56; +yy1115: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1116; + if (yych != 'e') goto yy56; +yy1116: + yyaccept = 26; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych >= ' ') goto yy1118; + } else { + if (yych <= 'S') { + if (yych >= 'S') goto yy1120; } else { - if (yych <= 'E') goto yy773; - if (yych <= 'T') goto yy56; - goto yy252; + if (yych == 's') goto yy1120; + } + } +yy1117: +#line 1599 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; + DEBUG_OUTPUT("relativetext"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + + while(*ptr) { + i = timelib_get_relative_text((char **) &ptr, &behavior); + timelib_eat_spaces((char **) &ptr); + timelib_set_relative((char **) &ptr, i, behavior, s); } + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +#line 15563 "" +yy1118: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy56; + goto yy1118; } else { - if (yych <= 'd') { - if (yych == 'a') goto yy250; - goto yy56; + if (yych <= 'O') { + if (yych <= 'N') goto yy56; + goto yy1124; } else { - if (yych <= 'e') goto yy773; - if (yych == 'u') goto yy252; + if (yych == 'o') goto yy1124; goto yy56; } } -yy582: +yy1120: yych = *++YYCURSOR; - if (yych == 'I') goto yy584; - goto yy576; -yy583: + if (yych == 'D') goto yy1121; + if (yych != 'd') goto yy56; +yy1121: yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy774; - if (yych <= '4') goto yy775; - goto yy776; - } else { - if (yych <= 'E') { - if (yych <= 'D') goto yy56; - goto yy255; + if (yych == 'A') goto yy1122; + if (yych != 'a') goto yy56; +yy1122: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1123; + if (yych != 'y') goto yy56; +yy1123: + yyaccept = 26; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '\t') goto yy1118; + if (yych == ' ') goto yy1118; + goto yy1117; +yy1124: + yych = *++YYCURSOR; + if (yych == 'F') goto yy1125; + if (yych != 'f') goto yy56; +yy1125: + ++YYCURSOR; +#line 1072 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; + DEBUG_OUTPUT("weekdayof"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_HAVE_SPECIAL_RELATIVE(); + + i = timelib_get_relative_text((char **) &ptr, &behavior); + timelib_eat_spaces((char **) &ptr); + if (i > 0) { /* first, second... etc */ + s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH; + timelib_set_relative((char **) &ptr, i, 1, s); + } else { /* last */ + s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH; + timelib_set_relative((char **) &ptr, i, behavior, s); + } + TIMELIB_DEINIT; + return TIMELIB_WEEK_DAY_OF_MONTH; + } +#line 15626 "" +yy1127: + yyaccept = 26; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1117; + goto yy1118; + } else { + if (yych <= 'R') { + if (yych <= 'Q') goto yy1117; } else { - if (yych == 'e') goto yy255; - goto yy56; + if (yych != 'r') goto yy1117; } } -yy584: - yych = *++YYCURSOR; - if (yych == 'I') goto yy766; - goto yy576; -yy585: - yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '0') goto yy777; - if (yych <= '9') goto yy778; - goto yy186; -yy586: yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '2') goto yy778; - if (yych <= '9') goto yy779; - goto yy186; -yy587: - yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '9') goto yy779; - goto yy186; -yy588: + if (yych == 'S') goto yy1129; + if (yych != 's') goto yy56; +yy1129: yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '5') goto yy779; - if (yych <= '6') goto yy780; - if (yych <= '9') goto yy57; - goto yy186; -yy589: + if (yych == 'D') goto yy1130; + if (yych != 'd') goto yy56; +yy1130: yych = *++YYCURSOR; - if (yych == 'L') goto yy242; - if (yych == 'l') goto yy242; - goto yy56; -yy590: + if (yych == 'A') goto yy1131; + if (yych != 'a') goto yy56; +yy1131: yych = *++YYCURSOR; - if (yych == 'S') goto yy781; - if (yych == 's') goto yy781; + if (yych == 'Y') goto yy1123; + if (yych == 'y') goto yy1123; goto yy56; -yy591: - yych = *++YYCURSOR; - goto yy402; -yy592: +yy1132: yych = *++YYCURSOR; - if (yych == 'M') goto yy601; - if (yych == 'm') goto yy601; - goto yy56; -yy593: + if (yych <= 'E') { + if (yych <= 'C') goto yy56; + if (yych <= 'D') goto yy1134; + } else { + if (yych <= 'c') goto yy56; + if (yych <= 'd') goto yy1134; + if (yych >= 'f') goto yy56; + } yych = *++YYCURSOR; - if (yych == 'U') goto yy597; - if (yych == 'u') goto yy597; + if (yych == 'K') goto yy1140; + if (yych == 'k') goto yy1140; goto yy56; -yy594: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'H') goto yy782; - if (yych <= 'M') goto yy56; - goto yy783; +yy1134: + yyaccept = 26; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1117; + goto yy1118; } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy56; - goto yy782; + if (yych <= 'N') { + if (yych <= 'M') goto yy1117; } else { - if (yych == 'n') goto yy783; - goto yy56; + if (yych != 'n') goto yy1117; } } -yy595: - yych = *++YYCURSOR; - if (yych == 'A') goto yy784; - if (yych == 'a') goto yy784; - goto yy56; -yy596: - yych = *++YYCURSOR; - if (yych <= '/') goto yy240; - if (yych <= '9') goto yy785; - goto yy240; -yy597: - yych = *++YYCURSOR; - if (yych == 'A') goto yy786; - if (yych == 'a') goto yy786; - goto yy56; -yy598: - yych = *++YYCURSOR; - if (yych == 'H') goto yy242; - if (yych == 'h') goto yy242; - goto yy56; -yy599: - yych = *++YYCURSOR; - if (yych == 'T') goto yy787; - if (yych == 't') goto yy787; - goto yy56; -yy600: - yych = *++YYCURSOR; - if (yych == 'H') goto yy401; - if (yych == 'h') goto yy401; - goto yy56; -yy601: - yych = *++YYCURSOR; - if (yych == 'B') goto yy788; - if (yych == 'b') goto yy788; - goto yy56; -yy602: yych = *++YYCURSOR; - if (yych == 'R') goto yy605; - if (yych == 'r') goto yy605; - goto yy56; -yy603: - yych = *++YYCURSOR; - if (yych == 'N') goto yy789; - if (yych == 'n') goto yy789; - goto yy56; -yy604: + if (yych == 'E') goto yy1136; + if (yych != 'e') goto yy56; +yy1136: yych = *++YYCURSOR; - if (yych == 'S') goto yy605; + if (yych == 'S') goto yy1137; if (yych != 's') goto yy56; -yy605: +yy1137: yych = *++YYCURSOR; - if (yych == 'D') goto yy595; - if (yych == 'd') goto yy595; - goto yy56; -yy606: + if (yych == 'D') goto yy1138; + if (yych != 'd') goto yy56; +yy1138: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1139; + if (yych != 'a') goto yy56; +yy1139: yych = *++YYCURSOR; - if (yych == 'E') goto yy604; - if (yych == 'e') goto yy604; + if (yych == 'Y') goto yy1123; + if (yych == 'y') goto yy1123; goto yy56; -yy607: - yyaccept = 13; +yy1140: + yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { - if (yych == 'D') goto yy187; - if (yych <= 'R') goto yy402; - goto yy591; + if (yych == 'D') goto yy1143; + if (yych >= 'S') goto yy1142; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy402; - goto yy187; + if (yych >= 'd') goto yy1143; } else { - if (yych == 's') goto yy591; - goto yy402; + if (yych == 's') goto yy1142; } } -yy608: - yych = *++YYCURSOR; - if (yych <= ',') goto yy56; - if (yych <= '.') goto yy372; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy610; - goto yy56; -yy609: - yych = *++YYCURSOR; - if (yych <= ',') goto yy56; - if (yych <= '.') goto yy372; - if (yych <= '/') goto yy56; - if (yych >= '3') goto yy56; -yy610: - yych = *++YYCURSOR; - if (yych <= ',') goto yy56; - if (yych <= '.') goto yy372; - goto yy56; -yy611: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy724; - if (yych <= '/') goto yy208; - if (yych <= '9') goto yy790; - goto yy208; -yy612: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy724; - goto yy208; - } else { - if (yych <= '0') goto yy790; - if (yych <= '9') goto yy718; - goto yy208; - } -yy613: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy613; - goto yy56; - } else { - if (yych <= ' ') goto yy613; - if (yych <= '@') goto yy56; - goto yy100; - } - } else { - if (yych <= '`') { - if (yych == 'P') goto yy100; - goto yy56; - } else { - if (yych <= 'a') goto yy100; - if (yych == 'p') goto yy100; - goto yy56; +yy1141: +#line 1575 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; + DEBUG_OUTPUT("relativetextweek"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + + while(*ptr) { + i = timelib_get_relative_text((char **) &ptr, &behavior); + timelib_eat_spaces((char **) &ptr); + timelib_set_relative((char **) &ptr, i, behavior, s); + s->time->relative.weekday_behavior = 2; + + /* to handle the format weekday + last/this/next week */ + if (s->time->relative.have_weekday_relative == 0) { + TIMELIB_HAVE_WEEKDAY_RELATIVE(); + s->time->relative.weekday = 1; + } } + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; } -yy615: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy724; - if (yych <= '/') goto yy208; - if (yych <= '9') goto yy791; - goto yy208; -yy616: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy724; - if (yych == '0') goto yy791; - goto yy208; -yy617: +#line 15742 "" +yy1142: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy792; - if (yych <= '6') goto yy793; - if (yych <= '9') goto yy552; - goto yy56; -yy618: + goto yy1117; +yy1143: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy794; - if (yych <= '3') goto yy795; - if (yych <= '9') goto yy796; - goto yy56; -yy619: + if (yych == 'A') goto yy1144; + if (yych != 'a') goto yy56; +yy1144: yych = *++YYCURSOR; - if (yych == '-') goto yy797; - goto yy56; -yy620: + if (yych == 'Y') goto yy1145; + if (yych != 'y') goto yy56; +yy1145: yych = *++YYCURSOR; - if (yych == 'R') goto yy798; - if (yych == 'r') goto yy798; - goto yy56; -yy621: + if (yych == 'S') goto yy1142; + if (yych == 's') goto yy1142; + goto yy1117; +yy1146: yych = *++YYCURSOR; - if (yych == 'G') goto yy798; - if (yych == 'g') goto yy798; - goto yy56; -yy622: + if (yych == 'A') goto yy1147; + if (yych != 'a') goto yy56; +yy1147: yych = *++YYCURSOR; - if (yych == 'C') goto yy798; - if (yych == 'c') goto yy798; - goto yy56; -yy623: + if (yych == 'R') goto yy1148; + if (yych != 'r') goto yy56; +yy1148: yych = *++YYCURSOR; - if (yych == 'B') goto yy798; - if (yych == 'b') goto yy798; - goto yy56; -yy624: + if (yych == 'S') goto yy1142; + if (yych == 's') goto yy1142; + goto yy1117; +yy1149: yych = *++YYCURSOR; - if (yych == 'N') goto yy798; - if (yych == 'n') goto yy798; + if (yych == 'I') goto yy1162; + if (yych == 'i') goto yy1162; goto yy56; -yy625: +yy1150: + yych = *++YYCURSOR; + if (yych == 'R') goto yy1151; + if (yych != 'r') goto yy56; +yy1151: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1152; + if (yych != 't') goto yy56; +yy1152: yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy798; + if (yych == 'H') goto yy1154; if (yych <= 'M') goto yy56; - goto yy798; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy56; - goto yy798; - } else { - if (yych == 'n') goto yy798; - goto yy56; - } - } -yy626: - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy798; - if (yych <= 'X') goto yy56; - goto yy798; } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy56; - goto yy798; + if (yych <= 'h') { + if (yych <= 'g') goto yy56; + goto yy1154; } else { - if (yych == 'y') goto yy798; - goto yy56; + if (yych != 'n') goto yy56; } } -yy627: yych = *++YYCURSOR; - if (yych == 'V') goto yy798; - if (yych == 'v') goto yy798; + if (yych == 'I') goto yy1159; + if (yych == 'i') goto yy1159; goto yy56; -yy628: +yy1154: yych = *++YYCURSOR; - if (yych == 'T') goto yy798; - if (yych == 't') goto yy798; - goto yy56; -yy629: + if (yych == 'N') goto yy1155; + if (yych != 'n') goto yy56; +yy1155: + yych = *++YYCURSOR; + if (yych == 'I') goto yy1156; + if (yych != 'i') goto yy56; +yy1156: + yych = *++YYCURSOR; + if (yych == 'G') goto yy1157; + if (yych != 'g') goto yy56; +yy1157: + yych = *++YYCURSOR; + if (yych == 'H') goto yy1158; + if (yych != 'h') goto yy56; +yy1158: yych = *++YYCURSOR; - if (yych == 'P') goto yy799; - if (yych == 'p') goto yy799; + if (yych == 'T') goto yy1148; + if (yych == 't') goto yy1148; goto yy56; -yy630: +yy1159: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy800; - goto yy18; - } -yy631: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy304; - if (yych <= '0') goto yy801; - if (yych <= '1') goto yy802; - if (yych <= '9') goto yy803; - goto yy304; -yy632: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '1') { - if (yych <= '/') goto yy304; - if (yych <= '0') goto yy801; - goto yy802; - } else { - if (yych <= '2') goto yy309; - if (yych <= '9') goto yy310; - goto yy304; - } -yy633: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy134; - goto yy274; - } else { - if (yych <= ' ') goto yy134; - if (yych == ')') goto yy107; - goto yy274; - } - } else { - if (yych <= '@') { - if (yych == '/') goto yy274; - if (yych <= '9') goto yy134; - goto yy274; - } else { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy274; - if (yych <= 'z') goto yy800; - goto yy274; - } - } -yy634: + if (yych == 'G') goto yy1160; + if (yych != 'g') goto yy56; +yy1160: yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'S') goto yy800; - goto yy804; - } - } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; - } else { - if (yych <= 't') goto yy804; - if (yych <= 'z') goto yy800; - goto yy18; - } - } -yy635: - yyaccept = 2; + if (yych == 'H') goto yy1161; + if (yych != 'h') goto yy56; +yy1161: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1148; + if (yych == 't') goto yy1148; + goto yy56; +yy1162: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych == '.') goto yy18; - goto yy276; - } + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1117; + goto yy1118; } else { - if (yych <= '^') { - if (yych <= '@') goto yy18; - if (yych <= 'Z') goto yy800; - goto yy18; + if (yych <= 'D') { + if (yych <= 'C') goto yy1117; } else { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych != 'd') goto yy1117; } } -yy636: - yyaccept = 7; + yych = *++YYCURSOR; + if (yych == 'A') goto yy1164; + if (yych != 'a') goto yy56; +yy1164: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1123; + if (yych == 'y') goto yy1123; + goto yy56; +yy1165: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1148; + if (yych == 'y') goto yy1148; + goto yy56; +yy1166: + yych = *++YYCURSOR; + if (yych == 'U') goto yy1167; + if (yych != 'u') goto yy56; +yy1167: + yych = *++YYCURSOR; + if (yych == 'R') goto yy1148; + if (yych == 'r') goto yy1148; + goto yy56; +yy1168: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1173; + if (yych == 'n') goto yy1173; + goto yy56; +yy1169: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1170; + if (yych != 'n') goto yy56; +yy1170: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ' ') { - if (yych == '\t') goto yy134; - if (yych <= 0x1F) goto yy274; - goto yy134; - } else { - if (yych <= ')') { - if (yych <= '(') goto yy274; - goto yy107; - } else { - if (yych <= ',') goto yy274; - if (yych <= '-') goto yy684; - goto yy134; - } - } + if (yych <= 'U') { + if (yych == 'S') goto yy1142; + if (yych <= 'T') goto yy1117; } else { - if (yych <= 'Z') { - if (yych <= '/') goto yy276; - if (yych <= '9') goto yy134; - if (yych <= '@') goto yy274; - goto yy800; + if (yych <= 's') { + if (yych <= 'r') goto yy1117; + goto yy1142; } else { - if (yych <= '_') { - if (yych <= '^') goto yy274; - goto yy276; - } else { - if (yych <= '`') goto yy274; - if (yych <= 'z') goto yy805; - goto yy274; - } + if (yych != 'u') goto yy1117; } } -yy637: - yyaccept = 2; + yych = *++YYCURSOR; + if (yych == 'T') goto yy1172; + if (yych != 't') goto yy56; +yy1172: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1148; + if (yych == 'e') goto yy1148; + goto yy56; +yy1173: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= 'D') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1118; + goto yy1117; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= ' ') goto yy1118; + if (yych <= 'C') goto yy1117; } } else { - if (yych <= '_') { - if (yych <= 'T') goto yy804; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'c') { + if (yych == 'T') goto yy1175; + goto yy1117; } else { - if (yych <= 's') { - if (yych <= '`') goto yy18; - goto yy805; - } else { - if (yych <= 't') goto yy806; - if (yych <= 'z') goto yy805; - goto yy18; - } + if (yych <= 'd') goto yy1174; + if (yych == 't') goto yy1175; + goto yy1117; } } -yy638: +yy1174: yych = *++YYCURSOR; - if (yych == 'O') goto yy807; - if (yych == 'o') goto yy807; + if (yych == 'A') goto yy1176; + if (yych == 'a') goto yy1176; goto yy56; -yy639: +yy1175: yych = *++YYCURSOR; - if (yych <= 'B') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'A') goto yy800; - goto yy808; - } + if (yych == 'H') goto yy1148; + if (yych == 'h') goto yy1148; + goto yy56; +yy1176: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1123; + if (yych == 'y') goto yy1123; + goto yy56; +yy1177: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1188; + if (yych == 'n') goto yy1188; + goto yy56; +yy1178: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1183; + if (yych == 't') goto yy1183; + goto yy56; +yy1179: + yych = *++YYCURSOR; + if (yych == 'C') goto yy1180; + if (yych != 'c') goto yy56; +yy1180: + yyaccept = 26; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych == 'O') goto yy1181; + if (yych <= 'R') goto yy1117; + goto yy1142; } else { - if (yych <= 'a') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= 'o') { + if (yych <= 'n') goto yy1117; } else { - if (yych <= 'b') goto yy808; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych == 's') goto yy1142; + goto yy1117; } } -yy640: - yyaccept = 2; +yy1181: + yych = *++YYCURSOR; + if (yych == 'N') goto yy1182; + if (yych != 'n') goto yy56; +yy1182: + yych = *++YYCURSOR; + if (yych == 'D') goto yy1148; + if (yych == 'd') goto yy1148; + goto yy56; +yy1183: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; - } + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1117; + goto yy1118; } else { - if (yych <= '_') { - if (yych <= 'B') goto yy808; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'U') { + if (yych <= 'T') goto yy1117; } else { - if (yych <= 'a') { - if (yych <= '`') goto yy18; - goto yy805; - } else { - if (yych <= 'b') goto yy809; - if (yych <= 'z') goto yy805; - goto yy18; - } + if (yych != 'u') goto yy1117; } } -yy641: - yyaccept = 2; + yych = *++YYCURSOR; + if (yych == 'R') goto yy1185; + if (yych != 'r') goto yy56; +yy1185: + yych = *++YYCURSOR; + if (yych == 'D') goto yy1186; + if (yych != 'd') goto yy56; +yy1186: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1187; + if (yych != 'a') goto yy56; +yy1187: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1123; + if (yych == 'y') goto yy1123; + goto yy56; +yy1188: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy810; - goto yy18; - } else { - if (yych <= ' ') goto yy810; - if (yych == ')') goto yy107; - goto yy18; - } + if (yych <= ' ') { + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1117; + goto yy1118; } else { - if (yych <= '`') { - if (yych == 'H') goto yy812; - if (yych <= 'Z') goto yy800; - goto yy18; + if (yych <= 'D') { + if (yych <= 'C') goto yy1117; } else { - if (yych == 'h') goto yy812; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych != 'd') goto yy1117; } } -yy642: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych == 'A') goto yy1190; + if (yych != 'a') goto yy56; +yy1190: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy1123; + if (yych == 'y') goto yy1123; + goto yy56; +yy1191: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '@') goto yy18; - if (yych <= 'M') goto yy800; - goto yy813; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= '_') { + if (yych <= 'E') goto yy1098; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'n') goto yy813; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'e') goto yy1192; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy643: - yyaccept = 2; +yy1192: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy18; - goto yy810; - } else { - if (yych == ' ') goto yy810; - goto yy18; - } + if (yych <= 'U') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= ',') { - if (yych <= ')') goto yy107; - goto yy18; - } else { - if (yych == '.') goto yy18; - goto yy276; - } + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { - if (yych <= '^') { - if (yych <= 'G') { - if (yych <= '@') goto yy18; - goto yy800; - } else { - if (yych <= 'H') goto yy812; - if (yych <= 'Z') goto yy800; - goto yy18; - } + if (yych <= '_') { + if (yych <= 'V') goto yy1099; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'g') { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy18; - goto yy805; + if (yych <= 'u') { + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 'h') goto yy814; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych <= 'v') goto yy1193; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy644: - yyaccept = 2; +yy1193: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { + if (yych <= 'H') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'N') goto yy813; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'I') goto yy1100; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'm') { - if (yych <= '`') goto yy18; - goto yy805; + if (yych <= 'h') { + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'n') goto yy815; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych <= 'i') goto yy1194; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy645: - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy816; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy800; - goto yy18; - } else { - if (yych <= 'a') goto yy816; - if (yych <= 'z') goto yy800; - goto yy18; - } - } -yy646: - yyaccept = 2; +yy1194: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy18; - goto yy810; + if (yych <= 'N') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == ' ') goto yy810; - goto yy18; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { - if (yych <= 'Z') { - if (yych <= ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= '_') { + if (yych <= 'O') goto yy1101; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 'n') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'o') goto yy1195; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy647: - yyaccept = 2; +yy1195: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy18; - goto yy810; + if (yych <= 'T') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == ' ') goto yy817; - goto yy18; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { - if (yych <= 'Z') { - if (yych <= ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= '`') { + if (yych <= 'U') goto yy1102; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych == 'u') goto yy1196; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy648: +yy1196: yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'G') goto yy800; - goto yy812; - } - } else { - if (yych <= 'g') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; - } else { - if (yych <= 'h') goto yy812; - if (yych <= 'z') goto yy800; - goto yy18; - } - } -yy649: + if (yych == 'S') goto yy1103; + if (yych != 's') goto yy154; yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; - } else { - if (yych <= '@') goto yy18; - if (yych <= 'X') goto yy800; - goto yy818; - } - } else { - if (yych <= 'x') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yybm[0+yych] & 16) { + goto yy153; + } + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy1104; } else { - if (yych <= 'y') goto yy818; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych == ' ') goto yy1104; + goto yy56; } - } -yy650: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych == ' ') goto yy638; - if (yych <= '(') goto yy18; - goto yy107; } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= '/') { + if (yych == '.') goto yy56; + goto yy147; } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych == '_') goto yy147; + goto yy56; } } -yy651: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; +yy1198: + yych = *++YYCURSOR; + if (yych <= 'G') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych <= '@') goto yy3; + if (yych <= 'F') goto yy141; + goto yy1212; } } else { - if (yych <= '_') { - if (yych <= 'A') goto yy816; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'f') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= '`') goto yy18; - if (yych <= 'a') goto yy819; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych <= 'g') goto yy1212; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy652: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy810; - if (yych <= 0x1F) goto yy18; - goto yy810; +yy1199: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy141; } } else { - if (yych <= 'Z') { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= 'd') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= '_') { - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy805; - goto yy18; - } + if (yych <= 'e') goto yy1200; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy653: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy810; - if (yych <= 0x1F) goto yy18; - goto yy817; +yy1200: + yych = *++YYCURSOR; + if (yych <= 'V') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '@') goto yy3; + if (yych <= 'U') goto yy142; } } else { - if (yych <= 'Z') { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= 'u') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= '_') { - if (yych <= '^') goto yy18; - goto yy276; - } else { - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy805; - goto yy18; - } + if (yych <= 'v') goto yy1201; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy654: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; +yy1201: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy143; } } else { - if (yych <= '_') { - if (yych <= 'H') goto yy812; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'd') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'g') { - if (yych <= '`') goto yy18; - goto yy805; - } else { - if (yych <= 'h') goto yy814; - if (yych <= 'z') goto yy805; - goto yy18; - } + if (yych <= 'e') goto yy1202; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy655: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; +yy1202: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy144; } } else { - if (yych <= '_') { - if (yych <= 'Y') goto yy818; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'm') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'x') { - if (yych <= '`') goto yy18; - goto yy805; - } else { - if (yych <= 'y') goto yy820; - if (yych <= 'z') goto yy805; - goto yy18; - } + if (yych <= 'n') goto yy1203; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy656: - yyaccept = 2; +yy1203: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= '(') { - if (yych == ' ') goto yy638; - goto yy18; + if (yych <= 'S') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'T') goto yy1204; + if (yych != 't') goto yy3; + } +yy1204: + yych = *++YYCURSOR; + if (yych == 'H') goto yy1205; + if (yych != 'h') goto yy56; +yy1205: + yych = *++YYCURSOR; + if (yych == '\t') goto yy1206; + if (yych != ' ') goto yy56; +yy1206: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); + yych = *YYCURSOR; +yy1207: + if (yych <= 'W') { + if (yych <= 'F') { + if (yych <= ' ') { + if (yych == '\t') goto yy1206; + if (yych <= 0x1F) goto yy56; + goto yy1206; + } else { + if (yych == 'D') goto yy1109; + if (yych <= 'E') goto yy56; + goto yy1110; + } } else { - if (yych <= ')') goto yy107; - if (yych == '-') goto yy276; - goto yy18; + if (yych <= 'M') { + if (yych == 'H') goto yy1108; + if (yych <= 'L') goto yy56; + goto yy1107; + } else { + if (yych <= 'S') { + if (yych <= 'R') goto yy56; + goto yy1106; + } else { + if (yych <= 'T') goto yy1113; + if (yych <= 'V') goto yy56; + } + } } } else { - if (yych <= '^') { - if (yych <= '/') goto yy276; - if (yych <= '@') goto yy18; - if (yych <= 'Z') goto yy800; - goto yy18; + if (yych <= 'l') { + if (yych <= 'd') { + if (yych == 'Y') goto yy1111; + if (yych <= 'c') goto yy56; + goto yy1109; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy56; + goto yy1110; + } else { + if (yych == 'h') goto yy1108; + goto yy56; + } + } } else { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy18; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych <= 't') { + if (yych <= 'm') goto yy1107; + if (yych <= 'r') goto yy56; + if (yych <= 's') goto yy1106; + goto yy1113; + } else { + if (yych <= 'w') { + if (yych <= 'v') goto yy56; + } else { + if (yych == 'y') goto yy1111; + goto yy56; + } + } } } -yy657: yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy659; - if (yych <= ':') goto yy192; - goto yy18; -yy658: + if (yych == 'E') goto yy1209; + if (yych != 'e') goto yy56; +yy1209: yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy18; - if (yych >= '5') goto yy370; + if (yych <= 'E') { + if (yych <= 'C') goto yy56; + if (yych <= 'D') goto yy1134; } else { - if (yych <= '9') goto yy107; - if (yych <= ':') goto yy192; - goto yy18; + if (yych <= 'c') goto yy56; + if (yych <= 'd') goto yy1134; + if (yych >= 'f') goto yy56; } -yy659: yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '5') goto yy370; - if (yych <= '9') goto yy107; - if (yych <= ':') goto yy192; - goto yy18; -yy660: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy483; - goto yy136; - } else { - if (yych <= '9') goto yy821; - if (yych <= ':') goto yy483; - goto yy136; - } -yy661: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy486; - goto yy136; - } else { - if (yych <= '9') goto yy821; - if (yych <= ':') goto yy486; - goto yy136; - } -yy662: + if (yych == 'K') goto yy1211; + if (yych != 'k') goto yy56; +yy1211: yych = *++YYCURSOR; - if (yych <= '/') goto yy136; - if (yych <= '9') goto yy821; - goto yy136; -yy663: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy822; - goto yy136; + if (yych <= 'S') { + if (yych == 'D') goto yy1143; + if (yych <= 'R') goto yy56; + goto yy1142; } else { - if (yych <= '0') goto yy823; - if (yych <= '9') goto yy824; - if (yych <= ':') goto yy822; - goto yy136; + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy1143; + } else { + if (yych == 's') goto yy1142; + goto yy56; + } } -yy664: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy825; - goto yy136; +yy1212: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy142; + } } else { - if (yych <= '2') goto yy824; - if (yych <= '9') goto yy823; - if (yych <= ':') goto yy825; - goto yy136; + if (yych <= 'g') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; + } else { + if (yych <= 'h') goto yy1213; + if (yych <= 'z') goto yy142; + goto yy3; + } } -yy665: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy825; - goto yy136; +yy1213: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy143; + } } else { - if (yych <= '4') goto yy823; - if (yych <= '9') goto yy826; - if (yych <= ':') goto yy825; - goto yy136; + if (yych <= 's') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; + } else { + if (yych <= 't') goto yy1214; + if (yych <= 'z') goto yy143; + goto yy3; + } } -yy666: - yyaccept = 4; +yy1214: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy825; - goto yy136; + if (yych <= '@') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1206; + goto yy3; + } else { + if (yych <= ' ') goto yy1206; + if (yych == ')') goto yy139; + goto yy3; + } } else { - if (yych <= '9') goto yy826; - if (yych <= ':') goto yy825; - goto yy136; + if (yych <= '`') { + if (yych == 'H') goto yy1215; + if (yych <= 'Z') goto yy144; + goto yy3; + } else { + if (yych == 'h') goto yy1215; + if (yych <= 'z') goto yy144; + goto yy3; + } } -yy667: - yyaccept = 4; +yy1215: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy825; - goto yy136; + if (yych <= 0x1F) { + if (yych == '\t') goto yy1206; + goto yy3; } else { - if (yych <= '9') goto yy662; - if (yych <= ':') goto yy825; - goto yy136; - } -yy668: - yyaccept = 16; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy483; - if (yych == ':') goto yy483; -yy669: -#line 1334 "ext/date/lib/parse_date.re" - { - 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; + if (yych <= ' ') goto yy1206; + if (yych == ')') goto yy139; + goto yy3; } -#line 13621 "" -yy670: - yyaccept = 16; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy486; - if (yych == ':') goto yy486; - goto yy669; -yy671: - yych = *++YYCURSOR; - goto yy669; -yy672: - yyaccept = 17; +yy1216: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy827; - } else { - if (yych <= '9') goto yy674; - if (yych <= ':') goto yy827; - } -yy673: -#line 1664 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_month((char **) &ptr); - s->time->d = timelib_get_nr((char **) &ptr, 2); - - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); - } + if (yych <= 'F') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } - - 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"); + } else { + if (yych <= '_') { + if (yych <= 'G') goto yy1212; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'f') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'g') goto yy1224; + if (yych <= 'z') goto yy146; + goto yy3; } } - TIMELIB_DEINIT; - return TIMELIB_SHORTDATE_WITH_TIME; } -#line 13670 "" -yy674: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy827; - if (yych == ':') goto yy827; - goto yy673; -yy675: - yyaccept = 4; +yy1217: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy828; - goto yy136; + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; + } } else { - if (yych <= '0') goto yy829; - if (yych <= '9') goto yy830; - if (yych <= ':') goto yy828; - goto yy136; + if (yych <= '_') { + if (yych <= 'E') goto yy1200; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'e') goto yy1218; + if (yych <= 'z') goto yy146; + goto yy3; + } + } } -yy676: - yyaccept = 4; +yy1218: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy831; - goto yy136; + if (yych <= 'U') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; + } } else { - if (yych <= '2') goto yy830; - if (yych <= '9') goto yy829; - if (yych <= ':') goto yy831; - goto yy136; + if (yych <= '_') { + if (yych <= 'V') goto yy1201; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'u') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 'v') goto yy1219; + if (yych <= 'z') goto yy150; + goto yy3; + } + } } -yy677: - yyaccept = 4; +yy1219: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy831; - goto yy136; + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } } else { - if (yych <= '4') goto yy829; - if (yych <= '9') goto yy832; - if (yych <= ':') goto yy831; - goto yy136; + if (yych <= '_') { + if (yych <= 'E') goto yy1202; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'e') goto yy1220; + if (yych <= 'z') goto yy151; + goto yy3; + } + } } -yy678: - yyaccept = 4; +yy1220: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy831; - goto yy136; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; + } } else { - if (yych <= '9') goto yy832; - if (yych <= ':') goto yy831; - goto yy136; + if (yych <= '_') { + if (yych <= 'N') goto yy1203; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'n') goto yy1221; + if (yych <= 'z') goto yy152; + goto yy3; + } + } } -yy679: - yyaccept = 4; +yy1221: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy831; - goto yy136; + if (yych <= 'S') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } } else { - if (yych <= '9') goto yy662; - if (yych <= ':') goto yy831; - goto yy136; + if (yych <= '`') { + if (yych <= 'T') goto yy1204; + if (yych == '_') goto yy147; + goto yy3; + } else { + if (yych == 't') goto yy1222; + if (yych <= 'z') goto yy153; + goto yy3; + } } -yy680: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy833; - goto yy673; +yy1222: + yych = *++YYCURSOR; + if (yych == 'H') goto yy1205; + if (yych != 'h') goto yy154; +yy1223: + yych = *++YYCURSOR; + if (yybm[0+yych] & 16) { + goto yy153; + } + if (yych <= ',') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy1206; + } else { + if (yych == ' ') goto yy1206; + goto yy56; + } } else { - if (yych <= '9') goto yy834; - if (yych <= ':') goto yy833; - goto yy673; + if (yych <= '/') { + if (yych == '.') goto yy56; + goto yy147; + } else { + if (yych == '_') goto yy147; + goto yy56; + } } -yy681: - yyaccept = 17; +yy1224: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy833; - if (yych == ':') goto yy833; - goto yy673; -yy682: - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '@') goto yy18; - if (yych <= 'Q') goto yy800; - goto yy835; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= '_') { + if (yych <= 'H') goto yy1213; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'r') goto yy835; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 'h') goto yy1225; + if (yych <= 'z') goto yy150; + goto yy3; + } } } -yy683: - yyaccept = 2; +yy1225: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { + if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'R') goto yy835; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'T') goto yy1214; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'q') { - if (yych <= '`') goto yy18; - goto yy805; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'r') goto yy836; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych <= 't') goto yy1226; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy684: - yych = *++YYCURSOR; - if (yybm[0+yych] & 64) { - goto yy447; - } - goto yy134; -yy685: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy686: - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy685; - if (yych <= 0x1F) goto yy56; - goto yy685; +yy1226: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy1206; } else { - if (yych == 'D') goto yy837; - if (yych <= 'E') goto yy56; - goto yy838; + if (yych == ' ') goto yy1206; + goto yy3; } } else { - if (yych <= 'M') { - if (yych == 'H') goto yy839; - if (yych <= 'L') goto yy56; - goto yy840; + if (yych <= ',') { + if (yych <= ')') goto yy139; + goto yy3; } else { - if (yych <= 'S') { - if (yych <= 'R') goto yy56; - goto yy841; - } else { - if (yych <= 'T') goto yy842; - if (yych <= 'V') goto yy56; - goto yy843; - } + if (yych == '.') goto yy3; + goto yy147; } } } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy844; - if (yych <= 'c') goto yy56; - goto yy837; + if (yych <= '^') { + if (yych <= 'G') { + if (yych <= '@') goto yy3; + goto yy144; } else { - if (yych <= 'f') { - if (yych <= 'e') goto yy56; - goto yy838; - } else { - if (yych == 'h') goto yy839; - goto yy56; - } + if (yych <= 'H') goto yy1215; + if (yych <= 'Z') goto yy144; + goto yy3; } } else { - if (yych <= 't') { - if (yych <= 'm') goto yy840; - if (yych <= 'r') goto yy56; - if (yych <= 's') goto yy841; - goto yy842; + if (yych <= 'g') { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy56; - goto yy843; - } else { - if (yych == 'y') goto yy844; - goto yy56; - } + if (yych <= 'h') goto yy1227; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy687: +yy1227: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy153; + } + if (yych <= ')') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1206; + goto yy3; + } else { + if (yych <= ' ') goto yy1206; + if (yych <= '(') goto yy3; + goto yy139; + } + } else { + if (yych <= '.') { + if (yych == '-') goto yy147; + goto yy3; + } else { + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; + goto yy3; + } + } +yy1228: + yych = *++YYCURSOR; + if (yych <= 'V') { + if (yych <= 'B') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy141; + } else { + if (yych <= 'O') { + if (yych <= 'C') goto yy1244; + goto yy141; + } else { + if (yych <= 'P') goto yy1246; + if (yych <= 'U') goto yy141; + goto yy1245; + } + } + } else { + if (yych <= 'o') { + if (yych <= '`') { + if (yych <= 'Z') goto yy141; + goto yy3; + } else { + if (yych == 'c') goto yy1244; + goto yy141; + } + } else { + if (yych <= 'u') { + if (yych <= 'p') goto yy1246; + goto yy141; + } else { + if (yych <= 'v') goto yy1245; + if (yych <= 'z') goto yy141; + goto yy3; + } + } + } +yy1229: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy141; + goto yy1239; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; + } else { + if (yych <= 't') goto yy1239; + if (yych <= 'z') goto yy141; + goto yy3; + } + } +yy1230: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'W') goto yy141; + goto yy1236; + } + } else { + if (yych <= 'w') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; + } else { + if (yych <= 'x') goto yy1236; + if (yych <= 'z') goto yy141; + goto yy3; + } + } +yy1231: yych = *++YYCURSOR; - if (yych == 'D') goto yy845; - if (yych == 'd') goto yy845; - goto yy686; -yy688: + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy141; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; + } else { + if (yych <= 'n') goto yy1232; + if (yych <= 'z') goto yy141; + goto yy3; + } + } +yy1232: yych = *++YYCURSOR; - if (yych <= 'G') { + if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy166; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'F') goto yy800; - goto yy846; + if (yych <= '@') goto yy166; + if (yych <= 'C') goto yy142; } } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= 'c') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy166; + goto yy142; } else { - if (yych <= 'g') goto yy846; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 'd') goto yy1233; + if (yych <= 'z') goto yy142; + goto yy166; } } -yy689: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'F') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; - } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; - } +yy1233: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; } else { - if (yych <= '_') { - if (yych <= 'G') goto yy846; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= '`') { + if (yych <= 'Z') goto yy143; + goto yy3; } else { - if (yych <= 'f') { - if (yych <= '`') goto yy18; - goto yy805; - } else { - if (yych <= 'g') goto yy847; - if (yych <= 'z') goto yy805; - goto yy18; - } + if (yych <= 'a') goto yy1234; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy690: +yy1234: yych = *++YYCURSOR; - if (yych <= 'E') { + if (yych <= 'Y') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'D') goto yy800; - goto yy848; + if (yych <= '@') goto yy3; + if (yych <= 'X') goto yy144; } } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= 'x') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'e') goto yy848; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 'y') goto yy1235; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy691: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; +yy1235: + yych = *++YYCURSOR; + if (yych == ')') goto yy139; + goto yy166; +yy1236: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; } } else { - if (yych <= '_') { - if (yych <= 'E') goto yy848; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 's') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 'd') { - if (yych <= '`') goto yy18; - goto yy805; - } else { - if (yych <= 'e') goto yy849; - if (yych <= 'z') goto yy805; - goto yy18; - } + if (yych <= 't') goto yy1237; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy692: +yy1237: yych = *++YYCURSOR; - if (yych <= 'O') { + if (yych <= 'H') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'N') goto yy800; - goto yy850; + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy143; } } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= 'g') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'o') goto yy850; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 'h') goto yy1238; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy693: - yyaccept = 2; +yy1238: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy1206; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych == ' ') goto yy1206; + goto yy3; } } else { - if (yych <= '_') { - if (yych <= 'O') goto yy850; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'Z') { + if (yych <= ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy144; } else { - if (yych <= 'n') { - if (yych <= '`') goto yy18; - goto yy805; - } else { - if (yych <= 'o') goto yy851; - if (yych <= 'z') goto yy805; - goto yy18; - } + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy694: +yy1239: yych = *++YYCURSOR; - if (yych <= 'D') { + if (yych <= 'U') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy166; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'C') goto yy800; - goto yy852; + if (yych <= '@') goto yy166; + if (yych <= 'T') goto yy142; } } else { - if (yych <= 'c') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= 't') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy166; + goto yy142; } else { - if (yych <= 'd') goto yy852; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 'u') goto yy1240; + if (yych <= 'z') goto yy142; + goto yy166; } } -yy695: +yy1240: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy143; + } + } else { + if (yych <= 'q') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; + } else { + if (yych <= 'r') goto yy1241; + if (yych <= 'z') goto yy143; + goto yy3; + } + } +yy1241: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'C') goto yy800; - goto yy812; + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy144; } } else { if (yych <= 'c') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'd') goto yy812; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 'd') goto yy1242; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy696: +yy1242: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'A') goto yy1243; + if (yych != 'a') goto yy3; + } +yy1243: yych = *++YYCURSOR; - if (yych <= 'M') { + if (yych == 'Y') goto yy172; + if (yych == 'y') goto yy172; + goto yy56; +yy1244: + yych = *++YYCURSOR; + if (yych <= 'O') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'L') goto yy800; - goto yy853; + if (yych <= '@') goto yy3; + if (yych <= 'N') goto yy142; + goto yy1255; } } else { - if (yych <= 'l') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= 'n') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 'm') goto yy853; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 'o') goto yy1255; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy697: +yy1245: yych = *++YYCURSOR; - if (yych <= 'T') { + if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy18; - if (yych <= 'S') goto yy800; - goto yy854; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy142; + goto yy1252; } } else { - if (yych <= 's') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= 'd') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 't') goto yy854; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 'e') goto yy1252; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy698: - yyaccept = 2; +yy1246: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; + } else { + if (yych == ' ') goto yy195; + goto yy193; + } } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= ',') { + if (yych <= ')') goto yy139; + goto yy193; + } else { + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; + } } } else { - if (yych <= '_') { - if (yych <= 'D') goto yy852; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy195; + goto yy193; + } else { + if (yych != 'T') goto yy142; + } } else { - if (yych <= 'c') { - if (yych <= '`') goto yy18; - goto yy805; + if (yych <= 's') { + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 'd') goto yy855; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych <= 't') goto yy1247; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy699: - yyaccept = 2; +yy1247: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; + } else { + if (yych == ' ') goto yy195; + goto yy193; + } } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= ',') { + if (yych <= ')') goto yy139; + goto yy193; + } else { + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; + } } } else { - if (yych <= '_') { - if (yych <= 'D') goto yy812; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy195; + goto yy193; + } else { + if (yych != 'E') goto yy143; + } } else { - if (yych <= 'c') { - if (yych <= '`') goto yy18; - goto yy805; + if (yych <= 'd') { + if (yych <= '`') goto yy193; + goto yy143; } else { - if (yych <= 'd') goto yy814; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych <= 'e') goto yy1248; + if (yych <= 'z') goto yy143; + goto yy193; } } } -yy700: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; +yy1248: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= '@') goto yy3; + if (yych <= 'L') goto yy144; } } else { - if (yych <= '_') { - if (yych <= 'M') goto yy853; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'l') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'l') { - if (yych <= '`') goto yy18; - goto yy805; - } else { - if (yych <= 'm') goto yy856; - if (yych <= 'z') goto yy805; - goto yy18; - } + if (yych <= 'm') goto yy1249; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy701: - yyaccept = 2; +yy1249: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= 'A') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'B') goto yy1250; + if (yych != 'b') goto yy3; + } +yy1250: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1251; + if (yych != 'e') goto yy56; +yy1251: + yych = *++YYCURSOR; + if (yych == 'R') goto yy205; + if (yych == 'r') goto yy205; + goto yy56; +yy1252: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy143; } } else { - if (yych <= '_') { - if (yych <= 'T') goto yy854; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'm') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 's') { - if (yych <= '`') goto yy18; - goto yy805; - } else { - if (yych <= 't') goto yy857; - if (yych <= 'z') goto yy805; - goto yy18; - } + if (yych <= 'n') goto yy1253; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy702: - yyaccept = 11; +yy1253: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy144; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; + } else { + if (yych <= 't') goto yy1254; + if (yych <= 'z') goto yy144; + goto yy3; + } + } +yy1254: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy396; - if (yych <= '5') goto yy858; - if (yych <= '6') goto yy859; - goto yy396; -yy703: - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy107; + if (yych <= 'G') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy704; - if (yych <= 'z') goto yy800; + if (yych <= 'H') goto yy1205; + if (yych == 'h') goto yy1205; + goto yy3; } -yy704: -#line 984 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("midnight | today"); - TIMELIB_INIT; - TIMELIB_UNHAVE_TIME(); - - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; +yy1255: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy143; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; + } else { + if (yych <= 'n') goto yy1256; + if (yych <= 'z') goto yy143; + goto yy3; + } } -#line 14269 "" -yy705: +yy1256: yych = *++YYCURSOR; - if (yych <= 'R') { + if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy144; + goto yy1215; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; + } else { + if (yych <= 'd') goto yy1215; + if (yych <= 'z') goto yy144; + goto yy3; + } + } +yy1257: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'U') { + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + goto yy147; + } + } else { + if (yych <= 'C') { + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy141; + goto yy1244; + } else { + if (yych == 'P') goto yy1246; + goto yy141; + } + } + } else { + if (yych <= 'b') { + if (yych <= '^') { + if (yych <= 'V') goto yy1245; + if (yych <= 'Z') goto yy141; + goto yy3; + } else { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + goto yy146; + } + } else { + if (yych <= 'p') { + if (yych <= 'c') goto yy1273; + if (yych <= 'o') goto yy146; + goto yy1275; + } else { + if (yych == 'v') goto yy1274; + if (yych <= 'z') goto yy146; + goto yy3; + } + } + } +yy1258: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '@') goto yy18; - if (yych <= 'Q') goto yy800; - goto yy860; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= '_') { + if (yych <= 'T') goto yy1239; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'r') goto yy860; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 't') goto yy1268; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy706: - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy861; +yy1259: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; + } } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy800; - goto yy18; + if (yych <= '_') { + if (yych <= 'X') goto yy1236; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'a') goto yy861; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 'w') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'x') goto yy1265; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy707: - yyaccept = 18; +yy1260: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy704; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '.') goto yy704; - goto yy276; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { - if (yych <= '^') { - if (yych <= '@') goto yy704; - if (yych <= 'Z') goto yy800; - goto yy704; + if (yych <= '_') { + if (yych <= 'N') goto yy1232; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '_') goto yy276; - if (yych <= '`') goto yy704; - if (yych <= 'z') goto yy805; - goto yy704; + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'n') goto yy1261; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy708: - yyaccept = 2; +yy1261: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { + if (yych <= 'C') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'R') goto yy860; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'D') goto yy1233; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { - if (yych <= 'q') { - if (yych <= '`') goto yy18; - goto yy805; + if (yych <= 'c') { + if (yych <= '`') goto yy166; + goto yy150; } else { - if (yych <= 'r') goto yy862; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych <= 'd') goto yy1262; + if (yych <= 'z') goto yy150; + goto yy166; } } } -yy709: - yyaccept = 2; +yy1262: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '_') { - if (yych <= 'A') goto yy861; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'A') goto yy1234; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy18; - if (yych <= 'a') goto yy863; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1263; + if (yych <= 'z') goto yy151; + goto yy3; } } -yy710: - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy1263: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '@') goto yy18; - if (yych <= 'R') goto yy800; - goto yy864; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= '_') { + if (yych <= 'Y') goto yy1235; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 's') goto yy864; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= 'x') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'y') goto yy1264; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy711: - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy107; - if (yych <= '@') goto yy18; - goto yy865; +yy1264: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy153; + } + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy800; - goto yy18; + if (yych <= '/') { + if (yych <= '.') goto yy166; + goto yy147; } else { - if (yych <= 'a') goto yy865; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych == '_') goto yy147; + goto yy166; } } -yy712: - yyaccept = 2; +yy1265: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { + if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'S') goto yy864; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'T') goto yy1237; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'r') { - if (yych <= '`') goto yy18; - goto yy805; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 's') goto yy866; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych <= 't') goto yy1266; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy713: - yyaccept = 2; +yy1266: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'A') goto yy865; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'H') goto yy1238; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy18; - if (yych <= 'a') goto yy867; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'h') goto yy1267; + if (yych <= 'z') goto yy151; + goto yy3; + } } } -yy714: - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { - if (yych <= '(') goto yy18; - goto yy107; +yy1267: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1206; + if (yych <= 0x1F) goto yy3; + goto yy1206; } else { - if (yych <= '@') goto yy18; - if (yych <= 'Q') goto yy800; - goto yy868; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } } else { - if (yych <= 'q') { - if (yych <= 'Z') goto yy800; - if (yych <= '`') goto yy18; - goto yy800; + if (yych <= 'Z') { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } else { - if (yych <= 'r') goto yy868; - if (yych <= 'z') goto yy800; - goto yy18; + if (yych <= '_') { + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy715: - yyaccept = 2; +yy1268: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { + if (yych <= 'T') { if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych == '/') goto yy276; - if (yych <= '@') goto yy18; - goto yy800; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'R') goto yy868; - if (yych <= 'Z') goto yy800; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'U') goto yy1240; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { - if (yych <= 'q') { - if (yych <= '`') goto yy18; - goto yy805; + if (yych <= 't') { + if (yych <= '`') goto yy166; + goto yy150; } else { - if (yych <= 'r') goto yy869; - if (yych <= 'z') goto yy805; - goto yy18; + if (yych <= 'u') goto yy1269; + if (yych <= 'z') goto yy150; + goto yy166; } } } -yy716: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy870; - if (yych <= '1') goto yy871; - goto yy56; -yy717: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy872; - goto yy56; -yy718: - yyaccept = 19; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy719; - if (yych <= '9') goto yy872; -yy719: -#line 1320 "ext/date/lib/parse_date.re" - { - 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; - } -#line 14561 "" -yy720: - yyaccept = 15; +yy1269: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy544; - if (yych <= '9') goto yy872; - if (yych <= 'm') goto yy544; + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy544; + if (yych <= '_') { + if (yych <= 'R') goto yy1241; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; - goto yy544; + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'r') goto yy1270; + if (yych <= 'z') goto yy151; + goto yy3; + } } } -yy721: - yych = *++YYCURSOR; - if (yych == 'd') goto yy873; - goto yy56; -yy722: - yych = *++YYCURSOR; - if (yych == 't') goto yy873; - goto yy56; -yy723: - yych = *++YYCURSOR; - if (yych == 'h') goto yy873; - goto yy56; -yy724: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy874; - goto yy56; -yy725: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy724; - if (yych <= '/') goto yy208; - if (yych <= '9') goto yy872; - goto yy208; -yy726: - yych = *++YYCURSOR; - if (yych <= '/') goto yy213; - if (yych <= '9') goto yy876; - goto yy213; -yy727: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy877; - goto yy56; -yy728: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy878; - if (yych <= '3') goto yy879; - if (yych <= '9') goto yy546; - goto yy56; -yy729: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy730: - switch (yych) { - case '\t': - case ' ': - case '-': - case '.': goto yy729; - case 'A': - case 'a': goto yy572; - case 'D': - case 'd': goto yy747; - case 'F': - case 'f': goto yy748; - case 'I': goto yy575; - case 'J': - case 'j': goto yy577; - case 'M': - case 'm': goto yy749; - case 'N': - case 'n': goto yy579; - case 'O': - case 'o': goto yy580; - case 'S': - case 's': goto yy750; - case 'V': goto yy582; - case 'X': goto yy584; - default: goto yy56; - } -yy731: - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy880; - if (yych <= '/') goto yy732; - if (yych <= '9') goto yy881; -yy732: -#line 1265 "ext/date/lib/parse_date.re" - { - 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; - } -#line 14670 "" -yy733: - yyaccept = 20; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy880; - if (yych <= '/') goto yy732; - if (yych <= '2') goto yy881; - goto yy732; -yy734: - yyaccept = 20; +yy1270: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy880; - goto yy732; -yy735: - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'P') goto yy882; - if (yych <= 'T') goto yy56; - goto yy883; + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; + } } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy56; - goto yy882; + if (yych <= '_') { + if (yych <= 'D') goto yy1242; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'u') goto yy883; - goto yy56; + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'd') goto yy1271; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy736: - yych = *++YYCURSOR; - if (yych == 'E') goto yy884; - if (yych == 'e') goto yy884; - goto yy56; -yy737: - yych = *++YYCURSOR; - if (yych == 'E') goto yy885; - if (yych == 'e') goto yy885; - goto yy56; -yy738: - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'A') goto yy886; - if (yych <= 'T') goto yy56; - goto yy887; +yy1271: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } } else { - if (yych <= 'a') { - if (yych <= '`') goto yy56; - goto yy886; + if (yych <= '_') { + if (yych <= 'A') goto yy1243; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'u') goto yy887; - goto yy56; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1272; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy739: - yych = *++YYCURSOR; - if (yych == 'A') goto yy888; - if (yych == 'a') goto yy888; - goto yy56; -yy740: - yych = *++YYCURSOR; - if (yych == 'O') goto yy889; - if (yych == 'o') goto yy889; - goto yy56; -yy741: - yych = *++YYCURSOR; - if (yych == 'C') goto yy890; - if (yych == 'c') goto yy890; - goto yy56; -yy742: - yych = *++YYCURSOR; - if (yych == 'E') goto yy891; - if (yych == 'e') goto yy891; - goto yy56; -yy743: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy774; - if (yych <= '4') goto yy775; - if (yych <= '5') goto yy776; - goto yy56; -yy744: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy892; - if (yych <= '9') goto yy893; - goto yy56; -yy745: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy893; - goto yy56; -yy746: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy893; - if (yych <= '6') goto yy894; - goto yy56; -yy747: - yych = *++YYCURSOR; - if (yych == 'E') goto yy764; - if (yych == 'e') goto yy764; - goto yy56; -yy748: - yych = *++YYCURSOR; - if (yych == 'E') goto yy765; - if (yych == 'e') goto yy765; - goto yy56; -yy749: - yych = *++YYCURSOR; - if (yych == 'A') goto yy770; - if (yych == 'a') goto yy770; - goto yy56; -yy750: - yych = *++YYCURSOR; - if (yych == 'E') goto yy895; - if (yych == 'e') goto yy895; - goto yy56; -yy751: - yych = *++YYCURSOR; - if (yych <= '.') goto yy56; - if (yych <= '/') goto yy896; - if (yych <= '9') goto yy897; - goto yy56; -yy752: - yych = *++YYCURSOR; - if (yych <= '.') goto yy56; - if (yych <= '/') goto yy896; - if (yych <= '2') goto yy897; - goto yy56; -yy753: +yy1272: yych = *++YYCURSOR; - if (yych == '/') goto yy896; - goto yy56; -yy754: - yyaccept = 21; + if (yych == 'Y') goto yy172; + if (yych == 'y') goto yy185; + goto yy154; +yy1273: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= '9') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych >= ' ') goto yy186; - } else { - if (yych <= '0') { - if (yych >= '0') goto yy898; - } else { - if (yych <= '2') goto yy899; - if (yych <= '3') goto yy901; - goto yy902; - } - } + if (yych <= 'N') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= 'G') { - if (yych <= 'D') { - if (yych >= 'D') goto yy186; - } else { - if (yych == 'F') goto yy186; - } - } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy186; - } else { - if (yych <= 'M') goto yy186; - if (yych >= 'S') goto yy186; - } - } + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy186; - if (yych >= 'Y') goto yy186; - } else { - if (yych <= 'd') { - if (yych >= 'd') goto yy186; - } else { - if (yych == 'f') goto yy186; - } - } + if (yych <= '_') { + if (yych <= 'O') goto yy1255; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy186; - } else { - if (yych <= 'm') goto yy186; - if (yych >= 's') goto yy186; - } + if (yych <= 'n') { + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 'w') { - if (yych >= 'w') goto yy186; - } else { - if (yych == 'y') goto yy186; - } + if (yych <= 'o') goto yy1284; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy755: -#line 1203 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("iso8601nocolon"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr != '\0') { - s->time->z = timelib_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"); +yy1274: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; + } + } else { + if (yych <= '_') { + if (yych <= 'E') goto yy1252; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 'e') goto yy1281; + if (yych <= 'z') goto yy150; + goto yy3; } } - TIMELIB_DEINIT; - return TIMELIB_ISO_NOCOLON; } -#line 14885 "" -yy756: - yyaccept = 21; +yy1275: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= 'C') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy755; - goto yy186; + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych <= '2') { - if (yych <= '/') goto yy755; - goto yy899; - } else { - if (yych <= '3') goto yy901; - if (yych <= '9') goto yy902; - goto yy755; - } + if (yych == ' ') goto yy195; + goto yy193; } } else { - if (yych <= 'G') { - if (yych == 'E') goto yy755; - if (yych <= 'F') goto yy186; - goto yy755; + if (yych <= '-') { + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych <= 'L') { - if (yych <= 'H') goto yy186; - goto yy755; - } else { - if (yych <= 'M') goto yy186; - if (yych <= 'R') goto yy755; - goto yy186; - } + if (yych == '/') goto yy147; + goto yy195; } } } else { - if (yych <= 'g') { - if (yych <= 'Y') { - if (yych == 'W') goto yy186; - if (yych <= 'X') goto yy755; - goto yy186; + if (yych <= '^') { + if (yych <= 'S') { + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy755; - goto yy186; - } else { - if (yych == 'f') goto yy186; - goto yy755; - } + if (yych <= 'T') goto yy1247; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { - if (yych <= 't') { - if (yych <= 'l') { - if (yych <= 'h') goto yy186; - goto yy755; - } else { - if (yych <= 'm') goto yy186; - if (yych <= 'r') goto yy755; - goto yy186; - } + if (yych <= 's') { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy755; - goto yy186; - } else { - if (yych == 'y') goto yy186; - goto yy755; - } + if (yych <= 't') goto yy1276; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy757: - yyaccept = 21; +yy1276: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy755; - goto yy186; + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych <= '/') goto yy755; - if (yych <= '9') goto yy902; - if (yych <= 'C') goto yy755; - goto yy186; + if (yych == ' ') goto yy195; + goto yy193; } } else { - if (yych <= 'H') { - if (yych == 'F') goto yy186; - if (yych <= 'G') goto yy755; - goto yy186; + if (yych <= '-') { + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy755; - goto yy186; - } else { - if (yych <= 'R') goto yy755; - if (yych <= 'T') goto yy186; - goto yy755; - } + if (yych == '/') goto yy147; + goto yy195; } } } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy755; - if (yych <= 'Y') goto yy186; - goto yy755; + if (yych <= '^') { + if (yych <= 'D') { + if (yych <= '@') goto yy193; + goto yy143; } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy186; - goto yy755; - } else { - if (yych == 'g') goto yy755; - goto yy186; - } + if (yych <= 'E') goto yy1248; + if (yych <= 'Z') goto yy143; + goto yy193; + } + } else { + if (yych <= 'd') { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy151; + } else { + if (yych <= 'e') goto yy1277; + if (yych <= 'z') goto yy151; + goto yy193; + } + } + } +yy1277: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; + } + } else { + if (yych <= '_') { + if (yych <= 'M') goto yy1249; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'l') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'm') goto yy1278; + if (yych <= 'z') goto yy152; + goto yy3; } + } + } +yy1278: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'B') goto yy1250; + if (yych == '_') goto yy147; + goto yy3; + } else { + if (yych == 'b') goto yy1279; + if (yych <= 'z') goto yy153; + goto yy3; + } + } +yy1279: + yych = *++YYCURSOR; + if (yych == 'E') goto yy1251; + if (yych != 'e') goto yy154; + yych = *++YYCURSOR; + if (yych == 'R') goto yy205; + if (yych == 'r') goto yy376; + goto yy154; +yy1281: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } + } else { + if (yych <= '_') { + if (yych <= 'N') goto yy1253; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 't') { - if (yych == 'm') goto yy186; - if (yych <= 'r') goto yy755; - goto yy186; + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy755; - goto yy186; - } else { - if (yych == 'y') goto yy186; - goto yy755; - } + if (yych <= 'n') goto yy1282; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy758: - yyaccept = 21; +yy1282: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy755; - goto yy186; - } else { - if (yych <= '6') { - if (yych <= '/') goto yy755; - goto yy902; - } else { - if (yych <= '9') goto yy57; - if (yych <= 'C') goto yy755; - goto yy186; - } - } + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= 'H') { - if (yych == 'F') goto yy186; - if (yych <= 'G') goto yy755; - goto yy186; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy755; - goto yy186; - } else { - if (yych <= 'R') goto yy755; - if (yych <= 'T') goto yy186; - goto yy755; - } - } + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy755; - if (yych <= 'Y') goto yy186; - goto yy755; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy186; - goto yy755; - } else { - if (yych == 'g') goto yy755; - goto yy186; - } - } + if (yych <= '_') { + if (yych <= 'T') goto yy1254; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 't') { - if (yych == 'm') goto yy186; - if (yych <= 'r') goto yy755; - goto yy186; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy755; - goto yy186; - } else { - if (yych == 'y') goto yy186; - goto yy755; - } + if (yych <= 't') goto yy1283; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy759: - yyaccept = 21; +yy1283: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy57; + if (yych <= 'G') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'H') goto yy1205; + if (yych == '_') goto yy147; + goto yy3; + } else { + if (yych == 'h') goto yy1223; + if (yych <= 'z') goto yy153; + goto yy3; + } } - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy755; - goto yy186; - } else { - if (yych == 'D') goto yy186; - if (yych <= 'E') goto yy755; - goto yy186; - } +yy1284: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= 'M') { - if (yych == 'H') goto yy186; - if (yych <= 'L') goto yy755; - goto yy186; - } else { - if (yych <= 'R') goto yy755; - if (yych <= 'T') goto yy186; - if (yych <= 'V') goto yy755; - goto yy186; - } + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { - if (yych <= 'h') { - if (yych <= 'd') { - if (yych == 'Y') goto yy186; - if (yych <= 'c') goto yy755; - goto yy186; + if (yych <= '_') { + if (yych <= 'N') goto yy1256; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych == 'f') goto yy186; - if (yych <= 'g') goto yy755; - goto yy186; + if (yych <= 'n') goto yy1285; + if (yych <= 'z') goto yy151; + goto yy3; } + } + } +yy1285: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= 't') { - if (yych == 'm') goto yy186; - if (yych <= 'r') goto yy755; - goto yy186; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy1215; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy755; - goto yy186; - } else { - if (yych == 'y') goto yy186; - goto yy755; - } + if (yych <= 'd') goto yy1227; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy760: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy903; - goto yy56; -yy761: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy903; - goto yy56; -yy762: - yych = *++YYCURSOR; - if (yych == 'R') goto yy904; - if (yych == 'r') goto yy904; - goto yy56; -yy763: - yych = *++YYCURSOR; - if (yych == 'G') goto yy905; - if (yych == 'g') goto yy905; - goto yy56; -yy764: - yych = *++YYCURSOR; - if (yych == 'C') goto yy906; - if (yych == 'c') goto yy906; - goto yy56; -yy765: - yych = *++YYCURSOR; - if (yych == 'B') goto yy907; - if (yych == 'b') goto yy907; - goto yy56; -yy766: - yych = *++YYCURSOR; - if (yych != 'I') goto yy576; -yy767: +yy1286: yych = *++YYCURSOR; - goto yy576; -yy768: - yych = *++YYCURSOR; - if (yych == 'N') goto yy908; - if (yych == 'n') goto yy908; - goto yy56; -yy769: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy909; - if (yych <= 'M') goto yy56; - goto yy910; + if (yych <= 'C') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy141; + } } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy56; - goto yy909; + if (yych <= 'b') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych == 'n') goto yy910; - goto yy56; + if (yych <= 'c') goto yy1287; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy770: +yy1287: yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy911; - if (yych <= 'X') goto yy56; - goto yy767; + if (yych <= 'K') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'J') goto yy142; + } } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy56; - goto yy911; + if (yych <= 'j') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych == 'y') goto yy767; - goto yy56; + if (yych <= 'k') goto yy1288; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy771: - yych = *++YYCURSOR; - if (yych == 'V') goto yy906; - if (yych == 'v') goto yy906; - goto yy56; -yy772: - yych = *++YYCURSOR; - if (yych == 'T') goto yy912; - if (yych == 't') goto yy912; - goto yy56; -yy773: - yych = *++YYCURSOR; - if (yych <= 'P') { - if (yych == 'C') goto yy417; - if (yych <= 'O') goto yy56; - goto yy913; +yy1288: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ')') { + if (yych == ' ') goto yy1289; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy56; - goto yy417; + if (yych <= 'Z') { + if (yych <= '@') goto yy3; + goto yy143; } else { - if (yych == 'p') goto yy913; - goto yy56; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy774: +yy1289: yych = *++YYCURSOR; - if (yych <= '0') goto yy56; - if (yych <= '9') goto yy914; - goto yy56; -yy775: + if (yych == 'O') goto yy1290; + if (yych != 'o') goto yy56; +yy1290: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy914; - goto yy56; -yy776: + if (yych == 'F') goto yy1291; + if (yych != 'f') goto yy56; +yy1291: + yych = *++YYCURSOR; + if (yych != ' ') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '3') goto yy914; + if (yych <= '1') goto yy1293; + if (yych <= '2') goto yy1295; + if (yych <= '9') goto yy1296; goto yy56; -yy777: - yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy186; - if (yych <= '0') goto yy898; - goto yy899; +yy1293: + yyaccept = 28; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy1297; + if (yych <= '9') goto yy1296; + goto yy1297; +yy1294: +#line 1049 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("backof | frontof"); + TIMELIB_INIT; + TIMELIB_UNHAVE_TIME(); + TIMELIB_HAVE_TIME(); + + if (*ptr == 'b') { + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = 15; + } else { + s->time->h = timelib_get_nr((char **) &ptr, 2) - 1; + s->time->i = 45; + } + if (*ptr != '\0' ) { + timelib_eat_spaces((char **) &ptr); + s->time->h += timelib_meridian((char **) &ptr, s->time->h); + } + + TIMELIB_DEINIT; + return TIMELIB_LF_DAY_OF_MONTH; + } +#line 18288 "" +yy1295: + yyaccept = 28; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy1297; + if (yych >= '5') goto yy1297; +yy1296: + yyaccept = 28; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; +yy1297: + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1296; + goto yy1294; + } else { + if (yych <= ' ') goto yy1296; + if (yych <= '@') goto yy1294; + } } else { - if (yych <= '3') goto yy901; - if (yych <= '9') goto yy902; - goto yy186; + if (yych <= '`') { + if (yych != 'P') goto yy1294; + } else { + if (yych <= 'a') goto yy1298; + if (yych != 'p') goto yy1294; + } } -yy778: - yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '2') goto yy899; - if (yych <= '3') goto yy901; - if (yych <= '9') goto yy902; - goto yy186; -yy779: - yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '9') goto yy902; - goto yy186; -yy780: - yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '6') goto yy902; - if (yych <= '9') goto yy57; - goto yy186; -yy781: - yych = *++YYCURSOR; - if (yych == 'T') goto yy242; - if (yych == 't') goto yy242; - goto yy56; -yy782: - yych = *++YYCURSOR; - if (yych == 'N') goto yy783; - if (yych != 'n') goto yy56; -yy783: - yych = *++YYCURSOR; - if (yych == 'I') goto yy916; - if (yych == 'i') goto yy916; - goto yy56; -yy784: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy591; - if (yych == 'y') goto yy591; - goto yy56; -yy785: +yy1298: yych = *++YYCURSOR; - goto yy240; -yy786: + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { + if (yych <= 'M') goto yy1300; + if (yych == 'm') goto yy1300; + goto yy56; + } yych = *++YYCURSOR; - if (yych == 'R') goto yy917; - if (yych == 'r') goto yy917; - goto yy56; -yy787: + if (yych == 'M') goto yy1300; + if (yych != 'm') goto yy56; +yy1300: yych = *++YYCURSOR; - if (yych == 'E') goto yy401; - if (yych == 'e') goto yy401; - goto yy56; -yy788: + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy1302; + if (yych == '\t') goto yy1302; + goto yy56; + } else { + if (yych <= ' ') goto yy1302; + if (yych != '.') goto yy56; + } yych = *++YYCURSOR; - if (yych == 'E') goto yy918; - if (yych == 'e') goto yy918; - goto yy56; -yy789: + if (yych <= '\t') { + if (yych <= 0x00) goto yy1302; + if (yych <= 0x08) goto yy56; + } else { + if (yych != ' ') goto yy56; + } +yy1302: yych = *++YYCURSOR; - if (yych == 'D') goto yy401; - if (yych == 'd') goto yy401; - goto yy56; -yy790: - yyaccept = 5; + goto yy1294; +yy1303: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= ' ') { - if (yych == '\t') goto yy613; - if (yych <= 0x1F) goto yy208; - goto yy613; + if (yych <= 'B') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '.') goto yy724; - if (yych <= '/') goto yy208; - goto yy872; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { - if (yych <= 'P') { - if (yych == 'A') goto yy100; - if (yych <= 'O') goto yy208; - goto yy100; + if (yych <= '_') { + if (yych <= 'C') goto yy1287; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'a') { - if (yych <= '`') goto yy208; - goto yy100; + if (yych <= 'b') { + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych == 'p') goto yy100; - goto yy208; + if (yych <= 'c') goto yy1304; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy791: - yyaccept = 5; +yy1304: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy613; - goto yy208; + if (yych <= 'J') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= ' ') goto yy613; - if (yych == '.') goto yy724; - goto yy208; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { - if (yych <= '`') { - if (yych <= 'A') goto yy100; - if (yych == 'P') goto yy100; - goto yy208; + if (yych <= '_') { + if (yych <= 'K') goto yy1288; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'a') goto yy100; - if (yych == 'p') goto yy100; - goto yy208; + if (yych <= 'j') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 'k') goto yy1305; + if (yych <= 'z') goto yy150; + goto yy3; + } } } -yy792: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy724; - if (yych <= '/') goto yy208; - if (yych <= '9') goto yy919; - goto yy208; -yy793: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy724; - if (yych == '0') goto yy919; - goto yy208; -yy794: - yyaccept = 15; +yy1305: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy544; - if (yych <= '9') goto yy796; - if (yych <= 'm') goto yy544; - goto yy721; + if (yych <= '.') { + if (yych <= '(') { + if (yych == ' ') goto yy1289; + goto yy3; + } else { + if (yych <= ')') goto yy139; + if (yych == '-') goto yy147; + goto yy3; + } } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy544; - goto yy721; + if (yych <= '^') { + if (yych <= '/') goto yy147; + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy143; + goto yy3; } else { - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; - goto yy544; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy151; + goto yy3; } } -yy795: - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy544; - if (yych <= '1') goto yy796; - if (yych <= 'm') goto yy544; - goto yy721; +yy1306: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy141; + } } else { if (yych <= 'r') { - if (yych <= 'q') goto yy544; - goto yy721; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; - goto yy544; + if (yych <= 's') goto yy1307; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy796: - yyaccept = 15; +yy1307: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; + } else { + if (yych <= 't') goto yy1308; + if (yych <= 'z') goto yy142; + goto yy3; + } + } +yy1308: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'q') { - if (yych == 'n') goto yy721; - goto yy544; + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy1104; + } else { + if (yych != ' ') goto yy3; + } } else { - if (yych <= 'r') goto yy721; - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; - goto yy544; + if (yych <= 'Z') { + if (yych <= ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy143; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy143; + goto yy3; + } } -yy797: +yy1309: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy920; - if (yych <= '3') goto yy921; - if (yych <= '9') goto yy796; - goto yy56; -yy798: + if (yych == 'D') goto yy1310; + if (yych != 'd') goto yy1105; +yy1310: yych = *++YYCURSOR; - if (yych == '-') goto yy922; - goto yy56; -yy799: + if (yych == 'A') goto yy1311; + if (yych != 'a') goto yy56; +yy1311: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == '-') goto yy922; - goto yy56; + if (yych == 'Y') goto yy1312; + if (yych != 'y') goto yy56; +yy1312: + yyaccept = 26; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { + if (yych != ' ') goto yy1117; } else { - if (yych <= 'T') goto yy798; - if (yych == 't') goto yy798; - goto yy56; + if (yych <= 'S') goto yy1142; + if (yych == 's') goto yy1142; + goto yy1117; } -yy800: yych = *++YYCURSOR; - if (yych == ')') goto yy107; - goto yy18; -yy801: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy923; - case '.': goto yy478; - case '0': goto yy479; - case '1': goto yy480; - case '2': goto yy481; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - case ':': goto yy483; - default: goto yy304; - } -yy802: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy923; - case '.': goto yy484; - case '0': goto yy485; - case '1': goto yy480; - case '2': goto yy481; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - case ':': goto yy486; - default: goto yy304; - } -yy803: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - switch (yych) { - case '-': goto yy923; - case '.': goto yy484; - case '0': goto yy479; - case '1': goto yy480; - case '2': goto yy481; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': goto yy482; - case ':': goto yy486; - default: goto yy304; + if (yych == 'O') goto yy1314; + if (yych != 'o') goto yy56; +yy1314: + yych = *++YYCURSOR; + if (yych == 'F') goto yy1315; + if (yych != 'f') goto yy56; +yy1315: + ++YYCURSOR; +#line 1032 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("firstdayof | lastdayof"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + + /* skip "last day of" or "first day of" */ + if (*ptr == 'l' || *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; } -yy804: - yyaccept = 7; +#line 18543 "" +yy1317: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy274; - goto yy134; + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == ' ') goto yy134; - goto yy274; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { - if (yych <= '.') { - if (yych <= ')') goto yy107; - if (yych <= ',') goto yy274; - goto yy134; + if (yych <= '_') { + if (yych <= 'S') goto yy1307; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '/') goto yy274; - if (yych <= '9') goto yy134; - goto yy274; + if (yych <= 'r') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 's') goto yy1318; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy805: - yyaccept = 2; +yy1318: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy924; - } - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy18; - goto yy276; + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; + } } else { - if (yych <= '/') { - if (yych <= '.') goto yy18; - goto yy276; + if (yych <= '_') { + if (yych <= 'T') goto yy1308; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == '_') goto yy276; - goto yy18; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 't') goto yy1319; + if (yych <= 'z') goto yy150; + goto yy3; + } } } -yy806: - yyaccept = 7; +yy1319: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy924; - } - if (yych <= ',') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy134; - goto yy274; + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1104; + if (yych <= 0x1F) goto yy3; + goto yy1309; } else { - if (yych <= ' ') goto yy134; - if (yych == ')') goto yy107; - goto yy274; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } } else { - if (yych <= '/') { - if (yych <= '-') goto yy684; - if (yych <= '.') goto yy134; - goto yy276; + if (yych <= 'Z') { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } else { - if (yych <= '9') goto yy134; - if (yych == '_') goto yy276; - goto yy274; + if (yych <= '_') { + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy151; + goto yy3; + } } } -yy807: +yy1320: yych = *++YYCURSOR; - if (yych == 'F') goto yy926; - if (yych == 'f') goto yy926; - goto yy56; -yy808: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'B') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy141; + goto yy1356; + } } else { - if (yych <= 'E') goto yy927; - if (yych == 'e') goto yy927; - goto yy18; + if (yych <= 'a') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; + } else { + if (yych <= 'b') goto yy1356; + if (yych <= 'z') goto yy141; + goto yy3; + } } -yy809: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; +yy1321: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == 'F') goto yy1346; + if (yych <= 'Q') goto yy141; + goto yy1345; } } else { - if (yych <= '`') { - if (yych <= 'E') goto yy927; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= 'f') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych <= 'e') goto yy141; + goto yy1346; } else { - if (yych == 'e') goto yy928; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych == 'r') goto yy1345; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy810: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); - yych = *YYCURSOR; -yy811: - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy810; - if (yych <= 0x1F) goto yy56; - goto yy810; - } else { - if (yych == 'D') goto yy837; - if (yych <= 'E') goto yy56; - goto yy838; - } +yy1322: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= 'M') { - if (yych == 'H') goto yy839; - if (yych <= 'L') goto yy56; - goto yy840; - } else { - if (yych <= 'S') { - if (yych <= 'R') goto yy56; - goto yy841; - } else { - if (yych <= 'T') goto yy842; - if (yych <= 'V') goto yy56; - goto yy929; - } - } + if (yych <= '@') goto yy3; + if (yych <= 'T') goto yy141; + goto yy1342; } } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy844; - if (yych <= 'c') goto yy56; - goto yy837; - } else { - if (yych <= 'f') { - if (yych <= 'e') goto yy56; - goto yy838; - } else { - if (yych == 'h') goto yy839; - goto yy56; - } - } + if (yych <= 't') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 't') { - if (yych <= 'm') goto yy840; - if (yych <= 'r') goto yy56; - if (yych <= 's') goto yy841; - goto yy842; - } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy56; - goto yy929; - } else { - if (yych == 'y') goto yy844; - goto yy56; - } - } + if (yych <= 'u') goto yy1342; + if (yych <= 'z') goto yy141; + goto yy3; + } + } +yy1323: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == 'I') goto yy1325; + if (yych <= 'N') goto yy141; + } + } else { + if (yych <= 'i') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy141; + goto yy1325; + } else { + if (yych == 'o') goto yy1324; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy812: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy810; - goto yy18; +yy1324: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy142; + goto yy1328; + } } else { - if (yych <= ' ') goto yy810; - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'm') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; + } else { + if (yych <= 'n') goto yy1328; + if (yych <= 'z') goto yy142; + goto yy3; + } } -yy813: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == ')') goto yy107; - goto yy18; +yy1325: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy166; + goto yy139; + } else { + if (yych <= '@') goto yy166; + if (yych <= 'C') goto yy142; + } } else { - if (yych <= 'T') goto yy930; - if (yych == 't') goto yy930; - goto yy18; + if (yych <= 'c') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy166; + goto yy142; + } else { + if (yych <= 'd') goto yy1326; + if (yych <= 'z') goto yy142; + goto yy166; + } } -yy814: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy924; +yy1326: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy143; + goto yy3; + } else { + if (yych <= 'a') goto yy1327; + if (yych <= 'z') goto yy143; + goto yy3; + } } - if (yych <= ')') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy810; - goto yy18; +yy1327: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= ' ') goto yy810; - if (yych <= '(') goto yy18; - goto yy107; + if (yych <= '@') goto yy3; + if (yych <= 'X') goto yy144; + goto yy1235; } } else { - if (yych <= '.') { - if (yych == '-') goto yy276; - goto yy18; + if (yych <= 'x') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= '/') goto yy276; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= 'y') goto yy1235; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy815: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; +yy1328: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy143; } } else { - if (yych <= '`') { - if (yych <= 'T') goto yy930; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= 's') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych == 't') goto yy931; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= 't') goto yy1329; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy816: - yyaccept = 2; +yy1329: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= ')') { + if (yych == ' ') goto yy1330; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= 'R') goto yy932; - if (yych == 'r') goto yy932; - goto yy18; + if (yych <= 'Z') { + if (yych <= '@') goto yy3; + goto yy144; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy144; + goto yy3; + } } -yy817: +yy1330: yych = *++YYCURSOR; - if (yych == 'D') goto yy845; - if (yych == 'd') goto yy845; - goto yy811; -yy818: + if (yych == 'O') goto yy1331; + if (yych != 'o') goto yy56; +yy1331: yych = *++YYCURSOR; - if (yych == ')') goto yy107; - goto yy294; -yy819: - yyaccept = 2; + if (yych == 'F') goto yy1332; + if (yych != 'f') goto yy56; +yy1332: + yych = *++YYCURSOR; + if (yych != ' ') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy1334; + if (yych <= '2') goto yy1335; + if (yych <= '9') goto yy1336; + goto yy56; +yy1334: + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= '/') goto yy1337; + if (yych <= '9') goto yy1336; + goto yy1337; +yy1335: + yyaccept = 28; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy1337; + if (yych >= '5') goto yy1337; +yy1336: + yyaccept = 28; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; +yy1337: + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy1336; + goto yy1294; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych <= ' ') goto yy1336; + if (yych <= '@') goto yy1294; } } else { if (yych <= '`') { - if (yych <= 'R') goto yy932; - if (yych == '_') goto yy276; - goto yy18; + if (yych != 'P') goto yy1294; } else { - if (yych == 'r') goto yy933; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= 'a') goto yy1338; + if (yych != 'p') goto yy1294; } } -yy820: - yyaccept = 9; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy924; - } - if (yych <= '-') { - if (yych == ')') goto yy107; - if (yych <= ',') goto yy294; - goto yy276; +yy1338: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; } else { - if (yych <= '/') { - if (yych <= '.') goto yy294; - goto yy276; - } else { - if (yych == '_') goto yy276; - goto yy294; - } + if (yych <= 'M') goto yy1340; + if (yych == 'm') goto yy1340; + goto yy56; } -yy821: yych = *++YYCURSOR; - if (yych <= '/') goto yy136; - if (yych <= '9') goto yy934; - goto yy136; -yy822: + if (yych == 'M') goto yy1340; + if (yych != 'm') goto yy56; +yy1340: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy935; - if (yych <= '6') goto yy936; - if (yych <= '9') goto yy674; - goto yy56; -yy823: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy822; - goto yy136; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy1302; + if (yych == '\t') goto yy1302; + goto yy56; } else { - if (yych <= '9') goto yy821; - if (yych <= ':') goto yy822; - goto yy136; + if (yych <= ' ') goto yy1302; + if (yych != '.') goto yy56; } -yy824: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych != '.') goto yy136; + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy1302; + if (yych <= 0x08) goto yy56; + goto yy1302; } else { - if (yych <= '9') goto yy821; - if (yych >= ';') goto yy136; + if (yych == ' ') goto yy1302; + goto yy56; } -yy825: +yy1342: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy937; - if (yych <= '6') goto yy938; - if (yych <= '9') goto yy681; - goto yy56; -yy826: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych != '.') goto yy136; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy142; + } } else { - if (yych <= '9') goto yy821; - if (yych >= ';') goto yy136; + if (yych <= 'q') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; + } else { + if (yych <= 'r') goto yy1343; + if (yych <= 'z') goto yy142; + goto yy3; + } } -yy827: +yy1343: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy939; - if (yych <= '6') goto yy940; - if (yych <= '9') goto yy941; - goto yy56; -yy828: + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy143; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; + } else { + if (yych <= 't') goto yy1344; + if (yych <= 'z') goto yy143; + goto yy3; + } + } +yy1344: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy942; - if (yych <= '6') goto yy943; - if (yych <= '9') goto yy674; - goto yy56; -yy829: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy944; - if (yych <= 0x1F) goto yy136; - goto yy944; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '.') { - if (yych <= '-') goto yy136; - goto yy828; - } else { - if (yych <= '/') goto yy136; - if (yych <= '9') goto yy821; - goto yy828; - } + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy144; + goto yy1215; } } else { - if (yych <= 'P') { - if (yych == 'A') goto yy946; - if (yych <= 'O') goto yy136; - goto yy946; + if (yych <= 'g') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'a') { - if (yych <= '`') goto yy136; - goto yy946; - } else { - if (yych == 'p') goto yy946; - goto yy136; - } + if (yych <= 'h') goto yy1215; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy830: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy944; - if (yych <= 0x1F) goto yy136; - goto yy944; +yy1345: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '.') { - if (yych <= '-') goto yy136; - } else { - if (yych <= '/') goto yy136; - if (yych <= '9') goto yy821; - } + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy142; + goto yy1348; } } else { - if (yych <= 'P') { - if (yych == 'A') goto yy946; - if (yych <= 'O') goto yy136; - goto yy946; + if (yych <= 'r') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 'a') { - if (yych <= '`') goto yy136; - goto yy946; - } else { - if (yych == 'p') goto yy946; - goto yy136; - } + if (yych <= 's') goto yy1348; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy831: +yy1346: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy937; - if (yych <= '6') goto yy947; - if (yych <= '9') goto yy681; - goto yy56; -yy832: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy944; - if (yych <= 0x1F) goto yy136; - goto yy944; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '.') { - if (yych <= '-') goto yy136; - } else { - if (yych <= '/') goto yy136; - if (yych <= '9') goto yy821; - } + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; } } else { - if (yych <= 'P') { - if (yych == 'A') goto yy946; - if (yych <= 'O') goto yy136; - goto yy946; + if (yych <= 's') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 'a') { - if (yych <= '`') goto yy136; - goto yy946; - } else { - if (yych == 'p') goto yy946; - goto yy136; - } + if (yych <= 't') goto yy1347; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy833: +yy1347: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy948; - if (yych <= '6') goto yy949; - if (yych <= '9') goto yy941; - goto yy56; -yy834: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy944; - if (yych <= 0x1F) goto yy673; - goto yy944; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '.') goto yy833; - if (yych <= '9') goto yy673; - goto yy833; + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy143; + goto yy1238; } } else { - if (yych <= 'P') { - if (yych == 'A') goto yy946; - if (yych <= 'O') goto yy673; - goto yy946; + if (yych <= 'g') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'a') { - if (yych <= '`') goto yy673; - goto yy946; - } else { - if (yych == 'p') goto yy946; - goto yy673; - } + if (yych <= 'h') goto yy1238; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy835: +yy1348: yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy143; + } } else { - if (yych <= 'Y') goto yy950; - if (yych == 'y') goto yy950; - goto yy18; + if (yych <= 's') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; + } else { + if (yych <= 't') goto yy1349; + if (yych <= 'z') goto yy143; + goto yy3; + } } -yy836: - yyaccept = 2; +yy1349: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy1206; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych != ' ') goto yy3; } } else { - if (yych <= '`') { - if (yych <= 'Y') goto yy950; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= 'Z') { + if (yych <= ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy144; } else { - if (yych == 'y') goto yy951; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy837: +yy1350: yych = *++YYCURSOR; - if (yych == 'A') goto yy952; - if (yych == 'a') goto yy952; - goto yy56; -yy838: + if (yych == 'D') goto yy1351; + if (yych != 'd') goto yy1207; +yy1351: + yych = *++YYCURSOR; + if (yych == 'A') goto yy1352; + if (yych != 'a') goto yy56; +yy1352: yych = *++YYCURSOR; + if (yych == 'Y') goto yy1353; + if (yych != 'y') goto yy56; +yy1353: + yyaccept = 26; + yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { - if (yych == 'O') goto yy953; - if (yych <= 'Q') goto yy56; - goto yy954; + if (yych != ' ') goto yy1117; } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy56; - goto yy953; + if (yych <= 'S') goto yy1142; + if (yych == 's') goto yy1142; + goto yy1117; + } + yych = *++YYCURSOR; + if (yych == 'O') goto yy1355; + if (yych != 'o') goto yy56; +yy1355: + yych = *++YYCURSOR; + if (yych == 'F') goto yy1315; + if (yych == 'f') goto yy1315; + goto yy56; +yy1356: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; + } else { + if (yych == ' ') goto yy195; + goto yy193; + } } else { - if (yych == 'r') goto yy954; - goto yy56; + if (yych <= ',') { + if (yych <= ')') goto yy139; + goto yy193; + } else { + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; + } } - } -yy839: - yych = *++YYCURSOR; - if (yych == 'O') goto yy955; - if (yych == 'o') goto yy955; - goto yy56; -yy840: - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych == 'I') goto yy956; - if (yych <= 'N') goto yy56; - goto yy957; } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy56; - goto yy956; + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy195; + goto yy193; + } else { + if (yych != 'R') goto yy142; + } } else { - if (yych == 'o') goto yy957; - goto yy56; + if (yych <= 'q') { + if (yych <= '`') goto yy193; + goto yy142; + } else { + if (yych <= 'r') goto yy1357; + if (yych <= 'z') goto yy142; + goto yy193; + } } } -yy841: +yy1357: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'A') goto yy958; - goto yy56; + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= 'E') goto yy959; - if (yych <= 'T') goto yy56; - goto yy960; + if (yych <= '@') goto yy3; + if (yych <= 'T') goto yy143; } } else { - if (yych <= 'd') { - if (yych == 'a') goto yy958; - goto yy56; + if (yych <= 't') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'e') goto yy959; - if (yych == 'u') goto yy960; - goto yy56; + if (yych <= 'u') goto yy1358; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy842: +yy1358: yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'H') goto yy961; - if (yych <= 'T') goto yy56; - goto yy962; + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy56; - goto yy961; + if (yych <= '`') { + if (yych <= 'Z') goto yy144; + goto yy3; } else { - if (yych == 'u') goto yy962; - goto yy56; + if (yych <= 'a') goto yy1359; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy843: - yych = *++YYCURSOR; - if (yych == 'E') goto yy963; - if (yych == 'e') goto yy963; - goto yy56; -yy844: - yych = *++YYCURSOR; - if (yych == 'E') goto yy964; - if (yych == 'e') goto yy964; - goto yy56; -yy845: - yych = *++YYCURSOR; - if (yych == 'A') goto yy965; - if (yych == 'a') goto yy965; - goto yy56; -yy846: - yyaccept = 2; +yy1359: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'Q') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'H') goto yy966; - if (yych == 'h') goto yy966; - goto yy18; + if (yych <= 'R') goto yy1360; + if (yych != 'r') goto yy3; } -yy847: - yyaccept = 2; +yy1360: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy205; + if (yych == 'y') goto yy205; + goto yy56; +yy1361: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'A') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { - if (yych <= '`') { - if (yych <= 'H') goto yy966; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= '_') { + if (yych <= 'B') goto yy1356; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'h') goto yy967; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= 'a') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'b') goto yy1379; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy848: - yych = *++YYCURSOR; - if (yych <= 'Q') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'R') goto yy950; - if (yych == 'r') goto yy950; - goto yy18; - } -yy849: - yyaccept = 2; +yy1362: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych == '-') goto yy147; + goto yy3; + } } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych <= '@') { + if (yych <= '/') goto yy147; + goto yy3; + } else { + if (yych == 'F') goto yy1346; + goto yy141; + } } } else { if (yych <= '`') { - if (yych <= 'R') goto yy950; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= 'Z') { + if (yych <= 'R') goto yy1345; + goto yy141; + } else { + if (yych == '_') goto yy147; + goto yy3; + } } else { - if (yych == 'r') goto yy951; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= 'q') { + if (yych == 'f') goto yy1375; + goto yy146; + } else { + if (yych <= 'r') goto yy1374; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy850: - yyaccept = 2; +yy1363: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; + } } else { - if (yych <= 'U') goto yy968; - if (yych == 'u') goto yy968; - goto yy18; + if (yych <= '_') { + if (yych <= 'U') goto yy1342; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 't') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'u') goto yy1371; + if (yych <= 'z') goto yy146; + goto yy3; + } + } } -yy851: - yyaccept = 2; +yy1364: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'N') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych == '-') goto yy147; + goto yy3; + } } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych <= '@') { + if (yych <= '/') goto yy147; + goto yy3; + } else { + if (yych == 'I') goto yy1325; + goto yy141; + } } } else { if (yych <= '`') { - if (yych <= 'U') goto yy968; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= 'Z') { + if (yych <= 'O') goto yy1324; + goto yy141; + } else { + if (yych == '_') goto yy147; + goto yy3; + } } else { - if (yych == 'u') goto yy969; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= 'n') { + if (yych == 'i') goto yy1366; + goto yy146; + } else { + if (yych <= 'o') goto yy1365; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy852: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'A') goto yy970; - if (yych == 'a') goto yy970; - goto yy18; - } -yy853: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'B') goto yy971; - if (yych == 'b') goto yy971; - goto yy18; - } -yy854: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'H') goto yy972; - if (yych == 'h') goto yy972; - goto yy18; - } -yy855: - yyaccept = 2; +yy1365: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'A') goto yy970; - if (yych <= '^') goto yy18; - goto yy276; + if (yych <= 'N') goto yy1328; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy18; - if (yych <= 'a') goto yy973; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 'n') goto yy1369; + if (yych <= 'z') goto yy150; + goto yy3; + } } } -yy856: - yyaccept = 2; +yy1366: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { - if (yych <= '`') { - if (yych <= 'B') goto yy971; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= '_') { + if (yych <= 'D') goto yy1326; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { - if (yych == 'b') goto yy974; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= 'c') { + if (yych <= '`') goto yy166; + goto yy150; + } else { + if (yych <= 'd') goto yy1367; + if (yych <= 'z') goto yy150; + goto yy166; + } } } -yy857: - yyaccept = 2; +yy1367: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { + if (yych <= '@') { if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { - if (yych <= '`') { - if (yych <= 'H') goto yy972; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= '_') { + if (yych <= 'A') goto yy1327; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'h') goto yy975; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1368; + if (yych <= 'z') goto yy151; + goto yy3; } } -yy858: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy976; - goto yy56; -yy859: - yych = *++YYCURSOR; - if (yych == '0') goto yy976; - goto yy56; -yy860: - yyaccept = 2; +yy1368: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'O') goto yy977; - if (yych == 'o') goto yy977; - goto yy18; - } -yy861: - yych = *++YYCURSOR; if (yych <= 'X') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'Y') goto yy978; - if (yych == 'y') goto yy978; - goto yy18; - } -yy862: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { - if (yych <= '`') { - if (yych <= 'O') goto yy977; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= '_') { + if (yych <= 'Y') goto yy1235; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'o') goto yy979; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= 'x') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'y') goto yy1264; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy863: - yyaccept = 2; +yy1369: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { - if (yych <= '`') { - if (yych <= 'Y') goto yy978; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= '_') { + if (yych <= 'T') goto yy1329; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'y') goto yy980; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 't') goto yy1370; + if (yych <= 'z') goto yy151; + goto yy3; + } } } -yy864: - yyaccept = 2; +yy1370: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'D') goto yy981; - if (yych == 'd') goto yy981; - goto yy18; - } -yy865: - yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= '.') { + if (yych <= '(') { + if (yych == ' ') goto yy1330; + goto yy3; + } else { + if (yych <= ')') goto yy139; + if (yych == '-') goto yy147; + goto yy3; + } } else { - if (yych <= 'Y') goto yy982; - if (yych == 'y') goto yy982; - goto yy18; + if (yych <= '^') { + if (yych <= '/') goto yy147; + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy144; + goto yy3; + } else { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy152; + goto yy3; + } } -yy866: - yyaccept = 2; +yy1371: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { - if (yych <= '`') { - if (yych <= 'D') goto yy981; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= '_') { + if (yych <= 'R') goto yy1343; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'd') goto yy983; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 'r') goto yy1372; + if (yych <= 'z') goto yy150; + goto yy3; + } } - } -yy867: - yyaccept = 2; + } +yy1372: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { - if (yych <= '`') { - if (yych <= 'Y') goto yy982; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= '_') { + if (yych <= 'T') goto yy1344; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'y') goto yy984; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 't') goto yy1373; + if (yych <= 'z') goto yy151; + goto yy3; + } } } -yy868: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych == ')') goto yy107; - goto yy18; - } else { - if (yych <= 'D') goto yy985; - if (yych == 'd') goto yy985; - goto yy18; - } -yy869: - yyaccept = 2; +yy1373: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych <= ',') { - if (yych == ')') goto yy107; - goto yy18; + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '.') goto yy18; - if (yych <= '/') goto yy276; - goto yy18; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { - if (yych <= '`') { - if (yych <= 'D') goto yy985; - if (yych == '_') goto yy276; - goto yy18; + if (yych <= '_') { + if (yych <= 'H') goto yy1215; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'd') goto yy986; - if (yych <= 'z') goto yy924; - goto yy18; + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'h') goto yy1227; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy870: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy987; - goto yy56; -yy871: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy987; - goto yy56; -yy872: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy988; - goto yy56; -yy873: - yych = *++YYCURSOR; - goto yy544; -yy874: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '/') goto yy208; - if (yych <= '9') goto yy874; - goto yy208; -yy876: - yych = *++YYCURSOR; - if (yych <= '/') goto yy213; - if (yych <= '9') goto yy990; - goto yy213; -yy877: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy991; - goto yy56; -yy878: - yyaccept = 15; +yy1374: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy544; - if (yych <= '9') goto yy992; - if (yych <= 'm') goto yy544; - goto yy721; + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; + } } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy544; - goto yy721; + if (yych <= '_') { + if (yych <= 'S') goto yy1348; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; - goto yy544; + if (yych <= 'r') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 's') goto yy1377; + if (yych <= 'z') goto yy150; + goto yy3; + } } } -yy879: - yyaccept = 15; +yy1375: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '1') { - if (yych <= '/') goto yy544; - goto yy992; + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '9') goto yy717; - if (yych <= 'm') goto yy544; - goto yy721; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy544; - goto yy721; + if (yych <= '_') { + if (yych <= 'T') goto yy1347; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; - goto yy544; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 't') goto yy1376; + if (yych <= 'z') goto yy150; + goto yy3; + } } } -yy880: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy994; - if (yych <= '3') goto yy995; - if (yych <= '9') goto yy996; - goto yy56; -yy881: - yyaccept = 20; +yy1376: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy997; - goto yy732; -yy882: - yych = *++YYCURSOR; - if (yych == 'R') goto yy998; - if (yych == 'r') goto yy998; - goto yy56; -yy883: - yych = *++YYCURSOR; - if (yych == 'G') goto yy999; - if (yych == 'g') goto yy999; - goto yy56; -yy884: - yych = *++YYCURSOR; - if (yych == 'C') goto yy1000; - if (yych == 'c') goto yy1000; - goto yy56; -yy885: - yych = *++YYCURSOR; - if (yych == 'B') goto yy1001; - if (yych == 'b') goto yy1001; - goto yy56; -yy886: - yych = *++YYCURSOR; - if (yych == 'N') goto yy1002; - if (yych == 'n') goto yy1002; - goto yy56; -yy887: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'L') goto yy1003; - if (yych <= 'M') goto yy56; - goto yy1004; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy56; - goto yy1003; + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == 'n') goto yy1004; - goto yy56; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } - } -yy888: - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'R') goto yy1005; - if (yych <= 'X') goto yy56; - goto yy1006; } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy56; - goto yy1005; + if (yych <= '_') { + if (yych <= 'H') goto yy1238; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'y') goto yy1006; - goto yy56; + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'h') goto yy1267; + if (yych <= 'z') goto yy151; + goto yy3; + } } } -yy889: - yych = *++YYCURSOR; - if (yych == 'V') goto yy1000; - if (yych == 'v') goto yy1000; - goto yy56; -yy890: - yych = *++YYCURSOR; - if (yych == 'T') goto yy1007; - if (yych == 't') goto yy1007; - goto yy56; -yy891: - yych = *++YYCURSOR; - if (yych == 'P') goto yy1008; - if (yych == 'p') goto yy1008; - goto yy56; -yy892: - yych = *++YYCURSOR; - if (yych <= '0') goto yy56; - if (yych <= '9') goto yy1009; - goto yy56; -yy893: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1009; - goto yy56; -yy894: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '6') goto yy1009; - goto yy56; -yy895: - yych = *++YYCURSOR; - if (yych == 'P') goto yy913; - if (yych == 'p') goto yy913; - goto yy56; -yy896: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy1010; - if (yych <= '3') goto yy1012; - if (yych <= '9') goto yy1013; - goto yy56; -yy897: - yych = *++YYCURSOR; - if (yych == '/') goto yy1014; - goto yy56; -yy898: - yych = *++YYCURSOR; - if (yych <= '/') goto yy186; - if (yych <= '9') goto yy1015; - goto yy186; -yy899: - yyaccept = 22; +yy1377: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych >= ' ') goto yy186; - } else { - if (yych <= '/') goto yy900; - if (yych <= '9') goto yy1015; - if (yych >= 'D') goto yy186; - } + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= 'H') { - if (yych == 'F') goto yy186; - if (yych >= 'H') goto yy186; - } else { - if (yych <= 'M') { - if (yych >= 'M') goto yy186; - } else { - if (yych <= 'R') goto yy900; - if (yych <= 'T') goto yy186; - } - } + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy900; - if (yych <= 'Y') goto yy186; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy186; - } else { - if (yych != 'g') goto yy186; - } - } + if (yych <= '_') { + if (yych <= 'T') goto yy1349; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 't') { - if (yych == 'm') goto yy186; - if (yych >= 's') goto yy186; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'w') { - if (yych >= 'w') goto yy186; - } else { - if (yych == 'y') goto yy186; - } + if (yych <= 't') goto yy1378; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy900: -#line 1426 "ext/date/lib/parse_date.re" - { - 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; - } -#line 16781 "" -yy901: - yyaccept = 22; +yy1378: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy900; - goto yy186; - } else { - if (yych <= '1') { - if (yych <= '/') goto yy900; - goto yy1015; - } else { - if (yych <= '9') goto yy57; - if (yych <= 'C') goto yy900; - goto yy186; - } - } + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1206; + if (yych <= 0x1F) goto yy3; + goto yy1350; } else { - if (yych <= 'H') { - if (yych == 'F') goto yy186; - if (yych <= 'G') goto yy900; - goto yy186; - } else { - if (yych <= 'M') { - if (yych <= 'L') goto yy900; - goto yy186; - } else { - if (yych <= 'R') goto yy900; - if (yych <= 'T') goto yy186; - goto yy900; - } - } + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } } else { - if (yych <= 'h') { - if (yych <= 'c') { - if (yych == 'X') goto yy900; - if (yych <= 'Y') goto yy186; - goto yy900; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy186; - goto yy900; - } else { - if (yych == 'g') goto yy900; - goto yy186; - } - } + if (yych <= 'Z') { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } else { - if (yych <= 't') { - if (yych == 'm') goto yy186; - if (yych <= 'r') goto yy900; - goto yy186; + if (yych <= '_') { + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy900; - goto yy186; - } else { - if (yych == 'y') goto yy186; - goto yy900; - } + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy902: - yyaccept = 22; +yy1379: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy57; - } - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy186; - if (yych <= 0x1F) goto yy900; - goto yy186; + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == 'D') goto yy186; - if (yych <= 'E') goto yy900; - goto yy186; + if (yych == ' ') goto yy195; + goto yy193; } } else { - if (yych <= 'M') { - if (yych == 'H') goto yy186; - if (yych <= 'L') goto yy900; - goto yy186; + if (yych <= '-') { + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych <= 'R') goto yy900; - if (yych <= 'T') goto yy186; - if (yych <= 'V') goto yy900; - goto yy186; + if (yych == '/') goto yy147; + goto yy195; } } } else { - if (yych <= 'h') { - if (yych <= 'd') { - if (yych == 'Y') goto yy186; - if (yych <= 'c') goto yy900; - goto yy186; + if (yych <= '^') { + if (yych <= 'Q') { + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych == 'f') goto yy186; - if (yych <= 'g') goto yy900; - goto yy186; + if (yych <= 'R') goto yy1357; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { - if (yych <= 't') { - if (yych == 'm') goto yy186; - if (yych <= 'r') goto yy900; - goto yy186; + if (yych <= 'q') { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'w') { - if (yych <= 'v') goto yy900; - goto yy186; - } else { - if (yych == 'y') goto yy186; - goto yy900; - } + if (yych <= 'r') goto yy1380; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy903: - yych = *++YYCURSOR; - if (yych == ':') goto yy1017; - goto yy56; -yy904: - yyaccept = 23; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'I') goto yy1018; - if (yych == 'i') goto yy1018; - goto yy576; -yy905: - yyaccept = 23; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy1019; - if (yych == 'u') goto yy1019; - goto yy576; -yy906: - yyaccept = 23; +yy1380: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy1020; - if (yych == 'e') goto yy1020; - goto yy576; -yy907: - yyaccept = 23; + if (yych <= 'T') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } + } else { + if (yych <= '_') { + if (yych <= 'U') goto yy1358; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 't') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'u') goto yy1381; + if (yych <= 'z') goto yy151; + goto yy3; + } + } + } +yy1381: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'R') goto yy1021; - if (yych == 'r') goto yy1021; - goto yy576; -yy908: - yyaccept = 23; + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy1359; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1382; + if (yych <= 'z') goto yy152; + goto yy3; + } + } +yy1382: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy1022; - if (yych == 'u') goto yy1022; - goto yy576; -yy909: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy767; - if (yych == 'y') goto yy767; - goto yy576; -yy910: + if (yych <= 'Q') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'R') goto yy1360; + if (yych == '_') goto yy147; + goto yy3; + } else { + if (yych == 'r') goto yy1383; + if (yych <= 'z') goto yy153; + goto yy3; + } + } +yy1383: yych = *++YYCURSOR; - if (yych == 'E') goto yy767; - if (yych == 'e') goto yy767; - goto yy576; -yy911: - yyaccept = 23; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'C') goto yy1023; - if (yych == 'c') goto yy1023; - goto yy576; -yy912: - yyaccept = 23; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'O') goto yy1024; - if (yych == 'o') goto yy1024; - goto yy576; -yy913: + if (yych == 'Y') goto yy205; + if (yych == 'y') goto yy376; + goto yy154; +yy1384: yych = *++YYCURSOR; - if (yych == 'T') goto yy906; - if (yych == 't') goto yy906; - goto yy576; -yy914: - yyaccept = 24; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy1025; - if (yych <= '/') goto yy915; - if (yych <= '7') goto yy1026; -yy915: -#line 1459 "ext/date/lib/parse_date.re" + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy1385: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy1387; + if (yych <= '9') goto yy1385; +yy1387: +#line 1006 "ext/date/lib/parse_date.re" { - timelib_sll w, d; - DEBUG_OUTPUT("isoweek"); + timelib_ull i; + TIMELIB_INIT; - TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); + TIMELIB_UNHAVE_DATE(); + TIMELIB_UNHAVE_TIME(); + TIMELIB_HAVE_TZ(); - s->time->y = timelib_get_nr((char **) &ptr, 4); - w = timelib_get_nr((char **) &ptr, 2); - d = 1; + i = timelib_get_unsigned_nr((char **) &ptr, 24); + s->time->y = 1970; s->time->m = 1; s->time->d = 1; - s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); + 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_ISO_WEEK; + return TIMELIB_RELATIVE; } -#line 16990 "" -yy916: - yych = *++YYCURSOR; - if (yych == 'G') goto yy1028; - if (yych == 'g') goto yy1028; - goto yy56; -yy917: +#line 19928 "" +yy1388: yych = *++YYCURSOR; - if (yych == 'Y') goto yy242; - if (yych == 'y') goto yy242; - goto yy56; -yy918: + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy141; + goto yy1429; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; + } else { + if (yych <= 'n') goto yy1429; + if (yych <= 'z') goto yy141; + goto yy3; + } + } +yy1389: yych = *++YYCURSOR; - if (yych == 'R') goto yy242; - if (yych == 'r') goto yy242; - goto yy56; -yy919: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy613; - if (yych <= 0x1F) goto yy208; - goto yy613; + if (yych <= 'U') { + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy1029; - if (yych <= '9') goto yy208; - goto yy1030; + if (yych == 'I') goto yy1421; + if (yych <= 'T') goto yy141; + goto yy1422; } } else { - if (yych <= 'P') { - if (yych == 'A') goto yy100; - if (yych <= 'O') goto yy208; - goto yy100; + if (yych <= 'i') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy141; + goto yy1421; } else { - if (yych <= 'a') { - if (yych <= '`') goto yy208; - goto yy100; - } else { - if (yych == 'p') goto yy100; - goto yy208; - } + if (yych == 'u') goto yy1422; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy920: - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy544; - if (yych <= '9') goto yy1031; - if (yych <= 'm') goto yy544; - goto yy721; +yy1390: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == 'D') goto yy1410; + if (yych <= 'L') goto yy141; + goto yy1411; + } } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy544; - goto yy721; + if (yych <= 'd') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych <= 'c') goto yy141; + goto yy1410; } else { - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; - goto yy544; + if (yych == 'm') goto yy1411; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy921: - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy544; - if (yych <= '1') goto yy1031; - if (yych <= 'm') goto yy544; - goto yy721; +yy1391: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy141; + goto yy1406; + } } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy544; - goto yy721; + if (yych <= 'd') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; - goto yy544; + if (yych <= 'e') goto yy1406; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy922: +yy1392: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy1032; - if (yych <= '3') goto yy1033; - goto yy56; -yy923: + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy141; + goto yy1402; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; + } else { + if (yych <= 'e') goto yy1402; + if (yych <= 'z') goto yy141; + goto yy3; + } + } +yy1393: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1034; - goto yy56; -yy924: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; -yy925: - if (yybm[0+yych] & 128) { - goto yy924; + if (yych <= '/') { + if (yych == '.') goto yy1064; + goto yy56; + } else { + if (yych <= '9') goto yy1396; + if (yych <= ':') goto yy1064; + goto yy56; } - if (yych <= '.') { - if (yych == '-') goto yy276; +yy1394: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1064; goto yy56; } else { - if (yych <= '/') goto yy276; - if (yych == '_') goto yy276; + if (yych <= '4') goto yy1396; + if (yych == ':') goto yy1064; goto yy56; } -yy926: +yy1395: yych = *++YYCURSOR; - if (yych == ' ') goto yy1036; + if (yych == '.') goto yy1064; + if (yych == ':') goto yy1064; goto yy56; -yy927: +yy1396: yych = *++YYCURSOR; - if (yych == 'R') goto yy950; - if (yych == 'r') goto yy950; - goto yy56; -yy928: + if (yych <= '/') { + if (yych == '.') goto yy1064; + goto yy56; + } else { + if (yych <= '5') goto yy1397; + if (yych == ':') goto yy1064; + goto yy56; + } +yy1397: yych = *++YYCURSOR; - if (yych == 'R') goto yy950; - if (yych == 'r') goto yy951; - goto yy925; -yy929: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy1067; + if (yych <= '5') goto yy1399; + if (yych <= '6') goto yy1400; + goto yy1067; +yy1399: yych = *++YYCURSOR; - if (yych == 'E') goto yy1037; - if (yych == 'e') goto yy1037; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1401; goto yy56; -yy930: +yy1400: yych = *++YYCURSOR; - if (yych == 'H') goto yy972; - if (yych == 'h') goto yy972; - goto yy56; -yy931: + if (yych != '0') goto yy56; +yy1401: yych = *++YYCURSOR; - if (yych == 'H') goto yy972; - if (yych == 'h') goto yy975; - goto yy925; -yy932: + goto yy1075; +yy1402: yych = *++YYCURSOR; - if (yych == 'Y') goto yy950; - if (yych == 'y') goto yy950; - goto yy56; -yy933: + if (yych <= 'L') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'K') goto yy142; + } + } else { + if (yych <= 'k') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; + } else { + if (yych <= 'l') goto yy1403; + if (yych <= 'z') goto yy142; + goto yy3; + } + } +yy1403: yych = *++YYCURSOR; - if (yych == 'Y') goto yy950; - if (yych == 'y') goto yy951; - goto yy925; -yy934: + if (yych <= 'F') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'E') goto yy143; + } + } else { + if (yych <= 'e') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; + } else { + if (yych <= 'f') goto yy1404; + if (yych <= 'z') goto yy143; + goto yy3; + } + } +yy1404: yych = *++YYCURSOR; - goto yy136; -yy935: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy827; - goto yy673; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy144; + } } else { - if (yych <= '9') goto yy1038; - if (yych <= ':') goto yy827; - goto yy673; + if (yych <= 's') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; + } else { + if (yych <= 't') goto yy1405; + if (yych <= 'z') goto yy144; + goto yy3; + } } -yy936: - yyaccept = 17; +yy1405: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy827; - goto yy673; + if (yych <= 'G') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= '0') goto yy1039; - if (yych == ':') goto yy827; - goto yy673; + if (yych <= 'H') goto yy1205; + if (yych == 'h') goto yy1205; + goto yy3; } -yy937: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy833; - goto yy673; +yy1406: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy166; + goto yy139; + } else { + if (yych <= '@') goto yy166; + if (yych <= 'R') goto yy142; + } } else { - if (yych <= '9') goto yy1040; - if (yych <= ':') goto yy833; - goto yy673; + if (yych <= 'r') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy166; + goto yy142; + } else { + if (yych <= 's') goto yy1407; + if (yych <= 'z') goto yy142; + goto yy166; + } } -yy938: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy833; - goto yy673; +yy1407: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy143; + } } else { - if (yych <= '0') goto yy1039; - if (yych == ':') goto yy833; - goto yy673; + if (yych <= 'c') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; + } else { + if (yych <= 'd') goto yy1408; + if (yych <= 'z') goto yy143; + goto yy3; + } } -yy939: +yy1408: yych = *++YYCURSOR; - if (yych <= '/') goto yy673; - if (yych <= '9') goto yy1039; - goto yy673; -yy940: + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy144; + goto yy3; + } else { + if (yych <= 'a') goto yy1409; + if (yych <= 'z') goto yy144; + goto yy3; + } + } +yy1409: yych = *++YYCURSOR; - if (yych == '0') goto yy1039; - goto yy673; -yy941: + if (yych <= 'X') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'Y') goto yy172; + if (yych == 'y') goto yy172; + goto yy3; + } +yy1410: yych = *++YYCURSOR; - goto yy673; -yy942: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy827; - goto yy673; + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy1418; } else { - if (yych <= '9') goto yy1041; - if (yych <= ':') goto yy827; - goto yy673; + if (yych <= '`') { + if (yych <= 'Z') goto yy142; + goto yy3; + } else { + if (yych <= 'a') goto yy1418; + if (yych <= 'z') goto yy142; + goto yy3; + } } -yy943: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy827; - goto yy673; +yy1411: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'N') goto yy142; + } } else { - if (yych <= '0') goto yy1042; - if (yych == ':') goto yy827; - goto yy673; + if (yych <= 'n') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; + } else { + if (yych <= 'o') goto yy1412; + if (yych <= 'z') goto yy142; + goto yy3; + } } -yy944: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy944; - goto yy56; +yy1412: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= ' ') goto yy944; - if (yych <= '@') goto yy56; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy143; } } else { - if (yych <= '`') { - if (yych != 'P') goto yy56; + if (yych <= 'q') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'a') goto yy946; - if (yych != 'p') goto yy56; + if (yych <= 'r') goto yy1413; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy946: +yy1413: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == '.') goto yy1043; - goto yy56; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy144; + } } else { - if (yych <= 'M') goto yy1044; - if (yych == 'm') goto yy1044; - goto yy56; + if (yych <= 'q') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; + } else { + if (yych <= 'r') goto yy1414; + if (yych <= 'z') goto yy144; + goto yy3; + } } -yy947: - yyaccept = 17; +yy1414: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy833; - goto yy673; + if (yych <= 'N') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= '0') goto yy1042; - if (yych == ':') goto yy833; - goto yy673; + if (yych <= 'O') goto yy1415; + if (yych != 'o') goto yy3; } -yy948: +yy1415: yych = *++YYCURSOR; - if (yych <= '/') goto yy673; - if (yych <= '9') goto yy1042; - goto yy673; -yy949: + if (yych == 'W') goto yy1416; + if (yych != 'w') goto yy56; +yy1416: + ++YYCURSOR; +yy1417: +#line 994 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("tomorrow"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + TIMELIB_UNHAVE_TIME(); + + s->time->relative.d = 1; + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +#line 20345 "" +yy1418: yych = *++YYCURSOR; - if (yych == '0') goto yy1042; - goto yy673; -yy950: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy134; - if (yych <= 0x1F) goto yy274; - goto yy134; + if (yych <= 'Y') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'X') goto yy143; + } } else { - if (yych <= '.') { - if (yych <= ',') goto yy274; - goto yy134; + if (yych <= 'x') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= '/') goto yy274; - if (yych <= '9') goto yy134; - goto yy274; + if (yych <= 'y') goto yy1419; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy951: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy924; +yy1419: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy139; + } else { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy1420; + if (yych <= 'z') goto yy144; } - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy134; - goto yy274; +yy1420: +#line 984 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("midnight | today"); + TIMELIB_INIT; + TIMELIB_UNHAVE_TIME(); + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +#line 20386 "" +yy1421: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= ' ') goto yy134; - if (yych <= ',') goto yy274; - goto yy684; + if (yych <= 'Q') goto yy142; + if (yych <= 'R') goto yy1427; + goto yy1428; } } else { - if (yych <= '9') { - if (yych == '/') goto yy276; - goto yy134; + if (yych <= 'q') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych == '_') goto yy276; - goto yy274; + if (yych <= 'r') goto yy1427; + if (yych <= 's') goto yy1428; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy952: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1045; - if (yych == 'y') goto yy1045; - goto yy56; -yy953: - yych = *++YYCURSOR; - if (yych == 'R') goto yy1047; - if (yych == 'r') goto yy1047; - goto yy56; -yy954: - yych = *++YYCURSOR; - if (yych == 'I') goto yy1048; - if (yych == 'i') goto yy1048; - goto yy56; -yy955: - yych = *++YYCURSOR; - if (yych == 'U') goto yy1049; - if (yych == 'u') goto yy1049; - goto yy56; -yy956: - yych = *++YYCURSOR; - if (yych == 'N') goto yy1050; - if (yych == 'n') goto yy1050; - goto yy56; -yy957: - yych = *++YYCURSOR; - if (yych == 'N') goto yy1051; - if (yych == 'n') goto yy1051; - goto yy56; -yy958: - yych = *++YYCURSOR; - if (yych == 'T') goto yy1052; - if (yych == 't') goto yy1052; - goto yy56; -yy959: - yych = *++YYCURSOR; - if (yych == 'C') goto yy1053; - if (yych == 'c') goto yy1053; - goto yy56; -yy960: - yych = *++YYCURSOR; - if (yych == 'N') goto yy1048; - if (yych == 'n') goto yy1048; - goto yy56; -yy961: - yych = *++YYCURSOR; - if (yych == 'U') goto yy1054; - if (yych == 'u') goto yy1054; - goto yy56; -yy962: - yych = *++YYCURSOR; - if (yych == 'E') goto yy1055; - if (yych == 'e') goto yy1055; - goto yy56; -yy963: +yy1422: yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= 'C') goto yy56; - if (yych <= 'D') goto yy1056; - goto yy1057; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy166; + goto yy139; + } else { + if (yych <= '@') goto yy166; + if (yych <= 'Q') goto yy142; + } } else { - if (yych <= 'c') goto yy56; - if (yych <= 'd') goto yy1056; - if (yych <= 'e') goto yy1057; - goto yy56; + if (yych <= 'q') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy166; + goto yy142; + } else { + if (yych <= 'r') goto yy1423; + if (yych <= 'z') goto yy142; + goto yy166; + } } -yy964: - yych = *++YYCURSOR; - if (yych == 'A') goto yy1049; - if (yych == 'a') goto yy1049; - goto yy56; -yy965: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1058; - if (yych == 'y') goto yy1058; - goto yy56; -yy966: - yych = *++YYCURSOR; - if (yych == 'T') goto yy1059; - if (yych == 't') goto yy1059; - goto yy56; -yy967: - yych = *++YYCURSOR; - if (yych == 'T') goto yy1059; - if (yych == 't') goto yy1060; - goto yy925; -yy968: - yych = *++YYCURSOR; - if (yych == 'S') goto yy1061; - if (yych == 's') goto yy1061; - goto yy56; -yy969: - yych = *++YYCURSOR; - if (yych == 'S') goto yy1061; - if (yych == 's') goto yy1062; - goto yy925; -yy970: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy978; - if (yych == 'y') goto yy978; - goto yy56; -yy971: - yych = *++YYCURSOR; - if (yych == 'E') goto yy927; - if (yych == 'e') goto yy927; - goto yy56; -yy972: - yych = *++YYCURSOR; - if (yych == '\t') goto yy810; - if (yych == ' ') goto yy810; - goto yy56; -yy973: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy978; - if (yych == 'y') goto yy980; - goto yy925; -yy974: +yy1423: yych = *++YYCURSOR; - if (yych == 'E') goto yy927; - if (yych == 'e') goto yy928; - goto yy925; -yy975: - yych = *++YYCURSOR; - if (yybm[0+yych] & 128) { - goto yy924; - } - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy810; + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == ' ') goto yy810; - goto yy56; + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy143; } } else { - if (yych <= '/') { - if (yych == '.') goto yy56; - goto yy276; + if (yych <= 'r') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych == '_') goto yy276; - goto yy56; + if (yych <= 's') goto yy1424; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy976: - yych = *++YYCURSOR; - goto yy755; -yy977: - yych = *++YYCURSOR; - if (yych == 'W') goto yy1063; - if (yych == 'w') goto yy1063; - goto yy56; -yy978: - yych = *++YYCURSOR; - goto yy294; -yy979: +yy1424: yych = *++YYCURSOR; - if (yych == 'W') goto yy1063; - if (yych == 'w') goto yy1065; - goto yy925; -yy980: - yyaccept = 9; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy924; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy144; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; + } else { + if (yych <= 'd') goto yy1425; + if (yych <= 'z') goto yy144; + goto yy3; + } } - if (yych <= '.') { - if (yych == '-') goto yy276; - goto yy294; +yy1425: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= '/') goto yy276; - if (yych == '_') goto yy276; - goto yy294; + if (yych <= 'A') goto yy1426; + if (yych != 'a') goto yy3; } -yy981: - yych = *++YYCURSOR; - if (yych == 'A') goto yy970; - if (yych == 'a') goto yy970; - goto yy56; -yy982: +yy1426: yych = *++YYCURSOR; - if (yych == 'S') goto yy978; - if (yych == 's') goto yy978; - goto yy294; -yy983: - yych = *++YYCURSOR; - if (yych == 'A') goto yy970; - if (yych == 'a') goto yy973; - goto yy925; -yy984: - yyaccept = 9; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= '.') { - if (yych == '-') goto yy276; - goto yy294; + if (yych == 'Y') goto yy172; + if (yych == 'y') goto yy172; + goto yy56; +yy1427: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '/') goto yy276; - if (yych <= 'R') goto yy294; - goto yy978; + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy143; + goto yy1238; } } else { - if (yych <= '`') { - if (yych == '_') goto yy276; - goto yy294; + if (yych <= 'c') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych == 's') goto yy980; - if (yych <= 'z') goto yy924; - goto yy294; + if (yych <= 'd') goto yy1238; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy985: - yych = *++YYCURSOR; - if (yych == 'A') goto yy1066; - if (yych == 'a') goto yy1066; - goto yy56; -yy986: - yych = *++YYCURSOR; - if (yych == 'A') goto yy1066; - if (yych == 'a') goto yy1067; - goto yy925; -yy987: - yych = *++YYCURSOR; - if (yych == '-') goto yy1068; - goto yy56; -yy988: - ++YYCURSOR; -#line 1308 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("pointed date YYYY"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr((char **) &ptr, 4); - TIMELIB_DEINIT; - return TIMELIB_DATE_FULL_POINTED; - } -#line 17546 "" -yy990: - yych = *++YYCURSOR; - goto yy213; -yy991: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1069; - goto yy56; -yy992: - yyaccept = 25; +yy1428: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy993; - if (yych <= '9') goto yy872; - if (yych >= 'n') goto yy721; + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy3; + goto yy1104; + } else { + if (yych == ' ') goto yy1104; + goto yy3; + } } else { - if (yych <= 'r') { - if (yych >= 'r') goto yy721; + if (yych <= 'Z') { + if (yych <= ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy143; } else { - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy993: -#line 1251 "ext/date/lib/parse_date.re" - { - 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; - } -#line 17584 "" -yy994: - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '9') { - if (yych <= '/') goto yy544; - goto yy996; +yy1429: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == 'T') goto yy1070; - goto yy544; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; } } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy1071; - if (yych <= 'q') goto yy544; - goto yy1071; + if (yych <= 's') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 's') goto yy1072; - if (yych <= 't') goto yy1073; - goto yy544; + if (yych <= 't') goto yy1430; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy995: - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy544; +yy1430: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == 'T') goto yy1070; - goto yy544; + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy143; + goto yy1238; } } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy1071; - if (yych <= 'q') goto yy544; - goto yy1071; + if (yych <= 'g') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 's') goto yy1072; - if (yych <= 't') goto yy1073; - goto yy544; + if (yych <= 'h') goto yy1238; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy996: - yyaccept = 15; +yy1431: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych == 'T') goto yy1070; - if (yych <= 'm') goto yy544; - goto yy1071; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; + } } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy544; - goto yy1071; + if (yych <= '_') { + if (yych <= 'N') goto yy1429; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 's') goto yy1072; - if (yych <= 't') goto yy1073; - goto yy544; + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'n') goto yy1461; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy997: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy1074; - if (yych <= '3') goto yy1075; - if (yych <= '9') goto yy996; - goto yy56; -yy998: - yyaccept = 23; +yy1432: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'H') { - if (yych == '-') goto yy922; - goto yy576; + if (yych <= 'T') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych == '-') goto yy147; + goto yy3; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy147; + goto yy3; + } else { + if (yych == 'I') goto yy1421; + goto yy141; + } + } } else { - if (yych <= 'I') goto yy1018; - if (yych == 'i') goto yy1018; - goto yy576; + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'U') goto yy1422; + goto yy141; + } else { + if (yych == '_') goto yy147; + goto yy3; + } + } else { + if (yych <= 't') { + if (yych == 'i') goto yy1453; + goto yy146; + } else { + if (yych <= 'u') goto yy1454; + if (yych <= 'z') goto yy146; + goto yy3; + } + } } -yy999: - yyaccept = 23; +yy1433: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych == '-') goto yy922; - goto yy576; + if (yych <= 'L') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych == '-') goto yy147; + goto yy3; + } + } else { + if (yych <= '@') { + if (yych <= '/') goto yy147; + goto yy3; + } else { + if (yych == 'D') goto yy1410; + goto yy141; + } + } } else { - if (yych <= 'U') goto yy1019; - if (yych == 'u') goto yy1019; - goto yy576; + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'M') goto yy1411; + goto yy141; + } else { + if (yych == '_') goto yy147; + goto yy3; + } + } else { + if (yych <= 'l') { + if (yych == 'd') goto yy1444; + goto yy146; + } else { + if (yych <= 'm') goto yy1445; + if (yych <= 'z') goto yy146; + goto yy3; + } + } } -yy1000: - yyaccept = 23; +yy1434: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '-') goto yy922; - goto yy576; + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; + } } else { - if (yych <= 'E') goto yy1020; - if (yych == 'e') goto yy1020; - goto yy576; + if (yych <= '_') { + if (yych <= 'E') goto yy1406; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'e') goto yy1440; + if (yych <= 'z') goto yy146; + goto yy3; + } + } } -yy1001: - yyaccept = 23; +yy1435: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych == '-') goto yy922; - goto yy576; + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; + } } else { - if (yych <= 'R') goto yy1021; - if (yych == 'r') goto yy1021; - goto yy576; + if (yych <= '_') { + if (yych <= 'E') goto yy1402; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'e') goto yy1436; + if (yych <= 'z') goto yy146; + goto yy3; + } + } } -yy1002: - yyaccept = 23; +yy1436: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { - if (yych == '-') goto yy922; - goto yy576; + if (yych <= 'K') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; + } } else { - if (yych <= 'U') goto yy1022; - if (yych == 'u') goto yy1022; - goto yy576; + if (yych <= '_') { + if (yych <= 'L') goto yy1403; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'k') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 'l') goto yy1437; + if (yych <= 'z') goto yy150; + goto yy3; + } + } } -yy1003: - yyaccept = 23; +yy1437: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { - if (yych == '-') goto yy922; - goto yy576; + if (yych <= 'E') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } } else { - if (yych <= 'Y') goto yy767; - if (yych == 'y') goto yy767; - goto yy576; + if (yych <= '_') { + if (yych <= 'F') goto yy1404; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'e') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'f') goto yy1438; + if (yych <= 'z') goto yy151; + goto yy3; + } + } } -yy1004: - yyaccept = 23; +yy1438: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == '-') goto yy922; - goto yy576; + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; + } } else { - if (yych <= 'E') goto yy767; - if (yych == 'e') goto yy767; - goto yy576; + if (yych <= '_') { + if (yych <= 'T') goto yy1405; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 't') goto yy1439; + if (yych <= 'z') goto yy152; + goto yy3; + } + } } -yy1005: - yyaccept = 23; +yy1439: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'B') { - if (yych == '-') goto yy922; - goto yy576; + if (yych <= 'G') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } } else { - if (yych <= 'C') goto yy1023; - if (yych == 'c') goto yy1023; - goto yy576; + if (yych <= '`') { + if (yych <= 'H') goto yy1205; + if (yych == '_') goto yy147; + goto yy3; + } else { + if (yych == 'h') goto yy1223; + if (yych <= 'z') goto yy153; + goto yy3; + } } -yy1006: - yyaccept = 23; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy922; - goto yy576; -yy1007: - yyaccept = 23; +yy1440: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych == '-') goto yy922; - goto yy576; + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; + } } else { - if (yych <= 'O') goto yy1024; - if (yych == 'o') goto yy1024; - goto yy576; + if (yych <= '_') { + if (yych <= 'S') goto yy1407; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy166; + goto yy150; + } else { + if (yych <= 's') goto yy1441; + if (yych <= 'z') goto yy150; + goto yy166; + } + } } -yy1008: - yyaccept = 23; +yy1441: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == '-') goto yy922; - goto yy576; + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } } else { - if (yych <= 'T') goto yy1000; - if (yych == 't') goto yy1000; - goto yy576; + if (yych <= '_') { + if (yych <= 'D') goto yy1408; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'd') goto yy1442; + if (yych <= 'z') goto yy151; + goto yy3; + } + } } -yy1009: - yych = *++YYCURSOR; - goto yy900; -yy1010: - yyaccept = 26; +yy1442: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy1011; - if (yych <= '9') goto yy1013; - if (yych >= 'n') goto yy1076; + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } } else { - if (yych <= 'r') { - if (yych >= 'r') goto yy1076; + if (yych <= '_') { + if (yych <= 'A') goto yy1409; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 's') goto yy1077; - if (yych <= 't') goto yy1078; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1443; + if (yych <= 'z') goto yy152; + goto yy3; } } -yy1011: -#line 1239 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_DEINIT; - return TIMELIB_ISO_DATE; - } -#line 17797 "" -yy1012: - yyaccept = 26; +yy1443: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy1011; - if (yych <= '1') goto yy1013; - if (yych <= 'm') goto yy1011; - goto yy1076; + if (yych <= 'X') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy1011; - goto yy1076; + if (yych <= '`') { + if (yych <= 'Y') goto yy172; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych <= 's') goto yy1077; - if (yych <= 't') goto yy1078; - goto yy1011; + if (yych == 'y') goto yy185; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy1013: - yyaccept = 26; +yy1444: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'q') { - if (yych == 'n') goto yy1076; - goto yy1011; + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } } else { - if (yych <= 'r') goto yy1076; - if (yych <= 's') goto yy1077; - if (yych <= 't') goto yy1078; - goto yy1011; + if (yych <= '_') { + if (yych <= 'A') goto yy1418; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1451; + if (yych <= 'z') goto yy150; + goto yy3; + } } -yy1014: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy1079; - if (yych <= '3') goto yy1080; - if (yych <= '9') goto yy1013; - goto yy56; -yy1015: - yyaccept = 27; +yy1445: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy57; - } - if (yych <= 'W') { - if (yych <= 'F') { - if (yych <= ' ') { - if (yych == '\t') goto yy185; - if (yych >= ' ') goto yy185; - } else { - if (yych == 'D') goto yy187; - if (yych >= 'F') goto yy188; - } + if (yych <= 'N') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= 'M') { - if (yych == 'H') goto yy76; - if (yych >= 'M') goto yy189; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; + } + } else { + if (yych <= '_') { + if (yych <= 'O') goto yy1412; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'n') { + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 'S') { - if (yych >= 'S') goto yy190; - } else { - if (yych <= 'T') goto yy1081; - if (yych >= 'W') goto yy86; - } + if (yych <= 'o') goto yy1446; + if (yych <= 'z') goto yy150; + goto yy3; } } + } +yy1446: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } } else { - if (yych <= 'l') { - if (yych <= 'd') { - if (yych == 'Y') goto yy88; - if (yych >= 'd') goto yy187; + if (yych <= '_') { + if (yych <= 'R') goto yy1413; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'f') { - if (yych >= 'f') goto yy188; - } else { - if (yych == 'h') goto yy76; - } + if (yych <= 'r') goto yy1447; + if (yych <= 'z') goto yy151; + goto yy3; } + } + } +yy1447: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= 't') { - if (yych <= 'm') goto yy189; - if (yych <= 'r') goto yy1016; - if (yych <= 's') goto yy190; - goto yy1082; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; + } + } else { + if (yych <= '_') { + if (yych <= 'R') goto yy1414; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'w') { - if (yych >= 'w') goto yy86; - } else { - if (yych == 'y') goto yy88; - } + if (yych <= 'r') goto yy1448; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy1016: -#line 1388 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datenocolon"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->m = timelib_get_nr((char **) &ptr, 2); - s->time->d = timelib_get_nr((char **) &ptr, 2); - TIMELIB_DEINIT; - return TIMELIB_DATE_NOCOLON; - } -#line 17902 "" -yy1017: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy1083; - if (yych <= '3') goto yy1084; - goto yy56; -yy1018: - yych = *++YYCURSOR; - if (yych == 'L') goto yy767; - if (yych == 'l') goto yy767; - goto yy56; -yy1019: - yych = *++YYCURSOR; - if (yych == 'S') goto yy1085; - if (yych == 's') goto yy1085; - goto yy56; -yy1020: - yych = *++YYCURSOR; - if (yych == 'M') goto yy1024; - if (yych == 'm') goto yy1024; - goto yy56; -yy1021: - yych = *++YYCURSOR; - if (yych == 'U') goto yy1022; - if (yych != 'u') goto yy56; -yy1022: - yych = *++YYCURSOR; - if (yych == 'A') goto yy1086; - if (yych == 'a') goto yy1086; - goto yy56; -yy1023: - yych = *++YYCURSOR; - if (yych == 'H') goto yy767; - if (yych == 'h') goto yy767; - goto yy56; -yy1024: - yych = *++YYCURSOR; - if (yych == 'B') goto yy1087; - if (yych == 'b') goto yy1087; - goto yy56; -yy1025: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '8') goto yy56; -yy1026: - ++YYCURSOR; -#line 1440 "ext/date/lib/parse_date.re" - { - timelib_sll w, d; - DEBUG_OUTPUT("isoweekday"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - TIMELIB_HAVE_RELATIVE(); - - s->time->y = timelib_get_nr((char **) &ptr, 4); - w = timelib_get_nr((char **) &ptr, 2); - d = timelib_get_nr((char **) &ptr, 1); - s->time->m = 1; - s->time->d = 1; - s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); - - TIMELIB_DEINIT; - return TIMELIB_ISO_WEEK; - } -#line 17967 "" -yy1028: - yych = *++YYCURSOR; - if (yych == 'H') goto yy1088; - if (yych == 'h') goto yy1088; - goto yy56; -yy1029: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1089; - goto yy56; -yy1030: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1091; - goto yy56; -yy1031: - yyaccept = 25; +yy1448: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'q') { - if (yych == 'n') goto yy721; - goto yy993; + if (yych <= 'N') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } } else { - if (yych <= 'r') goto yy721; - if (yych <= 's') goto yy722; - if (yych <= 't') goto yy723; - goto yy993; + if (yych <= '`') { + if (yych <= 'O') goto yy1415; + if (yych == '_') goto yy147; + goto yy3; + } else { + if (yych == 'o') goto yy1449; + if (yych <= 'z') goto yy153; + goto yy3; + } } -yy1032: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1093; - goto yy56; -yy1033: +yy1449: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1093; - goto yy56; -yy1034: - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy1035; - if (yych <= '9') goto yy1095; -yy1035: -#line 1478 "ext/date/lib/parse_date.re" - { - 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; + if (yych == 'W') goto yy1416; + if (yych != 'w') goto yy154; + yyaccept = 29; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy153; } -#line 18023 "" -yy1036: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1096; - if (yych <= '2') goto yy1098; - if (yych <= '9') goto yy1099; - goto yy56; -yy1037: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= 'C') goto yy56; - if (yych <= 'D') goto yy1056; - goto yy1101; + if (yych <= '.') { + if (yych == '-') goto yy147; + goto yy1417; + } else { + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; + goto yy1417; + } +yy1451: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } + } else { + if (yych <= '_') { + if (yych <= 'Y') goto yy1419; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'x') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'y') goto yy1452; + if (yych <= 'z') goto yy151; + goto yy3; + } + } + } +yy1452: + yyaccept = 30; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy1420; + } else { + if (yych == '.') goto yy1420; + goto yy147; + } } else { - if (yych <= 'c') goto yy56; - if (yych <= 'd') goto yy1056; - if (yych <= 'e') goto yy1101; - goto yy56; + if (yych <= '^') { + if (yych <= '@') goto yy1420; + if (yych <= 'Z') goto yy144; + goto yy1420; + } else { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy1420; + if (yych <= 'z') goto yy152; + goto yy1420; + } } -yy1038: - yyaccept = 17; +yy1453: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy1103; - if (yych <= 0x1F) goto yy673; - goto yy1103; + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '(') { - if (yych <= '\'') goto yy673; - goto yy1103; + if (yych <= '/') { + if (yych <= '.') goto yy3; + goto yy147; } else { - if (yych == '+') goto yy1103; - goto yy673; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy142; + goto yy1427; } } } else { - if (yych <= ':') { - if (yych <= '-') goto yy1103; - if (yych <= '.') goto yy827; - if (yych <= '9') goto yy673; - goto yy827; - } else { + if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy673; - goto yy1103; + if (yych <= 'S') goto yy1428; + goto yy142; + } else { + if (yych == '_') goto yy147; + goto yy3; + } + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy150; + goto yy1459; } else { - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1103; - goto yy673; + if (yych <= 's') goto yy1460; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy1039: - yyaccept = 17; +yy1454: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '*') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1103; - goto yy673; + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych <= ' ') goto yy1103; - if (yych == '(') goto yy1103; - goto yy673; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { - if (yych <= '@') { - if (yych == ',') goto yy673; - if (yych <= '-') goto yy1103; - goto yy673; + if (yych <= '_') { + if (yych <= 'R') goto yy1423; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { - if (yych <= 'Z') goto yy1103; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1103; - goto yy673; + if (yych <= 'q') { + if (yych <= '`') goto yy166; + goto yy150; + } else { + if (yych <= 'r') goto yy1455; + if (yych <= 'z') goto yy150; + goto yy166; + } } } -yy1040: - yyaccept = 17; +yy1455: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy1110; - if (yych <= 0x1F) goto yy673; - goto yy1110; + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '(') { - if (yych <= '\'') goto yy673; - goto yy1110; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } + } else { + if (yych <= '_') { + if (yych <= 'S') goto yy1424; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'r') { + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych == '+') goto yy1110; - goto yy673; + if (yych <= 's') goto yy1456; + if (yych <= 'z') goto yy151; + goto yy3; } } + } +yy1456: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; + } } else { - if (yych <= ':') { - if (yych <= '-') goto yy1110; - if (yych <= '.') goto yy833; - if (yych <= '9') goto yy673; - goto yy833; + if (yych <= '_') { + if (yych <= 'D') goto yy1425; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy673; - goto yy1110; + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1110; - goto yy673; + if (yych <= 'd') goto yy1457; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy1041: - yyaccept = 17; +yy1457: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } + } else { + if (yych <= '_') { + if (yych <= 'A') goto yy1426; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1458; + if (yych <= 'z') goto yy153; + goto yy3; + } + } +yy1458: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy172; + if (yych == 'y') goto yy185; + goto yy154; +yy1459: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } + } else { + if (yych <= '_') { + if (yych <= 'D') goto yy1238; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'd') goto yy1267; + if (yych <= 'z') goto yy151; + goto yy3; + } + } + } +yy1460: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { if (yych <= ' ') { - if (yych == '\t') goto yy1110; - if (yych <= 0x1F) goto yy673; - goto yy1110; + if (yych == '\t') goto yy1104; + if (yych <= 0x1F) goto yy3; + goto yy1104; } else { - if (yych <= '(') { - if (yych <= '\'') goto yy673; - goto yy1110; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } + } else { + if (yych <= 'Z') { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == '+') goto yy1110; - goto yy673; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy151; + goto yy3; } } + } +yy1461: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; + } } else { - if (yych <= ':') { - if (yych <= '-') goto yy1110; - if (yych <= '.') goto yy827; - if (yych <= '9') goto yy673; - goto yy827; + if (yych <= '_') { + if (yych <= 'T') goto yy1430; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy673; - goto yy1110; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1110; - goto yy673; + if (yych <= 't') goto yy1462; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy1042: - yyaccept = 17; +yy1462: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '*') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1110; - goto yy673; + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= ' ') goto yy1110; - if (yych == '(') goto yy1110; - goto yy673; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { + if (yych <= '_') { + if (yych <= 'H') goto yy1238; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'h') goto yy1267; + if (yych <= 'z') goto yy151; + goto yy3; + } + } + } +yy1463: + yych = *++YYCURSOR; + if (yych <= 'Y') { if (yych <= '@') { - if (yych == ',') goto yy673; - if (yych <= '-') goto yy1110; - goto yy673; + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == 'R') goto yy1475; + if (yych <= 'X') goto yy141; + goto yy1476; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych <= 'q') goto yy141; + goto yy1475; } else { - if (yych <= 'Z') goto yy1110; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1110; - goto yy673; + if (yych == 'y') goto yy1476; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy1043: +yy1464: yych = *++YYCURSOR; - if (yych == 'M') goto yy1044; - if (yych != 'm') goto yy56; -yy1044: + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy141; + goto yy1469; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; + } else { + if (yych <= 'd') goto yy1469; + if (yych <= 'z') goto yy141; + goto yy3; + } + } +yy1465: yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1113; - if (yych == '\t') goto yy1113; - goto yy56; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy141; + } } else { - if (yych <= ' ') goto yy1113; - if (yych == '.') goto yy1115; - goto yy56; + if (yych <= 'm') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; + } else { + if (yych <= 'n') goto yy1466; + if (yych <= 'z') goto yy141; + goto yy3; + } } -yy1045: - ++YYCURSOR; - if ((yych = *YYCURSOR) == 'S') goto yy1116; - if (yych == 's') goto yy1116; -yy1046: -#line 1599 "ext/date/lib/parse_date.re" - { - timelib_sll i; - int behavior = 0; - DEBUG_OUTPUT("relativetext"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - - while(*ptr) { - i = timelib_get_relative_text((char **) &ptr, &behavior); - timelib_eat_spaces((char **) &ptr); - timelib_set_relative((char **) &ptr, i, behavior, s); +yy1466: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { + if (yych <= '(') goto yy166; + goto yy139; + } else { + if (yych <= '@') goto yy166; + if (yych <= 'C') goto yy142; + } + } else { + if (yych <= 'c') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy166; + goto yy142; + } else { + if (yych <= 'd') goto yy1467; + if (yych <= 'z') goto yy142; + goto yy166; } - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; } -#line 18229 "" -yy1047: +yy1467: yych = *++YYCURSOR; - if (yych == 'T') goto yy1117; - if (yych == 't') goto yy1117; - goto yy56; -yy1048: - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1046; - goto yy1118; + if (yych <= 'A') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; } else { - if (yych <= 'D') { - if (yych <= 'C') goto yy1046; - goto yy1120; + if (yych <= '`') { + if (yych <= 'Z') goto yy143; + goto yy3; } else { - if (yych == 'd') goto yy1120; - goto yy1046; + if (yych <= 'a') goto yy1468; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy1049: +yy1468: yych = *++YYCURSOR; - if (yych == 'R') goto yy1045; - if (yych == 'r') goto yy1045; - goto yy56; -yy1050: - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'U') { - if (yych == 'S') goto yy1116; - if (yych <= 'T') goto yy1046; - goto yy1121; + if (yych <= 'Y') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'X') goto yy144; + goto yy1235; + } } else { - if (yych <= 's') { - if (yych <= 'r') goto yy1046; - goto yy1116; + if (yych <= 'x') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych == 'u') goto yy1121; - goto yy1046; + if (yych <= 'y') goto yy1235; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy1051: - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1118; - goto yy1046; +yy1469: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy142; + } + } else { + if (yych <= 'm') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; + } else { + if (yych <= 'n') goto yy1470; + if (yych <= 'z') goto yy142; + goto yy3; + } + } +yy1470: + yych = *++YYCURSOR; + if (yych <= 'I') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= ' ') goto yy1118; - if (yych <= 'C') goto yy1046; - goto yy1120; + if (yych <= '@') goto yy3; + if (yych <= 'H') goto yy143; } } else { - if (yych <= 'c') { - if (yych == 'T') goto yy1122; - goto yy1046; + if (yych <= 'h') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'd') goto yy1120; - if (yych == 't') goto yy1122; - goto yy1046; + if (yych <= 'i') goto yy1471; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy1052: - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1046; - goto yy1118; - } else { - if (yych <= 'U') { - if (yych <= 'T') goto yy1046; - goto yy1123; +yy1471: + yych = *++YYCURSOR; + if (yych <= 'G') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == 'u') goto yy1123; - goto yy1046; + if (yych <= '@') goto yy3; + if (yych <= 'F') goto yy144; } - } -yy1053: - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == 'O') goto yy1124; - if (yych <= 'R') goto yy1046; - goto yy1116; } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy1046; - goto yy1124; + if (yych <= 'f') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych == 's') goto yy1116; - goto yy1046; + if (yych <= 'g') goto yy1472; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy1054: - yyaccept = 28; +yy1472: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1046; - goto yy1118; + if (yych <= 'G') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'R') { - if (yych <= 'Q') goto yy1046; - goto yy1125; - } else { - if (yych == 'r') goto yy1125; - goto yy1046; - } + if (yych <= 'H') goto yy1473; + if (yych != 'h') goto yy3; } -yy1055: - yyaccept = 28; +yy1473: + yych = *++YYCURSOR; + if (yych == 'T') goto yy1474; + if (yych != 't') goto yy56; +yy1474: + yych = *++YYCURSOR; + goto yy1420; +yy1475: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1046; - goto yy1118; + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; + } else { + if (yych == ' ') goto yy195; + goto yy193; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy139; + goto yy193; + } else { + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; + } + } } else { - if (yych <= 'S') { - if (yych <= 'R') goto yy1046; - goto yy1126; + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy195; + goto yy193; + } else { + if (yych == 'C') goto yy1477; + goto yy142; + } } else { - if (yych == 's') goto yy1126; - goto yy1046; + if (yych <= 'b') { + if (yych <= '`') goto yy193; + goto yy142; + } else { + if (yych <= 'c') goto yy1477; + if (yych <= 'z') goto yy142; + goto yy193; + } } } -yy1056: - yyaccept = 28; +yy1476: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1046; - goto yy1118; + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy193; + goto yy195; + } else { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy196; + } } else { - if (yych <= 'N') { - if (yych <= 'M') goto yy1046; - goto yy1127; + if (yych <= '@') { + if (yych == '/') goto yy193; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych == 'n') goto yy1127; - goto yy1046; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy142; + goto yy193; } } -yy1057: +yy1477: yych = *++YYCURSOR; - if (yych == 'K') goto yy1128; - if (yych == 'k') goto yy1128; - goto yy56; -yy1058: - yyaccept = 28; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { - if (yych == ' ') goto yy1130; - goto yy1046; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy143; + goto yy395; + } } else { - if (yych <= 'S') goto yy1116; - if (yych == 's') goto yy1116; - goto yy1046; + if (yych <= 'g') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; + } else { + if (yych <= 'h') goto yy395; + if (yych <= 'z') goto yy143; + goto yy3; + } } -yy1059: - yych = *++YYCURSOR; - goto yy704; -yy1060: - yyaccept = 18; +yy1478: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy924; - } - if (yych <= '.') { - if (yych == '-') goto yy276; - goto yy704; - } else { - if (yych <= '/') goto yy276; - if (yych == '_') goto yy276; - goto yy704; - } -yy1061: - yych = *++YYCURSOR; - if (yych == '\t') goto yy685; - if (yych == ' ') goto yy685; - goto yy56; -yy1062: - yych = *++YYCURSOR; - if (yybm[0+yych] & 128) { - goto yy924; - } - if (yych <= ',') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy685; + if (yych <= 'X') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych == '-') goto yy147; + goto yy3; + } } else { - if (yych == ' ') goto yy685; - goto yy56; + if (yych <= '@') { + if (yych <= '/') goto yy147; + goto yy3; + } else { + if (yych == 'R') goto yy1475; + goto yy141; + } } } else { - if (yych <= '/') { - if (yych == '.') goto yy56; - goto yy276; + if (yych <= '`') { + if (yych <= 'Z') { + if (yych <= 'Y') goto yy1476; + goto yy141; + } else { + if (yych == '_') goto yy147; + goto yy3; + } } else { - if (yych == '_') goto yy276; - goto yy56; + if (yych <= 'x') { + if (yych == 'r') goto yy1490; + goto yy146; + } else { + if (yych <= 'y') goto yy1491; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy1063: - ++YYCURSOR; -yy1064: -#line 994 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("tomorrow"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - - s->time->relative.d = 1; - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -#line 18448 "" -yy1065: - yyaccept = 29; +yy1479: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy924; - } - if (yych <= '.') { - if (yych == '-') goto yy276; - goto yy1064; + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; + } } else { - if (yych <= '/') goto yy276; - if (yych == '_') goto yy276; - goto yy1064; + if (yych <= '_') { + if (yych <= 'D') goto yy1469; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'c') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'd') goto yy1484; + if (yych <= 'z') goto yy146; + goto yy3; + } + } } -yy1066: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1131; - if (yych == 'y') goto yy1131; - goto yy56; -yy1067: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1131; - if (yych == 'y') goto yy1133; - goto yy925; -yy1068: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '2') goto yy1134; - if (yych <= '3') goto yy1135; - goto yy56; -yy1069: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1136; - goto yy56; -yy1070: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1137; - if (yych <= '2') goto yy1138; - if (yych <= '9') goto yy1139; - goto yy56; -yy1071: - yych = *++YYCURSOR; - if (yych == 'd') goto yy1140; - goto yy56; -yy1072: - yych = *++YYCURSOR; - if (yych == 't') goto yy1140; - goto yy56; -yy1073: - yych = *++YYCURSOR; - if (yych == 'h') goto yy1140; - goto yy56; -yy1074: - yyaccept = 15; +yy1480: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '9') { - if (yych <= '/') goto yy544; - goto yy1141; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == 'T') goto yy1070; - goto yy544; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy1071; - if (yych <= 'q') goto yy544; - goto yy1071; + if (yych <= '_') { + if (yych <= 'N') goto yy1466; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 's') goto yy1072; - if (yych <= 't') goto yy1073; - goto yy544; + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'n') goto yy1481; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy1075: - yyaccept = 15; +yy1481: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy544; - goto yy1141; + if (yych <= 'C') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych == 'T') goto yy1070; - goto yy544; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy1071; - if (yych <= 'q') goto yy544; - goto yy1071; + if (yych <= '_') { + if (yych <= 'D') goto yy1467; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { - if (yych <= 's') goto yy1072; - if (yych <= 't') goto yy1073; - goto yy544; + if (yych <= 'c') { + if (yych <= '`') goto yy166; + goto yy150; + } else { + if (yych <= 'd') goto yy1482; + if (yych <= 'z') goto yy150; + goto yy166; + } } } -yy1076: - yych = *++YYCURSOR; - if (yych == 'd') goto yy1142; - goto yy56; -yy1077: - yych = *++YYCURSOR; - if (yych == 't') goto yy1142; - goto yy56; -yy1078: - yych = *++YYCURSOR; - if (yych == 'h') goto yy1142; - goto yy56; -yy1079: - yyaccept = 26; +yy1482: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy1011; - if (yych <= '9') goto yy1143; - if (yych <= 'm') goto yy1011; - goto yy1076; + if (yych <= '@') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy1011; - goto yy1076; + if (yych <= '_') { + if (yych <= 'A') goto yy1468; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 's') goto yy1077; - if (yych <= 't') goto yy1078; - goto yy1011; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1483; + if (yych <= 'z') goto yy151; + goto yy3; } } -yy1080: - yyaccept = 26; +yy1483: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych <= '/') goto yy1011; - if (yych <= '1') goto yy1143; - if (yych <= 'm') goto yy1011; - goto yy1076; + if (yych <= 'X') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; + } } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy1011; - goto yy1076; + if (yych <= '_') { + if (yych <= 'Y') goto yy1235; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 's') goto yy1077; - if (yych <= 't') goto yy1078; - goto yy1011; + if (yych <= 'x') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'y') goto yy1264; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy1081: - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= '2') { - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1144; - goto yy1145; +yy1484: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '9') goto yy1146; - if (yych <= 'G') goto yy56; - goto yy253; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { - if (yych <= 'g') { - if (yych == 'U') goto yy254; - goto yy56; + if (yych <= '_') { + if (yych <= 'N') goto yy1470; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'h') goto yy253; - if (yych == 'u') goto yy254; - goto yy56; + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 'n') goto yy1485; + if (yych <= 'z') goto yy150; + goto yy3; + } } } -yy1082: - yych = *++YYCURSOR; +yy1485: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { - if (yych <= '2') { - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1147; - goto yy1148; + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '9') goto yy1149; - if (yych <= 'G') goto yy56; - goto yy253; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { - if (yych <= 'g') { - if (yych == 'U') goto yy254; - goto yy56; + if (yych <= '_') { + if (yych <= 'I') goto yy1471; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'h') goto yy253; - if (yych == 'u') goto yy254; - goto yy56; + if (yych <= 'h') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'i') goto yy1486; + if (yych <= 'z') goto yy151; + goto yy3; + } } } -yy1083: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1150; - goto yy56; -yy1084: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1150; - goto yy56; -yy1085: - yych = *++YYCURSOR; - if (yych == 'T') goto yy767; - if (yych == 't') goto yy767; - goto yy56; -yy1086: - yych = *++YYCURSOR; - if (yych == 'R') goto yy1151; - if (yych == 'r') goto yy1151; - goto yy56; -yy1087: - yych = *++YYCURSOR; - if (yych == 'E') goto yy1152; - if (yych == 'e') goto yy1152; - goto yy56; -yy1088: - yych = *++YYCURSOR; - if (yych == 'T') goto yy401; - if (yych == 't') goto yy401; - goto yy56; -yy1089: - yyaccept = 5; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - if (yych <= 'O') { - if (yych <= '9') { - if (yych <= '/') goto yy208; - goto yy1089; +yy1486: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'F') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == 'A') goto yy1153; - goto yy208; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { - if (yych <= 'a') { - if (yych <= 'P') goto yy1153; - if (yych <= '`') goto yy208; - goto yy1153; + if (yych <= '_') { + if (yych <= 'G') goto yy1472; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'p') goto yy1153; - goto yy208; + if (yych <= 'f') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'g') goto yy1487; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy1091: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - if (yych <= 'O') { - if (yych <= '9') { - if (yych <= '/') goto yy56; - goto yy1091; +yy1487: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == 'A') goto yy1153; - goto yy56; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { - if (yych <= 'a') { - if (yych <= 'P') goto yy1153; - if (yych <= '`') goto yy56; - goto yy1153; + if (yych <= '`') { + if (yych <= 'H') goto yy1473; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych == 'p') goto yy1153; - goto yy56; + if (yych == 'h') goto yy1488; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy1093: - ++YYCURSOR; -#line 1492 "ext/date/lib/parse_date.re" - { - 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; - } -#line 18729 "" -yy1095: +yy1488: yych = *++YYCURSOR; - if (yych <= '/') goto yy1035; - if (yych <= '9') goto yy1154; - goto yy1035; -yy1096: + if (yych == 'T') goto yy1474; + if (yych != 't') goto yy154; yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1100; - if (yych <= '9') goto yy1099; - goto yy1100; -yy1097: -#line 1049 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("backof | frontof"); - TIMELIB_INIT; - TIMELIB_UNHAVE_TIME(); - TIMELIB_HAVE_TIME(); - - if (*ptr == 'b') { - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = 15; - } else { - s->time->h = timelib_get_nr((char **) &ptr, 2) - 1; - s->time->i = 45; - } - if (*ptr != '\0' ) { - timelib_eat_spaces((char **) &ptr); - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - } - - TIMELIB_DEINIT; - return TIMELIB_LF_DAY_OF_MONTH; + if (yybm[0+yych] & 16) { + goto yy153; } -#line 18764 "" -yy1098: - yyaccept = 30; + if (yych <= '.') { + if (yych == '-') goto yy147; + goto yy1420; + } else { + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; + goto yy1420; + } +yy1490: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1100; - if (yych >= '5') goto yy1100; -yy1099: - yyaccept = 30; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; -yy1100: - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy1099; - goto yy1097; + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; + } else { + if (yych == ' ') goto yy195; + goto yy193; + } } else { - if (yych <= ' ') goto yy1099; - if (yych <= '@') goto yy1097; - goto yy1155; + if (yych <= '-') { + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; + } else { + if (yych == '/') goto yy147; + goto yy195; + } } } else { - if (yych <= '`') { - if (yych == 'P') goto yy1155; - goto yy1097; + if (yych <= '^') { + if (yych <= 'B') { + if (yych <= '@') goto yy193; + goto yy142; + } else { + if (yych <= 'C') goto yy1477; + if (yych <= 'Z') goto yy142; + goto yy193; + } } else { - if (yych <= 'a') goto yy1155; - if (yych == 'p') goto yy1155; - goto yy1097; + if (yych <= 'b') { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; + } else { + if (yych <= 'c') goto yy1492; + if (yych <= 'z') goto yy150; + goto yy193; + } } } -yy1101: - yych = *++YYCURSOR; - if (yych == 'K') goto yy1156; - if (yych == 'k') goto yy1156; - goto yy56; -yy1102: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy1103: - if (yych <= '+') { +yy1491: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy1102; - if (yych <= 0x1F) goto yy56; - goto yy1102; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy193; + goto yy195; } else { - if (yych == '(') goto yy1104; - if (yych <= '*') goto yy56; - goto yy1105; + if (yych <= ')') { + if (yych <= '(') goto yy193; + goto yy139; + } else { + if (yych <= ',') goto yy193; + if (yych <= '-') goto yy371; + goto yy195; + } } } else { - if (yych <= 'F') { - if (yych == '-') goto yy1105; - if (yych <= '@') goto yy56; - goto yy1106; + if (yych <= 'Z') { + if (yych <= '/') goto yy147; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'Z') { - if (yych <= 'G') goto yy1107; - goto yy1106; + if (yych <= '_') { + if (yych <= '^') goto yy193; + goto yy147; } else { - if (yych <= '`') goto yy56; - if (yych <= 'z') goto yy1108; - goto yy56; + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy1104: - yych = *++YYCURSOR; - if (yych <= '@') goto yy56; - if (yych <= 'Z') goto yy1108; - if (yych <= '`') goto yy56; - if (yych <= 'z') goto yy1108; - goto yy56; -yy1105: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1157; - if (yych <= '2') goto yy1158; - if (yych <= '9') goto yy1159; - goto yy56; -yy1106: - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy941; - goto yy673; - } else { - if (yych <= 'Z') goto yy1160; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1161; - goto yy673; - } -yy1107: - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == ')') goto yy941; - if (yych <= '@') goto yy673; - goto yy1160; - } else { - if (yych <= 'Z') { - if (yych <= 'M') goto yy1162; - goto yy1160; +yy1492: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1161; - goto yy673; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } - } -yy1108: - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy941; - goto yy673; } else { - if (yych <= 'Z') goto yy1160; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1160; - goto yy673; - } -yy1109: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy1110: - if (yych <= '@') { - if (yych <= '\'') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy1109; - } else { - if (yych == ' ') goto yy1109; - goto yy56; - } + if (yych <= '_') { + if (yych <= 'H') goto yy395; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '+') { - if (yych <= '(') goto yy1104; - if (yych <= '*') goto yy56; - goto yy1105; + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych == '-') goto yy1105; - goto yy56; + if (yych <= 'h') goto yy406; + if (yych <= 'z') goto yy151; + goto yy3; } } - } else { - if (yych <= 'Z') { - if (yych <= 'G') { - if (yych <= 'A') goto yy1111; - if (yych <= 'F') goto yy1106; - goto yy1107; - } else { - if (yych != 'P') goto yy1106; - } + } +yy1493: + yych = *++YYCURSOR; + if (yych <= 'W') { + if (yych <= 'N') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy141; } else { - if (yych <= 'o') { - if (yych <= '`') goto yy56; - if (yych <= 'a') goto yy1112; - goto yy1108; + if (yych <= 'O') goto yy1501; + if (yych <= 'U') goto yy141; + if (yych <= 'V') goto yy1502; + goto yy1499; + } + } else { + if (yych <= 'o') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych <= 'n') goto yy141; + goto yy1501; + } else { + if (yych <= 'v') { + if (yych <= 'u') goto yy141; + goto yy1502; } else { - if (yych <= 'p') goto yy1112; - if (yych <= 'z') goto yy1108; - goto yy56; + if (yych <= 'w') goto yy1499; + if (yych <= 'z') goto yy141; + goto yy3; } } } -yy1111: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy941; - goto yy673; +yy1494: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '.') goto yy1043; - if (yych <= '@') goto yy673; - goto yy1160; + if (yych <= '@') goto yy3; + if (yych <= 'W') goto yy141; + goto yy1498; } } else { - if (yych <= '`') { - if (yych <= 'M') goto yy1163; - if (yych <= 'Z') goto yy1160; - goto yy673; + if (yych <= 'w') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych == 'm') goto yy1164; - if (yych <= 'z') goto yy1161; - goto yy673; + if (yych <= 'x') goto yy1498; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy1112: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy941; - goto yy673; +yy1495: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '.') goto yy1043; - if (yych <= '@') goto yy673; - goto yy1160; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy141; } } else { - if (yych <= '`') { - if (yych <= 'M') goto yy1163; - if (yych <= 'Z') goto yy1160; - goto yy673; + if (yych <= 'm') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych == 'm') goto yy1163; - if (yych <= 'z') goto yy1160; - goto yy673; - } - } -yy1113: - ++YYCURSOR; -#line 1640 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_month((char **) &ptr); - s->time->d = timelib_get_nr((char **) &ptr, 2); - - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); - } + if (yych <= 'n') goto yy1496; + if (yych <= 'z') goto yy141; + goto yy3; } - - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - TIMELIB_DEINIT; - return TIMELIB_SHORTDATE_WITH_TIME; } -#line 18999 "" -yy1115: +yy1496: yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy1113; - if (yych <= 0x08) goto yy56; - goto yy1113; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; + } } else { - if (yych == ' ') goto yy1113; - goto yy56; + if (yych <= 's') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; + } else { + if (yych <= 't') goto yy1497; + if (yych <= 'z') goto yy142; + goto yy3; + } } -yy1116: - yych = *++YYCURSOR; - goto yy1046; -yy1117: +yy1497: yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych == 'H') goto yy1165; - if (yych <= 'M') goto yy56; - goto yy1166; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy56; - goto yy1165; + if (yych <= 'H') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == 'n') goto yy1166; - goto yy56; + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy143; + goto yy1238; } - } -yy1118: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy56; - goto yy1118; } else { - if (yych <= 'O') { - if (yych <= 'N') goto yy56; - goto yy1167; + if (yych <= 'g') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych == 'o') goto yy1167; - goto yy56; + if (yych <= 'h') goto yy1238; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy1120: - yych = *++YYCURSOR; - if (yych == 'A') goto yy1168; - if (yych == 'a') goto yy1168; - goto yy56; -yy1121: - yych = *++YYCURSOR; - if (yych == 'T') goto yy1169; - if (yych == 't') goto yy1169; - goto yy56; -yy1122: - yych = *++YYCURSOR; - if (yych == 'H') goto yy1045; - if (yych == 'h') goto yy1045; - goto yy56; -yy1123: - yych = *++YYCURSOR; - if (yych == 'R') goto yy1126; - if (yych == 'r') goto yy1126; - goto yy56; -yy1124: - yych = *++YYCURSOR; - if (yych == 'N') goto yy1170; - if (yych == 'n') goto yy1170; - goto yy56; -yy1125: +yy1498: yych = *++YYCURSOR; - if (yych == 'S') goto yy1126; - if (yych != 's') goto yy56; -yy1126: - yych = *++YYCURSOR; - if (yych == 'D') goto yy1120; - if (yych == 'd') goto yy1120; - goto yy56; -yy1127: - yych = *++YYCURSOR; - if (yych == 'E') goto yy1125; - if (yych == 'e') goto yy1125; - goto yy56; -yy1128: - yyaccept = 31; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych == 'D') goto yy837; - if (yych >= 'S') goto yy1116; - } else { - if (yych <= 'd') { - if (yych >= 'd') goto yy837; + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == 's') goto yy1116; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; + goto yy1428; } - } -yy1129: -#line 1575 "ext/date/lib/parse_date.re" - { - timelib_sll i; - int behavior = 0; - DEBUG_OUTPUT("relativetextweek"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - - while(*ptr) { - i = timelib_get_relative_text((char **) &ptr, &behavior); - timelib_eat_spaces((char **) &ptr); - timelib_set_relative((char **) &ptr, i, behavior, s); - s->time->relative.weekday_behavior = 2; - - /* to handle the format weekday + last/this/next week */ - if (s->time->relative.have_weekday_relative == 0) { - TIMELIB_HAVE_WEEKDAY_RELATIVE(); - s->time->relative.weekday = 1; - } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; + } else { + if (yych <= 't') goto yy1428; + if (yych <= 'z') goto yy142; + goto yy3; } - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; } -#line 19121 "" -yy1130: - yych = *++YYCURSOR; - if (yych == 'O') goto yy1171; - if (yych == 'o') goto yy1171; - goto yy56; -yy1131: +yy1499: ++YYCURSOR; -yy1132: -#line 951 "ext/date/lib/parse_date.re" + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy139; + } else { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy1500; + if (yych <= 'z') goto yy142; + } +yy1500: +#line 963 "ext/date/lib/parse_date.re" { - DEBUG_OUTPUT("yesterday"); + DEBUG_OUTPUT("now"); TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_UNHAVE_TIME(); - s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 19141 "" -yy1133: - yyaccept = 32; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy924; - } - if (yych <= '.') { - if (yych == '-') goto yy276; - goto yy1132; - } else { - if (yych <= '/') goto yy276; - if (yych == '_') goto yy276; - goto yy1132; - } -yy1134: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1142; - goto yy56; -yy1135: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1142; - goto yy56; -yy1136: - yych = *++YYCURSOR; - if (yych == ':') goto yy1172; - goto yy56; -yy1137: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1139; - if (yych <= ':') goto yy1173; - goto yy56; -yy1138: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '4') goto yy1139; - if (yych == ':') goto yy1173; - goto yy56; -yy1139: +#line 22326 "" +yy1501: yych = *++YYCURSOR; - if (yych == ':') goto yy1173; - goto yy56; -yy1140: - yyaccept = 15; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'T') goto yy1070; - goto yy544; -yy1141: - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych == 'T') goto yy1174; - if (yych <= 'm') goto yy1011; - goto yy1071; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy1011; - goto yy1071; + if (yych <= 'N') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= 's') goto yy1072; - if (yych <= 't') goto yy1073; - goto yy1011; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy142; + goto yy1507; } - } -yy1142: - yych = *++YYCURSOR; - goto yy1011; -yy1143: - yyaccept = 26; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'n') { - if (yych == '/') goto yy1142; - if (yych <= 'm') goto yy1011; - goto yy1076; } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy1011; - goto yy1076; + if (yych <= 'm') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 's') goto yy1077; - if (yych <= 't') goto yy1078; - goto yy1011; + if (yych <= 'n') goto yy1507; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy1144: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1175; - if (yych <= '9') goto yy1146; - if (yych <= ':') goto yy1176; - goto yy56; -yy1145: - yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy56; - if (yych <= '4') goto yy1175; - goto yy1177; - } else { - if (yych == ':') goto yy1176; - goto yy56; - } -yy1146: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1177; - if (yych == ':') goto yy1176; - goto yy56; -yy1147: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1178; - if (yych <= '9') goto yy1149; - goto yy56; -yy1148: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '4') goto yy1178; - if (yych <= '5') goto yy1177; - goto yy56; -yy1149: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1177; - goto yy56; -yy1150: - yych = *++YYCURSOR; - if (yych == ' ') goto yy1179; - goto yy56; -yy1151: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy767; - if (yych == 'y') goto yy767; - goto yy56; -yy1152: - yych = *++YYCURSOR; - if (yych == 'R') goto yy767; - if (yych == 'r') goto yy767; - goto yy56; -yy1153: - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == '.') goto yy1180; - goto yy56; +yy1502: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; + } else { + if (yych == ' ') goto yy195; + goto yy193; + } + } else { + if (yych <= ',') { + if (yych <= ')') goto yy139; + goto yy193; + } else { + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; + } + } } else { - if (yych <= 'M') goto yy1181; - if (yych == 'm') goto yy1181; - goto yy56; + if (yych <= 'Z') { + if (yych <= '@') { + if (yych <= '9') goto yy195; + goto yy193; + } else { + if (yych != 'E') goto yy142; + } + } else { + if (yych <= 'd') { + if (yych <= '`') goto yy193; + goto yy142; + } else { + if (yych <= 'e') goto yy1503; + if (yych <= 'z') goto yy142; + goto yy193; + } + } } -yy1154: - yych = *++YYCURSOR; - if (yych <= '/') goto yy1035; - if (yych <= '9') goto yy1182; - goto yy1035; -yy1155: +yy1503: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == '.') goto yy1183; - goto yy56; + if (yych <= 'M') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'L') goto yy143; + } } else { - if (yych <= 'M') goto yy1184; - if (yych == 'm') goto yy1184; - goto yy56; + if (yych <= 'l') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; + } else { + if (yych <= 'm') goto yy1504; + if (yych <= 'z') goto yy143; + goto yy3; + } } -yy1156: +yy1504: yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == 'D') goto yy837; - if (yych <= 'R') goto yy56; - goto yy1116; + if (yych <= 'B') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy144; + } } else { - if (yych <= 'd') { - if (yych <= 'c') goto yy56; - goto yy837; + if (yych <= 'a') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych == 's') goto yy1116; - goto yy56; + if (yych <= 'b') goto yy1505; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy1157: - yych = *++YYCURSOR; - if (yych <= '/') goto yy673; - if (yych <= '9') goto yy1159; - if (yych <= ':') goto yy1185; - goto yy673; -yy1158: - yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy673; - if (yych >= '5') goto yy1186; +yy1505: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= '9') goto yy941; - if (yych <= ':') goto yy1185; - goto yy673; + if (yych <= 'E') goto yy1506; + if (yych != 'e') goto yy3; } -yy1159: - yych = *++YYCURSOR; - if (yych <= '/') goto yy673; - if (yych <= '5') goto yy1186; - if (yych <= '9') goto yy941; - if (yych <= ':') goto yy1185; - goto yy673; -yy1160: +yy1506: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy941; - goto yy673; + if (yych == 'R') goto yy205; + if (yych == 'r') goto yy205; + goto yy56; +yy1507: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy139; } else { - if (yych <= 'Z') goto yy1187; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1187; - goto yy673; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy1508; + if (yych <= 'z') goto yy143; } -yy1161: - yyaccept = 17; +yy1508: +#line 972 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("noon"); + TIMELIB_INIT; + TIMELIB_UNHAVE_TIME(); + TIMELIB_HAVE_TIME(); + s->time->h = 12; + + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +#line 22468 "" +yy1509: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy941; - goto yy673; + if (yych <= 'V') { + if (yych <= '.') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych == '-') goto yy147; + goto yy3; + } } else { - if (yych == '.') goto yy673; - goto yy1188; + if (yych <= 'N') { + if (yych <= '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; + } else { + if (yych <= 'O') goto yy1501; + if (yych <= 'U') goto yy141; + goto yy1502; + } } } else { - if (yych <= '^') { - if (yych <= '@') goto yy673; - if (yych <= 'Z') goto yy1187; - goto yy673; + if (yych <= 'n') { + if (yych <= '^') { + if (yych <= 'W') goto yy1499; + if (yych <= 'Z') goto yy141; + goto yy3; + } else { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + goto yy146; + } } else { - if (yych <= '_') goto yy1188; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1189; - goto yy673; + if (yych <= 'v') { + if (yych <= 'o') goto yy1516; + if (yych <= 'u') goto yy146; + goto yy1517; + } else { + if (yych <= 'w') goto yy1515; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy1162: - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == ')') goto yy941; - if (yych <= '@') goto yy673; - goto yy1187; +yy1510: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; + } } else { - if (yych <= 'Z') { - if (yych <= 'T') goto yy1190; - goto yy1187; + if (yych <= '_') { + if (yych <= 'X') goto yy1498; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1187; - goto yy673; + if (yych <= 'w') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'x') goto yy1514; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy1163: - yyaccept = 17; +yy1511: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy1113; - if (yych <= 0x08) goto yy673; - goto yy1113; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == ' ') goto yy1113; - if (yych <= '(') goto yy673; - goto yy941; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { - if (yych <= '@') { - if (yych == '.') goto yy1115; - goto yy673; + if (yych <= '_') { + if (yych <= 'N') goto yy1496; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= 'Z') goto yy1187; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1187; - goto yy673; + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 'n') goto yy1512; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy1164: - yyaccept = 17; +yy1512: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1113; - if (yych == '\t') goto yy1113; - goto yy673; + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych <= '(') { - if (yych <= ' ') goto yy1113; - goto yy673; - } else { - if (yych <= ')') goto yy941; - if (yych <= ',') goto yy673; - goto yy1188; - } + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { - if (yych <= 'Z') { - if (yych <= '.') goto yy1115; - if (yych <= '/') goto yy1188; - if (yych <= '@') goto yy673; - goto yy1187; + if (yych <= '_') { + if (yych <= 'T') goto yy1497; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '_') { - if (yych <= '^') goto yy673; - goto yy1188; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1189; - goto yy673; + if (yych <= 't') goto yy1513; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy1165: - yych = *++YYCURSOR; - if (yych == 'N') goto yy1166; - if (yych != 'n') goto yy56; -yy1166: - yych = *++YYCURSOR; - if (yych == 'I') goto yy1191; - if (yych == 'i') goto yy1191; - goto yy56; -yy1167: - yych = *++YYCURSOR; - if (yych == 'F') goto yy1192; - if (yych == 'f') goto yy1192; - goto yy56; -yy1168: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1194; - if (yych == 'y') goto yy1194; - goto yy56; -yy1169: - yych = *++YYCURSOR; - if (yych == 'E') goto yy1045; - if (yych == 'e') goto yy1045; - goto yy56; -yy1170: - yych = *++YYCURSOR; - if (yych == 'D') goto yy1045; - if (yych == 'd') goto yy1045; - goto yy56; -yy1171: - yych = *++YYCURSOR; - if (yych == 'F') goto yy1195; - if (yych == 'f') goto yy1195; - goto yy56; -yy1172: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1197; - if (yych <= '2') goto yy1198; - goto yy56; -yy1173: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1199; - if (yych <= '9') goto yy1200; - goto yy56; -yy1174: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1201; - if (yych <= '2') goto yy1202; - if (yych <= '9') goto yy1139; - goto yy56; -yy1175: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1203; - if (yych <= '9') goto yy1204; - if (yych >= ';') goto yy56; -yy1176: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1205; - goto yy56; -yy1177: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1204; - goto yy56; -yy1178: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1203; - if (yych <= '9') goto yy1204; - goto yy56; -yy1179: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1206; - if (yych <= '2') goto yy1207; - goto yy56; -yy1180: - yych = *++YYCURSOR; - if (yych == 'M') goto yy1181; - if (yych != 'm') goto yy56; -yy1181: - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1208; - if (yych == '\t') goto yy1208; - goto yy56; +yy1513: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; + } } else { - if (yych <= ' ') goto yy1208; - if (yych == '.') goto yy1210; - goto yy56; + if (yych <= '_') { + if (yych <= 'H') goto yy1238; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'g') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'h') goto yy1267; + if (yych <= 'z') goto yy151; + goto yy3; + } + } } -yy1182: - yych = *++YYCURSOR; - goto yy1035; -yy1183: - yych = *++YYCURSOR; - if (yych == 'M') goto yy1184; - if (yych != 'm') goto yy56; -yy1184: - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1211; - if (yych == '\t') goto yy1211; - goto yy56; +yy1514: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; + } } else { - if (yych <= ' ') goto yy1211; - if (yych == '.') goto yy1212; - goto yy56; + if (yych <= '_') { + if (yych <= 'T') goto yy1428; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 't') goto yy1460; + if (yych <= 'z') goto yy150; + goto yy3; + } + } } -yy1185: - yych = *++YYCURSOR; - if (yych <= '/') goto yy673; - if (yych <= '5') goto yy1186; - if (yych <= '9') goto yy941; - goto yy673; -yy1186: - yych = *++YYCURSOR; - if (yych <= '/') goto yy673; - if (yych <= '9') goto yy941; - goto yy673; -yy1187: - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy941; - goto yy673; +yy1515: + yyaccept = 31; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy1500; + } else { + if (yych == '.') goto yy1500; + goto yy147; + } } else { - if (yych <= 'Z') goto yy1213; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1213; - goto yy673; + if (yych <= '^') { + if (yych <= '@') goto yy1500; + if (yych <= 'Z') goto yy142; + goto yy1500; + } else { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy1500; + if (yych <= 'z') goto yy150; + goto yy1500; + } } -yy1188: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '@') goto yy56; - if (yych <= 'Z') goto yy1214; - if (yych <= '`') goto yy56; - if (yych <= 'z') goto yy1214; - goto yy56; -yy1189: - yyaccept = 17; +yy1516: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy941; - goto yy673; + if (yych <= 'M') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '.') goto yy673; - goto yy1188; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { - if (yych <= '^') { - if (yych <= '@') goto yy673; - if (yych <= 'Z') goto yy1213; - goto yy673; + if (yych <= '_') { + if (yych <= 'N') goto yy1507; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '_') goto yy1188; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1216; - goto yy673; + if (yych <= 'm') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 'n') goto yy1522; + if (yych <= 'z') goto yy150; + goto yy3; + } } } -yy1190: - yyaccept = 17; +yy1517: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ')') { - if (yych <= '(') goto yy673; - goto yy941; + if (yych <= '9') { + if (yych <= '(') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy193; + goto yy195; + } else { + if (yych == ' ') goto yy195; + goto yy193; + } } else { - if (yych == '+') goto yy1105; - goto yy673; + if (yych <= '-') { + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; + } else { + if (yych == '/') goto yy147; + goto yy195; + } } } else { - if (yych <= 'Z') { - if (yych <= '-') goto yy1105; - if (yych <= '@') goto yy673; - goto yy1213; + if (yych <= '^') { + if (yych <= 'D') { + if (yych <= '@') goto yy193; + goto yy142; + } else { + if (yych <= 'E') goto yy1503; + if (yych <= 'Z') goto yy142; + goto yy193; + } } else { - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1213; - goto yy673; - } - } -yy1191: - yych = *++YYCURSOR; - if (yych == 'G') goto yy1217; - if (yych == 'g') goto yy1217; - goto yy56; -yy1192: - ++YYCURSOR; -#line 1072 "ext/date/lib/parse_date.re" - { - timelib_sll i; - int behavior = 0; - DEBUG_OUTPUT("weekdayof"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - TIMELIB_HAVE_SPECIAL_RELATIVE(); - - i = timelib_get_relative_text((char **) &ptr, &behavior); - timelib_eat_spaces((char **) &ptr); - if (i > 0) { /* first, second... etc */ - s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH; - timelib_set_relative((char **) &ptr, i, 1, s); - } else { /* last */ - s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH; - timelib_set_relative((char **) &ptr, i, behavior, s); + if (yych <= 'd') { + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; + } else { + if (yych <= 'e') goto yy1518; + if (yych <= 'z') goto yy150; + goto yy193; + } } - TIMELIB_DEINIT; - return TIMELIB_WEEK_DAY_OF_MONTH; } -#line 19672 "" -yy1194: - yyaccept = 28; +yy1518: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '\t') goto yy1118; - if (yych == ' ') goto yy1118; - goto yy1046; -yy1195: - ++YYCURSOR; -#line 1032 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("firstdayof | lastdayof"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - - /* skip "last day of" or "first day of" */ - if (*ptr == 'l' || *ptr == 'L') { - s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH; + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } - - TIMELIB_DEINIT; - return TIMELIB_LF_DAY_OF_MONTH; - } -#line 19697 "" -yy1197: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1218; - goto yy56; -yy1198: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '4') goto yy1218; - goto yy56; -yy1199: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1200; - if (yych <= ':') goto yy1219; - goto yy56; -yy1200: - yych = *++YYCURSOR; - if (yych == ':') goto yy1219; - goto yy56; -yy1201: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1220; - if (yych <= ':') goto yy1173; - goto yy56; -yy1202: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '4') goto yy1220; - if (yych == ':') goto yy1173; - goto yy56; -yy1203: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1219; - if (yych <= '6') goto yy1221; - if (yych >= ':') goto yy56; -yy1204: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1222; - if (yych <= '6') goto yy1223; - goto yy56; -yy1205: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1224; - goto yy56; -yy1206: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1225; - goto yy56; -yy1207: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '4') goto yy1225; - goto yy56; -yy1208: - ++YYCURSOR; -#line 1111 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("mssqltime"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == ':' || *ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + } else { + if (yych <= '_') { + if (yych <= 'M') goto yy1504; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; + } else { + if (yych <= 'l') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'm') goto yy1519; + if (yych <= 'z') goto yy151; + goto yy3; } } - timelib_eat_spaces((char **) &ptr); - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - TIMELIB_DEINIT; - return TIMELIB_TIME24_WITH_ZONE; - } -#line 19778 "" -yy1210: - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy1208; - if (yych <= 0x08) goto yy56; - goto yy1208; - } else { - if (yych == ' ') goto yy1208; - goto yy56; - } -yy1211: - yych = *++YYCURSOR; - goto yy1097; -yy1212: - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy1211; - if (yych <= 0x08) goto yy56; - goto yy1211; - } else { - if (yych == ' ') goto yy1211; - goto yy56; - } -yy1213: - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy941; - goto yy673; - } else { - if (yych <= 'Z') goto yy1226; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1226; - goto yy673; } -yy1214: - yyaccept = 17; - YYMARKER = ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '@') { +yy1519: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { if (yych <= '-') { - if (yych <= ',') goto yy673; - goto yy1188; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy1188; - goto yy673; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'Z') goto yy1214; - if (yych <= '^') goto yy673; - goto yy1188; + if (yych <= 'B') goto yy1505; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1214; - goto yy673; + if (yych <= 'a') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'b') goto yy1520; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy1216: - yyaccept = 17; +yy1520: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; + } + } else { + if (yych <= '`') { + if (yych <= 'E') goto yy1506; + if (yych == '_') goto yy147; + goto yy3; + } else { + if (yych == 'e') goto yy1521; + if (yych <= 'z') goto yy153; + goto yy3; + } + } +yy1521: + yych = *++YYCURSOR; + if (yych == 'R') goto yy205; + if (yych == 'r') goto yy376; + goto yy154; +yy1522: + yyaccept = 32; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy941; - goto yy673; + if (yych == ')') goto yy139; + goto yy1508; } else { - if (yych == '.') goto yy673; - goto yy1188; + if (yych == '.') goto yy1508; + goto yy147; } } else { if (yych <= '^') { - if (yych <= '@') goto yy673; - if (yych <= 'Z') goto yy1226; - goto yy673; + if (yych <= '@') goto yy1508; + if (yych <= 'Z') goto yy143; + goto yy1508; } else { - if (yych <= '_') goto yy1188; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1227; - goto yy673; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy1508; + if (yych <= 'z') goto yy151; + goto yy1508; } } -yy1217: - yych = *++YYCURSOR; - if (yych == 'H') goto yy1228; - if (yych == 'h') goto yy1228; - goto yy56; -yy1218: - yych = *++YYCURSOR; - if (yych == ':') goto yy1229; - goto yy56; -yy1219: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1230; - if (yych <= '6') goto yy1232; - if (yych <= '9') goto yy1233; - goto yy56; -yy1220: - yych = *++YYCURSOR; - if (yych == ':') goto yy1234; - goto yy56; -yy1221: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '0') goto yy1230; - if (yych <= '5') goto yy1222; - if (yych <= '6') goto yy1223; - goto yy56; -yy1222: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1233; - goto yy56; -yy1223: - yych = *++YYCURSOR; - if (yych == '0') goto yy1233; - goto yy56; -yy1224: +yy1523: yych = *++YYCURSOR; - if (yych == ':') goto yy1204; - goto yy56; -yy1225: + if (yych <= 'S') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy141; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; + } else { + if (yych <= 's') goto yy1524; + if (yych <= 'z') goto yy141; + goto yy3; + } + } +yy1524: yych = *++YYCURSOR; - if (yych == ':') goto yy1176; - goto yy56; -yy1226: + if (yych <= 'T') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; + } + } else { + if (yych <= 's') { + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; + } else { + if (yych <= 't') goto yy1525; + if (yych <= 'z') goto yy142; + goto yy3; + } + } +yy1525: yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy941; - goto yy673; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy143; + } } else { - if (yych <= 'Z') goto yy1235; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1235; - goto yy673; + if (yych <= 'd') { + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; + } else { + if (yych <= 'e') goto yy1526; + if (yych <= 'z') goto yy143; + goto yy3; + } } -yy1227: - yyaccept = 17; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy941; - goto yy673; +yy1526: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '.') goto yy673; - goto yy1188; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy144; } } else { - if (yych <= '^') { - if (yych <= '@') goto yy673; - if (yych <= 'Z') goto yy1235; - goto yy673; + if (yych <= 'q') { + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= '_') goto yy1188; - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1236; - goto yy673; + if (yych <= 'r') goto yy1527; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy1228: +yy1527: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'D') goto yy1528; + if (yych != 'd') goto yy3; + } +yy1528: yych = *++YYCURSOR; - if (yych == 'T') goto yy1045; - if (yych == 't') goto yy1045; - goto yy56; -yy1229: + if (yych == 'A') goto yy1529; + if (yych != 'a') goto yy56; +yy1529: yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1237; - goto yy56; -yy1230: + if (yych == 'Y') goto yy1530; + if (yych != 'y') goto yy56; +yy1530: ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy1231; - if (yych <= '9') goto yy1233; -yy1231: -#line 1400 "ext/date/lib/parse_date.re" +yy1531: +#line 951 "ext/date/lib/parse_date.re" { - int tz_not_found; - DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); + DEBUG_OUTPUT("yesterday"); 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_HAVE_RELATIVE(); + TIMELIB_UNHAVE_TIME(); + + s->time->relative.d = -1; TIMELIB_DEINIT; - return TIMELIB_XMLRPC_SOAP; + return TIMELIB_RELATIVE; } -#line 19978 "" -yy1232: - yych = *++YYCURSOR; - if (yych != '0') goto yy1231; -yy1233: - yych = *++YYCURSOR; - goto yy1231; -yy1234: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1238; - if (yych <= '9') goto yy1200; - goto yy56; -yy1235: - yych = *++YYCURSOR; - if (yych == ')') goto yy941; - goto yy673; -yy1236: - yyaccept = 17; +#line 22989 "" +yy1532: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ')') { - if (yych <= '(') goto yy673; - goto yy941; + if (yych <= 'R') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '-') goto yy1188; - goto yy673; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= '/') goto yy1188; - if (yych <= '^') goto yy673; - goto yy1188; + if (yych <= 'S') goto yy1524; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy673; - if (yych <= 'z') goto yy1239; - goto yy673; + if (yych <= 'r') { + if (yych <= '`') goto yy3; + goto yy146; + } else { + if (yych <= 's') goto yy1533; + if (yych <= 'z') goto yy146; + goto yy3; + } } } -yy1237: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1241; - goto yy56; -yy1238: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1242; - if (yych <= ':') goto yy1219; - goto yy56; -yy1239: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '/') { - if (yych == '-') goto yy1188; - if (yych <= '.') goto yy56; - goto yy1188; +yy1533: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; + } } else { if (yych <= '_') { - if (yych <= '^') goto yy56; - goto yy1188; + if (yych <= 'T') goto yy1525; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy56; - if (yych <= 'z') goto yy1239; - goto yy56; + if (yych <= 's') { + if (yych <= '`') goto yy3; + goto yy150; + } else { + if (yych <= 't') goto yy1534; + if (yych <= 'z') goto yy150; + goto yy3; + } } } -yy1241: - yych = *++YYCURSOR; - if (yych == ':') goto yy1243; - goto yy56; -yy1242: - yych = *++YYCURSOR; - if (yych == ':') goto yy1244; - goto yy56; -yy1243: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1245; - if (yych <= '6') goto yy1246; - goto yy56; -yy1244: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1247; - if (yych <= '6') goto yy1248; - if (yych <= '9') goto yy1233; - goto yy56; -yy1245: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1249; - goto yy56; -yy1246: - yych = *++YYCURSOR; - if (yych == '0') goto yy1249; - goto yy56; -yy1247: - yych = *++YYCURSOR; - if (yych <= '/') goto yy1231; - if (yych <= '9') goto yy1250; - goto yy1231; -yy1248: - yych = *++YYCURSOR; - if (yych == '0') goto yy1250; - goto yy1231; -yy1249: - yych = *++YYCURSOR; - if (yych == '\t') goto yy1251; - if (yych == ' ') goto yy1251; - goto yy56; -yy1250: - yyaccept = 33; +yy1534: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy1253; - goto yy1231; -yy1251: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; - if (yych <= '*') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy1251; + if (yych <= 'D') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == ' ') goto yy1251; - goto yy56; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { - if (yych <= '-') { - if (yych == ',') goto yy56; - goto yy1254; + if (yych <= '_') { + if (yych <= 'E') goto yy1526; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'G') goto yy1255; - goto yy56; + if (yych <= 'd') { + if (yych <= '`') goto yy3; + goto yy151; + } else { + if (yych <= 'e') goto yy1535; + if (yych <= 'z') goto yy151; + goto yy3; + } } } -yy1253: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1256; - goto yy56; -yy1254: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1258; - if (yych <= '2') goto yy1260; - if (yych <= '9') goto yy1261; - goto yy56; -yy1255: - yych = *++YYCURSOR; - if (yych == 'M') goto yy1262; - goto yy56; -yy1256: - yyaccept = 33; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; - if (yych <= '-') { - if (yych == '+') goto yy1263; - if (yych <= ',') goto yy1231; - goto yy1263; +yy1535: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych <= '-') { + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; + } else { + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; + } } else { - if (yych <= '9') { - if (yych <= '/') goto yy1231; - goto yy1256; + if (yych <= '_') { + if (yych <= 'R') goto yy1527; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych == 'G') goto yy1264; - goto yy1231; + if (yych <= 'q') { + if (yych <= '`') goto yy3; + goto yy152; + } else { + if (yych <= 'r') goto yy1536; + if (yych <= 'z') goto yy152; + goto yy3; + } } } -yy1258: - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy1259; - if (yych <= '9') goto yy1261; - if (yych <= ':') goto yy1265; -yy1259: -#line 1506 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("clf"); - TIMELIB_INIT; - TIMELIB_HAVE_TIME(); - TIMELIB_HAVE_DATE(); - s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->m = timelib_get_month((char **) &ptr); - s->time->y = timelib_get_nr((char **) &ptr, 4); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - s->time->s = timelib_get_nr((char **) &ptr, 2); - s->time->z = timelib_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"); +yy1536: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych <= ',') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } - TIMELIB_DEINIT; - return TIMELIB_CLF; - } -#line 20176 "" -yy1260: - yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy1259; - if (yych >= '5') goto yy1266; } else { - if (yych <= '9') goto yy1267; - if (yych <= ':') goto yy1265; - goto yy1259; + if (yych <= '`') { + if (yych <= 'D') goto yy1528; + if (yych == '_') goto yy147; + goto yy3; + } else { + if (yych == 'd') goto yy1537; + if (yych <= 'z') goto yy153; + goto yy3; + } } -yy1261: - yych = *++YYCURSOR; - if (yych <= '/') goto yy1259; - if (yych <= '5') goto yy1266; - if (yych <= '9') goto yy1267; - if (yych <= ':') goto yy1265; - goto yy1259; -yy1262: - yych = *++YYCURSOR; - if (yych == 'T') goto yy1268; - goto yy56; -yy1263: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1269; - if (yych <= '2') goto yy1270; - if (yych <= '9') goto yy1271; - goto yy56; -yy1264: - yych = *++YYCURSOR; - if (yych == 'M') goto yy1272; - goto yy56; -yy1265: - yych = *++YYCURSOR; - if (yych <= '/') goto yy1259; - if (yych <= '5') goto yy1266; - if (yych <= '9') goto yy1267; - goto yy1259; -yy1266: +yy1537: yych = *++YYCURSOR; - if (yych <= '/') goto yy1259; - if (yych >= ':') goto yy1259; -yy1267: - yych = *++YYCURSOR; - goto yy1259; -yy1268: - yych = *++YYCURSOR; - if (yych == '+') goto yy1254; - if (yych == '-') goto yy1254; - goto yy56; -yy1269: - yych = *++YYCURSOR; - if (yych <= '/') goto yy1231; - if (yych <= '9') goto yy1271; - if (yych <= ':') goto yy1273; - goto yy1231; -yy1270: + if (yych == 'A') goto yy1529; + if (yych != 'a') goto yy154; yych = *++YYCURSOR; - if (yych <= '5') { - if (yych <= '/') goto yy1231; - if (yych >= '5') goto yy1230; + if (yych == 'Y') goto yy1530; + if (yych != 'y') goto yy154; + yyaccept = 33; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy153; + } + if (yych <= '.') { + if (yych == '-') goto yy147; + goto yy1531; } else { - if (yych <= '9') goto yy1233; - if (yych <= ':') goto yy1273; - goto yy1231; + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; + goto yy1531; } -yy1271: - yych = *++YYCURSOR; - if (yych <= '/') goto yy1231; - if (yych <= '5') goto yy1230; - if (yych <= '9') goto yy1233; - if (yych <= ':') goto yy1273; - goto yy1231; -yy1272: - yych = *++YYCURSOR; - if (yych == 'T') goto yy1274; - goto yy56; -yy1273: - yych = *++YYCURSOR; - if (yych <= '/') goto yy1231; - if (yych <= '5') goto yy1230; - if (yych <= '9') goto yy1233; - goto yy1231; -yy1274: - ++YYCURSOR; - if ((yych = *YYCURSOR) == '+') goto yy1263; - if (yych == '-') goto yy1263; - goto yy56; } #line 1725 "ext/date/lib/parse_date.re" From c9f21e8319dadfc70f2a37e78d1e604f40ecbf1d Mon Sep 17 00:00:00 2001 From: Ferenc Kovacs Date: Thu, 21 Jul 2016 00:36:07 +0200 Subject: [PATCH 077/206] update NEWs --- NEWS | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/NEWS b/NEWS index 7b76ccdecda18..fb08c0213e29e 100644 --- a/NEWS +++ b/NEWS @@ -55,19 +55,42 @@ PHP NEWS . Fixed bug #72496 (Cannot declare public method with signature incompatible with parent private method). (Pedro Magalhães) . Fixed bug #72138 (Integer Overflow in Length of String-typed ZVAL). (Stas) + . Fixed bug #72513 (Stack-based buffer overflow vulnerability in + virtual_file_ex). (loianhtuan at gmail dot com) + . Fixed bug #72562 (Use After Free in unserialize() with Unexpected Session + Deserialization). (taoguangchen at icloud dot com) + . Fixed bug #72573 (HTTP_PROXY is improperly trusted by some PHP libraries and + applications). (CVE-2016-5385) (Stas) - bz2: . Fixed bug #72447 (Type Confusion in php_bz2_filter_create()). (gogil at stealien dot com). + . Fixed bug #72613 (Inadequate error handling in bzread()). (Stas) - EXIF: . Fixed bug #50845 (exif_read_data() returns corrupted exif headers). (Bartosz Dziewoński) +- EXIF: + . Fixed bug #72603 (Out of bound read in exif_process_IFD_in_MAKERNOTE). + (Stas) + . Fixed bug #72618 (NULL Pointer Dereference in exif_process_user_comment). + (Stas) - GD: . Fixed bug #43475 (Thick styled lines have scrambled patterns). (cmb) . Fixed bug #53640 (XBM images require width to be multiple of 8). (cmb) . Fixed bug #64641 (imagefilledpolygon doesn't draw horizontal line). (cmb) + . Fixed bug #72512 (gdImageTrueColorToPaletteBody allows arbitrary write/read + access). (Pierre) + . Fixed bug #72519 (imagegif/output out-of-bounds access). (Pierre) + . Fixed bug #72558 (Integer overflow error within _gdContributionsAlloc()). + (CVE-2016-6207) (Pierre) + +- Intl: + . Fixed bug #72533 (locale_accept_from_http out-of-bounds access). (Stas) + +- ODBC: + . Fixed bug #69975 (PHP segfaults when accessing nvarchar(max) defined columns) - OpenSSL: . Fixed bug #71915 (openssl_random_pseudo_bytes is not fork-safe). @@ -75,6 +98,10 @@ PHP NEWS . Fixed bug #72336 (openssl_pkey_new does not fail for invalid DSA params). (Jakub Zelenka) +- SNMP: + . Fixed bug #72479 (Use After Free Vulnerability in SNMP with GC and + unserialize()). (taoguangchen at icloud dot com) + - SPL: . Fixed bug #55701 (GlobIterator throws LogicException). (Valentin VĂLCIU) @@ -86,6 +113,14 @@ PHP NEWS . Fixed bug #72439 (Stream socket with remote address leads to a segmentation fault). (Laruence) +- Xmlrpc: + . Fixed bug #72606 (heap-buffer-overflow (write) simplestring_addn simplestring.c). + (Stas) + +- Zip: + . Fixed bug #72520 (Stack-based buffer overflow vulnerability in + php_stream_zip_opener). (loianhtuan at gmail dot com) + 23 Jun 2016, PHP 5.6.23 - Core: From 8b191921c3b9a1eaef68c5f995332743c0f98224 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Thu, 21 Jul 2016 01:52:03 +0200 Subject: [PATCH 078/206] update libs_versions.txt --- win32/build/libs_version.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/win32/build/libs_version.txt b/win32/build/libs_version.txt index faca5d8c12333..9c036e2d544c3 100644 --- a/win32/build/libs_version.txt +++ b/win32/build/libs_version.txt @@ -1,9 +1,9 @@ bz2-1.0.6 cclient-2007f freetype-2.6.2 -icu-56.1 -jpeglib-9a -libcurl-7.47.1 +icu-57.1 +jpeglib-9b +libcurl-7.49.1 libiconv-1.14 libmcrypt-2.5.8 libmpir-2.7.2 @@ -11,6 +11,6 @@ libpng-1.5.26 libpq-9.4.5 libssh2-1.7.0 libtidy-20090406 -libxslt-1.1.27 -libxml-2.9.3 +libxslt-1.1.29 +libxml-2.9.4 openssl-1.0.1t From f813f438552bf52d7d7d6213e12ad67d9e5bbeec Mon Sep 17 00:00:00 2001 From: Pieter Hordijk Date: Fri, 15 Jul 2016 21:58:13 +0200 Subject: [PATCH 079/206] Removed incorrect (leftover?) sentence in ini about mbstring or iconv output handler --- php.ini-development | 1 - php.ini-production | 1 - 2 files changed, 2 deletions(-) diff --git a/php.ini-development b/php.ini-development index a9535e5951cfd..d38f672a59d23 100644 --- a/php.ini-development +++ b/php.ini-development @@ -690,7 +690,6 @@ default_charset = "UTF-8" ; PHP output character encoding is set to empty. ; If empty, default_charset is used. -; mbstring or iconv output handler is used. ; See also output_buffer. ; http://php.net/output-encoding ;output_encoding = diff --git a/php.ini-production b/php.ini-production index e3a9961af017c..d295c46392507 100644 --- a/php.ini-production +++ b/php.ini-production @@ -690,7 +690,6 @@ default_charset = "UTF-8" ; PHP output character encoding is set to empty. ; If empty, default_charset is used. -; mbstring or iconv output handler is used. ; See also output_buffer. ; http://php.net/output-encoding ;output_encoding = From f2c2a4be9e466f14677089efe33e20ca0b146809 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 21 Jul 2016 18:36:12 +0200 Subject: [PATCH 080/206] Fix #72330: CSV fields incorrectly split if escape char followed by UTF chars We must not forget to properly reset the state for multibyte characters following an escape character. --- NEWS | 4 ++++ ext/standard/file.c | 1 + ext/standard/tests/file/bug72330.phpt | 26 ++++++++++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 ext/standard/tests/file/bug72330.phpt diff --git a/NEWS b/NEWS index fb08c0213e29e..c2cae0af64792 100644 --- a/NEWS +++ b/NEWS @@ -44,6 +44,10 @@ PHP NEWS . Fixed bug #72222 (ReflectionClass::export doesn't handle array constants). (Nikita Nefedov) +- Standard: + . Fixed bug #72330 (CSV fields incorrectly split if escape char followed by + UTF chars). (cmb) + - SPL: . Fixed bug #72122 (IteratorIterator breaks '@' error suppression). (kinglozzer) diff --git a/ext/standard/file.c b/ext/standard/file.c index f8c4e0450bc39..d8471fff1c64b 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -2219,6 +2219,7 @@ PHPAPI void php_fgetcsv(php_stream *stream, char delimiter, char enclosure, char memcpy(tptr, hunk_begin, bptr - hunk_begin); tptr += (bptr - hunk_begin); hunk_begin = bptr; + state = 0; break; default: bptr += inc_len; diff --git a/ext/standard/tests/file/bug72330.phpt b/ext/standard/tests/file/bug72330.phpt new file mode 100644 index 0000000000000..843032ae2d948 --- /dev/null +++ b/ext/standard/tests/file/bug72330.phpt @@ -0,0 +1,26 @@ +--TEST-- +Bug #72330 (CSV fields incorrectly split if escape char followed by UTF chars) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +array(2) { + [0]=> + string(11) "first #с؀" + [1]=> + string(6) "second" +} From fb4a6dc0f1df106dae84c9d8f3ec53cc0da7231b Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 22 Jul 2016 09:35:09 +0200 Subject: [PATCH 081/206] FPM: add test for CVE-2016-5385 --- sapi/fpm/tests/022-cve-2016-5385.phpt | 81 +++++++++++++++++++++++++++ sapi/fpm/tests/include.inc | 6 +- 2 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 sapi/fpm/tests/022-cve-2016-5385.phpt diff --git a/sapi/fpm/tests/022-cve-2016-5385.phpt b/sapi/fpm/tests/022-cve-2016-5385.phpt new file mode 100644 index 0000000000000..7f3e818f9b7df --- /dev/null +++ b/sapi/fpm/tests/022-cve-2016-5385.phpt @@ -0,0 +1,81 @@ +--TEST-- +FPM: HTTP_PROXY - CVE-2016-5385 +--SKIPIF-- + +--FILE-- + 'BAR', + 'HTTP_PROXY' => 'BADPROXY', + ]; + $req = run_request('127.0.0.1', $port, $srcfile, '', $headers); + echo strstr($req, "Test Start"); + echo "Request ok\n"; + } catch (Exception $e) { + echo "Request error\n"; + } + proc_terminate($fpm); + echo stream_get_contents($tail); + fclose($tail); + proc_close($fpm); +} + +?> +Done +--EXPECTF-- +[%s] NOTICE: fpm is running, pid %d +[%s] NOTICE: ready to handle connections +Test Start +NULL +string(3) "BAR" +bool(false) +string(3) "BAR" +Test End + +Request ok +[%s] NOTICE: Terminating ... +[%s] NOTICE: exiting, bye-bye! +Done +--CLEAN-- + diff --git a/sapi/fpm/tests/include.inc b/sapi/fpm/tests/include.inc index b195fad507325..a8b64f48b7eac 100644 --- a/sapi/fpm/tests/include.inc +++ b/sapi/fpm/tests/include.inc @@ -86,10 +86,10 @@ function fpm_display_log($tail, $n=1, $ignore='systemd') { } } -function run_request($host, $port, $uri='/ping', $query='') { +function run_request($host, $port, $uri='/ping', $query='', $headers=array()) { require_once 'fcgi.inc'; $client = new Adoy\FastCGI\Client($host, $port); - $params = array( + $params = array_merge(array( 'GATEWAY_INTERFACE' => 'FastCGI/1.0', 'REQUEST_METHOD' => 'GET', 'SCRIPT_FILENAME' => $uri, @@ -106,6 +106,6 @@ function run_request($host, $port, $uri='/ping', $query='') { 'SERVER_PROTOCOL' => 'HTTP/1.1', 'CONTENT_TYPE' => '', 'CONTENT_LENGTH' => 0 - ); + ), $headers); return $client->request($params, false)."\n"; } From 6b116932b28b76c3f075921a0f2660f7bf5ac4e1 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 22 Jul 2016 14:55:13 +0200 Subject: [PATCH 082/206] Fix #72646: SplFileObject::getCsvControl does not return the escape character This has obviously been missed when adding the $escape parameter to SplFileObject::setCsvControl() in PHP 5.3, so we catch up on this. --- NEWS | 2 ++ ext/spl/spl_directory.c | 9 ++++++--- .../tests/SplFileObject_getCsvControl_basic_001.phpt | 10 ++++++---- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/NEWS b/NEWS index c2cae0af64792..f04f36b38f4b3 100644 --- a/NEWS +++ b/NEWS @@ -50,6 +50,8 @@ PHP NEWS - SPL: . Fixed bug #72122 (IteratorIterator breaks '@' error suppression). (kinglozzer) + . Fixed bug #72646 (SplFileObject::getCsvControl does not return the escape + character). (cmb) 21 Jul 2016, PHP 5.6.24 diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c index 8613c9302c6c1..c08334573e2d6 100644 --- a/ext/spl/spl_directory.c +++ b/ext/spl/spl_directory.c @@ -2692,7 +2692,7 @@ SPL_METHOD(SplFileObject, fputcsv) /* }}} */ /* {{{ proto void SplFileObject::setCsvControl([string delimiter = ',' [, string enclosure = '"' [, string escape = '\\']]]) - Set the delimiter and enclosure character used in fgetcsv */ + Set the delimiter, enclosure and escape character used in fgetcsv */ SPL_METHOD(SplFileObject, setCsvControl) { spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC); @@ -2735,11 +2735,11 @@ SPL_METHOD(SplFileObject, setCsvControl) /* }}} */ /* {{{ proto array SplFileObject::getCsvControl() - Get the delimiter and enclosure character used in fgetcsv */ + Get the delimiter, enclosure and escape character used in fgetcsv */ SPL_METHOD(SplFileObject, getCsvControl) { spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC); - char delimiter[2], enclosure[2]; + char delimiter[2], enclosure[2], escape[2]; array_init(return_value); @@ -2747,9 +2747,12 @@ SPL_METHOD(SplFileObject, getCsvControl) delimiter[1] = '\0'; enclosure[0] = intern->u.file.enclosure; enclosure[1] = '\0'; + escape[0] = intern->u.file.escape; + escape[1] = '\0'; add_next_index_string(return_value, delimiter, 1); add_next_index_string(return_value, enclosure, 1); + add_next_index_string(return_value, escape, 1); } /* }}} */ diff --git a/ext/spl/tests/SplFileObject_getCsvControl_basic_001.phpt b/ext/spl/tests/SplFileObject_getCsvControl_basic_001.phpt index e21f08fa2de74..4e3de4bab2eb2 100644 --- a/ext/spl/tests/SplFileObject_getCsvControl_basic_001.phpt +++ b/ext/spl/tests/SplFileObject_getCsvControl_basic_001.phpt @@ -6,10 +6,12 @@ $obj = New SplFileObject(dirname(__FILE__).'/SplFileObject_testinput.csv'); var_dump($obj->getCsvControl()); ?> ---EXPECTF-- -array(2) { +--EXPECT-- +array(3) { [0]=> - %unicode|string%(1) "," + string(1) "," [1]=> - %unicode|string%(1) """ + string(1) """ + [2]=> + string(1) "\" } From 4fc1bfa93bca114fc6d31b6f71836064dac157cd Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 22 Jul 2016 17:20:56 +0200 Subject: [PATCH 083/206] Make IntlCalendar::getNow() test more tolerant Due to the *1000 factor the two values may be off-by-1000 even without any actual delay, so increase the check to 2000. --- ext/intl/tests/calendar_getNow_basic.phpt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/intl/tests/calendar_getNow_basic.phpt b/ext/intl/tests/calendar_getNow_basic.phpt index 18325dfa605d9..2df112d7b2302 100644 --- a/ext/intl/tests/calendar_getNow_basic.phpt +++ b/ext/intl/tests/calendar_getNow_basic.phpt @@ -13,11 +13,11 @@ $now = IntlCalendar::getNow(); $proc_now = intlcal_get_now(); $time = time(); var_dump(abs($now - $proc_now) < 500); -var_dump(abs($time * 1000 - $proc_now) < 1000); +var_dump(abs($time * 1000 - $proc_now) < 2000); ?> ==DONE== --EXPECT-- bool(true) bool(true) -==DONE== \ No newline at end of file +==DONE== From 65abdb556ddf67068951020b8829c0817697a84e Mon Sep 17 00:00:00 2001 From: vhuk Date: Thu, 21 Jul 2016 12:20:06 +0300 Subject: [PATCH 084/206] Fix for bug #54431 --- NEWS | 4 ++++ ext/standard/ftp_fopen_wrapper.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index f04f36b38f4b3..f264bedb1822c 100644 --- a/NEWS +++ b/NEWS @@ -48,6 +48,10 @@ PHP NEWS . Fixed bug #72330 (CSV fields incorrectly split if escape char followed by UTF chars). (cmb) +- Streams: + . Fixed bug #41021 (Problems with the ftps wrapper). (vhuk) + . Fixed bug #54431 (opendir() does not work with ftps:// wrapper). (vhuk) + - SPL: . Fixed bug #72122 (IteratorIterator breaks '@' error suppression). (kinglozzer) . Fixed bug #72646 (SplFileObject::getCsvControl does not return the escape diff --git a/ext/standard/ftp_fopen_wrapper.c b/ext/standard/ftp_fopen_wrapper.c index b290b65095f76..0260ca1eabd77 100644 --- a/ext/standard/ftp_fopen_wrapper.c +++ b/ext/standard/ftp_fopen_wrapper.c @@ -746,9 +746,9 @@ php_stream * php_stream_ftp_opendir(php_stream_wrapper *wrapper, const char *pat php_stream_context_set(datastream, context); - if (use_ssl_on_data && (php_stream_xport_crypto_setup(stream, + if (use_ssl_on_data && (php_stream_xport_crypto_setup(datastream, STREAM_CRYPTO_METHOD_SSLv23_CLIENT, NULL TSRMLS_CC) < 0 || - php_stream_xport_crypto_enable(stream, 1 TSRMLS_CC) < 0)) { + php_stream_xport_crypto_enable(datastream, 1 TSRMLS_CC) < 0)) { php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "Unable to activate SSL mode"); php_stream_close(datastream); From 2c16b9cf62072afefb9a318f4a503bb9335f8537 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sat, 23 Jul 2016 16:48:07 +0200 Subject: [PATCH 085/206] Fix #66555: Always false condition in ext/gd/libgd/gdkanji.c This issue has already been fixed in libgd[1], so we fix PHP's bundled libgd accordingly. [1] --- NEWS | 3 ++- ext/gd/libgd/gdkanji.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index f264bedb1822c..b3000bd745876 100644 --- a/NEWS +++ b/NEWS @@ -32,6 +32,7 @@ PHP NEWS . Fixed bug #70315 (500 Server Error but page is fully rendered). (cmb) . Fixed bug #43828 (broken transparency of imagearc for truecolor in blendingmode). (cmb) + . Fixed bug #66555 (Always false condition in ext/gd/libgd/gdkanji.c). (cmb) - Intl: . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain @@ -73,7 +74,7 @@ PHP NEWS applications). (CVE-2016-5385) (Stas) - bz2: - . Fixed bug #72447 (Type Confusion in php_bz2_filter_create()). (gogil at + . Fixed bug #72447 (Type Confusion in php_bz2_filter_create()). (gogil at stealien dot com). . Fixed bug #72613 (Inadequate error handling in bzread()). (Stas) diff --git a/ext/gd/libgd/gdkanji.c b/ext/gd/libgd/gdkanji.c index 37f3bd10a079b..be853c542d56c 100644 --- a/ext/gd/libgd/gdkanji.c +++ b/ext/gd/libgd/gdkanji.c @@ -330,7 +330,7 @@ han2zen (int *p1, int *p2) { if ((*p2 >= 74 && *p2 <= 103) || (*p2 >= 110 && *p2 <= 122)) (*p2)++; - else if (*p2 == 131 && *p2 == 69) + else if (*p2 == 131 || *p2 == 69) *p2 = 148; } else if (handaku && *p2 >= 110 && *p2 <= 122) From 9fbd0c1ff11aad5c438042928f90879d21e0bec6 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sat, 23 Jul 2016 18:09:18 +0200 Subject: [PATCH 086/206] Fix copy&paste errors in gd_interpolation.c According to . --- ext/gd/libgd/gd_interpolation.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c index fd91e56535cf3..833e7fc093b7b 100644 --- a/ext/gd/libgd/gd_interpolation.c +++ b/ext/gd/libgd/gd_interpolation.c @@ -1568,8 +1568,8 @@ gdImagePtr gdImageScaleBicubicFixed(gdImagePtr src, const unsigned int width, co } if (m >= src_h - 1) { - src_offset_x[8] = n; - src_offset_y[8] = m; + src_offset_x[9] = n; + src_offset_y[9] = m; } else { src_offset_x[9] = n; src_offset_y[9] = m; @@ -2073,8 +2073,8 @@ gdImagePtr gdImageRotateBicubicFixed(gdImagePtr src, const float degrees, const } if (m >= src_h-1) { - src_offset_x[8] = - 1; - src_offset_y[8] = - 1; + src_offset_x[9] = - 1; + src_offset_y[9] = - 1; } else { src_offset_x[9] = n; src_offset_y[9] = m; From 88838dd28200b53c4da7a558975b195fd41ba446 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sat, 23 Jul 2016 19:29:43 +0200 Subject: [PATCH 087/206] Fix #68712: suspicious if-else statements --- NEWS | 1 + ext/gd/libgd/gd_interpolation.c | 36 ++++++++------------------------- 2 files changed, 9 insertions(+), 28 deletions(-) diff --git a/NEWS b/NEWS index b3000bd745876..6fe4d5c78b0a1 100644 --- a/NEWS +++ b/NEWS @@ -33,6 +33,7 @@ PHP NEWS . Fixed bug #43828 (broken transparency of imagearc for truecolor in blendingmode). (cmb) . Fixed bug #66555 (Always false condition in ext/gd/libgd/gdkanji.c). (cmb) + . Fixed bug #68712 (suspicious if-else statements). (cmb) - Intl: . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain diff --git a/ext/gd/libgd/gd_interpolation.c b/ext/gd/libgd/gd_interpolation.c index 833e7fc093b7b..4c11213a8eb71 100644 --- a/ext/gd/libgd/gd_interpolation.c +++ b/ext/gd/libgd/gd_interpolation.c @@ -1509,13 +1509,8 @@ gdImagePtr gdImageScaleBicubicFixed(gdImagePtr src, const unsigned int width, co src_offset_y[0] = m; } - if (m < 1) { - src_offset_x[1] = n; - src_offset_y[1] = m; - } else { - src_offset_x[1] = n; - src_offset_y[1] = m; - } + src_offset_x[1] = n; + src_offset_y[1] = m; if ((m < 1) || (n >= src_w - 1)) { src_offset_x[2] = n; @@ -1567,13 +1562,8 @@ gdImagePtr gdImageScaleBicubicFixed(gdImagePtr src, const unsigned int width, co src_offset_y[8] = m; } - if (m >= src_h - 1) { - src_offset_x[9] = n; - src_offset_y[9] = m; - } else { - src_offset_x[9] = n; - src_offset_y[9] = m; - } + src_offset_x[9] = n; + src_offset_y[9] = m; if ((m >= src_h-1) || (n >= src_w-1)) { src_offset_x[10] = n; @@ -1599,13 +1589,8 @@ gdImagePtr gdImageScaleBicubicFixed(gdImagePtr src, const unsigned int width, co src_offset_y[12] = m; } - if (m >= src_h - 2) { - src_offset_x[13] = n; - src_offset_y[13] = m; - } else { - src_offset_x[13] = n; - src_offset_y[13] = m; - } + src_offset_x[13] = n; + src_offset_y[13] = m; if ((m >= src_h - 2) || (n >= src_w - 1)) { src_offset_x[14] = n; @@ -2014,13 +1999,8 @@ gdImagePtr gdImageRotateBicubicFixed(gdImagePtr src, const float degrees, const src_offset_y[0] = m; } - if (m < 1) { - src_offset_x[1] = n; - src_offset_y[1] = m; - } else { - src_offset_x[1] = n; - src_offset_y[1] = m ; - } + src_offset_x[1] = n; + src_offset_y[1] = m; if ((m < 1) || (n >= src_w-1)) { src_offset_x[2] = - 1; From 80fee637f41484e0ec17ae7a46e7105cb950ded5 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Sat, 23 Jul 2016 20:55:39 +0200 Subject: [PATCH 088/206] fix test --- ext/session/tests/bug72562.phpt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/session/tests/bug72562.phpt b/ext/session/tests/bug72562.phpt index d85e48b069f86..b36cf6df255d7 100644 --- a/ext/session/tests/bug72562.phpt +++ b/ext/session/tests/bug72562.phpt @@ -36,9 +36,9 @@ function ptr2str($ptr) } ?> --EXPECTF-- -Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/bug72562.php on line %d +Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%ebug72562.php on line %d -Notice: unserialize(): Error at offset 0 of 1 bytes in %s/bug72562.php on line %d +Notice: unserialize(): Error at offset 0 of 1 bytes in %s%ebug72562.php on line %d -Notice: unserialize(): Error at offset 4 of 4 bytes in %s/bug72562.php on line %d +Notice: unserialize(): Error at offset 4 of 4 bytes in %s%ebug72562.php on line %d bool(false) From 04b42b1e056c839cec29f7958e04e0990420b589 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sun, 24 Jul 2016 00:13:42 +0200 Subject: [PATCH 089/206] More tolerance in another IntlCalendar test Again, off-by-1000 is expected if we're late in the second. Add an extra 1000 to account for actual delta in call times. --- ext/intl/tests/calendar_createInstance_basic.phpt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/intl/tests/calendar_createInstance_basic.phpt b/ext/intl/tests/calendar_createInstance_basic.phpt index e062030fece90..426cc8b60fe78 100644 --- a/ext/intl/tests/calendar_createInstance_basic.phpt +++ b/ext/intl/tests/calendar_createInstance_basic.phpt @@ -23,7 +23,7 @@ echo "\n"; $timeMillis = $cal->getTime(); $time = time(); -var_dump(abs($timeMillis - $time * 1000) < 1000); +var_dump(abs($timeMillis - $time * 1000) < 2000); ?> ==DONE== From 9cd23ff84f67edb8bbc7aad63d48d81a0e63ae46 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Sun, 24 Jul 2016 14:50:10 +0200 Subject: [PATCH 090/206] regenerate date parser with re2c 0.15.3 --- ext/date/lib/parse_date.c | 129 +++++++++++++++++++------------------- 1 file changed, 64 insertions(+), 65 deletions(-) diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index ebe48547a9e48..e7f7251c6a4e8 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Wed Jul 20 17:56:59 2016 */ +/* Generated by re2c 0.15.3 on Sun Jul 24 14:49:45 2016 */ #line 1 "ext/date/lib/parse_date.re" /* * The MIT License (MIT) @@ -862,7 +862,6 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31); yych = *YYCURSOR; switch (yych) { @@ -973,7 +972,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } -#line 977 "" +#line 976 "" yy4: yych = *++YYCURSOR; if (yych <= 'E') { @@ -1278,7 +1277,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) add_error(s, "Unexpected character"); goto std; } -#line 1282 "" +#line 1281 "" yy13: yych = *++YYCURSOR; if (yych <= 'R') { @@ -2296,7 +2295,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) { goto std; } -#line 2300 "" +#line 2299 "" yy50: yych = *++YYCURSOR; goto yy49; @@ -2307,7 +2306,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) s->pos = cursor; s->line++; goto std; } -#line 2311 "" +#line 2310 "" yy53: yych = *++YYCURSOR; goto yy12; @@ -2374,7 +2373,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yyaccept <= 4) { if (yyaccept <= 2) { if (yyaccept <= 1) { - if (yyaccept <= 0) { + if (yyaccept == 0) { goto yy3; } else { goto yy12; @@ -2383,7 +2382,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy49; } } else { - if (yyaccept <= 3) { + if (yyaccept == 3) { goto yy72; } else { goto yy166; @@ -2391,13 +2390,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yyaccept <= 6) { - if (yyaccept <= 5) { + if (yyaccept == 5) { goto yy193; } else { goto yy198; } } else { - if (yyaccept <= 7) { + if (yyaccept == 7) { goto yy222; } else { goto yy294; @@ -2407,13 +2406,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yyaccept <= 12) { if (yyaccept <= 10) { - if (yyaccept <= 9) { + if (yyaccept == 9) { goto yy392; } else { goto yy475; } } else { - if (yyaccept <= 11) { + if (yyaccept == 11) { goto yy490; } else { goto yy611; @@ -2421,13 +2420,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yyaccept <= 14) { - if (yyaccept <= 13) { + if (yyaccept == 13) { goto yy656; } else { goto yy666; } } else { - if (yyaccept <= 15) { + if (yyaccept == 15) { goto yy763; } else { goto yy783; @@ -2440,7 +2439,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yyaccept <= 21) { if (yyaccept <= 19) { if (yyaccept <= 18) { - if (yyaccept <= 17) { + if (yyaccept == 17) { goto yy814; } else { goto yy821; @@ -2449,7 +2448,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy848; } } else { - if (yyaccept <= 20) { + if (yyaccept == 20) { goto yy793; } else { goto yy454; @@ -2457,13 +2456,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yyaccept <= 23) { - if (yyaccept <= 22) { + if (yyaccept == 22) { goto yy973; } else { goto yy842; } } else { - if (yyaccept <= 24) { + if (yyaccept == 24) { goto yy1067; } else { goto yy1075; @@ -2473,13 +2472,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yyaccept <= 29) { if (yyaccept <= 27) { - if (yyaccept <= 26) { + if (yyaccept == 26) { goto yy1117; } else { goto yy1141; } } else { - if (yyaccept <= 28) { + if (yyaccept == 28) { goto yy1294; } else { goto yy1417; @@ -2487,13 +2486,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yyaccept <= 31) { - if (yyaccept <= 30) { + if (yyaccept == 30) { goto yy1420; } else { goto yy1500; } } else { - if (yyaccept <= 32) { + if (yyaccept == 32) { goto yy1508; } else { goto yy1531; @@ -2689,7 +2688,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 2693 "" +#line 2692 "" yy73: yych = *++YYCURSOR; if (yych == 'D') goto yy74; @@ -3374,7 +3373,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } -#line 3378 "" +#line 3377 "" yy167: yych = *++YYCURSOR; if (yych <= 'K') { @@ -3876,7 +3875,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 3880 "" +#line 3879 "" yy194: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21); @@ -3935,7 +3934,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 3939 "" +#line 3938 "" yy199: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); @@ -4209,7 +4208,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 4213 "" +#line 4212 "" yy223: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); @@ -4874,7 +4873,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 4878 "" +#line 4877 "" yy279: yych = *++YYCURSOR; if (yych <= 0x1F) { @@ -5049,7 +5048,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 5053 "" +#line 5052 "" yy295: yych = *++YYCURSOR; if (yych <= '/') { @@ -6213,7 +6212,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 6217 "" +#line 6216 "" yy364: yych = *++YYCURSOR; if (yych <= '/') goto yy363; @@ -6842,7 +6841,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_AGO; } -#line 6846 "" +#line 6845 "" yy393: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); @@ -8541,7 +8540,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 8545 "" +#line 8544 "" yy455: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -9088,7 +9087,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 9092 "" +#line 9091 "" yy476: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); @@ -9232,7 +9231,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME12; } -#line 9236 "" +#line 9235 "" yy489: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); @@ -9268,7 +9267,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 9272 "" +#line 9271 "" yy491: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); @@ -9564,7 +9563,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 9568 "" +#line 9567 "" yy524: yyaccept = 11; YYMARKER = ++YYCURSOR; @@ -9673,7 +9672,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } -#line 9677 "" +#line 9676 "" yy535: yych = *++YYCURSOR; if (yych == 'M') goto yy536; @@ -10348,7 +10347,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 10352 "" +#line 10351 "" yy607: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); @@ -10392,7 +10391,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 10396 "" +#line 10395 "" yy612: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); @@ -11001,7 +11000,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 11005 "" +#line 11004 "" yy657: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); @@ -11112,7 +11111,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_AMERICAN; } -#line 11116 "" +#line 11115 "" yy667: yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); @@ -11331,7 +11330,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 11335 "" +#line 11334 "" yy701: yych = *++YYCURSOR; if (yych <= '5') { @@ -11831,7 +11830,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 11835 "" +#line 11834 "" yy764: yych = *++YYCURSOR; if (yych == 'C') goto yy765; @@ -11875,7 +11874,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 11879 "" +#line 11878 "" yy772: yych = *++YYCURSOR; if (yych == 'V') goto yy765; @@ -12008,7 +12007,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 12012 "" +#line 12011 "" yy784: yych = *++YYCURSOR; switch (yych) { @@ -12159,7 +12158,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 12163 "" +#line 12162 "" yy794: yych = *++YYCURSOR; if (yych == 'I') goto yy927; @@ -12371,7 +12370,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 12375 "" +#line 12374 "" yy815: yych = *++YYCURSOR; if (yych <= '/') goto yy56; @@ -12396,7 +12395,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 12400 "" +#line 12399 "" yy818: yych = *++YYCURSOR; if (yych <= '/') goto yy60; @@ -12469,7 +12468,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } -#line 12473 "" +#line 12472 "" yy822: yych = *++YYCURSOR; if (yych <= '/') goto yy60; @@ -12576,7 +12575,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } -#line 12580 "" +#line 12579 "" yy843: yych = *++YYCURSOR; if (yych <= '2') { @@ -12843,7 +12842,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } -#line 12847 "" +#line 12846 "" yy849: yych = *++YYCURSOR; if (yych <= 'H') { @@ -13650,7 +13649,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 13654 "" +#line 13653 "" yy974: yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); @@ -14584,7 +14583,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } -#line 14588 "" +#line 14587 "" yy1068: yych = *++YYCURSOR; if (yych <= '/') goto yy60; @@ -14687,7 +14686,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } -#line 14691 "" +#line 14690 "" yy1076: yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); @@ -15559,7 +15558,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 15563 "" +#line 15562 "" yy1118: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -15622,7 +15621,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_WEEK_DAY_OF_MONTH; } -#line 15626 "" +#line 15625 "" yy1127: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); @@ -15738,7 +15737,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 15742 "" +#line 15741 "" yy1142: yych = *++YYCURSOR; goto yy1117; @@ -18284,7 +18283,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 18288 "" +#line 18287 "" yy1295: yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); @@ -18539,7 +18538,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 18543 "" +#line 18542 "" yy1317: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -19924,7 +19923,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 19928 "" +#line 19927 "" yy1388: yych = *++YYCURSOR; if (yych <= 'N') { @@ -20341,7 +20340,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 20345 "" +#line 20344 "" yy1418: yych = *++YYCURSOR; if (yych <= 'Y') { @@ -20382,7 +20381,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 20386 "" +#line 20385 "" yy1421: yych = *++YYCURSOR; if (yych <= 'S') { @@ -22322,7 +22321,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22326 "" +#line 22325 "" yy1501: yych = *++YYCURSOR; if (yych <= 'N') { @@ -22464,7 +22463,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22468 "" +#line 22467 "" yy1509: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); @@ -22985,7 +22984,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22989 "" +#line 22988 "" yy1532: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); From d28f1dae9dbe09b63539efe94a0ef449f6790438 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 25 Jul 2016 00:13:44 +0200 Subject: [PATCH 091/206] Fix broken test case The test claims that it would be "checking all the values in returned array", but due to the use of %a it actually skipped elements. We fix that by using %s instead. --- ext/gd/tests/gd_info_variation1.phpt | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/ext/gd/tests/gd_info_variation1.phpt b/ext/gd/tests/gd_info_variation1.phpt index a725f6554d9d5..fffde0ba24936 100644 --- a/ext/gd/tests/gd_info_variation1.phpt +++ b/ext/gd/tests/gd_info_variation1.phpt @@ -25,26 +25,28 @@ var_dump(gd_info()); *** Testing gd_info() : variation *** array(%d) { ["GD Version"]=> - string(%d) %a + string(%d) %s ["FreeType Support"]=> - bool%a + bool(%s) ["T1Lib Support"]=> - bool%a + bool(%s) ["GIF Read Support"]=> - bool%a + bool(%s) ["GIF Create Support"]=> - bool%a + bool(%s) ["JPEG Support"]=> - bool%a + bool(%s) ["PNG Support"]=> - bool%a + bool(%s) ["WBMP Support"]=> - bool%a + bool(%s) ["XPM Support"]=> - bool%a + bool(%s) ["XBM Support"]=> - bool%a + bool(%s) + ["WebP Support"]=> + bool(%s) ["JIS-mapped Japanese Font Support"]=> - bool%a + bool(%s) } ===DONE=== \ No newline at end of file From 305bddb0ede8290fdd53e0c75e71834e0dc63512 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 25 Jul 2016 02:00:37 +0200 Subject: [PATCH 092/206] Fix broken test case d28f1da introduced a test regression, due to potentially additional output regarding FreeType support. We fix that by making the test more resilient. --- ext/gd/tests/gd_info_variation1.phpt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/gd/tests/gd_info_variation1.phpt b/ext/gd/tests/gd_info_variation1.phpt index fffde0ba24936..8fa1f4903eceb 100644 --- a/ext/gd/tests/gd_info_variation1.phpt +++ b/ext/gd/tests/gd_info_variation1.phpt @@ -27,7 +27,7 @@ array(%d) { ["GD Version"]=> string(%d) %s ["FreeType Support"]=> - bool(%s) + bool(%a ["T1Lib Support"]=> bool(%s) ["GIF Read Support"]=> From 72ac8cf5ad50758a9abccb4d27b147095392ecb0 Mon Sep 17 00:00:00 2001 From: y-uti Date: Mon, 28 Mar 2016 19:50:31 +0900 Subject: [PATCH 093/206] Enable 'nmake test' on building extensions On Windows, Makefile generated by phpize doesn't have the 'test' target rule. This commit fixes that and enables 'nmake test' on Windows. --- win32/build/Makefile | 1 + win32/build/Makefile.phpize | 9 +++++++++ win32/build/phpize.js.in | 2 ++ 3 files changed, 12 insertions(+) diff --git a/win32/build/Makefile b/win32/build/Makefile index 224ef2ae1ec21..87a3e81a55f63 100644 --- a/win32/build/Makefile +++ b/win32/build/Makefile @@ -191,6 +191,7 @@ build-lib: build-ext-libs build-devel: build-headers build-lib @if not exist $(BUILD_DIR_DEV)\script mkdir $(BUILD_DIR_DEV)\script >nul @if not exist $(BUILD_DIR_DEV)\build mkdir $(BUILD_DIR_DEV)\build >nul + @copy run-tests.php $(BUILD_DIR_DEV)\script\ /y >nul @copy win32\build\confutils.js $(BUILD_DIR_DEV)\script\ /y >nul @copy win32\build\configure.tail $(BUILD_DIR_DEV)\script\ /y >nul @copy win32\build\config.w32.phpize.in $(BUILD_DIR_DEV)\script\ /y >nul diff --git a/win32/build/Makefile.phpize b/win32/build/Makefile.phpize index 1f92f7716c481..28ad5ceb7ef6f 100644 --- a/win32/build/Makefile.phpize +++ b/win32/build/Makefile.phpize @@ -26,6 +26,15 @@ clean: clean-pecl @for %D in (_x $(BUILD_DIRS_SUB)) do @if exist %D @del /F /Q %D\*.* > NUL -@del /F /Q $(BUILD_DIR)\*.res $(BUILD_DIR)\*.lib $(BUILD_DIR)\*.ilk $(BUILD_DIR)\*.pdb $(BUILD_DIR)\*.exp $(PHPDEF) $(BUILD_DIR)\php-$(PHP_VERSION_STRING)-Win32.zip $(BUILD_DIR)\pecl-$(PHP_VERSION_STRING)-Win32.zip > NUL +!if "$(EXT_TARGETS)" == "" +_EXTENSION_DLL=$(PECL_TARGETS) +!else +_EXTENSION_DLL=$(EXT_TARGETS) +!endif + +test: + "$(PHP_PREFIX)\php.exe" -d open_basedir= -d output_buffering=0 run-tests.php $(TESTS) -p "$(PHP_PREFIX)\php.exe" -d extension=$(BUILD_DIR)\$(_EXTENSION_DLL) + !if $(MT) == "" _VC_MANIFEST_EMBED_EXE= _VC_MANIFEST_EMBED_DLL= diff --git a/win32/build/phpize.js.in b/win32/build/phpize.js.in index c99dece6181a7..5156cd23b1898 100644 --- a/win32/build/phpize.js.in +++ b/win32/build/phpize.js.in @@ -268,3 +268,5 @@ C.Write(file_get_contents(PHP_DIR + "\\script\\configure.tail")); B.WriteLine("@echo off"); B.WriteLine("cscript /nologo configure.js %*"); + +FSO.CopyFile(PHP_DIR + "\\script\\run-tests.php", "run-tests.php", true); From 3f842655dbb6af84437175243fa6bef586302649 Mon Sep 17 00:00:00 2001 From: y-uti Date: Sat, 26 Mar 2016 18:56:25 +0900 Subject: [PATCH 094/206] Make phpize use PHP_PREFIX as the default location (windows) The default path to where an extension is installed should be PHP_PREFIX/ext on windows. --- win32/build/config.w32.phpize.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win32/build/config.w32.phpize.in b/win32/build/config.w32.phpize.in index 5b211f804ec91..d5cec2c178dae 100644 --- a/win32/build/config.w32.phpize.in +++ b/win32/build/config.w32.phpize.in @@ -150,7 +150,7 @@ if (VCVERS >= 1400) { } } -ARG_WITH('prefix', 'PHP installation prefix', ''); +ARG_WITH('prefix', 'PHP installation prefix', PHP_PREFIX); ARG_WITH('mp', 'Tell VC9+ use up to [n,auto,disable] processes for compilation', 'auto'); if (VCVERS >= 1500 && PHP_MP != 'disable') { // no from disable-all From 0c34d515f16963922bed749c9320a99043c06722 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Mon, 25 Jul 2016 10:14:18 +0200 Subject: [PATCH 095/206] update NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 6fe4d5c78b0a1..bc53fc52447cc 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,10 @@ PHP NEWS . Fixed bug #72581 (previous property undefined in Exception after deserialization). (Laruence) . Fixed bug #72024 (microtime() leaks memory). (maroszek at gmx dot net) + . Implemented FR #72614 (Support "nmake test" on building extensions by + phpize). (Yuji Uchiyama) + . Fixed bug #72641 (phpize (on Windows) ignores PHP_PREFIX). + (Yuji Uchiyama) - Curl: . Fixed bug #71144 (Segmentation fault when using cURL with ZTS). From 64e3e932fc38dc7e59805dfb28acae173503018b Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 25 Jul 2016 17:03:10 +0200 Subject: [PATCH 096/206] Further fixes wrt. bug #72668 Not only SQLite3::querySingle(), but also SQLite3::query() and SQLite3Stmt::execute() were affected. --- ext/sqlite3/sqlite3.c | 12 +++++++--- ext/sqlite3/tests/bug72668.phpt | 41 +++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 ext/sqlite3/tests/bug72668.phpt diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index 4513b77d0f93f..c901e536a09e4 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -578,7 +578,9 @@ PHP_METHOD(sqlite3, query) break; } default: - php_sqlite3_error(db_obj, "Unable to execute statement: %s", sqlite3_errmsg(db_obj->db)); + if (!EG(exception)) { + php_sqlite3_error(db_obj, "Unable to execute statement: %s", sqlite3_errmsg(db_obj->db)); + } sqlite3_finalize(stmt_obj->stmt); stmt_obj->initialised = 0; zval_dtor(return_value); @@ -690,7 +692,9 @@ PHP_METHOD(sqlite3, querySingle) break; } default: - php_sqlite3_error(db_obj, "Unable to execute statement: %s", sqlite3_errmsg(db_obj->db)); + if (!EG(exception)) { + php_sqlite3_error(db_obj, "Unable to execute statement: %s", sqlite3_errmsg(db_obj->db)); + } RETVAL_FALSE; } sqlite3_finalize(stmt); @@ -1637,7 +1641,9 @@ PHP_METHOD(sqlite3stmt, execute) sqlite3_reset(stmt_obj->stmt); default: - php_sqlite3_error(stmt_obj->db_obj, "Unable to execute statement: %s", sqlite3_errmsg(sqlite3_db_handle(stmt_obj->stmt))); + if (!EG(exception)) { + php_sqlite3_error(stmt_obj->db_obj, "Unable to execute statement: %s", sqlite3_errmsg(sqlite3_db_handle(stmt_obj->stmt))); + } zval_dtor(return_value); RETURN_FALSE; } diff --git a/ext/sqlite3/tests/bug72668.phpt b/ext/sqlite3/tests/bug72668.phpt new file mode 100644 index 0000000000000..2845fa0a7caec --- /dev/null +++ b/ext/sqlite3/tests/bug72668.phpt @@ -0,0 +1,41 @@ +--TEST-- +Bug #72668 (Spurious warning when exception is thrown in user defined function) +--SKIPIF-- + +--FILE-- +createFunction('my_udf_md5', 'my_udf_md5'); + +try { + $result = $db->query('SELECT my_udf_md5("test")'); + var_dump($result); +} +catch(\Exception $e) { + echo "Exception: ".$e->getMessage(); +} +try { + $result = $db->querySingle('SELECT my_udf_md5("test")'); + var_dump($result); +} +catch(\Exception $e) { + echo "Exception: ".$e->getMessage(); +} +$statement = $db->prepare('SELECT my_udf_md5("test")'); +try { + $result = $statement->execute(); + var_dump($result); +} +catch(\Exception $e) { + echo "Exception: ".$e->getMessage(); +} +?> +--EXPECT-- +Exception: test exception +Exception: test exception +Exception: test exception From 24d8f6ed7c583c82d6ed63080d235474f8afec6a Mon Sep 17 00:00:00 2001 From: Pierrick Charron Date: Tue, 26 Jul 2016 18:50:15 -0400 Subject: [PATCH 097/206] Fixed bug #71709 When curl_setopt is called with an empty slist as value, we should not add the empty slist to the list of slist to free. --- ext/curl/interface.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 7e58c7f1e05ba..dc4a97197eb76 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -2556,12 +2556,13 @@ static int _php_curl_setopt(php_curl *ch, long option, zval **zvalue TSRMLS_DC) } } - if (Z_REFCOUNT_P(ch->clone) <= 1) { - zend_hash_index_update(ch->to_free->slist, (ulong) option, &slist, sizeof(struct curl_slist *), NULL); - } else { - zend_hash_next_index_insert(ch->to_free->slist, &slist, sizeof(struct curl_slist *), NULL); + if (slist) { + if (Z_REFCOUNT_P(ch->clone) <= 1) { + zend_hash_index_update(ch->to_free->slist, (ulong) option, &slist, sizeof(struct curl_slist *), NULL); + } else { + zend_hash_next_index_insert(ch->to_free->slist, &slist, sizeof(struct curl_slist *), NULL); + } } - error = curl_easy_setopt(ch->cp, option, slist); break; From 4c2e1a13be27b0c44ac5c33a6c548a3d5e5faf8c Mon Sep 17 00:00:00 2001 From: Pierrick Charron Date: Tue, 26 Jul 2016 20:34:16 -0400 Subject: [PATCH 098/206] Fixed bug #72684 (AppendIterator segfault with closed generator) --- ext/spl/spl_iterators.c | 2 +- ext/spl/tests/bug72684.phpt | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 ext/spl/tests/bug72684.phpt diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index a5a17d8138f16..a023b11829e12 100644 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -1688,7 +1688,7 @@ static inline void spl_dual_it_rewind(spl_dual_it_object *intern TSRMLS_DC) { spl_dual_it_free(intern TSRMLS_CC); intern->current.pos = 0; - if (intern->inner.iterator->funcs->rewind) { + if (intern->inner.iterator && intern->inner.iterator->funcs->rewind) { intern->inner.iterator->funcs->rewind(intern->inner.iterator TSRMLS_CC); } } diff --git a/ext/spl/tests/bug72684.phpt b/ext/spl/tests/bug72684.phpt new file mode 100644 index 0000000000000..7a99901f5343e --- /dev/null +++ b/ext/spl/tests/bug72684.phpt @@ -0,0 +1,21 @@ +--TEST-- +Bug #72684 (AppendIterator segfault with closed generator) +--FILE-- +append($generator); + +iterator_to_array($appendIterator); +try { + iterator_to_array($appendIterator); +} catch (\Exception $e) { + echo $e->getMessage(); +} + +?> +--EXPECT-- +Cannot traverse an already closed generator From 074b86d8451365c81d3ae76616fb4df1757ddc1f Mon Sep 17 00:00:00 2001 From: Pierrick Charron Date: Wed, 27 Jul 2016 00:33:13 -0400 Subject: [PATCH 099/206] Fixed bug #72686 (zlib: url support is broken). zlib: support is broken since a really long time. It never worked on versions >= PHP5.6 so we can just remove this dead code. Bug was introduced 2006-05-14 (Before 5.2.0) --- main/streams/streams.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/main/streams/streams.c b/main/streams/streams.c index 30ea628d1a8a9..f8581336bd654 100644 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -1775,11 +1775,6 @@ PHPAPI php_stream_wrapper *php_stream_locate_url_wrapper(const char *path, const if ((*p == ':') && (n > 1) && (!strncmp("//", p+1, 2) || (n == 4 && !memcmp("data:", path, 5)))) { protocol = path; - } else if (n == 5 && strncasecmp(path, "zlib:", 5) == 0) { - /* BC with older php scripts and zlib wrapper */ - protocol = "compress.zlib"; - n = 13; - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Use of \"zlib:\" wrapper is deprecated; please use \"compress.zlib://\" instead"); } if (protocol) { From cce457c68c3a15efafea3a30560c54f74f3f5ee1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Hukkam=C3=A4ki?= Date: Mon, 25 Jul 2016 18:50:38 +0000 Subject: [PATCH 100/206] Fix bug #72667 Open data stream after receiving PASV reply, before sending the main request. Included test cases for opendir() with ftp:// and ftps:// wrappers. Test cases re-use ext/ftp/tests/server.inc Conflicts: ext/standard/ftp_fopen_wrapper.c --- NEWS | 2 + ext/ftp/tests/cert.pem | 93 +++++++++++---------- ext/ftp/tests/server.inc | 40 ++++++--- ext/standard/ftp_fopen_wrapper.c | 30 ++++--- ext/standard/tests/streams/opendir-001.phpt | 22 +++++ ext/standard/tests/streams/opendir-002.phpt | 31 +++++++ ext/standard/tests/streams/opendir-003.phpt | 26 ++++++ ext/standard/tests/streams/opendir-004.phpt | 32 +++++++ 8 files changed, 206 insertions(+), 70 deletions(-) create mode 100644 ext/standard/tests/streams/opendir-001.phpt create mode 100644 ext/standard/tests/streams/opendir-002.phpt create mode 100644 ext/standard/tests/streams/opendir-003.phpt create mode 100644 ext/standard/tests/streams/opendir-004.phpt diff --git a/NEWS b/NEWS index bc53fc52447cc..1e3ef3be4e772 100644 --- a/NEWS +++ b/NEWS @@ -57,6 +57,8 @@ PHP NEWS - Streams: . Fixed bug #41021 (Problems with the ftps wrapper). (vhuk) . Fixed bug #54431 (opendir() does not work with ftps:// wrapper). (vhuk) + . Fixed bug #72667 (opendir() with ftp:// attempts to open data stream for + non-existent directories). (vhuk) - SPL: . Fixed bug #72122 (IteratorIterator breaks '@' error suppression). (kinglozzer) diff --git a/ext/ftp/tests/cert.pem b/ext/ftp/tests/cert.pem index 94c61ffcc31fe..2bb30614ed60e 100644 --- a/ext/ftp/tests/cert.pem +++ b/ext/ftp/tests/cert.pem @@ -1,48 +1,49 @@ ------BEGIN CERTIFICATE REQUEST----- -MIIBmzCCAQQCAQAwWzELMAkGA1UEBhMCUFQxCzAJBgNVBAgTAkx4MQswCQYDVQQH -EwJMeDEcMBoGA1UEChMTQSBtaW5oYSBlbXByZXNhLCBTQTEUMBIGA1UECxMLUEhQ -IFFBIFRlYW0wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM9mfEOSYwXf58ch -4NyO1QOU1XMfquz8OVpvMUITABLAevZpeQn6vZPHNyXHFQC0QC8scydK1rAYd2U+ -9K2aPub6ioMjYyjPpAE07l9EAAPUEBlqqsziB/wT8QjWkByyJEkYu+o0Wyjokhfn -BMPvm52wLWUx9nvUeNDCftnKg1wxAgMBAAGgADANBgkqhkiG9w0BAQQFAAOBgQDD -s1FeqPxnF2bWj8/dG8MyPaRfOAMVz1UsCZUciXIVG5LSIvR2qnMC3iEYt3s13sEq -z8VJlNHa8nniE+VFNv093yIu+PlWXMEvb5y5EFqP2AYq3RAT+SJsSxGqIdzPZiKY -INaktLCZmQ/E1v7/4hFzVRq9ydJI82DVS1nv282Whw== ------END CERTIFICATE REQUEST----- -----BEGIN CERTIFICATE----- -MIIC4zCCAkygAwIBAgIBADANBgkqhkiG9w0BAQQFADBbMQswCQYDVQQGEwJQVDEL -MAkGA1UECBMCTHgxCzAJBgNVBAcTAkx4MRwwGgYDVQQKExNBIG1pbmhhIGVtcHJl -c2EsIFNBMRQwEgYDVQQLEwtQSFAgUUEgVGVhbTAeFw0wNjExMTkxODIzNTNaFw0w -NzExMTkxODIzNTNaMFsxCzAJBgNVBAYTAlBUMQswCQYDVQQIEwJMeDELMAkGA1UE -BxMCTHgxHDAaBgNVBAoTE0EgbWluaGEgZW1wcmVzYSwgU0ExFDASBgNVBAsTC1BI -UCBRQSBUZWFtMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPZnxDkmMF3+fH -IeDcjtUDlNVzH6rs/DlabzFCEwASwHr2aXkJ+r2TxzclxxUAtEAvLHMnStawGHdl -PvStmj7m+oqDI2Moz6QBNO5fRAAD1BAZaqrM4gf8E/EI1pAcsiRJGLvqNFso6JIX -5wTD75udsC1lMfZ71HjQwn7ZyoNcMQIDAQABo4G2MIGzMB0GA1UdDgQWBBTIga5L -q+Ub1SWXgNZRYCpq3c8Z+jCBgwYDVR0jBHwweoAUyIGuS6vlG9Ull4DWUWAqat3P -GfqhX6RdMFsxCzAJBgNVBAYTAlBUMQswCQYDVQQIEwJMeDELMAkGA1UEBxMCTHgx -HDAaBgNVBAoTE0EgbWluaGEgZW1wcmVzYSwgU0ExFDASBgNVBAsTC1BIUCBRQSBU -ZWFtggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAe6AA8aC3KDI8 -smd+7XWjaTSp1Q0uMkEZ2PEBzif2I1aPPqw1CQykJ1iDdC/8PJ1yEIezloP2XQoZ -NjTaCO+uubay03ncoPTZvDUwExN9BYFAYgc2z3tLMHYbA7kM2sIbKys7ZQegLibr -TSKYQOBeYA/FB9GHECJGU3zBRvYi+Og= +MIIDhTCCAm2gAwIBAgIJAN75FFz+owOAMA0GCSqGSIb3DQEBCwUAMFkxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMMCTEyNy4wLjAuMTAeFw0xNjA3MjUxMjM3 +MTJaFw0yNjA3MjMxMjM3MTJaMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21l +LVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNV +BAMMCTEyNy4wLjAuMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALtG +AIrNUDItISfpAqztL2TFEWEHLGTzCEh5Ag2sdMD7UYbqIPHLOE4EINv+dqEMM0Nz +LYnw7ChtVegXT907xCaQcmeDFSdhqze4L8zawDfnn4syB8XAwGYJfpstYwe3nO6+ +0WvLSb1A5TYNeyoXjwlAUKElxkeWAo51uhR41GDhDQ9GgpqX1ccAhmSoUhgIRSzf +6f4KE3WTdzl1p12ZtkYHB8Jo2jB/JXnwGOz6isLnpRvkex4B7sUX+7u1MqK/e1X7 +Hi1G/VkaAfC2SOfjTePtGBDBXrQ1arYXDPRA04sgFzSh55l7lC/4HasQ/jAb3h95 +dcEIqyc69iioaN1c1NcCAwEAAaNQME4wHQYDVR0OBBYEFNv3kefb1H+6/6CpjiBi ++I2s9E90MB8GA1UdIwQYMBaAFNv3kefb1H+6/6CpjiBi+I2s9E90MAwGA1UdEwQF +MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAIzSEWpHSaBs7KduBRXX5+qFxBN6OCPl +7ID0rxAOYfw7ruzbmwgOpBgMIHGn+KqA6CmQI0jh9bZbv5TV2aFpFsUihugPc2lW +5EshCozxlEPmIJNsO8jDqPE4w3m4KiVTscRWjBa5cco+lwLDqboerm2l7vvrtr6B +pgLaZct1c73MouvoJSCGK5EOGW7jsgaxjxJ3UZug+24Ko1wulO2cgBLhda9Ilrnx +CIKI9h8Z2WVWuVQfyCyO1g7XkJgkBec77OhxD+m4onzPY6waqnnhmFOBcS+gKgBV +jHeK9DCvZ9zet3EyEp6fyQOOtsC+gU0piYgfsQL7aCp5oLe+fjTiuUY= -----END CERTIFICATE----- ------BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,928762DB6DE222AD - -oOxNUBX0wrqmRqb3IEZMogc1bnVm6JoW6YFjGfHNcIz0jS7UPDhUFDR26y0dYujL -LEgxOcYo8ItvGcXSRbs+3W7lISbosgkB0DOaKx5jVmOGwUVRergUUSY8rbf93FtP -27CEvAfsU6do5HmlJ34mYZW1k+onCznlJXJkupQ5jmiily3GwEdr/5mMIVOmXQ6p -xWkxHySDKyVbR0v4JY3SJLRBuhgofYNG5155PiqZ7KwYY4Aw60eVgINsvJCF9/8b -kEj+lecHbBdAf7N82320Ga+F+VeFnUl0gWFjoIF9UFCO80+7ZvIGdGlyPkr4zMvt -TsC1snJQdHg+IlT3sGayYrQANpTG6GPYhn3KEvK5aqq+bPEe5lija0gw34jbPCo+ -TjHR76lToxzubGZODyyF/rjl5KwUbqTCNuv1PX1jTx7n7sCbu+KHpqXMhTHLKtby -+Wh7WAfsVrbIW+P85/mkfhPbPZ2621f9cyStdFGgWU4dHdD00HIGOgAJvUSbC2Au -oVUoKf2818t1s9aA4ptog04sNi+Ixu+z+3yYNLZj51j4ZX3KuXxLIiQvlvFQ8LQi -RHGQk3u2W3iNtDKKUQjMPaB2FlVtC7FmtHBCpRmos6ld240DDyucqMdIDTMaqV0+ -sL4X+LIeBM/hP/IquRTuQBHBmgjkN4845ihTUJOanyKx605ANq/roHzXrbIxhR5p -pcJLCBMLMWgdOCJMZRavSq04iXeNfP6Mk/joVpHS62Ljdfc94BBLfsOKOErA20Nq -lfvbZqy2tI5IIDoq05S8FU0DYNqq/hyrv9Udo8IAo+WkBOABm0x/WA== ------END RSA PRIVATE KEY----- - \ No newline at end of file +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC7RgCKzVAyLSEn +6QKs7S9kxRFhByxk8whIeQINrHTA+1GG6iDxyzhOBCDb/nahDDNDcy2J8OwobVXo +F0/dO8QmkHJngxUnYas3uC/M2sA355+LMgfFwMBmCX6bLWMHt5zuvtFry0m9QOU2 +DXsqF48JQFChJcZHlgKOdboUeNRg4Q0PRoKal9XHAIZkqFIYCEUs3+n+ChN1k3c5 +daddmbZGBwfCaNowfyV58Bjs+orC56Ub5HseAe7FF/u7tTKiv3tV+x4tRv1ZGgHw +tkjn403j7RgQwV60NWq2Fwz0QNOLIBc0oeeZe5Qv+B2rEP4wG94feXXBCKsnOvYo +qGjdXNTXAgMBAAECggEAD7yDISa9fWnjZlojGmrX16zjl/alWVo+sPBSJtn9+ZVk +tWSJHihIc+3O4Q2R5FiFGj7cbcHr5j3BwT3sPRfflKoAowgVx/hiDc2RXrJnAouZ +EXZDxu86e5iCpgF7V9OrATjRmjA74wZH/HHHjrLqFwnrfI8TCULmthfYag35Mqax +qrIEzvSuYdaGxblNe+ZfnVEDW2F9DLBGcma0ffUlJp8AvV7bpo8Rj/JovPxit/VS +UdwSRxwSAugctFpmcGlFkoQfxUx1WdEy8hjopLrayMjCCJvRUL4+C4zT9r9PBHOj +fCSbJ+ajQIoRrgaL9bURk8BFMHY8+yMUsWEYVSmFAQKBgQDtOvPkhvZsNocUB5nJ +ti3SXyDQ6OZQuKKHPSeDV/EvmZKeNlrQ1ZnwXLP3vkcedDOkt1nEVq/hUewpjt08 +2MvmMwJBQEnmbTzMf43DtlXsStdP1lhYaFbU4iMM5zRfyBHDu1GPZEPXvKKpJUk0 +M+jYIyTAP3mcZhqDKn0mPVP7VwKBgQDKFy9DtWFKxCvhFQvHx7YeZiVWJbIst/O4 +ZyuPVAErni0hzSeCkmm7+F9hgEdPSLRcSaeTWP4L0u1cixECKboIhoNs38aft7o3 +MdnI2RDSEKtKX2uVuhvpGDNuGpBAc8Qu8iCiv5INSC36ZhD1h++O/TiiUdgRJ3yX +yeG7ej+CgQKBgCR5F95e0aw5hfMSaBaXJ9xcO9Niu2ZVvMdGI7kR4EcNOXmRqczJ +ym0mE5VXb9/Cxd3hQq/pFAl0avbIvEMKoe62kPYvSC1hRiO6yLT6Z6N4rjncHqEZ +CaCZVAI72dWQEQsi1ZtSMwwMOIYA8YxRHs98N75HBA+DszfPZIZoj2zpAoGBAJHp +B3ElhmeLF/tdTLIj2bQ9H/wBH5H2Bvw/UU4c4vNxMzjSfRJjUAAtpgAptFLkNYTk +kR9sA5DZ7BMDPXaIVg9Nv5peP3SWHNc5IPtI7kIdUu9R0cW7J+e2V3vJphlC/ITA +wRuAoZ0BXmEKTHhae3aMEdXwrcZE8kpNsrO/4hcBAoGBAMISiPJPuxAX1UtqcxTa +mDJfnQ2gxRu6AK9VmXqo0X4IBxDSnTjcL0huUlS849wgsE5oTXgdYb2hn+TXM5JJ +NsEXLhV09X1mrk4M4LV1npd0mYxvFsO4+p+IX5YLiahInmQtq0gx3DWE8wouVFER +4yzfp27z8MZT8Qvr/ZI9lzWd +-----END PRIVATE KEY----- diff --git a/ext/ftp/tests/server.inc b/ext/ftp/tests/server.inc index bb0c1ff10bec9..e2a74029bfc9c 100644 --- a/ext/ftp/tests/server.inc +++ b/ext/ftp/tests/server.inc @@ -2,7 +2,7 @@ $socket = null; $errno = 0; -$context = stream_context_create(array('ssl' => array('local_cert' => dirname(__FILE__).'/cert.pem', 'passphrase' => 'pass'))); +$context = stream_context_create(array('ssl' => array('local_cert' => dirname(__FILE__).'/cert.pem'))); for ($i=0; $i<10 && !$socket; ++$i) { $port = rand(50000, 65535); @@ -265,7 +265,7 @@ if ($pid) { } elseif (preg_match("~^NLST(?: ([A-Za-z./]+))?\r\n$~", $buf, $m)) { - if (isset($m[1]) && $m[1] === 'bogusdir') { + if (isset($m[1]) && (($m[1] === 'bogusdir') || ($m[1] === '/bogusdir'))) { fputs($s, "250 $m[1]: No such file or directory\r\n"); continue; } @@ -276,13 +276,18 @@ if ($pid) { continue; } - fputs($s, "150 File status okay; about to open data connection\r\n"); - - if (!$fs = stream_socket_client("tcp://$host:$port")) { - fputs($s, "425 Can't open data connection\r\n"); - continue; + if (empty($pasv)) { + fputs($s, "150 File status okay; about to open data connection\r\n"); + if (!$fs = stream_socket_client("tcp://$host:$port")) { + fputs($s, "425 Can't open data connection\r\n"); + continue; + } + } else { + fputs($s, "125 Data connection already open; transfer starting.\r\n"); + $fs=$pasvs; } + if (empty($m[1]) || $m[1] !== 'emptydir') { fputs($fs, "file1\r\nfile1\r\nfile\nb0rk\r\n"); } @@ -368,7 +373,7 @@ if ($pid) { } fputs($s, "226 Closing data Connection.\r\n"); break; - case "mediumfile": + case "mediumfile": fputs($s, "150 File status okay; about to open data connection.\r\n"); for($i = 0; $i < 150; $i++){ fputs($fs, "This is line $i of the test data.\n"); @@ -384,13 +389,26 @@ if ($pid) { }elseif (preg_match('/^PASV/', $buf, $matches)) { - $port = $pasv_port; - $p2 = $port % ((int) 1 << 8); - $p1 = ($port-$p2)/((int) 1 << 8); + $pasv=true; + $p2 = $pasv_port % ((int) 1 << 8); + $p1 = ($pasv_port-$p2)/((int) 1 << 8); $host = "127.0.0.1"; + if (!empty($ssl)) { + $soc = stream_socket_server("tcp://127.0.0.1:$pasv_port", $errno, $errstr, STREAM_SERVER_BIND|STREAM_SERVER_LISTEN, $context); + } else { + $soc = stream_socket_server("tcp://127.0.0.1:$pasv_port"); + } + fputs($s, "227 Entering Passive Mode. (127,0,0,1,{$p1},{$p2})\r\n"); + $pasvs = stream_socket_accept($soc,10); + + if ((!empty($ssl)) && (!stream_socket_enable_crypto($pasvs, true, STREAM_CRYPTO_METHOD_SSLv23_SERVER))) { + die("SSLv23 handshake failed.\n"); + } + }elseif (preg_match('/^EPSV/', $buf, $matches)) { + fputs($s, "550 Extended passsive mode not supported.\r\n"); } elseif (preg_match('/^SITE EXEC/', $buf, $matches)) { fputs($s, "200 OK\r\n"); diff --git a/ext/standard/ftp_fopen_wrapper.c b/ext/standard/ftp_fopen_wrapper.c index 0260ca1eabd77..b7eeb5649ebf2 100644 --- a/ext/standard/ftp_fopen_wrapper.c +++ b/ext/standard/ftp_fopen_wrapper.c @@ -716,6 +716,9 @@ php_stream * php_stream_ftp_opendir(php_stream_wrapper *wrapper, const char *pat if (result > 299 || result < 200) goto opendir_errexit; + // tmp_line isn't relevant after the php_fopen_do_pasv(). + tmp_line[0] = '\0'; + /* set up the passive connection */ portno = php_fopen_do_pasv(stream, ip, sizeof(ip), &hoststart TSRMLS_CC); @@ -723,29 +726,17 @@ php_stream * php_stream_ftp_opendir(php_stream_wrapper *wrapper, const char *pat goto opendir_errexit; } - php_stream_printf(stream TSRMLS_CC, "NLST %s\r\n", (resource->path != NULL ? resource->path : "/")); - /* open the data channel */ if (hoststart == NULL) { hoststart = resource->host; } + datastream = php_stream_sock_open_host(hoststart, portno, SOCK_STREAM, 0, 0); if (datastream == NULL) { goto opendir_errexit; } - result = GET_FTP_RESULT(stream); - if (result != 150 && result != 125) { - /* Could not retrieve or send the file - * this data will only be sent to us after connection on the data port was initiated. - */ - php_stream_close(datastream); - datastream = NULL; - goto opendir_errexit; - } - php_stream_context_set(datastream, context); - if (use_ssl_on_data && (php_stream_xport_crypto_setup(datastream, STREAM_CRYPTO_METHOD_SSLv23_CLIENT, NULL TSRMLS_CC) < 0 || php_stream_xport_crypto_enable(datastream, 1 TSRMLS_CC) < 0)) { @@ -753,6 +744,19 @@ php_stream * php_stream_ftp_opendir(php_stream_wrapper *wrapper, const char *pat php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "Unable to activate SSL mode"); php_stream_close(datastream); datastream = NULL; + goto opendir_errexit; + } + + + php_stream_printf(stream TSRMLS_CC, "NLST %s\r\n", (resource->path != NULL ? resource->path : "/")); + + result = GET_FTP_RESULT(stream); + if (result != 150 && result != 125) { + /* Could not retrieve or send the file + * this data will only be sent to us after connection on the data port was initiated. + */ + php_stream_close(datastream); + datastream = NULL; goto opendir_errexit; } diff --git a/ext/standard/tests/streams/opendir-001.phpt b/ext/standard/tests/streams/opendir-001.phpt new file mode 100644 index 0000000000000..28fa43cf2683e --- /dev/null +++ b/ext/standard/tests/streams/opendir-001.phpt @@ -0,0 +1,22 @@ +--TEST-- +opendir() with 'ftp://' stream. +--SKIPIF-- + +--FILE-- + +==DONE== +--EXPECTF-- +Warning: opendir(ftp://localhost:%d/bogusdir): failed to open dir: FTP server reports 250 /bogusdir: No such file or directory + in %s on line %d +bool(false) +==DONE== diff --git a/ext/standard/tests/streams/opendir-002.phpt b/ext/standard/tests/streams/opendir-002.phpt new file mode 100644 index 0000000000000..83d40e8bb1f4a --- /dev/null +++ b/ext/standard/tests/streams/opendir-002.phpt @@ -0,0 +1,31 @@ +--TEST-- +opendir() with 'ftp://' stream. +--SKIPIF-- + +--FILE-- + +==DONE== +--EXPECTF-- +resource(%d) of type (stream) +string(5) "file1" +string(5) "file1" +string(3) "fil" +string(4) "b0rk" +==DONE== diff --git a/ext/standard/tests/streams/opendir-003.phpt b/ext/standard/tests/streams/opendir-003.phpt new file mode 100644 index 0000000000000..1d6a9057fa8d2 --- /dev/null +++ b/ext/standard/tests/streams/opendir-003.phpt @@ -0,0 +1,26 @@ +--TEST-- +opendir() with 'ftps://' stream. +--SKIPIF-- + +--FILE-- + array('cafile' => __DIR__ . '/../../../ftp/tests/cert.pem'))); + +var_dump(opendir($path, $context)); +?> +==DONE== +--EXPECTF-- +Warning: opendir(ftps://127.0.0.1:%d/bogusdir): failed to open dir: FTP server reports 250 /bogusdir: No such file or directory + in %s on line %d +bool(false) +==DONE== diff --git a/ext/standard/tests/streams/opendir-004.phpt b/ext/standard/tests/streams/opendir-004.phpt new file mode 100644 index 0000000000000..b50c6580c2d82 --- /dev/null +++ b/ext/standard/tests/streams/opendir-004.phpt @@ -0,0 +1,32 @@ +--TEST-- +opendir() with 'ftps://' stream. +--SKIPIF-- + +--FILE-- + array('cafile' => __DIR__ . '/../../../ftp/tests/cert.pem'))); + +$ds=opendir($path, $context); +var_dump($ds); +while ($fn=readdir($ds)) { + var_dump($fn); +} +?> +==DONE== +--EXPECTF-- +resource(%d) of type (stream) +string(5) "file1" +string(5) "file1" +string(3) "fil" +string(4) "b0rk" +==DONE== From cc125f277b50e0f90fc8033fe7f47d2446389a15 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 27 Jul 2016 16:37:49 +0200 Subject: [PATCH 101/206] Implement #72653: SQLite should allow opening with empty filename From the [sqlite3_open](https://www.sqlite.org/c3ref/open.html) docs: | If the filename is an empty string, then a private, temporary on-disk | database will be created. This private database will be automatically | deleted as soon as the database connection is closed. We make that facility available to userland. While we're at it, we also do some minor optimizations, remove the unnecessary check for NUL characters in filename, which is already catered to by ZPP(p), and add a missing `return` in case db_obj isn't initialized. --- NEWS | 4 ++++ ext/sqlite3/sqlite3.c | 15 +++++++-------- ext/sqlite3/tests/sqlite3_open_empty_string.phpt | 9 ++------- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/NEWS b/NEWS index 1e3ef3be4e772..bd65b76d6b7e0 100644 --- a/NEWS +++ b/NEWS @@ -65,6 +65,10 @@ PHP NEWS . Fixed bug #72646 (SplFileObject::getCsvControl does not return the escape character). (cmb) +- SQLite3: + . Implemented FR #72653 (SQLite should allow opening with empty filename). + (cmb) + 21 Jul 2016, PHP 5.6.24 - Core: diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index c901e536a09e4..54ec73d6ac621 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -118,13 +118,11 @@ PHP_METHOD(sqlite3, open) if (db_obj->initialised) { zend_throw_exception(zend_exception_get_default(TSRMLS_C), "Already initialised DB Object", 0 TSRMLS_CC); - } - - if (strlen(filename) != filename_len) { return; } - if (filename_len != sizeof(":memory:")-1 || - memcmp(filename, ":memory:", sizeof(":memory:")-1) != 0) { + + if (filename_len != 0 && (filename_len != sizeof(":memory:")-1 || + memcmp(filename, ":memory:", sizeof(":memory:")-1) != 0)) { if (!(fullpath = expand_filepath(filename, NULL TSRMLS_CC))) { zend_throw_exception(zend_exception_get_default(TSRMLS_C), "Unable to expand filepath", 0 TSRMLS_CC); return; @@ -144,7 +142,8 @@ PHP_METHOD(sqlite3, open) return; } } else { - fullpath = estrdup(filename); + /* filename equals "" or ":memory:" */ + fullpath = filename; } #if SQLITE_VERSION_NUMBER >= 3005000 @@ -153,7 +152,7 @@ PHP_METHOD(sqlite3, open) if (sqlite3_open(fullpath, &(db_obj->db)) != SQLITE_OK) { #endif zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C), 0 TSRMLS_CC, "Unable to open database: %s", sqlite3_errmsg(db_obj->db)); - if (fullpath) { + if (fullpath != filename) { efree(fullpath); } return; @@ -178,7 +177,7 @@ PHP_METHOD(sqlite3, open) sqlite3_set_authorizer(db_obj->db, php_sqlite3_authorizer, NULL); } - if (fullpath) { + if (fullpath != filename) { efree(fullpath); } } diff --git a/ext/sqlite3/tests/sqlite3_open_empty_string.phpt b/ext/sqlite3/tests/sqlite3_open_empty_string.phpt index 86868eeed14b0..940056bf0aee3 100644 --- a/ext/sqlite3/tests/sqlite3_open_empty_string.phpt +++ b/ext/sqlite3/tests/sqlite3_open_empty_string.phpt @@ -7,13 +7,8 @@ Thijs Feryn --FILE-- getMessage().PHP_EOL; -} +$db = new SQLite3(''); echo "Done\n"; ?> ---EXPECTF-- -Unable to expand filepath +--EXPECT-- Done From 315c0536c20619478fc548b782132cd65286018f Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 27 Jul 2016 18:50:52 +0200 Subject: [PATCH 102/206] Fix #72688: preg_match missing group names in matches We have to multiply with 0x100 to properly scale the high byte. --- NEWS | 2 ++ ext/pcre/php_pcre.c | 2 +- ext/pcre/tests/bug72688.phpt | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 ext/pcre/tests/bug72688.phpt diff --git a/NEWS b/NEWS index bd65b76d6b7e0..204defd4bb574 100644 --- a/NEWS +++ b/NEWS @@ -42,6 +42,8 @@ PHP NEWS - Intl: . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain names). (cmb) +- PCRE: + . Fixed bug #72688 (preg_match missing group names in matches). (cmb) - PDO_pgsql: . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c index 6b258b9a209d6..ddc5d764f93a1 100644 --- a/ext/pcre/php_pcre.c +++ b/ext/pcre/php_pcre.c @@ -215,7 +215,7 @@ static char **make_subpats_table(int num_subpats, pcre_cache_entry *pce TSRMLS_D } while (ni++ < name_cnt) { - name_idx = 0xff * (unsigned char)name_table[0] + (unsigned char)name_table[1]; + name_idx = 0x100 * (unsigned char)name_table[0] + (unsigned char)name_table[1]; subpat_names[name_idx] = name_table + 2; if (is_numeric_string(subpat_names[name_idx], strlen(subpat_names[name_idx]), NULL, NULL, 0) > 0) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Numeric named subpatterns are not allowed"); diff --git a/ext/pcre/tests/bug72688.phpt b/ext/pcre/tests/bug72688.phpt new file mode 100644 index 0000000000000..715743c73dbf5 --- /dev/null +++ b/ext/pcre/tests/bug72688.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #72688 (preg_match missing group names in matches) +--FILE-- + +--EXPECT-- +string(3) "290" From ed16f2fed526df9bac870605db5a4e602b78a579 Mon Sep 17 00:00:00 2001 From: Pierrick Charron Date: Wed, 27 Jul 2016 17:52:05 -0400 Subject: [PATCH 103/206] Update NEWS --- NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NEWS b/NEWS index 204defd4bb574..04f89c409a0a4 100644 --- a/NEWS +++ b/NEWS @@ -56,6 +56,9 @@ PHP NEWS . Fixed bug #72330 (CSV fields incorrectly split if escape char followed by UTF chars). (cmb) +- SPL: + . Fixed bug #72684 (AppendIterator segfault with closed generator). (Pierrick) + - Streams: . Fixed bug #41021 (Problems with the ftps wrapper). (vhuk) . Fixed bug #54431 (opendir() does not work with ftps:// wrapper). (vhuk) From 30a5ed3a7979f1b865f6633cb16b5f3e78371df1 Mon Sep 17 00:00:00 2001 From: Pierrick Charron Date: Wed, 27 Jul 2016 23:30:20 -0400 Subject: [PATCH 104/206] Fixed bug #71929 (CURLINFO_CERTINFO data parsing error). --- NEWS | 2 ++ UPGRADING | 3 +++ ext/curl/interface.c | 44 +------------------------------------------- 3 files changed, 6 insertions(+), 43 deletions(-) diff --git a/NEWS b/NEWS index 04f89c409a0a4..6c22dd9d74d4a 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,8 @@ PHP NEWS - Curl: . Fixed bug #71144 (Segmentation fault when using cURL with ZTS). (maroszek at gmx dot net) + . Fixed bug #71929 (Certification information (CERTINFO) data parsing error). + (Pierrick) - Date: . Fixed bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails diff --git a/UPGRADING b/UPGRADING index dbf65015de67c..353ffa73ad039 100644 --- a/UPGRADING +++ b/UPGRADING @@ -218,6 +218,9 @@ PHP 5.6 UPGRADE NOTES . CURLOPT_KRBLEVEL . CURLOPT_KRB4LEVEL + curl_getinfo($ch, CURLINFO_CERTINFO) returns certificate Subject and Issuer + as a string (PHP >= 5.6.25) + - Strings: substr_compare() now allows $length to be zero. pack() and unpack() now support 64-bit format specifiers: q, Q, J and P. diff --git a/ext/curl/interface.c b/ext/curl/interface.c index dc4a97197eb76..c7112a091a04f 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -1833,38 +1833,6 @@ static void alloc_curl_handle(php_curl **ch) /* }}} */ #if LIBCURL_VERSION_NUM >= 0x071301 /* Available since 7.19.1 */ -/* {{{ split_certinfo - */ -static void split_certinfo(char *string, zval *hash) -{ - char *org = estrdup(string); - char *s = org; - char *split; - - if(org) { - do { - char *key; - char *val; - char *tmp; - - split = strstr(s, "; "); - if(split) - *split = '\0'; - - key = s; - tmp = memchr(key, '=', 64); - if(tmp) { - *tmp = '\0'; - val = tmp+1; - add_assoc_string(hash, key, val, 1); - } - s = split+2; - } while(split); - efree(org); - } -} -/* }}} */ - /* {{{ create_certinfo */ static void create_certinfo(struct curl_certinfo *ci, zval *listcode TSRMLS_DC) @@ -1888,17 +1856,7 @@ static void create_certinfo(struct curl_certinfo *ci, zval *listcode TSRMLS_DC) if(tmp) { *tmp = '\0'; len = strlen(s); - if(!strcmp(s, "Subject") || !strcmp(s, "Issuer")) { - zval *hash; - - MAKE_STD_ZVAL(hash); - array_init(hash); - - split_certinfo(&slist->data[len+1], hash); - add_assoc_zval(certhash, s, hash); - } else { - add_assoc_string(certhash, s, &slist->data[len+1], 1); - } + add_assoc_string(certhash, s, &slist->data[len+1], 1); } else { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not extract hash key from certificate info"); } From 0ae8c337a340d16e1b9891d564a49bbf91ecfbd9 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 28 Jul 2016 12:26:41 +0200 Subject: [PATCH 105/206] Bug #6836 has already been fixed in PHP 5.6.24 and 7.0.9 --- NEWS | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 6c22dd9d74d4a..3ab22a87aba0a 100644 --- a/NEWS +++ b/NEWS @@ -17,10 +17,6 @@ PHP NEWS . Fixed bug #71929 (Certification information (CERTINFO) data parsing error). (Pierrick) -- Date: - . Fixed bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails - parsing). (derick) - - DOM: . Fixed bug #66502 (DOM document dangling reference). (Sean Heelan, cmb) @@ -96,6 +92,10 @@ PHP NEWS stealien dot com). . Fixed bug #72613 (Inadequate error handling in bzread()). (Stas) +- Date: + . Fixed bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails + parsing). (derick) + - EXIF: . Fixed bug #50845 (exif_read_data() returns corrupted exif headers). (Bartosz Dziewoński) From d276e6a8386a68d57d5dd07c3d7e15de4b03c6b3 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 28 Jul 2016 13:07:05 +0200 Subject: [PATCH 106/206] Fix #72691: mb_ereg_search raises a warning if a match zero-width That warning doesn't make sense (PCRE doesn't throw such a warning either), so we remove it. --- NEWS | 5 ++++ ext/mbstring/php_mbregex.c | 3 -- ext/mbstring/tests/bug72691.phpt | 48 ++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 ext/mbstring/tests/bug72691.phpt diff --git a/NEWS b/NEWS index 3ab22a87aba0a..962be025812d5 100644 --- a/NEWS +++ b/NEWS @@ -40,6 +40,11 @@ PHP NEWS - Intl: . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain names). (cmb) + +- mbstring: + . Fixed bug #72691 (mb_ereg_search raises a warning if a match zero-width). + (cmb) + - PCRE: . Fixed bug #72688 (preg_match missing group names in matches). (cmb) diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c index 67951a828e37f..3509165ca9ed5 100644 --- a/ext/mbstring/php_mbregex.c +++ b/ext/mbstring/php_mbregex.c @@ -1235,9 +1235,6 @@ _php_mb_regex_ereg_search_exec(INTERNAL_FUNCTION_PARAMETERS, int mode) php_error_docref(NULL TSRMLS_CC, E_WARNING, "mbregex search failure in mbregex_search(): %s", err_str); RETVAL_FALSE; } else { - if (MBREX(search_regs)->beg[0] == MBREX(search_regs)->end[0]) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty regular expression"); - } switch (mode) { case 1: array_init(return_value); diff --git a/ext/mbstring/tests/bug72691.phpt b/ext/mbstring/tests/bug72691.phpt new file mode 100644 index 0000000000000..d914a508e059b --- /dev/null +++ b/ext/mbstring/tests/bug72691.phpt @@ -0,0 +1,48 @@ +--TEST-- +Bug #72691 (mb_ereg_search raises a warning if a match zero-width) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +int(1) +array(1) { + [0]=> + string(0) "" +} +int(2) +array(1) { + [0]=> + string(0) "" +} +int(3) +array(1) { + [0]=> + string(1) "o" +} +int(4) +array(1) { + [0]=> + string(0) "" +} From 56cdaecb284b2b292ce1ecb076c1f8b041e47a02 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 28 Jul 2016 13:56:40 +0200 Subject: [PATCH 107/206] Fix #72693: mb_ereg_search increments search position when a match zero-width That's caused by an off-by-one error, which we fix. --- NEWS | 2 ++ ext/mbstring/php_mbregex.c | 2 +- ext/mbstring/tests/bug72691.phpt | 8 +++---- ext/mbstring/tests/bug72693.phpt | 41 ++++++++++++++++++++++++++++++++ 4 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 ext/mbstring/tests/bug72693.phpt diff --git a/NEWS b/NEWS index 962be025812d5..7a0e890869222 100644 --- a/NEWS +++ b/NEWS @@ -44,6 +44,8 @@ PHP NEWS - mbstring: . Fixed bug #72691 (mb_ereg_search raises a warning if a match zero-width). (cmb) + . Fixed Bug #72693 (mb_ereg_search increments search position when a match + zero-width). (cmb) - PCRE: . Fixed bug #72688 (preg_match missing group names in matches). (cmb) diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c index 3509165ca9ed5..a295f54e4e570 100644 --- a/ext/mbstring/php_mbregex.c +++ b/ext/mbstring/php_mbregex.c @@ -1261,7 +1261,7 @@ _php_mb_regex_ereg_search_exec(INTERNAL_FUNCTION_PARAMETERS, int mode) break; } end = MBREX(search_regs)->end[0]; - if (pos < end) { + if (pos <= end) { MBREX(search_pos) = end; } else { MBREX(search_pos) = pos + 1; diff --git a/ext/mbstring/tests/bug72691.phpt b/ext/mbstring/tests/bug72691.phpt index d914a508e059b..08f6b153da743 100644 --- a/ext/mbstring/tests/bug72691.phpt +++ b/ext/mbstring/tests/bug72691.phpt @@ -26,12 +26,12 @@ var_dump(mb_ereg_search_getpos()); var_dump(mb_ereg_search_getregs()); ?> --EXPECT-- -int(1) +int(0) array(1) { [0]=> string(0) "" } -int(2) +int(0) array(1) { [0]=> string(0) "" @@ -39,9 +39,9 @@ array(1) { int(3) array(1) { [0]=> - string(1) "o" + string(3) "foo" } -int(4) +int(3) array(1) { [0]=> string(0) "" diff --git a/ext/mbstring/tests/bug72693.phpt b/ext/mbstring/tests/bug72693.phpt new file mode 100644 index 0000000000000..f269e57f0f172 --- /dev/null +++ b/ext/mbstring/tests/bug72693.phpt @@ -0,0 +1,41 @@ +--TEST-- +Bug #72693 (mb_ereg_search increments search position when a match zero-width) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +bool(true) +int(0) +bool(true) +int(0) +bool(true) +int(3) +array(1) { + [0]=> + string(3) "foo" +} +bool(true) +int(3) +bool(true) +int(3) From ee6900c3de68f1b94dfae8e230c7fa755c7fa595 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 28 Jul 2016 15:21:48 +0200 Subject: [PATCH 108/206] Fix #72694: mb_ereg_search_setpos does not accept a string's last position Setting the search position immediately behind the last character should be allowed, so we fix this off-by-one error. --- NEWS | 4 +++- ext/mbstring/php_mbregex.c | 2 +- ext/mbstring/tests/bug72694.phpt | 21 +++++++++++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 ext/mbstring/tests/bug72694.phpt diff --git a/NEWS b/NEWS index 7a0e890869222..44cd6e16eb253 100644 --- a/NEWS +++ b/NEWS @@ -44,8 +44,10 @@ PHP NEWS - mbstring: . Fixed bug #72691 (mb_ereg_search raises a warning if a match zero-width). (cmb) - . Fixed Bug #72693 (mb_ereg_search increments search position when a match + . Fixed bug #72693 (mb_ereg_search increments search position when a match zero-width). (cmb) + . Fixed bug #72694 (mb_ereg_search_setpos does not accept a string's last + position). (cmb) - PCRE: . Fixed bug #72688 (preg_match missing group names in matches). (cmb) diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c index a295f54e4e570..9873a85da10cc 100644 --- a/ext/mbstring/php_mbregex.c +++ b/ext/mbstring/php_mbregex.c @@ -1400,7 +1400,7 @@ PHP_FUNCTION(mb_ereg_search_setpos) return; } - if (position < 0 || (MBREX(search_str) != NULL && Z_TYPE_P(MBREX(search_str)) == IS_STRING && position >= Z_STRLEN_P(MBREX(search_str)))) { + if (position < 0 || (MBREX(search_str) != NULL && Z_TYPE_P(MBREX(search_str)) == IS_STRING && position > Z_STRLEN_P(MBREX(search_str)))) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Position is out of range"); MBREX(search_pos) = 0; RETURN_FALSE; diff --git a/ext/mbstring/tests/bug72694.phpt b/ext/mbstring/tests/bug72694.phpt new file mode 100644 index 0000000000000..90f56a397af93 --- /dev/null +++ b/ext/mbstring/tests/bug72694.phpt @@ -0,0 +1,21 @@ +--TEST-- +Bug #72694 (mb_ereg_search_setpos does not accept a string's last position) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +bool(true) +int(3) +bool(true) +int(3) From 6e886f07a8f8cdad8ffb056d6133b49a79a0d216 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 28 Jul 2016 16:49:45 +0200 Subject: [PATCH 109/206] Fix #72676: Test cli_process_title_unix fails on AIX Patch provided by matthieu dot sarter dot external at atos dot net. --- sapi/cli/tests/cli_process_title_unix.phpt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sapi/cli/tests/cli_process_title_unix.phpt b/sapi/cli/tests/cli_process_title_unix.phpt index c2632704c559e..659299c1fcfd6 100644 --- a/sapi/cli/tests/cli_process_title_unix.phpt +++ b/sapi/cli/tests/cli_process_title_unix.phpt @@ -15,7 +15,12 @@ $pid = getmypid(); if (cli_set_process_title($original_title) === true) echo "Successfully set title\n"; -$ps_output = shell_exec("ps -p $pid -o command | tail -n 1"); +$ps_process_title_field = "command"; +if (strtoupper(substr(PHP_OS, 0, 3)) == "AIX") +{ + $ps_process_title_field = "args"; +} +$ps_output = shell_exec("ps -p $pid -o $ps_process_title_field | tail -n 1"); if ($ps_output === null) { From c301adbbd16270fdf59db161725594e76895a662 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 28 Jul 2016 17:19:47 +0200 Subject: [PATCH 110/206] Fix #72677: SCM_CREDENTIALS related tests should be skipped on AIX Patch provided by matthieu dot sarter dot external at atos dot net. --- ext/sockets/tests/socket_cmsg_credentials.phpt | 3 +++ ext/sockets/tests/socket_cmsg_rights.phpt | 3 +++ 2 files changed, 6 insertions(+) diff --git a/ext/sockets/tests/socket_cmsg_credentials.phpt b/ext/sockets/tests/socket_cmsg_credentials.phpt index 6a1c23fa8c56f..922be0bb37b2e 100644 --- a/ext/sockets/tests/socket_cmsg_credentials.phpt +++ b/ext/sockets/tests/socket_cmsg_credentials.phpt @@ -8,6 +8,9 @@ die('skip sockets extension not available.'); if (strtolower(substr(PHP_OS, 0, 3)) == 'win') { die('skip not for Microsoft Windows'); } +if (strtolower(substr(PHP_OS, 0, 3)) == 'aix') { +die('skip not for AIX'); +} --CLEAN-- Date: Thu, 28 Jul 2016 18:22:19 +0200 Subject: [PATCH 111/206] Bug #69975 had already been fixed as of PHP 5.6.12 Also CVE-2015-8879 had been assigned. --- NEWS | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 44cd6e16eb253..b03e691a3395e 100644 --- a/NEWS +++ b/NEWS @@ -127,9 +127,6 @@ PHP NEWS - Intl: . Fixed bug #72533 (locale_accept_from_http out-of-bounds access). (Stas) -- ODBC: - . Fixed bug #69975 (PHP segfaults when accessing nvarchar(max) defined columns) - - OpenSSL: . Fixed bug #71915 (openssl_random_pseudo_bytes is not fork-safe). (Jakub Zelenka) @@ -702,7 +699,7 @@ PHP NEWS - ODBC: . Fixed bug #69975 (PHP segfaults when accessing nvarchar(max) defined - columns). (cmb) + columns). (CVE-2015-8879) (cmb) - OpenSSL: . Fixed bug #69882 (OpenSSL error "key values mismatch" after From 7ab39e2faef499c8a1857205fa332d2e38a0a584 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 28 Jul 2016 19:13:58 +0200 Subject: [PATCH 112/206] Fix #67976: cal_days_month() fails for final month of the French calendar The French calendar ends on 0014-13-05, so trying to calculate the Julian day of 0015-01-01 fails. We cater to that by returning the hard-coded value. --- NEWS | 4 ++++ ext/calendar/calendar.c | 4 ++++ ext/calendar/tests/bug67976.phpt | 12 ++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 ext/calendar/tests/bug67976.phpt diff --git a/NEWS b/NEWS index b03e691a3395e..98e9d42028581 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,10 @@ PHP NEWS . Fixed bug #72641 (phpize (on Windows) ignores PHP_PREFIX). (Yuji Uchiyama) +- Calendar: + . Fixed bug #67976 (cal_days_month() fails for final month of the French + calendar). (cmb) + - Curl: . Fixed bug #71144 (Segmentation fault when using cURL with ZTS). (maroszek at gmx dot net) diff --git a/ext/calendar/calendar.c b/ext/calendar/calendar.c index 74478e8b93327..1f92b9f2e058f 100644 --- a/ext/calendar/calendar.c +++ b/ext/calendar/calendar.c @@ -359,6 +359,10 @@ PHP_FUNCTION(cal_days_in_month) } else { sdn_next = calendar->to_jd(year + 1, 1, 1); + if (cal == CAL_FRENCH && sdn_next == 0) { + /* The French calendar ends on 0014-13-05. */ + sdn_next = 2380953; + } } } diff --git a/ext/calendar/tests/bug67976.phpt b/ext/calendar/tests/bug67976.phpt new file mode 100644 index 0000000000000..74e0bc81b1948 --- /dev/null +++ b/ext/calendar/tests/bug67976.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #67976 (cal_days_month() fails for final month of the French calendar) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +int(5) From 5c458c9b025f6f654497f5e3d2ee53b4d1561454 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 28 Jul 2016 19:59:14 +0200 Subject: [PATCH 113/206] Implement FR #65462: Please add tests for gregorian and jewish overflow fixes --- .../tests/jdtogregorian_overflow.phpt | 28 +++++++++++++++++++ ext/calendar/tests/jdtojewish_overflow.phpt | 27 ++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 ext/calendar/tests/jdtogregorian_overflow.phpt create mode 100644 ext/calendar/tests/jdtojewish_overflow.phpt diff --git a/ext/calendar/tests/jdtogregorian_overflow.phpt b/ext/calendar/tests/jdtogregorian_overflow.phpt new file mode 100644 index 0000000000000..28f5298e19b32 --- /dev/null +++ b/ext/calendar/tests/jdtogregorian_overflow.phpt @@ -0,0 +1,28 @@ +--TEST-- +jdtogregorian(): test overflow +--CREDITS-- +neweracracker@gmail.com +--SKIPIF-- + +--FILE-- + +--EXPECT-- +536838860:10/11/1465102 +536838861:10/12/1465102 +536838862:10/13/1465102 +536838863:10/14/1465102 +536838864:10/15/1465102 +536838865:10/16/1465102 +536838866:10/17/1465102 +536838867:0/0/0 +536838868:0/0/0 +536838869:0/0/0 +DONE diff --git a/ext/calendar/tests/jdtojewish_overflow.phpt b/ext/calendar/tests/jdtojewish_overflow.phpt new file mode 100644 index 0000000000000..1d1c2eefb9111 --- /dev/null +++ b/ext/calendar/tests/jdtojewish_overflow.phpt @@ -0,0 +1,27 @@ +--TEST-- +jdtojewish(): test overflow +--CREDITS-- +neweracracker@gmail.com +--SKIPIF-- + +--FILE-- + +--EXPECT-- +324542840:12/7/887605 +324542841:12/8/887605 +324542842:12/9/887605 +324542843:12/10/887605 +324542844:12/11/887605 +324542845:12/12/887605 +324542846:12/13/887605 +324542847:0/0/0 +324542848:0/0/0 +324542849:0/0/0 +DONE From f67ccd4a7b8fb4b9e55796e69b152e2a899ba3cd Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 29 Jul 2016 00:24:46 +0200 Subject: [PATCH 114/206] Fix #71894: AddressSanitizer: global-buffer-overflow in zif_cal_from_jd Julian days < 347998 denote invalid Jewish calendar dates, so cal_from_jd($jd, CAL_JEWISH) and jdmonthname($jd, CAL_MONTH_JEWISH) should actually fail. For BC we don't yet let them though, but we fix the OOB read that happens in this case, and we also adjust cal_from_jd()'s return value to have empty strings for "abbrevdayname" and "dayname" instead of "Sun"/ "Sunday" and NULL for "dow" instead of 0, which doesn't make any sense. --- NEWS | 2 ++ ext/calendar/calendar.c | 20 +++++++++++++------- ext/calendar/tests/bug71894.phpt | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 ext/calendar/tests/bug71894.phpt diff --git a/NEWS b/NEWS index 98e9d42028581..48a78c8f1b85d 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,8 @@ PHP NEWS - Calendar: . Fixed bug #67976 (cal_days_month() fails for final month of the French calendar). (cmb) + . Fixed bug #71894 (AddressSanitizer: global-buffer-overflow in + zif_cal_from_jd). (cmb) - Curl: . Fixed bug #71144 (Segmentation fault when using cURL with ZTS). diff --git a/ext/calendar/calendar.c b/ext/calendar/calendar.c index 1f92b9f2e058f..fd487607ba04a 100644 --- a/ext/calendar/calendar.c +++ b/ext/calendar/calendar.c @@ -420,15 +420,21 @@ PHP_FUNCTION(cal_from_jd) add_assoc_long(return_value, "year", year); /* day of week */ - dow = DayOfWeek(jd); - add_assoc_long(return_value, "dow", dow); - add_assoc_string(return_value, "abbrevdayname", DayNameShort[dow], 1); - add_assoc_string(return_value, "dayname", DayNameLong[dow], 1); + if (cal != CAL_JEWISH || year > 0) { + dow = DayOfWeek(jd); + add_assoc_long(return_value, "dow", dow); + add_assoc_string(return_value, "abbrevdayname", DayNameShort[dow], 1); + add_assoc_string(return_value, "dayname", DayNameLong[dow], 1); + } else { + add_assoc_null(return_value, "dow"); + add_assoc_string(return_value, "abbrevdayname", "", 1); + add_assoc_string(return_value, "dayname", "", 1); + } /* month name */ if(cal == CAL_JEWISH) { /* special case for Jewish calendar */ - add_assoc_string(return_value, "abbrevmonth", JEWISH_MONTH_NAME(year)[month], 1); - add_assoc_string(return_value, "monthname", JEWISH_MONTH_NAME(year)[month], 1); + add_assoc_string(return_value, "abbrevmonth", (year > 0 ? JEWISH_MONTH_NAME(year)[month] : ""), 1); + add_assoc_string(return_value, "monthname", (year > 0 ? JEWISH_MONTH_NAME(year)[month] : ""), 1); } else { add_assoc_string(return_value, "abbrevmonth", calendar->month_name_short[month], 1); add_assoc_string(return_value, "monthname", calendar->month_name_long[month], 1); @@ -741,7 +747,7 @@ PHP_FUNCTION(jdmonthname) break; case CAL_MONTH_JEWISH: /* jewish month */ SdnToJewish(julday, &year, &month, &day); - monthname = JEWISH_MONTH_NAME(year)[month]; + monthname = (year > 0 ? JEWISH_MONTH_NAME(year)[month] : ""); break; case CAL_MONTH_FRENCH: /* french month */ SdnToFrench(julday, &year, &month, &day); diff --git a/ext/calendar/tests/bug71894.phpt b/ext/calendar/tests/bug71894.phpt new file mode 100644 index 0000000000000..ea2d6004e727c --- /dev/null +++ b/ext/calendar/tests/bug71894.phpt @@ -0,0 +1,32 @@ +--TEST-- +Bug #71894 (AddressSanitizer: global-buffer-overflow in zif_cal_from_jd) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +array(9) { + ["date"]=> + string(5) "0/0/0" + ["month"]=> + int(0) + ["day"]=> + int(0) + ["year"]=> + int(0) + ["dow"]=> + NULL + ["abbrevdayname"]=> + string(0) "" + ["dayname"]=> + string(0) "" + ["abbrevmonth"]=> + string(0) "" + ["monthname"]=> + string(0) "" +} +string(0) "" From 1d32b809034ea4cd0e765ae9fda6ca16ae045fdd Mon Sep 17 00:00:00 2001 From: ju1ius Date: Sat, 30 Jul 2016 06:08:25 +0200 Subject: [PATCH 115/206] fixes bad address given to onig_error_code_to_str Closes bug #72710 (cherry picked from commit 0fb7eb6723bcc6fd98053911543e801edb5ab763) --- NEWS | 2 ++ ext/mbstring/php_mbregex.c | 2 +- ext/mbstring/tests/bug72710.phpt | 12 ++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 ext/mbstring/tests/bug72710.phpt diff --git a/NEWS b/NEWS index 48a78c8f1b85d..49d6c3207e459 100644 --- a/NEWS +++ b/NEWS @@ -54,6 +54,8 @@ PHP NEWS zero-width). (cmb) . Fixed bug #72694 (mb_ereg_search_setpos does not accept a string's last position). (cmb) + . Fixed bug #72710 (`mb_ereg` causes buffer overflow on regexp compile error). + (ju1ius) - PCRE: . Fixed bug #72688 (preg_match missing group names in matches). (cmb) diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c index 9873a85da10cc..7e9756fa158cc 100644 --- a/ext/mbstring/php_mbregex.c +++ b/ext/mbstring/php_mbregex.c @@ -456,7 +456,7 @@ static php_mb_regex_t *php_mbregex_compile_pattern(const char *pattern, int patl found = zend_hash_find(&MBREX(ht_rc), (char *)pattern, patlen+1, (void **) &rc); if (found == FAILURE || (*rc)->options != options || (*rc)->enc != enc || (*rc)->syntax != syntax) { if ((err_code = onig_new(&retval, (OnigUChar *)pattern, (OnigUChar *)(pattern + patlen), options, enc, syntax, &err_info)) != ONIG_NORMAL) { - onig_error_code_to_str(err_str, err_code, err_info); + onig_error_code_to_str(err_str, err_code, &err_info); php_error_docref(NULL TSRMLS_CC, E_WARNING, "mbregex compile err: %s", err_str); retval = NULL; goto out; diff --git a/ext/mbstring/tests/bug72710.phpt b/ext/mbstring/tests/bug72710.phpt new file mode 100644 index 0000000000000..19becc50102f8 --- /dev/null +++ b/ext/mbstring/tests/bug72710.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #72710 (`mb_ereg` causes buffer overflow on regexp compile error) +--SKIPIF-- + +--FILE-- +a)', 'a'); +?> +--EXPECTF-- +Warning: mb_ereg(): mbregex compile err: invalid group name <0> in %s on line %d From e87ac688d5e700fdb56b37fda8b011d6b05b97fc Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 30 Jul 2016 15:10:54 +0200 Subject: [PATCH 116/206] Fixed bug #72142 --- NEWS | 4 ++++ ext/wddx/tests/bug72142.phpt | 13 +++++++++++++ ext/wddx/wddx.c | 9 ++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 ext/wddx/tests/bug72142.phpt diff --git a/NEWS b/NEWS index 49d6c3207e459..bc4df65fb402b 100644 --- a/NEWS +++ b/NEWS @@ -89,6 +89,10 @@ PHP NEWS . Implemented FR #72653 (SQLite should allow opening with empty filename). (cmb) +- Wddx: + . Fixed bug #72142 (WDDX Packet Injection Vulnerability in + wddx_serialize_value()). (Taoguang Chen) + 21 Jul 2016, PHP 5.6.24 - Core: diff --git a/ext/wddx/tests/bug72142.phpt b/ext/wddx/tests/bug72142.phpt new file mode 100644 index 0000000000000..3976bb2554f0d --- /dev/null +++ b/ext/wddx/tests/bug72142.phpt @@ -0,0 +1,13 @@ +--TEST-- +Bug #72142: WDDX Packet Injection Vulnerability in wddx_serialize_value() +--FILE-- +
stdClass
'); +var_dump($wddx); +var_dump(wddx_deserialize($wddx)); + +?> +--EXPECT-- +string(301) "
</comment></header><data><struct><var name="php_class_name"><string>stdClass</string></var></struct></data></wddxPacket>
" +string(0) "" diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index 6a23fa1c1ef1a..6387ca2ecdd7c 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -371,11 +371,18 @@ void php_wddx_packet_start(wddx_packet *packet, char *comment, int comment_len) { php_wddx_add_chunk_static(packet, WDDX_PACKET_S); if (comment) { + char *escaped; + size_t escaped_len; + escaped = php_escape_html_entities( + comment, comment_len, &escaped_len, 0, ENT_QUOTES, NULL TSRMLS_CC); + php_wddx_add_chunk_static(packet, WDDX_HEADER_S); php_wddx_add_chunk_static(packet, WDDX_COMMENT_S); - php_wddx_add_chunk_ex(packet, comment, comment_len); + php_wddx_add_chunk_ex(packet, escaped, escaped_len); php_wddx_add_chunk_static(packet, WDDX_COMMENT_E); php_wddx_add_chunk_static(packet, WDDX_HEADER_E); + + str_efree(escaped); } else { php_wddx_add_chunk_static(packet, WDDX_HEADER); } From 99613431b4a04b39ac02f564d3d2c842a5b27169 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 30 Jul 2016 16:28:42 +0200 Subject: [PATCH 117/206] Add missing TSRMLS_FETCH() --- ext/wddx/wddx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index 6387ca2ecdd7c..cde3e074064f5 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -373,6 +373,7 @@ void php_wddx_packet_start(wddx_packet *packet, char *comment, int comment_len) if (comment) { char *escaped; size_t escaped_len; + TSRMLS_FETCH(); escaped = php_escape_html_entities( comment, comment_len, &escaped_len, 0, ENT_QUOTES, NULL TSRMLS_CC); From 14d674442ef86ad4e862228a1ff5ecd322ae7759 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 30 Jul 2016 18:21:19 +0200 Subject: [PATCH 118/206] Fixed bug #71219 --- NEWS | 4 ++++ ext/posix/config.m4 | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index bc4df65fb402b..33a317020f8a6 100644 --- a/NEWS +++ b/NEWS @@ -63,6 +63,10 @@ PHP NEWS - PDO_pgsql: . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) +- Posix: + . Fixed bug #71219 (php's configure script incorrectly checks for ttyname_r + availability). (Nikita) + - Reflection: . Fixed bug #72222 (ReflectionClass::export doesn't handle array constants). (Nikita Nefedov) diff --git a/ext/posix/config.m4 b/ext/posix/config.m4 index 82b80ce972c9b..eb0d1dbf1c08e 100644 --- a/ext/posix/config.m4 +++ b/ext/posix/config.m4 @@ -21,7 +21,7 @@ int main(int argc, char *argv[]) { char buf[64]; - return ttyname_r(0, buf, 64) ? 1 : 0; + return !ttyname_r(0, buf, 64); } ],[ AC_MSG_RESULT([yes]) From c9d3ff0c6e86398b9471428ab49c6a6fa47ae977 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 30 Jul 2016 18:34:34 +0200 Subject: [PATCH 119/206] Revert "Fixed bug #71219" This reverts commit 14d674442ef86ad4e862228a1ff5ecd322ae7759. I misread the discussion on the bug -- this is not the correct fix. However the other proposed fix does not work either, so just reverting for now. --- NEWS | 4 ---- ext/posix/config.m4 | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 33a317020f8a6..bc4df65fb402b 100644 --- a/NEWS +++ b/NEWS @@ -63,10 +63,6 @@ PHP NEWS - PDO_pgsql: . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) -- Posix: - . Fixed bug #71219 (php's configure script incorrectly checks for ttyname_r - availability). (Nikita) - - Reflection: . Fixed bug #72222 (ReflectionClass::export doesn't handle array constants). (Nikita Nefedov) diff --git a/ext/posix/config.m4 b/ext/posix/config.m4 index eb0d1dbf1c08e..82b80ce972c9b 100644 --- a/ext/posix/config.m4 +++ b/ext/posix/config.m4 @@ -21,7 +21,7 @@ int main(int argc, char *argv[]) { char buf[64]; - return !ttyname_r(0, buf, 64); + return ttyname_r(0, buf, 64) ? 1 : 0; } ],[ AC_MSG_RESULT([yes]) From 90c6cbd09baa8802cd0d92ad13d9d791a3e4025d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Santiago=20S=C3=A1nchez?= Date: Wed, 27 Jul 2016 22:12:56 -0300 Subject: [PATCH 120/206] - lastInsertId using Postgres Lastval() function --- ext/pdo_pgsql/pgsql_driver.c | 37 ++++++++++----------- ext/pdo_pgsql/php_pdo_pgsql_int.h | 2 ++ ext/pdo_pgsql/tests/bug_last_insert_id.phpt | 36 ++++++++++++++++++++ 3 files changed, 56 insertions(+), 19 deletions(-) create mode 100644 ext/pdo_pgsql/tests/bug_last_insert_id.phpt diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index 8467552596c9f..52a77684923e0 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -358,31 +358,30 @@ static char *pdo_pgsql_last_insert_id(pdo_dbh_t *dbh, const char *name, unsigned { pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data; char *id = NULL; + PGresult *res; + ExecStatusType status; + const char *q[1]; + q[0] = name; - if (name == NULL) { - if (H->pgoid == InvalidOid) { - return NULL; - } - *len = spprintf(&id, 0, "%ld", (long) H->pgoid); + if (PHP_PDO_PGSQL_LASTVAL_PG_VERSION <= PQserverVersion(H->server) && name == NULL) { + res = PQexec(H->server, "SELECT LASTVAL()"); } else { - PGresult *res; - ExecStatusType status; - const char *q[1]; - q[0] = name; res = PQexecParams(H->server, "SELECT CURRVAL($1)", 1, NULL, q, NULL, NULL, 0); - status = PQresultStatus(res); + } + status = PQresultStatus(res); - if (res && (status == PGRES_TUPLES_OK)) { - id = estrdup((char *)PQgetvalue(res, 0, 0)); - *len = PQgetlength(res, 0, 0); - } else { - pdo_pgsql_error(dbh, status, pdo_pgsql_sqlstate(res)); - } + if (res && (status == PGRES_TUPLES_OK)) { + id = estrdup((char *)PQgetvalue(res, 0, 0)); + *len = PQgetlength(res, 0, 0); + } else { + pdo_pgsql_error(dbh, status, pdo_pgsql_sqlstate(res)); + *len = spprintf(&id, 0, "%ld", (long) H->pgoid); + } - if (res) { - PQclear(res); - } + if (res) { + PQclear(res); } + return id; } diff --git a/ext/pdo_pgsql/php_pdo_pgsql_int.h b/ext/pdo_pgsql/php_pdo_pgsql_int.h index eb645c58c4de5..2876b312b7f80 100644 --- a/ext/pdo_pgsql/php_pdo_pgsql_int.h +++ b/ext/pdo_pgsql/php_pdo_pgsql_int.h @@ -29,6 +29,8 @@ #define PHP_PDO_PGSQL_CONNECTION_FAILURE_SQLSTATE "08006" +#define PHP_PDO_PGSQL_LASTVAL_PG_VERSION 80100 + typedef struct { const char *file; int line; diff --git a/ext/pdo_pgsql/tests/bug_last_insert_id.phpt b/ext/pdo_pgsql/tests/bug_last_insert_id.phpt new file mode 100644 index 0000000000000..af5d342798497 --- /dev/null +++ b/ext/pdo_pgsql/tests/bug_last_insert_id.phpt @@ -0,0 +1,36 @@ +--TEST-- +currval() vs lastval() - PDO PgSQL Bug #1134 [BUG] New record, PostgreSQL and the Primary key https://github.com/phalcon/cphalcon/issues/1134 +--SKIPIF-- + +--FILE-- +setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false); + +@$db->query('CREATE TABLE test_last_id (id SERIAL NOT NULL, field1 VARCHAR(10))'); + +$stmt = $db->prepare("INSERT INTO test_last_id (field1) VALUES ('test')"); + +$stmt->execute(); + +/** + * No sequence name informed + */ +var_dump($db->lastInsertId()); +/** + * Sequence name informed + */ +var_dump($db->lastInsertId('test_last_id_id_seq')); +?> +--EXPECTREGEX-- +string\([0-9]*\)\ \"[0-9]*\" +string\([0-9]*\)\ \"[0-9]*\" \ No newline at end of file From 40b3a031b2549aeafd5ca9290b504a4c537a9adf Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Tue, 2 Aug 2016 14:35:24 +0200 Subject: [PATCH 121/206] cleanup table after test --- ext/pdo_pgsql/tests/bug_last_insert_id.phpt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ext/pdo_pgsql/tests/bug_last_insert_id.phpt b/ext/pdo_pgsql/tests/bug_last_insert_id.phpt index af5d342798497..30dd0f039a096 100644 --- a/ext/pdo_pgsql/tests/bug_last_insert_id.phpt +++ b/ext/pdo_pgsql/tests/bug_last_insert_id.phpt @@ -16,7 +16,7 @@ $db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt'); $db->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false); -@$db->query('CREATE TABLE test_last_id (id SERIAL NOT NULL, field1 VARCHAR(10))'); +$db->query('CREATE TABLE test_last_id (id SERIAL NOT NULL, field1 VARCHAR(10))'); $stmt = $db->prepare("INSERT INTO test_last_id (field1) VALUES ('test')"); @@ -30,7 +30,10 @@ var_dump($db->lastInsertId()); * Sequence name informed */ var_dump($db->lastInsertId('test_last_id_id_seq')); + +$db->query('DROP TABLE test_last_id'); + ?> --EXPECTREGEX-- string\([0-9]*\)\ \"[0-9]*\" -string\([0-9]*\)\ \"[0-9]*\" \ No newline at end of file +string\([0-9]*\)\ \"[0-9]*\" From e95625f47ee0a8b969c268c03a33a2a67ebbefce Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Tue, 2 Aug 2016 14:36:56 +0200 Subject: [PATCH 122/206] update NEWS --- NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS b/NEWS index bc4df65fb402b..118ece6138bd6 100644 --- a/NEWS +++ b/NEWS @@ -62,6 +62,8 @@ PHP NEWS - PDO_pgsql: . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) + . Implemented FR #72633 (Postgres PDO lastInsertId() should work without + specifying a sequence). (Pablo Santiago Sánchez) - Reflection: . Fixed bug #72222 (ReflectionClass::export doesn't handle array constants). From f5622f5c8763fe180310ed7a47b999f160d7750b Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 2 Aug 2016 18:41:20 +0200 Subject: [PATCH 123/206] Fix #72709: imagesetstyle() causes OOB read for empty $styles Calling imagesetstyle() with an empty $styles array caused gdImageSetStyle() to be called with `noOfPixels==0`, what could have lead to OOB reads. Actually, this issue will be fixed in libgd, but to avoid issues when older libgd is in use, we simply disallow passing an empty $styles array to imagesetstyle(), what wouldn't serve a useful purpose anyway. --- NEWS | 1 + ext/gd/gd.c | 9 ++++++++- ext/gd/tests/bug72709.phpt | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 ext/gd/tests/bug72709.phpt diff --git a/NEWS b/NEWS index 118ece6138bd6..959d915eee277 100644 --- a/NEWS +++ b/NEWS @@ -42,6 +42,7 @@ PHP NEWS blendingmode). (cmb) . Fixed bug #66555 (Always false condition in ext/gd/libgd/gdkanji.c). (cmb) . Fixed bug #68712 (suspicious if-else statements). (cmb) + . Fixed bug #72709 (imagesetstyle() causes OOB read for empty $styles). (cmb) - Intl: . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 533dc502cabd3..052d568d76442 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -1555,6 +1555,7 @@ PHP_FUNCTION(imagesetstyle) int * stylearr; int index; HashPosition pos; + int num_styles; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ra", &IM, &styles) == FAILURE) { return; @@ -1562,8 +1563,14 @@ PHP_FUNCTION(imagesetstyle) ZEND_FETCH_RESOURCE(im, gdImagePtr, &IM, -1, "Image", le_gd); + num_styles = zend_hash_num_elements(HASH_OF(styles)); + if (num_styles == 0) { + php_error_docref(NULL, E_WARNING, "styles array must not be empty"); + RETURN_FALSE; + } + /* copy the style values in the stylearr */ - stylearr = safe_emalloc(sizeof(int), zend_hash_num_elements(HASH_OF(styles)), 0); + stylearr = safe_emalloc(sizeof(int), num_styles, 0); zend_hash_internal_pointer_reset_ex(HASH_OF(styles), &pos); diff --git a/ext/gd/tests/bug72709.phpt b/ext/gd/tests/bug72709.phpt new file mode 100644 index 0000000000000..1c5b1f4ae0420 --- /dev/null +++ b/ext/gd/tests/bug72709.phpt @@ -0,0 +1,18 @@ +--TEST-- +Bug #72709 (imagesetstyle() causes OOB read for empty $styles) +--SKIPIF-- + +--FILE-- + +====DONE==== +--EXPECTF-- +Warning: imagesetstyle(): styles array must not be empty in %s%ebug72709.php on line %d +bool(false) +====DONE==== From fad3f936aca111b6717d8607251551336ff2a07f Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Wed, 3 Aug 2016 12:16:42 +0200 Subject: [PATCH 124/206] fix ts build --- ext/gd/gd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 052d568d76442..b96f901ea0e78 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -1565,7 +1565,7 @@ PHP_FUNCTION(imagesetstyle) num_styles = zend_hash_num_elements(HASH_OF(styles)); if (num_styles == 0) { - php_error_docref(NULL, E_WARNING, "styles array must not be empty"); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "styles array must not be empty"); RETURN_FALSE; } From 67c2b0a9e8c746fca5bd0ef17e8d184c4f201020 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Wed, 3 Aug 2016 15:03:41 +0200 Subject: [PATCH 125/206] update libs_versions.txt --- win32/build/libs_version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win32/build/libs_version.txt b/win32/build/libs_version.txt index 9c036e2d544c3..8bb2175e68307 100644 --- a/win32/build/libs_version.txt +++ b/win32/build/libs_version.txt @@ -3,7 +3,7 @@ cclient-2007f freetype-2.6.2 icu-57.1 jpeglib-9b -libcurl-7.49.1 +libcurl-7.50.1 libiconv-1.14 libmcrypt-2.5.8 libmpir-2.7.2 From d5796fb298abb2a3e389818ad924589fa35e58b9 Mon Sep 17 00:00:00 2001 From: Kalle Sommer Nielsen Date: Wed, 3 Aug 2016 17:05:31 +0200 Subject: [PATCH 126/206] Changed the way MAKERNOTE is handled in case we do not have a matching signature (Remi). Before this patch, exif_process_IFD_in_MAKERNOTE() would return false, then causing the rest of the EXIF parsing to be interrupted. This is a regression from earlier which was most likely a part of a security fix for MAKERNOTE. The new behavior is to instead of stopping to parse, to continue so we can still fetch data like thumbnail and GPS, thrus allowing yet unsupported formats to parse. If EXIF's debugging mode is enabled, a notice will display in case we do not match against a valid MAKERNOTE signature. This should temporarily fix bug #72682 (exif_read_data() fails to read all data for some images) until I get around to debug it further. (cherry picked from commit aabcb5481d9e717df77192dab2894468b9fc63b4) --- ext/exif/exif.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ext/exif/exif.c b/ext/exif/exif.c index 5564de4b4a8fd..94652e909b35f 100644 --- a/ext/exif/exif.c +++ b/ext/exif/exif.c @@ -1708,6 +1708,10 @@ static void exif_iif_add_value(image_info_type *image_info, int section_index, c if (!length) break; case TAG_FMT_UNDEFINED: + if (tag == TAG_MAKER_NOTE) { + length = MIN(length, strlen(value)); + } + if (value) { /* do not recompute length here */ info_value->s = estrndup(value, length); @@ -2723,8 +2727,14 @@ static int exif_process_IFD_in_MAKERNOTE(image_info_type *ImageInfo, char * valu char *dir_start; for (i=0; i<=sizeof(maker_note_array)/sizeof(maker_note_type); i++) { - if (i==sizeof(maker_note_array)/sizeof(maker_note_type)) - return FALSE; + if (i==sizeof(maker_note_array)/sizeof(maker_note_type)) { +#ifdef EXIF_DEBUG + exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "No maker note data found. Detected maker: %s (length = %d)", ImageInfo->make, strlen(ImageInfo->make)); +#endif + /* unknown manufacturer, not an error, use it as a string */ + return TRUE; + } + maker_note = maker_note_array+i; /*exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "check (%s,%s)", maker_note->make?maker_note->make:"", maker_note->model?maker_note->model:"");*/ From f15c1553635ccb33c5f24d8ffe7a1cd05de5fe91 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Wed, 3 Aug 2016 17:38:11 +0200 Subject: [PATCH 127/206] update NEWS --- NEWS | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 959d915eee277..6df7098f13f2b 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,9 @@ PHP NEWS - DOM: . Fixed bug #66502 (DOM document dangling reference). (Sean Heelan, cmb) +- EXIF: + . Fixed bug #72735 (Samsung picture thumb not read (zero size)). (Kalle, Remi) + - Filter: . Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 range). (bugs dot php dot net at majkl578 dot cz) @@ -123,7 +126,6 @@ PHP NEWS - EXIF: . Fixed bug #50845 (exif_read_data() returns corrupted exif headers). (Bartosz Dziewoński) -- EXIF: . Fixed bug #72603 (Out of bound read in exif_process_IFD_in_MAKERNOTE). (Stas) . Fixed bug #72618 (NULL Pointer Dereference in exif_process_user_comment). From 9667ee4f72c7dafce993b71104a52beb7c3aff15 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Wed, 3 Aug 2016 18:26:29 +0200 Subject: [PATCH 128/206] improve the check, avoid strlen on NULL --- ext/exif/exif.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/exif/exif.c b/ext/exif/exif.c index 94652e909b35f..f95de3a14f199 100644 --- a/ext/exif/exif.c +++ b/ext/exif/exif.c @@ -1708,11 +1708,11 @@ static void exif_iif_add_value(image_info_type *image_info, int section_index, c if (!length) break; case TAG_FMT_UNDEFINED: - if (tag == TAG_MAKER_NOTE) { - length = MIN(length, strlen(value)); - } - if (value) { + if (tag == TAG_MAKER_NOTE) { + length = MIN(length, strlen(value)); + } + /* do not recompute length here */ info_value->s = estrndup(value, length); info_data->length = length; From 562c17eb4e78541a2aa648aef6a4454636d54f09 Mon Sep 17 00:00:00 2001 From: Ferenc Kovacs Date: Thu, 4 Aug 2016 01:39:37 +0200 Subject: [PATCH 129/206] 5.6.26 will be next --- NEWS | 4 +++- configure.in | 2 +- main/php_version.h | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 6df7098f13f2b..164a2ade3c0db 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,8 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? 2016, PHP 5.6.25 +?? ??? 2016, PHP 5.6.26 + +18 Aug 2016, PHP 5.6.25 - Core: . Fixed bug #72581 (previous property undefined in Exception after diff --git a/configure.in b/configure.in index 655e8586ceeb7..be79a02231d85 100644 --- a/configure.in +++ b/configure.in @@ -119,7 +119,7 @@ int zend_sprintf(char *buffer, const char *format, ...); PHP_MAJOR_VERSION=5 PHP_MINOR_VERSION=6 -PHP_RELEASE_VERSION=25 +PHP_RELEASE_VERSION=26 PHP_EXTRA_VERSION="-dev" PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION" PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION` diff --git a/main/php_version.h b/main/php_version.h index 3fd226da924fd..8fa4040c5e2c6 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -2,7 +2,7 @@ /* edit configure.in to change version number */ #define PHP_MAJOR_VERSION 5 #define PHP_MINOR_VERSION 6 -#define PHP_RELEASE_VERSION 25 +#define PHP_RELEASE_VERSION 26 #define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "5.6.25-dev" -#define PHP_VERSION_ID 50625 +#define PHP_VERSION "5.6.26-dev" +#define PHP_VERSION_ID 50626 From 4f861b60710639557635e9f3cf13bf9cbf8872cd Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Wed, 3 Aug 2016 22:59:01 -0700 Subject: [PATCH 130/206] Fix bug #72716 - initialize buffer before read --- ext/standard/ftp_fopen_wrapper.c | 81 ++++++++++++++++---------------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/ext/standard/ftp_fopen_wrapper.c b/ext/standard/ftp_fopen_wrapper.c index b7eeb5649ebf2..0d5384e3a5a01 100644 --- a/ext/standard/ftp_fopen_wrapper.c +++ b/ext/standard/ftp_fopen_wrapper.c @@ -82,6 +82,7 @@ typedef struct _php_ftp_dirstream_data { */ static inline int get_ftp_result(php_stream *stream, char *buffer, size_t buffer_size TSRMLS_DC) { + buffer[0] = '\0'; /* in case read fails to read anything */ while (php_stream_gets(stream, buffer, buffer_size-1) && !(isdigit((int) buffer[0]) && isdigit((int) buffer[1]) && isdigit((int) buffer[2]) && buffer[3] == ' ')); @@ -105,7 +106,7 @@ static int php_stream_ftp_stream_close(php_stream_wrapper *wrapper, php_stream * { php_stream *controlstream = stream->wrapperthis; int ret = 0; - + if (controlstream) { if (strpbrk(stream->mode, "wa+")) { char tmp_line[512]; @@ -154,7 +155,7 @@ static php_stream *php_ftp_fopen_connect(php_stream_wrapper *wrapper, const char /* use port 21 if one wasn't specified */ if (resource->port == 0) resource->port = 21; - + transport_len = spprintf(&transport, 0, "tcp://%s:%d", resource->host, resource->port); stream = php_stream_xport_create(transport, transport_len, REPORT_ERRORS, STREAM_XPORT_CLIENT | STREAM_XPORT_CONNECT, NULL, NULL, context, NULL, NULL); efree(transport); @@ -174,7 +175,7 @@ static php_stream *php_ftp_fopen_connect(php_stream_wrapper *wrapper, const char } if (use_ssl) { - + /* send the AUTH TLS request name */ php_stream_write_string(stream, "AUTH TLS\r\n"); @@ -183,7 +184,7 @@ static php_stream *php_ftp_fopen_connect(php_stream_wrapper *wrapper, const char if (result != 234) { /* AUTH TLS not supported try AUTH SSL */ php_stream_write_string(stream, "AUTH SSL\r\n"); - + /* get the response */ result = GET_FTP_RESULT(stream); if (result != 334) { @@ -200,7 +201,7 @@ static php_stream *php_ftp_fopen_connect(php_stream_wrapper *wrapper, const char } } - + if (use_ssl) { if (php_stream_xport_crypto_setup(stream, STREAM_CRYPTO_METHOD_SSLv23_CLIENT, NULL TSRMLS_CC) < 0 @@ -210,13 +211,13 @@ static php_stream *php_ftp_fopen_connect(php_stream_wrapper *wrapper, const char stream = NULL; goto connect_errexit; } - + /* set PBSZ to 0 */ php_stream_write_string(stream, "PBSZ 0\r\n"); /* ignore the response */ result = GET_FTP_RESULT(stream); - + /* set data connection protection level */ #if FTPS_ENCRYPT_DATA php_stream_write_string(stream, "PROT P\r\n"); @@ -241,7 +242,7 @@ static php_stream *php_ftp_fopen_connect(php_stream_wrapper *wrapper, const char } \ s++; \ } \ -} +} /* send the user name */ if (resource->user != NULL) { @@ -253,10 +254,10 @@ static php_stream *php_ftp_fopen_connect(php_stream_wrapper *wrapper, const char } else { php_stream_write_string(stream, "USER anonymous\r\n"); } - + /* get the response */ result = GET_FTP_RESULT(stream); - + /* if a password is required, send it */ if (result >= 300 && result <= 399) { php_stream_notify_info(context, PHP_STREAM_NOTIFY_AUTH_REQUIRED, tmp_line, 0); @@ -307,7 +308,7 @@ static php_stream *php_ftp_fopen_connect(php_stream_wrapper *wrapper, const char connect_errexit: if (resource) { - php_url_free(resource); + php_url_free(resource); } if (stream) { @@ -338,7 +339,7 @@ static unsigned short php_fopen_do_pasv(php_stream *stream, char *ip, size_t ip_ /* EPSV failed, let's try PASV */ php_stream_write_string(stream, "PASV\r\n"); result = GET_FTP_RESULT(stream); - + /* make sure we got a 227 response */ if (result != 227) { return 0; @@ -358,14 +359,14 @@ static unsigned short php_fopen_do_pasv(php_stream *stream, char *ip, size_t ip_ if (*tpath != ',') { return 0; } - *tpath='.'; + *tpath='.'; tpath++; } tpath[-1] = '\0'; memcpy(ip, hoststart, ip_size); ip[ip_size-1] = '\0'; hoststart = ip; - + /* pull out the MSB of the port */ portno = (unsigned short) strtoul(tpath, &ttpath, 10) * 256; if (ttpath == NULL) { @@ -395,7 +396,7 @@ static unsigned short php_fopen_do_pasv(php_stream *stream, char *ip, size_t ip_ /* pull out the port */ portno = (unsigned short) strtoul(tpath + 1, &ttpath, 10); } -#endif +#endif if (ttpath == NULL) { /* didn't get correct response from EPSV/PASV */ return 0; @@ -403,7 +404,7 @@ static unsigned short php_fopen_do_pasv(php_stream *stream, char *ip, size_t ip_ if (phoststart) { *phoststart = hoststart; - } + } return portno; } @@ -473,28 +474,28 @@ php_stream * php_stream_url_wrap_ftp(php_stream_wrapper *wrapper, const char *pa result = GET_FTP_RESULT(stream); if (result > 299 || result < 200) goto errexit; - + /* find out the size of the file (verifying it exists) */ php_stream_printf(stream TSRMLS_CC, "SIZE %s\r\n", resource->path); - + /* read the response */ result = GET_FTP_RESULT(stream); if (read_write == 1) { /* Read Mode */ char *sizestr; - + /* when reading file, it must exist */ if (result > 299 || result < 200) { errno = ENOENT; goto errexit; } - + sizestr = strchr(tmp_line, ' '); if (sizestr) { sizestr++; file_size = atoi(sizestr); php_stream_notify_file_size(context, file_size, tmp_line, result); - } + } } else if (read_write == 2) { /* when writing file (but not appending), it must NOT exist, unless a context option exists which allows it */ if (context && php_stream_context_get_option(context, "ftp", "overwrite", &tmpzval) == SUCCESS) { @@ -502,7 +503,7 @@ php_stream * php_stream_url_wrap_ftp(php_stream_wrapper *wrapper, const char *pa } if (result <= 299 && result >= 200) { if (allow_overwrite) { - /* Context permits overwriting file, + /* Context permits overwriting file, so we just delete whatever's there in preparation */ php_stream_printf(stream TSRMLS_CC, "DELE %s\r\n", resource->path); result = GET_FTP_RESULT(stream); @@ -533,7 +534,7 @@ php_stream * php_stream_url_wrap_ftp(php_stream_wrapper *wrapper, const char *pa Z_LVAL_PP(tmpzval) > 0) { php_stream_printf(stream TSRMLS_CC, "REST %ld\r\n", Z_LVAL_PP(tmpzval)); result = GET_FTP_RESULT(stream); - if (result < 300 || result > 399) { + if (result < 300 || result > 399) { php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "Unable to resume from offset %ld", Z_LVAL_PP(tmpzval)); goto errexit; } @@ -547,9 +548,9 @@ php_stream * php_stream_url_wrap_ftp(php_stream_wrapper *wrapper, const char *pa } else { /* Append */ memcpy(tmp_line, "APPE", sizeof("APPE")); - } + } php_stream_printf(stream TSRMLS_CC, "%s %s\r\n", tmp_line, (resource->path != NULL ? resource->path : "/")); - + /* open the data channel */ if (hoststart == NULL) { hoststart = resource->host; @@ -563,14 +564,14 @@ php_stream * php_stream_url_wrap_ftp(php_stream_wrapper *wrapper, const char *pa result = GET_FTP_RESULT(stream); if (result != 150 && result != 125) { - /* Could not retrieve or send the file + /* Could not retrieve or send the file * this data will only be sent to us after connection on the data port was initiated. */ php_stream_close(datastream); datastream = NULL; - goto errexit; + goto errexit; } - + php_stream_context_set(datastream, context); php_stream_notify_progress_init(context, 0, file_size); @@ -584,7 +585,7 @@ php_stream * php_stream_url_wrap_ftp(php_stream_wrapper *wrapper, const char *pa goto errexit; } - /* remember control stream */ + /* remember control stream */ datastream->wrapperthis = stream; php_url_free(resource); @@ -668,7 +669,7 @@ static int php_ftp_dirstream_close(php_stream *stream, int close_handle TSRMLS_D /* close data connection */ php_stream_close(data->datastream); data->datastream = NULL; - + efree(data); stream->abstract = NULL; @@ -707,7 +708,7 @@ php_stream * php_stream_ftp_opendir(php_stream_wrapper *wrapper, const char *pat stream = php_ftp_fopen_connect(wrapper, path, mode, options, opened_path, context, &reuseid, &resource, &use_ssl, &use_ssl_on_data TSRMLS_CC); if (!stream) { - goto opendir_errexit; + goto opendir_errexit; } /* set the connection to be ascii */ @@ -716,7 +717,7 @@ php_stream * php_stream_ftp_opendir(php_stream_wrapper *wrapper, const char *pat if (result > 299 || result < 200) goto opendir_errexit; - // tmp_line isn't relevant after the php_fopen_do_pasv(). + // tmp_line isn't relevant after the php_fopen_do_pasv(). tmp_line[0] = '\0'; /* set up the passive connection */ @@ -744,7 +745,7 @@ php_stream * php_stream_ftp_opendir(php_stream_wrapper *wrapper, const char *pat php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "Unable to activate SSL mode"); php_stream_close(datastream); datastream = NULL; - goto opendir_errexit; + goto opendir_errexit; } @@ -811,17 +812,17 @@ static int php_stream_ftp_url_stat(php_stream_wrapper *wrapper, const char *url, } php_stream_write_string(stream, "TYPE I\r\n"); /* we need this since some servers refuse to accept SIZE command in ASCII mode */ - + result = GET_FTP_RESULT(stream); if(result < 200 || result > 299) { goto stat_errexit; } - + php_stream_printf(stream TSRMLS_CC, "SIZE %s\r\n", (resource->path != NULL ? resource->path : "/")); result = GET_FTP_RESULT(stream); if (result < 200 || result > 299) { - /* Failure either means it doesn't exist + /* Failure either means it doesn't exist or it's a directory and this server fails on listing directory sizes */ if (ssb->sb.st_mode & S_IFDIR) { @@ -968,8 +969,8 @@ static int php_stream_ftp_rename(php_stream_wrapper *wrapper, const char *url_fr resource_from = php_url_parse(url_from); resource_to = php_url_parse(url_to); - /* Must be same scheme (ftp/ftp or ftps/ftps), same host, and same port - (or a 21/0 0/21 combination which is also "same") + /* Must be same scheme (ftp/ftp or ftps/ftps), same host, and same port + (or a 21/0 0/21 combination which is also "same") Also require paths to/from */ if (!resource_from || !resource_to || @@ -979,8 +980,8 @@ static int php_stream_ftp_rename(php_stream_wrapper *wrapper, const char *url_fr !resource_from->host || !resource_to->host || strcmp(resource_from->host, resource_to->host) || - (resource_from->port != resource_to->port && - resource_from->port * resource_to->port != 0 && + (resource_from->port != resource_to->port && + resource_from->port * resource_to->port != 0 && resource_from->port + resource_to->port != 21) || !resource_from->path || !resource_to->path) { From 78488a54c8f23c16bf0ca044c50c0fac8e303400 Mon Sep 17 00:00:00 2001 From: Christopher Jones Date: Thu, 4 Aug 2016 14:48:07 +1000 Subject: [PATCH 131/206] Fixed invalid handle error with Implicit Result Sets and bump OCI8 version. --- NEWS | 3 +++ ext/oci8/oci8.c | 3 ++- ext/oci8/package.xml | 25 ++++++++++++++++++++----- ext/oci8/php_oci8.h | 2 +- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/NEWS b/NEWS index 164a2ade3c0db..51d59f4026a41 100644 --- a/NEWS +++ b/NEWS @@ -63,6 +63,9 @@ PHP NEWS . Fixed bug #72710 (`mb_ereg` causes buffer overflow on regexp compile error). (ju1ius) +- OCI8: + . Fixed invalid handle error with Implicit Result Sets. (Chris Jones) + - PCRE: . Fixed bug #72688 (preg_match missing group names in matches). (cmb) diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c index 8effa3c719ada..020312b6429eb 100644 --- a/ext/oci8/oci8.c +++ b/ext/oci8/oci8.c @@ -2692,7 +2692,8 @@ void php_oci_fetch_row (INTERNAL_FUNCTION_PARAMETERS, int mode, int expected_arg #else /* OCI_MAJOR_VERSION */ PHP_OCI_ZVAL_TO_STATEMENT(z_statement, invokedstatement); - if (invokedstatement->impres_flag == PHP_OCI_IMPRES_NO_CHILDREN) { + if (invokedstatement->impres_flag == PHP_OCI_IMPRES_NO_CHILDREN || + invokedstatement->impres_flag == PHP_OCI_IMPRES_IS_CHILD) { /* Already know there are no Implicit Result Sets */ statement = invokedstatement; } else if (invokedstatement->impres_flag == PHP_OCI_IMPRES_HAS_CHILDREN) { diff --git a/ext/oci8/package.xml b/ext/oci8/package.xml index 2f93fc48301b3..07b982f4354f6 100644 --- a/ext/oci8/package.xml +++ b/ext/oci8/package.xml @@ -9,7 +9,7 @@ http://pear.php.net/dtd/package-2.0.xsd"> Use the OCI8 extension to access Oracle Database. PHP OCI8 2.1 builds -with PHP 7. Use 'pecl install oci8-2.0.11' to install OCI8 for PHP +with PHP 7. Use 'pecl install oci8-2.0.12' to install OCI8 for PHP 5.2 - PHP 5.6. Use 'pecl install oci8-1.4.10' to install PHP OCI8 1.4 for PHP 4.3.9 - PHP 5.1. The OCI8 extension can be linked with Oracle client libraries from Oracle Database 12.1, 11, or 10.2. These @@ -46,12 +46,12 @@ Interoperability Support" (ID 207303.1) for details. no - 2016-04-15 + 2016-07-04 - 2.0.11 - 2.0.11 + 2.0.12 + 2.0.12 stable @@ -59,7 +59,7 @@ Interoperability Support" (ID 207303.1) for details. PHP -Fixed bug #71422 (Fix ORA-01438: value larger than specified precision allowed for this column) +Fixed invalid handle error with Implicit Result Sets @@ -465,6 +465,21 @@ Fixed bug #71422 (Fix ORA-01438: value larger than specified precision allowed f + + + 2.0.11 + 2.0.11 + + + stable + stable + + PHP + +Fixed bug #71422 (Fix ORA-01438: value larger than specified precision allowed for this column) + + + 2.0.10 diff --git a/ext/oci8/php_oci8.h b/ext/oci8/php_oci8.h index ae28aec6c4321..5539edfa42fa0 100644 --- a/ext/oci8/php_oci8.h +++ b/ext/oci8/php_oci8.h @@ -45,7 +45,7 @@ */ #undef PHP_OCI8_VERSION #endif -#define PHP_OCI8_VERSION "2.0.11" +#define PHP_OCI8_VERSION "2.0.12" extern zend_module_entry oci8_module_entry; #define phpext_oci8_ptr &oci8_module_entry From d3a8e107acb4f729016b6d649bc83a888359fb7d Mon Sep 17 00:00:00 2001 From: Matteo Beccati Date: Thu, 4 Aug 2016 09:28:58 +0200 Subject: [PATCH 132/206] Clean up FR #72633 --- NEWS | 2 +- ext/pdo_pgsql/pgsql_driver.c | 7 ++++--- ext/pdo_pgsql/php_pdo_pgsql_int.h | 2 -- .../tests/{bug_last_insert_id.phpt => bug72633.phpt} | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) rename ext/pdo_pgsql/tests/{bug_last_insert_id.phpt => bug72633.phpt} (86%) diff --git a/NEWS b/NEWS index 51d59f4026a41..21427cc9e5b05 100644 --- a/NEWS +++ b/NEWS @@ -72,7 +72,7 @@ PHP NEWS - PDO_pgsql: . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) . Implemented FR #72633 (Postgres PDO lastInsertId() should work without - specifying a sequence). (Pablo Santiago Sánchez) + specifying a sequence). (Pablo Santiago Sánchez, Matteo) - Reflection: . Fixed bug #72222 (ReflectionClass::export doesn't handle array constants). diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index 52a77684923e0..5b78bcc438153 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -360,12 +360,13 @@ static char *pdo_pgsql_last_insert_id(pdo_dbh_t *dbh, const char *name, unsigned char *id = NULL; PGresult *res; ExecStatusType status; - const char *q[1]; - q[0] = name; - if (PHP_PDO_PGSQL_LASTVAL_PG_VERSION <= PQserverVersion(H->server) && name == NULL) { + if (name == NULL) { res = PQexec(H->server, "SELECT LASTVAL()"); } else { + const char *q[1]; + q[0] = name; + res = PQexecParams(H->server, "SELECT CURRVAL($1)", 1, NULL, q, NULL, NULL, 0); } status = PQresultStatus(res); diff --git a/ext/pdo_pgsql/php_pdo_pgsql_int.h b/ext/pdo_pgsql/php_pdo_pgsql_int.h index 2876b312b7f80..eb645c58c4de5 100644 --- a/ext/pdo_pgsql/php_pdo_pgsql_int.h +++ b/ext/pdo_pgsql/php_pdo_pgsql_int.h @@ -29,8 +29,6 @@ #define PHP_PDO_PGSQL_CONNECTION_FAILURE_SQLSTATE "08006" -#define PHP_PDO_PGSQL_LASTVAL_PG_VERSION 80100 - typedef struct { const char *file; int line; diff --git a/ext/pdo_pgsql/tests/bug_last_insert_id.phpt b/ext/pdo_pgsql/tests/bug72633.phpt similarity index 86% rename from ext/pdo_pgsql/tests/bug_last_insert_id.phpt rename to ext/pdo_pgsql/tests/bug72633.phpt index 30dd0f039a096..06bd25e6268aa 100644 --- a/ext/pdo_pgsql/tests/bug_last_insert_id.phpt +++ b/ext/pdo_pgsql/tests/bug72633.phpt @@ -1,5 +1,5 @@ --TEST-- -currval() vs lastval() - PDO PgSQL Bug #1134 [BUG] New record, PostgreSQL and the Primary key https://github.com/phalcon/cphalcon/issues/1134 +PDO PgSQL Bug #72633 (Postgres PDO lastInsertId() should work without specifying a sequence) --SKIPIF-- Date: Thu, 4 Aug 2016 12:06:07 +0200 Subject: [PATCH 133/206] Fix broken skip marker in test case --- .../tests/streams/stream_socket_enable_crypto-win32.phpt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/standard/tests/streams/stream_socket_enable_crypto-win32.phpt b/ext/standard/tests/streams/stream_socket_enable_crypto-win32.phpt index 237b4ed6a5678..919fda8e5c2a8 100644 --- a/ext/standard/tests/streams/stream_socket_enable_crypto-win32.phpt +++ b/ext/standard/tests/streams/stream_socket_enable_crypto-win32.phpt @@ -5,7 +5,7 @@ marcosptf - - #phparty7 - @phpsp - novatec/2015 - sao p --SKIPIF-- Date: Fri, 5 Aug 2016 16:09:13 +0300 Subject: [PATCH 134/206] Fix #72764 Negotiate data channel encryption after NLST command. This is to prevent issues with IIS and ProFTPD. --- NEWS | 2 ++ ext/ftp/tests/server.inc | 8 ++++---- ext/standard/ftp_fopen_wrapper.c | 22 +++++++++++----------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/NEWS b/NEWS index 21427cc9e5b05..8b955722c372d 100644 --- a/NEWS +++ b/NEWS @@ -90,6 +90,8 @@ PHP NEWS . Fixed bug #54431 (opendir() does not work with ftps:// wrapper). (vhuk) . Fixed bug #72667 (opendir() with ftp:// attempts to open data stream for non-existent directories). (vhuk) + . Fixed bug #72764 (ftps:// opendir wrapper data channel encryption fails + with IIS FTP 7.5, 8.5). (vhuk) - SPL: . Fixed bug #72122 (IteratorIterator breaks '@' error suppression). (kinglozzer) diff --git a/ext/ftp/tests/server.inc b/ext/ftp/tests/server.inc index e2a74029bfc9c..5629c2e312291 100644 --- a/ext/ftp/tests/server.inc +++ b/ext/ftp/tests/server.inc @@ -288,6 +288,10 @@ if ($pid) { } + if ((!empty($ssl)) && (!stream_socket_enable_crypto($pasvs, true, STREAM_CRYPTO_METHOD_SSLv23_SERVER))) { + die("SSLv23 handshake failed.\n"); + } + if (empty($m[1]) || $m[1] !== 'emptydir') { fputs($fs, "file1\r\nfile1\r\nfile\nb0rk\r\n"); } @@ -403,10 +407,6 @@ if ($pid) { $pasvs = stream_socket_accept($soc,10); - if ((!empty($ssl)) && (!stream_socket_enable_crypto($pasvs, true, STREAM_CRYPTO_METHOD_SSLv23_SERVER))) { - die("SSLv23 handshake failed.\n"); - } - }elseif (preg_match('/^EPSV/', $buf, $matches)) { fputs($s, "550 Extended passsive mode not supported.\r\n"); } elseif (preg_match('/^SITE EXEC/', $buf, $matches)) { diff --git a/ext/standard/ftp_fopen_wrapper.c b/ext/standard/ftp_fopen_wrapper.c index 0d5384e3a5a01..bfb163167af8e 100644 --- a/ext/standard/ftp_fopen_wrapper.c +++ b/ext/standard/ftp_fopen_wrapper.c @@ -737,17 +737,6 @@ php_stream * php_stream_ftp_opendir(php_stream_wrapper *wrapper, const char *pat goto opendir_errexit; } - php_stream_context_set(datastream, context); - if (use_ssl_on_data && (php_stream_xport_crypto_setup(datastream, - STREAM_CRYPTO_METHOD_SSLv23_CLIENT, NULL TSRMLS_CC) < 0 || - php_stream_xport_crypto_enable(datastream, 1 TSRMLS_CC) < 0)) { - - php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "Unable to activate SSL mode"); - php_stream_close(datastream); - datastream = NULL; - goto opendir_errexit; - } - php_stream_printf(stream TSRMLS_CC, "NLST %s\r\n", (resource->path != NULL ? resource->path : "/")); @@ -761,6 +750,17 @@ php_stream * php_stream_ftp_opendir(php_stream_wrapper *wrapper, const char *pat goto opendir_errexit; } + php_stream_context_set(datastream, context); + if (use_ssl_on_data && (php_stream_xport_crypto_setup(datastream, + STREAM_CRYPTO_METHOD_SSLv23_CLIENT, NULL TSRMLS_CC) < 0 || + php_stream_xport_crypto_enable(datastream, 1 TSRMLS_CC) < 0)) { + + php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "Unable to activate SSL mode"); + php_stream_close(datastream); + datastream = NULL; + goto opendir_errexit; + } + php_url_free(resource); dirsdata = emalloc(sizeof *dirsdata); From 5e2b8349b4ee7df1aa70deb4351f4f0d5c3d8a84 Mon Sep 17 00:00:00 2001 From: Kalle Sommer Nielsen Date: Sat, 6 Aug 2016 10:17:49 +0200 Subject: [PATCH 135/206] Check the return value of dbconvert() in mssql_guid_string(), as it may return -1 in case the conversion failed. In that case false is returned. Also initialize buffer and buffer2 to NULL, which should fix bug #72039 (Use of uninitialised value on mssql_guid_string). This only applies to 5.6, as we do not have mssql in 7.0 anymore --- NEWS | 3 +++ ext/mssql/php_mssql.c | 13 ++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 8b955722c372d..10f030221ae3e 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2016, PHP 5.6.26 +- MSSQL: + . Fixed bug #72039 (Use of uninitialised value on mssql_guid_string). (Kalle) + 18 Aug 2016, PHP 5.6.25 - Core: diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c index aa1ea5460400d..20ac190e0a72f 100644 --- a/ext/mssql/php_mssql.c +++ b/ext/mssql/php_mssql.c @@ -2235,21 +2235,24 @@ PHP_FUNCTION(mssql_guid_string) char *binary; int binary_len; zend_bool sf = 0; - char buffer[32+1]; - char buffer2[36+1]; + char buffer[32+1] = NULL; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|b", &binary, &binary_len, &sf) == FAILURE) { return; } - dbconvert(NULL, SQLBINARY, (BYTE*) binary, MIN(16, binary_len), SQLCHAR, buffer, -1); + if (dbconvert(NULL, SQLBINARY, (BYTE*) binary, MIN(16, binary_len), SQLCHAR, buffer, (DBINT) -1) == -1) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "could not convert binary string to GUID string"); + RETURN_FALSE; + } if (sf) { php_strtoupper(buffer, 32); RETURN_STRING(buffer, 1); - } - else { + } else { int i; + char buffer2[36+1] = NULL; + /* FIXME this works only on little endian machine */ for (i=0; i<4; i++) { buffer2[2*i] = buffer[6-2*i]; From 3d51b1d5441d41aace4a37142eba3e8855ad69c2 Mon Sep 17 00:00:00 2001 From: Kalle Sommer Nielsen Date: Sat, 6 Aug 2016 12:08:13 +0200 Subject: [PATCH 136/206] Fix the fix (Nikita), thanks! --- ext/mssql/php_mssql.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c index 20ac190e0a72f..66497f1f51ddf 100644 --- a/ext/mssql/php_mssql.c +++ b/ext/mssql/php_mssql.c @@ -2235,7 +2235,7 @@ PHP_FUNCTION(mssql_guid_string) char *binary; int binary_len; zend_bool sf = 0; - char buffer[32+1] = NULL; + char buffer[32+1] = { 0 }; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|b", &binary, &binary_len, &sf) == FAILURE) { return; @@ -2251,7 +2251,7 @@ PHP_FUNCTION(mssql_guid_string) RETURN_STRING(buffer, 1); } else { int i; - char buffer2[36+1] = NULL; + char buffer2[36+1] = { 0 }; /* FIXME this works only on little endian machine */ for (i=0; i<4; i++) { From 40d237df1f3f556394a100e052c8fb4d05fd1893 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sun, 7 Aug 2016 18:36:32 +0200 Subject: [PATCH 137/206] Fix stream_socket_enable_crypto() test The whole test doesn't make any sense at all, but this only fixes the additional warnings you get when linked against openssl w/o SSL3. --- ext/standard/tests/streams/stream_socket_enable_crypto.phpt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/standard/tests/streams/stream_socket_enable_crypto.phpt b/ext/standard/tests/streams/stream_socket_enable_crypto.phpt index f282c8455b991..0f537f39ea9be 100644 --- a/ext/standard/tests/streams/stream_socket_enable_crypto.phpt +++ b/ext/standard/tests/streams/stream_socket_enable_crypto.phpt @@ -18,13 +18,13 @@ $sock = stream_socket_server($serverUri, $errno, $errstr); if (is_resource($sock)) { var_dump(stream_socket_enable_crypto($sock, false)); var_dump(stream_socket_enable_crypto($sock, true)); + var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT)); var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv3_CLIENT)); var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv2_CLIENT)); - var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT)); var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)); + var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv23_SERVER)); var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv2_SERVER)); var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv3_SERVER)); - var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_SSLv23_SERVER)); var_dump(stream_socket_enable_crypto($sock, true, STREAM_CRYPTO_METHOD_TLS_SERVER)); } else { die("Test stream_socket_enable_crypto has failed; Unable to connect: {$errstr} ({$errno})"); From 243d5fcb1f070025fa19a5e31a3d8d64c8d1a1e6 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 8 Aug 2016 18:43:33 +0200 Subject: [PATCH 138/206] Add test for bug #69107: finfo no longer detects PHP files --- ext/fileinfo/tests/bug69107.phpt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 ext/fileinfo/tests/bug69107.phpt diff --git a/ext/fileinfo/tests/bug69107.phpt b/ext/fileinfo/tests/bug69107.phpt new file mode 100644 index 0000000000000..9a7b26b5d1936 --- /dev/null +++ b/ext/fileinfo/tests/bug69107.phpt @@ -0,0 +1,22 @@ +--TEST-- +Bug #69107 (finfo no longer detects PHP files) +--SKIPIF-- + +--FILE-- +buffer("buffer("buffer("buffer(" +===DONE=== +--EXPECT-- +string(10) "text/x-php" +string(10) "text/x-php" +string(10) "text/x-php" +string(10) "text/x-php" +===DONE=== From a38bc7b373c85fc4413a0f194180a24ada58850d Mon Sep 17 00:00:00 2001 From: Yasuo Ohgaki Date: Thu, 11 Aug 2016 08:08:26 +0900 Subject: [PATCH 139/206] Support "git worktree" --- vcsclean | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vcsclean b/vcsclean index b5d201b69f405..fc7fc2f805ffb 100755 --- a/vcsclean +++ b/vcsclean @@ -1,6 +1,6 @@ #! /bin/sh -if test -d '.git'; then +if test -d '.git' -o -f '.git'; then ${MAKE:-make} -f build/build.mk gitclean-work else echo "Can't figure out your VCS, not cleaning." From f19578ad58d7ae82f16afd282e1c600927b106a2 Mon Sep 17 00:00:00 2001 From: Yasuo Ohgaki Date: Thu, 11 Aug 2016 07:18:35 +0900 Subject: [PATCH 140/206] Fix URL rewriter partially --- .../tests/general_functions/url_rewriter.phpt | 139 ++++++++++++++++ ext/standard/url_scanner_ex.c | 150 ++++++++++-------- ext/standard/url_scanner_ex.re | 34 +++- 3 files changed, 257 insertions(+), 66 deletions(-) create mode 100644 ext/standard/tests/general_functions/url_rewriter.phpt diff --git a/ext/standard/tests/general_functions/url_rewriter.phpt b/ext/standard/tests/general_functions/url_rewriter.phpt new file mode 100644 index 0000000000000..ce91b27a00351 --- /dev/null +++ b/ext/standard/tests/general_functions/url_rewriter.phpt @@ -0,0 +1,139 @@ +--TEST-- +URL Rewriter tests +--INI-- +url_rewriter.tags="a=href,form=" +session.use_only_cookies=0 +session.use_trans_sid=1 +session.use_strict_mode=0 +--FILE-- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+
+
+--EXPECT-- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ +
+
+
+
+
diff --git a/ext/standard/url_scanner_ex.c b/ext/standard/url_scanner_ex.c index 6b5a2bf19f3f3..20f82c24a6bee 100644 --- a/ext/standard/url_scanner_ex.c +++ b/ext/standard/url_scanner_ex.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 */ +/* Generated by re2c 0.14.3 */ #line 1 "ext/standard/url_scanner_ex.re" /* +----------------------------------------------------------------------+ @@ -104,17 +104,43 @@ PHP_INI_END() #define YYLIMIT q #define YYMARKER r -static inline void append_modified_url(smart_str *url, smart_str *dest, smart_str *url_app, const char *separator) +static inline void append_modified_url(smart_str *url, smart_str *dest, smart_str *url_app, const char *separator TSRMLS_DC) { register const char *p, *q; const char *bash = NULL; const char *sep = "?"; - + + /* + * Don't modify "//example.com" full path, unless + * HTTP_HOST matches. + */ + if (url->c[0] == '/' && url->c[1] == '/') { + zval **tmp, **http_host; + size_t target_len, host_len; + if (zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **)&tmp) == FAILURE + || Z_TYPE_PP(tmp) != IS_ARRAY + || zend_hash_find(Z_ARRVAL_PP(tmp), "HTTP_HOST", sizeof("HTTP_HOST"), (void **)&http_host) == FAILURE + || Z_TYPE_PP(http_host) != IS_STRING) { + smart_str_append(dest, url); + return; + } + /* HTTP_HOST could be "example.com:8888", etc. */ + /* Need to find end of URL in buffer */ + host_len = strcspn(Z_STRVAL_PP(http_host), ":"); + target_len = strcspn(url->c+2, "/\"'?>\r\n"); + if (host_len + && host_len == target_len + && strncasecmp(Z_STRVAL_PP(http_host), url->c+2, host_len)) { + smart_str_append(dest, url); + return; + } + } + q = (p = url->c) + url->len; scan: -#line 118 "ext/standard/url_scanner_ex.c" +#line 144 "ext/standard/url_scanner_ex.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -157,22 +183,22 @@ static inline void append_modified_url(smart_str *url, smart_str *dest, smart_st if (yybm[0+yych] & 128) { goto yy8; } - if (yych <= '9') goto yy6; + if (yych <= '#') goto yy6; if (yych >= ';') goto yy4; ++YYCURSOR; -#line 120 "ext/standard/url_scanner_ex.re" +#line 146 "ext/standard/url_scanner_ex.re" { smart_str_append(dest, url); return; } -#line 166 "ext/standard/url_scanner_ex.c" +#line 192 "ext/standard/url_scanner_ex.c" yy4: ++YYCURSOR; -#line 121 "ext/standard/url_scanner_ex.re" +#line 147 "ext/standard/url_scanner_ex.re" { sep = separator; goto scan; } -#line 171 "ext/standard/url_scanner_ex.c" +#line 197 "ext/standard/url_scanner_ex.c" yy6: ++YYCURSOR; -#line 122 "ext/standard/url_scanner_ex.re" +#line 148 "ext/standard/url_scanner_ex.re" { bash = p - 1; goto done; } -#line 176 "ext/standard/url_scanner_ex.c" +#line 202 "ext/standard/url_scanner_ex.c" yy8: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -180,11 +206,11 @@ static inline void append_modified_url(smart_str *url, smart_str *dest, smart_st if (yybm[0+yych] & 128) { goto yy8; } -#line 123 "ext/standard/url_scanner_ex.re" +#line 149 "ext/standard/url_scanner_ex.re" { goto scan; } -#line 186 "ext/standard/url_scanner_ex.c" +#line 212 "ext/standard/url_scanner_ex.c" } -#line 124 "ext/standard/url_scanner_ex.re" +#line 150 "ext/standard/url_scanner_ex.re" done: @@ -223,7 +249,7 @@ static inline void tag_arg(url_adapt_state_ex_t *ctx, char quotes, char type TSR if (quotes) smart_str_appendc(&ctx->result, type); if (f) { - append_modified_url(&ctx->val, &ctx->result, &ctx->url_app, PG(arg_separator).output); + append_modified_url(&ctx->val, &ctx->result, &ctx->url_app, PG(arg_separator).output TSRMLS_CC); } else { smart_str_append(&ctx->result, &ctx->val); } @@ -364,7 +390,7 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s state_plain: start = YYCURSOR; -#line 368 "ext/standard/url_scanner_ex.c" +#line 394 "ext/standard/url_scanner_ex.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -407,9 +433,9 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s goto yy15; } ++YYCURSOR; -#line 303 "ext/standard/url_scanner_ex.re" +#line 329 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); STATE = STATE_TAG; goto state_tag; } -#line 413 "ext/standard/url_scanner_ex.c" +#line 439 "ext/standard/url_scanner_ex.c" yy15: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -417,17 +443,17 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s if (yybm[0+yych] & 128) { goto yy15; } -#line 304 "ext/standard/url_scanner_ex.re" +#line 330 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_plain; } -#line 423 "ext/standard/url_scanner_ex.c" +#line 449 "ext/standard/url_scanner_ex.c" } -#line 305 "ext/standard/url_scanner_ex.re" +#line 331 "ext/standard/url_scanner_ex.re" state_tag: start = YYCURSOR; -#line 431 "ext/standard/url_scanner_ex.c" +#line 457 "ext/standard/url_scanner_ex.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -478,14 +504,14 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s yych = *YYCURSOR; goto yy25; yy21: -#line 310 "ext/standard/url_scanner_ex.re" +#line 336 "ext/standard/url_scanner_ex.re" { handle_tag(STD_ARGS); /* Sets STATE */; passthru(STD_ARGS); if (STATE == STATE_PLAIN) goto state_plain; else goto state_next_arg; } -#line 484 "ext/standard/url_scanner_ex.c" +#line 510 "ext/standard/url_scanner_ex.c" yy22: ++YYCURSOR; -#line 311 "ext/standard/url_scanner_ex.re" +#line 337 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_plain_begin; } -#line 489 "ext/standard/url_scanner_ex.c" +#line 515 "ext/standard/url_scanner_ex.c" yy24: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -496,7 +522,7 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s } goto yy21; } -#line 312 "ext/standard/url_scanner_ex.re" +#line 338 "ext/standard/url_scanner_ex.re" state_next_arg_begin: @@ -505,7 +531,7 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s state_next_arg: start = YYCURSOR; -#line 509 "ext/standard/url_scanner_ex.c" +#line 535 "ext/standard/url_scanner_ex.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -570,28 +596,28 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s ++YYCURSOR; if ((yych = *YYCURSOR) == '>') goto yy39; yy29: -#line 323 "ext/standard/url_scanner_ex.re" +#line 349 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_plain_begin; } -#line 576 "ext/standard/url_scanner_ex.c" +#line 602 "ext/standard/url_scanner_ex.c" yy30: ++YYCURSOR; yy31: -#line 320 "ext/standard/url_scanner_ex.re" +#line 346 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); handle_form(STD_ARGS); goto state_plain_begin; } -#line 582 "ext/standard/url_scanner_ex.c" +#line 608 "ext/standard/url_scanner_ex.c" yy32: ++YYCURSOR; yych = *YYCURSOR; goto yy38; yy33: -#line 321 "ext/standard/url_scanner_ex.re" +#line 347 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_next_arg; } -#line 590 "ext/standard/url_scanner_ex.c" +#line 616 "ext/standard/url_scanner_ex.c" yy34: ++YYCURSOR; -#line 322 "ext/standard/url_scanner_ex.re" +#line 348 "ext/standard/url_scanner_ex.re" { --YYCURSOR; STATE = STATE_ARG; goto state_arg; } -#line 595 "ext/standard/url_scanner_ex.c" +#line 621 "ext/standard/url_scanner_ex.c" yy36: yych = *++YYCURSOR; goto yy29; @@ -609,13 +635,13 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s yych = *YYCURSOR; goto yy31; } -#line 324 "ext/standard/url_scanner_ex.re" +#line 350 "ext/standard/url_scanner_ex.re" state_arg: start = YYCURSOR; -#line 619 "ext/standard/url_scanner_ex.c" +#line 645 "ext/standard/url_scanner_ex.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -663,14 +689,14 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s yych = *YYCURSOR; goto yy47; yy43: -#line 329 "ext/standard/url_scanner_ex.re" +#line 355 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); handle_arg(STD_ARGS); STATE = STATE_BEFORE_VAL; goto state_before_val; } -#line 669 "ext/standard/url_scanner_ex.c" +#line 695 "ext/standard/url_scanner_ex.c" yy44: ++YYCURSOR; -#line 330 "ext/standard/url_scanner_ex.re" +#line 356 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); STATE = STATE_NEXT_ARG; goto state_next_arg; } -#line 674 "ext/standard/url_scanner_ex.c" +#line 700 "ext/standard/url_scanner_ex.c" yy46: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -681,13 +707,13 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s } goto yy43; } -#line 331 "ext/standard/url_scanner_ex.re" +#line 357 "ext/standard/url_scanner_ex.re" state_before_val: start = YYCURSOR; -#line 691 "ext/standard/url_scanner_ex.c" +#line 717 "ext/standard/url_scanner_ex.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -734,17 +760,17 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s if (yych == ' ') goto yy57; if (yych == '=') goto yy55; yy51: -#line 337 "ext/standard/url_scanner_ex.re" +#line 363 "ext/standard/url_scanner_ex.re" { --YYCURSOR; goto state_next_arg_begin; } -#line 740 "ext/standard/url_scanner_ex.c" +#line 766 "ext/standard/url_scanner_ex.c" yy52: ++YYCURSOR; yych = *YYCURSOR; goto yy56; yy53: -#line 336 "ext/standard/url_scanner_ex.re" +#line 362 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); STATE = STATE_VAL; goto state_val; } -#line 748 "ext/standard/url_scanner_ex.c" +#line 774 "ext/standard/url_scanner_ex.c" yy54: yych = *++YYCURSOR; goto yy51; @@ -766,14 +792,14 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s YYCURSOR = YYMARKER; goto yy51; } -#line 338 "ext/standard/url_scanner_ex.re" +#line 364 "ext/standard/url_scanner_ex.re" state_val: start = YYCURSOR; -#line 777 "ext/standard/url_scanner_ex.c" +#line 803 "ext/standard/url_scanner_ex.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -834,9 +860,9 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s yych = *(YYMARKER = ++YYCURSOR); if (yych != '>') goto yy76; yy63: -#line 347 "ext/standard/url_scanner_ex.re" +#line 373 "ext/standard/url_scanner_ex.re" { passthru(STD_ARGS); goto state_next_arg_begin; } -#line 840 "ext/standard/url_scanner_ex.c" +#line 866 "ext/standard/url_scanner_ex.c" yy64: yych = *(YYMARKER = ++YYCURSOR); if (yych == '>') goto yy63; @@ -846,9 +872,9 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s yych = *YYCURSOR; goto yy69; yy66: -#line 346 "ext/standard/url_scanner_ex.re" +#line 372 "ext/standard/url_scanner_ex.re" { handle_val(STD_ARGS, 0, ' '); goto state_next_arg_begin; } -#line 852 "ext/standard/url_scanner_ex.c" +#line 878 "ext/standard/url_scanner_ex.c" yy67: yych = *++YYCURSOR; goto yy63; @@ -869,15 +895,15 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s if (yybm[0+yych] & 64) { goto yy70; } - if (yych <= '=') goto yy73; + if (yych <= '\'') goto yy73; yy72: YYCURSOR = YYMARKER; goto yy63; yy73: ++YYCURSOR; -#line 345 "ext/standard/url_scanner_ex.re" +#line 371 "ext/standard/url_scanner_ex.re" { handle_val(STD_ARGS, 1, '\''); goto state_next_arg_begin; } -#line 881 "ext/standard/url_scanner_ex.c" +#line 907 "ext/standard/url_scanner_ex.c" yy75: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -886,13 +912,13 @@ static inline void xx_mainloop(url_adapt_state_ex_t *ctx, const char *newdata, s if (yybm[0+yych] & 128) { goto yy75; } - if (yych >= '>') goto yy72; + if (yych >= '#') goto yy72; ++YYCURSOR; -#line 344 "ext/standard/url_scanner_ex.re" +#line 370 "ext/standard/url_scanner_ex.re" { handle_val(STD_ARGS, 1, '"'); goto state_next_arg_begin; } -#line 894 "ext/standard/url_scanner_ex.c" +#line 920 "ext/standard/url_scanner_ex.c" } -#line 348 "ext/standard/url_scanner_ex.re" +#line 374 "ext/standard/url_scanner_ex.re" stop: @@ -917,7 +943,7 @@ char *php_url_scanner_adapt_single_url(const char *url, size_t urllen, const cha smart_str_appendc(&url_app, '='); smart_str_appends(&url_app, value); - append_modified_url(&surl, &buf, &url_app, PG(arg_separator).output); + append_modified_url(&surl, &buf, &url_app, PG(arg_separator).output TSRMLS_CC); smart_str_0(&buf); if (newlen) *newlen = buf.len; diff --git a/ext/standard/url_scanner_ex.re b/ext/standard/url_scanner_ex.re index 851e025ca1bf0..5ee7063c19efa 100644 --- a/ext/standard/url_scanner_ex.re +++ b/ext/standard/url_scanner_ex.re @@ -107,12 +107,38 @@ alphadash = ([a-zA-Z] | "-"); #define YYLIMIT q #define YYMARKER r -static inline void append_modified_url(smart_str *url, smart_str *dest, smart_str *url_app, const char *separator) +static inline void append_modified_url(smart_str *url, smart_str *dest, smart_str *url_app, const char *separator TSRMLS_DC) { register const char *p, *q; const char *bash = NULL; const char *sep = "?"; - + + /* + * Don't modify "//example.com" full path, unless + * HTTP_HOST matches. + */ + if (url->c[0] == '/' && url->c[1] == '/') { + zval **tmp, **http_host; + size_t target_len, host_len; + if (zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **)&tmp) == FAILURE + || Z_TYPE_PP(tmp) != IS_ARRAY + || zend_hash_find(Z_ARRVAL_PP(tmp), "HTTP_HOST", sizeof("HTTP_HOST"), (void **)&http_host) == FAILURE + || Z_TYPE_PP(http_host) != IS_STRING) { + smart_str_append(dest, url); + return; + } + /* HTTP_HOST could be "example.com:8888", etc. */ + /* Need to find end of URL in buffer */ + host_len = strcspn(Z_STRVAL_PP(http_host), ":"); + target_len = strcspn(url->c+2, "/\"'?>\r\n"); + if (host_len + && host_len == target_len + && strncasecmp(Z_STRVAL_PP(http_host), url->c+2, host_len)) { + smart_str_append(dest, url); + return; + } + } + q = (p = url->c) + url->len; scan: @@ -159,7 +185,7 @@ static inline void tag_arg(url_adapt_state_ex_t *ctx, char quotes, char type TSR if (quotes) smart_str_appendc(&ctx->result, type); if (f) { - append_modified_url(&ctx->val, &ctx->result, &ctx->url_app, PG(arg_separator).output); + append_modified_url(&ctx->val, &ctx->result, &ctx->url_app, PG(arg_separator).output TSRMLS_CC); } else { smart_str_append(&ctx->result, &ctx->val); } @@ -369,7 +395,7 @@ char *php_url_scanner_adapt_single_url(const char *url, size_t urllen, const cha smart_str_appendc(&url_app, '='); smart_str_appends(&url_app, value); - append_modified_url(&surl, &buf, &url_app, PG(arg_separator).output); + append_modified_url(&surl, &buf, &url_app, PG(arg_separator).output TSRMLS_CC); smart_str_0(&buf); if (newlen) *newlen = buf.len; From 7938ebf6c1b302d3d1b1bfb798f1cf6f07e1e178 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sat, 13 Aug 2016 00:31:55 +0200 Subject: [PATCH 141/206] Fix #60665: call to empty() on NULL result using PDO::FETCH_LAZY returns false The has_property handler only checked whether a respective column name exists, but neither whether the column value is set, nor whether it is empty, respectively. We fix that to match the behavior of POD:FETCH_OBJ in particular and PHP in general. --- NEWS | 4 ++++ ext/pdo/pdo_stmt.c | 10 ++++++++- ext/pdo/tests/bug_60665.phpt | 41 ++++++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 ext/pdo/tests/bug_60665.phpt diff --git a/NEWS b/NEWS index 10f030221ae3e..90215cdbfc57c 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,10 @@ PHP NEWS - MSSQL: . Fixed bug #72039 (Use of uninitialised value on mssql_guid_string). (Kalle) +- PDO: + . Fixed bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY + returns false). (cmb) + 18 Aug 2016, PHP 5.6.25 - Core: diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index a2ae2fdf3a39e..f5c295c26c377 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -2623,7 +2623,15 @@ static int row_prop_exists(zval *object, zval *member, int check_empty, const ze * numbers */ for (colno = 0; colno < stmt->column_count; colno++) { if (strcmp(stmt->columns[colno].name, Z_STRVAL_P(member)) == 0) { - return 1; + int res; + zval *val; + + MAKE_STD_ZVAL(val); + fetch_value(stmt, val, colno, NULL TSRMLS_CC); + res = check_empty ? i_zend_is_true(val) : Z_TYPE_P(val) != IS_NULL; + zval_ptr_dtor(&val); + + return res; } } } diff --git a/ext/pdo/tests/bug_60665.phpt b/ext/pdo/tests/bug_60665.phpt new file mode 100644 index 0000000000000..28c14821546f9 --- /dev/null +++ b/ext/pdo/tests/bug_60665.phpt @@ -0,0 +1,41 @@ +--TEST-- +PDO Common: Bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY returns false) +--SKIPIF-- + +--FILE-- +prepare("SELECT NULL AS null_value, 0 AS zero, 1 AS one"); +$statement->execute(); +$row = $statement->fetch(PDO::FETCH_LAZY); +var_dump( + empty($row->null_value), + empty($row->zero), + !empty($row->one), + empty($row->missing), + !isset($row->null_value), + isset($row->zero), + isset($row->one), + !isset($row->missing) +); +?> +===DONE=== +--EXPECT-- +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +===DONE=== From ae3b2078eac226c61bc325527e607ad275936d22 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sat, 13 Aug 2016 11:39:16 +0200 Subject: [PATCH 142/206] Fix #72823: strtr out-of-bound access If php_strtr_array_prepare_repls() reports pattern_len == 0, we return early to avoid OOB accesses, and because there is nothing to replace anyway. --- NEWS | 3 +++ ext/standard/string.c | 8 +++++++- ext/standard/tests/strings/bug72823.phpt | 12 ++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 ext/standard/tests/strings/bug72823.phpt diff --git a/NEWS b/NEWS index 90215cdbfc57c..7bf6fbf3f718d 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,9 @@ PHP NEWS . Fixed bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY returns false). (cmb) +- Standard: + . Fixed bug #72823 (strtr out-of-bound access). (cmb) + 18 Aug 2016, PHP 5.6.25 - Core: diff --git a/ext/standard/string.c b/ext/standard/string.c index 1ecbdb97ce01f..9498496fce84e 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -2989,7 +2989,7 @@ static PPRES *php_strtr_array_prepare(STR *text, PATNREPL *patterns, int patnum, res->m = L(&patterns[i].pat); } } - assert(res->m > 0); + assert(res->m > 0 && res->m != (STRLEN)-1); res->B = B = MIN(B, res->m); res->Bp = Bp = MIN(Bp, res->m); @@ -3131,6 +3131,12 @@ static void php_strtr_array(zval *return_value, char *str, int slen, HashTable * if (patterns == NULL) { RETURN_FALSE; } + if (patterns_len == 0) { + efree(patterns); + zend_llist_destroy(allocs); + efree(allocs); + RETURN_STRINGL(str, slen, 1); + } data = php_strtr_array_prepare(&text, patterns, patterns_len, 2, 2); efree(patterns); php_strtr_array_do_repl(&text, data, return_value); diff --git a/ext/standard/tests/strings/bug72823.phpt b/ext/standard/tests/strings/bug72823.phpt new file mode 100644 index 0000000000000..d0aaf0fd35d75 --- /dev/null +++ b/ext/standard/tests/strings/bug72823.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #72823 (strtr out-of-bound access) +--FILE-- + 'bbb')) +); +?> +===DONE=== +--EXPECT-- +string(2) "11" +===DONE=== From 82df4e263886a0da21a00c98189649287666ba5c Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sat, 13 Aug 2016 16:02:10 +0200 Subject: [PATCH 143/206] Fix #72278: getimagesize returning FALSE on valid jpg getimagesize() is rather strict about the length of the marker payload data, and fails if there are extraneous bytes before the next marker. Only a very special case reported in bug #13213 is catered to. libjpeg is rather resilient to such corrupted JPEG files, and raises a recoverable error in this case. Other image processors also accept such JPEG files, so we adapt getimagesize() to skip (but warn about) such extraneous bytes. --- NEWS | 1 + ext/standard/image.c | 42 +++++++++---------------- ext/standard/tests/image/bug13213.phpt | 3 +- ext/standard/tests/image/bug72278.jpg | Bin 0 -> 12177 bytes ext/standard/tests/image/bug72278.phpt | 33 +++++++++++++++++++ 5 files changed, 51 insertions(+), 28 deletions(-) create mode 100644 ext/standard/tests/image/bug72278.jpg create mode 100644 ext/standard/tests/image/bug72278.phpt diff --git a/NEWS b/NEWS index 7bf6fbf3f718d..d91bdda54e54e 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,7 @@ PHP NEWS - Standard: . Fixed bug #72823 (strtr out-of-bound access). (cmb) + . Fixed bug #72278 (getimagesize returning FALSE on valid jpg). (cmb) 18 Aug 2016, PHP 5.6.25 diff --git a/ext/standard/image.c b/ext/standard/image.c index f20482bde487d..d58d543abdcae 100644 --- a/ext/standard/image.c +++ b/ext/standard/image.c @@ -374,48 +374,36 @@ static unsigned short php_read2(php_stream * stream TSRMLS_DC) /* {{{ php_next_marker * get next marker byte from file */ -static unsigned int php_next_marker(php_stream * stream, int last_marker, int comment_correction, int ff_read TSRMLS_DC) +static unsigned int php_next_marker(php_stream * stream, int last_marker, int ff_read TSRMLS_DC) { int a=0, marker; /* get marker byte, swallowing possible padding */ - if (last_marker==M_COM && comment_correction) { - /* some software does not count the length bytes of COM section */ - /* one company doing so is very much envolved in JPEG... so we accept too */ - /* by the way: some of those companies changed their code now... */ - comment_correction = 2; - } else { - last_marker = 0; - comment_correction = 0; - } - if (ff_read) { - a = 1; /* already read 0xff in filetype detection */ + if (!ff_read) { + size_t extraneous = 0; + + while ((marker = php_stream_getc(stream)) != 0xff) { + if (marker == EOF) { + return M_EOI;/* we hit EOF */ + } + extraneous++; + } + if (extraneous) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "corrupt JPEG data: %zu extraneous bytes before marker", extraneous); + } } + a = 1; do { if ((marker = php_stream_getc(stream)) == EOF) { return M_EOI;/* we hit EOF */ } - if (last_marker==M_COM && comment_correction>0) - { - if (marker != 0xFF) - { - marker = 0xff; - comment_correction--; - } else { - last_marker = M_PSEUDO; /* stop skipping non 0xff for M_COM */ - } - } a++; } while (marker == 0xff); if (a < 2) { return M_EOI; /* at least one 0xff is needed before marker code */ } - if ( last_marker==M_COM && comment_correction) - { - return M_EOI; /* ah illegal: char after COM section not 0xFF */ - } return (unsigned int)marker; } /* }}} */ @@ -478,7 +466,7 @@ static struct gfxinfo *php_handle_jpeg (php_stream * stream, zval *info TSRMLS_D unsigned short length, ff_read=1; for (;;) { - marker = php_next_marker(stream, marker, 1, ff_read TSRMLS_CC); + marker = php_next_marker(stream, marker, ff_read TSRMLS_CC); ff_read = 0; switch (marker) { case M_SOF0: diff --git a/ext/standard/tests/image/bug13213.phpt b/ext/standard/tests/image/bug13213.phpt index c97b7016b4162..d6b82a4f0cb18 100644 --- a/ext/standard/tests/image/bug13213.phpt +++ b/ext/standard/tests/image/bug13213.phpt @@ -4,7 +4,8 @@ Bug #13213 (GetImageSize and wrong JPEG Comments) ---EXPECT-- +--EXPECTF-- +Warning: getimagesize(): corrupt JPEG data: 2 extraneous bytes before marker in %s%ebug13213.php on line %d array(7) { [0]=> int(1) diff --git a/ext/standard/tests/image/bug72278.jpg b/ext/standard/tests/image/bug72278.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2ef32410cf2e7e018cc1bb1f7d1bb90fafb08a71 GIT binary patch literal 12177 zcmeHNcUV)&7N2`>dO`^ap#=!NLqZK8(n|!FDky8i5Fi2pLnvZLL`BywB3KYv6m@ac z6_m9iifvKs{ednD>ME{cU-RaIqOYvHw|~5UUgrDmonOv9Gxwa|%-lKO3%15$8c{jbQz96k-8_0vlM*gqJhK+OXaVFBbY)r@ROS zL?}B1FX?O;Rys@e0MKr7x+9*lA{2C1i&&fAi&>zXJabIS;>H!pIA{q{3R<0I?&s6C`UhH2S~w}tl&MjVvK(8 zKh?@>$|HbD0ac(1Lzn<%A{Y}<-UP*fL?Dug1QLlzB9loJ8k0_=Qfb;6nhd5MM_*r; zqpM?JY;9s-XknzIYwBcXVPk9WU~ga|aOK;%THD#%A!IU{My0XobhaH=m&>*LZ;P@8 zsRjTcBK-w79xsqmXc(D7rO`D3ieMN@z=%WwWFDD;(@kI!wM+#5Bvy11*>noqdCu}p z6tjR`N3~%-L~C(e%jm6xNm<` z^RbrWCt6RQI(^~drOQ{YUb}vy^X|Q0yY4^e?s@p^_vbJAUcP$$<}CsT_EY&6e<1yE z7zr4GjQfM2`M9%80?|Z3((;ccCrx3QI?ti71D0>vb(Cu664R?aN#0K5n7ejbJi}e; z_vk-!sOT?wH0aQvKgt_`fgy0(U`*f(-foyp1JCq%_WhKM490Rq3e+;I_7Sr)1ZK&DI~j|mOn!4CVaAuNi=`^RTP{$h%=A@)g;*{3*ojN$EJow@}!b{h}$7H&&bV`Lfi*2J5!RB0|0@F%M}uF8pI9|GvskGfe?Gb9iNff zj~T%@p45-o(KuE}3ZR_;1ZHJVl}l686g+FO4Nu_dDddGo@-rj~g+o-5I6X<8%nQuQ z%ubR`1p_YQjer(TEe~?+F7R}BcW`!u><^Z&J{;8gI>3i^K;wCI|BxY^v!7+3+kTd1 z!M#ifX~C9#mQ7jl?nO6azQ4B!Cxi9?T;L{~dp~&`fa>~!oca%!RjyRu# zWk`iV%|8cUyw4GT-ynCqAW2G6Zia$~lPb>2$jX)TaDM zAh75F8@mBMK?X-Hf*KF-WtU+5U|`bscLhHRctMxqw|@BXmLpB&;V>{JjwjBQ;}I?_ z1pGz>G@t?ZHa%bj%;5gz0Gxpb@CJS$7>odsAP$TH;{eC05}RxfHUAcxD0NB4$uW2fnM+uyo2!v8Bs%6h#q2$SRi(YGa^KW zBf&@n5`&CECL*bb49P{NBXf~O$O@za*@V;~yO90JQREcTj$B7NksjoCSIK`)~n=p(cb0~j6SU?!LYCd2}< zNGuUc!Q|LXtQ0H5sk32VhJVjb9H>tj4+BICQKpBBrGOW5VjH; z2rYz*gib;);R8{P$R*kly@(>>XksccpIAaHBi0i45|0xv6T65nNhA`7WJU5Ig^|XP zCX=R-7L(SKc9M>e+DZ3FeK1DVBioUE$dTkEvVvSfUQ6CVK1{wq?jpaY&?&|gXG#bq zks_lMQOYRWD2FH)C=V#_sG3v@suwkqnoONaT}rK?Hc`(}yQuGIOqvzVhZaYhOq)Y1 zr`6Mr({9n8)9G|mx+guFE~U?=m(zcwpQLxv-!QZowv0f=SVk^m31bW62;(~Axtf}q zrJA2wqMAZ&iCUf7F||8tuhm)Vj_M-yWc693Ylc8uf1L6ZCEM zqxJLkH|QVNe{8@u@HP+|lp5?dxWPraw%i!*H11~ZS#F=9kzuG|w&7aCV}_57I7WU( zlZ{px9Wv@MW*HARmKv`zK5YDur_J-{W$?;*ExcY6u1T0luE{2oHj{UzR;Hs&i%fT# z-ZrC|3C&W>R+%-M^_m--k2IfdzTNzW1=T`mk!G>RqSfM+rIlrZ<$TLV%Wf-OE0I;9 z)pn~})@s(i)>EvjtuNV-Y=k!HHtTK9+oHB^wrRGNw&(0nJ9j&&-Fmxrd!oIkz0AJa z{;C7R!QUazVY@@8BgZkqvBh0j2?!C>sdzjTQ$*`JX_k2u!l6*G#bPVSW zpE$f~c!#fvZ<24d?_EDLzhu8!zX$#{{*(Q8_&*8Y2gn2V2D}RN3Y-ymBnS%%4Jr+4 z3)TuA6U@7w9q4A#IW$N zVkg9Ii+vdv5Vth$<|yk?xucrnHR8v{*Tug|2ufIy&@tL+^o-GG#^{fcj@g$;PK-~i zP3-$N_}kUrc8zr#TQc^_IID35<4%p&AD=P)-~^2cNfY)=Bu-42xNYM5q{yV|q`pa_ zN$V!{iUY-K#E+8wl2;}7NPHwKBo9)2QdXpNr~0I>OzlbYO)E=#EDe-aNS{p(o4j%I ztMth9E$PaPgp8e;l+1~l`(;|PbXiN5QC2}#d$wJ6Np{B+uPLji^vc8KwK+)6xSV|o zHjJds=33{@%k9h?o>!UoIzK*tPXV()R&aKz?bL-+9~6cZem{*cO+2l6y2rJQ z&)75*nK@}@^DMJj#k0C*htA$Qhc+jD&M!s$q7_9i<|fQ-DmE;hU3_m|=)CPE>Lv1$ ztMk3*Z(KlFAYIV5&}HG;g&#_jOHVK2FDhH~ezAD*>F)&Jm4ByPlCq?2sr%9m%Sg*) z%dRZIth)mARH}Tti!vyQZT&qI}<4^R>&?zOP8D zxLg@fxpN(N-NJRR)+evOu)%Lb{YJx$i#EQkl2%>Y6uPOQ+OoQAGih_)=KD4AHLc$Z zzpty+uU%C8#}?U^j;%3UTk1UO>b7yWE!~c8&)wd$W9*LeKLq`-uil}4(@xILML&Wc zbANoeYvQgeyTf-k?-A~)|HTwYqp3&lHBV^1d2IBtOD)kYZO6lppF9zA;#jMH z>*13=Cl8$RI<^0_@O0xD_cIM=-Old)#qF29ZSHLi=RD5sJMVeEseM@cp$onjj$RD9 zc;b@i(wWQOTyDQI>dLjNW3P5xOTN~9J>&Yb8+kY0-JE@kc&qfb=IydO+&k5Ov-#W3 z4)>0Ook5*v@5bJ}c~5-r(XTnbzV9l&uXexef$@X7Zs+a;Js~~kAAb9=>rwWjcaKYc zWB#`8iS?78p87pK+dI0q>zVwS^7qBh^`38e;rgPvFRJg(%gmSWUX{Mqd%g9I@J;L6 zgtrgg<-aGtFaN{lkERddA8si#l}c4Cpo#@lv4AQTP{jhOSU?pEsA2*9KtOdapgI>& zoeQYW1ytt(s&fI=xxoMDxq$LFVBepYl7nZdxH$5GFhDdC&v}4FlMDY_Kmp1{6@Y*z zqbNTBQh$vnb|ChMy(+OomDut1RFxqUJ8Fkc$@ofE!+((Ypi&t+$>i&qH7W*G460_x c&?#R-WvHpvk!l^O){$x*{XcytG?dr>4(ptOeE +--FILE-- + +===DONE=== +--EXPECTF-- + +Warning: getimagesize(): corrupt JPEG data: 3 extraneous bytes before marker in %s%ebug72278.php on line %d +array(7) { + [0]=> + int(300) + [1]=> + int(300) + [2]=> + int(2) + [3]=> + string(24) "width="300" height="300"" + ["bits"]=> + int(8) + ["channels"]=> + int(3) + ["mime"]=> + string(10) "image/jpeg" +} +===DONE=== From dfadc5a427b548cab2b7c037c05f65684e08a248 Mon Sep 17 00:00:00 2001 From: Benedict Singer Date: Wed, 10 Aug 2016 15:03:12 +0100 Subject: [PATCH 144/206] Bug 70195 Many FTP-S servers now require FTP clients to re-use the SSL session from the control connection on the data connection, to prove that the same entity controls both connections. This patch updates PHP's FTP-S client code to allow that possibility. --- NEWS | 4 ++++ ext/ftp/ftp.c | 42 +++++++++++++++++++++++++----------------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/NEWS b/NEWS index d91bdda54e54e..ccafb639910d3 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2016, PHP 5.6.26 +- FTP: + . Fixed bug #70195 (Cannot upload file using ftp_put to FTPES with + require_ssl_reuse). (Benedict Singer) + - MSSQL: . Fixed bug #72039 (Use of uninitialised value on mssql_guid_string). (Kalle) diff --git a/ext/ftp/ftp.c b/ext/ftp/ftp.c index f0bfb9459c925..d2f726d038f09 100644 --- a/ext/ftp/ftp.c +++ b/ext/ftp/ftp.c @@ -290,6 +290,9 @@ ftp_login(ftpbuf_t *ftp, const char *user, const char *pass TSRMLS_DC) #endif SSL_CTX_set_options(ctx, ssl_ctx_options); + /* allow SSL to re-use sessions */ + SSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_BOTH); + ftp->ssl_handle = SSL_new(ctx); if (ftp->ssl_handle == NULL) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "failed to create the SSL handle"); @@ -1495,7 +1498,8 @@ data_accept(databuf_t *data, ftpbuf_t *ftp TSRMLS_DC) #if HAVE_OPENSSL_EXT SSL_CTX *ctx; - long ssl_ctx_options = SSL_OP_ALL; + SSL_SESSION *session; + int result; #endif if (data->fd != -1) { @@ -1516,31 +1520,40 @@ data_accept(databuf_t *data, ftpbuf_t *ftp TSRMLS_DC) /* now enable ssl if we need to */ if (ftp->use_ssl && ftp->use_ssl_for_data) { - ctx = SSL_CTX_new(SSLv23_client_method()); + ctx = SSL_get_SSL_CTX(ftp->ssl_handle); if (ctx == NULL) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "data_accept: failed to create the SSL context"); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "data_accept: failed to retreive the existing SSL context"); return 0; } -#if OPENSSL_VERSION_NUMBER >= 0x0090605fL - ssl_ctx_options &= ~SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS; -#endif - SSL_CTX_set_options(ctx, ssl_ctx_options); - data->ssl_handle = SSL_new(ctx); if (data->ssl_handle == NULL) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "data_accept: failed to create the SSL handle"); - SSL_CTX_free(ctx); return 0; } - SSL_set_fd(data->ssl_handle, data->fd); if (ftp->old_ssl) { SSL_copy_session_id(data->ssl_handle, ftp->ssl_handle); } + /* get the session from the control connection so we can re-use it */ + session = SSL_get_session(ftp->ssl_handle); + if (session == NULL) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "data_accept: failed to retreive the existing SSL session"); + SSL_free(data->ssl_handle); + return 0; + } + + /* and set it on the data connection */ + result = SSL_set_session(data->ssl_handle, session); + if (result == 0) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "data_accept: failed to set the existing SSL session"); + SSL_free(data->ssl_handle); + return 0; + } + if (SSL_connect(data->ssl_handle) <= 0) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "data_accept: SSL/TLS handshake failed"); SSL_shutdown(data->ssl_handle); @@ -1571,10 +1584,7 @@ data_close(ftpbuf_t *ftp, databuf_t *data) if (data->listener != -1) { #if HAVE_OPENSSL_EXT if (data->ssl_active) { - - ctx = SSL_get_SSL_CTX(data->ssl_handle); - SSL_CTX_free(ctx); - + /* don't free the data context, it's the same as the control */ SSL_shutdown(data->ssl_handle); SSL_free(data->ssl_handle); data->ssl_active = 0; @@ -1585,9 +1595,7 @@ data_close(ftpbuf_t *ftp, databuf_t *data) if (data->fd != -1) { #if HAVE_OPENSSL_EXT if (data->ssl_active) { - ctx = SSL_get_SSL_CTX(data->ssl_handle); - SSL_CTX_free(ctx); - + /* don't free the data context, it's the same as the control */ SSL_shutdown(data->ssl_handle); SSL_free(data->ssl_handle); data->ssl_active = 0; From 9f1d962ed6057a3996f1b5aa82467a3172e41e8f Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Sun, 14 Aug 2016 13:52:59 +0100 Subject: [PATCH 145/206] Fixed bug #72787 (json_decode reads out of bounds) --- NEWS | 3 +++ ext/json/json.c | 6 ++++++ ext/json/tests/bug72787.phpt | 15 +++++++++++++++ 3 files changed, 24 insertions(+) create mode 100644 ext/json/tests/bug72787.phpt diff --git a/NEWS b/NEWS index ccafb639910d3..6a4fa5001e6bd 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,9 @@ PHP NEWS . Fixed bug #70195 (Cannot upload file using ftp_put to FTPES with require_ssl_reuse). (Benedict Singer) +- JSON: + . Fixed bug #72787 (json_decode reads out of bounds). (Jakub Zelenka) + - MSSQL: . Fixed bug #72039 (Use of uninitialised value on mssql_guid_string). (Kalle) diff --git a/ext/json/json.c b/ext/json/json.c index 634d6e55f5a40..8c4d20fb2abf0 100644 --- a/ext/json/json.c +++ b/ext/json/json.c @@ -704,6 +704,12 @@ PHP_JSON_API void php_json_decode_ex(zval *return_value, char *str, int str_len, RETURN_NULL(); } + if (depth > INT_MAX) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Depth must be lower than %d", INT_MAX); + efree(utf16); + RETURN_NULL(); + } + ALLOC_INIT_ZVAL(z); jp = new_JSON_parser(depth); if (parse_JSON_ex(jp, z, utf16, utf16_len, options TSRMLS_CC)) { diff --git a/ext/json/tests/bug72787.phpt b/ext/json/tests/bug72787.phpt new file mode 100644 index 0000000000000..c9820faa9fa2b --- /dev/null +++ b/ext/json/tests/bug72787.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug #72787 (json_decode reads out of bounds) +--SKIPIF-- + + +--FILE-- + +--EXPECTF-- + +Warning: json_decode(): Depth must be lower than %d in %s on line %d +NULL From 977cbc2fff1a3ec9d29a2c0904fae01bfd64c6c2 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Sun, 14 Aug 2016 19:33:24 +0200 Subject: [PATCH 146/206] Fixed bug #72759 Regression in pgo_pgsql This is caused by the fix for #72633. Namely, lastval() throws an error, if no nextval() was called earlier in the same session. This is by all means correct so far, however inside a transaction it leads to an abort. This is the opposite to MySQL's last_insert_id() which doesn't produce any error no matter something were autoincremented or not. To avoid existing scripts breakage in the stable branches, the previous patch is extended to revert the transaction to the state before the lastval() call in case of error. It is done only for 5.6 and 7.0 to retain BC. For 7.1+, the clean behavior should persist. This is already the current behavior, when the sequence name is explicitly passed. So there's no reason to obfuscate the errors where this breakage is valid. --- ext/pdo_pgsql/pgsql_driver.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index 5b78bcc438153..b27753b47f61b 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -360,8 +360,15 @@ static char *pdo_pgsql_last_insert_id(pdo_dbh_t *dbh, const char *name, unsigned char *id = NULL; PGresult *res; ExecStatusType status; + zend_bool savepoint = 0; if (name == NULL) { + savepoint = pgsql_handle_in_transaction(dbh); + + if (savepoint) { + /* The savepoint is overwritten every time. */ + (void)PQexec(H->server, "SAVEPOINT _php_lastid_savepoint"); + } res = PQexec(H->server, "SELECT LASTVAL()"); } else { const char *q[1]; @@ -375,10 +382,17 @@ static char *pdo_pgsql_last_insert_id(pdo_dbh_t *dbh, const char *name, unsigned id = estrdup((char *)PQgetvalue(res, 0, 0)); *len = PQgetlength(res, 0, 0); } else { + if (savepoint) { + (void)PQexec(H->server, "ROLLBACK TO SAVEPOINT _php_lastid_savepoint"); + } pdo_pgsql_error(dbh, status, pdo_pgsql_sqlstate(res)); *len = spprintf(&id, 0, "%ld", (long) H->pgoid); } + if (savepoint) { + (void)PQexec(H->server, "RELEASE SAVEPOINT _php_lastid_savepoint"); + } + if (res) { PQclear(res); } From 5c7f802e7e56ea743d1d7575951cea8ad6f3c018 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Sun, 14 Aug 2016 20:50:23 +0200 Subject: [PATCH 147/206] update NEWS --- NEWS | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 6a4fa5001e6bd..bf6a294132fb7 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,11 @@ PHP NEWS . Fixed bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY returns false). (cmb) +- PDO_pgsql: + . Implemented FR #72633 (Postgres PDO lastInsertId() should work without + specifying a sequence). (Pablo Santiago Sánchez, Matteo) + . Fixed bug #72759 (Regression in pgo_pgsql). (Anatol) + - Standard: . Fixed bug #72823 (strtr out-of-bound access). (cmb) . Fixed bug #72278 (getimagesize returning FALSE on valid jpg). (cmb) @@ -89,8 +94,6 @@ PHP NEWS - PDO_pgsql: . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) - . Implemented FR #72633 (Postgres PDO lastInsertId() should work without - specifying a sequence). (Pablo Santiago Sánchez, Matteo) - Reflection: . Fixed bug #72222 (ReflectionClass::export doesn't handle array constants). From 4a4422740f917f46e0860024667042733f61152b Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Sun, 14 Aug 2016 22:35:01 +0200 Subject: [PATCH 148/206] put missing prototype and fix ts build --- ext/pdo_pgsql/pgsql_driver.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index b27753b47f61b..af4e6d7e600d4 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -44,6 +44,8 @@ #include "php_pdo_pgsql_int.h" #include "zend_exceptions.h" +static int pgsql_handle_in_transaction(pdo_dbh_t *dbh TSRMLS_DC); + static char * _pdo_pgsql_trim_message(const char *message, int persistent) { register int i = strlen(message)-1; @@ -363,7 +365,7 @@ static char *pdo_pgsql_last_insert_id(pdo_dbh_t *dbh, const char *name, unsigned zend_bool savepoint = 0; if (name == NULL) { - savepoint = pgsql_handle_in_transaction(dbh); + savepoint = pgsql_handle_in_transaction(dbh TSRMLS_CC); if (savepoint) { /* The savepoint is overwritten every time. */ From 1bb92d52121cf2635df163911216bf2958db4d34 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 17 Aug 2016 00:41:31 +0200 Subject: [PATCH 149/206] #72085: SEGV on unknown address zif_xml_parse We better make sure that the ZVALs we're accessing as arrays are indeed arrays. --- NEWS | 3 ++ ext/xml/tests/bug72085.phpt | 74 +++++++++++++++++++++++++++++++++++++ ext/xml/xml.c | 3 +- 3 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 ext/xml/tests/bug72085.phpt diff --git a/NEWS b/NEWS index bf6a294132fb7..30a17c1d057c6 100644 --- a/NEWS +++ b/NEWS @@ -25,6 +25,9 @@ PHP NEWS . Fixed bug #72823 (strtr out-of-bound access). (cmb) . Fixed bug #72278 (getimagesize returning FALSE on valid jpg). (cmb) +- XML: + . Fixed bug #72085 (SEGV on unknown address zif_xml_parse). (cmb) + 18 Aug 2016, PHP 5.6.25 - Core: diff --git a/ext/xml/tests/bug72085.phpt b/ext/xml/tests/bug72085.phpt new file mode 100644 index 0000000000000..2989289cb1c38 --- /dev/null +++ b/ext/xml/tests/bug72085.phpt @@ -0,0 +1,74 @@ +--TEST-- +Bug #72085 (SEGV on unknown address zif_xml_parse) +--SKIPIF-- + +--FILE-- +", 10)); +?> +===DONE=== +--EXPECTF-- +Warning: Invalid callback exception 'Exception' in %s%ebug72085.php:%d +Stack trace: +#0 {main}, no array or string given in %s%ebug72085.php on line %d + +Warning: xml_parse(): Unable to call handler in %s%ebug72085.php on line %d + +Warning: Invalid callback exception 'Exception' in %s%ebug72085.php:%d +Stack trace: +#0 {main}, no array or string given in %s%ebug72085.php on line %d + +Warning: xml_parse(): Unable to call handler in %s%ebug72085.php on line %d + +Warning: Invalid callback exception 'Exception' in %s%ebug72085.php:%d +Stack trace: +#0 {main}, no array or string given in %s%ebug72085.php on line %d + +Warning: xml_parse(): Unable to call handler in %s%ebug72085.php on line %d + +Warning: Invalid callback exception 'Exception' in %s%ebug72085.php:%d +Stack trace: +#0 {main}, no array or string given in %s%ebug72085.php on line %d + +Warning: xml_parse(): Unable to call handler in %s%ebug72085.php on line %d + +Warning: Invalid callback exception 'Exception' in %s%ebug72085.php:%d +Stack trace: +#0 {main}, no array or string given in %s%ebug72085.php on line %d + +Warning: xml_parse(): Unable to call handler in %s%ebug72085.php on line %d + +Warning: Invalid callback exception 'Exception' in %s%ebug72085.php:%d +Stack trace: +#0 {main}, no array or string given in %s%ebug72085.php on line %d + +Warning: xml_parse(): Unable to call handler in %s%ebug72085.php on line %d + +Warning: Invalid callback exception 'Exception' in %s%ebug72085.php:%d +Stack trace: +#0 {main}, no array or string given in %s%ebug72085.php on line %d + +Warning: xml_parse(): Unable to call handler in %s%ebug72085.php on line %d + +Warning: Invalid callback exception 'Exception' in %s%ebug72085.php:%d +Stack trace: +#0 {main}, no array or string given in %s%ebug72085.php on line %d + +Warning: xml_parse(): Unable to call handler in %s%ebug72085.php on line %d + +Warning: Invalid callback exception 'Exception' in %s%ebug72085.php:%d +Stack trace: +#0 {main}, no array or string given in %s%ebug72085.php on line %d + +Warning: xml_parse(): Unable to call handler in %s%ebug72085.php on line %d + +Warning: Invalid callback exception 'Exception' in %s%ebug72085.php:%d +Stack trace: +#0 {main}, no array or string given in %s%ebug72085.php on line %d + +Warning: xml_parse(): Unable to call handler in %s%ebug72085.php on line %d +===DONE=== diff --git a/ext/xml/xml.c b/ext/xml/xml.c index 0850f0c605d28..9eba47be26779 100644 --- a/ext/xml/xml.c +++ b/ext/xml/xml.c @@ -535,7 +535,8 @@ static zval *xml_call_handler(xml_parser *parser, zval *handler, zend_function * if (Z_TYPE_P(handler) == IS_STRING) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to call handler %s()", Z_STRVAL_P(handler)); - } else if (zend_hash_index_find(Z_ARRVAL_P(handler), 0, (void **) &obj) == SUCCESS && + } else if (Z_TYPE_P(handler) == IS_ARRAY && + zend_hash_index_find(Z_ARRVAL_P(handler), 0, (void **) &obj) == SUCCESS && zend_hash_index_find(Z_ARRVAL_P(handler), 1, (void **) &method) == SUCCESS && Z_TYPE_PP(obj) == IS_OBJECT && Z_TYPE_PP(method) == IS_STRING) { From 448c9be157f4147e121f1a2a524536c75c9c6059 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 2 Aug 2016 01:08:42 -0700 Subject: [PATCH 150/206] Fix bug #72663 - destroy broken object when unserializing --- ext/standard/tests/strings/bug72663.phpt | 26 ++++++++ ext/standard/tests/strings/bug72663_2.phpt | 17 ++++++ ext/standard/var_unserializer.c | 70 ++++++++++++---------- ext/standard/var_unserializer.re | 5 +- 4 files changed, 84 insertions(+), 34 deletions(-) create mode 100644 ext/standard/tests/strings/bug72663.phpt create mode 100644 ext/standard/tests/strings/bug72663_2.phpt diff --git a/ext/standard/tests/strings/bug72663.phpt b/ext/standard/tests/strings/bug72663.phpt new file mode 100644 index 0000000000000..e61f939d4dbef --- /dev/null +++ b/ext/standard/tests/strings/bug72663.phpt @@ -0,0 +1,26 @@ +--TEST-- +Bug #72663: Create an Unexpected Object and Don't Invoke __wakeup() in Deserialization +--FILE-- +data); + } + function unserialize($data) { + $this->data = unserialize($data); + } +} + +$inner = 'a:1:{i:0;O:9:"Exception":2:{s:7:"'."\0".'*'."\0".'file";R:4;}'; +$exploit = 'a:2:{i:0;C:3:"obj":'.strlen($inner).':{'.$inner.'}i:1;R:4;}'; + +$data = unserialize($exploit); +echo $data[1]; +?> +DONE +--EXPECTF-- +Notice: unserialize(): Unexpected end of serialized data in %sbug72663.php on line %d + +Notice: unserialize(): Error at offset 46 of 47 bytes in %sbug72663.php on line %d +DONE \ No newline at end of file diff --git a/ext/standard/tests/strings/bug72663_2.phpt b/ext/standard/tests/strings/bug72663_2.phpt new file mode 100644 index 0000000000000..ac605e9fd2647 --- /dev/null +++ b/ext/standard/tests/strings/bug72663_2.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #72663: Create an Unexpected Object and Don't Invoke __wakeup() in Deserialization +--FILE-- + +DONE +--EXPECTF-- +Notice: session_decode(): Unexpected end of serialized data in %sbug72663_2.php on line %d +array(0) { +} +DONE \ No newline at end of file diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index 1e45b03fcc644..e4ddecff66cd7 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 */ +/* Generated by re2c 0.13.7.5 */ #line 1 "ext/standard/var_unserializer.re" /* +----------------------------------------------------------------------+ @@ -408,7 +408,7 @@ static inline long object_common1(UNSERIALIZE_PARAMETER, zend_class_entry *ce) elements = parse_iv2((*p) + 2, p); (*p) += 2; - + if (ce->serialize == NULL) { object_init_ex(*rval, ce); } else { @@ -434,6 +434,9 @@ static inline int object_common2(UNSERIALIZE_PARAMETER, long elements) } if (!process_nested_data(UNSERIALIZE_PASSTHRU, Z_OBJPROP_PP(rval), elements, 1)) { + /* We've got partially constructed object on our hands here. Wipe it */ + zend_hash_clean(Z_OBJPROP_PP(rval)); + ZVAL_NULL(*rval); return 0; } @@ -482,7 +485,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) -#line 486 "ext/standard/var_unserializer.c" +#line 489 "ext/standard/var_unserializer.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -542,9 +545,9 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *(YYMARKER = ++YYCURSOR); if (yych == ':') goto yy95; yy3: -#line 851 "ext/standard/var_unserializer.re" +#line 854 "ext/standard/var_unserializer.re" { return 0; } -#line 548 "ext/standard/var_unserializer.c" +#line 551 "ext/standard/var_unserializer.c" yy4: yych = *(YYMARKER = ++YYCURSOR); if (yych == ':') goto yy89; @@ -587,13 +590,13 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) goto yy3; yy14: ++YYCURSOR; -#line 845 "ext/standard/var_unserializer.re" +#line 848 "ext/standard/var_unserializer.re" { /* this is the case where we have less data than planned */ php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unexpected end of serialized data"); return 0; /* not sure if it should be 0 or 1 here? */ } -#line 597 "ext/standard/var_unserializer.c" +#line 600 "ext/standard/var_unserializer.c" yy16: yych = *++YYCURSOR; goto yy3; @@ -619,11 +622,12 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) if (yybm[0+yych] & 128) { goto yy20; } - if (yych != ':') goto yy18; + if (yych <= '/') goto yy18; + if (yych >= ';') goto yy18; yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 698 "ext/standard/var_unserializer.re" +#line 701 "ext/standard/var_unserializer.re" { size_t len, len2, len3, maxlen; long elements; @@ -770,7 +774,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) return object_common2(UNSERIALIZE_PASSTHRU, elements); } -#line 774 "ext/standard/var_unserializer.c" +#line 778 "ext/standard/var_unserializer.c" yy25: yych = *++YYCURSOR; if (yych <= ',') { @@ -795,7 +799,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 689 "ext/standard/var_unserializer.re" +#line 692 "ext/standard/var_unserializer.re" { if (!var_hash) return 0; @@ -804,7 +808,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) return object_common2(UNSERIALIZE_PASSTHRU, object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR)); } -#line 808 "ext/standard/var_unserializer.c" +#line 812 "ext/standard/var_unserializer.c" yy32: yych = *++YYCURSOR; if (yych == '+') goto yy33; @@ -825,7 +829,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != '{') goto yy18; ++YYCURSOR; -#line 668 "ext/standard/var_unserializer.re" +#line 671 "ext/standard/var_unserializer.re" { long elements = parse_iv(start + 2); /* use iv() not uiv() in order to check data range */ @@ -846,7 +850,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) return finish_nested_data(UNSERIALIZE_PASSTHRU); } -#line 850 "ext/standard/var_unserializer.c" +#line 854 "ext/standard/var_unserializer.c" yy39: yych = *++YYCURSOR; if (yych == '+') goto yy40; @@ -867,7 +871,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 633 "ext/standard/var_unserializer.re" +#line 636 "ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -902,7 +906,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) ZVAL_STRINGL(*rval, str, len, 0); return 1; } -#line 906 "ext/standard/var_unserializer.c" +#line 910 "ext/standard/var_unserializer.c" yy46: yych = *++YYCURSOR; if (yych == '+') goto yy47; @@ -923,7 +927,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 600 "ext/standard/var_unserializer.re" +#line 603 "ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -956,7 +960,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) ZVAL_STRINGL(*rval, str, len, 1); return 1; } -#line 960 "ext/standard/var_unserializer.c" +#line 964 "ext/standard/var_unserializer.c" yy53: yych = *++YYCURSOR; if (yych <= '/') { @@ -1044,7 +1048,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) } yy63: ++YYCURSOR; -#line 590 "ext/standard/var_unserializer.re" +#line 593 "ext/standard/var_unserializer.re" { #if SIZEOF_LONG == 4 use_double: @@ -1054,7 +1058,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) ZVAL_DOUBLE(*rval, zend_strtod((const char *)start + 2, NULL)); return 1; } -#line 1058 "ext/standard/var_unserializer.c" +#line 1062 "ext/standard/var_unserializer.c" yy65: yych = *++YYCURSOR; if (yych <= ',') { @@ -1113,7 +1117,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != ';') goto yy18; ++YYCURSOR; -#line 575 "ext/standard/var_unserializer.re" +#line 578 "ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); @@ -1128,7 +1132,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) return 1; } -#line 1132 "ext/standard/var_unserializer.c" +#line 1136 "ext/standard/var_unserializer.c" yy76: yych = *++YYCURSOR; if (yych == 'N') goto yy73; @@ -1155,7 +1159,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) if (yych <= '9') goto yy79; if (yych != ';') goto yy18; ++YYCURSOR; -#line 548 "ext/standard/var_unserializer.re" +#line 551 "ext/standard/var_unserializer.re" { #if SIZEOF_LONG == 4 int digits = YYCURSOR - start - 3; @@ -1182,7 +1186,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) ZVAL_LONG(*rval, parse_iv(start + 2)); return 1; } -#line 1186 "ext/standard/var_unserializer.c" +#line 1190 "ext/standard/var_unserializer.c" yy83: yych = *++YYCURSOR; if (yych <= '/') goto yy18; @@ -1190,24 +1194,24 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != ';') goto yy18; ++YYCURSOR; -#line 541 "ext/standard/var_unserializer.re" +#line 544 "ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_BOOL(*rval, parse_iv(start + 2)); return 1; } -#line 1201 "ext/standard/var_unserializer.c" +#line 1205 "ext/standard/var_unserializer.c" yy87: ++YYCURSOR; -#line 534 "ext/standard/var_unserializer.re" +#line 537 "ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_NULL(*rval); return 1; } -#line 1211 "ext/standard/var_unserializer.c" +#line 1215 "ext/standard/var_unserializer.c" yy89: yych = *++YYCURSOR; if (yych <= ',') { @@ -1230,7 +1234,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) if (yych <= '9') goto yy91; if (yych != ';') goto yy18; ++YYCURSOR; -#line 511 "ext/standard/var_unserializer.re" +#line 514 "ext/standard/var_unserializer.re" { long id; @@ -1253,7 +1257,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) return 1; } -#line 1257 "ext/standard/var_unserializer.c" +#line 1261 "ext/standard/var_unserializer.c" yy95: yych = *++YYCURSOR; if (yych <= ',') { @@ -1276,7 +1280,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) if (yych <= '9') goto yy97; if (yych != ';') goto yy18; ++YYCURSOR; -#line 490 "ext/standard/var_unserializer.re" +#line 493 "ext/standard/var_unserializer.re" { long id; @@ -1297,9 +1301,9 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) return 1; } -#line 1301 "ext/standard/var_unserializer.c" +#line 1305 "ext/standard/var_unserializer.c" } -#line 853 "ext/standard/var_unserializer.re" +#line 856 "ext/standard/var_unserializer.re" return 0; diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re index d1d4ef98e4790..c1c18c939116b 100644 --- a/ext/standard/var_unserializer.re +++ b/ext/standard/var_unserializer.re @@ -412,7 +412,7 @@ static inline long object_common1(UNSERIALIZE_PARAMETER, zend_class_entry *ce) elements = parse_iv2((*p) + 2, p); (*p) += 2; - + if (ce->serialize == NULL) { object_init_ex(*rval, ce); } else { @@ -438,6 +438,9 @@ static inline int object_common2(UNSERIALIZE_PARAMETER, long elements) } if (!process_nested_data(UNSERIALIZE_PASSTHRU, Z_OBJPROP_PP(rval), elements, 1)) { + /* We've got partially constructed object on our hands here. Wipe it. */ + zend_hash_clean(Z_OBJPROP_PP(rval)); + ZVAL_NULL(*rval); return 0; } From 8763c6090d627d8bb0ee1d030c30e58f406be9ce Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Wed, 3 Aug 2016 00:30:12 -0700 Subject: [PATCH 151/206] Fix bug #72681 - consume data even if we're not storing them --- ext/session/session.c | 25 ++++++++++++++++++------- ext/session/tests/bug72681.phpt | 16 ++++++++++++++++ 2 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 ext/session/tests/bug72681.phpt diff --git a/ext/session/session.c b/ext/session/session.c index c668bb7b2a27c..b2d02361dfd13 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -924,11 +924,13 @@ PS_SERIALIZER_DECODE_FUNC(php_binary) /* {{{ */ int namelen; int has_value; php_unserialize_data_t var_hash; + int skip = 0; PHP_VAR_UNSERIALIZE_INIT(var_hash); for (p = val; p < endptr; ) { zval **tmp; + skip = 0; namelen = ((unsigned char)(*p)) & (~PS_BIN_UNDEF); if (namelen < 0 || namelen > PS_BIN_MAX || (p + namelen) >= endptr) { @@ -944,22 +946,25 @@ PS_SERIALIZER_DECODE_FUNC(php_binary) /* {{{ */ if (zend_hash_find(&EG(symbol_table), name, namelen + 1, (void **) &tmp) == SUCCESS) { if ((Z_TYPE_PP(tmp) == IS_ARRAY && Z_ARRVAL_PP(tmp) == &EG(symbol_table)) || *tmp == PS(http_session_vars)) { - efree(name); - continue; + skip = 1; } } if (has_value) { ALLOC_INIT_ZVAL(current); if (php_var_unserialize(¤t, (const unsigned char **) &p, (const unsigned char *) endptr, &var_hash TSRMLS_CC)) { - php_set_session_var(name, namelen, current, &var_hash TSRMLS_CC); + if (!skip) { + php_set_session_var(name, namelen, current, &var_hash TSRMLS_CC); + } } else { PHP_VAR_UNSERIALIZE_DESTROY(var_hash); return FAILURE; } var_push_dtor_no_addref(&var_hash, ¤t); } - PS_ADD_VARL(name, namelen); + if (!skip) { + PS_ADD_VARL(name, namelen); + } efree(name); } @@ -1016,6 +1021,7 @@ PS_SERIALIZER_DECODE_FUNC(php) /* {{{ */ int namelen; int has_value; php_unserialize_data_t var_hash; + int skip = 0; PHP_VAR_UNSERIALIZE_INIT(var_hash); @@ -1024,6 +1030,7 @@ PS_SERIALIZER_DECODE_FUNC(php) /* {{{ */ while (p < endptr) { zval **tmp; q = p; + skip = 0; while (*q != PS_DELIMITER) { if (++q >= endptr) goto break_outer_loop; } @@ -1040,14 +1047,16 @@ PS_SERIALIZER_DECODE_FUNC(php) /* {{{ */ if (zend_hash_find(&EG(symbol_table), name, namelen + 1, (void **) &tmp) == SUCCESS) { if ((Z_TYPE_PP(tmp) == IS_ARRAY && Z_ARRVAL_PP(tmp) == &EG(symbol_table)) || *tmp == PS(http_session_vars)) { - goto skip; + skip = 1; } } if (has_value) { ALLOC_INIT_ZVAL(current); if (php_var_unserialize(¤t, (const unsigned char **) &q, (const unsigned char *) endptr, &var_hash TSRMLS_CC)) { - php_set_session_var(name, namelen, current, &var_hash TSRMLS_CC); + if (!skip) { + php_set_session_var(name, namelen, current, &var_hash TSRMLS_CC); + } } else { var_push_dtor_no_addref(&var_hash, ¤t); efree(name); @@ -1056,7 +1065,9 @@ PS_SERIALIZER_DECODE_FUNC(php) /* {{{ */ } var_push_dtor_no_addref(&var_hash, ¤t); } - PS_ADD_VARL(name, namelen); + if (!skip) { + PS_ADD_VARL(name, namelen); + } skip: efree(name); diff --git a/ext/session/tests/bug72681.phpt b/ext/session/tests/bug72681.phpt new file mode 100644 index 0000000000000..ca38b07fc909e --- /dev/null +++ b/ext/session/tests/bug72681.phpt @@ -0,0 +1,16 @@ +--TEST-- +Bug #72681: PHP Session Data Injection Vulnerability +--SKIPIF-- + +--FILE-- + +--EXPECT-- +array(0) { +} From da316b50bdad5850a18b1146f712395093c8f570 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Wed, 3 Aug 2016 22:37:57 -0700 Subject: [PATCH 152/206] Fix bug #72708 - php_snmp_parse_oid integer overflow in memory allocation --- ext/snmp/snmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/snmp/snmp.c b/ext/snmp/snmp.c index b88cdcd14c8d7..d2c1b94bb8963 100644 --- a/ext/snmp/snmp.c +++ b/ext/snmp/snmp.c @@ -1032,7 +1032,7 @@ static int php_snmp_parse_oid(zval *object, int st, struct objid_query *objid_qu php_error_docref(NULL TSRMLS_CC, E_WARNING, "Got empty OID array"); return FALSE; } - objid_query->vars = (snmpobjarg *)emalloc(sizeof(snmpobjarg) * zend_hash_num_elements(Z_ARRVAL_PP(oid))); + objid_query->vars = (snmpobjarg *)safe_emalloc(sizeof(snmpobjarg), zend_hash_num_elements(Z_ARRVAL_PP(oid)), 0); if (objid_query->vars == NULL) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "emalloc() failed while parsing oid array: %s", strerror(errno)); efree(objid_query->vars); From f1a0b7d690a2e89e27ccf58c19fc64fb446015b9 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Thu, 4 Aug 2016 00:03:31 -0700 Subject: [PATCH 153/206] Update comment --- ext/standard/var_unserializer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index e4ddecff66cd7..1d459ae008202 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -434,7 +434,7 @@ static inline int object_common2(UNSERIALIZE_PARAMETER, long elements) } if (!process_nested_data(UNSERIALIZE_PASSTHRU, Z_OBJPROP_PP(rval), elements, 1)) { - /* We've got partially constructed object on our hands here. Wipe it */ + /* We've got partially constructed object on our hands here. Wipe it. */ zend_hash_clean(Z_OBJPROP_PP(rval)); ZVAL_NULL(*rval); return 0; From 426aeb2808955ee3d3f52e0cfb102834cdb836a5 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Thu, 4 Aug 2016 00:17:42 -0700 Subject: [PATCH 154/206] Fix bug #72749: wddx_deserialize allows illegal memory access --- ext/wddx/tests/bug72749.phpt | 34 ++++++++++++++++++++++++++++++++++ ext/wddx/wddx.c | 20 ++++++++++++++------ 2 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 ext/wddx/tests/bug72749.phpt diff --git a/ext/wddx/tests/bug72749.phpt b/ext/wddx/tests/bug72749.phpt new file mode 100644 index 0000000000000..ee17d0f229567 --- /dev/null +++ b/ext/wddx/tests/bug72749.phpt @@ -0,0 +1,34 @@ +--TEST-- +Bug #72749: wddx_deserialize allows illegal memory access +--SKIPIF-- + +--FILE-- + + + +
+ + + + 2\r2004-09-10T05:52:49+00 + + + + +XML; + +$array = wddx_deserialize($xml); +var_dump($array); +?> +--EXPECT-- +array(1) { + ["aDateTime3"]=> + string(24) "2 +2004-09-10T05:52:49+00" +} diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index cde3e074064f5..faadbfe1dfe3d 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -1123,18 +1123,26 @@ static void php_wddx_process_data(void *user_data, const XML_Char *s, int len) case ST_DATETIME: { char *tmp; - tmp = emalloc(len + 1); - memcpy(tmp, s, len); + if (Z_TYPE_P(ent->data) == IS_STRING) { + tmp = safe_emalloc(Z_STRLEN_P(ent->data), 1, (size_t)len + 1); + memcpy(tmp, Z_STRVAL_P(ent->data), Z_STRLEN_P(ent->data)); + memcpy(tmp + Z_STRLEN_P(ent->data), s, len); + len += Z_STRLEN_P(ent->data); + efree(Z_STRVAL_P(ent->data)); + Z_TYPE_P(ent->data) = IS_LONG; + } else { + tmp = emalloc(len + 1); + memcpy(tmp, s, len); + } tmp[len] = '\0'; Z_LVAL_P(ent->data) = php_parse_date(tmp, NULL); /* date out of range < 1969 or > 2038 */ if (Z_LVAL_P(ent->data) == -1) { - Z_TYPE_P(ent->data) = IS_STRING; - Z_STRLEN_P(ent->data) = len; - Z_STRVAL_P(ent->data) = estrndup(s, len); + ZVAL_STRINGL(ent->data, tmp, len, 0); + } else { + efree(tmp); } - efree(tmp); } break; From 95d09e4b5e6b84f8340efe03e8e2f9c1380228db Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 7 Aug 2016 15:16:28 -0700 Subject: [PATCH 155/206] Fix bug #70436: Use After Free Vulnerability in unserialize() --- ext/standard/tests/strings/bug70436.phpt | 65 ++++++++++++++++++++++++ ext/standard/var.c | 1 + 2 files changed, 66 insertions(+) create mode 100644 ext/standard/tests/strings/bug70436.phpt diff --git a/ext/standard/tests/strings/bug70436.phpt b/ext/standard/tests/strings/bug70436.phpt new file mode 100644 index 0000000000000..c62e4687263c0 --- /dev/null +++ b/ext/standard/tests/strings/bug70436.phpt @@ -0,0 +1,65 @@ +--TEST-- +Bug #70436: Use After Free Vulnerability in unserialize() +--FILE-- +data); + } + + function unserialize($data) + { + $this->data = unserialize($data); + } +} + +$fakezval = ptr2str(1122334455); +$fakezval .= ptr2str(0); +$fakezval .= "\x00\x00\x00\x00"; +$fakezval .= "\x01"; +$fakezval .= "\x00"; +$fakezval .= "\x00\x00"; + +$inner = 'C:3:"obj":3:{ryat'; +$exploit = 'a:4:{i:0;i:1;i:1;C:3:"obj":'.strlen($inner).':{'.$inner.'}i:2;s:'.strlen($fakezval).':"'.$fakezval.'";i:3;R:5;}'; + +$data = unserialize($exploit); + +var_dump($data); + +function ptr2str($ptr) +{ + $out = ''; + + for ($i = 0; $i < 8; $i++) { + $out .= chr($ptr & 0xff); + $ptr >>= 8; + } + + return $out; +} +?> +DONE +--EXPECTF-- +Notice: unserialize(): Error at offset 0 of 3 bytes in %sbug70436.php on line %d + +Notice: unserialize(): Error at offset 17 of 17 bytes in %sbug70436.php on line %d +array(4) { + [0]=> + int(1) + [1]=> + object(obj)#%d (1) { + ["data"]=> + bool(false) + } + [2]=> + string(24) "%s" + [3]=> + bool(false) +} +DONE \ No newline at end of file diff --git a/ext/standard/var.c b/ext/standard/var.c index f0efef2f93ca8..137e794fb1921 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -962,6 +962,7 @@ PHP_FUNCTION(unserialize) p = (const unsigned char*) buf; PHP_VAR_UNSERIALIZE_INIT(var_hash); if (!php_var_unserialize(&return_value, &p, p + buf_len, &var_hash TSRMLS_CC)) { + var_push_dtor(&var_hash, &return_value); PHP_VAR_UNSERIALIZE_DESTROY(var_hash); zval_dtor(return_value); if (!EG(exception)) { From 639f7fde6a51c23d7c670358fbcb777ac1a143f3 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 7 Aug 2016 15:33:29 -0700 Subject: [PATCH 156/206] Improve fix for #72663 --- ext/standard/tests/strings/bug72663_3.phpt | 18 ++++++ ext/standard/var_unserializer.c | 68 ++++++++++++---------- ext/standard/var_unserializer.re | 8 ++- 3 files changed, 62 insertions(+), 32 deletions(-) create mode 100644 ext/standard/tests/strings/bug72663_3.phpt diff --git a/ext/standard/tests/strings/bug72663_3.phpt b/ext/standard/tests/strings/bug72663_3.phpt new file mode 100644 index 0000000000000..e336bc868dbd1 --- /dev/null +++ b/ext/standard/tests/strings/bug72663_3.phpt @@ -0,0 +1,18 @@ +--TEST-- +Bug #72663: Create an Unexpected Object and Don't Invoke __wakeup() in Deserialization +--FILE-- +ryat = str_repeat('A', 0x112); + } +} + +$poc = 'O:8:"stdClass":1:{i:0;O:3:"obj":1:{s:4:"ryat";R:1;'; +unserialize($poc); +?> +DONE +--EXPECTF-- +Notice: unserialize(): Error at offset 51 of 50 bytes in %sbug72663_3.php on line %d +DONE \ No newline at end of file diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index 1d459ae008202..c8e6f8a0ca9aa 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -435,11 +435,17 @@ static inline int object_common2(UNSERIALIZE_PARAMETER, long elements) if (!process_nested_data(UNSERIALIZE_PASSTHRU, Z_OBJPROP_PP(rval), elements, 1)) { /* We've got partially constructed object on our hands here. Wipe it. */ - zend_hash_clean(Z_OBJPROP_PP(rval)); + if(Z_TYPE_PP(rval) == IS_OBJECT) { + zend_hash_clean(Z_OBJPROP_PP(rval)); + } ZVAL_NULL(*rval); return 0; } + if (Z_TYPE_PP(rval) != IS_OBJECT) { + return 0; + } + if (Z_OBJCE_PP(rval) != PHP_IC_ENTRY && zend_hash_exists(&Z_OBJCE_PP(rval)->function_table, "__wakeup", sizeof("__wakeup"))) { INIT_PZVAL(&fname); @@ -485,7 +491,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) -#line 489 "ext/standard/var_unserializer.c" +#line 495 "ext/standard/var_unserializer.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -545,9 +551,9 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *(YYMARKER = ++YYCURSOR); if (yych == ':') goto yy95; yy3: -#line 854 "ext/standard/var_unserializer.re" +#line 860 "ext/standard/var_unserializer.re" { return 0; } -#line 551 "ext/standard/var_unserializer.c" +#line 557 "ext/standard/var_unserializer.c" yy4: yych = *(YYMARKER = ++YYCURSOR); if (yych == ':') goto yy89; @@ -590,13 +596,13 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) goto yy3; yy14: ++YYCURSOR; -#line 848 "ext/standard/var_unserializer.re" +#line 854 "ext/standard/var_unserializer.re" { /* this is the case where we have less data than planned */ php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unexpected end of serialized data"); return 0; /* not sure if it should be 0 or 1 here? */ } -#line 600 "ext/standard/var_unserializer.c" +#line 606 "ext/standard/var_unserializer.c" yy16: yych = *++YYCURSOR; goto yy3; @@ -627,7 +633,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 701 "ext/standard/var_unserializer.re" +#line 707 "ext/standard/var_unserializer.re" { size_t len, len2, len3, maxlen; long elements; @@ -774,7 +780,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) return object_common2(UNSERIALIZE_PASSTHRU, elements); } -#line 778 "ext/standard/var_unserializer.c" +#line 784 "ext/standard/var_unserializer.c" yy25: yych = *++YYCURSOR; if (yych <= ',') { @@ -799,7 +805,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 692 "ext/standard/var_unserializer.re" +#line 698 "ext/standard/var_unserializer.re" { if (!var_hash) return 0; @@ -808,7 +814,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) return object_common2(UNSERIALIZE_PASSTHRU, object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR)); } -#line 812 "ext/standard/var_unserializer.c" +#line 818 "ext/standard/var_unserializer.c" yy32: yych = *++YYCURSOR; if (yych == '+') goto yy33; @@ -829,7 +835,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != '{') goto yy18; ++YYCURSOR; -#line 671 "ext/standard/var_unserializer.re" +#line 677 "ext/standard/var_unserializer.re" { long elements = parse_iv(start + 2); /* use iv() not uiv() in order to check data range */ @@ -850,7 +856,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) return finish_nested_data(UNSERIALIZE_PASSTHRU); } -#line 854 "ext/standard/var_unserializer.c" +#line 860 "ext/standard/var_unserializer.c" yy39: yych = *++YYCURSOR; if (yych == '+') goto yy40; @@ -871,7 +877,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 636 "ext/standard/var_unserializer.re" +#line 642 "ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -906,7 +912,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) ZVAL_STRINGL(*rval, str, len, 0); return 1; } -#line 910 "ext/standard/var_unserializer.c" +#line 916 "ext/standard/var_unserializer.c" yy46: yych = *++YYCURSOR; if (yych == '+') goto yy47; @@ -927,7 +933,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != '"') goto yy18; ++YYCURSOR; -#line 603 "ext/standard/var_unserializer.re" +#line 609 "ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -960,7 +966,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) ZVAL_STRINGL(*rval, str, len, 1); return 1; } -#line 964 "ext/standard/var_unserializer.c" +#line 970 "ext/standard/var_unserializer.c" yy53: yych = *++YYCURSOR; if (yych <= '/') { @@ -1048,7 +1054,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) } yy63: ++YYCURSOR; -#line 593 "ext/standard/var_unserializer.re" +#line 599 "ext/standard/var_unserializer.re" { #if SIZEOF_LONG == 4 use_double: @@ -1058,7 +1064,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) ZVAL_DOUBLE(*rval, zend_strtod((const char *)start + 2, NULL)); return 1; } -#line 1062 "ext/standard/var_unserializer.c" +#line 1068 "ext/standard/var_unserializer.c" yy65: yych = *++YYCURSOR; if (yych <= ',') { @@ -1117,7 +1123,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != ';') goto yy18; ++YYCURSOR; -#line 578 "ext/standard/var_unserializer.re" +#line 584 "ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); @@ -1132,7 +1138,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) return 1; } -#line 1136 "ext/standard/var_unserializer.c" +#line 1142 "ext/standard/var_unserializer.c" yy76: yych = *++YYCURSOR; if (yych == 'N') goto yy73; @@ -1159,7 +1165,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) if (yych <= '9') goto yy79; if (yych != ';') goto yy18; ++YYCURSOR; -#line 551 "ext/standard/var_unserializer.re" +#line 557 "ext/standard/var_unserializer.re" { #if SIZEOF_LONG == 4 int digits = YYCURSOR - start - 3; @@ -1186,7 +1192,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) ZVAL_LONG(*rval, parse_iv(start + 2)); return 1; } -#line 1190 "ext/standard/var_unserializer.c" +#line 1196 "ext/standard/var_unserializer.c" yy83: yych = *++YYCURSOR; if (yych <= '/') goto yy18; @@ -1194,24 +1200,24 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *++YYCURSOR; if (yych != ';') goto yy18; ++YYCURSOR; -#line 544 "ext/standard/var_unserializer.re" +#line 550 "ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_BOOL(*rval, parse_iv(start + 2)); return 1; } -#line 1205 "ext/standard/var_unserializer.c" +#line 1211 "ext/standard/var_unserializer.c" yy87: ++YYCURSOR; -#line 537 "ext/standard/var_unserializer.re" +#line 543 "ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_NULL(*rval); return 1; } -#line 1215 "ext/standard/var_unserializer.c" +#line 1221 "ext/standard/var_unserializer.c" yy89: yych = *++YYCURSOR; if (yych <= ',') { @@ -1234,7 +1240,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) if (yych <= '9') goto yy91; if (yych != ';') goto yy18; ++YYCURSOR; -#line 514 "ext/standard/var_unserializer.re" +#line 520 "ext/standard/var_unserializer.re" { long id; @@ -1257,7 +1263,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) return 1; } -#line 1261 "ext/standard/var_unserializer.c" +#line 1267 "ext/standard/var_unserializer.c" yy95: yych = *++YYCURSOR; if (yych <= ',') { @@ -1280,7 +1286,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) if (yych <= '9') goto yy97; if (yych != ';') goto yy18; ++YYCURSOR; -#line 493 "ext/standard/var_unserializer.re" +#line 499 "ext/standard/var_unserializer.re" { long id; @@ -1301,9 +1307,9 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) return 1; } -#line 1305 "ext/standard/var_unserializer.c" +#line 1311 "ext/standard/var_unserializer.c" } -#line 856 "ext/standard/var_unserializer.re" +#line 862 "ext/standard/var_unserializer.re" return 0; diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re index c1c18c939116b..11b93c522b226 100644 --- a/ext/standard/var_unserializer.re +++ b/ext/standard/var_unserializer.re @@ -439,11 +439,17 @@ static inline int object_common2(UNSERIALIZE_PARAMETER, long elements) if (!process_nested_data(UNSERIALIZE_PASSTHRU, Z_OBJPROP_PP(rval), elements, 1)) { /* We've got partially constructed object on our hands here. Wipe it. */ - zend_hash_clean(Z_OBJPROP_PP(rval)); + if(Z_TYPE_PP(rval) == IS_OBJECT) { + zend_hash_clean(Z_OBJPROP_PP(rval)); + } ZVAL_NULL(*rval); return 0; } + if (Z_TYPE_PP(rval) != IS_OBJECT) { + return 0; + } + if (Z_OBJCE_PP(rval) != PHP_IC_ENTRY && zend_hash_exists(&Z_OBJCE_PP(rval)->function_table, "__wakeup", sizeof("__wakeup"))) { INIT_PZVAL(&fname); From e018ff094f8505ea77f881ba11176e3ad0b4863e Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 7 Aug 2016 16:17:54 -0700 Subject: [PATCH 157/206] Fix bug #72771: ftps:// opendir wrapper is vulnerable to protocol downgrade attack --- ext/standard/ftp_fopen_wrapper.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ext/standard/ftp_fopen_wrapper.c b/ext/standard/ftp_fopen_wrapper.c index bfb163167af8e..5bffa47855c1e 100644 --- a/ext/standard/ftp_fopen_wrapper.c +++ b/ext/standard/ftp_fopen_wrapper.c @@ -188,7 +188,8 @@ static php_stream *php_ftp_fopen_connect(php_stream_wrapper *wrapper, const char /* get the response */ result = GET_FTP_RESULT(stream); if (result != 334) { - use_ssl = 0; + php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "Server doesn't support FTPS."); + goto connect_errexit; } else { /* we must reuse the old SSL session id */ /* if we talk to an old ftpd-ssl */ From 698a691724c0a949295991e5df091ce16f899e02 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 7 Aug 2016 16:26:52 -0700 Subject: [PATCH 158/206] Fix bug #72750: wddx_deserialize null dereference --- ext/wddx/tests/bug72750.phpt | 34 ++++++++++++++++++++++++++++++++++ ext/wddx/wddx.c | 8 ++++++-- 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 ext/wddx/tests/bug72750.phpt diff --git a/ext/wddx/tests/bug72750.phpt b/ext/wddx/tests/bug72750.phpt new file mode 100644 index 0000000000000..3a6794df2803f --- /dev/null +++ b/ext/wddx/tests/bug72750.phpt @@ -0,0 +1,34 @@ +--TEST-- +Bug #72750: wddx_deserialize null dereference +--SKIPIF-- + +--FILE-- + + + +
+ + + + \\tYmluYXJRhdGE= + + + + +XML; + +$array = wddx_deserialize($xml); +var_dump($array); +?> +--EXPECT-- +array(1) { + ["aBinary"]=> + string(0) "" +} diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index faadbfe1dfe3d..1b2d103af18e3 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -959,8 +959,12 @@ static void php_wddx_pop_element(void *user_data, const XML_Char *name) new_str = php_base64_decode(Z_STRVAL_P(ent1->data), Z_STRLEN_P(ent1->data), &new_len); STR_FREE(Z_STRVAL_P(ent1->data)); - Z_STRVAL_P(ent1->data) = new_str; - Z_STRLEN_P(ent1->data) = new_len; + if (new_str) { + Z_STRVAL_P(ent1->data) = new_str; + Z_STRLEN_P(ent1->data) = new_len; + } else { + ZVAL_EMPTY_STRING(ent1->data); + } } /* Call __wakeup() method on the object. */ From 6dbb1ee46b5f4725cc6519abf91e512a2a10dfed Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Mon, 8 Aug 2016 00:49:34 -0700 Subject: [PATCH 159/206] Fixed bug #72627: Memory Leakage In exif_process_IFD_in_TIFF --- ext/exif/exif.c | 5 ++- ext/exif/tests/bug72627.phpt | 71 +++++++++++++++++++++++++++++++++++ ext/exif/tests/bug72627.tiff | Bin 0 -> 1250 bytes 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 ext/exif/tests/bug72627.phpt create mode 100644 ext/exif/tests/bug72627.tiff diff --git a/ext/exif/exif.c b/ext/exif/exif.c index f95de3a14f199..657a2cc1f26ea 100644 --- a/ext/exif/exif.c +++ b/ext/exif/exif.c @@ -3768,8 +3768,11 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse fgot = php_stream_read(ImageInfo->infile, ImageInfo->Thumbnail.data, ImageInfo->Thumbnail.size); if (fgot < ImageInfo->Thumbnail.size) { EXIF_ERRLOG_THUMBEOF(ImageInfo) + efree(ImageInfo->Thumbnail.data); + ImageInfo->Thumbnail.data = NULL; + } else { + exif_thumbnail_build(ImageInfo TSRMLS_CC); } - exif_thumbnail_build(ImageInfo TSRMLS_CC); } #ifdef EXIF_DEBUG exif_error_docref(NULL EXIFERR_CC, ImageInfo, E_NOTICE, "Read next IFD (THUMBNAIL) done"); diff --git a/ext/exif/tests/bug72627.phpt b/ext/exif/tests/bug72627.phpt new file mode 100644 index 0000000000000..bb6a1fae99a18 --- /dev/null +++ b/ext/exif/tests/bug72627.phpt @@ -0,0 +1,71 @@ +--TEST-- +Bug #72627 (Memory Leakage In exif_process_IFD_in_TIFF) +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +Warning: exif_read_data(%s): Thumbnail goes IFD boundary or end of file reached in %sbug72627.php on line %d + +Warning: exif_read_data(%s): Error in TIFF: filesize(x04E2) less than start of IFD dir(x829A0004) in %sbug72627.php on line %d + +Warning: exif_read_data(%s): Thumbnail goes IFD boundary or end of file reached in %sbug72627.php on line %d +array(11) { + ["FileName"]=> + string(13) "bug72627.tiff" + ["FileDateTime"]=> + int(%d) + ["FileSize"]=> + int(1250) + ["FileType"]=> + int(7) + ["MimeType"]=> + string(10) "image/tiff" + ["SectionsFound"]=> + string(30) "ANY_TAG, IFD0, THUMBNAIL, EXIF" + ["COMPUTED"]=> + array(10) { + ["html"]=> + string(24) "width="128" height="132"" + ["Height"]=> + int(132) + ["Width"]=> + int(128) + ["IsColor"]=> + int(0) + ["ByteOrderMotorola"]=> + int(0) + ["ApertureFNumber"]=> + string(5) "f/1.0" + ["Thumbnail.FileType"]=> + int(2) + ["Thumbnail.MimeType"]=> + string(10) "image/jpeg" + ["Thumbnail.Height"]=> + int(132) + ["Thumbnail.Width"]=> + int(128) + } + ["XResolution"]=> + string(21) "1414812756/1414812756" + ["THUMBNAIL"]=> + array(5) { + ["ImageWidth"]=> + int(128) + ["ImageLength"]=> + int(132) + ["JPEGInterchangeFormat"]=> + int(1280) + ["JPEGInterchangeFormatLength"]=> + int(100) + ["THUMBNAIL"]=> + NULL + } + ["ExposureTime"]=> + string(21) "1414812756/1414812756" + ["FNumber"]=> + string(21) "1414812756/1414812756" +} diff --git a/ext/exif/tests/bug72627.tiff b/ext/exif/tests/bug72627.tiff new file mode 100644 index 0000000000000000000000000000000000000000..229190a6041926d960856267a5285d887eda49b5 GIT binary patch literal 1250 zcmebD)MDUZU|?WkkYZ$IU<9%lSQr>G+gZSDC9uq_CWwp>P-ZTa?E+*wKom1FgViXgZXg0u%><|2O{MVo39)0|*%fqaiRF0wXpA{@(-uY6E(R literal 0 HcmV?d00001 From a3598dd7c9b182debcb54b9322b1dece14c9b533 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Wed, 10 Aug 2016 00:00:14 -0700 Subject: [PATCH 160/206] Fix bug#72697 - select_colors write out-of-bounds --- ext/gd/gd.c | 16 ++++++++-------- ext/gd/tests/bug72697.phpt | 17 +++++++++++++++++ 2 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 ext/gd/tests/bug72697.phpt diff --git a/ext/gd/gd.c b/ext/gd/gd.c index b96f901ea0e78..5c604b7a80a70 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -99,7 +99,7 @@ static void php_imagettftext_common(INTERNAL_FUNCTION_PARAMETERS, int, int); #include "gd_ctx.c" -/* as it is not really public, duplicate declaration here to avoid +/* as it is not really public, duplicate declaration here to avoid pointless warnings */ int overflow2(int a, int b); @@ -1197,7 +1197,7 @@ PHP_MINIT_FUNCTION(gd) REGISTER_LONG_CONSTANT("IMG_CROP_SIDES", GD_CROP_SIDES, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("IMG_CROP_THRESHOLD", GD_CROP_THRESHOLD, CONST_CS | CONST_PERSISTENT); - + REGISTER_LONG_CONSTANT("IMG_BELL", GD_BELL, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("IMG_BESSEL", GD_BESSEL, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("IMG_BILINEAR_FIXED", GD_BILINEAR_FIXED, CONST_CS | CONST_PERSISTENT); @@ -1658,11 +1658,11 @@ PHP_FUNCTION(imagetruecolortopalette) ZEND_FETCH_RESOURCE(im, gdImagePtr, &IM, -1, "Image", le_gd); - if (ncolors <= 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Number of colors has to be greater than zero"); + if (ncolors <= 0 || ncolors > INT_MAX) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Number of colors has to be greater than zero and no more than %d", INT_MAX); RETURN_FALSE; } - gdImageTrueColorToPalette(im, dither, ncolors); + gdImageTrueColorToPalette(im, dither, (int)ncolors); RETURN_TRUE; } @@ -3913,7 +3913,7 @@ static void php_imagettftext_common(INTERNAL_FUNCTION_PARAMETERS, int mode, int #endif /* VIRTUAL_DIR */ PHP_GD_CHECK_OPEN_BASEDIR(fontname, "Invalid font filename"); - + #ifdef HAVE_GD_FREETYPE if (extended) { error = gdImageStringFTEx(im, brect, col, fontname, ptsize, angle, x, y, str, &strex); @@ -4491,7 +4491,7 @@ static void _php_image_convert(INTERNAL_FUNCTION_PARAMETERS, int image_type ) int x, y; float x_ratio, y_ratio; long ignore_warning; - + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "pplll", &f_org, &f_org_len, &f_dest, &f_dest_len, &height, &width, &threshold) == FAILURE) { return; } @@ -5374,7 +5374,7 @@ PHP_FUNCTION(imageaffinematrixget) php_error_docref(NULL TSRMLS_CC, E_WARNING, "Missing y position"); RETURN_FALSE; } - + if (type == GD_AFFINE_TRANSLATE) { res = gdAffineTranslate(affine, x, y); } else { diff --git a/ext/gd/tests/bug72697.phpt b/ext/gd/tests/bug72697.phpt new file mode 100644 index 0000000000000..6110385fcb807 --- /dev/null +++ b/ext/gd/tests/bug72697.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #72697: select_colors write out-of-bounds +--SKIPIF-- + +--FILE-- + +DONE +--EXPECTF-- +Warning: imagetruecolortopalette(): Number of colors has to be greater than zero and no more than 2147483647 in %sbug72697.php on line %d +DONE \ No newline at end of file From 1bd103df00f49cf4d4ade2cfe3f456ac058a4eae Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Wed, 10 Aug 2016 00:14:58 -0700 Subject: [PATCH 161/206] Fix bug #72730 - imagegammacorrect allows arbitrary write access --- ext/gd/gd.c | 5 +++++ ext/gd/tests/bug72730.phpt | 15 +++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 ext/gd/tests/bug72730.phpt diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 5c604b7a80a70..0fb96041087b4 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -3082,6 +3082,11 @@ PHP_FUNCTION(imagegammacorrect) return; } + if ( input <= 0.0 || output <= 0.0 ) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Gamma values should be positive"); + RETURN_FALSE; + } + ZEND_FETCH_RESOURCE(im, gdImagePtr, &IM, -1, "Image", le_gd); if (gdImageTrueColor(im)) { diff --git a/ext/gd/tests/bug72730.phpt b/ext/gd/tests/bug72730.phpt new file mode 100644 index 0000000000000..e7c13cb5e9d0a --- /dev/null +++ b/ext/gd/tests/bug72730.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug #72730: imagegammacorrect allows arbitrary write access +--SKIPIF-- + +--FILE-- + +DONE +--EXPECTF-- +Warning: imagegammacorrect(): Gamma values should be positive in %sbug72730.php on line %d +DONE \ No newline at end of file From 5a34bd6d1e6b4d31221c50bcf477c9508553a646 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Wed, 10 Aug 2016 23:43:56 -0700 Subject: [PATCH 162/206] Fix for bug #72790 and bug #72799 --- ext/wddx/tests/bug72790.phpt | 35 +++++++++++++++++++++++++++++++++++ ext/wddx/tests/bug72799.phpt | 28 ++++++++++++++++++++++++++++ ext/wddx/wddx.c | 14 +++++++++----- 3 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 ext/wddx/tests/bug72790.phpt create mode 100644 ext/wddx/tests/bug72799.phpt diff --git a/ext/wddx/tests/bug72790.phpt b/ext/wddx/tests/bug72790.phpt new file mode 100644 index 0000000000000..a60524bdaf19e --- /dev/null +++ b/ext/wddx/tests/bug72790.phpt @@ -0,0 +1,35 @@ +--TEST-- +Bug 72790: wddx_deserialize null dereference with invalid xml +--SKIPIF-- + +--FILE-- + + + + |array> + + + + + + + + + + + + +XML; + +$array = wddx_deserialize($xml); +var_dump($array); +?> +--EXPECT-- +NULL \ No newline at end of file diff --git a/ext/wddx/tests/bug72799.phpt b/ext/wddx/tests/bug72799.phpt new file mode 100644 index 0000000000000..5861d5538f49f --- /dev/null +++ b/ext/wddx/tests/bug72799.phpt @@ -0,0 +1,28 @@ +--TEST-- +Bug #72799: wddx_deserialize null dereference in php_wddx_pop_element +--SKIPIF-- + +--FILE-- + + + + + + 1998-06-12T04:32:12+00 + + + +XML; + +$array = wddx_deserialize($xml); +var_dump($array); +?> +--EXPECT-- +NULL \ No newline at end of file diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index 1b2d103af18e3..d7bd295832c70 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -946,10 +946,10 @@ static void php_wddx_pop_element(void *user_data, const XML_Char *name) if (!ent1->data) { if (stack->top > 1) { stack->top--; + efree(ent1); } else { stack->done = 1; } - efree(ent1); return; } @@ -988,7 +988,7 @@ static void php_wddx_pop_element(void *user_data, const XML_Char *name) wddx_stack_top(stack, (void**)&ent2); /* if non-existent field */ - if (ent2->type == ST_FIELD && ent2->data == NULL) { + if (ent2->data == NULL) { zval_ptr_dtor(&ent1->data); efree(ent1); return; @@ -1179,9 +1179,13 @@ int php_wddx_deserialize_ex(char *value, int vallen, zval *return_value) if (stack.top == 1) { wddx_stack_top(&stack, (void**)&ent); - *return_value = *(ent->data); - zval_copy_ctor(return_value); - retval = SUCCESS; + if(ent->data == NULL) { + retval = FAILURE; + } else { + *return_value = *(ent->data); + zval_copy_ctor(return_value); + retval = SUCCESS; + } } else { retval = FAILURE; } From 1cd6bc64637353536032c53e0b6770233f8d03ca Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Thu, 11 Aug 2016 23:36:25 -0700 Subject: [PATCH 163/206] Fix for bug #72807 - do not produce strings with negative length --- Zend/zend_API.h | 7 +++++-- ext/curl/interface.c | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Zend/zend_API.h b/Zend/zend_API.h index a56075e177bdf..e17be4ce681d0 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -447,7 +447,7 @@ ZEND_API int add_property_zval_ex(zval *arg, const char *key, uint key_len, zval #define add_property_double(__arg, __key, __d) add_property_double_ex(__arg, __key, strlen(__key)+1, __d TSRMLS_CC) #define add_property_string(__arg, __key, __str, __duplicate) add_property_string_ex(__arg, __key, strlen(__key)+1, __str, __duplicate TSRMLS_CC) #define add_property_stringl(__arg, __key, __str, __length, __duplicate) add_property_stringl_ex(__arg, __key, strlen(__key)+1, __str, __length, __duplicate TSRMLS_CC) -#define add_property_zval(__arg, __key, __value) add_property_zval_ex(__arg, __key, strlen(__key)+1, __value TSRMLS_CC) +#define add_property_zval(__arg, __key, __value) add_property_zval_ex(__arg, __key, strlen(__key)+1, __value TSRMLS_CC) ZEND_API int call_user_function(HashTable *function_table, zval **object_pp, zval *function_name, zval *retval_ptr, zend_uint param_count, zval *params[] TSRMLS_DC); @@ -458,7 +458,7 @@ ZEND_API extern const zend_fcall_info_cache empty_fcall_info_cache; /** Build zend_call_info/cache from a zval* * - * Caller is responsible to provide a return value, otherwise the we will crash. + * Caller is responsible to provide a return value, otherwise the we will crash. * fci->retval_ptr_ptr = NULL; * In order to pass parameters the following members need to be set: * fci->param_count = 0; @@ -578,6 +578,9 @@ END_EXTERN_C() const char *__s=(s); \ zval *__z = (z); \ Z_STRLEN_P(__z) = strlen(__s); \ + if (UNEXPECTED(Z_STRLEN_P(__z) < 0)) { \ + zend_error(E_ERROR, "String size overflow"); \ + } \ Z_STRVAL_P(__z) = (duplicate?estrndup(__s, Z_STRLEN_P(__z)):(char*)__s);\ Z_TYPE_P(__z) = IS_STRING; \ } while (0) diff --git a/ext/curl/interface.c b/ext/curl/interface.c index c7112a091a04f..062f9969aed2a 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -3478,6 +3478,10 @@ PHP_FUNCTION(curl_escape) ZEND_FETCH_RESOURCE(ch, php_curl *, &zid, -1, le_curl_name, le_curl); if ((res = curl_easy_escape(ch->cp, str, str_len))) { + if (strlen(res) > INT_MAX) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Escaped string is too long, maximum is %d", INT_MAX); + RETURN_FALSE; + } RETVAL_STRING(res, 1); curl_free(res); } else { From d6a43a8562ec58043fa5e26f2a58b0c239feee40 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 14 Aug 2016 23:13:30 -0700 Subject: [PATCH 164/206] Fix bug #72836 - integer overflow in base64_decode caused heap corruption --- ext/standard/base64.c | 5 + sapi/cli/generate_mime_type_map.php | 76 +++++ sapi/fpm/www.conf.in | 413 ++++++++++++++++++++++++++++ 3 files changed, 494 insertions(+) create mode 100644 sapi/cli/generate_mime_type_map.php create mode 100644 sapi/fpm/www.conf.in diff --git a/ext/standard/base64.c b/ext/standard/base64.c index a40b86634d31c..8340ed12607ca 100644 --- a/ext/standard/base64.c +++ b/ext/standard/base64.c @@ -66,6 +66,11 @@ PHPAPI unsigned char *php_base64_encode(const unsigned char *str, int length, in return NULL; } + if (((size_t)length + 2) / 3 > INT_MAX/4 ) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "String too long, maximum is %d", INT_MAX/4); + return NULL; + } + result = (unsigned char *) safe_emalloc((length + 2) / 3, 4 * sizeof(char), 1); p = result; diff --git a/sapi/cli/generate_mime_type_map.php b/sapi/cli/generate_mime_type_map.php new file mode 100644 index 0000000000000..9e088814a04ed --- /dev/null +++ b/sapi/cli/generate_mime_type_map.php @@ -0,0 +1,76 @@ +#!/usr/bin/env php + 1 ? $_SERVER['argv'][1] : 'https://raw.githubusercontent.com/apache/httpd/trunk/docs/conf/mime.types'; + +// See if we can actually load it. +$types = @file($source); +if ($types === false) { + fprintf(STDERR, "Error: unable to read $source\n"); + exit(1); +} + +// Remove comments and flip into an extensions array. +$extensions = []; +array_walk($types, function ($line) use (&$extensions) { + $line = trim($line); + if ($line && $line[0] != '#') { + $fields = preg_split('/\s+/', $line); + if (count($fields) > 1) { + $mime = array_shift($fields); + foreach ($fields as $extension) { + $extensions[$extension] = $mime; + } + } + } +}); + +?> +/* + +----------------------------------------------------------------------+ + | PHP Version 7 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2015 The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 3.01 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_01.txt | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Author: Moriyoshi Koizumi | + +----------------------------------------------------------------------+ +*/ + +/* This is a generated file. Rather than modifying it, please run + * "php generate_mime_type_map.php > mime_type_map.h" to regenerate the file. */ + +#ifndef PHP_CLI_SERVER_MIME_TYPE_MAP_H +#define PHP_CLI_SERVER_MIME_TYPE_MAP_H + +typedef struct php_cli_server_ext_mime_type_pair { + const char *ext; + const char *mime_type; +} php_cli_server_ext_mime_type_pair; + +static php_cli_server_ext_mime_type_pair mime_type_map[] = { + $mime): ?> + { "", "" }, + + { NULL, NULL } +}; + +#endif /* PHP_CLI_SERVER_MIME_TYPE_MAP_H */ + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: noet sw=4 ts=4 fdm=marker + * vim<600: noet sw=4 ts=4 + */ diff --git a/sapi/fpm/www.conf.in b/sapi/fpm/www.conf.in new file mode 100644 index 0000000000000..394e27819d935 --- /dev/null +++ b/sapi/fpm/www.conf.in @@ -0,0 +1,413 @@ +; Start a new pool named 'www'. +; the variable $pool can we used in any directive and will be replaced by the +; pool name ('www' here) +[www] + +; Per pool prefix +; It only applies on the following directives: +; - 'access.log' +; - 'slowlog' +; - 'listen' (unixsocket) +; - 'chroot' +; - 'chdir' +; - 'php_values' +; - 'php_admin_values' +; When not set, the global prefix (or @php_fpm_prefix@) applies instead. +; Note: This directive can also be relative to the global prefix. +; Default Value: none +;prefix = /path/to/pools/$pool + +; Unix user/group of processes +; Note: The user is mandatory. If the group is not set, the default user's group +; will be used. +user = @php_fpm_user@ +group = @php_fpm_group@ + +; The address on which to accept FastCGI requests. +; Valid syntaxes are: +; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on +; a specific port; +; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on +; a specific port; +; 'port' - to listen on a TCP socket to all addresses +; (IPv6 and IPv4-mapped) on a specific port; +; '/path/to/unix/socket' - to listen on a unix socket. +; Note: This value is mandatory. +listen = 127.0.0.1:9000 + +; Set listen(2) backlog. +; Default Value: 511 (-1 on FreeBSD and OpenBSD) +;listen.backlog = 511 + +; Set permissions for unix socket, if one is used. In Linux, read/write +; permissions must be set in order to allow connections from a web server. Many +; BSD-derived systems allow connections regardless of permissions. +; Default Values: user and group are set as the running user +; mode is set to 0660 +;listen.owner = @php_fpm_user@ +;listen.group = @php_fpm_group@ +;listen.mode = 0660 +; When POSIX Access Control Lists are supported you can set them using +; these options, value is a comma separated list of user/group names. +; When set, listen.owner and listen.group are ignored +;listen.acl_users = +;listen.acl_groups = + +; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect. +; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original +; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address +; must be separated by a comma. If this value is left blank, connections will be +; accepted from any ip address. +; Default Value: any +;listen.allowed_clients = 127.0.0.1 + +; Specify the nice(2) priority to apply to the pool processes (only if set) +; The value can vary from -19 (highest priority) to 20 (lower priority) +; Note: - It will only work if the FPM master process is launched as root +; - The pool processes will inherit the master process priority +; unless it specified otherwise +; Default Value: no set +; process.priority = -19 + +; Choose how the process manager will control the number of child processes. +; Possible Values: +; static - a fixed number (pm.max_children) of child processes; +; dynamic - the number of child processes are set dynamically based on the +; following directives. With this process management, there will be +; always at least 1 children. +; pm.max_children - the maximum number of children that can +; be alive at the same time. +; pm.start_servers - the number of children created on startup. +; pm.min_spare_servers - the minimum number of children in 'idle' +; state (waiting to process). If the number +; of 'idle' processes is less than this +; number then some children will be created. +; pm.max_spare_servers - the maximum number of children in 'idle' +; state (waiting to process). If the number +; of 'idle' processes is greater than this +; number then some children will be killed. +; ondemand - no children are created at startup. Children will be forked when +; new requests will connect. The following parameter are used: +; pm.max_children - the maximum number of children that +; can be alive at the same time. +; pm.process_idle_timeout - The number of seconds after which +; an idle process will be killed. +; Note: This value is mandatory. +pm = dynamic + +; The number of child processes to be created when pm is set to 'static' and the +; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'. +; This value sets the limit on the number of simultaneous requests that will be +; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. +; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP +; CGI. The below defaults are based on a server without much resources. Don't +; forget to tweak pm.* to fit your needs. +; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' +; Note: This value is mandatory. +pm.max_children = 5 + +; The number of child processes created on startup. +; Note: Used only when pm is set to 'dynamic' +; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 +pm.start_servers = 2 + +; The desired minimum number of idle server processes. +; Note: Used only when pm is set to 'dynamic' +; Note: Mandatory when pm is set to 'dynamic' +pm.min_spare_servers = 1 + +; The desired maximum number of idle server processes. +; Note: Used only when pm is set to 'dynamic' +; Note: Mandatory when pm is set to 'dynamic' +pm.max_spare_servers = 3 + +; The number of seconds after which an idle process will be killed. +; Note: Used only when pm is set to 'ondemand' +; Default Value: 10s +;pm.process_idle_timeout = 10s; + +; The number of requests each child process should execute before respawning. +; This can be useful to work around memory leaks in 3rd party libraries. For +; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. +; Default Value: 0 +;pm.max_requests = 500 + +; The URI to view the FPM status page. If this value is not set, no URI will be +; recognized as a status page. It shows the following informations: +; pool - the name of the pool; +; process manager - static, dynamic or ondemand; +; start time - the date and time FPM has started; +; start since - number of seconds since FPM has started; +; accepted conn - the number of request accepted by the pool; +; listen queue - the number of request in the queue of pending +; connections (see backlog in listen(2)); +; max listen queue - the maximum number of requests in the queue +; of pending connections since FPM has started; +; listen queue len - the size of the socket queue of pending connections; +; idle processes - the number of idle processes; +; active processes - the number of active processes; +; total processes - the number of idle + active processes; +; max active processes - the maximum number of active processes since FPM +; has started; +; max children reached - number of times, the process limit has been reached, +; when pm tries to start more children (works only for +; pm 'dynamic' and 'ondemand'); +; Value are updated in real time. +; Example output: +; pool: www +; process manager: static +; start time: 01/Jul/2011:17:53:49 +0200 +; start since: 62636 +; accepted conn: 190460 +; listen queue: 0 +; max listen queue: 1 +; listen queue len: 42 +; idle processes: 4 +; active processes: 11 +; total processes: 15 +; max active processes: 12 +; max children reached: 0 +; +; By default the status page output is formatted as text/plain. Passing either +; 'html', 'xml' or 'json' in the query string will return the corresponding +; output syntax. Example: +; http://www.foo.bar/status +; http://www.foo.bar/status?json +; http://www.foo.bar/status?html +; http://www.foo.bar/status?xml +; +; By default the status page only outputs short status. Passing 'full' in the +; query string will also return status for each pool process. +; Example: +; http://www.foo.bar/status?full +; http://www.foo.bar/status?json&full +; http://www.foo.bar/status?html&full +; http://www.foo.bar/status?xml&full +; The Full status returns for each process: +; pid - the PID of the process; +; state - the state of the process (Idle, Running, ...); +; start time - the date and time the process has started; +; start since - the number of seconds since the process has started; +; requests - the number of requests the process has served; +; request duration - the duration in µs of the requests; +; request method - the request method (GET, POST, ...); +; request URI - the request URI with the query string; +; content length - the content length of the request (only with POST); +; user - the user (PHP_AUTH_USER) (or '-' if not set); +; script - the main script called (or '-' if not set); +; last request cpu - the %cpu the last request consumed +; it's always 0 if the process is not in Idle state +; because CPU calculation is done when the request +; processing has terminated; +; last request memory - the max amount of memory the last request consumed +; it's always 0 if the process is not in Idle state +; because memory calculation is done when the request +; processing has terminated; +; If the process is in Idle state, then informations are related to the +; last request the process has served. Otherwise informations are related to +; the current request being served. +; Example output: +; ************************ +; pid: 31330 +; state: Running +; start time: 01/Jul/2011:17:53:49 +0200 +; start since: 63087 +; requests: 12808 +; request duration: 1250261 +; request method: GET +; request URI: /test_mem.php?N=10000 +; content length: 0 +; user: - +; script: /home/fat/web/docs/php/test_mem.php +; last request cpu: 0.00 +; last request memory: 0 +; +; Note: There is a real-time FPM status monitoring sample web page available +; It's available in: @EXPANDED_DATADIR@/fpm/status.html +; +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +;pm.status_path = /status + +; The ping URI to call the monitoring page of FPM. If this value is not set, no +; URI will be recognized as a ping page. This could be used to test from outside +; that FPM is alive and responding, or to +; - create a graph of FPM availability (rrd or such); +; - remove a server from a group if it is not responding (load balancing); +; - trigger alerts for the operating team (24/7). +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +;ping.path = /ping + +; This directive may be used to customize the response of a ping request. The +; response is formatted as text/plain with a 200 response code. +; Default Value: pong +;ping.response = pong + +; The access log file +; Default: not set +;access.log = log/$pool.access.log + +; The access log format. +; The following syntax is allowed +; %%: the '%' character +; %C: %CPU used by the request +; it can accept the following format: +; - %{user}C for user CPU only +; - %{system}C for system CPU only +; - %{total}C for user + system CPU (default) +; %d: time taken to serve the request +; it can accept the following format: +; - %{seconds}d (default) +; - %{miliseconds}d +; - %{mili}d +; - %{microseconds}d +; - %{micro}d +; %e: an environment variable (same as $_ENV or $_SERVER) +; it must be associated with embraces to specify the name of the env +; variable. Some exemples: +; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e +; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e +; %f: script filename +; %l: content-length of the request (for POST request only) +; %m: request method +; %M: peak of memory allocated by PHP +; it can accept the following format: +; - %{bytes}M (default) +; - %{kilobytes}M +; - %{kilo}M +; - %{megabytes}M +; - %{mega}M +; %n: pool name +; %o: output header +; it must be associated with embraces to specify the name of the header: +; - %{Content-Type}o +; - %{X-Powered-By}o +; - %{Transfert-Encoding}o +; - .... +; %p: PID of the child that serviced the request +; %P: PID of the parent of the child that serviced the request +; %q: the query string +; %Q: the '?' character if query string exists +; %r: the request URI (without the query string, see %q and %Q) +; %R: remote IP address +; %s: status (response code) +; %t: server time the request was received +; it can accept a strftime(3) format: +; %d/%b/%Y:%H:%M:%S %z (default) +; The strftime(3) format must be encapsuled in a %{}t tag +; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t +; %T: time the log has been written (the request has finished) +; it can accept a strftime(3) format: +; %d/%b/%Y:%H:%M:%S %z (default) +; The strftime(3) format must be encapsuled in a %{}t tag +; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t +; %u: remote user +; +; Default: "%R - %u %t \"%m %r\" %s" +;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%" + +; The log file for slow requests +; Default Value: not set +; Note: slowlog is mandatory if request_slowlog_timeout is set +;slowlog = log/$pool.log.slow + +; The timeout for serving a single request after which a PHP backtrace will be +; dumped to the 'slowlog' file. A value of '0s' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_slowlog_timeout = 0 + +; The timeout for serving a single request after which the worker process will +; be killed. This option should be used when the 'max_execution_time' ini option +; does not stop script execution for some reason. A value of '0' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_terminate_timeout = 0 + +; Set open file descriptor rlimit. +; Default Value: system defined value +;rlimit_files = 1024 + +; Set max core size rlimit. +; Possible Values: 'unlimited' or an integer greater or equal to 0 +; Default Value: system defined value +;rlimit_core = 0 + +; Chroot to this directory at the start. This value must be defined as an +; absolute path. When this value is not set, chroot is not used. +; Note: you can prefix with '$prefix' to chroot to the pool prefix or one +; of its subdirectories. If the pool prefix is not set, the global prefix +; will be used instead. +; Note: chrooting is a great security feature and should be used whenever +; possible. However, all PHP paths will be relative to the chroot +; (error_log, sessions.save_path, ...). +; Default Value: not set +;chroot = + +; Chdir to this directory at the start. +; Note: relative path can be used. +; Default Value: current directory or / when chroot +;chdir = /var/www + +; Redirect worker stdout and stderr into main error log. If not set, stdout and +; stderr will be redirected to /dev/null according to FastCGI specs. +; Note: on highloaded environement, this can cause some delay in the page +; process time (several ms). +; Default Value: no +;catch_workers_output = yes + +; Clear environment in FPM workers +; Prevents arbitrary environment variables from reaching FPM worker processes +; by clearing the environment in workers before env vars specified in this +; pool configuration are added. +; Setting to "no" will make all environment variables available to PHP code +; via getenv(), $_ENV and $_SERVER. +; Default Value: yes +;clear_env = no + +; Limits the extensions of the main script FPM will allow to parse. This can +; prevent configuration mistakes on the web server side. You should only limit +; FPM to .php extensions to prevent malicious users to use other extensions to +; exectute php code. +; Note: set an empty value to allow all extensions. +; Default Value: .php +;security.limit_extensions = .php .php3 .php4 .php5 .php7 + +; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from +; the current environment. +; Default Value: clean env +;env[HOSTNAME] = $HOSTNAME +;env[PATH] = /usr/local/bin:/usr/bin:/bin +;env[TMP] = /tmp +;env[TMPDIR] = /tmp +;env[TEMP] = /tmp + +; Additional php.ini defines, specific to this pool of workers. These settings +; overwrite the values previously defined in the php.ini. The directives are the +; same as the PHP SAPI: +; php_value/php_flag - you can set classic ini defines which can +; be overwritten from PHP call 'ini_set'. +; php_admin_value/php_admin_flag - these directives won't be overwritten by +; PHP call 'ini_set' +; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. + +; Defining 'extension' will load the corresponding shared extension from +; extension_dir. Defining 'disable_functions' or 'disable_classes' will not +; overwrite previously defined php.ini values, but will append the new value +; instead. + +; Note: path INI options can be relative and will be expanded with the prefix +; (pool, global or @prefix@) + +; Default Value: nothing is defined by default except the values in php.ini and +; specified at startup with the -d argument +;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com +;php_flag[display_errors] = off +;php_admin_value[error_log] = /var/log/fpm-php.www.log +;php_admin_flag[log_errors] = on +;php_admin_value[memory_limit] = 32M From cfdeedd98558a7f946ed79f7100812dc2a43abfe Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Mon, 15 Aug 2016 23:17:26 -0700 Subject: [PATCH 165/206] Fix bug #72837 - integer overflow in bzdecompress caused heap corruption --- ext/bz2/bz2.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/ext/bz2/bz2.c b/ext/bz2/bz2.c index 54b59f75d44b3..79ec3ec3fedf1 100644 --- a/ext/bz2/bz2.c +++ b/ext/bz2/bz2.c @@ -196,7 +196,7 @@ php_stream_ops php_stream_bz2io_ops = { }; /* {{{ Bzip2 stream openers */ -PHP_BZ2_API php_stream *_php_stream_bz2open_from_BZFILE(BZFILE *bz, +PHP_BZ2_API php_stream *_php_stream_bz2open_from_BZFILE(BZFILE *bz, const char *mode, php_stream *innerstream STREAMS_DC TSRMLS_DC) { struct php_bz2_stream_data_t *self; @@ -574,15 +574,25 @@ static PHP_FUNCTION(bzdecompress) /* compression is better then 2:1, need to allocate more memory */ bzs.avail_out = source_len; size = (bzs.total_out_hi32 * (unsigned int) -1) + bzs.total_out_lo32; + if (size > INT_MAX) { + /* no reason to continue if we're going to drop it anyway */ + break; + } dest = safe_erealloc(dest, 1, bzs.avail_out+1, (size_t) size ); bzs.next_out = dest + size; } if (error == BZ_STREAM_END || error == BZ_OK) { size = (bzs.total_out_hi32 * (unsigned int) -1) + bzs.total_out_lo32; - dest = safe_erealloc(dest, 1, (size_t) size, 1); - dest[size] = '\0'; - RETVAL_STRINGL(dest, (int) size, 0); + if (size > INT_MAX) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Decompressed size too big, max is %d", INT_MAX); + efree(dest); + RETVAL_LONG(BZ_MEM_ERROR); + } else { + dest = safe_erealloc(dest, 1, (size_t) size, 1); + dest[size] = '\0'; + RETVAL_STRINGL(dest, (int) size, 0); + } } else { /* real error */ efree(dest); RETVAL_LONG(error); From 5f91f692c354e45b9b46ba672f4182ff478bd1a3 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Mon, 15 Aug 2016 23:43:59 -0700 Subject: [PATCH 166/206] Fix bug #72838 - Integer overflow lead to heap corruption in sql_regcase --- ext/ereg/ereg.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ext/ereg/ereg.c b/ext/ereg/ereg.c index 5d38d04375027..8eb833ac873b2 100644 --- a/ext/ereg/ereg.c +++ b/ext/ereg/ereg.c @@ -743,6 +743,11 @@ PHP_EREG_API PHP_FUNCTION(sql_regcase) for (i = j = 0; i < string_len; i++) { c = (unsigned char) string[i]; + if ( j >= INT_MAX - 1 || (isalpha(c) && j >= INT_MAX - 4)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "String too long, max length is %d", INT_MAX); + efree(tmp); + RETURN_FALSE; + } if (isalpha(c)) { tmp[j++] = '['; tmp[j++] = toupper(c); From 24d741d376905ab21eed17c25dd3ce09a8893f80 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 16 Aug 2016 15:48:31 -0700 Subject: [PATCH 167/206] Fix bug #72848 - integer overflow in quoted_printable_encode caused heap corruption --- ext/standard/quot_print.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/ext/standard/quot_print.c b/ext/standard/quot_print.c index 3b8c0eca1f8f5..6d5835e9a2453 100644 --- a/ext/standard/quot_print.c +++ b/ext/standard/quot_print.c @@ -144,7 +144,7 @@ PHPAPI unsigned char *php_quot_print_decode(const unsigned char *str, size_t len /* }}} */ #define PHP_QPRINT_MAXL 75 - + PHPAPI unsigned char *php_quot_print_encode(const unsigned char *str, size_t length, size_t *ret_length) /* {{{ */ { unsigned long lp = 0; @@ -162,9 +162,9 @@ PHPAPI unsigned char *php_quot_print_encode(const unsigned char *str, size_t len lp = 0; } else { if (iscntrl (c) || (c == 0x7f) || (c & 0x80) || (c == '=') || ((c == ' ') && (*str == '\015'))) { - if ((((lp+= 3) > PHP_QPRINT_MAXL) && (c <= 0x7f)) - || ((c > 0x7f) && (c <= 0xdf) && ((lp + 3) > PHP_QPRINT_MAXL)) - || ((c > 0xdf) && (c <= 0xef) && ((lp + 6) > PHP_QPRINT_MAXL)) + if ((((lp+= 3) > PHP_QPRINT_MAXL) && (c <= 0x7f)) + || ((c > 0x7f) && (c <= 0xdf) && ((lp + 3) > PHP_QPRINT_MAXL)) + || ((c > 0xdf) && (c <= 0xef) && ((lp + 6) > PHP_QPRINT_MAXL)) || ((c > 0xef) && (c <= 0xf4) && ((lp + 9) > PHP_QPRINT_MAXL))) { *d++ = '='; *d++ = '\015'; @@ -208,7 +208,7 @@ PHP_FUNCTION(quoted_printable_decode) if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg1, &arg1_len) == FAILURE) { return; } - + if (arg1_len == 0) { /* shortcut */ RETURN_EMPTY_STRING(); @@ -219,11 +219,11 @@ PHP_FUNCTION(quoted_printable_decode) while (str_in[i]) { switch (str_in[i]) { case '=': - if (str_in[i + 1] && str_in[i + 2] && - isxdigit((int) str_in[i + 1]) && + if (str_in[i + 1] && str_in[i + 2] && + isxdigit((int) str_in[i + 1]) && isxdigit((int) str_in[i + 2])) { - str_out[j++] = (php_hex2int((int) str_in[i + 1]) << 4) + str_out[j++] = (php_hex2int((int) str_in[i + 1]) << 4) + php_hex2int((int) str_in[i + 2]); i += 3; } else /* check for soft line break according to RFC 2045*/ { @@ -254,7 +254,7 @@ PHP_FUNCTION(quoted_printable_decode) } } str_out[j] = '\0'; - + RETVAL_STRINGL(str_out, j, 0); } /* }}} */ @@ -275,6 +275,11 @@ PHP_FUNCTION(quoted_printable_encode) } new_str = (char *)php_quot_print_encode((unsigned char *)str, (size_t)str_len, &new_str_len); + if (new_str_len > INT_MAX) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "String too long, max length is %d", INT_MAX); + efree(new_str); + RETURN_FALSE; + } RETURN_STRINGL(new_str, new_str_len, 0); } /* }}} */ From b9e81e58440b9b5c07bf5435baef5531b2b318a0 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 16 Aug 2016 15:58:05 -0700 Subject: [PATCH 168/206] Fixed bug #72849 - integer overflow in urlencode --- ext/standard/url.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ext/standard/url.c b/ext/standard/url.c index 4b52000f645cf..8e471e12d82fb 100644 --- a/ext/standard/url.c +++ b/ext/standard/url.c @@ -520,6 +520,12 @@ PHPAPI char *php_url_encode(char const *s, int len, int *new_length) *to++ = c; } } + + if ((to-start) > INT_MAX) { + /* E_ERROR since most clients won't check for error, and this is rather rare condition */ + php_error_docref(NULL TSRMLS_CC, E_ERROR, "String overflow, max length is %d", INT_MAX); + } + *to = 0; if (new_length) { *new_length = to - start; From 35a8ed2f6283d0dd09009e1f1ab18d66bdff5e42 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 16 Aug 2016 16:03:44 -0700 Subject: [PATCH 169/206] Fix bug #72850 - integer overflow in uuencode --- ext/standard/uuencode.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ext/standard/uuencode.c b/ext/standard/uuencode.c index cd35c288ee87b..a31f14d82452c 100644 --- a/ext/standard/uuencode.c +++ b/ext/standard/uuencode.c @@ -153,7 +153,7 @@ PHPAPI int php_uudecode(char *src, int src_len, char **dest) /* {{{ */ while (s < ee) { if(s+4 > e) { goto err; - } + } *p++ = PHP_UU_DEC(*s) << 2 | PHP_UU_DEC(*(s + 1)) >> 4; *p++ = PHP_UU_DEC(*(s + 1)) << 4 | PHP_UU_DEC(*(s + 2)) >> 2; *p++ = PHP_UU_DEC(*(s + 2)) << 6 | PHP_UU_DEC(*(s + 3)); @@ -188,7 +188,7 @@ PHPAPI int php_uudecode(char *src, int src_len, char **dest) /* {{{ */ } /* }}} */ -/* {{{ proto string convert_uuencode(string data) +/* {{{ proto string convert_uuencode(string data) uuencode a string */ PHP_FUNCTION(convert_uuencode) { @@ -200,6 +200,11 @@ PHP_FUNCTION(convert_uuencode) } dst_len = php_uuencode(src, src_len, &dst); + if (dst_len < 0) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "String too long, max length is %d", INT_MAX); + efree(dst); + RETURN_FALSE; + } RETURN_STRINGL(dst, dst_len, 0); } From 40bd921cea0cfb96dd0a19d95ed19078d06a9988 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 16 Aug 2016 16:34:35 -0700 Subject: [PATCH 170/206] Fix TSRM build --- ext/standard/base64.c | 1 + ext/standard/url.c | 1 + 2 files changed, 2 insertions(+) diff --git a/ext/standard/base64.c b/ext/standard/base64.c index 8340ed12607ca..b30a5b73b169e 100644 --- a/ext/standard/base64.c +++ b/ext/standard/base64.c @@ -67,6 +67,7 @@ PHPAPI unsigned char *php_base64_encode(const unsigned char *str, int length, in } if (((size_t)length + 2) / 3 > INT_MAX/4 ) { + TSRMLS_FETCH(); php_error_docref(NULL TSRMLS_CC, E_WARNING, "String too long, maximum is %d", INT_MAX/4); return NULL; } diff --git a/ext/standard/url.c b/ext/standard/url.c index 8e471e12d82fb..dd861a570d8c0 100644 --- a/ext/standard/url.c +++ b/ext/standard/url.c @@ -522,6 +522,7 @@ PHPAPI char *php_url_encode(char const *s, int len, int *new_length) } if ((to-start) > INT_MAX) { + TSRMLS_FETCH(); /* E_ERROR since most clients won't check for error, and this is rather rare condition */ php_error_docref(NULL TSRMLS_CC, E_ERROR, "String overflow, max length is %d", INT_MAX); } From d8b2de164e4900fe96094df7753d88a14893c7a5 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 16 Aug 2016 16:47:53 -0700 Subject: [PATCH 171/206] fix tests --- ext/gd/tests/imagetruecolortopalette_error3.phpt | 2 +- ext/gd/tests/imagetruecolortopalette_error4.phpt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/gd/tests/imagetruecolortopalette_error3.phpt b/ext/gd/tests/imagetruecolortopalette_error3.phpt index d65a995014cf3..dbbdb081cc84b 100644 --- a/ext/gd/tests/imagetruecolortopalette_error3.phpt +++ b/ext/gd/tests/imagetruecolortopalette_error3.phpt @@ -25,4 +25,4 @@ Warning: imagetruecolortopalette() expects parameter 3 to be long, resource give Warning: imagetruecolortopalette() expects parameter 3 to be long, array given in %s on line %d -Warning: imagetruecolortopalette(): Number of colors has to be greater than zero in %s on line %d \ No newline at end of file +Warning: imagetruecolortopalette(): Number of colors has to be greater than zero and no more than %d in %s on line %d \ No newline at end of file diff --git a/ext/gd/tests/imagetruecolortopalette_error4.phpt b/ext/gd/tests/imagetruecolortopalette_error4.phpt index b9661e3b852cb..1d56bfcdf0510 100644 --- a/ext/gd/tests/imagetruecolortopalette_error4.phpt +++ b/ext/gd/tests/imagetruecolortopalette_error4.phpt @@ -16,6 +16,6 @@ imagetruecolortopalette($image, true, -1); ?> --EXPECTF-- -Warning: imagetruecolortopalette(): Number of colors has to be greater than zero in %s on line %d +Warning: imagetruecolortopalette(): Number of colors has to be greater than zero and no more than %d in %s on line %d -Warning: imagetruecolortopalette(): Number of colors has to be greater than zero in %s on line %d \ No newline at end of file +Warning: imagetruecolortopalette(): Number of colors has to be greater than zero and no more than %d in %s on line %d \ No newline at end of file From 4bf5c3187fe63073effea949360454b1c5641c41 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 16 Aug 2016 22:49:06 -0700 Subject: [PATCH 172/206] BLock test with memory leak --- ext/standard/tests/strings/bug72663_3.phpt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ext/standard/tests/strings/bug72663_3.phpt b/ext/standard/tests/strings/bug72663_3.phpt index e336bc868dbd1..f7d66efd178b6 100644 --- a/ext/standard/tests/strings/bug72663_3.phpt +++ b/ext/standard/tests/strings/bug72663_3.phpt @@ -1,5 +1,7 @@ --TEST-- Bug #72663: Create an Unexpected Object and Don't Invoke __wakeup() in Deserialization +--XFAIL-- +Memory leak, TBF later. --FILE-- Date: Tue, 16 Aug 2016 23:44:59 -0700 Subject: [PATCH 173/206] Update NEWS --- NEWS | 168 +++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 100 insertions(+), 68 deletions(-) diff --git a/NEWS b/NEWS index 30a17c1d057c6..1d5e5f8189ed6 100644 --- a/NEWS +++ b/NEWS @@ -30,14 +30,23 @@ PHP NEWS 18 Aug 2016, PHP 5.6.25 +- Bz2: + . Fixed bug #72837 (integer overflow in bzdecompress caused heap + corruption). (Stas) + - Core: + . Fixed bug #70436 (Use After Free Vulnerability in unserialize()). + (Taoguang Chen) + . Fixed bug #72024 (microtime() leaks memory). (maroszek at gmx dot net) . Fixed bug #72581 (previous property undefined in Exception after deserialization). (Laruence) - . Fixed bug #72024 (microtime() leaks memory). (maroszek at gmx dot net) . Implemented FR #72614 (Support "nmake test" on building extensions by phpize). (Yuji Uchiyama) . Fixed bug #72641 (phpize (on Windows) ignores PHP_PREFIX). (Yuji Uchiyama) + . Fixed bug #72663 (Create an Unexpected Object and Don't Invoke + __wakeup() in Deserialization). (Stas) + . Fixed bug #72681 (PHP Session Data Injection Vulnerability). (Stas) - Calendar: . Fixed bug #67976 (cal_days_month() fails for final month of the French @@ -50,11 +59,18 @@ PHP NEWS (maroszek at gmx dot net) . Fixed bug #71929 (Certification information (CERTINFO) data parsing error). (Pierrick) + . Fixed bug #72807 (integer overflow in curl_escape caused heap + corruption). (Stas) - DOM: . Fixed bug #66502 (DOM document dangling reference). (Sean Heelan, cmb) +- Ereg: + . Fixed bug #72838 (Integer overflow lead to heap corruption in + sql_regcase). (Stas) + - EXIF: + . Fixed bug #72627 (Memory Leakage In exif_process_IFD_in_TIFF). (Stas) . Fixed bug #72735 (Samsung picture thumb not read (zero size)). (Kalle, Remi) - Filter: @@ -66,14 +82,16 @@ PHP NEWS (gooh) - GD: - . Fixed bug #72596 (imagetypes function won't advertise WEBP support). (cmb) - . Fixed bug #72604 (imagearc() ignores thickness for full arcs). (cmb) - . Fixed bug #70315 (500 Server Error but page is fully rendered). (cmb) . Fixed bug #43828 (broken transparency of imagearc for truecolor in blendingmode). (cmb) . Fixed bug #66555 (Always false condition in ext/gd/libgd/gdkanji.c). (cmb) . Fixed bug #68712 (suspicious if-else statements). (cmb) + . Fixed bug #70315 (500 Server Error but page is fully rendered). (cmb) + . Fixed bug #72596 (imagetypes function won't advertise WEBP support). (cmb) + . Fixed bug #72604 (imagearc() ignores thickness for full arcs). (cmb) + . Fixed bug #72697 (select_colors write out-of-bounds). (Stas) . Fixed bug #72709 (imagesetstyle() causes OOB read for empty $styles). (cmb) + . Fixed bug #72730 (imagegammacorrect allows arbitrary write access). (Stas) - Intl: . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain @@ -102,12 +120,17 @@ PHP NEWS . Fixed bug #72222 (ReflectionClass::export doesn't handle array constants). (Nikita Nefedov) +- SNMP: + . Fixed bug #72708 (php_snmp_parse_oid integer overflow in memory + allocation). (djodjo at gmail dot com) + - Standard: . Fixed bug #72330 (CSV fields incorrectly split if escape char followed by UTF chars). (cmb) - -- SPL: - . Fixed bug #72684 (AppendIterator segfault with closed generator). (Pierrick) + . Fixed bug #72836 (integer overflow in base64_decode). (Stas) + . Fixed bug #72848 (integer overflow in quoted_printable_encode). (Stas) + . Fixed bug #72849 (integer overflow in urlencode). (Stas) + . Fixed bug #72850 (integer overflow in php_uuencode). (Stas) - Streams: . Fixed bug #41021 (Problems with the ftps wrapper). (vhuk) @@ -116,11 +139,14 @@ PHP NEWS non-existent directories). (vhuk) . Fixed bug #72764 (ftps:// opendir wrapper data channel encryption fails with IIS FTP 7.5, 8.5). (vhuk) + . Fixed bug #72771 (ftps:// wrapper is vulnerable to protocol downgrade + attack). (Stas) - SPL: . Fixed bug #72122 (IteratorIterator breaks '@' error suppression). (kinglozzer) . Fixed bug #72646 (SplFileObject::getCsvControl does not return the escape character). (cmb) + . Fixed bug #72684 (AppendIterator segfault with closed generator). (Pierrick) - SQLite3: . Implemented FR #72653 (SQLite should allow opening with empty filename). @@ -129,6 +155,12 @@ PHP NEWS - Wddx: . Fixed bug #72142 (WDDX Packet Injection Vulnerability in wddx_serialize_value()). (Taoguang Chen) + . Fixed bug #72749 (wddx_deserialize allows illegal memory access) (Stas) + . Fixed bug #72750 (wddx_deserialize null dereference). (Stas) + . Fixed bug #72790 (wddx_deserialize null dereference with invalid xml). + (Stas) + . Fixed bug #72799 (wddx_deserialize null dereference in + php_wddx_pop_element). (Stas) 21 Jul 2016, PHP 5.6.24 @@ -222,7 +254,7 @@ PHP NEWS (cmb) . Fixed bug #72298 (pass2_no_dither out-of-bounds access). (Stas) . Fixed bug #72337 (invalid dimensions can lead to crash). (Pierre) - . Fixed bug #72339 (Integer Overflow in _gd2GetHeader() resulting in + . Fixed bug #72339 (Integer Overflow in _gd2GetHeader() resulting in heap overflow). (CVE-2016-5766) (Pierre) . Fixed bug #72407 (NULL Pointer Dereference at _gdScaleVert). (Stas) . Fixed bug #72446 (Integer Overflow in gdImagePaletteToTrueColor() resulting @@ -296,7 +328,7 @@ PHP NEWS - Curl: . Fixed bug #71831 (CURLOPT_NOPROXY applied as long instead of string). - (Michael Sierks) + (Michael Sierks) - Date: . Fixed bug #71889 (DateInterval::format Segmentation fault). (Thomas Punt) @@ -611,7 +643,7 @@ PHP NEWS a server). (Sergei Turchanov) - OpenSSL: - . Fixed bug #55259 (openssl extension does not get the DH parameters from + . Fixed bug #55259 (openssl extension does not get the DH parameters from DH key resource). (Jakub Zelenka) . Fixed bug #70395 (Missing ARG_INFO for openssl_seal()). (cmb) . Fixed bug #60632 (openssl_seal fails with AES). (Jakub Zelenka) @@ -703,7 +735,7 @@ PHP NEWS - Standard: . Fixed bug #70052 (getimagesize() fails for very large and very small WBMP). (cmb) - . Fixed bug #70157 (parse_ini_string() segmentation fault with + . Fixed bug #70157 (parse_ini_string() segmentation fault with INI_SCANNER_TYPED). (Tjerk) - XSLT: @@ -729,7 +761,7 @@ PHP NEWS - CLI server: . Fixed bug #69655 (php -S changes MKCALENDAR request method to MKCOL). (cmb) . Fixed bug #64878 (304 responses return Content-Type header). (cmb) - + - GD: . Fixed bug #53156 (imagerectangle problem with point ordering). (cmb) . Fixed bug #66387 (Stack overflow with imagefilltoborder). (CVE-2015-8874) @@ -810,7 +842,7 @@ PHP NEWS - Mysqlnd: . Fixed bug #69669 (mysqlnd is vulnerable to BACKRONYM). (CVE-2015-3152) (Andrey) - + - PCRE: . Fixed Bug #53823 (preg_replace: * qualifier on unicode replace garbles the string). (cmb) @@ -903,7 +935,7 @@ PHP NEWS 14 May 2015, PHP 5.6.9 - Core: - . Fixed bug #69467 (Wrong checked for the interface by using Trait). + . Fixed bug #69467 (Wrong checked for the interface by using Trait). (Laruence) . Fixed bug #69420 (Invalid read in zend_std_get_method). (Laruence) . Fixed bug #60022 ("use statement [...] has no effect" depends on leading @@ -1024,7 +1056,7 @@ PHP NEWS (Mike) . Fixed bug #64931 (phar_add_file is too restrictive on filename). (Mike) . Fixed bug #65467 (Call to undefined method cli_arg_typ_string). (Mike) - . Fixed bug #67761 (Phar::mapPhar fails for Phars inside a path containing + . Fixed bug #67761 (Phar::mapPhar fails for Phars inside a path containing ".tar"). (Mike) . Fixed bug #69324 (Buffer Over-read in unserialize when parsing Phar). (Stas) . Fixed bug #69441 (Buffer Overflow when parsing tar/zip/phar in @@ -1036,7 +1068,7 @@ PHP NEWS - SOAP: . Fixed bug #69152 (Type Confusion Infoleak Vulnerability in unserialize() with SoapFault). (Dmitry) - . Fixed bug #69293 (NEW segfault when using SoapClient::__setSoapHeader + . Fixed bug #69293 (NEW segfault when using SoapClient::__setSoapHeader (bisected, regression)). (Laruence) - SPL: @@ -1058,7 +1090,7 @@ PHP NEWS (Laruence) . Fixed bug #69121 (Segfault in get_current_user when script owner is not in passwd with ZTS build). (dan at syneto dot net) - . Fixed bug #65593 (Segfault when calling ob_start from output buffering + . Fixed bug #65593 (Segfault when calling ob_start from output buffering callback). (Mike) . Fixed bug #68986 (pointer returned by php_stream_fopen_temporary_file not validated in memory.c). (nayana at ddproperty dot com) @@ -1095,7 +1127,7 @@ PHP NEWS . Fixed bug #68964 (Allowed memory size exhausted with odbc_exec). (Anatol) - Opcache: - . Fixed bug #69159 (Opcache causes problem when passing a variable variable + . Fixed bug #69159 (Opcache causes problem when passing a variable variable to a function). (Dmitry, Laruence) . Fixed bug #69125 (Array numeric string as key). (Laruence) . Fixed bug #69038 (switch(SOMECONSTANT) misbehaves). (Laruence) @@ -1129,7 +1161,7 @@ PHP NEWS - SPL: . Fixed bug #69108 ("Segmentation fault" when (de)serializing SplObjectStorage). (Laruence) - . Fixed bug #68557 (RecursiveDirectoryIterator::seek(0) broken after + . Fixed bug #68557 (RecursiveDirectoryIterator::seek(0) broken after calling getChildren()). (Julien) - ZIP: @@ -1205,7 +1237,7 @@ PHP NEWS . Fixed bug #68063 (Empty session IDs do still start sessions) (Yasuo) - Sqlite3: - . Fixed bug #68260 (SQLite3Result::fetchArray declares wrong + . Fixed bug #68260 (SQLite3Result::fetchArray declares wrong required_num_args). (Julien) - Standard: @@ -1250,7 +1282,7 @@ PHP NEWS CURLOPT_RETURNTRANSFER isn't set). (Jille Timmermans) - Date: - . Implemented FR #68268 (DatePeriod: Getter for start date, end date and + . Implemented FR #68268 (DatePeriod: Getter for start date, end date and interval). (Marc Bennewitz) - EXIF: @@ -1327,7 +1359,7 @@ PHP NEWS (Adam) . Fixed bug #68104 (Segfault while pre-evaluating a disabled function). (Laruence) - . Fixed bug #68185 ("Inconsistent insteadof definition."- incorrectly + . Fixed bug #68185 ("Inconsistent insteadof definition."- incorrectly triggered). (Julien) . Fixed bug #68355 (Inconsistency in example php.ini comments). (Chris McCafferty) @@ -1374,7 +1406,7 @@ PHP NEWS (Matteo) - Session: - . Fixed bug #68331 (Session custom storage callable functions not being called) + . Fixed bug #68331 (Session custom storage callable functions not being called) (Yasuo Ohgaki) - SOAP: @@ -1399,13 +1431,13 @@ PHP NEWS . Fixed bug #68095 (AddressSanitizer reports a heap buffer overflow in php_getopt()). (Stas) . Fixed bug #68118 ($a->foo .= 'test'; can leave $a->foo undefined). (Nikita) - . Fixed bug #68129 (parse_url() - incomplete support for empty usernames + . Fixed bug #68129 (parse_url() - incomplete support for empty usernames and passwords) (Tjerk) . Fixed bug #68365 (zend_mm_heap corrupted after memory overflow in zend_hash_copy). (Dmitry) - CURL: - . Add CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, and + . Add CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, and CURL_SSLVERSION_TLSv1_2 constants if supported by libcurl (Rasmus) - Fileinfo: @@ -1577,7 +1609,7 @@ PHP NEWS . Fixed bug #67250 (iptcparse out-of-bounds read). (Stas) . Fixed bug #67252 (convert_uudecode out-of-bounds read). (Stas) . Fixed bug #67249 (printf out-of-bounds read). (Stas) - . Implemented FR #64744 (Differentiate between member function call on a null + . Implemented FR #64744 (Differentiate between member function call on a null and non-null, non-objects). (Boro Sitnikovski) . Fixed bug #67436 (Autoloader isn't called if two method definitions don't match). (Bob) @@ -1608,7 +1640,7 @@ PHP NEWS (Ralf Lang, Mike) . Reduced POST data memory usage by 200-300%. Changed INI setting always_populate_raw_post_data to throw a deprecation warning when enabling - and to accept -1 for never populating the $HTTP_RAW_POST_DATA global + and to accept -1 for never populating the $HTTP_RAW_POST_DATA global variable, which will be the default in future PHP versions. (Mike) . Implemented dedicated syntax for variadic functions (RFC: https://wiki.php.net/rfc/variadics). (Nikita) @@ -1621,9 +1653,9 @@ PHP NEWS . Allow zero length comparison in substr_compare() (Tjerk) . Fixed bug #60602 (proc_open() changes environment array) (Tjerk) . Fixed bug #61019 (Out of memory on command stream_get_contents). (Mike) - . Fixed bug #64330 (stream_socket_server() creates wrong Abstract Namespace + . Fixed bug #64330 (stream_socket_server() creates wrong Abstract Namespace UNIX sockets). (Mike) - . Fixed bug #66182 (exit in stream filter produces segfault). (Mike) + . Fixed bug #66182 (exit in stream filter produces segfault). (Mike) . Fixed bug #66736 (fpassthru broken). (Mike) . Fixed bug #66822 (Cannot use T_POW in const expression) (Tjerk) . Fixed bug #67043 (substr_compare broke by previous change) (Tjerk) @@ -1994,7 +2026,7 @@ PHP NEWS (Matteo) - PDO-ODBC: - . Fixed bug #50444 (PDO-ODBC changes for 64-bit). + . Fixed bug #50444 (PDO-ODBC changes for 64-bit). - PDO_pgsql: . Fixed Bug #42614 (PDO_pgsql: add pg_get_notify support). (Matteo) @@ -2053,7 +2085,7 @@ PHP NEWS - SPL: . Revert fix for bug #67064 (BC issues). (Bob) - . Fixed bug #67539 (ArrayIterator use-after-free due to object change during + . Fixed bug #67539 (ArrayIterator use-after-free due to object change during sorting). (CVE-2014-4698) (research at insighti dot org, Laruence) . Fixed bug #67538 (SPL Iterators use-after-free). (CVE-2014-4670) (Laruence) . Fixed bug #67492 (unserialize() SPL ArrayObject / SPLObjectStorage Type @@ -2082,7 +2114,7 @@ PHP NEWS token). (Ferenc) - XMLReader: - . Fixed bug #55285 (XMLReader::getAttribute/No/Ns methods inconsistency). + . Fixed bug #55285 (XMLReader::getAttribute/No/Ns methods inconsistency). (Mike) - XSL: @@ -2102,7 +2134,7 @@ PHP NEWS - Zlib: . Fixed bug #67865 (internal corruption phar error). Mike - . Fixed bug #67724 (chained zlib filters silently fail with large amounts of + . Fixed bug #67724 (chained zlib filters silently fail with large amounts of data). (Mike) 21 Aug 2014, PHP 5.5.16 @@ -2127,7 +2159,7 @@ PHP NEWS - Milter: . Fixed bug #67715 (php-milter does not build and crashes randomly). (Mike) - + - Network: . Fixed bug #67717 (segfault in dns_get_record). (CVE-2014-3597) (Remi) @@ -2181,7 +2213,7 @@ PHP NEWS . Fixed bug #67531 (syslog cannot be set in pool configuration). (Remi) - Intl: - . Fixed bug #66921 (Wrong argument type hint for function + . Fixed bug #66921 (Wrong argument type hint for function intltz_from_date_time_zone). (Stas) . Fixed bug #67052 (NumberFormatter::parse() resets LC_NUMERIC setting). (Stas) @@ -2198,7 +2230,7 @@ PHP NEWS . Fixed bug #67587 (Redirection loop on nginx with FPM). (Christian Weiske) - SPL: - . Fixed bug #67539 (ArrayIterator use-after-free due to object change during + . Fixed bug #67539 (ArrayIterator use-after-free due to object change during sorting). (CVE-2014-4698) (research at insighti dot org, Laruence) . Fixed bug #67538 (SPL Iterators use-after-free). (CVE-2014-4670) (Laruence) @@ -2320,9 +2352,9 @@ PHP NEWS 30 Apr 2014, PHP 5.5.12 - Core: . Fixed bug #61019 (Out of memory on command stream_get_contents). (Mike) - . Fixed bug #64330 (stream_socket_server() creates wrong Abstract Namespace + . Fixed bug #64330 (stream_socket_server() creates wrong Abstract Namespace UNIX sockets). (Mike) - . Fixed bug #66182 (exit in stream filter produces segfault). (Mike) + . Fixed bug #66182 (exit in stream filter produces segfault). (Mike) . Fixed bug #66736 (fpassthru broken). (Mike) . Fixed bug #67024 (getimagesize should recognize BMP files with negative height). (Gabor Buella) @@ -2416,7 +2448,7 @@ PHP NEWS (Nikita) - Intl: - . Fixed bug #66873 (A reproductible crash in UConverter when given invalid + . Fixed bug #66873 (A reproductible crash in UConverter when given invalid encoding) (Stas) - Mail: @@ -2491,7 +2523,7 @@ PHP NEWS (Dmitry) . Fixed bug #66461 (PHP crashes if opcache.interned_strings_buffer=0). (Dmitry) - . Fixed bug #66298 (ext/opcache/Optimizer/zend_optimizer.c has dos-style + . Fixed bug #66298 (ext/opcache/Optimizer/zend_optimizer.c has dos-style ^M as lineend). (Laruence) - PDO_pgsql: @@ -2533,12 +2565,12 @@ spaces) (willfitch, iliaa) . Fixed bug #66218 (zend_register_functions breaks reflection). (Remi) - Date: - . Fixed bug #66060 (Heap buffer over-read in DateInterval) (CVE-2013-6712). + . Fixed bug #66060 (Heap buffer over-read in DateInterval) (CVE-2013-6712). (Remi) . Fixed bug #65768 (DateTimeImmutable::diff does not work). (Nikita Nefedov) - + - DOM: - . Fixed bug #65196 (Passing DOMDocumentFragment to DOMDocument::saveHTML() + . Fixed bug #65196 (Passing DOMDocumentFragment to DOMDocument::saveHTML() Produces invalid Markup). (Mike) - Exif: @@ -2550,9 +2582,9 @@ spaces) (willfitch, iliaa) - GD: . Fixed bug #64405 (Use freetype-config for determining freetype2 dir(s)). (Adam) - + - PDO_odbc: - . Fixed bug #66311 (Stack smashing protection kills PDO/ODBC queries). + . Fixed bug #66311 (Stack smashing protection kills PDO/ODBC queries). (michael at orlitzky dot com) - MySQLi: @@ -2589,7 +2621,7 @@ spaces) (willfitch, iliaa) server) - also implements apache_response_headers() (Andrea Faulds) - Core: - . Fixed bug #66094 (unregister_tick_function tries to cast a Closure to a + . Fixed bug #66094 (unregister_tick_function tries to cast a Closure to a string). (Laruence) . Fixed bug #65969 (Chain assignment with T_LIST failure). (Dmitry) @@ -2609,7 +2641,7 @@ spaces) (willfitch, iliaa) 14 Nov 2013, PHP 5.5.6 - Core: - . Fixed bug #65947 (basename is no more working after fgetcsv in certain + . Fixed bug #65947 (basename is no more working after fgetcsv in certain situation). (Laruence) . Improved performance of array_merge() and func_get_args() by eliminating useless copying. (Dmitry) @@ -2640,7 +2672,7 @@ spaces) (willfitch, iliaa) 32 characters). (patch submitted by: michael dot y at zend dot com, Yasuo) - PDO: - . Fixed bug #66033 (Segmentation Fault when constructor of PDO statement + . Fixed bug #66033 (Segmentation Fault when constructor of PDO statement throws an exception). (Laruence) . Fixed bug 65946 (sql_parser permanently converts values bound to strings) @@ -2661,7 +2693,7 @@ spaces) (willfitch, iliaa) - CLI server: . Fixed bug #65633 (built-in server treat some http headers as case-sensitive). (Adam) - . Fixed bug #65818 (Segfault with built-in webserver and chunked transfer + . Fixed bug #65818 (Segfault with built-in webserver and chunked transfer encoding). (Felipe) . Added application/pdf to PHP CLI Web Server mime types (Chris Jones) @@ -2714,17 +2746,17 @@ spaces) (willfitch, iliaa) a default value). (Nikita) - Standard: - . Fixed bug #61548 (content-type must appear at the end of headers for 201 + . Fixed bug #61548 (content-type must appear at the end of headers for 201 Location to work in http). (Mike) - XMLReader: . Fixed bug #51936 (Crash with clone XMLReader). (Mike) . Fixed bug #64230 (XMLReader does not suppress errors). (Mike) - + - Build system: . Fixed bug #51076 (race condition in shtool's mkdir -p implementation). (Mike, Raphael Geissert) - . Fixed bug #62396 ('make test' crashes starting with 5.3.14 (missing + . Fixed bug #62396 ('make test' crashes starting with 5.3.14 (missing gzencode())). (Mike) @@ -2734,7 +2766,7 @@ spaces) (willfitch, iliaa) . Fixed bug #60598 (cli/apache sapi segfault on objects manipulation). (Laruence) . Improved fputcsv() to allow specifying escape character. - . Fixed bug #65490 (Duplicate calls to get lineno & filename for + . Fixed bug #65490 (Duplicate calls to get lineno & filename for DTRACE_FUNCTION_*). (Chris Jones) . Fixed bug #65483 (quoted-printable encode stream filter incorrectly encoding spaces). (Michael M Slusarz) @@ -2766,21 +2798,21 @@ spaces) (willfitch, iliaa) some cases). (Mark Jones) - PDO: - . Fixed bug #64953 (Postgres prepared statement positional parameter + . Fixed bug #64953 (Postgres prepared statement positional parameter casting). (Mike) - Session: . Fixed bug #65475 (Session ID is not initialized properly when strict session is enabled). (Yasuo) - . Fixed bug #51127/#65359 Request #25630/#43980/#54383 (Added php_serialize + . Fixed bug #51127/#65359 Request #25630/#43980/#54383 (Added php_serialize session serialize handler that uses plain serialize()). (Yasuo) - Standard: . Fix issue with return types of password API helper functions. Found via - static analysis by cjones. (Anthony Ferrara) + static analysis by cjones. (Anthony Ferrara) - Zlib: - . Fixed bug #65391 (Unable to send vary header user-agent when + . Fixed bug #65391 (Unable to send vary header user-agent when ob_start('ob_gzhandler') is called) (Mike) 22 Aug 2013, PHP 5.5.3 @@ -2805,8 +2837,8 @@ spaces) (willfitch, iliaa) Zend/zend_dtrace.d) (Chris Jones) - DOM: - . Added flags option to DOMDocument::schemaValidate() and - DOMDocument::schemaValidateSource(). Added LIBXML_SCHEMA_CREATE flag. + . Added flags option to DOMDocument::schemaValidate() and + DOMDocument::schemaValidateSource(). Added LIBXML_SCHEMA_CREATE flag. (Chris Wright) - OPcache: @@ -2829,12 +2861,12 @@ spaces) (willfitch, iliaa) /pg_delete()/pg_insert()). (Yasuo) - Phar: - . Fixed bug #65028 (Phar::buildFromDirectory creates corrupt archives for + . Fixed bug #65028 (Phar::buildFromDirectory creates corrupt archives for some specific contents). (Stas) - Sessions: . Implemented strict sessions RFC (https://wiki.php.net/rfc/strict_sessions) - which protects against session fixation attacks and session collisions. + which protects against session fixation attacks and session collisions. (CVE-2011-4718). (Yasuo Ohgaki) . Fixed possible buffer overflow under Windows. Note: Not a security fix. (Yasuo) @@ -2845,9 +2877,9 @@ spaces) (willfitch, iliaa) - SPL: . Fixed bug #65328 (Segfault when getting SplStack object Value). (Laruence) - . Added RecursiveTreeIterator setPostfix and getPostifx methods. (Joshua + . Added RecursiveTreeIterator setPostfix and getPostifx methods. (Joshua Thijssen) - . Fixed bug #61697 (spl_autoload_functions returns lambda functions + . Fixed bug #61697 (spl_autoload_functions returns lambda functions incorrectly). (Laruence) - Streams: @@ -2864,7 +2896,7 @@ spaces) (willfitch, iliaa) with a namespace). (Laruence) . Fixed bug #65088 (Generated configure script is malformed on OpenBSD). (Adam) - . Fixed bug #65108 (is_callable() triggers Fatal Error). + . Fixed bug #65108 (is_callable() triggers Fatal Error). (David Soria Parra, Laruence) . Fixed bug #65035 (yield / exit segfault). (Nikita) . Fixed bug #65161 (Generator + autoload + syntax error = segfault). (Nikita) @@ -3282,7 +3314,7 @@ spaces) (willfitch, iliaa) . Fixed bug #63284 (Upgrade PCRE to 8.31). (Anatoliy) - PDO: - . Fixed bug #63176 (Segmentation fault when instantiate 2 persistent PDO to + . Fixed bug #63176 (Segmentation fault when instantiate 2 persistent PDO to the same db server). (Laruence) - PDO_DBlib: @@ -3368,7 +3400,7 @@ spaces) (willfitch, iliaa) 06 Jun 2013, PHP 5.4.16 - Core: - . Fixed bug #64879 (Heap based buffer overflow in quoted_printable_encode, + . Fixed bug #64879 (Heap based buffer overflow in quoted_printable_encode, CVE 2013-2110). (Stas) . Fixed bug #64853 (Use of no longer available ini directives causes crash on TS build). (Anatol) @@ -3397,7 +3429,7 @@ spaces) (willfitch, iliaa) pointer has closed). (Laruence) - Phar - . Fixed bug #64214 (PHAR PHPTs intermittently crash when run on DFS, SMB or + . Fixed bug #64214 (PHAR PHPTs intermittently crash when run on DFS, SMB or with non std tmp dir). (Pierre) - SNMP: @@ -3410,7 +3442,7 @@ spaces) (willfitch, iliaa) on Windows x64). (Anatol) - Zend Engine: - . Fixed bug #64821 (Custom Exceptions crash when internal properties + . Fixed bug #64821 (Custom Exceptions crash when internal properties overridden). (Anatol) 09 May 2013, PHP 5.4.15 From abe00908afa2b7227cfd601ee948ff3b57c27eb7 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Wed, 17 Aug 2016 16:54:21 +0800 Subject: [PATCH 174/206] Fixed bug #72853 (stream_set_blocking doesn't work) Implemented PHP_STREAM_OPTION_META_DATA_API for plain_wrappers --- NEWS | 3 ++ ext/standard/tests/streams/bug72853.phpt | 59 ++++++++++++++++++++++++ main/streams/plain_wrapper.c | 14 +++++- 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 ext/standard/tests/streams/bug72853.phpt diff --git a/NEWS b/NEWS index 1d5e5f8189ed6..fdaa671f978e8 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2016, PHP 5.6.26 +- Streams: + . Fixed bug #72853 (stream_set_blocking doesn't work). (Laruence) + - FTP: . Fixed bug #70195 (Cannot upload file using ftp_put to FTPES with require_ssl_reuse). (Benedict Singer) diff --git a/ext/standard/tests/streams/bug72853.phpt b/ext/standard/tests/streams/bug72853.phpt new file mode 100644 index 0000000000000..48bd60e7a6293 --- /dev/null +++ b/ext/standard/tests/streams/bug72853.phpt @@ -0,0 +1,59 @@ +--TEST-- +Bug #72853 (stream_set_blocking doesn't work) +--SKIPIF-- + +--FILE-- + array('pipe', 'r'), // stdin + 1 => array('pipe', 'w'), // stdout +); + +$p = proc_open("ls", $descs, $pipes, '.', NULL, NULL); + +stream_set_blocking($pipes[1], false); +var_dump(stream_get_meta_data($pipes[1])); +stream_set_blocking($pipes[1], true); +while ($outs = fgets($pipes[1], 1024)) { +} +var_dump(stream_get_meta_data($pipes[1])); +proc_close($p); +?> +--EXPECTF-- +array(7) { + ["timed_out"]=> + bool(false) + ["blocked"]=> + bool(false) + ["eof"]=> + bool(false) + ["stream_type"]=> + string(5) "STDIO" + ["mode"]=> + string(1) "r" + ["unread_bytes"]=> + int(0) + ["seekable"]=> + bool(false) +} +array(7) { + ["timed_out"]=> + bool(false) + ["blocked"]=> + bool(true) + ["eof"]=> + bool(true) + ["stream_type"]=> + string(5) "STDIO" + ["mode"]=> + string(1) "r" + ["unread_bytes"]=> + int(0) + ["seekable"]=> + bool(false) +} diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c index 55f744c55de88..f472bad4b9e98 100644 --- a/main/streams/plain_wrapper.c +++ b/main/streams/plain_wrapper.c @@ -818,7 +818,19 @@ static int php_stdiop_set_option(php_stream *stream, int option, int value, void return ftruncate(fd, new_size) == 0 ? PHP_STREAM_OPTION_RETURN_OK : PHP_STREAM_OPTION_RETURN_ERR; } } - + case PHP_STREAM_OPTION_META_DATA_API: + if (fd == -1) + return -1; +#ifdef O_NONBLOCK + flags = fcntl(fd, F_GETFL, 0); + + add_assoc_bool((zval*)ptrparam, "timed_out", 0); + add_assoc_bool((zval*)ptrparam, "blocked", (flags & O_NONBLOCK)? 0 : 1); + add_assoc_bool((zval*)ptrparam, "eof", stream->eof); + + return PHP_STREAM_OPTION_RETURN_OK; +#endif + return -1; default: return PHP_STREAM_OPTION_RETURN_NOTIMPL; } From 48198e4c257825ab89ee027bff5a93fc2cd59601 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 17 Aug 2016 12:43:29 +0200 Subject: [PATCH 175/206] Fix #68302: impossible to compile php with zip support We should not let configure succeed, if SIZEOF_OFF_T == 0, just to let the compilation fail later. Instead we bail out early, giving a hint regarding the potential issue, namely misconfigured libraries. --- NEWS | 3 +++ ext/zip/config.m4 | 3 +++ 2 files changed, 6 insertions(+) diff --git a/NEWS b/NEWS index fdaa671f978e8..dca9d4f48bca6 100644 --- a/NEWS +++ b/NEWS @@ -31,6 +31,9 @@ PHP NEWS - XML: . Fixed bug #72085 (SEGV on unknown address zif_xml_parse). (cmb) +- ZIP: + . Fixed bug #68302 (impossible to compile php with zip support). (cmb) + 18 Aug 2016, PHP 5.6.25 - Bz2: diff --git a/ext/zip/config.m4 b/ext/zip/config.m4 index a21ad2d3e12e6..845d446055960 100644 --- a/ext/zip/config.m4 +++ b/ext/zip/config.m4 @@ -148,6 +148,9 @@ AC_CHECK_SIZEOF([int]) AC_CHECK_SIZEOF([long]) AC_CHECK_SIZEOF([long long]) AC_CHECK_SIZEOF([off_t]) +if test "$ac_cv_sizeof_off_t" = "0" ; then + AC_MSG_ERROR(off_t undefined; check your library configuration) +fi AC_CHECK_SIZEOF([size_t]) AC_PATH_PROG([TOUCH], [touch]) From a3159d29bb24d5c946c14b7aa33e96bebcd56e59 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 17 Aug 2016 17:59:33 +0200 Subject: [PATCH 176/206] Make tests a little more resilient PNG allows identical images to be stored differently what makes nearly all tests checking the MD5 hash of the PNG representation fail with external libgd. For now, we use the GD format instead, which doesn't allow for such differences. Of course, this md5() checking should be replaced by a image diffing feature in the long run. --- ext/gd/tests/bug22544.phpt | 4 ++-- ext/gd/tests/bug43828.phpt | 4 ++-- ext/gd/tests/bug72604.phpt | 4 ++-- ext/gd/tests/imagearc_basic.phpt | 4 ++-- ext/gd/tests/imagearc_error1.phpt | 4 ++-- ext/gd/tests/imagearc_variation1.phpt | 4 ++-- ext/gd/tests/imagearc_variation2.phpt | 4 ++-- ext/gd/tests/imagechar_basic.phpt | 4 ++-- ext/gd/tests/imagecharup_basic.phpt | 4 ++-- ext/gd/tests/imagecolorallocatealpha_basic.phpt | 4 ++-- ext/gd/tests/imagecolorset_basic.phpt | 4 ++-- ext/gd/tests/imageconvolution_basic.phpt | 4 ++-- ext/gd/tests/imagecreatetruecolor_basic.phpt | 4 ++-- ext/gd/tests/imageellipse_basic.phpt | 4 ++-- ext/gd/tests/imagefilledarc_basic.phpt | 4 ++-- ext/gd/tests/imagefilledarc_error1.phpt | 4 ++-- ext/gd/tests/imagefilledarc_variation1.phpt | 4 ++-- ext/gd/tests/imagefilledarc_variation2.phpt | 4 ++-- ext/gd/tests/imagefilledellipse_basic.phpt | 4 ++-- ext/gd/tests/imagefilltoborder_basic.phpt | 4 ++-- ext/gd/tests/imagegammacorrect_basic.phpt | 4 ++-- ext/gd/tests/imagegammacorrect_variation1.phpt | 4 ++-- ext/gd/tests/imagelayereffect_basic.phpt | 4 ++-- ext/gd/tests/imagerectangle_basic.phpt | 4 ++-- ext/gd/tests/imagesetbrush_basic.phpt | 4 ++-- ext/gd/tests/imagesetthickness_basic.phpt | 4 ++-- ext/gd/tests/imagestring_basic.phpt | 4 ++-- ext/gd/tests/imagestringup_basic.phpt | 4 ++-- ext/gd/tests/imagetruecolortopalette_basic.phpt | 4 ++-- ext/gd/tests/libgd00100.phpt | 4 ++-- 30 files changed, 60 insertions(+), 60 deletions(-) diff --git a/ext/gd/tests/bug22544.phpt b/ext/gd/tests/bug22544.phpt index 4c8f763a7348b..b18eef4332ffa 100644 --- a/ext/gd/tests/bug22544.phpt +++ b/ext/gd/tests/bug22544.phpt @@ -15,9 +15,9 @@ Bug #22544 (TrueColor transparency in PNG images). $red = imageColorAllocate($image, 255, 50, 50); imageColorTransparent($image, $transparent); imageFilledRectangle($image, 0, 0, 640-1, 100-1, $transparent); - imagePng($image, $dest); + imagegd($image, $dest); echo md5_file($dest) . "\n"; @unlink($dest); ?> --EXPECT-- -10a57d09a2c63fad87b85b38d6b258d6 +7643ef115f642a79c2de6e411f485ddd diff --git a/ext/gd/tests/bug43828.phpt b/ext/gd/tests/bug43828.phpt index 05445608d3e50..c43a5c6c006cc 100644 --- a/ext/gd/tests/bug43828.phpt +++ b/ext/gd/tests/bug43828.phpt @@ -15,9 +15,9 @@ $color = imagecolorallocatealpha($im, 0, 255, 0, 100); imagefilledarc($im, 49, 49, 99,99, 0 , 360, $color, IMG_ARC_PIE); ob_start(); -imagepng($im); +imagegd($im); echo md5(ob_get_clean()); imagedestroy($im); ?> --EXPECT-- -3d82e4525f19790ae1055366e2a36917 +2400a58cd7570b5472c25264715321cd diff --git a/ext/gd/tests/bug72604.phpt b/ext/gd/tests/bug72604.phpt index b1dea5e403313..edc3ce327f190 100644 --- a/ext/gd/tests/bug72604.phpt +++ b/ext/gd/tests/bug72604.phpt @@ -11,9 +11,9 @@ $im = imagecreatetruecolor(100, 100); imagesetthickness($im, 5); imagearc($im, 50, 50, 90, 90, 0, 360, 0xffffff); ob_start(); -imagepng($im); +imagegd($im); $imagestring = ob_get_clean(); echo md5($imagestring); ?> --EXPECT-- -2ffa6afb915afbdf870cf6459477bc8a +4f5080080a774efe4fc8d55cd4a5849c diff --git a/ext/gd/tests/imagearc_basic.phpt b/ext/gd/tests/imagearc_basic.phpt index 4647dd1e3f990..953428def9e55 100644 --- a/ext/gd/tests/imagearc_basic.phpt +++ b/ext/gd/tests/imagearc_basic.phpt @@ -18,11 +18,11 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF); imagearc($image, 50, 50, 30, 30, 0, 180, $white); ob_start(); -imagepng($image); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -f18ad8001afefee2e9b8c08d6884425b +13149c3fd54a92a0d43cd5083a19b1d7 diff --git a/ext/gd/tests/imagearc_error1.phpt b/ext/gd/tests/imagearc_error1.phpt index 423f0356af974..05d1cd8186d37 100644 --- a/ext/gd/tests/imagearc_error1.phpt +++ b/ext/gd/tests/imagearc_error1.phpt @@ -18,7 +18,7 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF); imagearc($image, 50, 50, 30, 30, 0, 180); ob_start(); -imagepng($image); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); @@ -26,4 +26,4 @@ echo md5(base64_encode($img)); ?> --EXPECTF-- Warning: imagearc() expects exactly 8 parameters, 7 given in %s on line %d -abebb25b5a2813cfbf92f1f24365786a +c5b7013900f5466aebfc42499a7ec8ec diff --git a/ext/gd/tests/imagearc_variation1.phpt b/ext/gd/tests/imagearc_variation1.phpt index 568d3a6d47b90..aaf6103b4381b 100644 --- a/ext/gd/tests/imagearc_variation1.phpt +++ b/ext/gd/tests/imagearc_variation1.phpt @@ -18,11 +18,11 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF); imagearc($image, 50, 50, 30, 30, 0, -90, $white); ob_start(); -imagepng($image); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -ed2c8427a9922dfd8a105f10a88a0d20 +fe662ebe7488057c43e38c5de43b1727 diff --git a/ext/gd/tests/imagearc_variation2.phpt b/ext/gd/tests/imagearc_variation2.phpt index 045c68e61c20f..0c1c6466e14df 100644 --- a/ext/gd/tests/imagearc_variation2.phpt +++ b/ext/gd/tests/imagearc_variation2.phpt @@ -18,11 +18,11 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF); imagearc($image, 50, 50, 30, 30, -90, 0, $white); ob_start(); -imagepng($image); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -463b4aea9d9acfab30016ee92613c779 +8bd78aa775b5f29e7227eaeebaa84889 diff --git a/ext/gd/tests/imagechar_basic.phpt b/ext/gd/tests/imagechar_basic.phpt index 7e5fa931bcf2d..fa6dd4d93520a 100644 --- a/ext/gd/tests/imagechar_basic.phpt +++ b/ext/gd/tests/imagechar_basic.phpt @@ -15,11 +15,11 @@ $white = imagecolorallocate($image, 255,255,255); $result = imagechar($image, 1, 5, 5, 'C', $white); ob_start(); -imagepng($image, null, 9); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -e94962ac28ad03bd4142cb1abe9ef98b +f0291252e7ac2fadda25e63287e6860c diff --git a/ext/gd/tests/imagecharup_basic.phpt b/ext/gd/tests/imagecharup_basic.phpt index 54c8dfaa4a561..194c32564ddbe 100644 --- a/ext/gd/tests/imagecharup_basic.phpt +++ b/ext/gd/tests/imagecharup_basic.phpt @@ -15,11 +15,11 @@ $white = imagecolorallocate($image, 255,255,255); $result = imagecharup($image, 1, 5, 5, 'C', $white); ob_start(); -imagepng($image, null, 9); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -79b48d5cef6d489bb68573df0296d775 +c65aad5d78f934dee2a844e7978eabd5 diff --git a/ext/gd/tests/imagecolorallocatealpha_basic.phpt b/ext/gd/tests/imagecolorallocatealpha_basic.phpt index bb2e5a7f4f86a..a42c51d48351d 100644 --- a/ext/gd/tests/imagecolorallocatealpha_basic.phpt +++ b/ext/gd/tests/imagecolorallocatealpha_basic.phpt @@ -18,7 +18,7 @@ $half = imagefilledarc ( $img, 75, 75, 70, 70, 0, 180, $cor, IMG_ARC_PIE ); $half2 = imagefilledarc ( $img, 75, 75, 70, 70, 180, 360, $corA, IMG_ARC_PIE ); ob_start(); -imagepng($img, null, 9); +imagegd($img); $imgsrc = ob_get_contents(); ob_end_clean(); @@ -26,5 +26,5 @@ var_dump(md5(base64_encode($imgsrc))); var_dump($corA); ?> --EXPECT-- -string(32) "f95489d97f4f1a5c4dc265388922d1ec" +string(32) "0981ef94ee2209a8dccb59aa8ad07e18" int(842163455) \ No newline at end of file diff --git a/ext/gd/tests/imagecolorset_basic.phpt b/ext/gd/tests/imagecolorset_basic.phpt index a1776ff50fceb..01e5f7bfd585d 100644 --- a/ext/gd/tests/imagecolorset_basic.phpt +++ b/ext/gd/tests/imagecolorset_basic.phpt @@ -25,11 +25,11 @@ imagecolorset($im, $bg, 0, 0, 255); // Get output and generate md5 hash ob_start(); -imagepng($im, null, 9); +imagegd($im); $result_image = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($result_image)); imagedestroy($im); ?> --EXPECT-- -6f2002aafb57b2d275fad6a6258d7476 +85e406abd0a975c97b3403cad5d078c9 diff --git a/ext/gd/tests/imageconvolution_basic.phpt b/ext/gd/tests/imageconvolution_basic.phpt index 5a9aa8f95b3ec..9e629ac0e658d 100644 --- a/ext/gd/tests/imageconvolution_basic.phpt +++ b/ext/gd/tests/imageconvolution_basic.phpt @@ -23,11 +23,11 @@ $gaussian = array( imageconvolution($image, $gaussian, 16, 0); ob_start(); -imagepng($image, null, 9); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -594576a2a2a689447ffc07eb5a73f09b +20979b45f8772cdbd78262af4e332638 diff --git a/ext/gd/tests/imagecreatetruecolor_basic.phpt b/ext/gd/tests/imagecreatetruecolor_basic.phpt index 5c85f52380cba..a6eced15b338f 100644 --- a/ext/gd/tests/imagecreatetruecolor_basic.phpt +++ b/ext/gd/tests/imagecreatetruecolor_basic.phpt @@ -12,11 +12,11 @@ Rafael Dohms $image = imagecreatetruecolor(180, 30); ob_start(); -imagepng($image, null, 9); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -5a8fe9864cbd20e5dbe730c77f30db95 +da884f488a851e0267a316ad232aee86 diff --git a/ext/gd/tests/imageellipse_basic.phpt b/ext/gd/tests/imageellipse_basic.phpt index bfd0b79f584e1..759e42ab72e4d 100644 --- a/ext/gd/tests/imageellipse_basic.phpt +++ b/ext/gd/tests/imageellipse_basic.phpt @@ -17,11 +17,11 @@ $image = imagecreatetruecolor(400, 300); imageellipse($image, 200, 150, 300, 200, 16777215); ob_start(); -imagepng($image, null, 9); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -d8b9bc2ca224bd68569413f4617f8e1f +49c1544b012c3460c74cd04f1332d4ad diff --git a/ext/gd/tests/imagefilledarc_basic.phpt b/ext/gd/tests/imagefilledarc_basic.phpt index 3357dd75aaddd..4e3bf291370e6 100644 --- a/ext/gd/tests/imagefilledarc_basic.phpt +++ b/ext/gd/tests/imagefilledarc_basic.phpt @@ -18,11 +18,11 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF); imagefilledarc($image, 50, 50, 30, 30, 0, 90, $white, IMG_ARC_PIE); ob_start(); -imagepng($image); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -beffeaf5231adaaff1f21a2108fb6f7e +87637c60ac0ceea48dbcaa4d98319f90 diff --git a/ext/gd/tests/imagefilledarc_error1.phpt b/ext/gd/tests/imagefilledarc_error1.phpt index b2bc4172de33c..46d51ba34bbb8 100644 --- a/ext/gd/tests/imagefilledarc_error1.phpt +++ b/ext/gd/tests/imagefilledarc_error1.phpt @@ -18,7 +18,7 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF); imagefilledarc($image, 50, 50, 30, 30, 0, 90, $white); ob_start(); -imagepng($image); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); @@ -26,4 +26,4 @@ echo md5(base64_encode($img)); ?> --EXPECTF-- Warning: imagefilledarc() expects exactly 9 parameters, 8 given in %s on line %d -abebb25b5a2813cfbf92f1f24365786a +c5b7013900f5466aebfc42499a7ec8ec diff --git a/ext/gd/tests/imagefilledarc_variation1.phpt b/ext/gd/tests/imagefilledarc_variation1.phpt index 2254b0910ff09..257c898abd3a0 100644 --- a/ext/gd/tests/imagefilledarc_variation1.phpt +++ b/ext/gd/tests/imagefilledarc_variation1.phpt @@ -18,11 +18,11 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF); imagefilledarc($image, 50, 50, 30, 30, 0, -25, $white, IMG_ARC_PIE); ob_start(); -imagepng($image); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -b467492b806001c3720b3f18cfbde5b0 +f25f589b5c5fa7deead7242652919bcf diff --git a/ext/gd/tests/imagefilledarc_variation2.phpt b/ext/gd/tests/imagefilledarc_variation2.phpt index 57686ab64ce1c..c6ccca4b172ff 100644 --- a/ext/gd/tests/imagefilledarc_variation2.phpt +++ b/ext/gd/tests/imagefilledarc_variation2.phpt @@ -18,11 +18,11 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF); imagefilledarc($image, 50, 50, 30, 30, -25, 25, $white, IMG_ARC_PIE); ob_start(); -imagepng($image); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -cfad369fc6d863785d3c95b4b4788225 +43c2973eb4872903eb6f5464c7965a93 diff --git a/ext/gd/tests/imagefilledellipse_basic.phpt b/ext/gd/tests/imagefilledellipse_basic.phpt index a1a578ad43f2f..8b3682bfa8524 100644 --- a/ext/gd/tests/imagefilledellipse_basic.phpt +++ b/ext/gd/tests/imagefilledellipse_basic.phpt @@ -15,11 +15,11 @@ $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF); imagefilledellipse($image, 50, 50, 40, 30, $white); ob_start(); -imagepng($image); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -9ba540bba1b78c9f08efaa6fa0afd93b +233beffe003a41d3c9e788039e3191dd diff --git a/ext/gd/tests/imagefilltoborder_basic.phpt b/ext/gd/tests/imagefilltoborder_basic.phpt index 80b84d2c6960b..524022a15db46 100644 --- a/ext/gd/tests/imagefilltoborder_basic.phpt +++ b/ext/gd/tests/imagefilltoborder_basic.phpt @@ -22,7 +22,7 @@ imageellipse( $image, 50, 50, 50, 50, imagecolorallocate( $image, 0, 0, 0 ) ); imagefilltoborder( $image, 50, 50, imagecolorallocate( $image, 0, 0, 0 ), imagecolorallocate( $image, 255, 0, 0 ) ); ob_start(); -imagepng( $image, null, 9 ); +imagegd( $image); $img = ob_get_contents(); ob_end_clean(); @@ -30,4 +30,4 @@ echo md5(base64_encode($img)); ?> --EXPECT-- -847ec236f1c4d14c465306c8408550fc +8185a06ccff03c2abeb99d5e3ed60e45 diff --git a/ext/gd/tests/imagegammacorrect_basic.phpt b/ext/gd/tests/imagegammacorrect_basic.phpt index 33d6b1ad6c93d..0f4a9fdc67314 100644 --- a/ext/gd/tests/imagegammacorrect_basic.phpt +++ b/ext/gd/tests/imagegammacorrect_basic.phpt @@ -21,7 +21,7 @@ $gamma = imagegammacorrect($image, 1, 5); if ($gamma){ ob_start(); - imagepng($image, null, 9); + imagegd($image); $img = ob_get_contents(); ob_end_clean(); } @@ -29,4 +29,4 @@ if ($gamma){ echo md5(base64_encode($img)); ?> --EXPECT-- -e79553115df689ea5df18a4636380569 +1f625723f9d27251a1f15b83a6a4bf55 \ No newline at end of file diff --git a/ext/gd/tests/imagegammacorrect_variation1.phpt b/ext/gd/tests/imagegammacorrect_variation1.phpt index 7a321f89d87ef..f022d1d55929e 100644 --- a/ext/gd/tests/imagegammacorrect_variation1.phpt +++ b/ext/gd/tests/imagegammacorrect_variation1.phpt @@ -21,7 +21,7 @@ $gamma = imagegammacorrect($image, 1, 5); if ($gamma){ ob_start(); - imagepng($image, null, 9); + imagegd($image); $img = ob_get_contents(); ob_end_clean(); } @@ -29,4 +29,4 @@ if ($gamma){ echo md5(base64_encode($img)); ?> --EXPECT-- -b017b1ddc8bda00e82aa8cbfb54c35d4 +32fdb7b3675e4a9fd601c6a0645c88b3 diff --git a/ext/gd/tests/imagelayereffect_basic.phpt b/ext/gd/tests/imagelayereffect_basic.phpt index a34e05e02f9cd..2f1ee47aafa88 100644 --- a/ext/gd/tests/imagelayereffect_basic.phpt +++ b/ext/gd/tests/imagelayereffect_basic.phpt @@ -16,7 +16,7 @@ $layer = imagelayereffect($image, IMG_EFFECT_REPLACE); if ($layer){ ob_start(); - imagepng($image, null, 9); + imagegd($image); $img = ob_get_contents(); ob_end_clean(); } @@ -24,4 +24,4 @@ if ($layer){ echo md5(base64_encode($img)); ?> --EXPECT-- -5a8fe9864cbd20e5dbe730c77f30db95 +da884f488a851e0267a316ad232aee86 diff --git a/ext/gd/tests/imagerectangle_basic.phpt b/ext/gd/tests/imagerectangle_basic.phpt index f706ee7ab6551..eaa1566f7f3ca 100644 --- a/ext/gd/tests/imagerectangle_basic.phpt +++ b/ext/gd/tests/imagerectangle_basic.phpt @@ -16,7 +16,7 @@ $image = imagecreatetruecolor( 100, 100 ); imagerectangle( $image, 0, 0, 50, 50, imagecolorallocate($image, 255, 255, 255) ); ob_start(); -imagepng( $image, null, 9 ); +imagegd( $image ); $img = ob_get_contents(); ob_end_clean(); @@ -24,4 +24,4 @@ echo md5(base64_encode($img)); ?> --EXPECT-- -282aaecfdd50091821d63093d9bb1bb9 \ No newline at end of file +e7f8ca8c63fb08b248f3ed6435983aed \ No newline at end of file diff --git a/ext/gd/tests/imagesetbrush_basic.phpt b/ext/gd/tests/imagesetbrush_basic.phpt index 790184ddc29c4..763a4c414d832 100644 --- a/ext/gd/tests/imagesetbrush_basic.phpt +++ b/ext/gd/tests/imagesetbrush_basic.phpt @@ -28,10 +28,10 @@ imageline($mainimg, 50, 50, 50, 60, IMG_COLOR_BRUSHED); // Get output and generate md5 hash ob_start(); -imagepng($mainimg, null, 9); +imagegd($mainimg); $result_image = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($result_image)); ?> --EXPECT-- -8168577c0d1fe6d9d11397cb15263d82 +2bb294c388d826cc9bba6c6fd31f265a diff --git a/ext/gd/tests/imagesetthickness_basic.phpt b/ext/gd/tests/imagesetthickness_basic.phpt index a8b079bede6fc..205fe7e59e84d 100644 --- a/ext/gd/tests/imagesetthickness_basic.phpt +++ b/ext/gd/tests/imagesetthickness_basic.phpt @@ -24,11 +24,11 @@ imagesetthickness($image, 5); imagerectangle($image, 14, 14, 185, 85, $black); ob_start(); -imagepng($image, null, 9); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -93c3077f1bdc372cd0b0db96db282985 \ No newline at end of file +1a6bc882772310d2e9b32cca2574236c \ No newline at end of file diff --git a/ext/gd/tests/imagestring_basic.phpt b/ext/gd/tests/imagestring_basic.phpt index adc68a67fe4af..f56a2d3226878 100644 --- a/ext/gd/tests/imagestring_basic.phpt +++ b/ext/gd/tests/imagestring_basic.phpt @@ -15,11 +15,11 @@ $white = imagecolorallocate($image, 255,255,255); $result = imagestring($image, 1, 5, 5, 'String Text', $white); ob_start(); -imagepng($image, null, 9); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -d0d2fe757400cb7846b36a8c34b41e4a +7f146e3cdcaf89c6b9d68ccbb44cf94e diff --git a/ext/gd/tests/imagestringup_basic.phpt b/ext/gd/tests/imagestringup_basic.phpt index 0c748b6aa9d7d..144dfc0d8df3e 100644 --- a/ext/gd/tests/imagestringup_basic.phpt +++ b/ext/gd/tests/imagestringup_basic.phpt @@ -15,11 +15,11 @@ $white = imagecolorallocate($image, 255,255,255); $result = imagestringup($image, 1, 5, 25, 'Str', $white); ob_start(); -imagepng($image, null, 9); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); echo md5(base64_encode($img)); ?> --EXPECT-- -7c28016adcf620b772af2a8655b87bd2 +7c55836800702bdd43b4c25d8ebcfcd0 diff --git a/ext/gd/tests/imagetruecolortopalette_basic.phpt b/ext/gd/tests/imagetruecolortopalette_basic.phpt index 3bd0d3102e13d..bbc1277112008 100644 --- a/ext/gd/tests/imagetruecolortopalette_basic.phpt +++ b/ext/gd/tests/imagetruecolortopalette_basic.phpt @@ -20,7 +20,7 @@ $half2 = imagefilledarc ( $image, 75, 55, 80, 70, 0, -180, $b, IMG_ARC_PIE ); var_dump(imagetruecolortopalette($image, true, 2)); ob_start(); -imagepng($image, null, 9); +imagegd($image); $img = ob_get_contents(); ob_end_clean(); @@ -28,4 +28,4 @@ echo md5(base64_encode($img)); ?> --EXPECT-- bool(true) -1d41787ff70aa0c7eea5ee9304afa36b \ No newline at end of file +17c901cb2217eb7647deed1c79d445de \ No newline at end of file diff --git a/ext/gd/tests/libgd00100.phpt b/ext/gd/tests/libgd00100.phpt index abf4ee3339aa7..49716d7107a56 100644 --- a/ext/gd/tests/libgd00100.phpt +++ b/ext/gd/tests/libgd00100.phpt @@ -107,7 +107,7 @@ $points = array( imagefilledpolygon($im, $points, 5, $black); ob_start(); -imagepng($im); +imagegd($im); $png = ob_get_contents(); ob_end_clean(); @@ -116,4 +116,4 @@ echo md5($png); imagedestroy($im); ?> --EXPECTF-- -2e6cf558bb4dadf60c8b608d5f8cda4e +df7253c765280396f303166f10ba9283 From 54293d21cbcd1b3bfee331c7011970e629026523 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 17 Aug 2016 14:04:08 +0200 Subject: [PATCH 177/206] Skip tests that are supposed to fail due to bugs in old external libgd --- ext/gd/tests/bug43121.phpt | 3 +++ ext/gd/tests/bug43475.phpt | 3 +++ ext/gd/tests/bug43828.phpt | 3 +++ ext/gd/tests/bug53154.phpt | 3 +++ ext/gd/tests/bug53640.phpt | 3 +++ ext/gd/tests/bug64641.phpt | 3 +++ ext/gd/tests/bug66387.phpt | 3 +++ ext/gd/tests/bug67447.phpt | 6 ++++++ ext/gd/tests/bug71912.phpt | 3 +++ ext/gd/tests/bug72339.phpt | 7 ++++++- ext/gd/tests/bug72512.phpt | 3 +++ ext/gd/tests/bug72512_0.phpt | 3 +++ ext/gd/tests/bug72512_1.phpt | 3 +++ ext/gd/tests/github_bug_215.phpt | 3 +++ ext/gd/tests/imagecolorallocatealpha_basic.phpt | 3 +++ ext/gd/tests/imagefilledarc_basic.phpt | 3 +++ ext/gd/tests/imagefilledarc_variation1.phpt | 3 +++ ext/gd/tests/imagefilledarc_variation2.phpt | 3 +++ ext/gd/tests/imagegammacorrect_basic.phpt | 3 +++ ext/gd/tests/imagegammacorrect_variation1.phpt | 3 +++ ext/gd/tests/imagetruecolortopalette_basic.phpt | 3 +++ 21 files changed, 69 insertions(+), 1 deletion(-) diff --git a/ext/gd/tests/bug43121.phpt b/ext/gd/tests/bug43121.phpt index ce2d1d6f6fcf7..feb10267c2322 100644 --- a/ext/gd/tests/bug43121.phpt +++ b/ext/gd/tests/bug43121.phpt @@ -3,6 +3,9 @@ Bug #43121 (gdImageFill with IMG_COLOR_TILED crashes httpd) --SKIPIF-- --FILE-- --FILE-- --FILE-- --FILE-- --FILE-- --FILE-- --FILE-- --FILE-- --FILE-- diff --git a/ext/gd/tests/bug72339.phpt b/ext/gd/tests/bug72339.phpt index 2c30ee8a74e2e..c8862833464ad 100644 --- a/ext/gd/tests/bug72339.phpt +++ b/ext/gd/tests/bug72339.phpt @@ -1,7 +1,12 @@ --TEST-- Bug #72339 Integer Overflow in _gd2GetHeader() resulting in heap overflow --SKIPIF-- - + --FILE-- --FILE-- --FILE-- --FILE-- --FILE-- --SKIPIF-- --FILE-- --SKIPIF-- --FILE-- --SKIPIF-- --FILE-- --SKIPIF-- --FILE-- --SKIPIF-- --FILE-- --SKIPIF-- --FILE-- --SKIPIF-- --FILE-- From b12ac316ebbab12d6eb069bc97e560442dc99cd6 Mon Sep 17 00:00:00 2001 From: Christopher Jones Date: Thu, 18 Aug 2016 13:50:36 +1000 Subject: [PATCH 178/206] Prepare for OCI8 PECL release --- ext/oci8/README | 10 ++++------ ext/oci8/package.xml | 10 +++++----- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/ext/oci8/README b/ext/oci8/README index 42833e27c050b..5d1743dfce5b2 100644 --- a/ext/oci8/README +++ b/ext/oci8/README @@ -5,15 +5,13 @@ Use the OCI8 extension to access Oracle Database. Documentation is at http://php.net/oci8 -PHP OCI8 2.1 builds with PHP 7. +Use 'pecl install oci8' to install for PHP 7. -Use 'pecl install oci8' to install OCI8 for PHP 7. +Use 'pecl install oci8-2.0.12' to install for PHP 5.2 - PHP 5.6. -Use 'pecl install oci8-2.0.10' to install OCI8 for PHP 5.2 - PHP 5.6. +Use 'pecl install oci8-1.4.10' to install for PHP 4.3.9 - PHP 5.1. -Use 'pecl install oci8-1.4.10' to install OCI8 for PHP 4.3.9 - PHP 5.1. - -The OCI8 extension needs to be linked with Oracle 12.1, 11, or 10.2 +The OCI8 extension needs to be linked with Oracle 12, 11, or 10.2 client libraries. These libraries are found in your database installation, or in the free Oracle Instant Client from http://www.oracle.com/technetwork/database/features/instant-client/ diff --git a/ext/oci8/package.xml b/ext/oci8/package.xml index 07b982f4354f6..d83df79802e56 100644 --- a/ext/oci8/package.xml +++ b/ext/oci8/package.xml @@ -8,10 +8,10 @@ http://pear.php.net/dtd/package-2.0.xsd"> Extension for Oracle Database -Use the OCI8 extension to access Oracle Database. PHP OCI8 2.1 builds -with PHP 7. Use 'pecl install oci8-2.0.12' to install OCI8 for PHP -5.2 - PHP 5.6. Use 'pecl install oci8-1.4.10' to install PHP OCI8 1.4 -for PHP 4.3.9 - PHP 5.1. The OCI8 extension can be linked with Oracle +Use the OCI8 extension to access Oracle Database. Use 'pecl install +oci8' to install for PHP 7. Use 'pecl install oci8-2.0.12' to install +for PHP 5.2 - PHP 5.6. Use 'pecl install oci8-1.4.10' to install for +PHP 4.3.9 - PHP 5.1. The OCI8 extension can be linked with Oracle client libraries from Oracle Database 12.1, 11, or 10.2. These libraries are found in your database installation, or in the free Oracle Instant Client from @@ -46,7 +46,7 @@ Interoperability Support" (ID 207303.1) for details. no - 2016-07-04 + 2016-08-18 From f2d5305097c829aab80dca5636ade72c91837015 Mon Sep 17 00:00:00 2001 From: Christopher Jones Date: Thu, 18 Aug 2016 15:47:25 +1000 Subject: [PATCH 179/206] Add myself as PDO_OCI maintainer --- EXTENSIONS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EXTENSIONS b/EXTENSIONS index fd454dfc541bd..4e0af33ebf03f 100644 --- a/EXTENSIONS +++ b/EXTENSIONS @@ -205,7 +205,7 @@ STATUS: Working SINCE: 5.1 ------------------------------------------------------------------------------- EXTENSION: pdo_oci -PRIMARY MAINTAINER: Unknown +PRIMARY MAINTAINER: Christopher Jones MAINTENANCE: Odd fixes STATUS: Working SINCE: 5.1 From 761d2f629b7a08d6532c74bd077a6ee32bca3a9c Mon Sep 17 00:00:00 2001 From: Ferenc Kovacs Date: Thu, 18 Aug 2016 13:01:53 +0200 Subject: [PATCH 180/206] fix NEWS --- NEWS | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index dca9d4f48bca6..ed99326ba0c5d 100644 --- a/NEWS +++ b/NEWS @@ -15,6 +15,9 @@ PHP NEWS - MSSQL: . Fixed bug #72039 (Use of uninitialised value on mssql_guid_string). (Kalle) +- OCI8: + . Fixed invalid handle error with Implicit Result Sets. (Chris Jones) + - PDO: . Fixed bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY returns false). (cmb) @@ -113,9 +116,6 @@ PHP NEWS . Fixed bug #72710 (`mb_ereg` causes buffer overflow on regexp compile error). (ju1ius) -- OCI8: - . Fixed invalid handle error with Implicit Result Sets. (Chris Jones) - - PCRE: . Fixed bug #72688 (preg_match missing group names in matches). (cmb) @@ -137,6 +137,7 @@ PHP NEWS . Fixed bug #72848 (integer overflow in quoted_printable_encode). (Stas) . Fixed bug #72849 (integer overflow in urlencode). (Stas) . Fixed bug #72850 (integer overflow in php_uuencode). (Stas) + . Fixed bug #72716 (initialize buffer before read). (Stas) - Streams: . Fixed bug #41021 (Problems with the ftps wrapper). (vhuk) From bc1214f25e7c9525336b34e09aec1f1db82b9894 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 18 Aug 2016 17:53:57 +0200 Subject: [PATCH 181/206] Fix broken test include To avoid that the test stalls, we must always use `t` mode. --- ext/dba/tests/dba_handler.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/dba/tests/dba_handler.inc b/ext/dba/tests/dba_handler.inc index a950e903af426..0f348bc01e411 100644 --- a/ext/dba/tests/dba_handler.inc +++ b/ext/dba/tests/dba_handler.inc @@ -40,7 +40,7 @@ do { } if ($handler != 'cdb') { $db_writer = dba_open($db_filename, 'c'.$lock_flag, $handler); - if (($dba_reader = @dba_open($db_filename, 'r'.$lock_flag.($lock_flag ? 't' : ''), $handler))===false) { + if (($dba_reader = @dba_open($db_filename, 'r'.$lock_flag.'t', $handler))===false) { echo "Read during write: not allowed\n"; } else { echo "Read during write: allowed\n"; From ad76e8a529eabf150f17d313bb035b329bc68dec Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 19 Aug 2016 11:42:16 +0200 Subject: [PATCH 182/206] Fix dba configuration for Windows To be able to build the dba extension on Windows, libdb was required. This is contrary to *nix where each handler can be configured individually. To avoid BC breaks, we only do minimal modifications, instead of adjusting the Windows configuration to match the *nix configuration, for now. --- ext/dba/config.w32 | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/ext/dba/config.w32 b/ext/dba/config.w32 index 4f3514e62f25c..c7473232212c6 100644 --- a/ext/dba/config.w32 +++ b/ext/dba/config.w32 @@ -4,15 +4,16 @@ ARG_WITH("dba", "DBA support", "no"); if (PHP_DBA != "no") { + EXTENSION("dba", "dba.c dba_cdb.c dba_db1.c dba_db2.c dba_db3.c dba_dbm.c dba_flatfile.c dba_gdbm.c dba_ndbm.c dba_inifile.c"); + ADD_SOURCES("ext/dba/libcdb", "cdb.c cdb_make.c uint32.c", "dba"); + ADD_SOURCES("ext/dba/libflatfile", "flatfile.c", "dba"); + ADD_SOURCES("ext/dba/libinifile", "inifile.c", "dba"); + AC_DEFINE('HAVE_DBA', 1, 'DBA support'); + ADD_FLAG("CFLAGS_DBA", "/D DBA_FLATFILE=1 /D DBA_CDB=1 /D DBA_CDB_MAKE=1 /D DBA_CDB_BUILTIN=1 /D DBA_INIFILE=1"); if (CHECK_LIB("libdb31s.lib", "dba", PHP_DBA) && CHECK_HEADER_ADD_INCLUDE("db.h", "CFLAGS_DBA")) { - EXTENSION("dba", "dba.c dba_cdb.c dba_db1.c dba_db2.c dba_db3.c dba_dbm.c dba_flatfile.c dba_gdbm.c dba_ndbm.c dba_inifile.c"); - ADD_SOURCES("ext/dba/libcdb", "cdb.c cdb_make.c uint32.c", "dba"); - ADD_SOURCES("ext/dba/libflatfile", "flatfile.c", "dba"); - ADD_SOURCES("ext/dba/libinifile", "inifile.c", "dba"); - AC_DEFINE('HAVE_DBA', 1, 'DBA support'); - ADD_FLAG("CFLAGS_DBA", "/D DBA_DB1=0 /D DB1_VERSION=\"\\\"Berkeley DB 1.85 emulation in DB3\\\"\" /D DB1_INCLUDE_FILE=\"\\\"db_185.h\\\"\" /D DBA_DB3=1 /D DB3_INCLUDE_FILE=\"\\\"db.h\\\"\" /D DBA_FLATFILE=1 /D DBA_CDB=1 /D DBA_CDB_MAKE=1 /D DBA_CDB_BUILTIN=1 /D DBA_INIFILE=1"); - } else { - WARNING("dba not enabled; libraries and headers not found"); + ADD_FLAG("CFLAGS_DBA", "/D DBA_DB1=0 /D DB1_VERSION=\"\\\"Berkeley DB 1.85 emulation in DB3\\\"\" /D DB1_INCLUDE_FILE=\"\\\"db_185.h\\\"\" /D DBA_DB3=1 /D DB3_INCLUDE_FILE=\"\\\"db.h\\\"\""); + } else if (PHP_DBA != "yes") { + WARNING("dba: db handlers not enabled; libraries and headers not found"); } } From 057278b759fde998c62f3a500724824d45ad0290 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 19 Aug 2016 16:35:31 +0200 Subject: [PATCH 183/206] Revert "Fix dba configuration for Windows" This reverts commit ad76e8a529eabf150f17d313bb035b329bc68dec. After a discussion with Anatol it seems to be better QA wise to not make this change in stable versions or betas. --- ext/dba/config.w32 | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/ext/dba/config.w32 b/ext/dba/config.w32 index c7473232212c6..4f3514e62f25c 100644 --- a/ext/dba/config.w32 +++ b/ext/dba/config.w32 @@ -4,16 +4,15 @@ ARG_WITH("dba", "DBA support", "no"); if (PHP_DBA != "no") { - EXTENSION("dba", "dba.c dba_cdb.c dba_db1.c dba_db2.c dba_db3.c dba_dbm.c dba_flatfile.c dba_gdbm.c dba_ndbm.c dba_inifile.c"); - ADD_SOURCES("ext/dba/libcdb", "cdb.c cdb_make.c uint32.c", "dba"); - ADD_SOURCES("ext/dba/libflatfile", "flatfile.c", "dba"); - ADD_SOURCES("ext/dba/libinifile", "inifile.c", "dba"); - AC_DEFINE('HAVE_DBA', 1, 'DBA support'); - ADD_FLAG("CFLAGS_DBA", "/D DBA_FLATFILE=1 /D DBA_CDB=1 /D DBA_CDB_MAKE=1 /D DBA_CDB_BUILTIN=1 /D DBA_INIFILE=1"); if (CHECK_LIB("libdb31s.lib", "dba", PHP_DBA) && CHECK_HEADER_ADD_INCLUDE("db.h", "CFLAGS_DBA")) { - ADD_FLAG("CFLAGS_DBA", "/D DBA_DB1=0 /D DB1_VERSION=\"\\\"Berkeley DB 1.85 emulation in DB3\\\"\" /D DB1_INCLUDE_FILE=\"\\\"db_185.h\\\"\" /D DBA_DB3=1 /D DB3_INCLUDE_FILE=\"\\\"db.h\\\"\""); - } else if (PHP_DBA != "yes") { - WARNING("dba: db handlers not enabled; libraries and headers not found"); + EXTENSION("dba", "dba.c dba_cdb.c dba_db1.c dba_db2.c dba_db3.c dba_dbm.c dba_flatfile.c dba_gdbm.c dba_ndbm.c dba_inifile.c"); + ADD_SOURCES("ext/dba/libcdb", "cdb.c cdb_make.c uint32.c", "dba"); + ADD_SOURCES("ext/dba/libflatfile", "flatfile.c", "dba"); + ADD_SOURCES("ext/dba/libinifile", "inifile.c", "dba"); + AC_DEFINE('HAVE_DBA', 1, 'DBA support'); + ADD_FLAG("CFLAGS_DBA", "/D DBA_DB1=0 /D DB1_VERSION=\"\\\"Berkeley DB 1.85 emulation in DB3\\\"\" /D DB1_INCLUDE_FILE=\"\\\"db_185.h\\\"\" /D DBA_DB3=1 /D DB3_INCLUDE_FILE=\"\\\"db.h\\\"\" /D DBA_FLATFILE=1 /D DBA_CDB=1 /D DBA_CDB_MAKE=1 /D DBA_CDB_BUILTIN=1 /D DBA_INIFILE=1"); + } else { + WARNING("dba not enabled; libraries and headers not found"); } } From 21f08a7488b54e9894b762b690b6674858881252 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Sat, 20 Aug 2016 01:34:46 +0200 Subject: [PATCH 184/206] Fixed bug #72852 imap_mail null dereference --- ext/imap/php_imap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index e91dbfad0058c..d5d3e2255a1b8 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -3922,7 +3922,7 @@ int _php_imap_mail(char *to, char *subject, char *message, char *headers, char * bt_len++; offset = 0; addr = NULL; - rfc822_parse_adrlist(&addr, tempMailTo, NULL); + rfc822_parse_adrlist(&addr, tempMailTo, "NO HOST"); while (addr) { if (addr->host == NULL || strcmp(addr->host, ERRHOST) == 0) { PHP_IMAP_BAD_DEST; @@ -3951,7 +3951,7 @@ int _php_imap_mail(char *to, char *subject, char *message, char *headers, char * bt_len++; offset = 0; addr = NULL; - rfc822_parse_adrlist(&addr, tempMailTo, NULL); + rfc822_parse_adrlist(&addr, tempMailTo, "NO HOST"); while (addr) { if (addr->host == NULL || strcmp(addr->host, ERRHOST) == 0) { PHP_IMAP_BAD_DEST; @@ -3977,7 +3977,7 @@ int _php_imap_mail(char *to, char *subject, char *message, char *headers, char * bt_len++; offset = 0; addr = NULL; - rfc822_parse_adrlist(&addr, tempMailTo, NULL); + rfc822_parse_adrlist(&addr, tempMailTo, "NO HOST"); while (addr) { if (addr->host == NULL || strcmp(addr->host, ERRHOST) == 0) { PHP_IMAP_BAD_DEST; From f682193609a1f511b7cb405a02746d44032bf8de Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Sat, 20 Aug 2016 01:36:37 +0200 Subject: [PATCH 185/206] update NEWS --- NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NEWS b/NEWS index ed99326ba0c5d..d74cc191a2797 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,9 @@ PHP NEWS . Fixed bug #70195 (Cannot upload file using ftp_put to FTPES with require_ssl_reuse). (Benedict Singer) +- IMAP: + . Fixed bug #72852 (imap_mail null dereference). (Anatol) + - JSON: . Fixed bug #72787 (json_decode reads out of bounds). (Jakub Zelenka) From 9164dc11e2323b8b80c389bb13d70789799b44fc Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 16 Aug 2016 20:36:33 +0200 Subject: [PATCH 186/206] Fix #72714: _xml_startElementHandler() segmentation fault The issue is caused by an integer overflow when the `long` passed as XML_OPTION_SKIP_TAGSTART is assigned to `xml_parser::toffset` which is declared as `int`. We can simply work around this issue, by clipping resulting negative values to 0 (and raising a notice in this case), because the reasonable range for this value is certainly catered to by positive `int`s. However, there still remains the issue that `xml_parser::toffset` is later added to `char *`s, which can cause OOB reads, so we make sure that the upper bound never exceeds the strlen(). We eschew optimizing `SKIP_TAGSTART` wrt. to the potentially duplicate strlen() call, because that code path is unexpected anyway. --- NEWS | 1 + ext/xml/tests/bug72714.phpt | 35 +++++++++++++++++++++++++++++++++++ ext/xml/xml.c | 24 ++++++++++++++++-------- 3 files changed, 52 insertions(+), 8 deletions(-) create mode 100644 ext/xml/tests/bug72714.phpt diff --git a/NEWS b/NEWS index d74cc191a2797..013d85f84b13c 100644 --- a/NEWS +++ b/NEWS @@ -36,6 +36,7 @@ PHP NEWS - XML: . Fixed bug #72085 (SEGV on unknown address zif_xml_parse). (cmb) + . Fixed bug #72714 (_xml_startElementHandler() segmentation fault). (cmb) - ZIP: . Fixed bug #68302 (impossible to compile php with zip support). (cmb) diff --git a/ext/xml/tests/bug72714.phpt b/ext/xml/tests/bug72714.phpt new file mode 100644 index 0000000000000..192c8f6949563 --- /dev/null +++ b/ext/xml/tests/bug72714.phpt @@ -0,0 +1,35 @@ +--TEST-- +Bug #72714 (_xml_startElementHandler() segmentation fault) +--SKIPIF-- + +--FILE-- +867'; + + $xml_parser = xml_parser_create(); + xml_set_element_handler($xml_parser, 'startElement', 'endElement'); + + xml_parser_set_option($xml_parser, XML_OPTION_SKIP_TAGSTART, $tagstart); + xml_parse($xml_parser, $xml); + + xml_parser_free($xml_parser); +} + +parse(3015809298423721); +parse(20); +?> +===DONE=== +--EXPECTF-- +Notice: xml_parser_set_option(): tagstart ignored in %s%ebug72714.php on line %d +string(9) "NS1:TOTAL" +string(0) "" +===DONE=== diff --git a/ext/xml/xml.c b/ext/xml/xml.c index 9eba47be26779..5d5c2e4c19501 100644 --- a/ext/xml/xml.c +++ b/ext/xml/xml.c @@ -66,6 +66,10 @@ ZEND_GET_MODULE(xml) #endif /* COMPILE_DL_XML */ /* }}} */ + +#define SKIP_TAGSTART(str) ((str) + (parser->toffset > strlen(str) ? strlen(str) : + parser->toffset)) + + /* {{{ function prototypes */ PHP_MINIT_FUNCTION(xml); PHP_MINFO_FUNCTION(xml); @@ -785,7 +789,7 @@ void _xml_startElementHandler(void *userData, const XML_Char *name, const XML_Ch if (parser->startElementHandler) { args[0] = _xml_resource_zval(parser->index); - args[1] = _xml_string_zval(((char *) tag_name) + parser->toffset); + args[1] = _xml_string_zval(SKIP_TAGSTART((char *) tag_name)); MAKE_STD_ZVAL(args[2]); array_init(args[2]); @@ -816,9 +820,9 @@ void _xml_startElementHandler(void *userData, const XML_Char *name, const XML_Ch array_init(tag); array_init(atr); - _xml_add_to_info(parser,((char *) tag_name) + parser->toffset); + _xml_add_to_info(parser,SKIP_TAGSTART((char *) tag_name)); - add_assoc_string(tag,"tag",((char *) tag_name) + parser->toffset,1); /* cast to avoid gcc-warning */ + add_assoc_string(tag,"tag",SKIP_TAGSTART((char *) tag_name),1); add_assoc_string(tag,"type","open",1); add_assoc_long(tag,"level",parser->level); @@ -870,7 +874,7 @@ void _xml_endElementHandler(void *userData, const XML_Char *name) if (parser->endElementHandler) { args[0] = _xml_resource_zval(parser->index); - args[1] = _xml_string_zval(((char *) tag_name) + parser->toffset); + args[1] = _xml_string_zval(SKIP_TAGSTART((char *) tag_name)); if ((retval = xml_call_handler(parser, parser->endElementHandler, parser->endElementPtr, 2, args))) { zval_ptr_dtor(&retval); @@ -887,9 +891,9 @@ void _xml_endElementHandler(void *userData, const XML_Char *name) array_init(tag); - _xml_add_to_info(parser,((char *) tag_name) + parser->toffset); + _xml_add_to_info(parser,SKIP_TAGSTART((char *) tag_name)); - add_assoc_string(tag,"tag",((char *) tag_name) + parser->toffset,1); /* cast to avoid gcc-warning */ + add_assoc_string(tag,"tag",SKIP_TAGSTART((char *) tag_name),1); add_assoc_string(tag,"type","close",1); add_assoc_long(tag,"level",parser->level); @@ -990,9 +994,9 @@ void _xml_characterDataHandler(void *userData, const XML_Char *s, int len) array_init(tag); - _xml_add_to_info(parser,parser->ltags[parser->level-1] + parser->toffset); + _xml_add_to_info(parser,SKIP_TAGSTART(parser->ltags[parser->level-1])); - add_assoc_string(tag,"tag",parser->ltags[parser->level-1] + parser->toffset,1); + add_assoc_string(tag,"tag",SKIP_TAGSTART(parser->ltags[parser->level-1]),1); add_assoc_string(tag,"value",decoded_value,0); add_assoc_string(tag,"type","cdata",1); add_assoc_long(tag,"level",parser->level); @@ -1633,6 +1637,10 @@ PHP_FUNCTION(xml_parser_set_option) case PHP_XML_OPTION_SKIP_TAGSTART: convert_to_long_ex(val); parser->toffset = Z_LVAL_PP(val); + if (parser->toffset < 0) { + php_error_docref(NULL TSRMLS_CC, E_NOTICE, "tagstart ignored"); + parser->toffset = 0; + } break; case PHP_XML_OPTION_SKIP_WHITE: convert_to_long_ex(val); From e4a006cd3e17338677ec269a8cdb1354f38e0cad Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 19 Aug 2016 19:05:33 +0200 Subject: [PATCH 187/206] Fix #65732: grapheme_*() is not Unicode compliant on CR LF sequence According to the Unicode specification (at least as of 5.1), CRLF sequences are considered to be a single grapheme. We cater to that special case by letting grapheme_ascii_check() fail. While it would be trivial to fix grapheme_ascii_check() wrt. grapheme_strlen(), grapheme_substr() and grapheme_strrpos() would be much harder to handle, so we accept the slight performance penalty if CRLF is involved. --- NEWS | 4 ++++ ext/intl/grapheme/grapheme_util.c | 2 +- ext/intl/tests/bug65732.phpt | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 ext/intl/tests/bug65732.phpt diff --git a/NEWS b/NEWS index 013d85f84b13c..e1d7f04416283 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,10 @@ PHP NEWS - IMAP: . Fixed bug #72852 (imap_mail null dereference). (Anatol) +- Intl: + . Fixed bug #65732 (grapheme_*() is not Unicode compliant on CR LF + sequence). (cmb) + - JSON: . Fixed bug #72787 (json_decode reads out of bounds). (Jakub Zelenka) diff --git a/ext/intl/grapheme/grapheme_util.c b/ext/intl/grapheme/grapheme_util.c index c752b02372e2c..350ba66255894 100644 --- a/ext/intl/grapheme/grapheme_util.c +++ b/ext/intl/grapheme/grapheme_util.c @@ -221,7 +221,7 @@ int grapheme_ascii_check(const unsigned char *day, int32_t len) { int ret_len = len; while ( len-- ) { - if ( *day++ > 0x7f ) + if ( *day++ > 0x7f || (*day == '\n' && *(day - 1) == '\r') ) return -1; } diff --git a/ext/intl/tests/bug65732.phpt b/ext/intl/tests/bug65732.phpt new file mode 100644 index 0000000000000..b49f884ee4278 --- /dev/null +++ b/ext/intl/tests/bug65732.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #65732 (grapheme_*() is not Unicode compliant on CR LF sequence) +--SKIPIF-- + +--FILE-- + +==DONE== +--EXPECT-- +int(1) +string(7) "ef +ghi" +int(2) +==DONE== From 52793c14d951b12f0eca806bb55a97011a322243 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sat, 20 Aug 2016 12:42:03 +0200 Subject: [PATCH 188/206] Improvements to fix #72714, suggested by nikic --- ext/xml/tests/bug72714.phpt | 2 +- ext/xml/xml.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/xml/tests/bug72714.phpt b/ext/xml/tests/bug72714.phpt index 192c8f6949563..7b44e1fd117e6 100644 --- a/ext/xml/tests/bug72714.phpt +++ b/ext/xml/tests/bug72714.phpt @@ -29,7 +29,7 @@ parse(20); ?> ===DONE=== --EXPECTF-- -Notice: xml_parser_set_option(): tagstart ignored in %s%ebug72714.php on line %d +Notice: xml_parser_set_option(): tagstart ignored, because it is out of range in %s%ebug72714.php on line %d string(9) "NS1:TOTAL" string(0) "" ===DONE=== diff --git a/ext/xml/xml.c b/ext/xml/xml.c index 5d5c2e4c19501..5912f9143ddda 100644 --- a/ext/xml/xml.c +++ b/ext/xml/xml.c @@ -67,7 +67,7 @@ ZEND_GET_MODULE(xml) /* }}} */ -#define SKIP_TAGSTART(str) ((str) + (parser->toffset > strlen(str) ? strlen(str) : + parser->toffset)) +#define SKIP_TAGSTART(str) ((str) + (parser->toffset > strlen(str) ? strlen(str) : parser->toffset)) /* {{{ function prototypes */ @@ -1638,7 +1638,7 @@ PHP_FUNCTION(xml_parser_set_option) convert_to_long_ex(val); parser->toffset = Z_LVAL_PP(val); if (parser->toffset < 0) { - php_error_docref(NULL TSRMLS_CC, E_NOTICE, "tagstart ignored"); + php_error_docref(NULL TSRMLS_CC, E_NOTICE, "tagstart ignored, because it is out of range"); parser->toffset = 0; } break; From b740bb3987ba4f181dfda91ce3bd9fe663155574 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Sun, 21 Aug 2016 17:10:10 +0800 Subject: [PATCH 189/206] Fixed bug #72907 (null pointer deref, segfault in gc_remove_zval_from_buffer (zend_gc.c:260)) --- NEWS | 4 ++++ Zend/tests/bug72907.phpt | 18 ++++++++++++++ Zend/zend_execute.c | 4 +--- Zend/zend_vm_def.h | 13 ++++++---- Zend/zend_vm_execute.h | 52 ++++++++++++++++++++++++---------------- 5 files changed, 63 insertions(+), 28 deletions(-) create mode 100644 Zend/tests/bug72907.phpt diff --git a/NEWS b/NEWS index dca9d4f48bca6..608881ae6588d 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2016, PHP 5.6.26 +- Core: + . Fixed bug #72907 (null pointer deref, segfault in gc_remove_zval_from_buffer + (zend_gc.c:260)). (Laruence) + - Streams: . Fixed bug #72853 (stream_set_blocking doesn't work). (Laruence) diff --git a/Zend/tests/bug72907.phpt b/Zend/tests/bug72907.phpt new file mode 100644 index 0000000000000..00d9f5d183172 --- /dev/null +++ b/Zend/tests/bug72907.phpt @@ -0,0 +1,18 @@ +--TEST-- +Bug #72907 (null pointer deref, segfault in gc_remove_zval_from_buffer (zend_gc.c:260)) +--FILE-- +a = &$E) + ($b = $a->b->i -= 0); + +?> +--EXPECTF-- +Warning: Attempt to modify property of non-object in %sbug72907.php on line %d + +Warning: Attempt to modify property of non-object in %sbug72907.php on line %d + +Warning: Creating default object from empty value in %sbug72907.php on line %d + +Notice: Undefined property: stdClass::$i in %sbug72907.php on line %d diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index c7e4b926d8ceb..b422624bb19be 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -522,9 +522,7 @@ static void zend_assign_to_variable_reference(zval **variable_ptr_ptr, zval **va zval *variable_ptr = *variable_ptr_ptr; zval *value_ptr = *value_ptr_ptr; - if (variable_ptr == &EG(error_zval) || value_ptr == &EG(error_zval)) { - variable_ptr_ptr = &EG(uninitialized_zval_ptr); - } else if (variable_ptr != value_ptr) { + if (variable_ptr != value_ptr) { if (!PZVAL_IS_REF(value_ptr)) { /* break it away */ Z_DELREF_P(value_ptr); diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 2e81f82e4989a..f79d8a3f9eb4a 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -1817,11 +1817,14 @@ ZEND_VM_HANDLER(39, ZEND_ASSIGN_REF, VAR|CV, VAR|CV) if ((OP2_TYPE == IS_VAR && UNEXPECTED(value_ptr_ptr == NULL)) || (OP1_TYPE == IS_VAR && UNEXPECTED(variable_ptr_ptr == NULL))) { zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets nor overloaded objects"); - } - zend_assign_to_variable_reference(variable_ptr_ptr, value_ptr_ptr TSRMLS_CC); - - if (OP2_TYPE == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) { - Z_DELREF_PP(variable_ptr_ptr); + } else if ((OP2_TYPE == IS_VAR && UNEXPECTED(*value_ptr_ptr == &EG(error_zval))) || + (OP1_TYPE == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval)))) { + variable_ptr_ptr = &EG(uninitialized_zval_ptr); + } else { + zend_assign_to_variable_reference(variable_ptr_ptr, value_ptr_ptr TSRMLS_CC); + if (OP2_TYPE == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) { + Z_DELREF_PP(variable_ptr_ptr); + } } if (RETURN_VALUE_USED(opline)) { diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index df47bea982f43..a31027ee925b8 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -20408,11 +20408,14 @@ static int ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDL if ((IS_VAR == IS_VAR && UNEXPECTED(value_ptr_ptr == NULL)) || (IS_VAR == IS_VAR && UNEXPECTED(variable_ptr_ptr == NULL))) { zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets nor overloaded objects"); - } - zend_assign_to_variable_reference(variable_ptr_ptr, value_ptr_ptr TSRMLS_CC); - - if (IS_VAR == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) { - Z_DELREF_PP(variable_ptr_ptr); + } else if ((IS_VAR == IS_VAR && UNEXPECTED(*value_ptr_ptr == &EG(error_zval))) || + (IS_VAR == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval)))) { + variable_ptr_ptr = &EG(uninitialized_zval_ptr); + } else { + zend_assign_to_variable_reference(variable_ptr_ptr, value_ptr_ptr TSRMLS_CC); + if (IS_VAR == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) { + Z_DELREF_PP(variable_ptr_ptr); + } } if (RETURN_VALUE_USED(opline)) { @@ -23903,11 +23906,14 @@ static int ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLE if ((IS_CV == IS_VAR && UNEXPECTED(value_ptr_ptr == NULL)) || (IS_VAR == IS_VAR && UNEXPECTED(variable_ptr_ptr == NULL))) { zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets nor overloaded objects"); - } - zend_assign_to_variable_reference(variable_ptr_ptr, value_ptr_ptr TSRMLS_CC); - - if (IS_CV == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) { - Z_DELREF_PP(variable_ptr_ptr); + } else if ((IS_CV == IS_VAR && UNEXPECTED(*value_ptr_ptr == &EG(error_zval))) || + (IS_VAR == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval)))) { + variable_ptr_ptr = &EG(uninitialized_zval_ptr); + } else { + zend_assign_to_variable_reference(variable_ptr_ptr, value_ptr_ptr TSRMLS_CC); + if (IS_CV == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) { + Z_DELREF_PP(variable_ptr_ptr); + } } if (RETURN_VALUE_USED(opline)) { @@ -37721,11 +37727,14 @@ static int ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLE if ((IS_VAR == IS_VAR && UNEXPECTED(value_ptr_ptr == NULL)) || (IS_CV == IS_VAR && UNEXPECTED(variable_ptr_ptr == NULL))) { zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets nor overloaded objects"); - } - zend_assign_to_variable_reference(variable_ptr_ptr, value_ptr_ptr TSRMLS_CC); - - if (IS_VAR == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) { - Z_DELREF_PP(variable_ptr_ptr); + } else if ((IS_VAR == IS_VAR && UNEXPECTED(*value_ptr_ptr == &EG(error_zval))) || + (IS_CV == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval)))) { + variable_ptr_ptr = &EG(uninitialized_zval_ptr); + } else { + zend_assign_to_variable_reference(variable_ptr_ptr, value_ptr_ptr TSRMLS_CC); + if (IS_VAR == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) { + Z_DELREF_PP(variable_ptr_ptr); + } } if (RETURN_VALUE_USED(opline)) { @@ -40929,11 +40938,14 @@ static int ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER if ((IS_CV == IS_VAR && UNEXPECTED(value_ptr_ptr == NULL)) || (IS_CV == IS_VAR && UNEXPECTED(variable_ptr_ptr == NULL))) { zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets nor overloaded objects"); - } - zend_assign_to_variable_reference(variable_ptr_ptr, value_ptr_ptr TSRMLS_CC); - - if (IS_CV == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) { - Z_DELREF_PP(variable_ptr_ptr); + } else if ((IS_CV == IS_VAR && UNEXPECTED(*value_ptr_ptr == &EG(error_zval))) || + (IS_CV == IS_VAR && UNEXPECTED(*variable_ptr_ptr == &EG(error_zval)))) { + variable_ptr_ptr = &EG(uninitialized_zval_ptr); + } else { + zend_assign_to_variable_reference(variable_ptr_ptr, value_ptr_ptr TSRMLS_CC); + if (IS_CV == IS_VAR && opline->extended_value == ZEND_RETURNS_NEW) { + Z_DELREF_PP(variable_ptr_ptr); + } } if (RETURN_VALUE_USED(opline)) { From 9eb5bbd8bd89caa29ba4fbeb2db27d3e4e05ed79 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sun, 21 Aug 2016 16:07:34 +0200 Subject: [PATCH 190/206] Fix #66005: imagecopy does not support 1bit transparency on truecolor images We must not copy transparent pixels, see . --- NEWS | 4 ++++ ext/gd/libgd/gd.c | 4 +++- ext/gd/tests/bug66005.phpt | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 ext/gd/tests/bug66005.phpt diff --git a/NEWS b/NEWS index 608881ae6588d..676760ef6ffe8 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,10 @@ PHP NEWS . Fixed bug #70195 (Cannot upload file using ftp_put to FTPES with require_ssl_reuse). (Benedict Singer) +- GD: + . Fixed bug #66005 (imagecopy does not support 1bit transparency on truecolor + images). (cmb) + - JSON: . Fixed bug #72787 (json_decode reads out of bounds). (Jakub Zelenka) diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index 299c432afacd3..364697338e95c 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -2247,7 +2247,9 @@ void gdImageCopy (gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, for (y = 0; (y < h); y++) { for (x = 0; (x < w); x++) { int c = gdImageGetTrueColorPixel (src, srcX + x, srcY + y); - gdImageSetPixel (dst, dstX + x, dstY + y, c); + if (c != src->transparent) { + gdImageSetPixel (dst, dstX + x, dstY + y, c); + } } } } else { diff --git a/ext/gd/tests/bug66005.phpt b/ext/gd/tests/bug66005.phpt new file mode 100644 index 0000000000000..a01c5c32b85ec --- /dev/null +++ b/ext/gd/tests/bug66005.phpt @@ -0,0 +1,35 @@ +--TEST-- +Bug #66005 (imagecopy does not support 1bit transparency on truecolor images) +--SKIPIF-- + +--FILE-- + +==DONE== +--EXPECT-- +9b36049de01006b367efd433f1689043 +==DONE== From d65adac2be2c9b32d9ad9bd00399c99d492502f5 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sun, 21 Aug 2016 17:39:23 +0200 Subject: [PATCH 191/206] Fix #72913: imagecopy() loses single-color transparency on palette images The proper code to handle true-color to palette copies is already contained in gdImageCopy(), so we can simply remove the buggy duplicated code. --- NEWS | 2 ++ ext/gd/libgd/gd.c | 20 -------------------- ext/gd/tests/bug72913.phpt | 29 +++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 20 deletions(-) create mode 100644 ext/gd/tests/bug72913.phpt diff --git a/NEWS b/NEWS index 676760ef6ffe8..fb5a07cfbed29 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,8 @@ PHP NEWS - GD: . Fixed bug #66005 (imagecopy does not support 1bit transparency on truecolor images). (cmb) + . Fixed bug #72913 (imagecopy() loses single-color transparency on palette + images). (cmb) - JSON: . Fixed bug #72787 (json_decode reads out of bounds). (Jakub Zelenka) diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c index 364697338e95c..0b4b42fa27558 100644 --- a/ext/gd/libgd/gd.c +++ b/ext/gd/libgd/gd.c @@ -2266,26 +2266,6 @@ void gdImageCopy (gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, return; } - /* Destination is palette based */ - if (src->trueColor) { /* But source is truecolor (Ouch!) */ - toy = dstY; - for (y = srcY; (y < (srcY + h)); y++) { - tox = dstX; - for (x = srcX; x < (srcX + w); x++) { - int nc; - c = gdImageGetPixel (src, x, y); - - /* Get best match possible. */ - nc = gdImageColorResolveAlpha(dst, gdTrueColorGetRed(c), gdTrueColorGetGreen(c), gdTrueColorGetBlue(c), gdTrueColorGetAlpha(c)); - - gdImageSetPixel(dst, tox, toy, nc); - tox++; - } - toy++; - } - return; - } - /* Palette based to palette based */ for (i = 0; i < gdMaxColors; i++) { colorMap[i] = (-1); diff --git a/ext/gd/tests/bug72913.phpt b/ext/gd/tests/bug72913.phpt new file mode 100644 index 0000000000000..0ad03a7d3c103 --- /dev/null +++ b/ext/gd/tests/bug72913.phpt @@ -0,0 +1,29 @@ +--TEST-- +Bug #72913 (imagecopy() loses single-color transparency on palette images) +--SKIPIF-- + +--FILE-- + +==DONE== +--EXPECT-- +f03c27f20710e21debd7090c660f1a1e +==DONE== From 6a232c3604f6c00f6c09cc3782dd1b36b30d23d4 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sun, 21 Aug 2016 19:39:58 +0200 Subject: [PATCH 192/206] Fix #68716: possible resource leaks in _php_image_convert() We properly clean up after ourselves wrt. to closing opened file pointers and created images. --- NEWS | 1 + ext/gd/gd.c | 23 +++++++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index fb5a07cfbed29..a2b3aadfaa078 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,7 @@ PHP NEWS images). (cmb) . Fixed bug #72913 (imagecopy() loses single-color transparency on palette images). (cmb) + . Fixed bug #68716 (possible resource leaks in _php_image_convert()). (cmb) - JSON: . Fixed bug #72787 (json_decode reads out of bounds). (Jakub Zelenka) diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 0fb96041087b4..afd3765f1525f 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -4530,6 +4530,7 @@ static void _php_image_convert(INTERNAL_FUNCTION_PARAMETERS, int image_type ) dest = VCWD_FOPEN(fn_dest, "wb"); if (!dest) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn_dest); + fclose(org); RETURN_FALSE; } @@ -4538,6 +4539,8 @@ static void _php_image_convert(INTERNAL_FUNCTION_PARAMETERS, int image_type ) im_org = gdImageCreateFromGif(org); if (im_org == NULL) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' Not a valid GIF file", fn_dest); + fclose(org); + fclose(dest); RETURN_FALSE; } break; @@ -4548,6 +4551,8 @@ static void _php_image_convert(INTERNAL_FUNCTION_PARAMETERS, int image_type ) im_org = gdImageCreateFromJpegEx(org, ignore_warning); if (im_org == NULL) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' Not a valid JPEG file", fn_dest); + fclose(org); + fclose(dest); RETURN_FALSE; } break; @@ -4558,6 +4563,8 @@ static void _php_image_convert(INTERNAL_FUNCTION_PARAMETERS, int image_type ) im_org = gdImageCreateFromPng(org); if (im_org == NULL) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' Not a valid PNG file", fn_dest); + fclose(org); + fclose(dest); RETURN_FALSE; } break; @@ -4565,10 +4572,14 @@ static void _php_image_convert(INTERNAL_FUNCTION_PARAMETERS, int image_type ) default: php_error_docref(NULL TSRMLS_CC, E_WARNING, "Format not supported"); + fclose(org); + fclose(dest); RETURN_FALSE; break; } + fclose(org); + org_width = gdImageSX (im_org); org_height = gdImageSY (im_org); @@ -4599,6 +4610,8 @@ static void _php_image_convert(INTERNAL_FUNCTION_PARAMETERS, int image_type ) im_tmp = gdImageCreate (dest_width, dest_height); if (im_tmp == NULL ) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to allocate temporary buffer"); + fclose(dest); + gdImageDestroy(im_org); RETURN_FALSE; } @@ -4606,23 +4619,29 @@ static void _php_image_convert(INTERNAL_FUNCTION_PARAMETERS, int image_type ) gdImageDestroy(im_org); - fclose(org); - im_dest = gdImageCreate(dest_width, dest_height); if (im_dest == NULL) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to allocate destination buffer"); + fclose(dest); + gdImageDestroy(im_tmp); RETURN_FALSE; } white = gdImageColorAllocate(im_dest, 255, 255, 255); if (white == -1) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to allocate the colors for the destination buffer"); + fclose(dest); + gdImageDestroy(im_tmp); + gdImageDestroy(im_dest); RETURN_FALSE; } black = gdImageColorAllocate(im_dest, 0, 0, 0); if (black == -1) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to allocate the colors for the destination buffer"); + fclose(dest); + gdImageDestroy(im_tmp); + gdImageDestroy(im_dest); RETURN_FALSE; } From a1ff39ffe5cc3e83bd51b2511163e2e620e935d2 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Thu, 25 Aug 2016 12:46:28 +0200 Subject: [PATCH 193/206] backport relevant part from bug #72858 patch in 7.0 --- TSRM/tsrm_win32.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c index 06e4561f9297a..f81f93c3e516e 100644 --- a/TSRM/tsrm_win32.c +++ b/TSRM/tsrm_win32.c @@ -654,17 +654,27 @@ TSRM_API int shmget(int key, int size, int flags) TSRM_API void *shmat(int key, const void *shmaddr, int flags) { shm_pair *shm = shm_get(key, NULL); + int err; if (!shm->segment) { return (void*)-1; } + shm->addr = MapViewOfFileEx(shm->segment, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL); + + err = GetLastError(); + if (err) { + /* Catch more errors */ + if (ERROR_NOT_ENOUGH_MEMORY == err) { + _set_errno(ENOMEM); + } + return (void*)-1; + } + shm->descriptor->shm_atime = time(NULL); shm->descriptor->shm_lpid = getpid(); shm->descriptor->shm_nattch++; - shm->addr = MapViewOfFileEx(shm->segment, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL); - return shm->addr; } From bd8112afe076cd975fbfcf82b659f6420317de70 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 25 Aug 2016 16:20:30 +0200 Subject: [PATCH 194/206] Fix #71514: Bad dba_replace condition because of wrong API usage We're backporting commit 9e309a2d to PHP-5.6, because it is a bugfix. --- NEWS | 4 ++++ ext/dba/libinifile/inifile.c | 10 +++++----- ext/dba/tests/bug71514.phpt | 28 ++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 ext/dba/tests/bug71514.phpt diff --git a/NEWS b/NEWS index a2b3aadfaa078..9c3cef52d8223 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,10 @@ PHP NEWS . Fixed bug #72907 (null pointer deref, segfault in gc_remove_zval_from_buffer (zend_gc.c:260)). (Laruence) +- Dba: + . Fixed bug #71514 (Bad dba_replace condition because of wrong API usage). + (cmb) + - Streams: . Fixed bug #72853 (stream_set_blocking doesn't work). (Laruence) diff --git a/ext/dba/libinifile/inifile.c b/ext/dba/libinifile/inifile.c index 0feb5f1bb2ded..9f1789b789b5f 100644 --- a/ext/dba/libinifile/inifile.c +++ b/ext/dba/libinifile/inifile.c @@ -402,7 +402,7 @@ static int inifile_copy_to(inifile *dba, size_t pos_start, size_t pos_end, inifi return FAILURE; } php_stream_seek(dba->fp, pos_start, SEEK_SET); - if (!php_stream_copy_to_stream_ex(dba->fp, fp, pos_end - pos_start, NULL)) { + if (SUCCESS != php_stream_copy_to_stream_ex(dba->fp, fp, pos_end - pos_start, NULL)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not copy group [%zu - %zu] to temporary stream", pos_start, pos_end); return FAILURE; } @@ -427,7 +427,7 @@ static int inifile_filter(inifile *dba, inifile *from, const key_type *key TSRML pos_curr = php_stream_tell(from->fp); if (pos_start != pos_next) { php_stream_seek(from->fp, pos_start, SEEK_SET); - if (!php_stream_copy_to_stream_ex(from->fp, dba->fp, pos_next - pos_start, NULL)) { + if (SUCCESS != php_stream_copy_to_stream_ex(from->fp, dba->fp, pos_next - pos_start, NULL)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not copy [%zu - %zu] from temporary stream", pos_next, pos_start); ret = FAILURE; } @@ -446,7 +446,7 @@ static int inifile_filter(inifile *dba, inifile *from, const key_type *key TSRML } if (pos_start != pos_next) { php_stream_seek(from->fp, pos_start, SEEK_SET); - if (!php_stream_copy_to_stream_ex(from->fp, dba->fp, pos_next - pos_start, NULL)) { + if (SUCCESS != php_stream_copy_to_stream_ex(from->fp, dba->fp, pos_next - pos_start, NULL)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not copy [%zu - %zu] from temporary stream", pos_next, pos_start); ret = FAILURE; } @@ -497,7 +497,7 @@ static int inifile_delete_replace_append(inifile *dba, const key_type *key, cons php_stream_seek(dba->fp, 0, SEEK_END); if (pos_grp_next != (size_t)php_stream_tell(dba->fp)) { php_stream_seek(dba->fp, pos_grp_next, SEEK_SET); - if (!php_stream_copy_to_stream_ex(dba->fp, fp_tmp, PHP_STREAM_COPY_ALL, NULL)) { + if (SUCCESS != php_stream_copy_to_stream_ex(dba->fp, fp_tmp, PHP_STREAM_COPY_ALL, NULL)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not copy remainder to temporary stream"); ret = FAILURE; } @@ -538,7 +538,7 @@ static int inifile_delete_replace_append(inifile *dba, const key_type *key, cons if (fp_tmp && php_stream_tell(fp_tmp)) { php_stream_seek(fp_tmp, 0, SEEK_SET); php_stream_seek(dba->fp, 0, SEEK_END); - if (!php_stream_copy_to_stream_ex(fp_tmp, dba->fp, PHP_STREAM_COPY_ALL, NULL)) { + if (SUCCESS != php_stream_copy_to_stream_ex(fp_tmp, dba->fp, PHP_STREAM_COPY_ALL, NULL)) { php_error_docref(NULL TSRMLS_CC, E_RECOVERABLE_ERROR, "Could not copy from temporary stream - ini file truncated"); ret = FAILURE; } diff --git a/ext/dba/tests/bug71514.phpt b/ext/dba/tests/bug71514.phpt new file mode 100644 index 0000000000000..08338f3793c1a --- /dev/null +++ b/ext/dba/tests/bug71514.phpt @@ -0,0 +1,28 @@ +--TEST-- +Bug #71514 (Bad dba_replace condition because of wrong API usage) +--SKIPIF-- + +--FILE-- + +==DONE== +--EXPECT-- +string(6) "value2" +==DONE== +--CLEAN-- + From 84512a117789563a64172115c648944538006a69 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 25 Aug 2016 18:10:38 +0200 Subject: [PATCH 195/206] Fix #70825: Cannot fetch multiple values with group in ini file If we have the position already from the last fetch, we also have to preset the current group, because it won't be read again. --- NEWS | 2 + ext/dba/libinifile/inifile.c | 1 + ext/dba/tests/bug70825.phpt | 71 ++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 ext/dba/tests/bug70825.phpt diff --git a/NEWS b/NEWS index 9c3cef52d8223..a7a58b69046d7 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,8 @@ PHP NEWS - Dba: . Fixed bug #71514 (Bad dba_replace condition because of wrong API usage). (cmb) + . Fixed bug #70825 (Cannot fetch multiple values with group in ini file). + (cmb) - Streams: . Fixed bug #72853 (stream_set_blocking doesn't work). (Laruence) diff --git a/ext/dba/libinifile/inifile.c b/ext/dba/libinifile/inifile.c index 9f1789b789b5f..95ac9a8ea61cf 100644 --- a/ext/dba/libinifile/inifile.c +++ b/ext/dba/libinifile/inifile.c @@ -250,6 +250,7 @@ val_type inifile_fetch(inifile *dba, const key_type *key, int skip TSRMLS_DC) { if (skip == -1 && dba->next.key.group && dba->next.key.name && !inifile_key_cmp(&dba->next.key, key TSRMLS_CC)) { /* we got position already from last fetch */ php_stream_seek(dba->fp, dba->next.pos, SEEK_SET); + ln.key.group = estrdup(dba->next.key.group); } else { /* specific instance or not same key -> restart search */ /* the slow way: restart and seacrch */ diff --git a/ext/dba/tests/bug70825.phpt b/ext/dba/tests/bug70825.phpt new file mode 100644 index 0000000000000..ff05f01cf4f6c --- /dev/null +++ b/ext/dba/tests/bug70825.phpt @@ -0,0 +1,71 @@ +--TEST-- +Bug #70825 (Cannot fetch multiple values with group in ini file) +--SKIPIF-- + +--FILE-- + +==DONE== +--EXPECT-- +string(2) "23" +string(2) "42" +string(4) "1337" +string(2) "23" +string(2) "42" +string(4) "1337" +string(2) "23" +string(2) "42" +string(4) "1337" +string(2) "23" +string(2) "42" +string(4) "1337" +==DONE== +--CLEAN-- + From 2139918ea6f5088e9ed5daa734568b4a50217f52 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sat, 27 Aug 2016 01:02:58 +0200 Subject: [PATCH 196/206] Fix #65550: get_browser() incorrectly parsers entries with "+" sign + signs in the browscap patterns are meant to be literal characters, so we have to escape them for the regex matching. --- NEWS | 2 ++ ext/standard/browscap.c | 4 ++++ ext/standard/tests/misc/bug65550.phpt | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 ext/standard/tests/misc/bug65550.phpt diff --git a/NEWS b/NEWS index a7a58b69046d7..fcb811f1d6878 100644 --- a/NEWS +++ b/NEWS @@ -44,6 +44,8 @@ PHP NEWS - Standard: . Fixed bug #72823 (strtr out-of-bound access). (cmb) . Fixed bug #72278 (getimagesize returning FALSE on valid jpg). (cmb) + . Fixed bug #65550 (get_browser() incorrectly parses entries with "+" sign). + (cmb) - XML: . Fixed bug #72085 (SEGV on unknown address zif_xml_parse). (cmb) diff --git a/ext/standard/browscap.c b/ext/standard/browscap.c index 2b75135640efa..36def7183877f 100644 --- a/ext/standard/browscap.c +++ b/ext/standard/browscap.c @@ -123,6 +123,10 @@ static void convert_browscap_pattern(zval *pattern, int persistent) /* {{{ */ t[j++] = '\\'; t[j] = '~'; break; + case '+': + t[j++] = '\\'; + t[j] = '+'; + break; default: t[j] = Z_STRVAL_P(pattern)[i]; break; diff --git a/ext/standard/tests/misc/bug65550.phpt b/ext/standard/tests/misc/bug65550.phpt new file mode 100644 index 0000000000000..41967426fa303 --- /dev/null +++ b/ext/standard/tests/misc/bug65550.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #65550 (get_browser() incorrectly parses entries with "+" sign) +--INI-- +browscap={PWD}/browscap.ini +--SKIPIF-- + +--FILE-- + +==DONE== +--EXPECT-- +string(7) "OmniWeb" +string(3) "5.6" +==DONE== From c73bcbefbd74c650b48caef7e475502c1ef96c90 Mon Sep 17 00:00:00 2001 From: George Wang Date: Sun, 28 Aug 2016 21:49:30 -0400 Subject: [PATCH 197/206] Added .user.ini support. Added LSPHPRC support. update LiteSpeed SAPI version to 6.10 . --- sapi/litespeed/lsapi_main.c | 521 +++++++++++++++++++++++++++++++++--- 1 file changed, 489 insertions(+), 32 deletions(-) diff --git a/sapi/litespeed/lsapi_main.c b/sapi/litespeed/lsapi_main.c index f08a2c268fe8d..d3d968242826d 100644 --- a/sapi/litespeed/lsapi_main.c +++ b/sapi/litespeed/lsapi_main.c @@ -69,6 +69,19 @@ #define SAPI_LSAPI_MAX_HEADER_LENGTH 2048 +/* Key for each cache entry is dirname(PATH_TRANSLATED). + * + * NOTE: Each cache entry config_hash contains the combination from all user ini files found in + * the path starting from doc_root throught to dirname(PATH_TRANSLATED). There is no point + * storing per-file entries as it would not be possible to detect added / deleted entries + * between separate files. + */ +typedef struct _user_config_cache_entry { + time_t expires; + HashTable user_config; +} user_config_cache_entry; +static HashTable user_config_cache; + static int lsapi_mode = 0; static char *php_self = ""; static char *script_filename = ""; @@ -76,6 +89,7 @@ static int source_highlight = 0; static int ignore_php_ini = 0; static char * argv0 = NULL; static int engine = 1; +static int parse_user_ini = 0; #ifdef ZTS zend_compiler_globals *compiler_globals; zend_executor_globals *executor_globals; @@ -86,6 +100,14 @@ void ***tsrm_ls; zend_module_entry litespeed_module_entry; +static void init_sapi_from_env(sapi_module_struct *sapi_module) +{ + char *p; + p = getenv("LSPHPRC"); + if (p) + sapi_module->php_ini_path_override = p; +} + /* {{{ php_lsapi_startup */ static int php_lsapi_startup(sapi_module_struct *sapi_module) @@ -126,7 +148,11 @@ static void sapi_lsapi_ini_defaults(HashTable *configuration_hash) /* {{{ sapi_lsapi_ub_write */ +#if PHP_MAJOR_VERSION >= 7 +static size_t sapi_lsapi_ub_write(const char *str, size_t str_length TSRMLS_DC) +#else static int sapi_lsapi_ub_write(const char *str, uint str_length TSRMLS_DC) +#endif { int ret; int remain; @@ -155,7 +181,7 @@ static int sapi_lsapi_ub_write(const char *str, uint str_length TSRMLS_DC) /* {{{ sapi_lsapi_flush */ -static void sapi_lsapi_flush( void * server_context TSRMLS_DC ) +static void sapi_lsapi_flush(void * server_context) { if ( lsapi_mode ) { if ( LSAPI_Flush() == -1) { @@ -195,27 +221,30 @@ static char *sapi_lsapi_getenv( char * name, size_t name_len TSRMLS_DC ) /* }}} */ - +#if PHP_MAJOR_VERSION > 4 static int add_variable( const char * pKey, int keyLen, const char * pValue, int valLen, - void * arg ) + void * arg TSRMLS_DC) { #if PHP_MAJOR_VERSION >= 7 - int filter_arg = (Z_ARR_P((zval *)arg) == Z_ARR(PG(http_globals)[TRACK_VARS_ENV])) + int filter_arg = (Z_ARR_P((zval *)arg) == Z_ARR(PG(http_globals)[TRACK_VARS_ENV])) ? PARSE_ENV : PARSE_SERVER; + size_t new_val_len; #else int filter_arg = (arg == PG(http_globals)[TRACK_VARS_ENV])?PARSE_ENV:PARSE_SERVER; + unsigned int new_val_len; #endif + char * new_val = (char *) pValue; - unsigned int new_val_len; if (sapi_module.input_filter(filter_arg, (char *)pKey, &new_val, valLen, &new_val_len TSRMLS_CC)) { - php_register_variable_safe((char *)pKey, new_val, new_val_len, (zval *)arg ); + php_register_variable_safe((char *)pKey, new_val, new_val_len, (zval *)arg TSRMLS_CC); } - return 1; + return 1; } -/* +#else + static int add_variable( const char * pKey, int keyLen, const char * pValue, int valLen, void * arg ) { @@ -227,14 +256,26 @@ static int add_variable( const char * pKey, int keyLen, const char * pValue, int Z_STRLEN_P( gpc_element ) = valLen; Z_STRVAL_P( gpc_element ) = estrndup(pValue, valLen); Z_TYPE_P( gpc_element ) = IS_STRING; -#if PHP_MAJOR_VERSION > 4 - zend_symtable_update( symtable1, pKey1, keyLen + 1, &gpc_element, sizeof( zval *), (void **) &gpc_element_p ); -#else zend_hash_update( symtable1, pKey1, keyLen + 1, &gpc_element, sizeof( zval *), (void **) &gpc_element_p ); -#endif return 1; } -*/ +#endif + + +#if defined(ZTS) && PHP_MAJOR_VERSION < 7 +struct param_zts +{ + void *arg; + TSRMLS_D ; +}; + +static int add_variable_zts(const char * pKey, int keyLen, const char * pValue, int valLen, + void * arg ) +{ + struct param_zts * params = (struct param_zts *)arg; + return add_variable(pKey, keyLen, pValue, valLen, params->arg, params->TSRMLS_C); +} +#endif static void litespeed_php_import_environment_variables(zval *array_ptr TSRMLS_DC) { @@ -330,6 +371,11 @@ static int add_variable_magic_quote( const char * pKey, int keyLen, const char * static void sapi_lsapi_register_variables(zval *track_vars_array TSRMLS_DC) { char * php_self = ""; +#if defined(ZTS) && PHP_MAJOR_VERSION < 7 + struct param_zts params; + params.arg = track_vars_array; + params.TSRMLS_C = TSRMLS_C; +#endif if ( lsapi_mode ) { if ( (SG(request_info).request_uri ) ) php_self = (SG(request_info).request_uri ); @@ -339,9 +385,15 @@ static void sapi_lsapi_register_variables(zval *track_vars_array TSRMLS_DC) #if ((PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION < 4) || PHP_MAJOR_VERSION < 5) if (!PG(magic_quotes_gpc)) { #endif +#if defined(ZTS) && PHP_MAJOR_VERSION < 7 + LSAPI_ForeachHeader( add_variable_zts, ¶ms ); + LSAPI_ForeachEnv( add_variable_zts, ¶ms ); +#else LSAPI_ForeachHeader( add_variable, track_vars_array ); LSAPI_ForeachEnv( add_variable, track_vars_array ); - add_variable("PHP_SELF", 8, php_self, strlen( php_self ), track_vars_array ); +#endif + add_variable("PHP_SELF", 8, php_self, strlen( php_self ), + track_vars_array TSRMLS_CC); #if ((PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION < 4) || PHP_MAJOR_VERSION < 5) } else { LSAPI_ForeachHeader( add_variable_magic_quote, track_vars_array ); @@ -365,7 +417,11 @@ static void sapi_lsapi_register_variables(zval *track_vars_array TSRMLS_DC) /* {{{ sapi_lsapi_read_post */ +#if PHP_MAJOR_VERSION >= 7 +static size_t sapi_lsapi_read_post(char *buffer, size_t count_bytes TSRMLS_DC) +#else static int sapi_lsapi_read_post(char *buffer, uint count_bytes TSRMLS_DC) +#endif { if ( lsapi_mode ) { return LSAPI_ReadReqBody( buffer, (unsigned long long)count_bytes ); @@ -430,7 +486,11 @@ static int sapi_lsapi_send_headers(sapi_headers_struct *sapi_headers TSRMLS_DC) /* {{{ sapi_lsapi_send_headers */ -static void sapi_lsapi_log_message(char *message TSRMLS_DC) +static void sapi_lsapi_log_message(char *message +#if PHP_MAJOR_VERSION > 7 || (PHP_MAJOR_VERSION == 7 && PHP_MINOR_VERSION >= 1) + , int syslog_type_int /* unused */ +#endif + TSRMLS_DC) { char buf[8192]; int len = strlen( message ); @@ -444,13 +504,33 @@ static void sapi_lsapi_log_message(char *message TSRMLS_DC) } /* }}} */ +/* Set to 1 to turn on log messages useful during development: + */ +#if 0 +static void log_message (const char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + char buf[0x100]; + vsnprintf(buf, sizeof(buf), fmt, ap); + va_end(ap); + sapi_lsapi_log_message(buf +#if PHP_MAJOR_VERSION > 7 || (PHP_MAJOR_VERSION == 7 && PHP_MINOR_VERSION >= 1) + , 0 +#endif + ); +} +#define DEBUG_MESSAGE(fmt, ...) log_message("LS:%d " fmt "\n", __LINE__, ##__VA_ARGS__) +#else +#define DEBUG_MESSAGE(fmt, ...) +#endif /* {{{ sapi_module_struct cgi_sapi_module */ static sapi_module_struct lsapi_sapi_module = { "litespeed", - "LiteSpeed V6.9", + "LiteSpeed V6.10", php_lsapi_startup, /* startup */ php_module_shutdown_wrapper, /* shutdown */ @@ -475,6 +555,10 @@ static sapi_module_struct lsapi_sapi_module = sapi_lsapi_register_variables, /* register server variables */ sapi_lsapi_log_message, /* Log message */ +#if PHP_MAJOR_VERSION > 7 || (PHP_MAJOR_VERSION == 7 && PHP_MINOR_VERSION >= 1) + NULL, /* Get request time */ + NULL, /* Child terminate */ +#else NULL, /* php.ini path override */ NULL, /* block interruptions */ NULL, /* unblock interruptions */ @@ -483,6 +567,7 @@ static sapi_module_struct lsapi_sapi_module = NULL, /* executable location */ 0, /* php.ini ignore */ +#endif STANDARD_SAPI_MODULE_PROPERTIES @@ -588,6 +673,7 @@ static int lsapi_execute_script( zend_file_handle * file_handle TSRMLS_DC) } +static int lsapi_activate_user_ini(TSRMLS_D); static int lsapi_module_main(int show_source TSRMLS_DC) { @@ -596,6 +682,12 @@ static int lsapi_module_main(int show_source TSRMLS_DC) if (php_request_startup(TSRMLS_C) == FAILURE ) { return -1; } + +#if PHP_MAJOR_VERSION > 5 || (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 3) + if (parse_user_ini && lsapi_activate_user_ini(TSRMLS_C) == FAILURE) { + return -1; + } +#endif if (show_source) { zend_syntax_highlighter_ini syntax_highlighter_ini; @@ -632,23 +724,368 @@ static int alter_ini( const char * pKey, int keyLen, const char * pValue, int va engine = 0; } else - { + { #if PHP_MAJOR_VERSION >= 7 - psKey = STR_INIT( pKey, keyLen, 1 ); - zend_alter_ini_entry(psKey, + --keyLen; + psKey = zend_string_init( pKey, keyLen, 1 ); + zend_alter_ini_entry_chars(psKey, (char *)pValue, valLen, type, PHP_INI_STAGE_ACTIVATE); - STR_RELEASE( psKey ); + zend_string_release( psKey ); #else zend_alter_ini_entry((char *)pKey, keyLen, (char *)pValue, valLen, type, PHP_INI_STAGE_ACTIVATE); #endif - } + } } return 1; } +static void user_config_cache_entry_dtor( +#if PHP_MAJOR_VERSION >= 7 + zval +#else + void +#endif + *el) +{ + user_config_cache_entry *entry = +#if PHP_MAJOR_VERSION >= 7 + (user_config_cache_entry *)Z_PTR_P(el) +#else + *(user_config_cache_entry **)el +#endif + ; + zend_hash_destroy(&entry->user_config); + free(entry); +} + +static void user_config_cache_init() +{ + zend_hash_init(&user_config_cache, 0, NULL, user_config_cache_entry_dtor, 1); +} + +static int pathlen_without_trailing_slash(char *path) +{ + int len = (int)strlen(path); + while (len > 1 && /* mind "/" as root dir */ + path[len-1] == DEFAULT_SLASH) + { + --len; + } + return len; +} + +static inline char* skip_slash(char *s) +{ + while (*s == DEFAULT_SLASH) { + ++s; + } + return s; +} + +/** + * Walk down the path_stop starting at path_start. + * + * If path_start = "/path1" and path_stop = "/path1/path2/path3" + * the callback will be called 3 times with the next args: + * + * 1. "/path1/path2/path3" + * ^ end + * ^ start + * 2. "/path1/path2/path3" + * ^ end + * ^ start + * 3. "/path1/path2/path3" + * ^ end + * ^ start + * + * path_stop has to be a subdir of path_start + * or to be path_start itself. + * + * Both path args have to be absolute. + * Trailing slashes are allowed. + * NULL or empty string args are not allowed. + */ +static void walk_down_the_path(char* path_start, + char* path_stop, + void (*cb)(char* begin, + char* end, + void* data), + void* data) +{ + char *pos = path_stop + pathlen_without_trailing_slash(path_start); + cb(path_stop, pos, data); + + while ((pos = skip_slash(pos))[0]) { + pos = strchr(pos, DEFAULT_SLASH); + if (!pos) { + /* The last token without trailing slash + */ + cb(path_stop, path_stop + strlen(path_stop), data); + return; + } + cb(path_stop, pos, data); + } +} + +#if PHP_MAJOR_VERSION > 5 || (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 3) + +typedef struct { + char *path; + uint path_len; + char *doc_root; + user_config_cache_entry *entry; +#if defined(ZTS) && PHP_MAJOR_VERSION < 7 + TSRMLS_D ; +#endif +} _lsapi_activate_user_ini_ctx; + +typedef int (*fn_activate_user_ini_chain_t) + (_lsapi_activate_user_ini_ctx *ctx, void* next); + +static int lsapi_activate_user_ini_basic_checks(_lsapi_activate_user_ini_ctx *ctx, + void* next) +{ + int rc = SUCCESS; + fn_activate_user_ini_chain_t *fn_next = next; + + if (!PG(user_ini_filename) || !*PG(user_ini_filename)) { + return SUCCESS; + } + + /* PATH_TRANSLATED should be defined at this stage */ + ctx->path = SG(request_info).path_translated; + if (!ctx->path || !*ctx->path) { + return FAILURE; + } + + ctx->doc_root = sapi_lsapi_getenv("DOCUMENT_ROOT", 0 +#if defined(ZTS) && PHP_MAJOR_VERSION < 7 + , ctx->TSRMLS_C +#endif + ); + DEBUG_MESSAGE("doc_root: %s", ctx->doc_root); + + if (*fn_next) { + rc = (*fn_next)(ctx, fn_next + 1); + } + + return rc; +} + +static int lsapi_activate_user_ini_mk_path(_lsapi_activate_user_ini_ctx *ctx, + void* next) +{ + char *path; + int rc = SUCCESS; + fn_activate_user_ini_chain_t *fn_next = next; + + /* Extract dir name from path_translated * and store it in 'path' */ + ctx->path_len = strlen(ctx->path); + path = ctx->path = estrndup(SG(request_info).path_translated, ctx->path_len); + if (!path) + return FAILURE; + ctx->path_len = zend_dirname(path, ctx->path_len); + DEBUG_MESSAGE("dirname: %s", ctx->path); + + if (*fn_next) { + rc = (*fn_next)(ctx, fn_next + 1); + } + + efree(path); + return rc; +} + +static int lsapi_activate_user_ini_mk_realpath(_lsapi_activate_user_ini_ctx *ctx, + void* next) +{ + char *real_path; + int rc = SUCCESS; + fn_activate_user_ini_chain_t *fn_next = next; + + if (!IS_ABSOLUTE_PATH(ctx->path, ctx->path_len)) { + real_path = tsrm_realpath(ctx->path, NULL +#if defined(ZTS) && PHP_MAJOR_VERSION < 7 + , ctx->TSRMLS_C +#endif + ); + if (!real_path) { + return SUCCESS; + } + ctx->path = real_path; + ctx->path_len = strlen(ctx->path); + DEBUG_MESSAGE("calculated tsrm realpath: %s", real_path); + } else { + DEBUG_MESSAGE("%s is an absolute path", ctx->path); + real_path = NULL; + } + + if (*fn_next) { + rc = (*fn_next)(ctx, fn_next + 1); + } + + if (real_path) + efree(real_path); + return rc; +} + +static int lsapi_activate_user_ini_mk_user_config(_lsapi_activate_user_ini_ctx *ctx, + void* next) +{ + fn_activate_user_ini_chain_t *fn_next = next; + + /* Find cached config entry: If not found, create one */ +#if PHP_MAJOR_VERSION >= 7 + ctx->entry = zend_hash_str_find_ptr(&user_config_cache, ctx->path, ctx->path_len); +#else + { + user_config_cache_entry **entry_pp; + if (SUCCESS == zend_hash_find(&user_config_cache, ctx->path, + ctx->path_len + 1, (void **) &entry_pp)) + ctx->entry = *entry_pp; + else + ctx->entry = NULL; + } +#endif + + if (ctx->entry) { + DEBUG_MESSAGE("found entry for %s", ctx->path); + } else { + DEBUG_MESSAGE("entry for %s not found, creating new entry", ctx->path); + ctx->entry = pemalloc(sizeof(user_config_cache_entry), 1); + ctx->entry->expires = 0; + zend_hash_init(&ctx->entry->user_config, 0, NULL, +#if PHP_MAJOR_VERSION <= 5 + (dtor_func_t) +#endif + config_zval_dtor, 1); +#if PHP_MAJOR_VERSION >= 7 + zend_hash_str_update_ptr(&user_config_cache, ctx->path, + ctx->path_len, ctx->entry); +#else + zend_hash_update(&user_config_cache, ctx->path, ctx->path_len + 1, + &ctx->entry, sizeof(&ctx->entry), NULL); +#endif + } + + if (*fn_next) { + return (*fn_next)(ctx, fn_next + 1); + } else { + return SUCCESS; + } +} + +static void walk_down_the_path_callback(char* begin, + char* end, + void* data) +{ + _lsapi_activate_user_ini_ctx *ctx = data; + char tmp = end[0]; + end[0] = 0; + DEBUG_MESSAGE("parsing %s%c%s", begin, DEFAULT_SLASH, PG(user_ini_filename)); + php_parse_user_ini_file(begin, PG(user_ini_filename), &ctx->entry->user_config +#if defined(ZTS) && PHP_MAJOR_VERSION < 7 + , ctx->TSRMLS_C +#endif + ); + end[0] = tmp; +} + +static int lsapi_activate_user_ini_walk_down_the_path(_lsapi_activate_user_ini_ctx *ctx, + void* next) +{ + time_t request_time = sapi_get_request_time( +#if defined(ZTS) && PHP_MAJOR_VERSION < 7 + ctx->TSRMLS_C +#endif + ); + uint path_len, docroot_len; + int rc = SUCCESS; + fn_activate_user_ini_chain_t *fn_next = next; + + if (!ctx->entry->expires || request_time > ctx->entry->expires) + { + docroot_len = ctx->doc_root && ctx->doc_root[0] + ? pathlen_without_trailing_slash(ctx->doc_root) + : 0; + + int is_outside_of_docroot = !docroot_len || + ctx->path_len < docroot_len || + strncmp(ctx->path, ctx->doc_root, docroot_len) != 0; + + if (is_outside_of_docroot) { + php_parse_user_ini_file(ctx->path, PG(user_ini_filename), &ctx->entry->user_config +#if defined(ZTS) && PHP_MAJOR_VERSION < 7 + , ctx->TSRMLS_C +#endif + ); + } else { + walk_down_the_path(ctx->doc_root, ctx->path, + &walk_down_the_path_callback, ctx); + } + + ctx->entry->expires = request_time + PG(user_ini_cache_ttl); + } + + if (*fn_next) { + rc = (*fn_next)(ctx, fn_next + 1); + } + + return rc; +} + +static int lsapi_activate_user_ini_finally(_lsapi_activate_user_ini_ctx *ctx, + void* next) +{ + int rc = SUCCESS; + fn_activate_user_ini_chain_t *fn_next = next; + + DEBUG_MESSAGE("calling php_ini_activate_config()"); + php_ini_activate_config(&ctx->entry->user_config, PHP_INI_PERDIR, PHP_INI_STAGE_HTACCESS +#if defined(ZTS) && PHP_MAJOR_VERSION < 7 + , ctx->TSRMLS_C +#endif + ); + + if (*fn_next) { + rc = (*fn_next)(ctx, fn_next + 1); + } + + return rc; +} + +static int lsapi_activate_user_ini(TSRMLS_D) +{ + _lsapi_activate_user_ini_ctx ctx; + /** + * The reason to have this function list stacked + * is each function now can define a scoped destructor. + * + * Passing control via function pointer is a sign of low coupling, + * which means dependencies between these functions are to be + * controlled from a single place + * (here below, by modifying this function list order) + */ + static const fn_activate_user_ini_chain_t fn_chain[] = { + &lsapi_activate_user_ini_basic_checks, + &lsapi_activate_user_ini_mk_path, + &lsapi_activate_user_ini_mk_realpath, + &lsapi_activate_user_ini_mk_user_config, + &lsapi_activate_user_ini_walk_down_the_path, + &lsapi_activate_user_ini_finally, + NULL + }; + +#if defined(ZTS) && PHP_MAJOR_VERSION < 7 + ctx.TSRMLS_C = TSRMLS_C; +#endif + + return fn_chain[0](&ctx, (fn_activate_user_ini_chain_t*)(fn_chain + 1)); +} + +#endif static void override_ini() { @@ -809,11 +1246,11 @@ static int cli_main( int argc, char * argv[] ) #endif for( ini = ini_defaults; *ini; ini+=2 ) { #if PHP_MAJOR_VERSION >= 7 - psKey = STR_INIT( *ini, strlen( *ini ), 1 ); - zend_alter_ini_entry( psKey, + psKey = zend_string_init( *ini, strlen( *ini ), 1 ); + zend_alter_ini_entry_chars( psKey, (char *)*(ini+1), strlen( *(ini+1) ), PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE); - STR_RELEASE( psKey ); + zend_string_release( psKey ); #else zend_alter_ini_entry( (char *)*ini, strlen( *ini )+1, (char *)*(ini+1), strlen( *(ini+1) ), @@ -842,9 +1279,9 @@ static int cli_main( int argc, char * argv[] ) case 'v': if (php_request_startup(TSRMLS_C) != FAILURE) { #if ZEND_DEBUG - php_printf("PHP %s (%s) (built: %s %s) (DEBUG)\nCopyright (c) 1997-2016 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); + php_printf("PHP %s (%s) (built: %s %s) (DEBUG)\nCopyright (c) 1997-2015 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); #else - php_printf("PHP %s (%s) (built: %s %s)\nCopyright (c) 1997-2016 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); + php_printf("PHP %s (%s) (built: %s %s)\nCopyright (c) 1997-2015 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); #endif #ifdef PHP_OUTPUT_NEWAPI php_output_end_all(TSRMLS_C); @@ -1065,6 +1502,11 @@ int main( int argc, char * argv[] ) #endif lsapi_sapi_module.executable_location = argv[0]; + + /* Initialize from environment variables before processing command-line + * options: the latter override the former. + */ + init_sapi_from_env(&lsapi_sapi_module); if ( ignore_php_ini ) lsapi_sapi_module.php_ini_ignore = 1; @@ -1148,17 +1590,24 @@ int main( int argc, char * argv[] ) /* LiteSpeed PHP module starts here */ +#if PHP_MAJOR_VERSION > 4 + /* {{{ arginfo */ ZEND_BEGIN_ARG_INFO(arginfo_litespeed__void, 0) ZEND_END_ARG_INFO() /* }}} */ +#else +#define arginfo_litespeed__void NULL +#endif + PHP_FUNCTION(litespeed_request_headers); PHP_FUNCTION(litespeed_response_headers); PHP_FUNCTION(apache_get_modules); PHP_MINFO_FUNCTION(litespeed); + zend_function_entry litespeed_functions[] = { PHP_FE(litespeed_request_headers, arginfo_litespeed__void) PHP_FE(litespeed_response_headers, arginfo_litespeed__void) @@ -1171,6 +1620,12 @@ zend_function_entry litespeed_functions[] = { static PHP_MINIT_FUNCTION(litespeed) { + user_config_cache_init(); + + const char *p = getenv("LSPHP_ENABLE_USER_INI"); + if (p && 0 == strcasecmp(p, "on")) + parse_user_ini = 1; + /* REGISTER_INI_ENTRIES(); */ return SUCCESS; } @@ -1178,6 +1633,8 @@ static PHP_MINIT_FUNCTION(litespeed) static PHP_MSHUTDOWN_FUNCTION(litespeed) { + zend_hash_destroy(&user_config_cache); + /* UNREGISTER_INI_ENTRIES(); */ return SUCCESS; } @@ -1198,11 +1655,11 @@ zend_module_entry litespeed_module_entry = { static int add_associate_array( const char * pKey, int keyLen, const char * pValue, int valLen, void * arg ) { - add_assoc_string_ex( (zval *)arg, (char *)pKey, keyLen+1, (char *)pValue #if PHP_MAJOR_VERSION < 7 - , 1 + add_assoc_string_ex((zval *)arg, (char *)pKey, keyLen+1, (char *)pValue, 1); +#else + add_assoc_string_ex((zval *)arg, (char *)pKey, keyLen, (char *)pValue); #endif - ); return 1; } @@ -1256,11 +1713,11 @@ PHP_FUNCTION(litespeed_response_headers) headerBuf[len] = 0; if ( len ) { while( isspace(*++p)); - add_assoc_string_ex(return_value, headerBuf, len+1, p #if PHP_MAJOR_VERSION < 7 - , 1 + add_assoc_string_ex(return_value, headerBuf, len+1, p, 1); +#else + add_assoc_string_ex(return_value, headerBuf, len, p); #endif - ); } } } From e2609a38d9604d9daea5e4a31a6fb13d1cc24ab5 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Mon, 29 Aug 2016 18:01:21 +0200 Subject: [PATCH 198/206] fix leak --- ext/ldap/ldap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c index 5ffc17b96f6ab..e709e592fa11d 100644 --- a/ext/ldap/ldap.c +++ b/ext/ldap/ldap.c @@ -367,6 +367,7 @@ PHP_FUNCTION(ldap_connect) int urllen = hostlen + sizeof( "ldap://:65535" ); if (port <= 0 || port > 65535) { + efree(ld); php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid port number: %ld", port); RETURN_FALSE; } From 1a840b9af0117f6ac4c2030dc0f8c562a0f453ba Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Mon, 29 Aug 2016 19:27:47 +0200 Subject: [PATCH 199/206] fix double free --- ext/intl/msgformat/msgformat_format.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ext/intl/msgformat/msgformat_format.c b/ext/intl/msgformat/msgformat_format.c index 55ec9e84ba0e8..25c9619133d6f 100644 --- a/ext/intl/msgformat/msgformat_format.c +++ b/ext/intl/msgformat/msgformat_format.c @@ -51,11 +51,10 @@ static void msgfmt_do_format(MessageFormatter_object *mfo, zval *args, zval *ret zend_hash_destroy(args_copy); efree(args_copy); - if (formatted && U_FAILURE(INTL_DATA_ERROR_CODE(mfo))) { - efree(formatted); - } - if (U_FAILURE(INTL_DATA_ERROR_CODE(mfo))) { + if (formatted) { + efree(formatted); + } RETURN_FALSE; } else { INTL_METHOD_RETVAL_UTF8(mfo, formatted, formatted_len, 1); From 295303b59059536079caf68b4d76acf2149bd42c Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Mon, 29 Aug 2016 20:25:34 +0200 Subject: [PATCH 200/206] Fixed bug #72703 Out of bounds global memory read in BF_crypt triggered by password_verify --- ext/standard/crypt.c | 8 ++++++++ ext/standard/tests/strings/bug72703.phpt | 17 +++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 ext/standard/tests/strings/bug72703.phpt diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c index 1b83d6e127708..10f19ff113d10 100644 --- a/ext/standard/crypt.c +++ b/ext/standard/crypt.c @@ -201,6 +201,14 @@ PHPAPI int php_crypt(const char *password, const int pass_len, const char *salt, salt[5] >= '0' && salt[5] <= '9' && salt[6] == '$') { char output[PHP_MAX_SALT_LEN + 1]; + int k = 7; + + while (isalnum(salt[k]) || '.' == salt[k] || '/' == salt[k]) { + k++; + } + if (k != salt_len) { + return FAILURE; + } memset(output, 0, PHP_MAX_SALT_LEN + 1); diff --git a/ext/standard/tests/strings/bug72703.phpt b/ext/standard/tests/strings/bug72703.phpt new file mode 100644 index 0000000000000..5e3bf4875d964 --- /dev/null +++ b/ext/standard/tests/strings/bug72703.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #72703 Out of bounds global memory read in BF_crypt triggered by password_verify +--SKIPIF-- + +--FILE-- + +==OK== +--EXPECT-- +bool(false) +==OK== + From d787b0ea13951e8653c903808b061bc859ff15fb Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Mon, 29 Aug 2016 21:03:03 +0200 Subject: [PATCH 201/206] ensure null termination --- ext/curl/interface.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 062f9969aed2a..02fbec777682f 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -1851,8 +1851,9 @@ static void create_certinfo(struct curl_certinfo *ci, zval *listcode TSRMLS_DC) int len; char s[64]; char *tmp; - strncpy(s, slist->data, 64); - tmp = memchr(s, ':', 64); + strncpy(s, slist->data, sizeof(s)); + s[sizeof(s)-1] = '\0'; + tmp = memchr(s, ':', sizeof(s)); if(tmp) { *tmp = '\0'; len = strlen(s); From ae81e8fc32749a3f94d975eed79fb9784ca9b8f5 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Mon, 29 Aug 2016 21:20:36 +0200 Subject: [PATCH 202/206] update NEWS --- NEWS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS b/NEWS index fcb811f1d6878..bc3d279fd9048 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ PHP NEWS - Core: . Fixed bug #72907 (null pointer deref, segfault in gc_remove_zval_from_buffer (zend_gc.c:260)). (Laruence) + . Fixed bug #72703 (Out of bounds global memory read in BF_crypt triggered by + password_verify). (Anatol) - Dba: . Fixed bug #71514 (Bad dba_replace condition because of wrong API usage). From c7b4cd1a51736b15d095b6b540f17076a0a8433d Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Mon, 29 Aug 2016 21:45:39 +0200 Subject: [PATCH 203/206] fix HANDLE leak --- TSRM/tsrm_win32.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c index f81f93c3e516e..0fec4a0e9a359 100644 --- a/TSRM/tsrm_win32.c +++ b/TSRM/tsrm_win32.c @@ -616,6 +616,12 @@ TSRM_API int shmget(int key, int size, int flags) } } else { if (flags & IPC_EXCL) { + if (shm_handle) { + CloseHandle(shm_handle); + } + if (info_handle) { + CloseHandle(info_handle); + } return -1; } } From 207dab585aadd9f320976a0895734d7d9ca7b862 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 30 Aug 2016 01:53:27 +0200 Subject: [PATCH 204/206] Fix #71882: Negative ftruncate() on php://memory exhausts memory We must not pass negative sizes to a size_t parameter. --- NEWS | 2 ++ ext/standard/file.c | 5 +++++ ext/standard/tests/file/bug71882.phpt | 11 +++++++++++ 3 files changed, 18 insertions(+) create mode 100644 ext/standard/tests/file/bug71882.phpt diff --git a/NEWS b/NEWS index bc3d279fd9048..a05fa844c5104 100644 --- a/NEWS +++ b/NEWS @@ -48,6 +48,8 @@ PHP NEWS . Fixed bug #72278 (getimagesize returning FALSE on valid jpg). (cmb) . Fixed bug #65550 (get_browser() incorrectly parses entries with "+" sign). (cmb) + . Fixed bug #71882 (Negative ftruncate() on php://memory exhausts memory). + (cmb) - XML: . Fixed bug #72085 (SEGV on unknown address zif_xml_parse). (cmb) diff --git a/ext/standard/file.c b/ext/standard/file.c index d8471fff1c64b..d346ed9e92263 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -1512,6 +1512,11 @@ PHP_NAMED_FUNCTION(php_if_ftruncate) RETURN_FALSE; } + if (size < 0) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Negative size is not supported"); + RETURN_FALSE; + } + PHP_STREAM_TO_ZVAL(stream, &fp); if (!php_stream_truncate_supported(stream)) { diff --git a/ext/standard/tests/file/bug71882.phpt b/ext/standard/tests/file/bug71882.phpt new file mode 100644 index 0000000000000..ae0137b5999ae --- /dev/null +++ b/ext/standard/tests/file/bug71882.phpt @@ -0,0 +1,11 @@ +--TEST-- +Bug #71882 (Negative ftruncate() on php://memory exhausts memory) +--FILE-- + +==DONE== +--EXPECTF-- +Warning: ftruncate(): Negative size is not supported in %s%ebug71882.php on line %d +==DONE== From af7828a20f085c6cd2b720b093ee08f299505257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Hukkam=C3=A4ki?= Date: Fri, 19 Aug 2016 22:05:04 +0000 Subject: [PATCH 205/206] Test case for bug #72771 --- ext/ftp/tests/server.inc | 9 ++++++++- ext/standard/tests/streams/bug72771.phpt | 23 +++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 ext/standard/tests/streams/bug72771.phpt diff --git a/ext/ftp/tests/server.inc b/ext/ftp/tests/server.inc index 5629c2e312291..1a04cd179bedd 100644 --- a/ext/ftp/tests/server.inc +++ b/ext/ftp/tests/server.inc @@ -139,7 +139,10 @@ if ($pid) { $buf = fread($s, 2048); } - if (!preg_match('/^USER (\w+)\r\n$/', $buf, $m)) { + if ($buf == "AUTH TLS\r\n") { + fputs($s, "500 not supported.\r\n"); + return ; + } else if (!preg_match('/^USER (\w+)\r\n$/', $buf, $m)) { fputs($s, "500 Syntax error, command unrecognized.\r\n"); dump_and_exit($buf); } @@ -208,6 +211,10 @@ if ($pid) { $ascii = true; fputs($s, "200 OK\r\n"); + } elseif ($buf === "AUTH SSL\r\n") { + $ascii = true; + fputs($s, "500 not supported\r\n"); + } elseif ($buf === "TYPE I\r\n") { $ascii = false; fputs($s, "200 OK\r\n"); diff --git a/ext/standard/tests/streams/bug72771.phpt b/ext/standard/tests/streams/bug72771.phpt new file mode 100644 index 0000000000000..b38ccbdda8260 --- /dev/null +++ b/ext/standard/tests/streams/bug72771.phpt @@ -0,0 +1,23 @@ +--TEST-- +Bug #72771. FTPS to FTP downgrade not allowed when server doesn't support AUTH TLS or AUTH SSL. +--SKIPIF-- + +--FILE-- + +==DONE== +--EXPECTF-- +Warning: opendir(ftps://127.0.0.1:%d/): failed to open dir: Server doesn't support FTPS. in %s on line %d +bool(false) +==DONE== From 2f10db36af2776f386b7433c5cbfe79e66edd14d Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 30 Aug 2016 14:48:24 +0200 Subject: [PATCH 206/206] Fix #66797: mb_substr only takes 32-bit signed integer `from` and `len` are `long`, but get passed to mbfl_substr() which expects `int`s. Therefore we clamp the values to avoid the undefined conversion behavior. --- NEWS | 3 +++ ext/mbstring/mbstring.c | 7 +++++++ ext/mbstring/tests/bug66797.phpt | 23 +++++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 ext/mbstring/tests/bug66797.phpt diff --git a/NEWS b/NEWS index a05fa844c5104..531d6266b4126 100644 --- a/NEWS +++ b/NEWS @@ -31,6 +31,9 @@ PHP NEWS - JSON: . Fixed bug #72787 (json_decode reads out of bounds). (Jakub Zelenka) +- mbstring: + . Fixed bug #66797 (mb_substr only takes 32-bit signed integer). (cmb) + - MSSQL: . Fixed bug #72039 (Use of uninitialised value on mssql_guid_string). (Kalle) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 1cfaf2cc36efa..ee8a00912b348 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2799,6 +2799,13 @@ PHP_FUNCTION(mb_substr) RETURN_FALSE; } + if (from > INT_MAX) { + from = INT_MAX; + } + if (len > INT_MAX) { + len = INT_MAX; + } + ret = mbfl_substr(&string, &result, from, len); if (NULL == ret) { RETURN_FALSE; diff --git a/ext/mbstring/tests/bug66797.phpt b/ext/mbstring/tests/bug66797.phpt new file mode 100644 index 0000000000000..df9e789be6c8c --- /dev/null +++ b/ext/mbstring/tests/bug66797.phpt @@ -0,0 +1,23 @@ +--TEST-- +Bug #66797 (mb_substr only takes 32-bit signed integer) +--SKIPIF-- + +--FILE-- + +==DONE== +--EXPECTF-- +string(3) "bar" +string(3) "bar" +string(0) "" +string(0) "" +==DONE==