diff options
234 files changed, 16909 insertions, 13418 deletions
diff --git a/.gitattributes b/.gitattributes index 79b218fcba..091043a35b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -22,6 +22,10 @@ sapi/nsapi/nsapi.c ident sapi/continuity/capi.c ident Zend/RFCs/002.txt ident Zend/RFCs/003.txt ident +ext/exif/exif.c ident +ext/ldap/ldap.c ident +ext/pdo_pgsql/pdo_pgsql.c ident +ext/tidy/tidy.c ident NEWS merge=NEWS UPGRADING merge=NEWS UPGRADING.INTERNALS merge=NEWS diff --git a/.travis.yml b/.travis.yml index 8c72df9180..2125e8d3d6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,9 @@ notifications: email: on_failure: change +cache: + - apt + env: global: - MYSQL_TEST_HOST=127.0.0.1 @@ -21,6 +24,12 @@ env: - ENABLE_MAINTAINER_ZTS=0 ENABLE_DEBUG=0 - ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1 +before_install: + - sudo apt-get update -qq + - sudo apt-get install -y libenchant-dev libaspell-dev libpspell-dev librecode-dev + - sudo cp ./travis/de /var/lib/locales/supported.d/de + - sudo dpkg-reconfigure locales + before_script: # Compile PHP - ./travis/compile.sh @@ -1,6 +1,6 @@ -------------------------------------------------------------------- The PHP License, version 3.01 -Copyright (c) 1999 - 2012 The PHP Group. All rights reserved. +Copyright (c) 1999 - 2014 The PHP Group. All rights reserved. -------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without @@ -2,11 +2,20 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 20??, PHP 5.7.0 +- CLI server: + . Refactor MIME type handling to use a hash table instead of linear search. + (Adam) + . Update the MIME type list from the one shipped by Apache HTTPD. (Adam) + +- Core: + . Added PHP_INT_MIN constant. (Andrea) + - DBA: . Fixed bug #62490 (dba_delete returns true on missing item (inifile)). (Mike) - Standard: . Removed call_user_method() and call_user_method_array() functions. (Kalle) + . Fix user session handlers (See rfc:session.user.return-value). (Sara) - XSL: . Fixed bug #64776 (The XSLT extension is not thread safe). (Mike) @@ -68,6 +68,8 @@ PHP X.Y UPGRADE NOTES 10. New Global Constants ======================================== +- Core + , PHP_INT_MIN added. ======================================== 11. Changes to INI File Handling diff --git a/Zend/tests/67468.phpt b/Zend/tests/67468.phpt new file mode 100644 index 0000000000..767217644a --- /dev/null +++ b/Zend/tests/67468.phpt @@ -0,0 +1,11 @@ +--TEST-- +Bug #67468 (Segfault in highlight_file()/highlight_string()) +--SKIPIF-- +<?php if(!function_exists("leak")) print "skip only for debug builds"; ?> +--FILE-- +<?php +highlight_string("<?php __CLASS__;", true); +echo "done"; +?> +--EXPECT-- +done diff --git a/Zend/tests/bug66608.phpt b/Zend/tests/bug66608.phpt new file mode 100644 index 0000000000..5a499a1dab --- /dev/null +++ b/Zend/tests/bug66608.phpt @@ -0,0 +1,73 @@ +--TEST-- +Bug #66608 (Incorrect behavior with nested "finally" blocks) +--FILE-- +<?php +function bar() { + try { + echo "1\n"; + try { + } finally { + try { + } finally { + } + echo "2\n"; + } + } finally { + try { + throw new Exception (""); + } catch (Exception $ab) { + echo "3\n"; + } finally { + try { + } finally { + echo "4\n"; + try { + } finally { + } + echo "5\n"; + } + } + echo "6\n"; + try { + } finally { + while (1) { + try { + echo "7\n"; + break; + } finally { + echo "8\n"; + } + echo "bad"; + } + echo "9\n"; + while (1) { + try { + throw new Exception(""); + } catch(Exception $e) { + echo "10\n"; + break; + } finally { + echo "11\n"; + } + echo "bak\n"; + } + } + echo "12\n"; + } + echo "13\n"; +} +bar(); +--EXPECT-- +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 diff --git a/Zend/tests/bug67368.phpt b/Zend/tests/bug67368.phpt new file mode 100644 index 0000000000..c92e994b94 --- /dev/null +++ b/Zend/tests/bug67368.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #67368 (Memory leak with immediately dereferenced array in class constant) +--INI-- +report_memleaks=1 +--FILE-- +<?php +class FooBar { + const bar = ["bar" => 3]["bar"]; +} +echo "okey"; +--EXPECTF-- +okey diff --git a/Zend/tests/bug67436/a.php b/Zend/tests/bug67436/a.php new file mode 100644 index 0000000000..c560c2db7d --- /dev/null +++ b/Zend/tests/bug67436/a.php @@ -0,0 +1,10 @@ +<?php + +class a { + public function test($arg = c::TESTCONSTANT) { + echo __METHOD__ . "($arg)\n"; + } + + static public function staticTest() { + } +} diff --git a/Zend/tests/bug67436/b.php b/Zend/tests/bug67436/b.php new file mode 100644 index 0000000000..793a1394d6 --- /dev/null +++ b/Zend/tests/bug67436/b.php @@ -0,0 +1,8 @@ +<?php + +class b extends a { + public function test() { + echo __METHOD__ . "()\n"; + parent::test(); + } +} diff --git a/Zend/tests/bug67436/bug67436.phpt b/Zend/tests/bug67436/bug67436.phpt new file mode 100644 index 0000000000..49b8b491d2 --- /dev/null +++ b/Zend/tests/bug67436/bug67436.phpt @@ -0,0 +1,26 @@ +--TEST-- +bug67436: Autoloader isn't called if user defined error handler is present + +--INI-- +error_reporting= + +--FILE-- +<?php + +spl_autoload_register(function($classname) { + if (in_array($classname, array('a','b','c'))) { + require_once ($classname . '.php'); + } +}); + +set_error_handler(function ($errno, $errstr, $errfile, $errline) { +}, error_reporting()); + +a::staticTest(); + +$b = new b(); +$b->test(); + +--EXPECT-- +b::test() +a::test(c::TESTCONSTANT) diff --git a/Zend/tests/bug67436/bug67436_nohandler.phpt b/Zend/tests/bug67436/bug67436_nohandler.phpt new file mode 100644 index 0000000000..464f711532 --- /dev/null +++ b/Zend/tests/bug67436/bug67436_nohandler.phpt @@ -0,0 +1,24 @@ +--TEST-- +bug67436: E_STRICT instead of custom error handler + +--INI-- +error_reporting=-1 + +--FILE-- +<?php + +spl_autoload_register(function($classname) { + if (in_array($classname, array('a','b','c'))) { + require_once ($classname . '.php'); + } +}); + +a::staticTest(); + +$b = new b(); +$b->test(); + +--EXPECTF-- +Strict Standards: Declaration of b::test() should be compatible with a::test($arg = c::TESTCONSTANT) in %s/bug67436/b.php on line %d +b::test() +a::test(c::TESTCONSTANT) diff --git a/Zend/tests/bug67436/c.php b/Zend/tests/bug67436/c.php new file mode 100644 index 0000000000..47c848bfa0 --- /dev/null +++ b/Zend/tests/bug67436/c.php @@ -0,0 +1,5 @@ +<?php + +class c { + const TESTCONSTANT = "c::TESTCONSTANT"; +} diff --git a/Zend/tests/constant_expressions_arrays.phpt b/Zend/tests/constant_expressions_arrays.phpt new file mode 100644 index 0000000000..2ab03453de --- /dev/null +++ b/Zend/tests/constant_expressions_arrays.phpt @@ -0,0 +1,66 @@ +--TEST-- +Constant expressions with arrays +--FILE-- +<?php +const a = [1,2,[3,[4]]]; +const b = a[0]; +const c = a[2][0]; +const d = a[2]; +const e = ["string" => [1]]["string"][0]; + +var_dump(b, c, e); + +function test ($a = d[1][0]) { + var_dump($a); +} + +test(); + +class foo { + const bar = [1][0]; +} + +var_dump(foo::bar); + +var_dump(a, a[0], a[2], a[2][1], a[3]); + +?> +--EXPECTF-- +int(1) +int(3) +int(1) +int(4) +int(1) + +Notice: Undefined offset: 3 in %s on line %d +array(3) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + array(2) { + [0]=> + int(3) + [1]=> + array(1) { + [0]=> + int(4) + } + } +} +int(1) +array(2) { + [0]=> + int(3) + [1]=> + array(1) { + [0]=> + int(4) + } +} +array(1) { + [0]=> + int(4) +} +NULL diff --git a/Zend/tests/constant_expressions_self_referencing_array.phpt b/Zend/tests/constant_expressions_self_referencing_array.phpt new file mode 100644 index 0000000000..ae76a08602 --- /dev/null +++ b/Zend/tests/constant_expressions_self_referencing_array.phpt @@ -0,0 +1,13 @@ +--TEST-- +Self-referencing constant expression (part of a constant AST) +--FILE-- +<?php +class A { + const FOO = [self::BAR]; + const BAR = [self::FOO]; +} +var_dump(A::FOO); +?> +--EXPECTF-- +Fatal error: Cannot declare self-referencing constant 'self::FOO' in %s on line %d + diff --git a/Zend/tests/errmsg_040.phpt b/Zend/tests/errmsg_040.phpt index c3a007f8c1..cda8d4c76a 100644 --- a/Zend/tests/errmsg_040.phpt +++ b/Zend/tests/errmsg_040.phpt @@ -12,4 +12,12 @@ var_dump(test::TEST); echo "Done\n"; ?> --EXPECTF-- -Fatal error: Arrays are not allowed in constants at run-time in %s on line %d +array(3) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) +} +Done diff --git a/Zend/tests/generators/bug67497.phpt b/Zend/tests/generators/bug67497.phpt new file mode 100644 index 0000000000..483857b96c --- /dev/null +++ b/Zend/tests/generators/bug67497.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #67467: eval with parse error causes segmentation fault in generator +--FILE-- +<?php + +function gen() { + $a = 1; + yield $a; +} + +@eval('abc'); + +$values = gen(); +$values->next(); + +?> +===DONE=== +--EXPECT-- +===DONE=== diff --git a/Zend/tests/ns_059.phpt b/Zend/tests/ns_059.phpt index 48da40b3f6..701e448812 100644 --- a/Zend/tests/ns_059.phpt +++ b/Zend/tests/ns_059.phpt @@ -7,5 +7,5 @@ const C = array(); var_dump(C); ?> --EXPECTF-- -Fatal error: Arrays are not allowed in constants at run-time in %sns_059.php on line 4 - +array(0) { +} diff --git a/Zend/tests/try_finally_011.phpt b/Zend/tests/try_finally_011.phpt new file mode 100644 index 0000000000..7aa3f35fee --- /dev/null +++ b/Zend/tests/try_finally_011.phpt @@ -0,0 +1,15 @@ +--TEST-- +Try finally (segfault with empty break) +--FILE-- +<?php +function foo () { + try { + break; + } finally { + } +} + +foo(); +?> +--EXPECTF-- +Fatal error: Cannot break/continue 1 level in %stry_finally_011.php on line %d diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c index e486aa326c..54448ac286 100644 --- a/Zend/zend_ast.c +++ b/Zend/zend_ast.c @@ -251,10 +251,19 @@ ZEND_API void zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *s zval_dtor(&op2); break; case ZEND_CONST: - *result = *ast->u.val; - zval_copy_ctor(result); - if (IS_CONSTANT_TYPE(Z_TYPE_P(result))) { - zval_update_constant_ex(&result, 1, scope TSRMLS_CC); + /* class constants may be updated in-place */ + if (scope) { + if (IS_CONSTANT_TYPE(Z_TYPE_P(ast->u.val))) { + zval_update_constant_ex(&ast->u.val, 1, scope TSRMLS_CC); + } + *result = *ast->u.val; + zval_copy_ctor(result); + } else { + *result = *ast->u.val; + zval_copy_ctor(result); + if (IS_CONSTANT_TYPE(Z_TYPE_P(result))) { + zval_update_constant_ex(&result, 1, scope TSRMLS_CC); + } } break; case ZEND_BOOL_AND: @@ -328,8 +337,7 @@ ZEND_API void zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *s { zval *tmp; zend_fetch_dimension_by_zval(&tmp, &op1, &op2 TSRMLS_CC); - *result = *tmp; - efree(tmp); + ZVAL_ZVAL(result, tmp, 1, 1); } zval_dtor(&op1); zval_dtor(&op2); diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index beb53402ba..7c979d56b7 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -3461,8 +3461,11 @@ static char * zend_get_function_declaration(zend_function *fptr TSRMLS_DC) /* {{ *zv = *precv->op2.zv; zval_copy_ctor(zv); INIT_PZVAL(zv); - zval_update_constant_ex(&zv, 1, fptr->common.scope TSRMLS_CC); - if (Z_TYPE_P(zv) == IS_BOOL) { + if ((Z_TYPE_P(zv) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT) { + REALLOC_BUF_IF_EXCEED(buf, offset, length, Z_STRLEN_P(zv)); + memcpy(offset, Z_STRVAL_P(zv), Z_STRLEN_P(zv)); + offset += Z_STRLEN_P(zv); + } else if (Z_TYPE_P(zv) == IS_BOOL) { if (Z_LVAL_P(zv)) { memcpy(offset, "true", 4); offset += 4; @@ -3487,6 +3490,9 @@ static char * zend_get_function_declaration(zend_function *fptr TSRMLS_DC) /* {{ } else if (Z_TYPE_P(zv) == IS_ARRAY) { memcpy(offset, "Array", 5); offset += 5; + } else if ((Z_TYPE_P(zv) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT_AST) { + memcpy(offset, "<expression>", 12); + offset += 12; } else { zend_make_printable_zval(zv, &zv_copy, &use_copy); REALLOC_BUF_IF_EXCEED(buf, offset, length, Z_STRLEN(zv_copy)); diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index 99d3704b76..f86a41ae2b 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -864,6 +864,9 @@ int zend_add_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC); #define ZEND_FAST_RET_TO_CATCH 1 #define ZEND_FAST_RET_TO_FINALLY 2 +#define ZEND_FAST_CALL_FROM_CATCH 1 +#define ZEND_FAST_CALL_FROM_FINALLY 2 + END_EXTERN_C() #define ZEND_CLONE_FUNC_NAME "__clone" diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index ad92c5fb6f..6ada04e1cb 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -943,6 +943,26 @@ copy_value: } } +static void zval_deep_copy(zval **p) +{ + zval *value; + + ALLOC_ZVAL(value); + *value = **p; + if (Z_TYPE_P(value) == IS_ARRAY) { + HashTable *ht; + + ALLOC_HASHTABLE(ht); + zend_hash_init(ht, zend_hash_num_elements(Z_ARRVAL_P(value)), NULL, ZVAL_PTR_DTOR, 0); + zend_hash_copy(ht, Z_ARRVAL_P(value), (copy_ctor_func_t) zval_deep_copy, NULL, sizeof(zval *)); + Z_ARRVAL_P(value) = ht; + } else { + zval_copy_ctor(value); + } + INIT_PZVAL(value); + *p = value; +} + /* Utility Functions for Extensions */ static void zend_extension_statement_handler(const zend_extension *extension, zend_op_array *op_array TSRMLS_DC) { diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 7cfd85d52a..8c2deb7fcc 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -449,8 +449,6 @@ ZEND_API int zend_is_true(zval *op TSRMLS_DC) /* {{{ */ } /* }}} */ -#include "../TSRM/tsrm_strtok_r.h" - #define IS_VISITED_CONSTANT 0x80 #define IS_CONSTANT_VISITED(p) (Z_TYPE_P(p) & IS_VISITED_CONSTANT) #define Z_REAL_TYPE_P(p) (Z_TYPE_P(p) & ~IS_VISITED_CONSTANT) diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c index 7d7c330710..2b4a8c9a16 100644 --- a/Zend/zend_generators.c +++ b/Zend/zend_generators.c @@ -125,6 +125,7 @@ ZEND_API void zend_generator_close(zend_generator *generator, zend_bool finished /* A fatal error / die occurred during the generator execution. Trying to clean * up the stack may not be safe in this case. */ if (CG(unclean_shutdown)) { + generator->execute_data = NULL; return; } diff --git a/Zend/zend_highlight.c b/Zend/zend_highlight.c index 68f2b7b72d..31d99b7dfe 100644 --- a/Zend/zend_highlight.c +++ b/Zend/zend_highlight.c @@ -150,7 +150,7 @@ ZEND_API void zend_highlight(zend_syntax_highlighter_ini *syntax_highlighter_ini case T_DOC_COMMENT: break; default: - efree(token.value.str.val); + str_efree(token.value.str.val); break; } } diff --git a/Zend/zend_indent.c b/Zend/zend_indent.c index 38ce669083..10f9af7823 100644 --- a/Zend/zend_indent.c +++ b/Zend/zend_indent.c @@ -138,7 +138,7 @@ dflt_printout: case T_WHITESPACE: break; default: - efree(token.value.str.val); + str_efree(token.value.str.val); break; } } diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index 56e702e8f9..7502723564 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -865,13 +865,16 @@ yield_expr: ; combined_scalar_offset: - combined_scalar '[' dim_offset ']' { zend_do_begin_variable_parse(TSRMLS_C); fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); } - | combined_scalar_offset '[' dim_offset ']' { fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); } - | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { $1.EA = 0; zend_do_begin_variable_parse(TSRMLS_C); fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); } + combined_scalar '[' dim_offset ']' { zend_do_begin_variable_parse(TSRMLS_C); fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); } + | combined_scalar_offset '[' dim_offset ']' { fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); } + | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { $1.EA = 0; zend_do_begin_variable_parse(TSRMLS_C); fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); } + | general_constant '[' dim_offset ']' { zend_do_begin_variable_parse(TSRMLS_C); fetch_array_dim(&$$, &$1, &$3 TSRMLS_CC); } +; combined_scalar: - T_ARRAY '(' array_pair_list ')' { $$ = $3; } - | '[' array_pair_list ']' { $$ = $2; } + T_ARRAY '(' array_pair_list ')' { $$ = $3; } + | '[' array_pair_list ']' { $$ = $2; } +; function: T_FUNCTION { $$.u.op.opline_num = CG(zend_lineno); } @@ -1038,20 +1041,22 @@ static_operation: | '(' static_scalar_value ')' { $$ = $2; } ; - -scalar: - T_STRING_VARNAME { $$ = $1; } - | class_name_scalar { $$ = $1; } - | class_constant { $$ = $1; } +general_constant: + class_constant { $$ = $1; } | namespace_name { zend_do_fetch_constant(&$$, NULL, &$1, ZEND_RT, 1 TSRMLS_CC); } | T_NAMESPACE T_NS_SEPARATOR namespace_name { $$.op_type = IS_CONST; ZVAL_EMPTY_STRING(&$$.u.constant); zend_do_build_namespace_name(&$$, &$$, &$3 TSRMLS_CC); $3 = $$; zend_do_fetch_constant(&$$, NULL, &$3, ZEND_RT, 0 TSRMLS_CC); } | T_NS_SEPARATOR namespace_name { char *tmp = estrndup(Z_STRVAL($2.u.constant), Z_STRLEN($2.u.constant)+1); memcpy(&(tmp[1]), Z_STRVAL($2.u.constant), Z_STRLEN($2.u.constant)+1); tmp[0] = '\\'; efree(Z_STRVAL($2.u.constant)); Z_STRVAL($2.u.constant) = tmp; ++Z_STRLEN($2.u.constant); zend_do_fetch_constant(&$$, NULL, &$2, ZEND_RT, 0 TSRMLS_CC); } - | common_scalar { $$ = $1; } - | '"' encaps_list '"' { $$ = $2; } - | T_START_HEREDOC encaps_list T_END_HEREDOC { $$ = $2; } - | T_CLASS_C { if (Z_TYPE($1.u.constant) == IS_CONSTANT) {zend_do_fetch_constant(&$$, NULL, &$1, ZEND_RT, 1 TSRMLS_CC);} else {$$ = $1;} } ; +scalar: + T_STRING_VARNAME { $$ = $1; } + | general_constant { $$ = $1; } + | class_name_scalar { $$ = $1; } + | common_scalar { $$ = $1; } + | '"' encaps_list '"' { $$ = $2; } + | T_START_HEREDOC encaps_list T_END_HEREDOC { $$ = $2; } + | T_CLASS_C { if (Z_TYPE($1.u.constant) == IS_CONSTANT) {zend_do_fetch_constant(&$$, NULL, &$1, ZEND_RT, 1 TSRMLS_CC);} else {$$ = $1;} } +; static_array_pair_list: /* empty */ { $$.op_type = IS_CONST; INIT_PZVAL(&$$.u.constant); array_init(&$$.u.constant); $$.u.ast = zend_ast_create_constant(&$$.u.constant); } diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c index 457f08f313..bff314ef65 100644 --- a/Zend/zend_opcode.c +++ b/Zend/zend_opcode.c @@ -509,6 +509,49 @@ static void zend_check_finally_breakout(zend_op_array *op_array, zend_uint op_nu } } +static void zend_adjust_fast_call(zend_op_array *op_array, zend_uint fast_call, zend_uint start, zend_uint end TSRMLS_DC) +{ + int i; + zend_uint op_num = 0; + + for (i = 0; i < op_array->last_try_catch; i++) { + if (op_array->try_catch_array[i].finally_op > start + && op_array->try_catch_array[i].finally_end < end) { + op_num = op_array->try_catch_array[i].finally_op; + start = op_array->try_catch_array[i].finally_end; + } + } + + if (op_num) { + /* Must be ZEND_FAST_CALL */ + ZEND_ASSERT(op_array->opcodes[op_num - 2].opcode == ZEND_FAST_CALL); + op_array->opcodes[op_num - 2].extended_value = ZEND_FAST_CALL_FROM_FINALLY; + op_array->opcodes[op_num - 2].op2.opline_num = fast_call; + } +} + +static void zend_resolve_fast_call(zend_op_array *op_array, zend_uint fast_call, zend_uint op_num TSRMLS_DC) +{ + int i; + zend_uint finally_op_num = 0; + + for (i = 0; i < op_array->last_try_catch; i++) { + if (op_num >= op_array->try_catch_array[i].finally_op + && op_num < op_array->try_catch_array[i].finally_end) { + finally_op_num = op_array->try_catch_array[i].finally_op; + } + } + + if (finally_op_num) { + /* Must be ZEND_FAST_CALL */ + ZEND_ASSERT(op_array->opcodes[finally_op_num - 2].opcode == ZEND_FAST_CALL); + if (op_array->opcodes[fast_call].extended_value == 0) { + op_array->opcodes[fast_call].extended_value = ZEND_FAST_CALL_FROM_FINALLY; + op_array->opcodes[fast_call].op2.opline_num = finally_op_num - 2; + } + } +} + static void zend_resolve_finally_call(zend_op_array *op_array, zend_uint op_num, zend_uint dst_num TSRMLS_DC) { zend_uint start_op; @@ -536,11 +579,23 @@ static void zend_resolve_finally_call(zend_op_array *op_array, zend_uint op_num, opline->opcode = ZEND_FAST_CALL; SET_UNUSED(opline->op1); SET_UNUSED(opline->op2); - opline->op1.opline_num = op_array->try_catch_array[i].finally_op; + zend_adjust_fast_call(op_array, start_op, + op_array->try_catch_array[i].finally_op, + op_array->try_catch_array[i].finally_end TSRMLS_CC); if (op_array->try_catch_array[i].catch_op) { - opline->extended_value = 1; + opline->extended_value = ZEND_FAST_CALL_FROM_CATCH; opline->op2.opline_num = op_array->try_catch_array[i].catch_op; + opline->op1.opline_num = get_next_op_number(op_array); + /* generate a FAST_CALL to hole CALL_FROM_FINALLY */ + opline = get_next_op(op_array TSRMLS_CC); + opline->opcode = ZEND_FAST_CALL; + SET_UNUSED(opline->op1); + SET_UNUSED(opline->op2); + zend_resolve_fast_call(op_array, start_op + 1, op_array->try_catch_array[i].finally_op - 2 TSRMLS_CC); + } else { + zend_resolve_fast_call(op_array, start_op, op_array->try_catch_array[i].finally_op - 2 TSRMLS_CC); } + opline->op1.opline_num = op_array->try_catch_array[i].finally_op; /* generate a sequence of FAST_CALL to upward finally block */ while (i > 0) { @@ -605,10 +660,10 @@ static void zend_resolve_finally_ret(zend_op_array *op_array, zend_uint op_num T static void zend_resolve_finally_calls(zend_op_array *op_array TSRMLS_DC) { - zend_uint i; + zend_uint i, j; zend_op *opline; - for (i = 0; i < op_array->last; i++) { + for (i = 0, j = op_array->last; i < j; i++) { opline = op_array->opcodes + i; switch (opline->opcode) { case ZEND_RETURN: @@ -623,15 +678,16 @@ static void zend_resolve_finally_calls(zend_op_array *op_array TSRMLS_DC) zend_brk_cont_element *jmp_to; nest_levels = Z_LVAL(op_array->literals[opline->op2.constant].constant); - array_offset = opline->op1.opline_num; - do { - jmp_to = &op_array->brk_cont_array[array_offset]; - if (nest_levels > 1) { - array_offset = jmp_to->parent; - } - } while (--nest_levels > 0); - zend_resolve_finally_call(op_array, i, opline->opcode == ZEND_BRK ? jmp_to->brk : jmp_to->cont TSRMLS_CC); - break; + if ((array_offset = opline->op1.opline_num) != -1) { + do { + jmp_to = &op_array->brk_cont_array[array_offset]; + if (nest_levels > 1) { + array_offset = jmp_to->parent; + } + } while (--nest_levels > 0); + zend_resolve_finally_call(op_array, i, opline->opcode == ZEND_BRK ? jmp_to->brk : jmp_to->cont TSRMLS_CC); + break; + } } case ZEND_GOTO: if (Z_TYPE(op_array->literals[opline->op2.constant].constant) != IS_LONG) { @@ -644,6 +700,9 @@ static void zend_resolve_finally_calls(zend_op_array *op_array TSRMLS_DC) case ZEND_JMP: zend_resolve_finally_call(op_array, i, opline->op1.opline_num TSRMLS_CC); break; + case ZEND_FAST_CALL: + zend_resolve_fast_call(op_array, i, i TSRMLS_CC); + break; case ZEND_FAST_RET: zend_resolve_finally_ret(op_array, i TSRMLS_CC); break; diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 90cb0cad6a..684cd7b2ac 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -3422,6 +3422,13 @@ ZEND_VM_HANDLER(64, ZEND_RECV_INIT, ANY, CONST) if (IS_CONSTANT_TYPE(Z_TYPE_P(assignment_value))) { Z_SET_REFCOUNT_P(assignment_value, 1); zval_update_constant(&assignment_value, 0 TSRMLS_CC); + } else if (Z_TYPE_P(assignment_value) == IS_ARRAY) { + HashTable *ht; + + ALLOC_HASHTABLE(ht); + zend_hash_init(ht, zend_hash_num_elements(Z_ARRVAL_P(assignment_value)), NULL, ZVAL_PTR_DTOR, 0); + zend_hash_copy(ht, Z_ARRVAL_P(assignment_value), (copy_ctor_func_t) zval_deep_copy, NULL, sizeof(zval *)); + Z_ARRVAL_P(assignment_value) = ht; } else { zval_copy_ctor(assignment_value); } @@ -3765,9 +3772,6 @@ ZEND_VM_HANDLER(99, ZEND_FETCH_CONSTANT, VAR|CONST|UNUSED, CONST) } } constant_fetch_end: - if (Z_TYPE(EX_T(opline->result.var).tmp_var) == IS_ARRAY) { - zend_error_noreturn(E_ERROR, "Arrays are not allowed in constants at run-time"); - } CHECK_EXCEPTION(); ZEND_VM_NEXT_OPCODE(); } @@ -5380,7 +5384,16 @@ ZEND_VM_HANDLER(143, ZEND_DECLARE_CONST, CONST, CONST) c.value = *tmp_ptr; } else { INIT_PZVAL_COPY(&c.value, val); - zval_copy_ctor(&c.value); + if (Z_TYPE(c.value) == IS_ARRAY) { + HashTable *ht; + + ALLOC_HASHTABLE(ht); + zend_hash_init(ht, zend_hash_num_elements(Z_ARRVAL(c.value)), NULL, ZVAL_PTR_DTOR, 0); + zend_hash_copy(ht, Z_ARRVAL(c.value), (copy_ctor_func_t) zval_deep_copy, NULL, sizeof(zval *)); + Z_ARRVAL(c.value) = ht; + } else { + zval_copy_ctor(&c.value); + } } c.flags = CONST_CS; /* non persistent, case sensetive */ c.name = str_strndup(Z_STRVAL_P(name), Z_STRLEN_P(name)); @@ -5618,13 +5631,13 @@ ZEND_VM_HANDLER(162, ZEND_FAST_CALL, ANY, ANY) { USE_OPLINE - if (opline->extended_value && + if ((opline->extended_value & ZEND_FAST_CALL_FROM_CATCH) && UNEXPECTED(EG(prev_exception) != NULL)) { /* in case of unhandled exception jump to catch block instead of finally */ ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); ZEND_VM_CONTINUE(); } - EX(fast_ret) = opline + 1; + EX(fast_ret) = opline; EX(delayed_exception) = NULL; ZEND_VM_SET_OPCODE(opline->op1.jmp_addr); ZEND_VM_CONTINUE(); @@ -5633,7 +5646,10 @@ ZEND_VM_HANDLER(162, ZEND_FAST_CALL, ANY, ANY) ZEND_VM_HANDLER(163, ZEND_FAST_RET, ANY, ANY) { if (EX(fast_ret)) { - ZEND_VM_SET_OPCODE(EX(fast_ret)); + ZEND_VM_SET_OPCODE(EX(fast_ret) + 1); + if ((EX(fast_ret)->extended_value & ZEND_FAST_CALL_FROM_FINALLY)) { + EX(fast_ret) = &EX(op_array)->opcodes[EX(fast_ret)->op2.opline_num]; + } ZEND_VM_CONTINUE(); } else { /* special case for unhandled exceptions */ diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index ade0cb82c5..6fe1fa6fa6 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1344,13 +1344,13 @@ static int ZEND_FASTCALL ZEND_FAST_CALL_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE - if (opline->extended_value && + if ((opline->extended_value & ZEND_FAST_CALL_FROM_CATCH) && UNEXPECTED(EG(prev_exception) != NULL)) { /* in case of unhandled exception jump to catch block instead of finally */ ZEND_VM_SET_OPCODE(&EX(op_array)->opcodes[opline->op2.opline_num]); ZEND_VM_CONTINUE(); } - EX(fast_ret) = opline + 1; + EX(fast_ret) = opline; EX(delayed_exception) = NULL; ZEND_VM_SET_OPCODE(opline->op1.jmp_addr); ZEND_VM_CONTINUE(); @@ -1359,7 +1359,10 @@ static int ZEND_FASTCALL ZEND_FAST_CALL_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS) static int ZEND_FASTCALL ZEND_FAST_RET_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { if (EX(fast_ret)) { - ZEND_VM_SET_OPCODE(EX(fast_ret)); + ZEND_VM_SET_OPCODE(EX(fast_ret) + 1); + if ((EX(fast_ret)->extended_value & ZEND_FAST_CALL_FROM_FINALLY)) { + EX(fast_ret) = &EX(op_array)->opcodes[EX(fast_ret)->op2.opline_num]; + } ZEND_VM_CONTINUE(); } else { /* special case for unhandled exceptions */ @@ -1624,6 +1627,13 @@ static int ZEND_FASTCALL ZEND_RECV_INIT_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ if (IS_CONSTANT_TYPE(Z_TYPE_P(assignment_value))) { Z_SET_REFCOUNT_P(assignment_value, 1); zval_update_constant(&assignment_value, 0 TSRMLS_CC); + } else if (Z_TYPE_P(assignment_value) == IS_ARRAY) { + HashTable *ht; + + ALLOC_HASHTABLE(ht); + zend_hash_init(ht, zend_hash_num_elements(Z_ARRVAL_P(assignment_value)), NULL, ZVAL_PTR_DTOR, 0); + zend_hash_copy(ht, Z_ARRVAL_P(assignment_value), (copy_ctor_func_t) zval_deep_copy, NULL, sizeof(zval *)); + Z_ARRVAL_P(assignment_value) = ht; } else { zval_copy_ctor(assignment_value); } @@ -4026,9 +4036,6 @@ static int ZEND_FASTCALL ZEND_FETCH_CONSTANT_SPEC_CONST_CONST_HANDLER(ZEND_OPCO } } constant_fetch_end: - if (Z_TYPE(EX_T(opline->result.var).tmp_var) == IS_ARRAY) { - zend_error_noreturn(E_ERROR, "Arrays are not allowed in constants at run-time"); - } CHECK_EXCEPTION(); ZEND_VM_NEXT_OPCODE(); } @@ -4313,7 +4320,16 @@ static int ZEND_FASTCALL ZEND_DECLARE_CONST_SPEC_CONST_CONST_HANDLER(ZEND_OPCOD c.value = *tmp_ptr; } else { INIT_PZVAL_COPY(&c.value, val); - zval_copy_ctor(&c.value); + if (Z_TYPE(c.value) == IS_ARRAY) { + HashTable *ht; + + ALLOC_HASHTABLE(ht); + zend_hash_init(ht, zend_hash_num_elements(Z_ARRVAL(c.value)), NULL, ZVAL_PTR_DTOR, 0); + zend_hash_copy(ht, Z_ARRVAL(c.value), (copy_ctor_func_t) zval_deep_copy, NULL, sizeof(zval *)); + Z_ARRVAL(c.value) = ht; + } else { + zval_copy_ctor(&c.value); + } } c.flags = CONST_CS; /* non persistent, case sensetive */ c.name = str_strndup(Z_STRVAL_P(name), Z_STRLEN_P(name)); @@ -15982,9 +15998,6 @@ static int ZEND_FASTCALL ZEND_FETCH_CONSTANT_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE } } constant_fetch_end: - if (Z_TYPE(EX_T(opline->result.var).tmp_var) == IS_ARRAY) { - zend_error_noreturn(E_ERROR, "Arrays are not allowed in constants at run-time"); - } CHECK_EXCEPTION(); ZEND_VM_NEXT_OPCODE(); } @@ -25594,9 +25607,6 @@ static int ZEND_FASTCALL ZEND_FETCH_CONSTANT_SPEC_UNUSED_CONST_HANDLER(ZEND_OPC } } constant_fetch_end: - if (Z_TYPE(EX_T(opline->result.var).tmp_var) == IS_ARRAY) { - zend_error_noreturn(E_ERROR, "Arrays are not allowed in constants at run-time"); - } CHECK_EXCEPTION(); ZEND_VM_NEXT_OPCODE(); } diff --git a/build/libtool.m4 b/build/libtool.m4 index 56658ccbb4..4d948b9078 100644 --- a/build/libtool.m4 +++ b/build/libtool.m4 @@ -1532,10 +1532,6 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd1*) - dynamic_linker=no - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -5843,10 +5839,6 @@ _LT_EOF _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; - freebsd1*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c index f77779d691..500cabd41c 100644 --- a/ext/com_dotnet/com_com.c +++ b/ext/com_dotnet/com_com.c @@ -698,9 +698,9 @@ PHP_FUNCTION(com_event_sink) /* 0 => typelibname, 1 => dispname */ zval **tmp; - if (zend_hash_index_find(Z_ARRVAL_P(sink), 0, (void**)&tmp) == SUCCESS) + if (zend_hash_index_find(Z_ARRVAL_P(sink), 0, (void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_STRING) typelibname = Z_STRVAL_PP(tmp); - if (zend_hash_index_find(Z_ARRVAL_P(sink), 1, (void**)&tmp) == SUCCESS) + if (zend_hash_index_find(Z_ARRVAL_P(sink), 1, (void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_STRING) dispname = Z_STRVAL_PP(tmp); } else if (sink != NULL) { convert_to_string(sink); diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index 348482c0e4..015da88914 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,10 +1,10 @@ -/* Generated by re2c 0.13.5 on Tue May 13 17:01:57 2014 */ +/* Generated by re2c 0.13.5 on Thu Jul 31 14:33:37 2014 */ #line 1 "ext/date/lib/parse_date.re" /* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2013 The PHP Group | + | Copyright (c) 1997-2014 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 | @@ -889,53 +889,53 @@ std: YYDEBUG(-1, yych); switch (yych) { case 0x00: - case '\n': goto yy52; + case '\n': goto yy51; case '\t': - case ' ': goto yy49; - case '(': goto yy46; + case ' ': goto yy48; + case '(': goto yy45; case '+': - case '-': goto yy31; + case '-': goto yy30; case ',': - case '.': goto yy51; - case '0': goto yy26; - case '1': goto yy27; - case '2': goto yy28; - case '3': goto yy29; + 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 yy30; - case '@': goto yy12; - case 'A': goto yy37; - case 'B': goto yy18; + 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 yy47; - case 'D': goto yy41; - case 'E': goto yy22; - case 'F': goto yy14; - case 'G': goto yy45; - case 'I': goto yy32; - case 'J': goto yy35; - case 'L': goto yy16; - case 'M': goto yy8; - case 'N': goto yy6; - case 'O': goto yy39; - case 'P': goto yy24; - case 'S': goto yy20; - case 'T': goto yy10; - case 'V': goto yy33; - case 'W': goto yy43; - case 'X': goto yy34; - case 'Y': goto yy3; - case 'a': goto yy38; - case 'b': goto yy19; + case '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': @@ -946,63 +946,44 @@ std: case 'u': case 'v': case 'x': - case 'z': goto yy48; - case 'd': goto yy42; - case 'e': goto yy23; - case 'f': goto yy15; - case 'j': goto yy36; - case 'l': goto yy17; - case 'm': goto yy9; - case 'n': goto yy7; - case 'o': goto yy40; - case 'p': goto yy25; - case 's': goto yy21; - case 't': goto yy11; - case 'w': goto yy44; - case 'y': goto yy5; - default: goto yy54; + case 'z': goto yy47; + case 'd': goto yy41; + case 'e': goto yy22; + case 'f': goto yy14; + case 'j': goto yy35; + case 'l': goto yy16; + case 'm': goto yy8; + case 'n': goto yy6; + case 'o': goto yy39; + case 'p': goto yy24; + case 's': goto yy20; + case 't': goto yy10; + case 'w': goto yy43; + case 'y': goto yy4; + default: goto yy53; } yy2: YYDEBUG(2, *YYCURSOR); -#line 1052 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("firstdayof | lastdayof"); - TIMELIB_INIT; - TIMELIB_HAVE_RELATIVE(); - - /* skip "last day of" or "first day of" */ - if (*ptr == 'l') { - s->time->relative.first_last_day_of = 2; - } else { - s->time->relative.first_last_day_of = 1; - } - - TIMELIB_DEINIT; - return TIMELIB_LF_DAY_OF_MONTH; - } -#line 984 "ext/date/lib/parse_date.c" -yy3: - YYDEBUG(3, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= 'E') { if (yych <= ')') { - if (yych >= ')') goto yy140; + if (yych >= ')') goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; goto yy1523; } } else { if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych >= 'a') goto yy146; + if (yych <= 'Z') goto yy140; + if (yych >= 'a') goto yy145; } else { if (yych <= 'e') goto yy1532; - if (yych <= 'z') goto yy146; + if (yych <= 'z') goto yy145; } } -yy4: - YYDEBUG(4, *YYCURSOR); +yy3: + YYDEBUG(3, *YYCURSOR); #line 1646 "ext/date/lib/parse_date.re" { int tz_not_found; @@ -1016,173 +997,173 @@ yy4: TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } -#line 1020 "ext/date/lib/parse_date.c" -yy5: - YYDEBUG(5, *YYCURSOR); +#line 1001 "ext/date/lib/parse_date.c" +yy4: + YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; goto yy1523; } } else { if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy141; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy140; } else { if (yych <= 'e') goto yy1523; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= 'z') goto yy140; + goto yy3; } } -yy6: - YYDEBUG(6, *YYCURSOR); +yy5: + YYDEBUG(5, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'D') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy141; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy140; } else { if (yych <= 'H') { if (yych <= 'E') goto yy1494; - goto yy141; + goto yy140; } else { if (yych <= 'I') goto yy1495; - if (yych <= 'N') goto yy141; + if (yych <= 'N') goto yy140; goto yy1493; } } } else { if (yych <= 'h') { if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; + if (yych <= 'Z') goto yy140; + goto yy3; } else { if (yych == 'e') goto yy1510; - goto yy146; + goto yy145; } } else { if (yych <= 'n') { if (yych <= 'i') goto yy1511; - goto yy146; + goto yy145; } else { if (yych <= 'o') goto yy1509; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy7: - YYDEBUG(7, *YYCURSOR); +yy6: + YYDEBUG(6, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'D') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy141; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy140; } else { if (yych <= 'H') { if (yych <= 'E') goto yy1494; - goto yy141; + goto yy140; } else { if (yych <= 'I') goto yy1495; - if (yych <= 'N') goto yy141; + if (yych <= 'N') goto yy140; goto yy1493; } } } else { if (yych <= 'h') { if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; + if (yych <= 'Z') goto yy140; + goto yy3; } else { if (yych == 'e') goto yy1494; - goto yy141; + goto yy140; } } else { if (yych <= 'n') { if (yych <= 'i') goto yy1495; - goto yy141; + goto yy140; } else { if (yych <= 'o') goto yy1493; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= 'z') goto yy140; + goto yy3; } } } -yy8: - YYDEBUG(8, *YYCURSOR); +yy7: + YYDEBUG(7, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; goto yy1463; } else { if (yych == 'I') goto yy1464; - if (yych <= 'N') goto yy141; + if (yych <= 'N') goto yy140; goto yy1465; } } else { if (yych <= 'h') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1478; - goto yy146; + goto yy145; } else { if (yych <= 'n') { if (yych <= 'i') goto yy1479; - goto yy146; + goto yy145; } else { if (yych <= 'o') goto yy1480; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy9: - YYDEBUG(9, *YYCURSOR); +yy8: + YYDEBUG(8, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; goto yy1463; } else { if (yych == 'I') goto yy1464; - if (yych <= 'N') goto yy141; + if (yych <= 'N') goto yy140; goto yy1465; } } else { if (yych <= 'h') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1463; - goto yy141; + goto yy140; } else { if (yych <= 'n') { if (yych <= 'i') goto yy1464; - goto yy141; + goto yy140; } else { if (yych <= 'o') goto yy1465; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= 'z') goto yy140; + goto yy3; } } } -yy10: - YYDEBUG(10, *YYCURSOR); +yy9: + YYDEBUG(9, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { - case ')': goto yy140; + case ')': goto yy139; case '0': case '1': goto yy1393; case '2': goto yy1394; @@ -1213,7 +1194,7 @@ yy10: case 'V': case 'X': case 'Y': - case 'Z': goto yy141; + case 'Z': goto yy140; case 'E': goto yy1388; case 'H': goto yy1389; case 'O': goto yy1390; @@ -1239,21 +1220,21 @@ yy10: case 'v': case 'x': case 'y': - case 'z': goto yy146; + 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 yy4; + default: goto yy3; } -yy11: - YYDEBUG(11, *YYCURSOR); +yy10: + YYDEBUG(10, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { - case ')': goto yy140; + case ')': goto yy139; case '0': case '1': goto yy1393; case '2': goto yy1394; @@ -1305,7 +1286,7 @@ yy11: case 'v': case 'x': case 'y': - case 'z': goto yy141; + case 'z': goto yy140; case 'E': case 'e': goto yy1388; case 'H': @@ -1316,370 +1297,370 @@ yy11: case 'u': goto yy1391; case 'W': case 'w': goto yy1392; - default: goto yy4; + default: goto yy3; } -yy12: - YYDEBUG(12, *YYCURSOR); +yy11: + YYDEBUG(11, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy1384; - if (yych <= '/') goto yy13; + if (yych <= '/') goto yy12; if (yych <= '9') goto yy1385; -yy13: - YYDEBUG(13, *YYCURSOR); +yy12: + YYDEBUG(12, *YYCURSOR); #line 1741 "ext/date/lib/parse_date.re" { add_error(s, "Unexpected character"); goto std; } -#line 1336 "ext/date/lib/parse_date.c" -yy14: - YYDEBUG(14, *YYCURSOR); +#line 1317 "ext/date/lib/parse_date.c" +yy13: + YYDEBUG(13, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; goto yy1320; } } else { if (yych <= 'N') { if (yych == 'I') goto yy1321; - goto yy141; + goto yy140; } else { if (yych <= 'O') goto yy1322; - if (yych <= 'Q') goto yy141; + if (yych <= 'Q') goto yy140; goto yy1323; } } } else { if (yych <= 'i') { if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy146; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy145; } else { if (yych <= 'e') goto yy1361; - if (yych <= 'h') goto yy146; + if (yych <= 'h') goto yy145; goto yy1362; } } else { if (yych <= 'q') { if (yych == 'o') goto yy1363; - goto yy146; + goto yy145; } else { if (yych <= 'r') goto yy1364; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy15: - YYDEBUG(15, *YYCURSOR); +yy14: + YYDEBUG(14, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; goto yy1320; } } else { if (yych <= 'N') { if (yych == 'I') goto yy1321; - goto yy141; + goto yy140; } else { if (yych <= 'O') goto yy1322; - if (yych <= 'Q') goto yy141; + if (yych <= 'Q') goto yy140; goto yy1323; } } } else { if (yych <= 'i') { if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy141; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy140; } else { if (yych <= 'e') goto yy1320; - if (yych <= 'h') goto yy141; + if (yych <= 'h') goto yy140; goto yy1321; } } else { if (yych <= 'q') { if (yych == 'o') goto yy1322; - goto yy141; + goto yy140; } else { if (yych <= 'r') goto yy1323; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= 'z') goto yy140; + goto yy3; } } } -yy16: - YYDEBUG(16, *YYCURSOR); +yy15: + YYDEBUG(15, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy1307; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy1306; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; + if (yych <= 'Z') goto yy140; + goto yy3; } else { if (yych <= 'a') goto yy1317; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy17: - YYDEBUG(17, *YYCURSOR); +yy16: + YYDEBUG(16, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy1307; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy1306; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych <= 'a') goto yy1307; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= 'a') goto yy1306; + if (yych <= 'z') goto yy140; + goto yy3; } } -yy18: - YYDEBUG(18, *YYCURSOR); +yy17: + YYDEBUG(17, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy1287; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy1286; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych <= 'a') goto yy1304; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= 'a') goto yy1303; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy19: - YYDEBUG(19, *YYCURSOR); +yy18: + YYDEBUG(18, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy1287; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy1286; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych <= 'a') goto yy1287; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= 'a') goto yy1286; + if (yych <= 'z') goto yy140; + goto yy3; } } -yy20: - YYDEBUG(20, *YYCURSOR); +yy19: + YYDEBUG(19, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'A') goto yy1230; - goto yy141; + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy1229; + goto yy140; } } else { if (yych <= 'H') { - if (yych <= 'E') goto yy1229; - goto yy141; + if (yych <= 'E') goto yy1228; + goto yy140; } else { - if (yych <= 'I') goto yy1231; - if (yych <= 'T') goto yy141; - goto yy1232; + if (yych <= 'I') goto yy1230; + if (yych <= 'T') goto yy140; + goto yy1231; } } } else { if (yych <= 'e') { if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych <= 'a') goto yy1259; - if (yych <= 'd') goto yy146; - goto yy1258; + if (yych <= 'a') goto yy1258; + if (yych <= 'd') goto yy145; + goto yy1257; } } else { if (yych <= 't') { - if (yych == 'i') goto yy1260; - goto yy146; + if (yych == 'i') goto yy1259; + goto yy145; } else { - if (yych <= 'u') goto yy1261; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= 'u') goto yy1260; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy21: - YYDEBUG(21, *YYCURSOR); +yy20: + YYDEBUG(20, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'A') goto yy1230; - goto yy141; + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy1229; + goto yy140; } } else { if (yych <= 'H') { - if (yych <= 'E') goto yy1229; - goto yy141; + if (yych <= 'E') goto yy1228; + goto yy140; } else { - if (yych <= 'I') goto yy1231; - if (yych <= 'T') goto yy141; - goto yy1232; + if (yych <= 'I') goto yy1230; + if (yych <= 'T') goto yy140; + goto yy1231; } } } else { if (yych <= 'e') { if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych <= 'a') goto yy1230; - if (yych <= 'd') goto yy141; - goto yy1229; + if (yych <= 'a') goto yy1229; + if (yych <= 'd') goto yy140; + goto yy1228; } } else { if (yych <= 't') { - if (yych == 'i') goto yy1231; - goto yy141; + if (yych == 'i') goto yy1230; + goto yy140; } else { - if (yych <= 'u') goto yy1232; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= 'u') goto yy1231; + if (yych <= 'z') goto yy140; + goto yy3; } } } -yy22: - YYDEBUG(22, *YYCURSOR); +yy21: + YYDEBUG(21, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == 'I') goto yy1199; - if (yych <= 'K') goto yy141; - goto yy1200; + if (yych == 'I') goto yy1198; + if (yych <= 'K') goto yy140; + goto yy1199; } } else { if (yych <= 'i') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - if (yych <= 'h') goto yy146; - goto yy1217; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy145; + goto yy1216; } else { - if (yych == 'l') goto yy1218; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych == 'l') goto yy1217; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy23: - YYDEBUG(23, *YYCURSOR); +yy22: + YYDEBUG(22, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == 'I') goto yy1199; - if (yych <= 'K') goto yy141; - goto yy1200; + if (yych == 'I') goto yy1198; + if (yych <= 'K') goto yy140; + goto yy1199; } } else { if (yych <= 'i') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - if (yych <= 'h') goto yy141; - goto yy1199; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy140; + goto yy1198; } else { - if (yych == 'l') goto yy1200; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych == 'l') goto yy1199; + if (yych <= 'z') goto yy140; + goto yy3; } } -yy24: - YYDEBUG(24, *YYCURSOR); +yy23: + YYDEBUG(23, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy141; - goto yy1098; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy140; + goto yy1097; } } else { if (yych <= 'q') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy146; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy145; } else { - if (yych <= 'r') goto yy1192; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= 'r') goto yy1191; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy25: - YYDEBUG(25, *YYCURSOR); +yy24: + YYDEBUG(24, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy141; - goto yy1098; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy140; + goto yy1097; } } else { if (yych <= 'q') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy141; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy140; } else { - if (yych <= 'r') goto yy1098; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= 'r') goto yy1097; + if (yych <= 'z') goto yy140; + goto yy3; } } -yy26: - YYDEBUG(26, *YYCURSOR); +yy25: + YYDEBUG(25, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { - case '\t': goto yy1052; + case '\t': goto yy1051; case ' ': case 'A': case 'D': @@ -1704,11 +1685,11 @@ yy26: case 'm': case 'o': case 'w': - case 'y': goto yy1054; - case '-': goto yy473; - case '.': goto yy1064; - case '/': goto yy472; - case '0': goto yy1097; + case 'y': goto yy1053; + case '-': goto yy472; + case '.': goto yy1063; + case '/': goto yy471; + case '0': goto yy1096; case '1': case '2': case '3': @@ -1717,21 +1698,21 @@ yy26: case '6': case '7': case '8': - case '9': goto yy1096; - case ':': goto yy1065; - case 'n': goto yy470; - case 'r': goto yy471; - case 's': goto yy464; - case 't': goto yy468; - default: goto yy13; + 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; } -yy27: - YYDEBUG(27, *YYCURSOR); +yy26: + YYDEBUG(26, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { - case '\t': goto yy460; + case '\t': goto yy459; case ' ': case 'A': case 'D': @@ -1758,34 +1739,34 @@ yy27: case 'o': case 'p': case 'w': - case 'y': goto yy462; - case '-': goto yy473; - case '.': goto yy474; - case '/': goto yy472; + case 'y': goto yy461; + case '-': goto yy472; + case '.': goto yy473; + case '/': goto yy471; case '0': case '1': - case '2': goto yy1096; + case '2': goto yy1095; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy1063; - case ':': goto yy483; - case 'n': goto yy470; - case 'r': goto yy471; - case 's': goto yy464; - case 't': goto yy468; - default: goto yy13; + 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; } -yy28: - YYDEBUG(28, *YYCURSOR); +yy27: + YYDEBUG(27, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { - case '\t': goto yy460; + case '\t': goto yy459; case ' ': case 'A': case 'D': @@ -1812,34 +1793,34 @@ yy28: case 'o': case 'p': case 'w': - case 'y': goto yy462; - case '-': goto yy473; - case '.': goto yy474; - case '/': goto yy472; + case 'y': goto yy461; + case '-': goto yy472; + case '.': goto yy473; + case '/': goto yy471; case '0': case '1': case '2': case '3': - case '4': goto yy1063; + case '4': goto yy1062; case '5': case '6': case '7': case '8': - case '9': goto yy1050; - case ':': goto yy483; - case 'n': goto yy470; - case 'r': goto yy471; - case 's': goto yy464; - case 't': goto yy468; - default: goto yy13; + 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; } -yy29: - YYDEBUG(29, *YYCURSOR); +yy28: + YYDEBUG(28, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { - case '\t': goto yy460; + case '\t': goto yy459; case ' ': case 'A': case 'D': @@ -1866,12 +1847,12 @@ yy29: case 'o': case 'p': case 'w': - case 'y': goto yy462; - case '-': goto yy473; - case '.': goto yy474; - case '/': goto yy472; + case 'y': goto yy461; + case '-': goto yy472; + case '.': goto yy473; + case '/': goto yy471; case '0': - case '1': goto yy1050; + case '1': goto yy1049; case '2': case '3': case '4': @@ -1879,21 +1860,21 @@ yy29: case '6': case '7': case '8': - case '9': goto yy469; - case ':': goto yy483; - case 'n': goto yy470; - case 'r': goto yy471; - case 's': goto yy464; - case 't': goto yy468; - default: goto yy13; + 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: - YYDEBUG(30, *YYCURSOR); +yy29: + YYDEBUG(29, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { - case '\t': goto yy460; + case '\t': goto yy459; case ' ': case 'A': case 'D': @@ -1920,10 +1901,10 @@ yy30: case 'o': case 'p': case 'w': - case 'y': goto yy462; - case '-': goto yy473; - case '.': goto yy474; - case '/': goto yy472; + case 'y': goto yy461; + case '-': goto yy472; + case '.': goto yy473; + case '/': goto yy471; case '0': case '1': case '2': @@ -1933,308 +1914,331 @@ yy30: case '6': case '7': case '8': - case '9': goto yy469; - case ':': goto yy483; - case 'n': goto yy470; - case 'r': goto yy471; - case 's': goto yy464; - case 't': goto yy468; - default: goto yy13; + 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; } -yy31: - YYDEBUG(31, *YYCURSOR); +yy30: + YYDEBUG(30, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { - goto yy58; + goto yy57; } YYDEBUG(-1, yych); switch (yych) { case '+': - case '-': goto yy440; + case '-': goto yy439; case '0': - case '1': goto yy437; - case '2': goto yy438; + case '1': goto yy436; + case '2': goto yy437; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy439; - default: goto yy13; + case '9': goto yy438; + default: goto yy12; } -yy32: - YYDEBUG(32, *YYCURSOR); +yy31: + YYDEBUG(31, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy4; - goto yy196; + if (yych <= 0x08) goto yy3; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy4; + if (yych == ' ') goto yy195; + goto yy3; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy4; + if (yych <= ')') goto yy139; + goto yy3; } else { - if (yych == '/') goto yy4; - goto yy196; + if (yych == '/') goto yy3; + goto yy195; } } } else { if (yych <= 'V') { if (yych <= 'H') { - if (yych <= '@') goto yy4; - goto yy141; + if (yych <= '@') goto yy3; + goto yy140; } else { - if (yych <= 'I') goto yy436; - if (yych <= 'U') goto yy141; - goto yy435; + if (yych <= 'I') goto yy435; + if (yych <= 'U') goto yy140; + goto yy434; } } else { if (yych <= 'Z') { - if (yych == 'X') goto yy435; - goto yy141; + if (yych == 'X') goto yy434; + goto yy140; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy33: - YYDEBUG(33, *YYCURSOR); +yy32: + YYDEBUG(32, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy4; - goto yy196; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy3; + goto yy195; } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy196; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy195; } } else { if (yych <= 'H') { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy4; - goto yy141; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy3; + goto yy140; } else { if (yych <= 'Z') { - if (yych <= 'I') goto yy432; - goto yy141; + if (yych <= 'I') goto yy431; + goto yy140; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy34: - YYDEBUG(34, *YYCURSOR); +yy33: + YYDEBUG(33, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy4; - goto yy196; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy3; + goto yy195; } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy196; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy195; } } else { if (yych <= 'H') { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy4; - goto yy141; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy3; + goto yy140; } else { if (yych <= 'Z') { - if (yych <= 'I') goto yy430; - goto yy141; + if (yych <= 'I') goto yy429; + goto yy140; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy35: - YYDEBUG(35, *YYCURSOR); +yy34: + YYDEBUG(34, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'A') goto yy413; - if (yych <= 'T') goto yy141; - goto yy412; + if (yych <= 'A') goto yy412; + if (yych <= 'T') goto yy140; + goto yy411; } } else { if (yych <= 'a') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy422; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy421; } else { - if (yych == 'u') goto yy421; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych == 'u') goto yy420; + if (yych <= 'z') goto yy145; + goto yy3; } } -yy36: - YYDEBUG(36, *YYCURSOR); +yy35: + YYDEBUG(35, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'A') goto yy413; - if (yych <= 'T') goto yy141; - goto yy412; + if (yych <= 'A') goto yy412; + if (yych <= 'T') goto yy140; + goto yy411; } } else { if (yych <= 'a') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy413; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy412; } else { - if (yych == 'u') goto yy412; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych == 'u') goto yy411; + if (yych <= 'z') goto yy140; + goto yy3; } } -yy37: - YYDEBUG(37, *YYCURSOR); +yy36: + YYDEBUG(36, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy141; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy140; } else { if (yych <= 'O') { - if (yych <= 'G') goto yy391; - goto yy141; + if (yych <= 'G') goto yy390; + goto yy140; } else { - if (yych <= 'P') goto yy390; - if (yych <= 'T') goto yy141; - goto yy389; + if (yych <= 'P') goto yy389; + if (yych <= 'T') goto yy140; + goto yy388; } } } else { if (yych <= 'o') { if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych == 'g') goto yy403; - goto yy146; + if (yych == 'g') goto yy402; + goto yy145; } } else { if (yych <= 't') { - if (yych <= 'p') goto yy402; - goto yy146; + if (yych <= 'p') goto yy401; + goto yy145; } else { - if (yych <= 'u') goto yy401; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= 'u') goto yy400; + if (yych <= 'z') goto yy145; + goto yy3; } } } -yy38: - YYDEBUG(38, *YYCURSOR); +yy37: + YYDEBUG(37, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy141; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy140; } else { if (yych <= 'O') { - if (yych <= 'G') goto yy391; - goto yy141; + if (yych <= 'G') goto yy390; + goto yy140; } else { - if (yych <= 'P') goto yy390; - if (yych <= 'T') goto yy141; - goto yy389; + if (yych <= 'P') goto yy389; + if (yych <= 'T') goto yy140; + goto yy388; } } } else { if (yych <= 'o') { if (yych <= '`') { - if (yych <= 'Z') goto yy141; - goto yy4; + if (yych <= 'Z') goto yy140; + goto yy3; } else { - if (yych == 'g') goto yy391; - goto yy141; + if (yych == 'g') goto yy390; + goto yy140; } } else { if (yych <= 't') { - if (yych <= 'p') goto yy390; - goto yy141; + if (yych <= 'p') goto yy389; + goto yy140; } else { - if (yych <= 'u') goto yy389; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= 'u') goto yy388; + if (yych <= 'z') goto yy140; + goto yy3; } } } +yy38: + YYDEBUG(38, *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 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 yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'B') goto yy141; - goto yy379; + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy140; + goto yy378; } } else { if (yych <= 'b') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy146; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy140; } else { - if (yych <= 'c') goto yy384; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= 'c') goto yy378; + if (yych <= 'z') goto yy140; + goto yy3; } } yy40: YYDEBUG(40, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'C') { + if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'B') goto yy141; - goto yy379; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; + goto yy191; } } else { - if (yych <= 'b') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy141; + if (yych <= 'd') { + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy145; } else { - if (yych <= 'c') goto yy379; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= 'e') goto yy369; + if (yych <= 'z') goto yy145; + goto yy3; } } yy41: @@ -2242,22 +2246,22 @@ yy41: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; - goto yy192; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; + goto yy191; } } else { if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy146; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy140; } else { - if (yych <= 'e') goto yy370; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= 'e') goto yy191; + if (yych <= 'z') goto yy140; + goto yy3; } } yy42: @@ -2265,22 +2269,22 @@ yy42: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; - goto yy192; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; + goto yy164; } } else { if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy141; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy145; } else { - if (yych <= 'e') goto yy192; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= 'e') goto yy178; + if (yych <= 'z') goto yy145; + goto yy3; } } yy43: @@ -2288,190 +2292,167 @@ yy43: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; - goto yy165; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy140; + goto yy164; } } else { if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy146; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + goto yy140; } else { - if (yych <= 'e') goto yy179; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= 'e') goto yy164; + if (yych <= 'z') goto yy140; + goto yy3; } } yy44: YYDEBUG(44, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy141; - goto yy165; - } + if (yych <= 'L') { + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy140; } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - goto yy141; + if (yych <= 'Z') { + if (yych <= 'M') goto yy156; + goto yy140; } else { - if (yych <= 'e') goto yy165; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy145; + goto yy3; } } yy45: YYDEBUG(45, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy141; - } else { - if (yych <= 'Z') { - if (yych <= 'M') goto yy157; - goto yy141; - } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy146; - goto yy4; - } - } + if (yych <= '@') goto yy12; + if (yych <= 'Z') goto yy155; + if (yych <= '`') goto yy12; + if (yych <= 'z') goto yy155; + goto yy12; yy46: YYDEBUG(46, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '@') goto yy13; - if (yych <= 'Z') goto yy156; - if (yych <= '`') goto yy13; - if (yych <= 'z') goto yy156; - goto yy13; + 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; + } yy47: YYDEBUG(47, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy146; - goto yy4; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy140; + goto yy3; } yy48: YYDEBUG(48, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy141; - goto yy4; - } -yy49: - YYDEBUG(49, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { - goto yy58; + goto yy57; } - if (yych <= '/') goto yy50; - if (yych <= '9') goto yy55; -yy50: - YYDEBUG(50, *YYCURSOR); + if (yych <= '/') goto yy49; + if (yych <= '9') goto yy54; +yy49: + YYDEBUG(49, *YYCURSOR); #line 1730 "ext/date/lib/parse_date.re" { goto std; } -#line 2397 "ext/date/lib/parse_date.c" +#line 2378 "ext/date/lib/parse_date.c" +yy50: + YYDEBUG(50, *YYCURSOR); + yych = *++YYCURSOR; + goto yy49; yy51: YYDEBUG(51, *YYCURSOR); - yych = *++YYCURSOR; - goto yy50; -yy52: - YYDEBUG(52, *YYCURSOR); ++YYCURSOR; - YYDEBUG(53, *YYCURSOR); + YYDEBUG(52, *YYCURSOR); #line 1735 "ext/date/lib/parse_date.re" { s->pos = cursor; s->line++; goto std; } -#line 2411 "ext/date/lib/parse_date.c" +#line 2392 "ext/date/lib/parse_date.c" +yy53: + YYDEBUG(53, *YYCURSOR); + yych = *++YYCURSOR; + goto yy12; yy54: YYDEBUG(54, *YYCURSOR); - yych = *++YYCURSOR; - goto yy13; -yy55: - YYDEBUG(55, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; - YYDEBUG(56, *YYCURSOR); + YYDEBUG(55, *YYCURSOR); if (yybm[0+yych] & 2) { - goto yy55; + goto yy54; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych >= ' ') goto yy60; + if (yych == '\t') goto yy59; + if (yych >= ' ') goto yy59; } else { - if (yych == 'D') goto yy65; - if (yych >= 'F') goto yy66; + if (yych == 'D') goto yy64; + if (yych >= 'F') goto yy65; } } else { if (yych <= 'M') { - if (yych == 'H') goto yy64; - if (yych >= 'M') goto yy63; + if (yych == 'H') goto yy63; + if (yych >= 'M') goto yy62; } else { if (yych <= 'S') { - if (yych >= 'S') goto yy62; + if (yych >= 'S') goto yy61; } else { - if (yych <= 'T') goto yy69; - if (yych >= 'W') goto yy68; + if (yych <= 'T') goto yy68; + if (yych >= 'W') goto yy67; } } } } else { if (yych <= 'l') { if (yych <= 'd') { - if (yych == 'Y') goto yy67; - if (yych >= 'd') goto yy65; + if (yych == 'Y') goto yy66; + if (yych >= 'd') goto yy64; } else { if (yych <= 'f') { - if (yych >= 'f') goto yy66; + if (yych >= 'f') goto yy65; } else { - if (yych == 'h') goto yy64; + if (yych == 'h') goto yy63; } } } else { if (yych <= 't') { - if (yych <= 'm') goto yy63; - if (yych <= 'r') goto yy57; - if (yych <= 's') goto yy62; - goto yy69; + 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 yy68; + if (yych >= 'w') goto yy67; } else { - if (yych == 'y') goto yy67; + if (yych == 'y') goto yy66; } } } } -yy57: - YYDEBUG(57, *YYCURSOR); +yy56: + YYDEBUG(56, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 16) { if (yyaccept <= 8) { @@ -2479,32 +2460,32 @@ yy57: if (yyaccept <= 2) { if (yyaccept <= 1) { if (yyaccept <= 0) { - goto yy4; + goto yy3; } else { - goto yy13; + goto yy12; } } else { - goto yy50; + goto yy49; } } else { if (yyaccept <= 3) { - goto yy73; + goto yy72; } else { - goto yy167; + goto yy166; } } } else { if (yyaccept <= 6) { if (yyaccept <= 5) { - goto yy194; + goto yy193; } else { - goto yy199; + goto yy198; } } else { if (yyaccept <= 7) { - goto yy223; + goto yy222; } else { - goto yy295; + goto yy294; } } } @@ -2512,29 +2493,29 @@ yy57: if (yyaccept <= 12) { if (yyaccept <= 10) { if (yyaccept <= 9) { - goto yy393; + goto yy392; } else { - goto yy476; + goto yy475; } } else { if (yyaccept <= 11) { - goto yy491; + goto yy490; } else { - goto yy612; + goto yy611; } } } else { if (yyaccept <= 14) { if (yyaccept <= 13) { - goto yy657; + goto yy656; } else { - goto yy667; + goto yy666; } } else { if (yyaccept <= 15) { - goto yy764; + goto yy763; } else { - goto yy784; + goto yy783; } } } @@ -2545,32 +2526,32 @@ yy57: if (yyaccept <= 19) { if (yyaccept <= 18) { if (yyaccept <= 17) { - goto yy815; + goto yy814; } else { - goto yy822; + goto yy821; } } else { - goto yy849; + goto yy848; } } else { if (yyaccept <= 20) { - goto yy794; + goto yy793; } else { - goto yy455; + goto yy454; } } } else { if (yyaccept <= 23) { if (yyaccept <= 22) { - goto yy974; + goto yy973; } else { - goto yy843; + goto yy842; } } else { if (yyaccept <= 24) { - goto yy1068; + goto yy1067; } else { - goto yy1076; + goto yy1075; } } } @@ -2578,13 +2559,13 @@ yy57: if (yyaccept <= 29) { if (yyaccept <= 27) { if (yyaccept <= 26) { - goto yy1118; + goto yy1117; } else { - goto yy1142; + goto yy1141; } } else { if (yyaccept <= 28) { - goto yy1295; + goto yy1294; } else { goto yy1417; } @@ -2606,194 +2587,194 @@ yy57: } } } -yy58: - YYDEBUG(58, *YYCURSOR); +yy57: + YYDEBUG(57, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - YYDEBUG(59, *YYCURSOR); + YYDEBUG(58, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy58; + goto yy57; } - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy55; - goto yy57; -yy60: - YYDEBUG(60, *YYCURSOR); + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy54; + goto yy56; +yy59: + YYDEBUG(59, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; -yy61: - YYDEBUG(61, *YYCURSOR); +yy60: + YYDEBUG(60, *YYCURSOR); if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy57; - goto yy60; + if (yych == '\t') goto yy59; + if (yych <= 0x1F) goto yy56; + goto yy59; } else { - if (yych == 'D') goto yy65; - if (yych <= 'E') goto yy57; - goto yy66; + if (yych == 'D') goto yy64; + if (yych <= 'E') goto yy56; + goto yy65; } } else { if (yych <= 'M') { - if (yych == 'H') goto yy64; - if (yych <= 'L') goto yy57; - goto yy63; + if (yych == 'H') goto yy63; + if (yych <= 'L') goto yy56; + goto yy62; } else { if (yych <= 'S') { - if (yych <= 'R') goto yy57; + if (yych <= 'R') goto yy56; } else { - if (yych <= 'T') goto yy69; - if (yych <= 'V') goto yy57; - goto yy68; + if (yych <= 'T') goto yy68; + if (yych <= 'V') goto yy56; + goto yy67; } } } } else { if (yych <= 'l') { if (yych <= 'd') { - if (yych == 'Y') goto yy67; - if (yych <= 'c') goto yy57; - goto yy65; + if (yych == 'Y') goto yy66; + if (yych <= 'c') goto yy56; + goto yy64; } else { if (yych <= 'f') { - if (yych <= 'e') goto yy57; - goto yy66; + if (yych <= 'e') goto yy56; + goto yy65; } else { - if (yych == 'h') goto yy64; - goto yy57; + if (yych == 'h') goto yy63; + goto yy56; } } } else { if (yych <= 't') { - if (yych <= 'm') goto yy63; - if (yych <= 'r') goto yy57; - if (yych >= 't') goto yy69; + if (yych <= 'm') goto yy62; + if (yych <= 'r') goto yy56; + if (yych >= 't') goto yy68; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy57; - goto yy68; + if (yych <= 'v') goto yy56; + goto yy67; } else { - if (yych == 'y') goto yy67; - goto yy57; + if (yych == 'y') goto yy66; + goto yy56; } } } } -yy62: - YYDEBUG(62, *YYCURSOR); +yy61: + YYDEBUG(61, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { - if (yych == 'A') goto yy127; - goto yy57; + if (yych == 'A') goto yy126; + goto yy56; } else { - if (yych <= 'E') goto yy128; - if (yych <= 'T') goto yy57; - goto yy126; + if (yych <= 'E') goto yy127; + if (yych <= 'T') goto yy56; + goto yy125; } } else { if (yych <= 'd') { - if (yych == 'a') goto yy127; - goto yy57; + if (yych == 'a') goto yy126; + goto yy56; } else { - if (yych <= 'e') goto yy128; - if (yych == 'u') goto yy126; - goto yy57; + if (yych <= 'e') goto yy127; + if (yych == 'u') goto yy125; + goto yy56; } } -yy63: - YYDEBUG(63, *YYCURSOR); +yy62: + YYDEBUG(62, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'I') goto yy118; - if (yych <= 'N') goto yy57; - goto yy117; + if (yych == 'I') goto yy117; + if (yych <= 'N') goto yy56; + goto yy116; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy57; - goto yy118; + if (yych <= 'h') goto yy56; + goto yy117; } else { - if (yych == 'o') goto yy117; - goto yy57; + if (yych == 'o') goto yy116; + goto yy56; } } +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 == 'O') goto yy115; - if (yych == 'o') goto yy115; - goto yy57; + if (yych == 'A') goto yy113; + if (yych == 'a') goto yy113; + goto yy56; yy65: YYDEBUG(65, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy114; - if (yych == 'a') goto yy114; - goto yy57; -yy66: - YYDEBUG(66, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'R') { - if (yych == 'O') goto yy99; - if (yych <= 'Q') goto yy57; - goto yy98; + if (yych == 'O') goto yy98; + if (yych <= 'Q') goto yy56; + goto yy97; } else { if (yych <= 'o') { - if (yych <= 'n') goto yy57; - goto yy99; + if (yych <= 'n') goto yy56; + goto yy98; } else { - if (yych == 'r') goto yy98; - goto yy57; + if (yych == 'r') goto yy97; + goto yy56; } } +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 yy95; - if (yych == 'e') goto yy95; - goto yy57; + if (yych == 'E') goto yy82; + if (yych == 'e') goto yy82; + goto yy56; yy68: YYDEBUG(68, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy83; - if (yych == 'e') goto yy83; - goto yy57; -yy69: - YYDEBUG(69, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'H') goto yy70; - if (yych <= 'T') goto yy57; - goto yy71; + if (yych == 'H') goto yy69; + if (yych <= 'T') goto yy56; + goto yy70; } else { if (yych <= 'h') { - if (yych <= 'g') goto yy57; + if (yych <= 'g') goto yy56; } else { - if (yych == 'u') goto yy71; - goto yy57; + if (yych == 'u') goto yy70; + goto yy56; } } +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 == 'U') goto yy78; - if (yych == 'u') goto yy78; - goto yy57; + if (yych == 'E') goto yy71; + if (yych != 'e') goto yy56; yy71: YYDEBUG(71, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy72; - if (yych != 'e') goto yy57; -yy72: - YYDEBUG(72, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'S') goto yy74; - if (yych == 's') goto yy74; -yy73: - YYDEBUG(73, *YYCURSOR); + if (yych == 'S') goto yy73; + if (yych == 's') goto yy73; +yy72: + YYDEBUG(72, *YYCURSOR); #line 1714 "ext/date/lib/parse_date.re" { timelib_ull i; @@ -2809,768 +2790,768 @@ yy73: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 2813 "ext/date/lib/parse_date.c" +#line 2794 "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 == 'D') goto yy75; - if (yych != 'd') goto yy57; + if (yych == 'A') goto yy75; + if (yych != 'a') goto yy56; yy75: YYDEBUG(75, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy76; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy76; + if (yych != 'y') goto yy56; yy76: YYDEBUG(76, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych != 'y') goto yy57; + goto yy72; yy77: YYDEBUG(77, *YYCURSOR); - yych = *++YYCURSOR; - goto yy73; -yy78: - YYDEBUG(78, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'R') goto yy79; - if (yych != 'r') goto yy73; + 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 == 'S') goto yy80; - if (yych != 's') goto yy57; + if (yych == 'D') goto yy80; + if (yych != 'd') goto yy56; yy80: YYDEBUG(80, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy81; - if (yych != 'd') goto yy57; + if (yych == 'A') goto yy81; + if (yych != 'a') goto yy56; yy81: YYDEBUG(81, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy82; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy76; + if (yych == 'y') goto yy76; + goto yy56; yy82: YYDEBUG(82, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych == 'y') goto yy77; - goto yy57; -yy83: - YYDEBUG(83, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'E') { - if (yych <= 'C') goto yy57; - if (yych <= 'D') goto yy85; + if (yych <= 'C') goto yy56; + if (yych <= 'D') goto yy84; } else { - if (yych <= 'c') goto yy57; - if (yych <= 'd') goto yy85; - if (yych >= 'f') goto yy57; + if (yych <= 'c') goto yy56; + if (yych <= 'd') goto yy84; + if (yych >= 'f') goto yy56; } - YYDEBUG(84, *YYCURSOR); + YYDEBUG(83, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'K') goto yy91; - if (yych == 'k') goto yy91; - goto yy57; -yy85: - YYDEBUG(85, *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 yy86; - if (yych != 'n') goto yy73; + 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 == 'E') goto yy87; - if (yych != 'e') goto yy57; + if (yych == 'S') goto yy87; + if (yych != 's') goto yy56; yy87: YYDEBUG(87, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy88; - if (yych != 's') goto yy57; + if (yych == 'D') goto yy88; + if (yych != 'd') goto yy56; yy88: YYDEBUG(88, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy89; - if (yych != 'd') goto yy57; + if (yych == 'A') goto yy89; + if (yych != 'a') goto yy56; yy89: YYDEBUG(89, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy90; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy76; + if (yych == 'y') goto yy76; + goto yy56; yy90: YYDEBUG(90, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych == 'y') goto yy77; - goto yy57; -yy91: - YYDEBUG(91, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { - if (yych == 'D') goto yy92; - if (yych <= 'R') goto yy73; - goto yy77; + if (yych == 'D') goto yy91; + if (yych <= 'R') goto yy72; + goto yy76; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy73; + if (yych <= 'c') goto yy72; } else { - if (yych == 's') goto yy77; - goto yy73; + if (yych == 's') goto yy76; + goto yy72; } } +yy91: + YYDEBUG(91, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy92; + if (yych != 'a') goto yy56; yy92: YYDEBUG(92, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy93; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy93; + if (yych != 'y') goto yy56; yy93: YYDEBUG(93, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy94; - if (yych != 'y') goto yy57; + if (yych == 'S') goto yy76; + if (yych == 's') goto yy76; + goto yy72; yy94: YYDEBUG(94, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy77; - if (yych == 's') goto yy77; - goto yy73; + if (yych == 'A') goto yy95; + if (yych != 'a') goto yy56; yy95: YYDEBUG(95, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy96; - if (yych != 'a') goto yy57; + if (yych == 'R') goto yy96; + if (yych != 'r') goto yy56; yy96: YYDEBUG(96, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy97; - if (yych != 'r') goto yy57; + if (yych == 'S') goto yy76; + if (yych == 's') goto yy76; + goto yy72; yy97: YYDEBUG(97, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy77; - if (yych == 's') goto yy77; - goto yy73; + if (yych == 'I') goto yy110; + if (yych == 'i') goto yy110; + goto yy56; yy98: YYDEBUG(98, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy111; - if (yych == 'i') goto yy111; - goto yy57; + if (yych == 'R') goto yy99; + if (yych != 'r') goto yy56; yy99: YYDEBUG(99, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy100; - if (yych != 'r') goto yy57; + if (yych == 'T') goto yy100; + if (yych != 't') goto yy56; yy100: YYDEBUG(100, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy101; - if (yych != 't') goto yy57; -yy101: - YYDEBUG(101, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'H') goto yy103; - if (yych <= 'M') goto yy57; + if (yych == 'H') goto yy102; + if (yych <= 'M') goto yy56; } else { if (yych <= 'h') { - if (yych <= 'g') goto yy57; - goto yy103; + if (yych <= 'g') goto yy56; + goto yy102; } else { - if (yych != 'n') goto yy57; + if (yych != 'n') goto yy56; } } + 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 == 'I') goto yy108; - if (yych == 'i') goto yy108; - goto yy57; + if (yych == 'N') goto yy103; + if (yych != 'n') goto yy56; yy103: YYDEBUG(103, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy104; - if (yych != 'n') goto yy57; + if (yych == 'I') goto yy104; + if (yych != 'i') goto yy56; yy104: YYDEBUG(104, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy105; - if (yych != 'i') goto yy57; + if (yych == 'G') goto yy105; + if (yych != 'g') goto yy56; yy105: YYDEBUG(105, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy106; - if (yych != 'g') goto yy57; + if (yych == 'H') goto yy106; + if (yych != 'h') goto yy56; yy106: YYDEBUG(106, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy107; - if (yych != 'h') goto yy57; + if (yych == 'T') goto yy96; + if (yych == 't') goto yy96; + goto yy56; yy107: YYDEBUG(107, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy97; - if (yych == 't') goto yy97; - goto yy57; + if (yych == 'G') goto yy108; + if (yych != 'g') goto yy56; yy108: YYDEBUG(108, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy109; - if (yych != 'g') goto yy57; + if (yych == 'H') goto yy109; + if (yych != 'h') goto yy56; yy109: YYDEBUG(109, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy110; - if (yych != 'h') goto yy57; + if (yych == 'T') goto yy96; + if (yych == 't') goto yy96; + goto yy56; yy110: YYDEBUG(110, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy97; - if (yych == 't') goto yy97; - goto yy57; -yy111: - YYDEBUG(111, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'D') goto yy112; - if (yych != 'd') goto yy73; + 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 == 'A') goto yy113; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy76; + if (yych == 'y') goto yy76; + goto yy56; yy113: YYDEBUG(113, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych == 'y') goto yy77; - goto yy57; + if (yych == 'Y') goto yy96; + if (yych == 'y') goto yy96; + goto yy56; yy114: YYDEBUG(114, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy97; - if (yych == 'y') goto yy97; - goto yy57; + if (yych == 'U') goto yy115; + if (yych != 'u') goto yy56; yy115: YYDEBUG(115, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy116; - if (yych != 'u') goto yy57; + if (yych == 'R') goto yy96; + if (yych == 'r') goto yy96; + goto yy56; yy116: YYDEBUG(116, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy97; - if (yych == 'r') goto yy97; - goto yy57; + if (yych == 'N') goto yy121; + if (yych == 'n') goto yy121; + goto yy56; yy117: YYDEBUG(117, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy122; - if (yych == 'n') goto yy122; - goto yy57; + if (yych == 'N') goto yy118; + if (yych != 'n') goto yy56; yy118: YYDEBUG(118, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy119; - if (yych != 'n') goto yy57; -yy119: - YYDEBUG(119, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { - if (yych == 'S') goto yy77; - if (yych <= 'T') goto yy73; + if (yych == 'S') goto yy76; + if (yych <= 'T') goto yy72; } else { if (yych <= 's') { - if (yych <= 'r') goto yy73; - goto yy77; + if (yych <= 'r') goto yy72; + goto yy76; } else { - if (yych != 'u') goto yy73; + if (yych != 'u') goto yy72; } } + YYDEBUG(119, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy120; + if (yych != 't') goto yy56; +yy120: YYDEBUG(120, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy121; - if (yych != 't') goto yy57; + if (yych == 'E') goto yy96; + if (yych == 'e') goto yy96; + goto yy56; yy121: YYDEBUG(121, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy97; - if (yych == 'e') goto yy97; - goto yy57; -yy122: - YYDEBUG(122, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { - if (yych == 'D') goto yy123; - if (yych <= 'S') goto yy73; - goto yy124; + if (yych == 'D') goto yy122; + if (yych <= 'S') goto yy72; + goto yy123; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy73; + if (yych <= 'c') goto yy72; } else { - if (yych == 't') goto yy124; - goto yy73; + if (yych == 't') goto yy123; + goto yy72; } } +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 == 'A') goto yy125; - if (yych == 'a') goto yy125; - goto yy57; + if (yych == 'H') goto yy96; + if (yych == 'h') goto yy96; + goto yy56; yy124: YYDEBUG(124, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy97; - if (yych == 'h') goto yy97; - goto yy57; + if (yych == 'Y') goto yy76; + if (yych == 'y') goto yy76; + goto yy56; yy125: YYDEBUG(125, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych == 'y') goto yy77; - goto yy57; + if (yych == 'N') goto yy136; + if (yych == 'n') goto yy136; + goto yy56; yy126: YYDEBUG(126, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy137; - if (yych == 'n') goto yy137; - goto yy57; + if (yych == 'T') goto yy131; + if (yych == 't') goto yy131; + goto yy56; yy127: YYDEBUG(127, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy132; - if (yych == 't') goto yy132; - goto yy57; + if (yych == 'C') goto yy128; + if (yych != 'c') goto yy56; yy128: YYDEBUG(128, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy129; - if (yych != 'c') goto yy57; -yy129: - YYDEBUG(129, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { - if (yych == 'O') goto yy130; - if (yych <= 'R') goto yy73; - goto yy77; + if (yych == 'O') goto yy129; + if (yych <= 'R') goto yy72; + goto yy76; } else { if (yych <= 'o') { - if (yych <= 'n') goto yy73; + if (yych <= 'n') goto yy72; } else { - if (yych == 's') goto yy77; - goto yy73; + if (yych == 's') goto yy76; + goto yy72; } } +yy129: + YYDEBUG(129, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy130; + if (yych != 'n') goto yy56; yy130: YYDEBUG(130, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy131; - if (yych != 'n') goto yy57; + if (yych == 'D') goto yy96; + if (yych == 'd') goto yy96; + goto yy56; yy131: YYDEBUG(131, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy97; - if (yych == 'd') goto yy97; - goto yy57; -yy132: - YYDEBUG(132, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy133; - if (yych != 'u') goto yy73; + 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 == 'R') goto yy134; - if (yych != 'r') goto yy57; + if (yych == 'D') goto yy134; + if (yych != 'd') goto yy56; yy134: YYDEBUG(134, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy135; - if (yych != 'd') goto yy57; + if (yych == 'A') goto yy135; + if (yych != 'a') goto yy56; yy135: YYDEBUG(135, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy136; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy76; + if (yych == 'y') goto yy76; + goto yy56; yy136: YYDEBUG(136, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych == 'y') goto yy77; - goto yy57; -yy137: - YYDEBUG(137, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'D') goto yy138; - if (yych != 'd') goto yy73; + 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 == 'A') goto yy139; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy76; + if (yych == 'y') goto yy76; + goto yy56; yy139: YYDEBUG(139, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy77; - if (yych == 'y') goto yy77; - goto yy57; + goto yy3; yy140: YYDEBUG(140, *YYCURSOR); yych = *++YYCURSOR; - goto yy4; + if (yych <= '@') { + if (yych == ')') goto yy139; + goto yy3; + } else { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; + } yy141: YYDEBUG(141, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; } yy142: YYDEBUG(142, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; } yy143: YYDEBUG(143, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; } yy144: YYDEBUG(144, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; - } else { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; - } + if (yych == ')') goto yy139; + goto yy3; yy145: YYDEBUG(145, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == ')') goto yy140; - goto yy4; -yy146: - YYDEBUG(146, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - goto yy148; + if (yych == '.') goto yy3; + goto yy147; } } else { if (yych <= '^') { - if (yych <= '@') goto yy4; - if (yych <= 'Z') goto yy142; - goto yy4; + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy141; + goto yy3; } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; } } -yy147: - YYDEBUG(147, *YYCURSOR); +yy146: + YYDEBUG(146, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; + if (yych == '.') goto yy3; } } else { if (yych <= '^') { - if (yych <= '@') goto yy4; - if (yych <= 'Z') goto yy143; - goto yy4; + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy142; + goto yy3; } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy150; + goto yy3; } } -yy148: - YYDEBUG(148, *YYCURSOR); +yy147: + YYDEBUG(147, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 8) { - goto yy149; + goto yy148; } - goto yy57; -yy149: - YYDEBUG(149, *YYCURSOR); + goto yy56; +yy148: + YYDEBUG(148, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - YYDEBUG(150, *YYCURSOR); + YYDEBUG(149, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy149; + goto yy148; } if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy4; + if (yych == '-') goto yy147; + goto yy3; } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; + goto yy3; } -yy151: - YYDEBUG(151, *YYCURSOR); +yy150: + YYDEBUG(150, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - goto yy148; + if (yych == '.') goto yy3; + goto yy147; } } else { if (yych <= '^') { - if (yych <= '@') goto yy4; - if (yych <= 'Z') goto yy144; - goto yy4; + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy143; + goto yy3; } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; } } -yy152: - YYDEBUG(152, *YYCURSOR); +yy151: + YYDEBUG(151, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - goto yy148; + if (yych == '.') goto yy3; + goto yy147; } } else { if (yych <= '^') { - if (yych <= '@') goto yy4; - if (yych <= 'Z') goto yy145; - goto yy4; + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy144; + goto yy3; } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - if (yych >= '{') goto yy4; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + if (yych >= '{') goto yy3; } } -yy153: - YYDEBUG(153, *YYCURSOR); +yy152: + YYDEBUG(152, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy153; } if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { if (yych <= '/') { - if (yych <= '.') goto yy4; - goto yy148; + if (yych <= '.') goto yy3; + goto yy147; } else { - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } } -yy154: - YYDEBUG(154, *YYCURSOR); +yy153: + YYDEBUG(153, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy155: - YYDEBUG(155, *YYCURSOR); +yy154: + YYDEBUG(154, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy153; } if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy57; + if (yych == '-') goto yy147; + goto yy56; } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; - goto yy57; + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; + goto yy56; } -yy156: - YYDEBUG(156, *YYCURSOR); +yy155: + YYDEBUG(155, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'Z') goto yy141; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy141; - goto yy4; + if (yych <= 'Z') goto yy140; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy140; + goto yy3; } -yy157: - YYDEBUG(157, *YYCURSOR); +yy156: + YYDEBUG(156, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy141; } else { if (yych <= 'Z') { - if (yych >= 'U') goto yy142; + if (yych >= 'U') goto yy141; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy141; + goto yy3; } } - YYDEBUG(158, *YYCURSOR); + YYDEBUG(157, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych != '+') goto yy4; + if (yych != '+') goto yy3; } } else { if (yych <= 'Z') { - if (yych <= '-') goto yy159; - if (yych <= '@') goto yy4; - goto yy143; + if (yych <= '-') goto yy158; + if (yych <= '@') goto yy3; + goto yy142; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy142; + goto yy3; } } +yy158: + YYDEBUG(158, *YYCURSOR); + 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); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy160; - if (yych <= '2') goto yy161; - if (yych <= '9') goto yy162; - goto yy57; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy161; + if (yych <= ':') goto yy162; + goto yy3; yy160: YYDEBUG(160, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy162; - if (yych <= ':') goto yy163; - goto yy4; -yy161: - YYDEBUG(161, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '5') { - if (yych <= '/') goto yy4; - if (yych >= '5') goto yy164; + if (yych <= '/') goto yy3; + if (yych >= '5') goto yy163; } else { - if (yych <= '9') goto yy140; - if (yych <= ':') goto yy163; - goto yy4; + if (yych <= '9') goto yy139; + if (yych <= ':') goto yy162; + goto yy3; } +yy161: + YYDEBUG(161, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '/') goto yy3; + if (yych <= '5') goto yy163; + if (yych <= '9') goto yy139; + if (yych >= ';') goto yy3; yy162: YYDEBUG(162, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy4; - if (yych <= '5') goto yy164; - if (yych <= '9') goto yy140; - if (yych >= ';') goto yy4; + if (yych <= '/') goto yy3; + if (yych <= '5') goto yy163; + if (yych <= '9') goto yy139; + goto yy3; yy163: YYDEBUG(163, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy4; - if (yych <= '5') goto yy164; - if (yych <= '9') goto yy140; - goto yy4; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy139; + goto yy3; yy164: YYDEBUG(164, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy140; - goto yy4; -yy165: - YYDEBUG(165, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'C') goto yy142; - if (yych >= 'E') goto yy168; + if (yych <= 'C') goto yy141; + if (yych >= 'E') goto yy167; } } else { if (yych <= 'c') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'd') goto yy166; - if (yych <= 'e') goto yy168; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'd') goto yy165; + if (yych <= 'e') goto yy167; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy166: - YYDEBUG(166, *YYCURSOR); +yy165: + YYDEBUG(165, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= 'N') { if (yych <= ')') { - if (yych >= ')') goto yy140; + if (yych >= ')') goto yy139; } else { - if (yych <= '@') goto yy167; - if (yych <= 'M') goto yy143; - goto yy174; + if (yych <= '@') goto yy166; + if (yych <= 'M') goto yy142; + goto yy173; } } else { if (yych <= 'm') { - if (yych <= 'Z') goto yy143; - if (yych >= 'a') goto yy143; + if (yych <= 'Z') goto yy142; + if (yych >= 'a') goto yy142; } else { - if (yych <= 'n') goto yy174; - if (yych <= 'z') goto yy143; + if (yych <= 'n') goto yy173; + if (yych <= 'z') goto yy142; } } -yy167: - YYDEBUG(167, *YYCURSOR); +yy166: + YYDEBUG(166, *YYCURSOR); #line 1577 "ext/date/lib/parse_date.re" { const timelib_relunit* relunit; @@ -3588,526 +3569,526 @@ yy167: TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } -#line 3592 "ext/date/lib/parse_date.c" -yy168: - YYDEBUG(168, *YYCURSOR); +#line 3573 "ext/date/lib/parse_date.c" +yy167: + YYDEBUG(167, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'K') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'J') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'J') goto yy142; } } else { if (yych <= 'j') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 'k') goto yy169; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'k') goto yy168; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy169: - YYDEBUG(169, *YYCURSOR); +yy168: + YYDEBUG(168, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy143; } } else { if (yych <= 'c') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'd') goto yy170; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'd') goto yy169; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy170: - YYDEBUG(170, *YYCURSOR); +yy169: + YYDEBUG(169, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy145; - goto yy4; + if (yych <= 'Z') goto yy144; + goto yy3; } else { - if (yych <= 'a') goto yy171; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'a') goto yy170; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy171: - YYDEBUG(171, *YYCURSOR); +yy170: + YYDEBUG(170, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'Y') goto yy172; - if (yych != 'y') goto yy4; + if (yych <= 'Y') goto yy171; + if (yych != 'y') goto yy3; } +yy171: + YYDEBUG(171, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy172; + if (yych != 's') goto yy166; yy172: YYDEBUG(172, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy173; - if (yych != 's') goto yy167; + goto yy166; yy173: YYDEBUG(173, *YYCURSOR); yych = *++YYCURSOR; - goto yy167; -yy174: - YYDEBUG(174, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy143; } } else { if (yych <= 'd') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'e') goto yy175; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'e') goto yy174; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy175: - YYDEBUG(175, *YYCURSOR); +yy174: + YYDEBUG(174, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'R') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy144; } } else { if (yych <= 'r') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 's') goto yy176; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 's') goto yy175; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy176: - YYDEBUG(176, *YYCURSOR); +yy175: + YYDEBUG(175, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'D') goto yy177; - if (yych != 'd') goto yy4; + if (yych <= 'D') goto yy176; + if (yych != 'd') goto yy3; } +yy176: + YYDEBUG(176, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy177; + if (yych != 'a') goto yy56; yy177: YYDEBUG(177, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy178; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy172; + if (yych == 'y') goto yy172; + goto yy56; yy178: YYDEBUG(178, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy173; - if (yych == 'y') goto yy173; - goto yy57; -yy179: - YYDEBUG(179, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { if (yych <= '/') { - if (yych <= '.') goto yy4; - goto yy148; + if (yych <= '.') goto yy3; + goto yy147; } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy142; - goto yy166; + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy141; + goto yy165; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'E') goto yy168; - goto yy142; + if (yych <= 'E') goto yy167; + goto yy141; } else { - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } } else { if (yych <= 'd') { - if (yych <= 'c') goto yy147; + if (yych <= 'c') goto yy146; } else { - if (yych <= 'e') goto yy181; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'e') goto yy180; + if (yych <= 'z') goto yy146; + goto yy3; } } } - YYDEBUG(180, *YYCURSOR); + YYDEBUG(179, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'N') goto yy174; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; + if (yych <= 'N') goto yy173; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { if (yych <= 'm') { - if (yych <= '`') goto yy167; - goto yy151; + if (yych <= '`') goto yy166; + goto yy150; } else { - if (yych <= 'n') goto yy187; - if (yych <= 'z') goto yy151; - goto yy167; + if (yych <= 'n') goto yy186; + if (yych <= 'z') goto yy150; + goto yy166; } } } -yy181: - YYDEBUG(181, *YYCURSOR); +yy180: + YYDEBUG(180, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'J') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'K') goto yy169; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'K') goto yy168; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'j') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 'k') goto yy182; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'k') goto yy181; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy182: - YYDEBUG(182, *YYCURSOR); +yy181: + YYDEBUG(181, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'D') goto yy170; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'D') goto yy169; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'd') goto yy183; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'd') goto yy182; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy183: - YYDEBUG(183, *YYCURSOR); +yy182: + YYDEBUG(182, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '_') { - if (yych <= 'A') goto yy171; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'A') goto yy170; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy184; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy183; + if (yych <= 'z') goto yy152; + goto yy3; } } -yy184: - YYDEBUG(184, *YYCURSOR); +yy183: + YYDEBUG(183, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { - if (yych <= 'Y') goto yy172; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= 'Y') goto yy171; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych == 'y') goto yy185; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych == 'y') goto yy184; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy185: - YYDEBUG(185, *YYCURSOR); +yy184: + YYDEBUG(184, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy167; + if (yych == '-') goto yy147; + goto yy166; } else { - if (yych <= '/') goto yy148; - if (yych <= 'R') goto yy167; - goto yy173; + if (yych <= '/') goto yy147; + if (yych <= 'R') goto yy166; + goto yy172; } } else { if (yych <= '`') { - if (yych == '_') goto yy148; - goto yy167; + if (yych == '_') goto yy147; + goto yy166; } else { - if (yych == 's') goto yy186; - if (yych <= 'z') goto yy154; - goto yy167; + if (yych == 's') goto yy185; + if (yych <= 'z') goto yy153; + goto yy166; } } -yy186: - YYDEBUG(186, *YYCURSOR); +yy185: + YYDEBUG(185, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy153; } if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy167; + if (yych == '-') goto yy147; + goto yy166; } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; - goto yy167; + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; + goto yy166; } -yy187: - YYDEBUG(187, *YYCURSOR); +yy186: + YYDEBUG(186, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'E') goto yy175; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'E') goto yy174; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'e') goto yy188; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'e') goto yy187; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy188: - YYDEBUG(188, *YYCURSOR); +yy187: + YYDEBUG(187, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'S') goto yy176; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'S') goto yy175; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'r') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 's') goto yy189; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 's') goto yy188; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy189: - YYDEBUG(189, *YYCURSOR); +yy188: + YYDEBUG(188, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { - if (yych <= 'D') goto yy177; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= 'D') goto yy176; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych == 'd') goto yy190; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych == 'd') goto yy189; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy190: +yy189: + YYDEBUG(189, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy177; + if (yych != 'a') goto yy154; YYDEBUG(190, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy178; - if (yych != 'a') goto yy155; + if (yych == 'Y') goto yy172; + if (yych == 'y') goto yy185; + goto yy154; +yy191: YYDEBUG(191, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy173; - if (yych == 'y') goto yy186; - goto yy155; -yy192: - YYDEBUG(192, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'B') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy141; } } else { if (yych <= 'b') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'c') goto yy193; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'c') goto yy192; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy193: - YYDEBUG(193, *YYCURSOR); +yy192: + YYDEBUG(192, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych >= '\t') goto yy196; + if (yych >= '\t') goto yy195; } else { - if (yych == ' ') goto yy196; + if (yych == ' ') goto yy195; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; + if (yych <= ')') goto yy139; } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy196; + if (yych <= '9') goto yy195; } else { - if (yych == 'E') goto yy202; - goto yy143; + if (yych == 'E') goto yy201; + goto yy142; } } else { if (yych <= 'd') { - if (yych >= 'a') goto yy143; + if (yych >= 'a') goto yy142; } else { - if (yych <= 'e') goto yy202; - if (yych <= 'z') goto yy143; + if (yych <= 'e') goto yy201; + if (yych <= 'z') goto yy142; } } } -yy194: - YYDEBUG(194, *YYCURSOR); +yy193: + YYDEBUG(193, *YYCURSOR); #line 1636 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("monthtext"); @@ -4117,57 +4098,57 @@ yy194: TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 4121 "ext/date/lib/parse_date.c" -yy195: - YYDEBUG(195, *YYCURSOR); +#line 4102 "ext/date/lib/parse_date.c" +yy194: + YYDEBUG(194, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21); yych = *YYCURSOR; -yy196: - YYDEBUG(196, *YYCURSOR); +yy195: + YYDEBUG(195, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy195; + goto yy194; } - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy198; - if (yych <= '3') goto yy200; - if (yych <= '9') goto yy201; - goto yy57; + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy196; - if (yych <= '0') goto yy357; - if (yych <= '2') goto yy358; - if (yych <= '3') goto yy359; - goto yy196; -yy198: - YYDEBUG(198, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy298; - goto yy299; + if (yych <= '/') goto yy215; + if (yych <= '0') goto yy297; + goto yy298; } else { - if (yych <= '2') goto yy355; - if (yych <= '9') goto yy356; - goto yy216; + if (yych <= '2') goto yy354; + if (yych <= '9') goto yy355; + goto yy215; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy212; - if (yych <= 'q') goto yy216; - goto yy213; + if (yych <= 'n') goto yy211; + if (yych <= 'q') goto yy215; + goto yy212; } else { - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy199: - YYDEBUG(199, *YYCURSOR); +yy198: + YYDEBUG(198, *YYCURSOR); #line 1382 "ext/date/lib/parse_date.re" { int length = 0; @@ -4181,275 +4162,275 @@ yy199: TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 4185 "ext/date/lib/parse_date.c" -yy200: - YYDEBUG(200, *YYCURSOR); +#line 4166 "ext/date/lib/parse_date.c" +yy199: + YYDEBUG(199, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy298; - goto yy299; + if (yych <= '/') goto yy215; + if (yych <= '0') goto yy297; + goto yy298; } else { - if (yych <= '2') goto yy209; - if (yych <= '9') goto yy210; - goto yy216; + if (yych <= '2') goto yy208; + if (yych <= '9') goto yy209; + goto yy215; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy212; - if (yych <= 'q') goto yy216; - goto yy213; + if (yych <= 'n') goto yy211; + if (yych <= 'q') goto yy215; + goto yy212; } else { - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy201: - YYDEBUG(201, *YYCURSOR); +yy200: + YYDEBUG(200, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy207; - goto yy208; + if (yych <= '/') goto yy215; + if (yych <= '0') goto yy206; + goto yy207; } else { - if (yych <= '2') goto yy209; - if (yych <= '9') goto yy210; - goto yy216; + if (yych <= '2') goto yy208; + if (yych <= '9') goto yy209; + goto yy215; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy212; - if (yych <= 'q') goto yy216; - goto yy213; + if (yych <= 'n') goto yy211; + if (yych <= 'q') goto yy215; + goto yy212; } else { - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy202: - YYDEBUG(202, *YYCURSOR); +yy201: + YYDEBUG(201, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'L') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'L') goto yy143; } } else { if (yych <= 'l') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'm') goto yy203; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'm') goto yy202; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy203: - YYDEBUG(203, *YYCURSOR); +yy202: + YYDEBUG(202, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'A') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy144; } } else { if (yych <= 'a') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'b') goto yy204; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'b') goto yy203; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy204: - YYDEBUG(204, *YYCURSOR); +yy203: + YYDEBUG(203, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'E') goto yy205; - if (yych != 'e') goto yy4; + if (yych <= 'E') goto yy204; + if (yych != 'e') goto yy3; } +yy204: + YYDEBUG(204, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy205; + if (yych != 'r') goto yy56; yy205: YYDEBUG(205, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy206; - if (yych != 'r') goto yy57; -yy206: - YYDEBUG(206, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy194; - goto yy196; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy193; + goto yy195; } else { if (yych <= '.') { - if (yych <= ',') goto yy194; - goto yy196; + if (yych <= ',') goto yy193; + goto yy195; } else { - if (yych <= '/') goto yy194; - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '/') goto yy193; + if (yych <= '9') goto yy195; + goto yy193; } } +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; + } yy207: YYDEBUG(207, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy57; + if (yych == '.') goto yy263; + goto yy56; } else { - if (yych <= '0') goto yy296; - if (yych <= '9') goto yy297; - if (yych <= ':') goto yy221; - goto yy57; + if (yych <= '2') goto yy296; + if (yych <= '9') goto yy295; + if (yych <= ':') goto yy263; + goto yy56; } yy208: YYDEBUG(208, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; + if (yych == '.') goto yy263; + goto yy56; } else { - if (yych <= '2') goto yy297; - if (yych <= '9') goto yy296; - if (yych <= ':') goto yy264; - goto yy57; + if (yych <= '4') goto yy295; + if (yych <= '9') goto yy292; + if (yych <= ':') goto yy263; + goto yy56; } yy209: YYDEBUG(209, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; + if (yych == '.') goto yy263; + goto yy56; } else { - if (yych <= '4') goto yy296; - if (yych <= '9') goto yy293; - if (yych <= ':') goto yy264; - goto yy57; + if (yych <= '9') goto yy292; + if (yych <= ':') goto yy263; + goto yy56; } yy210: YYDEBUG(210, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; - } else { - if (yych <= '9') goto yy293; - if (yych <= ':') goto yy264; - goto yy57; - } + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + goto yy215; yy211: YYDEBUG(211, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - goto yy216; + goto yy215; yy212: YYDEBUG(212, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - goto yy216; + goto yy215; yy213: YYDEBUG(213, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - goto yy216; + goto yy215; yy214: YYDEBUG(214, *YYCURSOR); yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - goto yy216; -yy215: - YYDEBUG(215, *YYCURSOR); - yyaccept = 6; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); yych = *YYCURSOR; -yy216: - YYDEBUG(216, *YYCURSOR); +yy215: + YYDEBUG(215, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy215; + goto yy214; } if (yych <= '2') { - if (yych <= '/') goto yy199; - if (yych <= '0') goto yy259; - if (yych <= '1') goto yy260; - goto yy261; + if (yych <= '/') goto yy198; + if (yych <= '0') goto yy258; + if (yych <= '1') goto yy259; + goto yy260; } else { - if (yych <= '9') goto yy262; - if (yych != 'T') goto yy199; + 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 <= '/') goto yy57; - if (yych <= '1') goto yy218; - if (yych <= '2') goto yy219; - if (yych <= '9') goto yy220; - goto yy57; + if (yych <= '/') { + if (yych == '.') goto yy220; + goto yy56; + } else { + if (yych <= '9') goto yy219; + if (yych <= ':') goto yy220; + goto yy56; + } yy218: YYDEBUG(218, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy57; + if (yych == '.') goto yy220; + goto yy56; } else { - if (yych <= '9') goto yy220; - if (yych <= ':') goto yy221; - goto yy57; + if (yych <= '4') goto yy219; + if (yych == ':') goto yy220; + goto yy56; } yy219: YYDEBUG(219, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy57; - } else { - if (yych <= '4') goto yy220; - if (yych == ':') goto yy221; - goto yy57; - } + if (yych == '.') goto yy220; + if (yych != ':') goto yy56; yy220: YYDEBUG(220, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '.') goto yy221; - if (yych != ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy221; + if (yych <= '9') goto yy223; + goto yy56; yy221: YYDEBUG(221, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy222; - if (yych <= '9') goto yy224; - goto yy57; -yy222: - YYDEBUG(222, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy225; + if (yych == '.') goto yy224; } else { - if (yych <= '9') goto yy224; - if (yych <= ':') goto yy225; + if (yych <= '9') goto yy223; + if (yych <= ':') goto yy224; } -yy223: - YYDEBUG(223, *YYCURSOR); +yy222: + YYDEBUG(222, *YYCURSOR); #line 1684 "ext/date/lib/parse_date.re" { int tz_not_found; @@ -4479,704 +4460,704 @@ yy223: TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 4483 "ext/date/lib/parse_date.c" -yy224: - YYDEBUG(224, *YYCURSOR); +#line 4464 "ext/date/lib/parse_date.c" +yy223: + YYDEBUG(223, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy225; - if (yych != ':') goto yy223; + 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 yy57; - if (yych <= '5') goto yy226; - if (yych <= '6') goto yy227; + if (yych <= '/') goto yy222; if (yych <= '9') goto yy228; - goto yy57; + goto yy222; yy226: YYDEBUG(226, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy223; - if (yych <= '9') goto yy229; - goto yy223; + if (yych == '0') goto yy228; + goto yy222; yy227: YYDEBUG(227, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '0') goto yy229; - goto yy223; + goto yy222; yy228: YYDEBUG(228, *YYCURSOR); - yych = *++YYCURSOR; - goto yy223; -yy229: - YYDEBUG(229, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '*') { if (yych <= 0x1F) { - if (yych == '\t') goto yy231; - goto yy223; + if (yych == '\t') goto yy230; + goto yy222; } else { - if (yych <= ' ') goto yy231; - if (yych == '(') goto yy231; - goto yy223; + if (yych <= ' ') goto yy230; + if (yych == '(') goto yy230; + goto yy222; } } else { if (yych <= '@') { - if (yych == ',') goto yy223; - if (yych <= '-') goto yy231; - goto yy223; + if (yych == ',') goto yy222; + if (yych <= '-') goto yy230; + goto yy222; } else { - if (yych <= 'Z') goto yy231; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy231; - goto yy223; + if (yych <= 'Z') goto yy230; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy230; + goto yy222; } } -yy230: - YYDEBUG(230, *YYCURSOR); +yy229: + YYDEBUG(229, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; -yy231: - YYDEBUG(231, *YYCURSOR); +yy230: + YYDEBUG(230, *YYCURSOR); if (yych <= '+') { if (yych <= ' ') { - if (yych == '\t') goto yy230; - if (yych <= 0x1F) goto yy57; - goto yy230; + if (yych == '\t') goto yy229; + if (yych <= 0x1F) goto yy56; + goto yy229; } else { - if (yych == '(') goto yy234; - if (yych <= '*') goto yy57; - goto yy233; + if (yych == '(') goto yy233; + if (yych <= '*') goto yy56; + goto yy232; } } else { if (yych <= 'F') { - if (yych == '-') goto yy233; - if (yych <= '@') goto yy57; - goto yy235; + if (yych == '-') goto yy232; + if (yych <= '@') goto yy56; + goto yy234; } else { if (yych <= 'Z') { - if (yych >= 'H') goto yy235; + if (yych >= 'H') goto yy234; } else { - if (yych <= '`') goto yy57; - if (yych <= 'z') goto yy236; - goto yy57; + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy235; + goto yy56; } } } -yy232: - YYDEBUG(232, *YYCURSOR); +yy231: + YYDEBUG(231, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { - if (yych == ')') goto yy228; - if (yych <= '@') goto yy223; - goto yy237; + if (yych == ')') goto yy227; + if (yych <= '@') goto yy222; + goto yy236; } else { if (yych <= 'Z') { - if (yych <= 'M') goto yy257; - goto yy237; + if (yych <= 'M') goto yy256; + goto yy236; } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy242; - goto yy223; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy241; + goto yy222; } } +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 yy57; - if (yych <= '1') goto yy252; - if (yych <= '2') goto yy253; - if (yych <= '9') goto yy254; - goto yy57; + if (yych <= '@') goto yy56; + if (yych <= 'Z') goto yy235; + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy235; + goto yy56; yy234: YYDEBUG(234, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '@') goto yy57; - if (yych <= 'Z') goto yy236; - if (yych <= '`') goto yy57; - if (yych <= 'z') goto yy236; - goto yy57; + 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; + } yy235: YYDEBUG(235, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= 'Z') goto yy237; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy242; - goto yy223; + if (yych <= 'Z') goto yy236; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } yy236: YYDEBUG(236, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { if (yych <= 'Z') goto yy237; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } yy237: YYDEBUG(237, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { if (yych <= 'Z') goto yy238; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } yy238: YYDEBUG(238, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { if (yych <= 'Z') goto yy239; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } yy239: YYDEBUG(239, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { if (yych <= 'Z') goto yy240; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } yy240: YYDEBUG(240, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy228; - goto yy223; - } else { - if (yych <= 'Z') goto yy241; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; - } + if (yych == ')') goto yy227; + goto yy222; yy241: YYDEBUG(241, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == ')') goto yy228; - goto yy223; -yy242: - YYDEBUG(242, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych == '.') goto yy223; - goto yy244; + if (yych == '.') goto yy222; + goto yy243; } } else { if (yych <= '^') { - if (yych <= '@') goto yy223; - if (yych <= 'Z') goto yy238; - goto yy223; + if (yych <= '@') goto yy222; + if (yych <= 'Z') goto yy237; + goto yy222; } else { - if (yych <= '_') goto yy244; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; + if (yych <= '_') goto yy243; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } } -yy243: - YYDEBUG(243, *YYCURSOR); +yy242: + YYDEBUG(242, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych == '.') goto yy223; + if (yych == '.') goto yy222; } } else { if (yych <= '^') { - if (yych <= '@') goto yy223; - if (yych <= 'Z') goto yy239; - goto yy223; + if (yych <= '@') goto yy222; + if (yych <= 'Z') goto yy238; + goto yy222; } else { - if (yych <= '_') goto yy244; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy247; - goto yy223; + if (yych <= '_') goto yy243; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy246; + goto yy222; } } -yy244: - YYDEBUG(244, *YYCURSOR); +yy243: + YYDEBUG(243, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych <= '@') goto yy57; - if (yych <= 'Z') goto yy245; - if (yych <= '`') goto yy57; - if (yych >= '{') goto yy57; -yy245: - YYDEBUG(245, *YYCURSOR); + 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(246, *YYCURSOR); + YYDEBUG(245, *YYCURSOR); if (yych <= '@') { if (yych <= '-') { - if (yych <= ',') goto yy223; - goto yy244; + if (yych <= ',') goto yy222; + goto yy243; } else { - if (yych == '/') goto yy244; - goto yy223; + if (yych == '/') goto yy243; + goto yy222; } } else { if (yych <= '_') { - if (yych <= 'Z') goto yy245; - if (yych <= '^') goto yy223; - goto yy244; + if (yych <= 'Z') goto yy244; + if (yych <= '^') goto yy222; + goto yy243; } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy245; - goto yy223; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy244; + goto yy222; } } -yy247: - YYDEBUG(247, *YYCURSOR); +yy246: + YYDEBUG(246, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych == '.') goto yy223; - goto yy244; + if (yych == '.') goto yy222; + goto yy243; } } else { if (yych <= '^') { - if (yych <= '@') goto yy223; - if (yych <= 'Z') goto yy240; - goto yy223; + if (yych <= '@') goto yy222; + if (yych <= 'Z') goto yy239; + goto yy222; } else { - if (yych <= '_') goto yy244; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; + if (yych <= '_') goto yy243; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } } - YYDEBUG(248, *YYCURSOR); + YYDEBUG(247, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych == '.') goto yy223; - goto yy244; + if (yych == '.') goto yy222; + goto yy243; } } else { if (yych <= '^') { - if (yych <= '@') goto yy223; - if (yych <= 'Z') goto yy241; - goto yy223; + if (yych <= '@') goto yy222; + if (yych <= 'Z') goto yy240; + goto yy222; } else { - if (yych <= '_') goto yy244; - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; + if (yych <= '_') goto yy243; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } } - YYDEBUG(249, *YYCURSOR); + YYDEBUG(248, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ')') { - if (yych <= '(') goto yy223; - goto yy228; + if (yych <= '(') goto yy222; + goto yy227; } else { - if (yych == '-') goto yy244; - goto yy223; + if (yych == '-') goto yy243; + goto yy222; } } else { if (yych <= '_') { - if (yych <= '/') goto yy244; - if (yych <= '^') goto yy223; - goto yy244; + if (yych <= '/') goto yy243; + if (yych <= '^') goto yy222; + goto yy243; } else { - if (yych <= '`') goto yy223; - if (yych >= '{') goto yy223; + if (yych <= '`') goto yy222; + if (yych >= '{') goto yy222; } } -yy250: - YYDEBUG(250, *YYCURSOR); +yy249: + YYDEBUG(249, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - YYDEBUG(251, *YYCURSOR); + YYDEBUG(250, *YYCURSOR); if (yych <= '/') { - if (yych == '-') goto yy244; - if (yych <= '.') goto yy57; - goto yy244; + if (yych == '-') goto yy243; + if (yych <= '.') goto yy56; + goto yy243; } else { if (yych <= '_') { - if (yych <= '^') goto yy57; - goto yy244; + if (yych <= '^') goto yy56; + goto yy243; } else { - if (yych <= '`') goto yy57; - if (yych <= 'z') goto yy250; - goto yy57; + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy249; + 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); yych = *++YYCURSOR; - if (yych <= '/') goto yy223; - if (yych <= '9') goto yy254; - if (yych <= ':') goto yy255; - goto yy223; -yy253: - YYDEBUG(253, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '5') { - if (yych <= '/') goto yy223; - if (yych >= '5') goto yy256; + if (yych <= '/') goto yy222; + if (yych >= '5') goto yy255; } else { - if (yych <= '9') goto yy228; - if (yych <= ':') goto yy255; - goto yy223; + if (yych <= '9') goto yy227; + if (yych <= ':') goto yy254; + goto yy222; } +yy253: + YYDEBUG(253, *YYCURSOR); + 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 yy223; - if (yych <= '5') goto yy256; - if (yych <= '9') goto yy228; - if (yych >= ';') goto yy223; + 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 yy223; - if (yych <= '5') goto yy256; - if (yych <= '9') goto yy228; - goto yy223; + if (yych <= '/') goto yy222; + if (yych <= '9') goto yy227; + goto yy222; yy256: YYDEBUG(256, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy223; - if (yych <= '9') goto yy228; - goto yy223; -yy257: - YYDEBUG(257, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == ')') goto yy228; - if (yych <= '@') goto yy223; - goto yy238; + if (yych == ')') goto yy227; + if (yych <= '@') goto yy222; + goto yy237; } else { if (yych <= 'Z') { - if (yych >= 'U') goto yy238; + if (yych >= 'U') goto yy237; } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy238; - goto yy223; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy237; + goto yy222; } } - YYDEBUG(258, *YYCURSOR); + YYDEBUG(257, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ')') { - if (yych <= '(') goto yy223; - goto yy228; + if (yych <= '(') goto yy222; + goto yy227; } else { - if (yych == '+') goto yy233; - goto yy223; + if (yych == '+') goto yy232; + goto yy222; } } else { if (yych <= 'Z') { - if (yych <= '-') goto yy233; - if (yych <= '@') goto yy223; - goto yy239; + if (yych <= '-') goto yy232; + if (yych <= '@') goto yy222; + goto yy238; } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy239; - goto yy223; + 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; + } yy259: YYDEBUG(259, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy199; + if (yych == '.') goto yy263; + goto yy198; } else { - if (yych <= '0') goto yy291; - if (yych <= '9') goto yy292; - if (yych <= ':') goto yy221; - goto yy199; + if (yych <= '2') goto yy291; + if (yych <= '9') goto yy290; + if (yych <= ':') goto yy263; + goto yy198; } yy260: YYDEBUG(260, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy199; + if (yych == '.') goto yy263; + goto yy198; } else { - if (yych <= '2') goto yy292; - if (yych <= '9') goto yy291; - if (yych <= ':') goto yy264; - goto yy199; + if (yych <= '4') goto yy290; + if (yych <= '9') goto yy262; + if (yych <= ':') goto yy263; + goto yy198; } yy261: YYDEBUG(261, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy199; + if (yych == '.') goto yy263; + goto yy198; } else { - if (yych <= '4') goto yy291; - if (yych <= '9') goto yy263; - if (yych <= ':') goto yy264; - goto yy199; + if (yych <= '9') goto yy262; + if (yych <= ':') goto yy263; + goto yy198; } yy262: YYDEBUG(262, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy199; - } else { - if (yych <= '9') goto yy263; - if (yych <= ':') goto yy264; - goto yy199; - } + yych = *++YYCURSOR; + if (yych <= '/') goto yy198; + if (yych <= '9') goto yy288; + goto yy198; yy263: YYDEBUG(263, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy199; - if (yych <= '9') goto yy289; - goto yy199; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy264; + if (yych <= '9') goto yy265; + goto yy56; yy264: YYDEBUG(264, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy265; - if (yych <= '9') goto yy266; - goto yy57; -yy265: - YYDEBUG(265, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy267; - goto yy223; + if (yych == '.') goto yy266; + goto yy222; } else { - if (yych <= '9') goto yy282; - if (yych <= ':') goto yy267; - goto yy223; + if (yych <= '9') goto yy281; + if (yych <= ':') goto yy266; + goto yy222; } -yy266: - YYDEBUG(266, *YYCURSOR); +yy265: + YYDEBUG(265, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy267; - if (yych != ':') goto yy223; + 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); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy268; - if (yych <= '6') goto yy269; - if (yych <= '9') goto yy228; - goto yy57; + if (yych <= '/') goto yy222; + if (yych <= '9') goto yy269; + goto yy222; yy268: YYDEBUG(268, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy223; - if (yych <= '9') goto yy270; - goto yy223; + if (yych != '0') goto yy222; yy269: YYDEBUG(269, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '0') goto yy223; -yy270: - YYDEBUG(270, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '*') { if (yych <= 0x1F) { - if (yych == '\t') goto yy272; - goto yy223; + if (yych == '\t') goto yy271; + goto yy222; } else { - if (yych <= ' ') goto yy272; - if (yych == '(') goto yy272; - goto yy223; + if (yych <= ' ') goto yy271; + if (yych == '(') goto yy271; + goto yy222; } } else { if (yych <= '@') { - if (yych == ',') goto yy223; - if (yych <= '-') goto yy272; - goto yy223; + if (yych == ',') goto yy222; + if (yych <= '-') goto yy271; + goto yy222; } else { - if (yych <= 'Z') goto yy272; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy272; - goto yy223; + if (yych <= 'Z') goto yy271; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy271; + goto yy222; } } -yy271: - YYDEBUG(271, *YYCURSOR); +yy270: + YYDEBUG(270, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; -yy272: - YYDEBUG(272, *YYCURSOR); +yy271: + YYDEBUG(271, *YYCURSOR); if (yych <= '@') { if (yych <= '\'') { if (yych <= '\t') { - if (yych <= 0x08) goto yy57; - goto yy271; + if (yych <= 0x08) goto yy56; + goto yy270; } else { - if (yych == ' ') goto yy271; - goto yy57; + if (yych == ' ') goto yy270; + goto yy56; } } else { if (yych <= '+') { - if (yych <= '(') goto yy234; - if (yych <= '*') goto yy57; - goto yy233; + if (yych <= '(') goto yy233; + if (yych <= '*') goto yy56; + goto yy232; } else { - if (yych == '-') goto yy233; - goto yy57; + if (yych == '-') goto yy232; + goto yy56; } } } else { if (yych <= 'Z') { if (yych <= 'G') { - if (yych <= 'A') goto yy273; - if (yych <= 'F') goto yy235; - goto yy232; + if (yych <= 'A') goto yy272; + if (yych <= 'F') goto yy234; + goto yy231; } else { - if (yych != 'P') goto yy235; + if (yych != 'P') goto yy234; } } else { if (yych <= 'o') { - if (yych <= '`') goto yy57; - if (yych <= 'a') goto yy274; - goto yy236; + if (yych <= '`') goto yy56; + if (yych <= 'a') goto yy273; + goto yy235; } else { - if (yych <= 'p') goto yy274; - if (yych <= 'z') goto yy236; - goto yy57; + if (yych <= 'p') goto yy273; + if (yych <= 'z') goto yy235; + goto yy56; } } } -yy273: - YYDEBUG(273, *YYCURSOR); +yy272: + YYDEBUG(272, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= '.') goto yy275; - if (yych <= '@') goto yy223; - goto yy237; + if (yych <= '.') goto yy274; + if (yych <= '@') goto yy222; + goto yy236; } } else { if (yych <= '`') { - if (yych <= 'M') goto yy276; - if (yych <= 'Z') goto yy237; - goto yy223; + if (yych <= 'M') goto yy275; + if (yych <= 'Z') goto yy236; + goto yy222; } else { - if (yych == 'm') goto yy281; - if (yych <= 'z') goto yy242; - goto yy223; + if (yych == 'm') goto yy280; + if (yych <= 'z') goto yy241; + goto yy222; } } -yy274: - YYDEBUG(274, *YYCURSOR); +yy273: + YYDEBUG(273, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= '.') goto yy275; - if (yych <= '@') goto yy223; - goto yy237; + if (yych <= '.') goto yy274; + if (yych <= '@') goto yy222; + goto yy236; } } else { if (yych <= '`') { - if (yych <= 'M') goto yy276; - if (yych <= 'Z') goto yy237; - goto yy223; + if (yych <= 'M') goto yy275; + if (yych <= 'Z') goto yy236; + goto yy222; } else { - if (yych == 'm') goto yy276; - if (yych <= 'z') goto yy237; - goto yy223; + if (yych == 'm') goto yy275; + if (yych <= 'z') goto yy236; + goto yy222; } } +yy274: + YYDEBUG(274, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'M') goto yy279; + if (yych == 'm') goto yy279; + goto yy56; yy275: YYDEBUG(275, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'M') goto yy280; - if (yych == 'm') goto yy280; - goto yy57; -yy276: - YYDEBUG(276, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { if (yych <= '\t') { - if (yych <= 0x00) goto yy278; - if (yych <= 0x08) goto yy223; - goto yy278; + if (yych <= 0x00) goto yy277; + if (yych <= 0x08) goto yy222; + goto yy277; } else { - if (yych == ' ') goto yy278; - if (yych <= '(') goto yy223; - goto yy228; + if (yych == ' ') goto yy277; + if (yych <= '(') goto yy222; + goto yy227; } } else { if (yych <= '@') { - if (yych != '.') goto yy223; + if (yych != '.') goto yy222; } else { - if (yych <= 'Z') goto yy238; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy238; - goto yy223; + if (yych <= 'Z') goto yy237; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy237; + goto yy222; } } -yy277: - YYDEBUG(277, *YYCURSOR); +yy276: + YYDEBUG(276, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy278; - if (yych <= 0x08) goto yy57; + if (yych <= 0x00) goto yy277; + if (yych <= 0x08) goto yy56; } else { - if (yych != ' ') goto yy57; + if (yych != ' ') goto yy56; } -yy278: - YYDEBUG(278, *YYCURSOR); +yy277: + YYDEBUG(277, *YYCURSOR); ++YYCURSOR; - YYDEBUG(279, *YYCURSOR); + YYDEBUG(278, *YYCURSOR); #line 1660 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); @@ -5200,184 +5181,184 @@ yy278: TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 5204 "ext/date/lib/parse_date.c" -yy280: - YYDEBUG(280, *YYCURSOR); +#line 5185 "ext/date/lib/parse_date.c" +yy279: + YYDEBUG(279, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy278; - if (yych == '\t') goto yy278; - goto yy57; + if (yych <= 0x00) goto yy277; + if (yych == '\t') goto yy277; + goto yy56; } else { - if (yych <= ' ') goto yy278; - if (yych == '.') goto yy277; - goto yy57; + if (yych <= ' ') goto yy277; + if (yych == '.') goto yy276; + goto yy56; } -yy281: - YYDEBUG(281, *YYCURSOR); +yy280: + YYDEBUG(280, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= 0x1F) { - if (yych <= 0x00) goto yy278; - if (yych == '\t') goto yy278; - goto yy223; + if (yych <= 0x00) goto yy277; + if (yych == '\t') goto yy277; + goto yy222; } else { if (yych <= '(') { - if (yych <= ' ') goto yy278; - goto yy223; + if (yych <= ' ') goto yy277; + goto yy222; } else { - if (yych <= ')') goto yy228; - if (yych <= ',') goto yy223; - goto yy244; + if (yych <= ')') goto yy227; + if (yych <= ',') goto yy222; + goto yy243; } } } else { if (yych <= 'Z') { - if (yych <= '.') goto yy277; - if (yych <= '/') goto yy244; - if (yych <= '@') goto yy223; - goto yy238; + if (yych <= '.') goto yy276; + if (yych <= '/') goto yy243; + if (yych <= '@') goto yy222; + goto yy237; } else { if (yych <= '_') { - if (yych <= '^') goto yy223; - goto yy244; + if (yych <= '^') goto yy222; + goto yy243; } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy243; - goto yy223; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy242; + goto yy222; } } } -yy282: - YYDEBUG(282, *YYCURSOR); +yy281: + YYDEBUG(281, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy283; - if (yych <= 0x1F) goto yy223; + if (yych == '\t') goto yy282; + if (yych <= 0x1F) goto yy222; } else { - if (yych == '.') goto yy267; - if (yych <= '9') goto yy223; - goto yy267; + if (yych == '.') goto yy266; + if (yych <= '9') goto yy222; + goto yy266; } } else { if (yych <= 'P') { - if (yych == 'A') goto yy285; - if (yych <= 'O') goto yy223; - goto yy285; + if (yych == 'A') goto yy284; + if (yych <= 'O') goto yy222; + goto yy284; } else { if (yych <= 'a') { - if (yych <= '`') goto yy223; - goto yy285; + if (yych <= '`') goto yy222; + goto yy284; } else { - if (yych == 'p') goto yy285; - goto yy223; + if (yych == 'p') goto yy284; + goto yy222; } } } -yy283: - YYDEBUG(283, *YYCURSOR); +yy282: + YYDEBUG(282, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; - YYDEBUG(284, *YYCURSOR); + YYDEBUG(283, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { - if (yych == '\t') goto yy283; - goto yy57; + if (yych == '\t') goto yy282; + goto yy56; } else { - if (yych <= ' ') goto yy283; - if (yych <= '@') goto yy57; + if (yych <= ' ') goto yy282; + if (yych <= '@') goto yy56; } } else { if (yych <= '`') { - if (yych != 'P') goto yy57; + if (yych != 'P') goto yy56; } else { - if (yych <= 'a') goto yy285; - if (yych != 'p') goto yy57; + if (yych <= 'a') goto yy284; + if (yych != 'p') goto yy56; } } -yy285: - YYDEBUG(285, *YYCURSOR); +yy284: + YYDEBUG(284, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { - if (yych != '.') goto yy57; + if (yych != '.') goto yy56; } else { - if (yych <= 'M') goto yy287; - if (yych == 'm') goto yy287; - goto yy57; + 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 == 'M') goto yy287; - if (yych != 'm') goto yy57; + 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 <= 0x1F) { - if (yych <= 0x00) goto yy278; - if (yych == '\t') goto yy278; - goto yy57; + if (yych <= '\t') { + if (yych <= 0x00) goto yy277; + if (yych <= 0x08) goto yy56; + goto yy277; } else { - if (yych <= ' ') goto yy278; - if (yych != '.') goto yy57; + if (yych == ' ') goto yy277; + goto yy56; } yy288: YYDEBUG(288, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy278; - if (yych <= 0x08) goto yy57; - goto yy278; - } else { - if (yych == ' ') goto yy278; - goto yy57; - } -yy289: + if (yych <= '/') goto yy198; + if (yych >= ':') goto yy198; YYDEBUG(289, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy199; - if (yych >= ':') goto yy199; + goto yy198; +yy290: YYDEBUG(290, *YYCURSOR); - yych = *++YYCURSOR; - goto yy199; -yy291: - YYDEBUG(291, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy199; + if (yych == '.') goto yy220; + goto yy198; } else { - if (yych <= '9') goto yy289; - if (yych <= ':') goto yy221; - goto yy199; + if (yych <= '9') goto yy288; + if (yych <= ':') goto yy220; + goto yy198; } -yy292: - YYDEBUG(292, *YYCURSOR); +yy291: + YYDEBUG(291, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy199; + if (yych == '.') goto yy263; + goto yy198; } else { - if (yych <= '9') goto yy289; - if (yych <= ':') goto yy264; - goto yy199; + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + ++YYCURSOR; yy294: YYDEBUG(294, *YYCURSOR); - ++YYCURSOR; -yy295: - YYDEBUG(295, *YYCURSOR); #line 1354 "ext/date/lib/parse_date.re" { int length = 0; @@ -5391,1226 +5372,1226 @@ yy295: TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 5395 "ext/date/lib/parse_date.c" -yy296: - YYDEBUG(296, *YYCURSOR); +#line 5376 "ext/date/lib/parse_date.c" +yy295: + YYDEBUG(295, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy57; + if (yych == '.') goto yy220; + goto yy56; } else { - if (yych <= '9') goto yy294; - if (yych <= ':') goto yy221; - goto yy57; + if (yych <= '9') goto yy293; + if (yych <= ':') goto yy220; + goto yy56; } -yy297: - YYDEBUG(297, *YYCURSOR); +yy296: + YYDEBUG(296, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; + if (yych == '.') goto yy263; + goto yy56; } else { - if (yych <= '9') goto yy294; - if (yych <= ':') goto yy264; - goto yy57; + if (yych <= '9') goto yy293; + if (yych <= ':') goto yy263; + goto yy56; } -yy298: - YYDEBUG(298, *YYCURSOR); +yy297: + YYDEBUG(297, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { - if (yych == '.') goto yy331; - goto yy216; + if (yych == '.') goto yy330; + goto yy215; } else { - if (yych <= '0') goto yy332; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; + if (yych <= '0') goto yy331; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy221; - if (yych == 'n') goto yy212; - goto yy216; + if (yych <= ':') goto yy220; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy299: - YYDEBUG(299, *YYCURSOR); +yy298: + YYDEBUG(298, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { - if (yych != '.') goto yy216; + if (yych != '.') goto yy215; } else { - if (yych <= '0') goto yy301; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; + if (yych <= '0') goto yy300; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy264; - if (yych == 'n') goto yy212; - goto yy216; + if (yych <= ':') goto yy263; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy300: - YYDEBUG(300, *YYCURSOR); +yy299: + YYDEBUG(299, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy306; - goto yy307; + 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 <= '2') goto yy308; - if (yych <= '5') goto yy309; - if (yych <= '9') goto yy310; - goto yy216; + if (yych <= '0') goto yy303; + if (yych <= '9') goto yy304; + if (yych <= ':') goto yy263; + goto yy56; } yy301: YYDEBUG(301, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; + if (yych == '.') goto yy263; + goto yy56; } else { - if (yych <= '0') goto yy304; - if (yych <= '9') goto yy305; - if (yych <= ':') goto yy264; - goto yy57; + if (yych <= '2') goto yy304; + if (yych <= '9') goto yy303; + if (yych <= ':') goto yy263; + goto yy56; } yy302: YYDEBUG(302, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; + if (yych == '.') goto yy263; + goto yy56; } else { - if (yych <= '2') goto yy305; - if (yych <= '9') goto yy304; - if (yych <= ':') goto yy264; - goto yy57; + if (yych <= '4') goto yy303; + if (yych <= '9') goto yy293; + if (yych <= ':') goto yy263; + goto yy56; } yy303: YYDEBUG(303, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy264; - goto yy57; - } else { - if (yych <= '4') goto yy304; - if (yych <= '9') goto yy294; - if (yych <= ':') goto yy264; - goto yy57; - } + 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 yy221; - if (yych == ':') goto yy221; - goto yy295; + if (yych == '.') goto yy263; + if (yych == ':') goto yy263; + goto yy294; yy305: YYDEBUG(305, *YYCURSOR); - yyaccept = 8; + yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy264; - if (yych == ':') goto yy264; - goto yy295; + 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 yy326; - goto yy199; + if (yych == '.') goto yy310; + goto yy198; } else { - if (yych <= '0') goto yy325; - if (yych <= '9') goto yy330; - if (yych <= ':') goto yy326; - goto yy199; + 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 yy311; - goto yy199; + if (yych == '.') goto yy310; + goto yy198; } else { - if (yych <= '2') goto yy330; - if (yych <= '9') goto yy325; - if (yych <= ':') goto yy311; - goto yy199; + 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 yy311; - goto yy199; + if (yych == '.') goto yy310; + goto yy198; } else { - if (yych <= '4') goto yy325; - if (yych <= '9') goto yy324; - if (yych <= ':') goto yy311; - goto yy199; + 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 yy311; - goto yy199; + if (yych != '.') goto yy198; } else { - if (yych <= '9') goto yy324; - if (yych <= ':') goto yy311; - goto yy199; + if (yych <= '9') goto yy262; + if (yych >= ';') goto yy198; } yy310: YYDEBUG(310, *YYCURSOR); - yyaccept = 6; + 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 yy199; + if (yych == '.') goto yy266; + goto yy222; } else { - if (yych <= '9') goto yy263; - if (yych >= ';') goto yy199; + if (yych <= '9') goto yy313; + if (yych <= ':') goto yy266; + goto yy222; } -yy311: - YYDEBUG(311, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy312; - if (yych <= '6') goto yy313; - if (yych <= '9') goto yy266; - goto yy57; yy312: YYDEBUG(312, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy267; - goto yy223; + if (yych == '.') goto yy266; + goto yy222; } else { - if (yych <= '9') goto yy314; - if (yych <= ':') goto yy267; - goto yy223; + if (yych <= '0') goto yy269; + if (yych == ':') goto yy266; + goto yy222; } yy313: YYDEBUG(313, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy267; - goto yy223; - } else { - if (yych <= '0') goto yy270; - if (yych == ':') goto yy267; - goto yy223; - } -yy314: - YYDEBUG(314, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ' ') { - if (yych == '\t') goto yy316; - if (yych <= 0x1F) goto yy223; - goto yy316; + if (yych == '\t') goto yy315; + if (yych <= 0x1F) goto yy222; + goto yy315; } else { if (yych <= '(') { - if (yych <= '\'') goto yy223; - goto yy316; + if (yych <= '\'') goto yy222; + goto yy315; } else { - if (yych == '+') goto yy316; - goto yy223; + if (yych == '+') goto yy315; + goto yy222; } } } else { if (yych <= ':') { - if (yych <= '-') goto yy316; - if (yych <= '.') goto yy267; - if (yych <= '9') goto yy223; - goto yy267; + if (yych <= '-') goto yy315; + if (yych <= '.') goto yy266; + if (yych <= '9') goto yy222; + goto yy266; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy223; - goto yy316; + if (yych <= '@') goto yy222; + goto yy315; } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy316; - goto yy223; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy315; + goto yy222; } } } -yy315: - YYDEBUG(315, *YYCURSOR); +yy314: + YYDEBUG(314, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; -yy316: - YYDEBUG(316, *YYCURSOR); +yy315: + YYDEBUG(315, *YYCURSOR); if (yych <= '@') { if (yych <= '\'') { if (yych <= '\t') { - if (yych <= 0x08) goto yy57; - goto yy315; + if (yych <= 0x08) goto yy56; + goto yy314; } else { - if (yych == ' ') goto yy315; - goto yy57; + if (yych == ' ') goto yy314; + goto yy56; } } else { if (yych <= '+') { - if (yych <= '(') goto yy234; - if (yych <= '*') goto yy57; - goto yy233; + if (yych <= '(') goto yy233; + if (yych <= '*') goto yy56; + goto yy232; } else { - if (yych == '-') goto yy233; - goto yy57; + if (yych == '-') goto yy232; + goto yy56; } } } else { if (yych <= 'Z') { if (yych <= 'G') { - if (yych <= 'A') goto yy317; - if (yych <= 'F') goto yy235; - goto yy232; + if (yych <= 'A') goto yy316; + if (yych <= 'F') goto yy234; + goto yy231; } else { - if (yych != 'P') goto yy235; + if (yych != 'P') goto yy234; } } else { if (yych <= 'o') { - if (yych <= '`') goto yy57; - if (yych <= 'a') goto yy318; - goto yy236; + if (yych <= '`') goto yy56; + if (yych <= 'a') goto yy317; + goto yy235; } else { - if (yych <= 'p') goto yy318; - if (yych <= 'z') goto yy236; - goto yy57; + if (yych <= 'p') goto yy317; + if (yych <= 'z') goto yy235; + goto yy56; } } } -yy317: - YYDEBUG(317, *YYCURSOR); +yy316: + YYDEBUG(316, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= '.') goto yy320; - if (yych <= '@') goto yy223; - goto yy237; + if (yych <= '.') goto yy319; + if (yych <= '@') goto yy222; + goto yy236; } } else { if (yych <= '`') { - if (yych <= 'M') goto yy319; - if (yych <= 'Z') goto yy237; - goto yy223; + if (yych <= 'M') goto yy318; + if (yych <= 'Z') goto yy236; + goto yy222; } else { - if (yych == 'm') goto yy323; - if (yych <= 'z') goto yy242; - goto yy223; + if (yych == 'm') goto yy322; + if (yych <= 'z') goto yy241; + goto yy222; } } -yy318: - YYDEBUG(318, *YYCURSOR); +yy317: + YYDEBUG(317, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= '.') goto yy320; - if (yych <= '@') goto yy223; - goto yy237; + if (yych <= '.') goto yy319; + if (yych <= '@') goto yy222; + goto yy236; } } else { if (yych <= '`') { - if (yych <= 'M') goto yy319; - if (yych <= 'Z') goto yy237; - goto yy223; + if (yych <= 'M') goto yy318; + if (yych <= 'Z') goto yy236; + goto yy222; } else { - if (yych == 'm') goto yy319; - if (yych <= 'z') goto yy237; - goto yy223; + if (yych == 'm') goto yy318; + if (yych <= 'z') goto yy236; + goto yy222; } } -yy319: - YYDEBUG(319, *YYCURSOR); +yy318: + YYDEBUG(318, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { if (yych <= '\t') { - if (yych <= 0x00) goto yy278; - if (yych <= 0x08) goto yy223; - goto yy278; + if (yych <= 0x00) goto yy277; + if (yych <= 0x08) goto yy222; + goto yy277; } else { - if (yych == ' ') goto yy278; - if (yych <= '(') goto yy223; - goto yy228; + if (yych == ' ') goto yy277; + if (yych <= '(') goto yy222; + goto yy227; } } else { if (yych <= '@') { - if (yych == '.') goto yy322; - goto yy223; + if (yych == '.') goto yy321; + goto yy222; } else { - if (yych <= 'Z') goto yy238; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy238; - goto yy223; + if (yych <= 'Z') goto yy237; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy237; + goto yy222; } } +yy319: + YYDEBUG(319, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'M') goto yy320; + if (yych != 'm') goto yy56; yy320: YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy321; - if (yych != 'm') goto yy57; -yy321: - YYDEBUG(321, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy278; - if (yych == '\t') goto yy278; - goto yy57; + if (yych <= 0x00) goto yy277; + if (yych == '\t') goto yy277; + goto yy56; } else { - if (yych <= ' ') goto yy278; - if (yych != '.') goto yy57; + if (yych <= ' ') goto yy277; + if (yych != '.') goto yy56; } -yy322: - YYDEBUG(322, *YYCURSOR); +yy321: + YYDEBUG(321, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy278; - if (yych <= 0x08) goto yy57; - goto yy278; + if (yych <= 0x00) goto yy277; + if (yych <= 0x08) goto yy56; + goto yy277; } else { - if (yych == ' ') goto yy278; - goto yy57; + if (yych == ' ') goto yy277; + goto yy56; } -yy323: - YYDEBUG(323, *YYCURSOR); +yy322: + YYDEBUG(322, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= 0x1F) { - if (yych <= 0x00) goto yy278; - if (yych == '\t') goto yy278; - goto yy223; + if (yych <= 0x00) goto yy277; + if (yych == '\t') goto yy277; + goto yy222; } else { if (yych <= '(') { - if (yych <= ' ') goto yy278; - goto yy223; + if (yych <= ' ') goto yy277; + goto yy222; } else { - if (yych <= ')') goto yy228; - if (yych <= ',') goto yy223; - goto yy244; + if (yych <= ')') goto yy227; + if (yych <= ',') goto yy222; + goto yy243; } } } else { if (yych <= 'Z') { - if (yych <= '.') goto yy322; - if (yych <= '/') goto yy244; - if (yych <= '@') goto yy223; - goto yy238; + if (yych <= '.') goto yy321; + if (yych <= '/') goto yy243; + if (yych <= '@') goto yy222; + goto yy237; } else { if (yych <= '_') { - if (yych <= '^') goto yy223; - goto yy244; + if (yych <= '^') goto yy222; + goto yy243; } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy243; - goto yy223; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy242; + goto yy222; } } } -yy324: - YYDEBUG(324, *YYCURSOR); +yy323: + YYDEBUG(323, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy283; - if (yych <= 0x1F) goto yy199; - goto yy283; + if (yych == '\t') goto yy282; + if (yych <= 0x1F) goto yy198; + goto yy282; } else { if (yych <= '.') { - if (yych <= '-') goto yy199; - goto yy267; + if (yych <= '-') goto yy198; + goto yy266; } else { - if (yych <= '/') goto yy199; - if (yych <= '9') goto yy289; - goto yy267; + if (yych <= '/') goto yy198; + if (yych <= '9') goto yy288; + goto yy266; } } } else { if (yych <= 'P') { - if (yych == 'A') goto yy285; - if (yych <= 'O') goto yy199; - goto yy285; + if (yych == 'A') goto yy284; + if (yych <= 'O') goto yy198; + goto yy284; } else { if (yych <= 'a') { - if (yych <= '`') goto yy199; - goto yy285; + if (yych <= '`') goto yy198; + goto yy284; } else { - if (yych == 'p') goto yy285; - goto yy199; + if (yych == 'p') goto yy284; + goto yy198; } } } -yy325: - YYDEBUG(325, *YYCURSOR); +yy324: + YYDEBUG(324, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy283; - if (yych <= 0x1F) goto yy199; - goto yy283; + if (yych == '\t') goto yy282; + if (yych <= 0x1F) goto yy198; + goto yy282; } else { if (yych <= '.') { - if (yych <= '-') goto yy199; + if (yych <= '-') goto yy198; } else { - if (yych <= '/') goto yy199; - if (yych <= '9') goto yy289; + if (yych <= '/') goto yy198; + if (yych <= '9') goto yy288; } } } else { if (yych <= 'P') { - if (yych == 'A') goto yy285; - if (yych <= 'O') goto yy199; - goto yy285; + if (yych == 'A') goto yy284; + if (yych <= 'O') goto yy198; + goto yy284; } else { if (yych <= 'a') { - if (yych <= '`') goto yy199; - goto yy285; + if (yych <= '`') goto yy198; + goto yy284; } else { - if (yych == 'p') goto yy285; - goto yy199; + if (yych == 'p') goto yy284; + goto yy198; } } } +yy325: + YYDEBUG(325, *YYCURSOR); + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy327; - if (yych <= '6') goto yy328; - if (yych <= '9') goto yy224; - goto yy57; -yy327: - YYDEBUG(327, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy225; - goto yy223; + if (yych == '.') goto yy224; + goto yy222; } else { - if (yych <= '9') goto yy329; - if (yych <= ':') goto yy225; - goto yy223; + if (yych <= '9') goto yy328; + if (yych <= ':') goto yy224; + goto yy222; } -yy328: - YYDEBUG(328, *YYCURSOR); +yy327: + YYDEBUG(327, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy225; - goto yy223; + if (yych == '.') goto yy224; + goto yy222; } else { - if (yych <= '0') goto yy270; - if (yych == ':') goto yy225; - goto yy223; + if (yych <= '0') goto yy269; + if (yych == ':') goto yy224; + goto yy222; } -yy329: - YYDEBUG(329, *YYCURSOR); +yy328: + YYDEBUG(328, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ' ') { - if (yych == '\t') goto yy272; - if (yych <= 0x1F) goto yy223; - goto yy272; + if (yych == '\t') goto yy271; + if (yych <= 0x1F) goto yy222; + goto yy271; } else { if (yych <= '(') { - if (yych <= '\'') goto yy223; - goto yy272; + if (yych <= '\'') goto yy222; + goto yy271; } else { - if (yych == '+') goto yy272; - goto yy223; + if (yych == '+') goto yy271; + goto yy222; } } } else { if (yych <= ':') { - if (yych <= '-') goto yy272; - if (yych <= '.') goto yy225; - if (yych <= '9') goto yy223; - goto yy225; + if (yych <= '-') goto yy271; + if (yych <= '.') goto yy224; + if (yych <= '9') goto yy222; + goto yy224; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy223; - goto yy272; + if (yych <= '@') goto yy222; + goto yy271; } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy272; - goto yy223; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy271; + goto yy222; } } } -yy330: - YYDEBUG(330, *YYCURSOR); +yy329: + YYDEBUG(329, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy283; - if (yych <= 0x1F) goto yy199; - goto yy283; + if (yych == '\t') goto yy282; + if (yych <= 0x1F) goto yy198; + goto yy282; } else { if (yych <= '.') { - if (yych <= '-') goto yy199; - goto yy311; + if (yych <= '-') goto yy198; + goto yy310; } else { - if (yych <= '/') goto yy199; - if (yych <= '9') goto yy289; - goto yy311; + if (yych <= '/') goto yy198; + if (yych <= '9') goto yy288; + goto yy310; } } } else { if (yych <= 'P') { - if (yych == 'A') goto yy285; - if (yych <= 'O') goto yy199; - goto yy285; + if (yych == 'A') goto yy284; + if (yych <= 'O') goto yy198; + goto yy284; } else { if (yych <= 'a') { - if (yych <= '`') goto yy199; - goto yy285; + if (yych <= '`') goto yy198; + goto yy284; } else { - if (yych == 'p') goto yy285; - goto yy199; + if (yych == 'p') goto yy284; + goto yy198; } } } -yy331: - YYDEBUG(331, *YYCURSOR); +yy330: + YYDEBUG(330, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy333; - goto yy334; + 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 <= '2') goto yy335; - if (yych <= '5') goto yy336; - if (yych <= '9') goto yy337; - goto yy216; + if (yych <= '0') goto yy303; + if (yych <= '9') goto yy304; + if (yych <= ':') goto yy220; + goto yy56; } yy332: YYDEBUG(332, *YYCURSOR); - yych = *++YYCURSOR; + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy221; - goto yy57; + if (yych == '.') goto yy349; + goto yy198; } else { - if (yych <= '0') goto yy304; - if (yych <= '9') goto yy305; - if (yych <= ':') goto yy221; - goto yy57; + if (yych <= '0') goto yy348; + if (yych <= '9') goto yy353; + if (yych <= ':') goto yy349; + goto yy198; } yy333: YYDEBUG(333, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy350; - goto yy199; + if (yych == '.') goto yy337; + goto yy198; } else { - if (yych <= '0') goto yy349; - if (yych <= '9') goto yy354; - if (yych <= ':') goto yy350; - goto yy199; + if (yych <= '2') goto yy353; + if (yych <= '9') goto yy348; + if (yych <= ':') goto yy337; + goto yy198; } yy334: YYDEBUG(334, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy338; - goto yy199; + if (yych == '.') goto yy337; + goto yy198; } else { - if (yych <= '2') goto yy354; - if (yych <= '9') goto yy349; - if (yych <= ':') goto yy338; - goto yy199; + if (yych <= '4') goto yy348; + if (yych <= '9') goto yy347; + if (yych <= ':') goto yy337; + goto yy198; } yy335: YYDEBUG(335, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy338; - goto yy199; + if (yych == '.') goto yy337; + goto yy198; } else { - if (yych <= '4') goto yy349; - if (yych <= '9') goto yy348; - if (yych <= ':') goto yy338; - goto yy199; + if (yych <= '9') goto yy347; + if (yych <= ':') goto yy337; + goto yy198; } yy336: YYDEBUG(336, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy338; - goto yy199; + if (yych != '.') goto yy198; } else { - if (yych <= '9') goto yy348; - if (yych <= ':') goto yy338; - goto yy199; + if (yych <= '9') goto yy262; + if (yych >= ';') goto yy198; } yy337: YYDEBUG(337, *YYCURSOR); - yyaccept = 6; + 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; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych != '.') goto yy199; + if (yych == '.') goto yy266; + goto yy222; } else { - if (yych <= '9') goto yy263; - if (yych >= ';') goto yy199; + if (yych <= '9') goto yy340; + if (yych <= ':') goto yy266; + goto yy222; } -yy338: - YYDEBUG(338, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy339; - if (yych <= '6') goto yy340; - if (yych <= '9') goto yy266; - goto yy57; yy339: YYDEBUG(339, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy267; - goto yy223; + if (yych == '.') goto yy266; + goto yy222; } else { - if (yych <= '9') goto yy341; - if (yych <= ':') goto yy267; - goto yy223; + if (yych <= '0') goto yy228; + if (yych == ':') goto yy266; + goto yy222; } yy340: YYDEBUG(340, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy267; - goto yy223; - } else { - if (yych <= '0') goto yy229; - if (yych == ':') goto yy267; - goto yy223; - } -yy341: - YYDEBUG(341, *YYCURSOR); - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ' ') { - if (yych == '\t') goto yy343; - if (yych <= 0x1F) goto yy223; - goto yy343; + if (yych == '\t') goto yy342; + if (yych <= 0x1F) goto yy222; + goto yy342; } else { if (yych <= '(') { - if (yych <= '\'') goto yy223; - goto yy343; + if (yych <= '\'') goto yy222; + goto yy342; } else { - if (yych == '+') goto yy343; - goto yy223; + if (yych == '+') goto yy342; + goto yy222; } } } else { if (yych <= ':') { - if (yych <= '-') goto yy343; - if (yych <= '.') goto yy267; - if (yych <= '9') goto yy223; - goto yy267; + if (yych <= '-') goto yy342; + if (yych <= '.') goto yy266; + if (yych <= '9') goto yy222; + goto yy266; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy223; - goto yy343; + if (yych <= '@') goto yy222; + goto yy342; } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy343; - goto yy223; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy342; + goto yy222; } } } -yy342: - YYDEBUG(342, *YYCURSOR); +yy341: + YYDEBUG(341, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; -yy343: - YYDEBUG(343, *YYCURSOR); +yy342: + YYDEBUG(342, *YYCURSOR); if (yych <= '@') { if (yych <= '\'') { if (yych <= '\t') { - if (yych <= 0x08) goto yy57; - goto yy342; + if (yych <= 0x08) goto yy56; + goto yy341; } else { - if (yych == ' ') goto yy342; - goto yy57; + if (yych == ' ') goto yy341; + goto yy56; } } else { if (yych <= '+') { - if (yych <= '(') goto yy234; - if (yych <= '*') goto yy57; - goto yy233; + if (yych <= '(') goto yy233; + if (yych <= '*') goto yy56; + goto yy232; } else { - if (yych == '-') goto yy233; - goto yy57; + if (yych == '-') goto yy232; + goto yy56; } } } else { if (yych <= 'Z') { if (yych <= 'G') { - if (yych <= 'A') goto yy344; - if (yych <= 'F') goto yy235; - goto yy232; + if (yych <= 'A') goto yy343; + if (yych <= 'F') goto yy234; + goto yy231; } else { - if (yych != 'P') goto yy235; + if (yych != 'P') goto yy234; } } else { if (yych <= 'o') { - if (yych <= '`') goto yy57; - if (yych <= 'a') goto yy345; - goto yy236; + if (yych <= '`') goto yy56; + if (yych <= 'a') goto yy344; + goto yy235; } else { - if (yych <= 'p') goto yy345; - if (yych <= 'z') goto yy236; - goto yy57; + if (yych <= 'p') goto yy344; + if (yych <= 'z') goto yy235; + goto yy56; } } } -yy344: - YYDEBUG(344, *YYCURSOR); +yy343: + YYDEBUG(343, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= '.') goto yy286; - if (yych <= '@') goto yy223; - goto yy237; + if (yych <= '.') goto yy285; + if (yych <= '@') goto yy222; + goto yy236; } } else { if (yych <= '`') { - if (yych <= 'M') goto yy346; - if (yych <= 'Z') goto yy237; - goto yy223; + if (yych <= 'M') goto yy345; + if (yych <= 'Z') goto yy236; + goto yy222; } else { - if (yych == 'm') goto yy347; - if (yych <= 'z') goto yy242; - goto yy223; + if (yych == 'm') goto yy346; + if (yych <= 'z') goto yy241; + goto yy222; } } -yy345: - YYDEBUG(345, *YYCURSOR); +yy344: + YYDEBUG(344, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { - if (yych == ')') goto yy228; - goto yy223; + if (yych == ')') goto yy227; + goto yy222; } else { - if (yych <= '.') goto yy286; - if (yych <= '@') goto yy223; - goto yy237; + if (yych <= '.') goto yy285; + if (yych <= '@') goto yy222; + goto yy236; } } else { if (yych <= '`') { - if (yych <= 'M') goto yy346; - if (yych <= 'Z') goto yy237; - goto yy223; + if (yych <= 'M') goto yy345; + if (yych <= 'Z') goto yy236; + goto yy222; } else { - if (yych == 'm') goto yy346; - if (yych <= 'z') goto yy237; - goto yy223; + if (yych == 'm') goto yy345; + if (yych <= 'z') goto yy236; + goto yy222; } } -yy346: - YYDEBUG(346, *YYCURSOR); +yy345: + YYDEBUG(345, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { if (yych <= '\t') { - if (yych <= 0x00) goto yy278; - if (yych <= 0x08) goto yy223; - goto yy278; + if (yych <= 0x00) goto yy277; + if (yych <= 0x08) goto yy222; + goto yy277; } else { - if (yych == ' ') goto yy278; - if (yych <= '(') goto yy223; - goto yy228; + if (yych == ' ') goto yy277; + if (yych <= '(') goto yy222; + goto yy227; } } else { if (yych <= '@') { - if (yych == '.') goto yy288; - goto yy223; + if (yych == '.') goto yy287; + goto yy222; } else { - if (yych <= 'Z') goto yy238; - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy238; - goto yy223; + if (yych <= 'Z') goto yy237; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy237; + goto yy222; } } -yy347: - YYDEBUG(347, *YYCURSOR); +yy346: + YYDEBUG(346, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= 0x1F) { - if (yych <= 0x00) goto yy278; - if (yych == '\t') goto yy278; - goto yy223; + if (yych <= 0x00) goto yy277; + if (yych == '\t') goto yy277; + goto yy222; } else { if (yych <= '(') { - if (yych <= ' ') goto yy278; - goto yy223; + if (yych <= ' ') goto yy277; + goto yy222; } else { - if (yych <= ')') goto yy228; - if (yych <= ',') goto yy223; - goto yy244; + if (yych <= ')') goto yy227; + if (yych <= ',') goto yy222; + goto yy243; } } } else { if (yych <= 'Z') { - if (yych <= '.') goto yy288; - if (yych <= '/') goto yy244; - if (yych <= '@') goto yy223; - goto yy238; + if (yych <= '.') goto yy287; + if (yych <= '/') goto yy243; + if (yych <= '@') goto yy222; + goto yy237; } else { if (yych <= '_') { - if (yych <= '^') goto yy223; - goto yy244; + if (yych <= '^') goto yy222; + goto yy243; } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy243; - goto yy223; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy242; + goto yy222; } } } -yy348: - YYDEBUG(348, *YYCURSOR); +yy347: + YYDEBUG(347, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy225; - goto yy199; + if (yych == '.') goto yy224; + goto yy198; } else { - if (yych <= '9') goto yy289; - if (yych <= ':') goto yy225; - goto yy199; + if (yych <= '9') goto yy288; + if (yych <= ':') goto yy224; + goto yy198; } -yy349: - YYDEBUG(349, *YYCURSOR); +yy348: + YYDEBUG(348, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych != '.') goto yy199; + if (yych != '.') goto yy198; } else { - if (yych <= '9') goto yy289; - if (yych >= ';') goto yy199; + if (yych <= '9') goto yy288; + if (yych >= ';') goto yy198; } +yy349: + YYDEBUG(349, *YYCURSOR); + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy351; - if (yych <= '6') goto yy352; - if (yych <= '9') goto yy224; - goto yy57; -yy351: - YYDEBUG(351, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy225; - goto yy223; + if (yych == '.') goto yy224; + goto yy222; } else { - if (yych <= '9') goto yy353; - if (yych <= ':') goto yy225; - goto yy223; + if (yych <= '9') goto yy352; + if (yych <= ':') goto yy224; + goto yy222; } -yy352: - YYDEBUG(352, *YYCURSOR); +yy351: + YYDEBUG(351, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy225; - goto yy223; + if (yych == '.') goto yy224; + goto yy222; } else { - if (yych <= '0') goto yy229; - if (yych == ':') goto yy225; - goto yy223; + if (yych <= '0') goto yy228; + if (yych == ':') goto yy224; + goto yy222; } -yy353: - YYDEBUG(353, *YYCURSOR); +yy352: + YYDEBUG(352, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ' ') { - if (yych == '\t') goto yy231; - if (yych <= 0x1F) goto yy223; - goto yy231; + if (yych == '\t') goto yy230; + if (yych <= 0x1F) goto yy222; + goto yy230; } else { if (yych <= '(') { - if (yych <= '\'') goto yy223; - goto yy231; + if (yych <= '\'') goto yy222; + goto yy230; } else { - if (yych == '+') goto yy231; - goto yy223; + if (yych == '+') goto yy230; + goto yy222; } } } else { if (yych <= ':') { - if (yych <= '-') goto yy231; - if (yych <= '.') goto yy225; - if (yych <= '9') goto yy223; - goto yy225; + if (yych <= '-') goto yy230; + if (yych <= '.') goto yy224; + if (yych <= '9') goto yy222; + goto yy224; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy223; - goto yy231; + if (yych <= '@') goto yy222; + goto yy230; } else { - if (yych <= '`') goto yy223; - if (yych <= 'z') goto yy231; - goto yy223; + if (yych <= '`') goto yy222; + if (yych <= 'z') goto yy230; + goto yy222; } } } -yy354: - YYDEBUG(354, *YYCURSOR); +yy353: + YYDEBUG(353, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy338; - goto yy199; + if (yych == '.') goto yy337; + goto yy198; } else { - if (yych <= '9') goto yy289; - if (yych <= ':') goto yy338; - goto yy199; + if (yych <= '9') goto yy288; + if (yych <= ':') goto yy337; + goto yy198; } -yy355: - YYDEBUG(355, *YYCURSOR); +yy354: + YYDEBUG(354, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { - if (yych == '.') goto yy300; - goto yy216; + if (yych == '.') goto yy299; + goto yy215; } else { - if (yych <= '0') goto yy332; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; + if (yych <= '0') goto yy331; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy264; - if (yych == 'n') goto yy212; - goto yy216; + if (yych <= ':') goto yy263; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy356: - YYDEBUG(356, *YYCURSOR); +yy355: + YYDEBUG(355, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { - if (yych == '.') goto yy300; - goto yy216; + if (yych == '.') goto yy299; + goto yy215; } else { - if (yych <= '0') goto yy332; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; + if (yych <= '0') goto yy331; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy264; - if (yych == 'n') goto yy212; - goto yy216; + if (yych <= ':') goto yy263; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy357: - YYDEBUG(357, *YYCURSOR); +yy356: + YYDEBUG(356, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy360; - goto yy361; + if (yych <= '/') goto yy215; + if (yych <= '0') goto yy359; + goto yy360; } else { - if (yych <= '2') goto yy368; - if (yych <= '9') goto yy369; - goto yy216; + if (yych <= '2') goto yy367; + if (yych <= '9') goto yy368; + goto yy215; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy212; - if (yych <= 'q') goto yy216; - goto yy213; + if (yych <= 'n') goto yy211; + if (yych <= 'q') goto yy215; + goto yy212; } else { - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy358: - YYDEBUG(358, *YYCURSOR); +yy357: + YYDEBUG(357, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych <= '0') goto yy360; - goto yy361; + if (yych <= '/') goto yy215; + if (yych <= '0') goto yy359; + goto yy360; } else { - if (yych <= '2') goto yy368; - if (yych <= '9') goto yy369; - goto yy216; + if (yych <= '2') goto yy367; + if (yych <= '9') goto yy368; + goto yy215; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy212; - if (yych <= 'q') goto yy216; - goto yy213; + if (yych <= 'n') goto yy211; + if (yych <= 'q') goto yy215; + goto yy212; } else { - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy359: - YYDEBUG(359, *YYCURSOR); +yy358: + YYDEBUG(358, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { - if (yych <= '/') goto yy216; - if (yych >= '1') goto yy361; + if (yych <= '/') goto yy215; + if (yych >= '1') goto yy360; } else { - if (yych <= '2') goto yy209; - if (yych <= '9') goto yy210; - goto yy216; + if (yych <= '2') goto yy208; + if (yych <= '9') goto yy209; + goto yy215; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy212; - if (yych <= 'q') goto yy216; - goto yy213; + if (yych <= 'n') goto yy211; + if (yych <= 'q') goto yy215; + goto yy212; } else { - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy360: - YYDEBUG(360, *YYCURSOR); +yy359: + YYDEBUG(359, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { - if (yych <= ',') goto yy216; - if (yych <= '-') goto yy362; - if (yych <= '.') goto yy331; - goto yy216; + if (yych <= ',') goto yy215; + if (yych <= '-') goto yy361; + if (yych <= '.') goto yy330; + goto yy215; } else { - if (yych <= '0') goto yy332; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; + if (yych <= '0') goto yy331; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy221; - if (yych == 'n') goto yy212; - goto yy216; + if (yych <= ':') goto yy220; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy361: - YYDEBUG(361, *YYCURSOR); +yy360: + YYDEBUG(360, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { - if (yych <= ',') goto yy216; - if (yych <= '-') goto yy362; - if (yych <= '.') goto yy300; - goto yy216; + if (yych <= ',') goto yy215; + if (yych <= '-') goto yy361; + if (yych <= '.') goto yy299; + goto yy215; } else { - if (yych <= '0') goto yy301; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; + if (yych <= '0') goto yy300; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy264; - if (yych == 'n') goto yy212; - goto yy216; + if (yych <= ':') goto yy263; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy362: - YYDEBUG(362, *YYCURSOR); +yy361: + YYDEBUG(361, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(363, *YYCURSOR); + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + YYDEBUG(362, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy364; - if (yych <= '9') goto yy365; -yy364: - YYDEBUG(364, *YYCURSOR); + if ((yych = *YYCURSOR) <= '/') goto yy363; + if (yych <= '9') goto yy364; +yy363: + YYDEBUG(363, *YYCURSOR); #line 1498 "ext/date/lib/parse_date.re" { int length = 0; @@ -6624,644 +6605,644 @@ yy364: TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 6628 "ext/date/lib/parse_date.c" -yy365: +#line 6609 "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 yy364; - if (yych >= ':') goto yy364; + if (yych <= '/') goto yy363; + if (yych >= ':') goto yy363; YYDEBUG(366, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy364; - if (yych >= ':') goto yy364; + goto yy363; +yy367: YYDEBUG(367, *YYCURSOR); - yych = *++YYCURSOR; - goto yy364; -yy368: - YYDEBUG(368, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { - if (yych <= ',') goto yy216; - if (yych <= '-') goto yy362; - if (yych <= '.') goto yy300; - goto yy216; + if (yych <= ',') goto yy215; + if (yych <= '-') goto yy361; + if (yych <= '.') goto yy299; + goto yy215; } else { - if (yych <= '0') goto yy332; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; + if (yych <= '0') goto yy331; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy264; - if (yych == 'n') goto yy212; - goto yy216; + if (yych <= ':') goto yy263; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy369: - YYDEBUG(369, *YYCURSOR); +yy368: + YYDEBUG(368, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { - if (yych <= ',') goto yy216; - if (yych <= '-') goto yy362; - if (yych <= '.') goto yy300; - goto yy216; + if (yych <= ',') goto yy215; + if (yych <= '-') goto yy361; + if (yych <= '.') goto yy299; + goto yy215; } else { - if (yych <= '0') goto yy332; - if (yych <= '1') goto yy302; - if (yych <= '2') goto yy303; - goto yy297; + if (yych <= '0') goto yy331; + if (yych <= '1') goto yy301; + if (yych <= '2') goto yy302; + goto yy296; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy264; - if (yych == 'n') goto yy212; - goto yy216; + if (yych <= ':') goto yy263; + if (yych == 'n') goto yy211; + goto yy215; } else { - if (yych <= 'r') goto yy213; - if (yych <= 's') goto yy211; - if (yych <= 't') goto yy214; - goto yy216; + if (yych <= 'r') goto yy212; + if (yych <= 's') goto yy210; + if (yych <= 't') goto yy213; + goto yy215; } } -yy370: - YYDEBUG(370, *YYCURSOR); +yy369: + YYDEBUG(369, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'C') goto yy193; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'C') goto yy192; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'b') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'c') goto yy371; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'c') goto yy370; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy371: - YYDEBUG(371, *YYCURSOR); +yy370: + YYDEBUG(370, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; } else { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'D') { - if (yych <= '@') goto yy194; - goto yy143; + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'E') goto yy202; - if (yych <= 'Z') goto yy143; - goto yy194; + if (yych <= 'E') goto yy201; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { if (yych <= 'd') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'e') goto yy373; - if (yych <= 'z') goto yy151; - goto yy194; + if (yych <= 'e') goto yy372; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy372: - YYDEBUG(372, *YYCURSOR); +yy371: + YYDEBUG(371, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 8) { - goto yy149; + goto yy148; } - if (yych <= '/') goto yy196; - if (yych <= '0') goto yy357; - if (yych <= '2') goto yy358; - if (yych <= '3') goto yy359; - goto yy196; -yy373: - YYDEBUG(373, *YYCURSOR); + 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 yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'M') goto yy203; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'M') goto yy202; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'l') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'm') goto yy374; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'm') goto yy373; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy374: - YYDEBUG(374, *YYCURSOR); +yy373: + YYDEBUG(373, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'B') goto yy204; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'B') goto yy203; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'a') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'b') goto yy375; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'b') goto yy374; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy375: - YYDEBUG(375, *YYCURSOR); +yy374: + YYDEBUG(374, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { - if (yych <= 'E') goto yy205; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= 'E') goto yy204; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych == 'e') goto yy376; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych == 'e') goto yy375; + if (yych <= 'z') goto yy153; + goto yy3; } } +yy375: + YYDEBUG(375, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy205; + if (yych != 'r') goto yy154; yy376: YYDEBUG(376, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy206; - if (yych != 'r') goto yy155; -yy377: - YYDEBUG(377, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy153; } if (yych <= '-') { if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy194; + if (yych == '\t') goto yy195; + goto yy193; } else { - if (yych <= ' ') goto yy196; - if (yych <= ',') goto yy194; + if (yych <= ' ') goto yy195; + if (yych <= ',') goto yy193; } } else { if (yych <= '9') { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } else { - if (yych == '_') goto yy148; - goto yy194; + if (yych == '_') goto yy147; + goto yy193; } } -yy378: - YYDEBUG(378, *YYCURSOR); +yy377: + YYDEBUG(377, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 8) { - goto yy149; + goto yy148; } - goto yy196; -yy379: - YYDEBUG(379, *YYCURSOR); + goto yy195; +yy378: + YYDEBUG(378, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy141; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 't') goto yy380; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 't') goto yy379; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy380: - YYDEBUG(380, *YYCURSOR); +yy379: + YYDEBUG(379, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych != 'O') goto yy143; + if (yych != 'O') goto yy142; } } else { if (yych <= 'n') { - if (yych <= '`') goto yy194; - goto yy143; + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 'o') goto yy381; - if (yych <= 'z') goto yy143; - goto yy194; + if (yych <= 'o') goto yy380; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy381: - YYDEBUG(381, *YYCURSOR); +yy380: + YYDEBUG(380, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'A') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy143; } } else { if (yych <= 'a') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'b') goto yy382; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'b') goto yy381; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy382: - YYDEBUG(382, *YYCURSOR); +yy381: + YYDEBUG(381, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy144; } } else { if (yych <= 'd') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'e') goto yy383; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'e') goto yy382; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy383: - YYDEBUG(383, *YYCURSOR); +yy382: + YYDEBUG(382, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Q') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'R') goto yy206; - if (yych == 'r') goto yy206; - goto yy4; + if (yych <= 'R') goto yy205; + if (yych == 'r') goto yy205; + goto yy3; } -yy384: - YYDEBUG(384, *YYCURSOR); +yy383: + YYDEBUG(383, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'T') goto yy380; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'T') goto yy379; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 't') goto yy385; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 't') goto yy384; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy385: - YYDEBUG(385, *YYCURSOR); +yy384: + YYDEBUG(384, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'N') { - if (yych <= '@') goto yy194; - goto yy143; + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'O') goto yy381; - if (yych <= 'Z') goto yy143; - goto yy194; + if (yych <= 'O') goto yy380; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { if (yych <= 'n') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'o') goto yy386; - if (yych <= 'z') goto yy151; - goto yy194; + if (yych <= 'o') goto yy385; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy386: - YYDEBUG(386, *YYCURSOR); +yy385: + YYDEBUG(385, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'B') goto yy382; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'B') goto yy381; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'a') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'b') goto yy387; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'b') goto yy386; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy387: - YYDEBUG(387, *YYCURSOR); +yy386: + YYDEBUG(386, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'E') goto yy383; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'E') goto yy382; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'e') goto yy388; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'e') goto yy387; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy388: - YYDEBUG(388, *YYCURSOR); +yy387: + YYDEBUG(387, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { - if (yych <= 'R') goto yy206; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= 'R') goto yy205; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych == 'r') goto yy377; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych == 'r') goto yy376; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy389: - YYDEBUG(389, *YYCURSOR); +yy388: + YYDEBUG(388, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'F') goto yy142; - goto yy397; + if (yych <= '@') goto yy3; + if (yych <= 'F') goto yy141; + goto yy396; } } else { if (yych <= 'f') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'g') goto yy397; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'g') goto yy396; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy390: - YYDEBUG(390, *YYCURSOR); +yy389: + YYDEBUG(389, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy142; - goto yy394; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy141; + goto yy393; } } else { if (yych <= 'q') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'r') goto yy394; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'r') goto yy393; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy391: - YYDEBUG(391, *YYCURSOR); +yy390: + YYDEBUG(390, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'N') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'N') goto yy141; } } else { if (yych <= 'n') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'o') goto yy392; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'o') goto yy391; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy392: - YYDEBUG(392, *YYCURSOR); +yy391: + YYDEBUG(391, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy140; + if (yych == ')') goto yy139; } else { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy393; - if (yych <= 'z') goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy392; + if (yych <= 'z') goto yy142; } -yy393: - YYDEBUG(393, *YYCURSOR); +yy392: + YYDEBUG(392, *YYCURSOR); #line 1556 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("ago"); @@ -7282,1756 +7263,1756 @@ yy393: TIMELIB_DEINIT; return TIMELIB_AGO; } -#line 7286 "ext/date/lib/parse_date.c" -yy394: - YYDEBUG(394, *YYCURSOR); +#line 7267 "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 yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych != 'I') goto yy143; + if (yych != 'I') goto yy142; } } else { if (yych <= 'h') { - if (yych <= '`') goto yy194; - goto yy143; + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 'i') goto yy395; - if (yych <= 'z') goto yy143; - goto yy194; + if (yych <= 'i') goto yy394; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy395: - YYDEBUG(395, *YYCURSOR); +yy394: + YYDEBUG(394, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'K') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'K') goto yy143; } } else { if (yych <= 'k') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'l') goto yy396; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'l') goto yy395; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy396: - YYDEBUG(396, *YYCURSOR); +yy395: + YYDEBUG(395, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy194; + if (yych == '\t') goto yy195; + goto yy193; } else { - if (yych <= ' ') goto yy196; - if (yych == ')') goto yy140; - goto yy194; + if (yych <= ' ') goto yy195; + if (yych == ')') goto yy139; + goto yy193; } } else { if (yych <= '@') { - if (yych == '/') goto yy194; - if (yych <= '9') goto yy196; - goto yy194; + if (yych == '/') goto yy193; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy194; - if (yych <= 'z') goto yy145; - goto yy194; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy144; + goto yy193; } } -yy397: - YYDEBUG(397, *YYCURSOR); +yy396: + YYDEBUG(396, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych != 'U') goto yy143; + if (yych != 'U') goto yy142; } } else { if (yych <= 't') { - if (yych <= '`') goto yy194; - goto yy143; + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 'u') goto yy398; - if (yych <= 'z') goto yy143; - goto yy194; + if (yych <= 'u') goto yy397; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy398: - YYDEBUG(398, *YYCURSOR); +yy397: + YYDEBUG(397, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'R') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy143; } } else { if (yych <= 'r') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 's') goto yy399; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 's') goto yy398; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy399: - YYDEBUG(399, *YYCURSOR); +yy398: + YYDEBUG(398, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy144; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 't') goto yy400; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 't') goto yy399; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy400: - YYDEBUG(400, *YYCURSOR); +yy399: + YYDEBUG(399, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '.') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy196; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy195; } else { - if (yych <= '/') goto yy194; - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '/') goto yy193; + if (yych <= '9') goto yy195; + goto yy193; } } -yy401: - YYDEBUG(401, *YYCURSOR); +yy400: + YYDEBUG(400, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'G') goto yy397; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'G') goto yy396; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'f') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'g') goto yy408; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'g') goto yy407; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy402: - YYDEBUG(402, *YYCURSOR); +yy401: + YYDEBUG(401, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'R') goto yy394; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'R') goto yy393; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'r') goto yy405; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'r') goto yy404; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy403: - YYDEBUG(403, *YYCURSOR); +yy402: + YYDEBUG(402, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'O') goto yy392; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'O') goto yy391; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'n') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'o') goto yy404; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'o') goto yy403; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy404: - YYDEBUG(404, *YYCURSOR); +yy403: + YYDEBUG(403, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy393; + if (yych == ')') goto yy139; + goto yy392; } else { - if (yych == '.') goto yy393; - goto yy148; + if (yych == '.') goto yy392; + goto yy147; } } else { if (yych <= '^') { - if (yych <= '@') goto yy393; - if (yych <= 'Z') goto yy143; - goto yy393; + if (yych <= '@') goto yy392; + if (yych <= 'Z') goto yy142; + goto yy392; } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy393; - if (yych <= 'z') goto yy151; - goto yy393; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy392; + if (yych <= 'z') goto yy150; + goto yy392; } } -yy405: - YYDEBUG(405, *YYCURSOR); +yy404: + YYDEBUG(404, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'H') { - if (yych <= '@') goto yy194; - goto yy143; + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'I') goto yy395; - if (yych <= 'Z') goto yy143; - goto yy194; + if (yych <= 'I') goto yy394; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { if (yych <= 'h') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'i') goto yy406; - if (yych <= 'z') goto yy151; - goto yy194; + if (yych <= 'i') goto yy405; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy406: - YYDEBUG(406, *YYCURSOR); +yy405: + YYDEBUG(405, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'K') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'L') goto yy396; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'L') goto yy395; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'k') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'l') goto yy407; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'l') goto yy406; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy407: - YYDEBUG(407, *YYCURSOR); +yy406: + YYDEBUG(406, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy194; - goto yy196; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy193; + goto yy195; } else { if (yych <= ')') { - if (yych <= '(') goto yy194; - goto yy140; + if (yych <= '(') goto yy193; + goto yy139; } else { - if (yych <= ',') goto yy194; - if (yych <= '-') goto yy378; - goto yy196; + if (yych <= ',') goto yy193; + if (yych <= '-') goto yy377; + goto yy195; } } } else { if (yych <= 'Z') { - if (yych <= '/') goto yy148; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy194; - goto yy145; + if (yych <= '/') goto yy147; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy193; + goto yy144; } else { if (yych <= '_') { - if (yych <= '^') goto yy194; - goto yy148; + if (yych <= '^') goto yy193; + goto yy147; } else { - if (yych <= '`') goto yy194; - if (yych <= 'z') goto yy153; - goto yy194; + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy152; + goto yy193; } } } -yy408: - YYDEBUG(408, *YYCURSOR); +yy407: + YYDEBUG(407, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'T') { - if (yych <= '@') goto yy194; - goto yy143; + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'U') goto yy398; - if (yych <= 'Z') goto yy143; - goto yy194; + if (yych <= 'U') goto yy397; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { if (yych <= 't') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'u') goto yy409; - if (yych <= 'z') goto yy151; - goto yy194; + if (yych <= 'u') goto yy408; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy409: - YYDEBUG(409, *YYCURSOR); +yy408: + YYDEBUG(408, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'S') goto yy399; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'S') goto yy398; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'r') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 's') goto yy410; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 's') goto yy409; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy410: - YYDEBUG(410, *YYCURSOR); +yy409: + YYDEBUG(409, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'T') goto yy400; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'T') goto yy399; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 't') goto yy411; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 't') goto yy410; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy411: - YYDEBUG(411, *YYCURSOR); +yy410: + YYDEBUG(410, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy153; } if (yych <= ',') { if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy194; + if (yych == '\t') goto yy195; + goto yy193; } else { - if (yych <= ' ') goto yy196; - if (yych == ')') goto yy140; - goto yy194; + if (yych <= ' ') goto yy195; + if (yych == ')') goto yy139; + goto yy193; } } else { if (yych <= '/') { - if (yych <= '-') goto yy378; - if (yych <= '.') goto yy196; - goto yy148; + if (yych <= '-') goto yy377; + if (yych <= '.') goto yy195; + goto yy147; } else { - if (yych <= '9') goto yy196; - if (yych == '_') goto yy148; - goto yy194; + if (yych <= '9') goto yy195; + if (yych == '_') goto yy147; + goto yy193; } } -yy412: - YYDEBUG(412, *YYCURSOR); +yy411: + YYDEBUG(411, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == 'L') goto yy419; - if (yych <= 'M') goto yy142; - goto yy418; + if (yych == 'L') goto yy418; + if (yych <= 'M') goto yy141; + goto yy417; } } else { if (yych <= 'l') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'k') goto yy142; - goto yy419; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych <= 'k') goto yy141; + goto yy418; } else { - if (yych == 'n') goto yy418; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych == 'n') goto yy417; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy413: - YYDEBUG(413, *YYCURSOR); +yy412: + YYDEBUG(412, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy141; } } else { if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'n') goto yy414; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'n') goto yy413; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy414: - YYDEBUG(414, *YYCURSOR); +yy413: + YYDEBUG(413, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych != 'U') goto yy143; + if (yych != 'U') goto yy142; } } else { if (yych <= 't') { - if (yych <= '`') goto yy194; - goto yy143; + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 'u') goto yy415; - if (yych <= 'z') goto yy143; - goto yy194; + if (yych <= 'u') goto yy414; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy415: - YYDEBUG(415, *YYCURSOR); +yy414: + YYDEBUG(414, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy144; - goto yy4; + if (yych <= 'Z') goto yy143; + goto yy3; } else { - if (yych <= 'a') goto yy416; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'a') goto yy415; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy416: - YYDEBUG(416, *YYCURSOR); +yy415: + YYDEBUG(415, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy144; } } else { if (yych <= 'q') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'r') goto yy417; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'r') goto yy416; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy417: - YYDEBUG(417, *YYCURSOR); +yy416: + YYDEBUG(416, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'Y') goto yy206; - if (yych == 'y') goto yy206; - goto yy4; + if (yych <= 'Y') goto yy205; + if (yych == 'y') goto yy205; + goto yy3; } -yy418: - YYDEBUG(418, *YYCURSOR); +yy417: + YYDEBUG(417, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych == 'E') goto yy420; - goto yy143; + if (yych == 'E') goto yy419; + goto yy142; } } else { if (yych <= 'd') { - if (yych <= '`') goto yy194; - goto yy143; + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 'e') goto yy420; - if (yych <= 'z') goto yy143; - goto yy194; + if (yych <= 'e') goto yy419; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy419: - YYDEBUG(419, *YYCURSOR); +yy418: + YYDEBUG(418, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych != 'Y') goto yy143; + if (yych != 'Y') goto yy142; } } else { if (yych <= 'x') { - if (yych <= '`') goto yy194; - goto yy143; + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 'y') goto yy420; - if (yych <= 'z') goto yy143; - goto yy194; + if (yych <= 'y') goto yy419; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy420: - YYDEBUG(420, *YYCURSOR); +yy419: + YYDEBUG(419, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy194; + if (yych == '\t') goto yy195; + goto yy193; } else { - if (yych <= ' ') goto yy196; - if (yych == ')') goto yy140; - goto yy194; + if (yych <= ' ') goto yy195; + if (yych == ')') goto yy139; + goto yy193; } } else { if (yych <= '@') { - if (yych == '/') goto yy194; - if (yych <= '9') goto yy196; - goto yy194; + if (yych == '/') goto yy193; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy194; - if (yych <= 'z') goto yy144; - goto yy194; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy143; + goto yy193; } } -yy421: - YYDEBUG(421, *YYCURSOR); +yy420: + YYDEBUG(420, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '-') goto yy148; - goto yy4; + if (yych == '-') goto yy147; + goto yy3; } } else { if (yych <= '@') { - if (yych <= '/') goto yy148; - goto yy4; + if (yych <= '/') goto yy147; + goto yy3; } else { - if (yych == 'L') goto yy419; - goto yy142; + if (yych == 'L') goto yy418; + goto yy141; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'N') goto yy418; - goto yy142; + if (yych <= 'N') goto yy417; + goto yy141; } else { - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } } else { if (yych <= 'm') { - if (yych == 'l') goto yy428; - goto yy147; + if (yych == 'l') goto yy427; + goto yy146; } else { - if (yych <= 'n') goto yy427; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'n') goto yy426; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy422: - YYDEBUG(422, *YYCURSOR); +yy421: + YYDEBUG(421, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'N') goto yy414; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'N') goto yy413; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'n') goto yy423; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'n') goto yy422; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy423: - YYDEBUG(423, *YYCURSOR); +yy422: + YYDEBUG(422, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'T') { - if (yych <= '@') goto yy194; - goto yy143; + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'U') goto yy415; - if (yych <= 'Z') goto yy143; - goto yy194; + if (yych <= 'U') goto yy414; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { if (yych <= 't') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'u') goto yy424; - if (yych <= 'z') goto yy151; - goto yy194; + if (yych <= 'u') goto yy423; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy424: - YYDEBUG(424, *YYCURSOR); +yy423: + YYDEBUG(423, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '_') { - if (yych <= 'A') goto yy416; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'A') goto yy415; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy425; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy424; + if (yych <= 'z') goto yy151; + goto yy3; } } -yy425: - YYDEBUG(425, *YYCURSOR); +yy424: + YYDEBUG(424, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'R') goto yy417; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'R') goto yy416; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'r') goto yy426; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'r') goto yy425; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy426: - YYDEBUG(426, *YYCURSOR); +yy425: + YYDEBUG(425, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { - if (yych <= 'Y') goto yy206; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= 'Y') goto yy205; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych == 'y') goto yy377; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych == 'y') goto yy376; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy427: - YYDEBUG(427, *YYCURSOR); +yy426: + YYDEBUG(426, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'D') { - if (yych <= '@') goto yy194; - goto yy143; + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'E') goto yy420; - if (yych <= 'Z') goto yy143; - goto yy194; + if (yych <= 'E') goto yy419; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { if (yych <= 'd') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'e') goto yy429; - if (yych <= 'z') goto yy151; - goto yy194; + if (yych <= 'e') goto yy428; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy428: - YYDEBUG(428, *YYCURSOR); +yy427: + YYDEBUG(427, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'X') { - if (yych <= '@') goto yy194; - goto yy143; + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'Y') goto yy420; - if (yych <= 'Z') goto yy143; - goto yy194; + if (yych <= 'Y') goto yy419; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { if (yych <= 'x') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 'y') goto yy429; - if (yych <= 'z') goto yy151; - goto yy194; + if (yych <= 'y') goto yy428; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy429: - YYDEBUG(429, *YYCURSOR); +yy428: + YYDEBUG(428, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy194; - goto yy196; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy193; + goto yy195; } else { if (yych <= ')') { - if (yych <= '(') goto yy194; - goto yy140; + if (yych <= '(') goto yy193; + goto yy139; } else { - if (yych <= ',') goto yy194; - if (yych <= '-') goto yy378; - goto yy196; + if (yych <= ',') goto yy193; + if (yych <= '-') goto yy377; + goto yy195; } } } else { if (yych <= 'Z') { - if (yych <= '/') goto yy148; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy194; - goto yy144; + if (yych <= '/') goto yy147; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy193; + goto yy143; } else { if (yych <= '_') { - if (yych <= '^') goto yy194; - goto yy148; + if (yych <= '^') goto yy193; + goto yy147; } else { - if (yych <= '`') goto yy194; - if (yych <= 'z') goto yy152; - goto yy194; + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy151; + goto yy193; } } } -yy430: - YYDEBUG(430, *YYCURSOR); +yy429: + YYDEBUG(429, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy4; - goto yy196; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy3; + goto yy195; } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy196; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy195; } } else { if (yych <= 'H') { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy4; - goto yy142; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy3; + goto yy141; } else { if (yych <= 'Z') { - if (yych >= 'J') goto yy142; + if (yych >= 'J') goto yy141; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy141; + goto yy3; } } } -yy431: - YYDEBUG(431, *YYCURSOR); +yy430: + YYDEBUG(430, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy4; + if (yych == '\t') goto yy195; + goto yy3; } else { - if (yych <= ' ') goto yy196; - if (yych == ')') goto yy140; - goto yy4; + if (yych <= ' ') goto yy195; + if (yych == ')') goto yy139; + goto yy3; } } else { if (yych <= '@') { - if (yych == '/') goto yy4; - if (yych <= '9') goto yy196; - goto yy4; + if (yych == '/') goto yy3; + if (yych <= '9') goto yy195; + goto yy3; } else { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy432: - YYDEBUG(432, *YYCURSOR); +yy431: + YYDEBUG(431, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy4; - goto yy196; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy3; + goto yy195; } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy196; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy195; } } else { if (yych <= 'H') { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy4; - goto yy142; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy3; + goto yy141; } else { if (yych <= 'Z') { - if (yych >= 'J') goto yy142; + if (yych >= 'J') goto yy141; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy141; + goto yy3; } } } - YYDEBUG(433, *YYCURSOR); + YYDEBUG(432, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy4; - goto yy196; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy3; + goto yy195; } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy196; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy195; } } else { if (yych <= 'H') { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy4; - goto yy143; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy3; + goto yy142; } else { if (yych <= 'Z') { - if (yych >= 'J') goto yy143; + if (yych >= 'J') goto yy142; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy142; + goto yy3; } } } - YYDEBUG(434, *YYCURSOR); + YYDEBUG(433, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy4; + if (yych == '\t') goto yy195; + goto yy3; } else { - if (yych <= ' ') goto yy196; - if (yych == ')') goto yy140; - goto yy4; + if (yych <= ' ') goto yy195; + if (yych == ')') goto yy139; + goto yy3; } } else { if (yych <= '@') { - if (yych == '/') goto yy4; - if (yych <= '9') goto yy196; - goto yy4; + if (yych == '/') goto yy3; + if (yych <= '9') goto yy195; + goto yy3; } else { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy435: - YYDEBUG(435, *YYCURSOR); +yy434: + YYDEBUG(434, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { - if (yych == '\t') goto yy196; - goto yy4; + if (yych == '\t') goto yy195; + goto yy3; } else { - if (yych <= ' ') goto yy196; - if (yych == ')') goto yy140; - goto yy4; + if (yych <= ' ') goto yy195; + if (yych == ')') goto yy139; + goto yy3; } } else { if (yych <= '@') { - if (yych == '/') goto yy4; - if (yych <= '9') goto yy196; - goto yy4; + if (yych == '/') goto yy3; + if (yych <= '9') goto yy195; + goto yy3; } else { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy436: - YYDEBUG(436, *YYCURSOR); +yy435: + YYDEBUG(435, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy4; - goto yy196; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy3; + goto yy195; } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy196; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy195; } } else { if (yych <= 'H') { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy4; - goto yy142; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy3; + goto yy141; } else { if (yych <= 'Z') { - if (yych <= 'I') goto yy431; - goto yy142; + if (yych <= 'I') goto yy430; + goto yy141; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy141; + goto yy3; } } } -yy437: - YYDEBUG(437, *YYCURSOR); +yy436: + YYDEBUG(436, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; } else { if (yych <= '9') { - if (yych <= '/') goto yy4; - goto yy457; + if (yych <= '/') goto yy3; + goto yy456; } else { - if (yych <= ':') goto yy163; - if (yych <= 'C') goto yy4; - goto yy61; + if (yych <= ':') goto yy162; + if (yych <= 'C') goto yy3; + goto yy60; } } } else { if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy4; - goto yy61; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy3; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy4; - goto yy61; + if (yych <= 'L') goto yy3; + goto yy60; } else { - if (yych <= 'R') goto yy4; - if (yych <= 'T') goto yy61; - goto yy4; + if (yych <= 'R') goto yy3; + if (yych <= 'T') goto yy60; + goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy4; - if (yych <= 'Y') goto yy61; - goto yy4; + if (yych == 'X') goto yy3; + if (yych <= 'Y') goto yy60; + goto yy3; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy4; + if (yych <= 'd') goto yy60; + goto yy3; } else { - if (yych == 'g') goto yy4; - goto yy61; + if (yych == 'g') goto yy3; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; + if (yych <= 'v') goto yy3; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy4; + if (yych == 'y') goto yy60; + goto yy3; } } } } -yy438: - YYDEBUG(438, *YYCURSOR); +yy437: + YYDEBUG(437, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; } else { if (yych <= '4') { - if (yych <= '/') goto yy4; - goto yy457; + if (yych <= '/') goto yy3; + goto yy456; } else { - if (yych <= '5') goto yy442; - if (yych <= '9') goto yy443; - goto yy163; + if (yych <= '5') goto yy441; + if (yych <= '9') goto yy442; + goto yy162; } } } else { if (yych <= 'G') { if (yych <= 'D') { - if (yych <= 'C') goto yy4; - goto yy61; + if (yych <= 'C') goto yy3; + goto yy60; } else { - if (yych == 'F') goto yy61; - goto yy4; + if (yych == 'F') goto yy60; + goto yy3; } } else { if (yych <= 'L') { - if (yych <= 'H') goto yy61; - goto yy4; + if (yych <= 'H') goto yy60; + goto yy3; } else { - if (yych <= 'M') goto yy61; - if (yych <= 'R') goto yy4; - goto yy61; + if (yych <= 'M') goto yy60; + if (yych <= 'R') goto yy3; + goto yy60; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { - if (yych == 'W') goto yy61; - if (yych <= 'X') goto yy4; - goto yy61; + if (yych == 'W') goto yy60; + if (yych <= 'X') goto yy3; + goto yy60; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy4; - goto yy61; + if (yych <= 'c') goto yy3; + goto yy60; } else { - if (yych == 'f') goto yy61; - goto yy4; + if (yych == 'f') goto yy60; + goto yy3; } } } else { if (yych <= 't') { if (yych <= 'l') { - if (yych <= 'h') goto yy61; - goto yy4; + if (yych <= 'h') goto yy60; + goto yy3; } else { - if (yych <= 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; + if (yych <= 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; } } else { if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; + if (yych <= 'v') goto yy3; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy4; + if (yych == 'y') goto yy60; + goto yy3; } } } } -yy439: - YYDEBUG(439, *YYCURSOR); +yy438: + YYDEBUG(438, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= 'C') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; } else { if (yych <= '5') { - if (yych <= '/') goto yy4; - goto yy442; + if (yych <= '/') goto yy3; + goto yy441; } else { - if (yych <= '9') goto yy443; - if (yych <= ':') goto yy163; - goto yy4; + if (yych <= '9') goto yy442; + if (yych <= ':') goto yy162; + goto yy3; } } } else { if (yych <= 'G') { - if (yych == 'E') goto yy4; - if (yych <= 'F') goto yy61; - goto yy4; + if (yych == 'E') goto yy3; + if (yych <= 'F') goto yy60; + goto yy3; } else { if (yych <= 'L') { - if (yych <= 'H') goto yy61; - goto yy4; + if (yych <= 'H') goto yy60; + goto yy3; } else { - if (yych <= 'M') goto yy61; - if (yych <= 'R') goto yy4; - goto yy61; + if (yych <= 'M') goto yy60; + if (yych <= 'R') goto yy3; + goto yy60; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { - if (yych == 'W') goto yy61; - if (yych <= 'X') goto yy4; - goto yy61; + if (yych == 'W') goto yy60; + if (yych <= 'X') goto yy3; + goto yy60; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy4; - goto yy61; + if (yych <= 'c') goto yy3; + goto yy60; } else { - if (yych == 'f') goto yy61; - goto yy4; + if (yych == 'f') goto yy60; + goto yy3; } } } else { if (yych <= 't') { if (yych <= 'l') { - if (yych <= 'h') goto yy61; - goto yy4; + if (yych <= 'h') goto yy60; + goto yy3; } else { - if (yych <= 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; + if (yych <= 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; } } else { if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; + if (yych <= 'v') goto yy3; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy4; + if (yych == 'y') goto yy60; + goto yy3; } } } } -yy440: - YYDEBUG(440, *YYCURSOR); +yy439: + YYDEBUG(439, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - YYDEBUG(441, *YYCURSOR); + YYDEBUG(440, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy58; + goto yy57; } if (yych <= ',') { - if (yych == '+') goto yy440; - goto yy57; + if (yych == '+') goto yy439; + goto yy56; } else { - if (yych <= '-') goto yy440; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy55; - goto yy57; + if (yych <= '-') goto yy439; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy54; + goto yy56; } -yy442: - YYDEBUG(442, *YYCURSOR); +yy441: + YYDEBUG(441, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; } else { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy456; - if (yych <= 'C') goto yy4; - goto yy61; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy455; + if (yych <= 'C') goto yy3; + goto yy60; } } else { if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy4; - goto yy61; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy3; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy4; - goto yy61; + if (yych <= 'L') goto yy3; + goto yy60; } else { - if (yych <= 'R') goto yy4; - if (yych <= 'T') goto yy61; - goto yy4; + if (yych <= 'R') goto yy3; + if (yych <= 'T') goto yy60; + goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy4; - if (yych <= 'Y') goto yy61; - goto yy4; + if (yych == 'X') goto yy3; + if (yych <= 'Y') goto yy60; + goto yy3; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy4; + if (yych <= 'd') goto yy60; + goto yy3; } else { - if (yych == 'g') goto yy4; - goto yy61; + if (yych == 'g') goto yy3; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; + if (yych <= 'v') goto yy3; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy4; + if (yych == 'y') goto yy60; + goto yy3; } } } } -yy443: - YYDEBUG(443, *YYCURSOR); +yy442: + YYDEBUG(442, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; } else { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy444; - if (yych <= 'C') goto yy4; - goto yy61; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy443; + if (yych <= 'C') goto yy3; + goto yy60; } } else { if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy4; - goto yy61; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy3; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy4; - goto yy61; + if (yych <= 'L') goto yy3; + goto yy60; } else { - if (yych <= 'R') goto yy4; - if (yych <= 'T') goto yy61; - goto yy4; + if (yych <= 'R') goto yy3; + if (yych <= 'T') goto yy60; + goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy4; - if (yych <= 'Y') goto yy61; - goto yy4; + if (yych == 'X') goto yy3; + if (yych <= 'Y') goto yy60; + goto yy3; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy4; + if (yych <= 'd') goto yy60; + goto yy3; } else { - if (yych == 'g') goto yy4; - goto yy61; + if (yych == 'g') goto yy3; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; + if (yych <= 'v') goto yy3; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy4; + if (yych == 'y') goto yy60; + goto yy3; } } } } +yy443: + YYDEBUG(443, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych >= ':') goto yy60; yy444: YYDEBUG(444, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych >= ':') goto yy61; + if (yybm[0+yych] & 2) { + goto yy54; + } + if (yych != '-') goto yy60; yy445: YYDEBUG(445, *YYCURSOR); yych = *++YYCURSOR; - if (yybm[0+yych] & 2) { - goto yy55; - } - if (yych != '-') goto yy61; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy446; + if (yych <= '1') goto yy447; + goto yy56; yy446: YYDEBUG(446, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy447; - if (yych <= '1') goto yy448; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy448; + goto yy56; yy447: YYDEBUG(447, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy449; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; yy448: YYDEBUG(448, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '3') goto yy57; -yy449: + if (yych != '-') goto yy56; YYDEBUG(449, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '-') goto yy57; + 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); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy451; - if (yych <= '2') goto yy452; - if (yych <= '3') goto yy453; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy453; + goto yy56; yy451: YYDEBUG(451, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy454; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy453; + goto yy56; yy452: YYDEBUG(452, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy454; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '2') goto yy56; yy453: YYDEBUG(453, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '2') goto yy57; + ++YYCURSOR; yy454: YYDEBUG(454, *YYCURSOR); - ++YYCURSOR; -yy455: - YYDEBUG(455, *YYCURSOR); #line 1259 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); @@ -9043,505 +9024,505 @@ yy455: TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 9047 "ext/date/lib/parse_date.c" -yy456: - YYDEBUG(456, *YYCURSOR); +#line 9028 "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 yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; } else { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy445; - if (yych <= 'C') goto yy4; - goto yy61; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy444; + if (yych <= 'C') goto yy3; + goto yy60; } } else { if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy4; - goto yy61; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy3; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy4; - goto yy61; + if (yych <= 'L') goto yy3; + goto yy60; } else { - if (yych <= 'R') goto yy4; - if (yych <= 'T') goto yy61; - goto yy4; + if (yych <= 'R') goto yy3; + if (yych <= 'T') goto yy60; + goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy4; - if (yych <= 'Y') goto yy61; - goto yy4; + if (yych == 'X') goto yy3; + if (yych <= 'Y') goto yy60; + goto yy3; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy4; + if (yych <= 'd') goto yy60; + goto yy3; } else { - if (yych == 'g') goto yy4; - goto yy61; + if (yych == 'g') goto yy3; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; + if (yych <= 'v') goto yy3; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy4; + if (yych == 'y') goto yy60; + goto yy3; } } } } -yy457: - YYDEBUG(457, *YYCURSOR); +yy456: + YYDEBUG(456, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= 'C') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; } else { if (yych <= '5') { - if (yych <= '/') goto yy4; + if (yych <= '/') goto yy3; } else { - if (yych <= '9') goto yy456; - if (yych <= ':') goto yy163; - goto yy4; + if (yych <= '9') goto yy455; + if (yych <= ':') goto yy162; + goto yy3; } } } else { if (yych <= 'G') { - if (yych == 'E') goto yy4; - if (yych <= 'F') goto yy61; - goto yy4; + if (yych == 'E') goto yy3; + if (yych <= 'F') goto yy60; + goto yy3; } else { if (yych <= 'L') { - if (yych <= 'H') goto yy61; - goto yy4; + if (yych <= 'H') goto yy60; + goto yy3; } else { - if (yych <= 'M') goto yy61; - if (yych <= 'R') goto yy4; - goto yy61; + if (yych <= 'M') goto yy60; + if (yych <= 'R') goto yy3; + goto yy60; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { - if (yych == 'W') goto yy61; - if (yych <= 'X') goto yy4; - goto yy61; + if (yych == 'W') goto yy60; + if (yych <= 'X') goto yy3; + goto yy60; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy4; - goto yy61; + if (yych <= 'c') goto yy3; + goto yy60; } else { - if (yych == 'f') goto yy61; - goto yy4; + if (yych == 'f') goto yy60; + goto yy3; } } } else { if (yych <= 't') { if (yych <= 'l') { - if (yych <= 'h') goto yy61; - goto yy4; + if (yych <= 'h') goto yy60; + goto yy3; } else { - if (yych <= 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; + if (yych <= 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; } } else { if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; + if (yych <= 'v') goto yy3; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy4; + if (yych == 'y') goto yy60; + goto yy3; } } } } - YYDEBUG(458, *YYCURSOR); + YYDEBUG(457, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; } else { - if (yych <= '/') goto yy4; - if (yych <= '9') goto yy459; - if (yych <= 'C') goto yy4; - goto yy61; + if (yych <= '/') goto yy3; + if (yych <= '9') goto yy458; + if (yych <= 'C') goto yy3; + goto yy60; } } else { if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy4; - goto yy61; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy3; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy4; - goto yy61; + if (yych <= 'L') goto yy3; + goto yy60; } else { - if (yych <= 'R') goto yy4; - if (yych <= 'T') goto yy61; - goto yy4; + if (yych <= 'R') goto yy3; + if (yych <= 'T') goto yy60; + goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy4; - if (yych <= 'Y') goto yy61; - goto yy4; + if (yych == 'X') goto yy3; + if (yych <= 'Y') goto yy60; + goto yy3; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy4; + if (yych <= 'd') goto yy60; + goto yy3; } else { - if (yych == 'g') goto yy4; - goto yy61; + if (yych == 'g') goto yy3; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; + if (yych <= 'v') goto yy3; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy4; + if (yych == 'y') goto yy60; + goto yy3; } } } } -yy459: - YYDEBUG(459, *YYCURSOR); +yy458: + YYDEBUG(458, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { - goto yy55; + goto yy54; } if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy4; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy3; + goto yy60; } else { - if (yych == '-') goto yy446; - if (yych <= 'C') goto yy4; - goto yy61; + if (yych == '-') goto yy445; + if (yych <= 'C') goto yy3; + goto yy60; } } else { if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy4; - goto yy61; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy3; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy4; - goto yy61; + if (yych <= 'L') goto yy3; + goto yy60; } else { - if (yych <= 'R') goto yy4; - if (yych <= 'T') goto yy61; - goto yy4; + if (yych <= 'R') goto yy3; + if (yych <= 'T') goto yy60; + goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy4; - if (yych <= 'Y') goto yy61; - goto yy4; + if (yych == 'X') goto yy3; + if (yych <= 'Y') goto yy60; + goto yy3; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy4; + if (yych <= 'd') goto yy60; + goto yy3; } else { - if (yych == 'g') goto yy4; - goto yy61; + if (yych == 'g') goto yy3; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy4; - goto yy61; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy3; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy4; - goto yy61; + if (yych <= 'v') goto yy3; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy4; + if (yych == 'y') goto yy60; + goto yy3; } } } } +yy459: + YYDEBUG(459, *YYCURSOR); + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy462; - if (yych <= '0') goto yy736; - if (yych <= '1') goto yy737; - if (yych <= '9') goto yy738; - goto yy462; -yy461: - YYDEBUG(461, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; -yy462: - YYDEBUG(462, *YYCURSOR); +yy461: + YYDEBUG(461, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': - case ' ': goto yy461; + case ' ': goto yy460; case '-': - case '.': goto yy577; + case '.': goto yy576; case 'A': - case 'a': goto yy480; + case 'a': goto yy479; case 'D': - case 'd': goto yy466; + case 'd': goto yy465; case 'F': - case 'f': goto yy467; + case 'f': goto yy466; case 'H': - case 'h': goto yy64; - case 'I': goto yy475; + case 'h': goto yy63; + case 'I': goto yy474; case 'J': - case 'j': goto yy479; + case 'j': goto yy478; case 'M': - case 'm': goto yy465; + case 'm': goto yy464; case 'N': - case 'n': goto yy482; + case 'n': goto yy481; case 'O': - case 'o': goto yy481; + case 'o': goto yy480; case 'P': - case 'p': goto yy484; + case 'p': goto yy483; case 'S': - case 's': goto yy463; + case 's': goto yy462; case 'T': - case 't': goto yy69; - case 'V': goto yy477; + case 't': goto yy68; + case 'V': goto yy476; case 'W': - case 'w': goto yy68; - case 'X': goto yy478; + case 'w': goto yy67; + case 'X': goto yy477; case 'Y': - case 'y': goto yy67; - default: goto yy57; + case 'y': goto yy66; + default: goto yy56; } -yy463: - YYDEBUG(463, *YYCURSOR); +yy462: + YYDEBUG(462, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { - if (yych == 'A') goto yy127; - goto yy57; + if (yych == 'A') goto yy126; + goto yy56; } else { - if (yych <= 'E') goto yy1049; - if (yych <= 'T') goto yy57; - goto yy126; + if (yych <= 'E') goto yy1048; + if (yych <= 'T') goto yy56; + goto yy125; } } else { if (yych <= 'd') { - if (yych == 'a') goto yy127; - goto yy57; + if (yych == 'a') goto yy126; + goto yy56; } else { - if (yych <= 'e') goto yy1049; - if (yych == 'u') goto yy126; - goto yy57; + if (yych <= 'e') goto yy1048; + if (yych == 'u') goto yy125; + goto yy56; } } -yy464: - YYDEBUG(464, *YYCURSOR); +yy463: + YYDEBUG(463, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '`') { if (yych <= 'D') { - if (yych == 'A') goto yy127; - goto yy57; + if (yych == 'A') goto yy126; + goto yy56; } else { - if (yych <= 'E') goto yy1049; - if (yych == 'U') goto yy126; - goto yy57; + if (yych <= 'E') goto yy1048; + if (yych == 'U') goto yy125; + goto yy56; } } else { if (yych <= 'e') { - if (yych <= 'a') goto yy127; - if (yych <= 'd') goto yy57; - goto yy1049; + if (yych <= 'a') goto yy126; + if (yych <= 'd') goto yy56; + goto yy1048; } else { - if (yych <= 's') goto yy57; - if (yych <= 't') goto yy729; - if (yych <= 'u') goto yy126; - goto yy57; + if (yych <= 's') goto yy56; + if (yych <= 't') goto yy728; + if (yych <= 'u') goto yy125; + goto yy56; } } -yy465: - YYDEBUG(465, *YYCURSOR); +yy464: + YYDEBUG(464, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { - if (yych == 'A') goto yy592; - goto yy57; + if (yych == 'A') goto yy591; + goto yy56; } else { - if (yych <= 'I') goto yy118; - if (yych <= 'N') goto yy57; - goto yy117; + if (yych <= 'I') goto yy117; + if (yych <= 'N') goto yy56; + goto yy116; } } else { if (yych <= 'h') { - if (yych == 'a') goto yy592; - goto yy57; + if (yych == 'a') goto yy591; + goto yy56; } else { - if (yych <= 'i') goto yy118; - if (yych == 'o') goto yy117; - goto yy57; + if (yych <= 'i') goto yy117; + if (yych == 'o') goto yy116; + goto yy56; } } -yy466: - YYDEBUG(466, *YYCURSOR); +yy465: + YYDEBUG(465, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { - if (yych == 'A') goto yy114; - if (yych <= 'D') goto yy57; - goto yy579; + if (yych == 'A') goto yy113; + if (yych <= 'D') goto yy56; + goto yy578; } else { if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy114; + if (yych <= '`') goto yy56; + goto yy113; } else { - if (yych == 'e') goto yy579; - goto yy57; + if (yych == 'e') goto yy578; + goto yy56; } } -yy467: - YYDEBUG(467, *YYCURSOR); +yy466: + YYDEBUG(466, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { - if (yych == 'E') goto yy595; - goto yy57; + if (yych == 'E') goto yy594; + goto yy56; } else { - if (yych <= 'O') goto yy99; - if (yych <= 'Q') goto yy57; - goto yy98; + if (yych <= 'O') goto yy98; + if (yych <= 'Q') goto yy56; + goto yy97; } } else { if (yych <= 'n') { - if (yych == 'e') goto yy595; - goto yy57; + if (yych == 'e') goto yy594; + goto yy56; } else { - if (yych <= 'o') goto yy99; - if (yych == 'r') goto yy98; - goto yy57; + if (yych <= 'o') goto yy98; + if (yych == 'r') goto yy97; + goto yy56; } } -yy468: - YYDEBUG(468, *YYCURSOR); +yy467: + YYDEBUG(467, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'H') goto yy70; - if (yych <= 'T') goto yy57; - goto yy71; + if (yych == 'H') goto yy69; + if (yych <= 'T') goto yy56; + goto yy70; } else { if (yych <= 'h') { - if (yych <= 'g') goto yy57; - goto yy1048; + if (yych <= 'g') goto yy56; + goto yy1047; } else { - if (yych == 'u') goto yy71; - goto yy57; + if (yych == 'u') goto yy70; + goto yy56; } } +yy468: + YYDEBUG(468, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '-') goto yy741; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy740; + goto yy60; yy469: YYDEBUG(469, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '-') goto yy742; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy741; - goto yy61; -yy470: - YYDEBUG(470, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'c') { - if (yych == 'O') goto yy530; - goto yy57; + if (yych == 'O') goto yy529; + goto yy56; } else { - if (yych <= 'd') goto yy729; - if (yych == 'o') goto yy530; - goto yy57; + if (yych <= 'd') goto yy728; + if (yych == 'o') goto yy529; + goto yy56; } +yy470: + YYDEBUG(470, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'd') goto yy728; + goto yy56; yy471: YYDEBUG(471, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'd') goto yy729; - goto yy57; -yy472: - YYDEBUG(472, *YYCURSOR); - yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case '0': case '1': - case '2': goto yy666; - case '3': goto yy668; + case '2': goto yy665; + case '3': goto yy667; case '4': case '5': case '6': case '7': case '8': - case '9': goto yy669; + case '9': goto yy668; case 'A': - case 'a': goto yy673; + case 'a': goto yy672; case 'D': - case 'd': goto yy677; + case 'd': goto yy676; case 'F': - case 'f': goto yy671; + case 'f': goto yy670; case 'J': - case 'j': goto yy670; + case 'j': goto yy669; case 'M': - case 'm': goto yy672; + case 'm': goto yy671; case 'N': - case 'n': goto yy676; + case 'n': goto yy675; case 'O': - case 'o': goto yy675; + case 'o': goto yy674; case 'S': - case 's': goto yy674; - default: goto yy57; + case 's': goto yy673; + default: goto yy56; } -yy473: - YYDEBUG(473, *YYCURSOR); +yy472: + YYDEBUG(472, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { - case '0': goto yy616; - case '1': goto yy617; + case '0': goto yy615; + case '1': goto yy616; case '2': case '3': case '4': @@ -9549,60 +9530,60 @@ yy473: case '6': case '7': case '8': - case '9': goto yy618; + case '9': goto yy617; case 'A': - case 'a': goto yy622; + case 'a': goto yy621; case 'D': - case 'd': goto yy626; + case 'd': goto yy625; case 'F': - case 'f': goto yy620; + case 'f': goto yy619; case 'J': - case 'j': goto yy619; + case 'j': goto yy618; case 'M': - case 'm': goto yy621; + case 'm': goto yy620; case 'N': - case 'n': goto yy625; + case 'n': goto yy624; case 'O': - case 'o': goto yy624; + case 'o': goto yy623; case 'S': - case 's': goto yy623; - default: goto yy578; + case 's': goto yy622; + default: goto yy577; } -yy474: - YYDEBUG(474, *YYCURSOR); +yy473: + YYDEBUG(473, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '1') { - if (yych <= '/') goto yy578; - if (yych <= '0') goto yy568; - goto yy569; + if (yych <= '/') goto yy577; + if (yych <= '0') goto yy567; + goto yy568; } else { - if (yych <= '5') goto yy570; - if (yych <= '9') goto yy571; - goto yy578; + if (yych <= '5') goto yy569; + if (yych <= '9') goto yy570; + goto yy577; } -yy475: - YYDEBUG(475, *YYCURSOR); +yy474: + YYDEBUG(474, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; + if (yych == '\t') goto yy531; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '.') goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '.') goto yy531; } } else { if (yych <= 'U') { - if (yych <= '9') goto yy534; - if (yych == 'I') goto yy567; + if (yych <= '9') goto yy533; + if (yych == 'I') goto yy566; } else { - if (yych == 'W') goto yy476; - if (yych <= 'X') goto yy540; + if (yych == 'W') goto yy475; + if (yych <= 'X') goto yy539; } } -yy476: - YYDEBUG(476, *YYCURSOR); +yy475: + YYDEBUG(475, *YYCURSOR); #line 1396 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("datenoyearrev"); @@ -9614,147 +9595,147 @@ yy476: TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 9618 "ext/date/lib/parse_date.c" -yy477: - YYDEBUG(477, *YYCURSOR); +#line 9599 "ext/date/lib/parse_date.c" +yy476: + YYDEBUG(476, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; + if (yych <= 0x08) goto yy475; + goto yy531; } else { - if (yych == ' ') goto yy532; - goto yy476; + if (yych == ' ') goto yy531; + goto yy475; } } else { if (yych <= '9') { - if (yych <= '.') goto yy532; - if (yych <= '/') goto yy476; - goto yy534; + if (yych <= '.') goto yy531; + if (yych <= '/') goto yy475; + goto yy533; } else { - if (yych == 'I') goto yy565; - goto yy476; + if (yych == 'I') goto yy564; + goto yy475; } } -yy478: - YYDEBUG(478, *YYCURSOR); +yy477: + YYDEBUG(477, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; + if (yych <= 0x08) goto yy475; + goto yy531; } else { - if (yych == ' ') goto yy532; - goto yy476; + if (yych == ' ') goto yy531; + goto yy475; } } else { if (yych <= '9') { - if (yych <= '.') goto yy532; - if (yych <= '/') goto yy476; - goto yy534; + if (yych <= '.') goto yy531; + if (yych <= '/') goto yy475; + goto yy533; } else { - if (yych == 'I') goto yy564; - goto yy476; + if (yych == 'I') goto yy563; + goto yy475; } } -yy479: - YYDEBUG(479, *YYCURSOR); +yy478: + YYDEBUG(478, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy557; - if (yych <= 'T') goto yy57; - goto yy556; + if (yych == 'A') goto yy556; + if (yych <= 'T') goto yy56; + goto yy555; } else { if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy557; + if (yych <= '`') goto yy56; + goto yy556; } else { - if (yych == 'u') goto yy556; - goto yy57; + if (yych == 'u') goto yy555; + goto yy56; } } -yy480: - YYDEBUG(480, *YYCURSOR); +yy479: + YYDEBUG(479, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'L') { - if (yych == '.') goto yy485; - goto yy57; + if (yych == '.') goto yy484; + goto yy56; } else { - if (yych <= 'M') goto yy486; - if (yych == 'P') goto yy550; - goto yy57; + if (yych <= 'M') goto yy485; + if (yych == 'P') goto yy549; + goto yy56; } } else { if (yych <= 'o') { - if (yych <= 'U') goto yy549; - if (yych == 'm') goto yy486; - goto yy57; + if (yych <= 'U') goto yy548; + if (yych == 'm') goto yy485; + goto yy56; } else { - if (yych <= 'p') goto yy550; - if (yych == 'u') goto yy549; - goto yy57; + 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 == 'C') goto yy544; - if (yych == 'c') goto yy544; - goto yy57; + if (yych == 'O') goto yy529; + if (yych == 'o') goto yy529; + goto yy56; yy482: YYDEBUG(482, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy530; - if (yych == 'o') goto yy530; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy489; + if (yych <= '9') goto yy491; + goto yy56; yy483: YYDEBUG(483, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy490; - if (yych <= '9') goto yy492; - goto yy57; -yy484: - YYDEBUG(484, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'L') { - if (yych != '.') goto yy57; + if (yych != '.') goto yy56; } else { - if (yych <= 'M') goto yy486; - if (yych == 'm') goto yy486; - goto yy57; + 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 == 'M') goto yy486; - if (yych != 'm') goto yy57; -yy486: - YYDEBUG(486, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy488; - if (yych == '\t') goto yy488; - goto yy57; + if (yych <= 0x00) goto yy487; + if (yych == '\t') goto yy487; + goto yy56; } else { - if (yych <= ' ') goto yy488; - if (yych != '.') goto yy57; + if (yych <= ' ') goto yy487; + if (yych != '.') goto yy56; } - YYDEBUG(487, *YYCURSOR); + YYDEBUG(486, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy488; - if (yych <= 0x08) goto yy57; + if (yych <= 0x00) goto yy487; + if (yych <= 0x08) goto yy56; } else { - if (yych != ' ') goto yy57; + if (yych != ' ') goto yy56; } -yy488: - YYDEBUG(488, *YYCURSOR); +yy487: + YYDEBUG(487, *YYCURSOR); ++YYCURSOR; - YYDEBUG(489, *YYCURSOR); + YYDEBUG(488, *YYCURSOR); #line 1114 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); @@ -9771,19 +9752,19 @@ yy488: TIMELIB_DEINIT; return TIMELIB_TIME12; } -#line 9775 "ext/date/lib/parse_date.c" -yy490: - YYDEBUG(490, *YYCURSOR); +#line 9756 "ext/date/lib/parse_date.c" +yy489: + YYDEBUG(489, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy493; + if (yych == '.') goto yy492; } else { - if (yych <= '9') goto yy507; - if (yych <= ':') goto yy493; + if (yych <= '9') goto yy506; + if (yych <= ':') goto yy492; } -yy491: - YYDEBUG(491, *YYCURSOR); +yy490: + YYDEBUG(490, *YYCURSOR); #line 1151 "ext/date/lib/parse_date.re" { int tz_not_found; @@ -9809,316 +9790,316 @@ yy491: TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 9813 "ext/date/lib/parse_date.c" -yy492: - YYDEBUG(492, *YYCURSOR); +#line 9794 "ext/date/lib/parse_date.c" +yy491: + YYDEBUG(491, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy493; - if (yych != ':') goto yy491; + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy494; - if (yych <= '6') goto yy495; - if (yych <= '9') goto yy496; - goto yy57; + 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 yy497; - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy500; - goto yy491; + if (yych == '.') goto yy496; + if (yych == '0') goto yy499; + goto yy490; yy495: YYDEBUG(495, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych == '0') goto yy500; - goto yy491; + if (yych != '.') goto yy490; yy496: YYDEBUG(496, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych != '.') goto yy491; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; yy497: YYDEBUG(497, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy498: - YYDEBUG(498, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; + YYDEBUG(498, *YYCURSOR); + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy497; + goto yy490; +yy499: YYDEBUG(499, *YYCURSOR); - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy498; - goto yy491; -yy500: - YYDEBUG(500, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= 0x1F) { - if (yych != '\t') goto yy491; + if (yych != '\t') goto yy490; } else { - if (yych <= ' ') goto yy501; - if (yych == '.') goto yy497; - goto yy491; + if (yych <= ' ') goto yy500; + if (yych == '.') goto yy496; + goto yy490; } } else { if (yych <= '`') { - if (yych <= 'A') goto yy503; - if (yych == 'P') goto yy503; - goto yy491; + if (yych <= 'A') goto yy502; + if (yych == 'P') goto yy502; + goto yy490; } else { - if (yych <= 'a') goto yy503; - if (yych == 'p') goto yy503; - goto yy491; + if (yych <= 'a') goto yy502; + if (yych == 'p') goto yy502; + goto yy490; } } -yy501: - YYDEBUG(501, *YYCURSOR); +yy500: + YYDEBUG(500, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; - YYDEBUG(502, *YYCURSOR); + YYDEBUG(501, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { - if (yych == '\t') goto yy501; - goto yy57; + if (yych == '\t') goto yy500; + goto yy56; } else { - if (yych <= ' ') goto yy501; - if (yych <= '@') goto yy57; + if (yych <= ' ') goto yy500; + if (yych <= '@') goto yy56; } } else { if (yych <= '`') { - if (yych != 'P') goto yy57; + if (yych != 'P') goto yy56; } else { - if (yych <= 'a') goto yy503; - if (yych != 'p') goto yy57; + if (yych <= 'a') goto yy502; + if (yych != 'p') goto yy56; } } -yy503: - YYDEBUG(503, *YYCURSOR); +yy502: + YYDEBUG(502, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { - if (yych != '.') goto yy57; + if (yych != '.') goto yy56; } else { - if (yych <= 'M') goto yy505; - if (yych == 'm') goto yy505; - goto yy57; + if (yych <= 'M') goto yy504; + if (yych == 'm') goto yy504; + goto yy56; } - YYDEBUG(504, *YYCURSOR); + YYDEBUG(503, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy505; - if (yych != 'm') goto yy57; -yy505: - YYDEBUG(505, *YYCURSOR); + if (yych == 'M') goto yy504; + if (yych != 'm') goto yy56; +yy504: + YYDEBUG(504, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy488; - if (yych == '\t') goto yy488; - goto yy57; + if (yych <= 0x00) goto yy487; + if (yych == '\t') goto yy487; + goto yy56; } else { - if (yych <= ' ') goto yy488; - if (yych != '.') goto yy57; + if (yych <= ' ') goto yy487; + if (yych != '.') goto yy56; } - YYDEBUG(506, *YYCURSOR); + YYDEBUG(505, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy488; - if (yych <= 0x08) goto yy57; - goto yy488; + if (yych <= 0x00) goto yy487; + if (yych <= 0x08) goto yy56; + goto yy487; } else { - if (yych == ' ') goto yy488; - goto yy57; + if (yych == ' ') goto yy487; + goto yy56; } -yy507: - YYDEBUG(507, *YYCURSOR); +yy506: + YYDEBUG(506, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy508; - if (yych <= 0x1F) goto yy491; + if (yych == '\t') goto yy507; + if (yych <= 0x1F) goto yy490; } else { - if (yych == '.') goto yy493; - if (yych <= '9') goto yy491; - goto yy511; + if (yych == '.') goto yy492; + if (yych <= '9') goto yy490; + goto yy510; } } else { if (yych <= 'P') { - if (yych == 'A') goto yy510; - if (yych <= 'O') goto yy491; - goto yy510; + if (yych == 'A') goto yy509; + if (yych <= 'O') goto yy490; + goto yy509; } else { if (yych <= 'a') { - if (yych <= '`') goto yy491; - goto yy510; + if (yych <= '`') goto yy490; + goto yy509; } else { - if (yych == 'p') goto yy510; - goto yy491; + if (yych == 'p') goto yy509; + goto yy490; } } } -yy508: - YYDEBUG(508, *YYCURSOR); +yy507: + YYDEBUG(507, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; - YYDEBUG(509, *YYCURSOR); + YYDEBUG(508, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { - if (yych == '\t') goto yy508; - goto yy57; + if (yych == '\t') goto yy507; + goto yy56; } else { - if (yych <= ' ') goto yy508; - if (yych <= '@') goto yy57; + if (yych <= ' ') goto yy507; + if (yych <= '@') goto yy56; } } else { if (yych <= '`') { - if (yych != 'P') goto yy57; + if (yych != 'P') goto yy56; } else { - if (yych <= 'a') goto yy510; - if (yych != 'p') goto yy57; + if (yych <= 'a') goto yy509; + if (yych != 'p') goto yy56; } } -yy510: - YYDEBUG(510, *YYCURSOR); +yy509: + YYDEBUG(509, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { - if (yych == '.') goto yy527; - goto yy57; + if (yych == '.') goto yy526; + goto yy56; } else { - if (yych <= 'M') goto yy528; - if (yych == 'm') goto yy528; - goto yy57; + if (yych <= 'M') goto yy527; + if (yych == 'm') goto yy527; + goto yy56; } +yy510: + YYDEBUG(510, *YYCURSOR); + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy512; - if (yych <= '6') goto yy513; - if (yych <= '9') goto yy496; - goto yy57; + 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 yy497; - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy514; - goto yy491; + if (yych == '.') goto yy496; + if (yych != '0') goto yy490; yy513: YYDEBUG(513, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych != '0') goto yy491; -yy514: - YYDEBUG(514, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy501; - if (yych <= 0x1F) goto yy491; - goto yy501; + if (yych == '\t') goto yy500; + if (yych <= 0x1F) goto yy490; + goto yy500; } else { - if (yych == '.') goto yy515; - if (yych <= '9') goto yy491; - goto yy516; + if (yych == '.') goto yy514; + if (yych <= '9') goto yy490; + goto yy515; } } else { if (yych <= 'P') { - if (yych == 'A') goto yy503; - if (yych <= 'O') goto yy491; - goto yy503; + if (yych == 'A') goto yy502; + if (yych <= 'O') goto yy490; + goto yy502; } else { if (yych <= 'a') { - if (yych <= '`') goto yy491; - goto yy503; + if (yych <= '`') goto yy490; + goto yy502; } else { - if (yych == 'p') goto yy503; - goto yy491; + if (yych == 'p') goto yy502; + goto yy490; } } } +yy514: + YYDEBUG(514, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy524; + goto yy56; yy515: YYDEBUG(515, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy525; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; yy516: YYDEBUG(516, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy517: - YYDEBUG(517, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; - YYDEBUG(518, *YYCURSOR); + YYDEBUG(517, *YYCURSOR); if (yych <= 'O') { if (yych <= '9') { - if (yych <= '/') goto yy57; - goto yy517; + if (yych <= '/') goto yy56; + goto yy516; } else { - if (yych != 'A') goto yy57; + if (yych != 'A') goto yy56; } } else { if (yych <= 'a') { - if (yych <= 'P') goto yy519; - if (yych <= '`') goto yy57; + if (yych <= 'P') goto yy518; + if (yych <= '`') goto yy56; } else { - if (yych != 'p') goto yy57; + if (yych != 'p') goto yy56; } } -yy519: - YYDEBUG(519, *YYCURSOR); +yy518: + YYDEBUG(518, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { - if (yych != '.') goto yy57; + if (yych != '.') goto yy56; } else { - if (yych <= 'M') goto yy521; - if (yych == 'm') goto yy521; - goto yy57; + if (yych <= 'M') goto yy520; + if (yych == 'm') goto yy520; + goto yy56; } - YYDEBUG(520, *YYCURSOR); + YYDEBUG(519, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy521; - if (yych != 'm') goto yy57; -yy521: - YYDEBUG(521, *YYCURSOR); + if (yych == 'M') goto yy520; + if (yych != 'm') goto yy56; +yy520: + YYDEBUG(520, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy523; - if (yych == '\t') goto yy523; - goto yy57; + if (yych <= 0x00) goto yy522; + if (yych == '\t') goto yy522; + goto yy56; } else { - if (yych <= ' ') goto yy523; - if (yych != '.') goto yy57; + if (yych <= ' ') goto yy522; + if (yych != '.') goto yy56; } - YYDEBUG(522, *YYCURSOR); + YYDEBUG(521, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy523; - if (yych <= 0x08) goto yy57; + if (yych <= 0x00) goto yy522; + if (yych <= 0x08) goto yy56; } else { - if (yych != ' ') goto yy57; + if (yych != ' ') goto yy56; } -yy523: - YYDEBUG(523, *YYCURSOR); +yy522: + YYDEBUG(522, *YYCURSOR); ++YYCURSOR; - YYDEBUG(524, *YYCURSOR); + YYDEBUG(523, *YYCURSOR); #line 1131 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("mssqltime"); @@ -10138,112 +10119,112 @@ yy523: TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 10142 "ext/date/lib/parse_date.c" -yy525: - YYDEBUG(525, *YYCURSOR); +#line 10123 "ext/date/lib/parse_date.c" +yy524: + YYDEBUG(524, *YYCURSOR); yyaccept = 11; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; - YYDEBUG(526, *YYCURSOR); + YYDEBUG(525, *YYCURSOR); if (yych <= 'O') { if (yych <= '9') { - if (yych <= '/') goto yy491; - goto yy525; + if (yych <= '/') goto yy490; + goto yy524; } else { - if (yych == 'A') goto yy519; - goto yy491; + if (yych == 'A') goto yy518; + goto yy490; } } else { if (yych <= 'a') { - if (yych <= 'P') goto yy519; - if (yych <= '`') goto yy491; - goto yy519; + if (yych <= 'P') goto yy518; + if (yych <= '`') goto yy490; + goto yy518; } else { - if (yych == 'p') goto yy519; - goto yy491; + if (yych == 'p') goto yy518; + goto yy490; } } +yy526: + YYDEBUG(526, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'M') goto yy527; + if (yych != 'm') goto yy56; yy527: YYDEBUG(527, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy528; - if (yych != 'm') goto yy57; -yy528: - YYDEBUG(528, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy488; - if (yych == '\t') goto yy488; - goto yy57; + if (yych <= 0x00) goto yy487; + if (yych == '\t') goto yy487; + goto yy56; } else { - if (yych <= ' ') goto yy488; - if (yych != '.') goto yy57; + if (yych <= ' ') goto yy487; + if (yych != '.') goto yy56; } - YYDEBUG(529, *YYCURSOR); + YYDEBUG(528, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy488; - if (yych <= 0x08) goto yy57; - goto yy488; + if (yych <= 0x00) goto yy487; + if (yych <= 0x08) goto yy56; + goto yy487; } else { - if (yych == ' ') goto yy488; - goto yy57; + if (yych == ' ') goto yy487; + goto yy56; } +yy529: + YYDEBUG(529, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'V') goto yy530; + if (yych != 'v') goto yy56; yy530: YYDEBUG(530, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy531; - if (yych != 'v') goto yy57; -yy531: - YYDEBUG(531, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych != '\t') goto yy476; + if (yych != '\t') goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'E') goto yy536; - if (yych == 'e') goto yy536; - goto yy476; + if (yych <= 'E') goto yy535; + if (yych == 'e') goto yy535; + goto yy475; } } -yy532: - YYDEBUG(532, *YYCURSOR); +yy531: + YYDEBUG(531, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; -yy533: - YYDEBUG(533, *YYCURSOR); +yy532: + YYDEBUG(532, *YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy532; - if (yych <= 0x1F) goto yy57; - goto yy532; + if (yych == '\t') goto yy531; + if (yych <= 0x1F) goto yy56; + goto yy531; } else { if (yych <= '.') { - if (yych <= ',') goto yy57; - goto yy532; + if (yych <= ',') goto yy56; + goto yy531; } else { - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; } } +yy533: + YYDEBUG(533, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '/') goto yy534; + if (yych <= '9') goto yy540; yy534: YYDEBUG(534, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy535; - if (yych <= '9') goto yy541; -yy535: - YYDEBUG(535, *YYCURSOR); #line 1313 "ext/date/lib/parse_date.re" { int length = 0; @@ -10258,743 +10239,743 @@ yy535: TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } -#line 10262 "ext/date/lib/parse_date.c" +#line 10243 "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 == 'M') goto yy537; - if (yych != 'm') goto yy57; + if (yych == 'B') goto yy537; + if (yych != 'b') goto yy56; yy537: YYDEBUG(537, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy538; - if (yych != 'b') goto yy57; + if (yych == 'E') goto yy538; + if (yych != 'e') goto yy56; yy538: YYDEBUG(538, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy539; - if (yych != 'e') goto yy57; + if (yych == 'R') goto yy539; + if (yych != 'r') goto yy56; yy539: YYDEBUG(539, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy540; - if (yych != 'r') goto yy57; -yy540: - YYDEBUG(540, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy532; - if (yych <= 0x1F) goto yy476; - goto yy532; + if (yych == '\t') goto yy531; + if (yych <= 0x1F) goto yy475; + goto yy531; } else { if (yych <= '.') { - if (yych <= ',') goto yy476; - goto yy532; + if (yych <= ',') goto yy475; + goto yy531; } else { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } } +yy540: + YYDEBUG(540, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '/') goto yy534; + if (yych >= ':') goto yy534; yy541: YYDEBUG(541, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy535; - if (yych >= ':') goto yy535; -yy542: + if (yych <= '/') goto yy534; + if (yych >= ':') goto yy534; YYDEBUG(542, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy535; - if (yych >= ':') goto yy535; + goto yy534; +yy543: YYDEBUG(543, *YYCURSOR); yych = *++YYCURSOR; - goto yy535; + if (yych == 'T') goto yy544; + if (yych != 't') goto yy56; yy544: YYDEBUG(544, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy545; - if (yych != 't') goto yy57; -yy545: - YYDEBUG(545, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; } } else { if (yych <= 'N') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'O') goto yy546; - if (yych != 'o') goto yy476; + if (yych <= 'O') goto yy545; + if (yych != 'o') goto yy475; } } +yy545: + YYDEBUG(545, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'B') goto yy546; + if (yych != 'b') goto yy56; yy546: YYDEBUG(546, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy547; - if (yych != 'b') goto yy57; + if (yych == 'E') goto yy547; + if (yych != 'e') goto yy56; yy547: YYDEBUG(547, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy548; - if (yych != 'e') goto yy57; + if (yych == 'R') goto yy539; + if (yych == 'r') goto yy539; + goto yy56; yy548: YYDEBUG(548, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy540; - if (yych == 'r') goto yy540; - goto yy57; + if (yych == 'G') goto yy552; + if (yych == 'g') goto yy552; + goto yy56; yy549: YYDEBUG(549, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy553; - if (yych == 'g') goto yy553; - goto yy57; + if (yych == 'R') goto yy550; + if (yych != 'r') goto yy56; yy550: YYDEBUG(550, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy551; - if (yych != 'r') goto yy57; -yy551: - YYDEBUG(551, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; } } else { if (yych <= 'H') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'I') goto yy552; - if (yych != 'i') goto yy476; + if (yych <= 'I') goto yy551; + if (yych != 'i') goto yy475; } } +yy551: + YYDEBUG(551, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy539; + if (yych == 'l') goto yy539; + goto yy56; yy552: YYDEBUG(552, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy540; - if (yych == 'l') goto yy540; - goto yy57; -yy553: - YYDEBUG(553, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; } } else { if (yych <= 'T') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'U') goto yy554; - if (yych != 'u') goto yy476; + 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 == 'S') goto yy555; - if (yych != 's') goto yy57; + if (yych == 'T') goto yy539; + if (yych == 't') goto yy539; + goto yy56; yy555: YYDEBUG(555, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy540; - if (yych == 't') goto yy540; - goto yy57; -yy556: - YYDEBUG(556, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy563; - if (yych <= 'M') goto yy57; - goto yy562; + if (yych == 'L') goto yy562; + if (yych <= 'M') goto yy56; + goto yy561; } else { if (yych <= 'l') { - if (yych <= 'k') goto yy57; - goto yy563; + if (yych <= 'k') goto yy56; + goto yy562; } else { - if (yych == 'n') goto yy562; - goto yy57; + if (yych == 'n') goto yy561; + goto yy56; } } +yy556: + YYDEBUG(556, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy557; + if (yych != 'n') goto yy56; yy557: YYDEBUG(557, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy558; - if (yych != 'n') goto yy57; -yy558: - YYDEBUG(558, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; } } else { if (yych <= 'T') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'U') goto yy559; - if (yych != 'u') goto yy476; + if (yych <= 'U') goto yy558; + if (yych != 'u') goto yy475; } } +yy558: + YYDEBUG(558, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy559; + if (yych != 'a') goto yy56; yy559: YYDEBUG(559, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy560; - if (yych != 'a') goto yy57; + if (yych == 'R') goto yy560; + if (yych != 'r') goto yy56; yy560: YYDEBUG(560, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy561; - if (yych != 'r') goto yy57; + if (yych == 'Y') goto yy539; + if (yych == 'y') goto yy539; + goto yy56; yy561: YYDEBUG(561, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy540; - if (yych == 'y') goto yy540; - goto yy57; -yy562: - YYDEBUG(562, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'E') goto yy540; - if (yych == 'e') goto yy540; - goto yy476; + if (yych <= 'E') goto yy539; + if (yych == 'e') goto yy539; + goto yy475; } } -yy563: - YYDEBUG(563, *YYCURSOR); +yy562: + YYDEBUG(562, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; } } else { if (yych <= 'X') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'Y') goto yy540; - if (yych == 'y') goto yy540; - goto yy476; + if (yych <= 'Y') goto yy539; + if (yych == 'y') goto yy539; + goto yy475; } } -yy564: - YYDEBUG(564, *YYCURSOR); +yy563: + YYDEBUG(563, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; + if (yych <= 0x08) goto yy475; + goto yy531; } else { - if (yych == ' ') goto yy532; - goto yy476; + if (yych == ' ') goto yy531; + goto yy475; } } else { if (yych <= '9') { - if (yych <= '.') goto yy532; - if (yych <= '/') goto yy476; - goto yy534; + if (yych <= '.') goto yy531; + if (yych <= '/') goto yy475; + goto yy533; } else { - if (yych == 'I') goto yy540; - goto yy476; + if (yych == 'I') goto yy539; + goto yy475; } } -yy565: - YYDEBUG(565, *YYCURSOR); +yy564: + YYDEBUG(564, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; + if (yych <= 0x08) goto yy475; + goto yy531; } else { - if (yych == ' ') goto yy532; - goto yy476; + if (yych == ' ') goto yy531; + goto yy475; } } else { if (yych <= '9') { - if (yych <= '.') goto yy532; - if (yych <= '/') goto yy476; - goto yy534; + if (yych <= '.') goto yy531; + if (yych <= '/') goto yy475; + goto yy533; } else { - if (yych != 'I') goto yy476; + if (yych != 'I') goto yy475; } } - YYDEBUG(566, *YYCURSOR); + YYDEBUG(565, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; + if (yych <= 0x08) goto yy475; + goto yy531; } else { - if (yych == ' ') goto yy532; - goto yy476; + if (yych == ' ') goto yy531; + goto yy475; } } else { if (yych <= '9') { - if (yych <= '.') goto yy532; - if (yych <= '/') goto yy476; - goto yy534; + if (yych <= '.') goto yy531; + if (yych <= '/') goto yy475; + goto yy533; } else { - if (yych == 'I') goto yy540; - goto yy476; + if (yych == 'I') goto yy539; + goto yy475; } } -yy567: - YYDEBUG(567, *YYCURSOR); +yy566: + YYDEBUG(566, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; + if (yych <= 0x08) goto yy475; + goto yy531; } else { - if (yych == ' ') goto yy532; - goto yy476; + if (yych == ' ') goto yy531; + goto yy475; } } else { if (yych <= '9') { - if (yych <= '.') goto yy532; - if (yych <= '/') goto yy476; - goto yy534; + if (yych <= '.') goto yy531; + if (yych <= '/') goto yy475; + goto yy533; } else { - if (yych == 'I') goto yy540; - goto yy476; + if (yych == 'I') goto yy539; + goto yy475; } } +yy567: + YYDEBUG(567, *YYCURSOR); + 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: YYDEBUG(568, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - goto yy601; + if (yych <= '/') { + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; + if (yych <= '.') goto yy600; + goto yy490; } else { - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy615; - if (yych <= ':') goto yy493; - goto yy491; + if (yych <= '2') goto yy614; + if (yych <= '9') goto yy613; + if (yych <= ':') goto yy492; + goto yy490; } yy569: YYDEBUG(569, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - if (yych <= '.') goto yy601; - goto yy491; + if (yych <= '.') { + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; + goto yy600; } else { - if (yych <= '2') goto yy615; - if (yych <= '9') goto yy614; - if (yych <= ':') goto yy493; - goto yy491; + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy613; + if (yych <= ':') goto yy492; + goto yy490; } yy570: YYDEBUG(570, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - goto yy601; + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; + goto yy600; } else { - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy614; - if (yych <= ':') goto yy493; - goto yy491; + if (yych == ':') goto yy492; + goto yy490; } yy571: YYDEBUG(571, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - goto yy601; - } else { - if (yych == ':') goto yy493; - goto yy491; - } + yych = *++YYCURSOR; + if (yych == 'E') goto yy594; + if (yych == 'e') goto yy594; + goto yy56; yy572: YYDEBUG(572, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy595; - if (yych == 'e') goto yy595; - goto yy57; + if (yych == 'A') goto yy591; + if (yych == 'a') goto yy591; + goto yy56; yy573: YYDEBUG(573, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy592; - if (yych == 'a') goto yy592; - goto yy57; -yy574: - YYDEBUG(574, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'P') goto yy550; - if (yych <= 'T') goto yy57; - goto yy549; + if (yych == 'P') goto yy549; + if (yych <= 'T') goto yy56; + goto yy548; } else { if (yych <= 'p') { - if (yych <= 'o') goto yy57; - goto yy550; + if (yych <= 'o') goto yy56; + goto yy549; } else { - if (yych == 'u') goto yy549; - goto yy57; + 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 yy585; - if (yych == 'e') goto yy585; - goto yy57; + if (yych == 'E') goto yy578; + if (yych == 'e') goto yy578; + goto yy56; yy576: YYDEBUG(576, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy579; - if (yych == 'e') goto yy579; - goto yy57; -yy577: - YYDEBUG(577, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; -yy578: - YYDEBUG(578, *YYCURSOR); +yy577: + YYDEBUG(577, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': case '-': - case '.': goto yy577; + case '.': goto yy576; case 'A': - case 'a': goto yy574; + case 'a': goto yy573; case 'D': - case 'd': goto yy576; + case 'd': goto yy575; case 'F': - case 'f': goto yy572; - case 'I': goto yy475; + case 'f': goto yy571; + case 'I': goto yy474; case 'J': - case 'j': goto yy479; + case 'j': goto yy478; case 'M': - case 'm': goto yy573; + case 'm': goto yy572; case 'N': - case 'n': goto yy482; + case 'n': goto yy481; case 'O': - case 'o': goto yy481; + case 'o': goto yy480; case 'S': - case 's': goto yy575; - case 'V': goto yy477; - case 'X': goto yy478; - default: goto yy57; + case 's': goto yy574; + case 'V': goto yy476; + case 'X': goto yy477; + default: goto yy56; } +yy578: + YYDEBUG(578, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy579; + if (yych != 'c') goto yy56; yy579: YYDEBUG(579, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy580; - if (yych != 'c') goto yy57; -yy580: - YYDEBUG(580, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'E') goto yy581; - if (yych != 'e') goto yy476; + if (yych <= 'E') goto yy580; + if (yych != 'e') goto yy475; } } +yy580: + YYDEBUG(580, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'M') goto yy581; + if (yych != 'm') goto yy56; yy581: YYDEBUG(581, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy582; - if (yych != 'm') goto yy57; + if (yych == 'B') goto yy582; + if (yych != 'b') goto yy56; yy582: YYDEBUG(582, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy583; - if (yych != 'b') goto yy57; + if (yych == 'E') goto yy583; + if (yych != 'e') goto yy56; yy583: YYDEBUG(583, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy584; - if (yych != 'e') goto yy57; + if (yych == 'R') goto yy539; + if (yych == 'r') goto yy539; + goto yy56; yy584: YYDEBUG(584, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy540; - if (yych == 'r') goto yy540; - goto yy57; + if (yych == 'P') goto yy585; + if (yych != 'p') goto yy56; yy585: YYDEBUG(585, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy586; - if (yych != 'p') goto yy57; -yy586: - YYDEBUG(586, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; } } else { if (yych <= 'S') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'T') goto yy587; - if (yych != 't') goto yy476; + if (yych <= 'T') goto yy586; + if (yych != 't') goto yy475; } } -yy587: - YYDEBUG(587, *YYCURSOR); +yy586: + YYDEBUG(586, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'E') goto yy588; - if (yych != 'e') goto yy476; + 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 == 'M') goto yy589; - if (yych != 'm') goto yy57; + if (yych == 'B') goto yy589; + if (yych != 'b') goto yy56; yy589: YYDEBUG(589, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy590; - if (yych != 'b') goto yy57; + if (yych == 'E') goto yy590; + if (yych != 'e') goto yy56; yy590: YYDEBUG(590, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy591; - if (yych != 'e') goto yy57; + if (yych == 'R') goto yy539; + if (yych == 'r') goto yy539; + goto yy56; yy591: YYDEBUG(591, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy540; - if (yych == 'r') goto yy540; - goto yy57; -yy592: - YYDEBUG(592, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy593; - if (yych <= 'X') goto yy57; - goto yy540; + if (yych == 'R') goto yy592; + if (yych <= 'X') goto yy56; + goto yy539; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy57; + if (yych <= 'q') goto yy56; } else { - if (yych == 'y') goto yy540; - goto yy57; + if (yych == 'y') goto yy539; + goto yy56; } } -yy593: - YYDEBUG(593, *YYCURSOR); +yy592: + YYDEBUG(592, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; } } else { if (yych <= 'B') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'C') goto yy594; - if (yych != 'c') goto yy476; + if (yych <= 'C') goto yy593; + if (yych != 'c') goto yy475; } } +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 == 'H') goto yy540; - if (yych == 'h') goto yy540; - goto yy57; + if (yych == 'B') goto yy595; + if (yych != 'b') goto yy56; yy595: YYDEBUG(595, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy596; - if (yych != 'b') goto yy57; -yy596: - YYDEBUG(596, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + goto yy531; } } else { if (yych <= 'Q') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'R') goto yy597; - if (yych != 'r') goto yy476; + if (yych <= 'R') goto yy596; + if (yych != 'r') goto yy475; } } +yy596: + YYDEBUG(596, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'U') goto yy597; + if (yych != 'u') goto yy56; yy597: YYDEBUG(597, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy598; - if (yych != 'u') goto yy57; + if (yych == 'A') goto yy598; + if (yych != 'a') goto yy56; yy598: YYDEBUG(598, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy599; - if (yych != 'a') goto yy57; + if (yych == 'R') goto yy599; + if (yych != 'r') goto yy56; yy599: YYDEBUG(599, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy600; - if (yych != 'r') goto yy57; + if (yych == 'Y') goto yy539; + if (yych == 'y') goto yy539; + goto yy56; yy600: YYDEBUG(600, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy540; - if (yych == 'y') goto yy540; - goto yy57; + 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 yy57; - if (yych <= '5') goto yy608; - if (yych <= '6') goto yy609; - if (yych <= '9') goto yy610; - goto yy57; -yy602: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; YYDEBUG(602, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +yy603: YYDEBUG(603, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; yy604: YYDEBUG(604, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy605: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; YYDEBUG(605, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; - YYDEBUG(606, *YYCURSOR); ++YYCURSOR; - YYDEBUG(607, *YYCURSOR); + YYDEBUG(606, *YYCURSOR); #line 1328 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("pointed date YYYY"); @@ -11006,42 +10987,42 @@ yy605: TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 11010 "ext/date/lib/parse_date.c" +#line 10991 "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; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy613; - goto yy491; + if (yych <= '/') { + if (yych == '.') goto yy496; + goto yy490; + } else { + if (yych <= '0') goto yy612; + if (yych <= '9') goto yy610; + goto yy490; + } yy609: YYDEBUG(609, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy497; - goto yy491; - } else { - if (yych <= '0') goto yy613; - if (yych <= '9') goto yy611; - goto yy491; - } + if (yych == '.') goto yy496; + if (yych <= '/') goto yy490; + if (yych >= ':') goto yy490; yy610: YYDEBUG(610, *YYCURSOR); - yyaccept = 11; + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - if (yych >= ':') goto yy491; + if (yych <= '/') goto yy611; + if (yych <= '9') goto yy604; yy611: YYDEBUG(611, *YYCURSOR); - yyaccept = 12; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy612; - if (yych <= '9') goto yy605; -yy612: - YYDEBUG(612, *YYCURSOR); #line 1340 "ext/date/lib/parse_date.re" { int length = 0; @@ -11055,647 +11036,647 @@ yy612: TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 11059 "ext/date/lib/parse_date.c" -yy613: - YYDEBUG(613, *YYCURSOR); +#line 11040 "ext/date/lib/parse_date.c" +yy612: + YYDEBUG(612, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ' ') { - if (yych == '\t') goto yy501; - if (yych <= 0x1F) goto yy491; - goto yy501; + if (yych == '\t') goto yy500; + if (yych <= 0x1F) goto yy490; + goto yy500; } else { - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - goto yy605; + if (yych == '.') goto yy496; + if (yych <= '/') goto yy490; + goto yy604; } } else { if (yych <= 'P') { - if (yych == 'A') goto yy503; - if (yych <= 'O') goto yy491; - goto yy503; + if (yych == 'A') goto yy502; + if (yych <= 'O') goto yy490; + goto yy502; } else { if (yych <= 'a') { - if (yych <= '`') goto yy491; - goto yy503; + if (yych <= '`') goto yy490; + goto yy502; } else { - if (yych == 'p') goto yy503; - goto yy491; + if (yych == 'p') goto yy502; + goto yy490; } } } -yy614: - YYDEBUG(614, *YYCURSOR); +yy613: + YYDEBUG(613, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy508; - if (yych <= 0x1F) goto yy491; - goto yy508; + if (yych == '\t') goto yy507; + if (yych <= 0x1F) goto yy490; + goto yy507; } else { - if (yych == '.') goto yy493; - if (yych <= '9') goto yy491; - goto yy493; + if (yych == '.') goto yy492; + if (yych <= '9') goto yy490; + goto yy492; } } else { if (yych <= 'P') { - if (yych == 'A') goto yy510; - if (yych <= 'O') goto yy491; - goto yy510; + if (yych == 'A') goto yy509; + if (yych <= 'O') goto yy490; + goto yy509; } else { if (yych <= 'a') { - if (yych <= '`') goto yy491; - goto yy510; + if (yych <= '`') goto yy490; + goto yy509; } else { - if (yych == 'p') goto yy510; - goto yy491; + if (yych == 'p') goto yy509; + goto yy490; } } } -yy615: - YYDEBUG(615, *YYCURSOR); +yy614: + YYDEBUG(614, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy508; - if (yych <= 0x1F) goto yy491; - goto yy508; + if (yych == '\t') goto yy507; + if (yych <= 0x1F) goto yy490; + goto yy507; } else { if (yych <= '-') { - if (yych <= ',') goto yy491; - goto yy602; + if (yych <= ',') goto yy490; + goto yy601; } else { - if (yych <= '.') goto yy601; - if (yych <= '9') goto yy491; - goto yy493; + if (yych <= '.') goto yy600; + if (yych <= '9') goto yy490; + goto yy492; } } } else { if (yych <= 'P') { - if (yych == 'A') goto yy510; - if (yych <= 'O') goto yy491; - goto yy510; + if (yych == 'A') goto yy509; + if (yych <= 'O') goto yy490; + goto yy509; } else { if (yych <= 'a') { - if (yych <= '`') goto yy491; - goto yy510; + if (yych <= '`') goto yy490; + goto yy509; } else { - if (yych == 'p') goto yy510; - goto yy491; + 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 yy57; - if (yych <= '-') goto yy655; - goto yy602; + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy654; + goto yy601; } else { - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy618; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; } yy617: YYDEBUG(617, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy655; - goto yy602; - } else { - if (yych <= '/') goto yy57; - if (yych >= '3') goto yy57; - } + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy654; + if (yych <= '.') goto yy601; + goto yy56; yy618: YYDEBUG(618, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy655; - if (yych <= '.') goto yy602; - goto yy57; -yy619: - YYDEBUG(619, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy651; - if (yych <= 'T') goto yy57; - goto yy650; + if (yych == 'A') goto yy650; + if (yych <= 'T') goto yy56; + goto yy649; } else { if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy651; + if (yych <= '`') goto yy56; + goto yy650; } else { - if (yych == 'u') goto yy650; - goto yy57; + if (yych == 'u') goto yy649; + goto yy56; } } +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 == 'E') goto yy648; - if (yych == 'e') goto yy648; - goto yy57; + if (yych == 'A') goto yy644; + if (yych == 'a') goto yy644; + goto yy56; yy621: YYDEBUG(621, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy645; - if (yych == 'a') goto yy645; - goto yy57; -yy622: - YYDEBUG(622, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'P') goto yy642; - if (yych <= 'T') goto yy57; - goto yy641; + if (yych == 'P') goto yy641; + if (yych <= 'T') goto yy56; + goto yy640; } else { if (yych <= 'p') { - if (yych <= 'o') goto yy57; - goto yy642; + if (yych <= 'o') goto yy56; + goto yy641; } else { - if (yych == 'u') goto yy641; - goto yy57; + if (yych == 'u') goto yy640; + goto yy56; } } +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 == 'E') goto yy638; - if (yych == 'e') goto yy638; - goto yy57; + if (yych == 'C') goto yy635; + if (yych == 'c') goto yy635; + goto yy56; yy624: YYDEBUG(624, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy636; - if (yych == 'c') goto yy636; - goto yy57; + if (yych == 'O') goto yy633; + if (yych == 'o') goto yy633; + goto yy56; yy625: YYDEBUG(625, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy634; - if (yych == 'o') goto yy634; - goto yy57; + if (yych == 'E') goto yy626; + if (yych != 'e') goto yy56; yy626: YYDEBUG(626, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy627; - if (yych != 'e') goto yy57; + if (yych == 'C') goto yy627; + if (yych != 'c') goto yy56; yy627: YYDEBUG(627, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy628; - if (yych != 'c') goto yy57; -yy628: - YYDEBUG(628, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych >= '.') goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych >= '.') goto yy531; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'E') goto yy581; - if (yych == 'e') goto yy581; - goto yy476; + if (yych <= 'E') goto yy580; + if (yych == 'e') goto yy580; + goto yy475; } } +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 yy533; - if (yych <= '0') goto yy630; - if (yych <= '2') goto yy631; - if (yych <= '3') goto yy632; - goto yy533; + if (yych <= '/') goto yy534; + if (yych <= '9') goto yy632; + goto yy534; yy630: YYDEBUG(630, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy535; - if (yych <= '9') goto yy633; - goto yy535; + if (yych <= '/') goto yy534; + if (yych <= '9') goto yy632; + goto yy534; yy631: YYDEBUG(631, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy535; - if (yych <= '9') goto yy633; - goto yy535; + 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 yy535; - if (yych <= '1') goto yy633; + if (yych <= '/') goto yy534; if (yych <= '9') goto yy541; - goto yy535; + goto yy534; yy633: YYDEBUG(633, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy535; - if (yych <= '9') goto yy542; - goto yy535; + if (yych == 'V') goto yy634; + if (yych != 'v') goto yy56; yy634: YYDEBUG(634, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy635; - if (yych != 'v') goto yy57; -yy635: - YYDEBUG(635, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'E') goto yy536; - if (yych == 'e') goto yy536; - goto yy476; + if (yych <= 'E') goto yy535; + if (yych == 'e') goto yy535; + goto yy475; } } +yy635: + YYDEBUG(635, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy636; + if (yych != 't') goto yy56; yy636: YYDEBUG(636, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy637; - if (yych != 't') goto yy57; -yy637: - YYDEBUG(637, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; } } else { if (yych <= 'N') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'O') goto yy546; - if (yych == 'o') goto yy546; - goto yy476; + if (yych <= 'O') goto yy545; + if (yych == 'o') goto yy545; + goto yy475; } } +yy637: + YYDEBUG(637, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'P') goto yy638; + if (yych != 'p') goto yy56; yy638: YYDEBUG(638, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy639; - if (yych != 'p') goto yy57; -yy639: - YYDEBUG(639, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; } } else { if (yych <= 'S') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'T') goto yy640; - if (yych != 't') goto yy476; + if (yych <= 'T') goto yy639; + if (yych != 't') goto yy475; } } -yy640: - YYDEBUG(640, *YYCURSOR); +yy639: + YYDEBUG(639, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'E') goto yy588; - if (yych == 'e') goto yy588; - goto yy476; + if (yych <= 'E') goto yy587; + if (yych == 'e') goto yy587; + goto yy475; } } +yy640: + YYDEBUG(640, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'G') goto yy643; + if (yych == 'g') goto yy643; + goto yy56; yy641: YYDEBUG(641, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy644; - if (yych == 'g') goto yy644; - goto yy57; + if (yych == 'R') goto yy642; + if (yych != 'r') goto yy56; yy642: YYDEBUG(642, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy643; - if (yych != 'r') goto yy57; -yy643: - YYDEBUG(643, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; } } else { if (yych <= 'H') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'I') goto yy552; - if (yych == 'i') goto yy552; - goto yy476; + if (yych <= 'I') goto yy551; + if (yych == 'i') goto yy551; + goto yy475; } } -yy644: - YYDEBUG(644, *YYCURSOR); +yy643: + YYDEBUG(643, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; } } else { if (yych <= 'T') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'U') goto yy554; - if (yych == 'u') goto yy554; - goto yy476; + if (yych <= 'U') goto yy553; + if (yych == 'u') goto yy553; + goto yy475; } } -yy645: - YYDEBUG(645, *YYCURSOR); +yy644: + YYDEBUG(644, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy646; - if (yych <= 'X') goto yy57; - goto yy647; + if (yych == 'R') goto yy645; + if (yych <= 'X') goto yy56; + goto yy646; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy57; + if (yych <= 'q') goto yy56; } else { - if (yych == 'y') goto yy647; - goto yy57; + if (yych == 'y') goto yy646; + goto yy56; } } -yy646: - YYDEBUG(646, *YYCURSOR); +yy645: + YYDEBUG(645, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; } } else { if (yych <= 'B') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'C') goto yy594; - if (yych == 'c') goto yy594; - goto yy476; + if (yych <= 'C') goto yy593; + if (yych == 'c') goto yy593; + goto yy475; } } -yy647: - YYDEBUG(647, *YYCURSOR); +yy646: + YYDEBUG(646, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy476; - goto yy532; + if (yych <= 0x08) goto yy475; + goto yy531; } else { - if (yych == ' ') goto yy532; - goto yy476; + if (yych == ' ') goto yy531; + goto yy475; } } else { if (yych <= '.') { - if (yych <= '-') goto yy629; - goto yy532; + if (yych <= '-') goto yy628; + goto yy531; } else { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } } +yy647: + YYDEBUG(647, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'B') goto yy648; + if (yych != 'b') goto yy56; yy648: YYDEBUG(648, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy649; - if (yych != 'b') goto yy57; -yy649: - YYDEBUG(649, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; } } else { if (yych <= 'Q') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'R') goto yy597; - if (yych == 'r') goto yy597; - goto yy476; + if (yych <= 'R') goto yy596; + if (yych == 'r') goto yy596; + goto yy475; } } -yy650: - YYDEBUG(650, *YYCURSOR); +yy649: + YYDEBUG(649, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy654; - if (yych <= 'M') goto yy57; - goto yy653; + if (yych == 'L') goto yy653; + if (yych <= 'M') goto yy56; + goto yy652; } else { if (yych <= 'l') { - if (yych <= 'k') goto yy57; - goto yy654; + if (yych <= 'k') goto yy56; + goto yy653; } else { - if (yych == 'n') goto yy653; - goto yy57; + if (yych == 'n') goto yy652; + goto yy56; } } +yy650: + YYDEBUG(650, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy651; + if (yych != 'n') goto yy56; yy651: YYDEBUG(651, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy652; - if (yych != 'n') goto yy57; -yy652: - YYDEBUG(652, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; } } else { if (yych <= 'T') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'U') goto yy559; - if (yych == 'u') goto yy559; - goto yy476; + if (yych <= 'U') goto yy558; + if (yych == 'u') goto yy558; + goto yy475; } } -yy653: - YYDEBUG(653, *YYCURSOR); +yy652: + YYDEBUG(652, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'E') goto yy540; - if (yych == 'e') goto yy540; - goto yy476; + if (yych <= 'E') goto yy539; + if (yych == 'e') goto yy539; + goto yy475; } } -yy654: - YYDEBUG(654, *YYCURSOR); +yy653: + YYDEBUG(653, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy532; - goto yy476; + if (yych == '\t') goto yy531; + goto yy475; } else { - if (yych <= ' ') goto yy532; - if (yych <= ',') goto yy476; - if (yych <= '-') goto yy629; - goto yy532; + if (yych <= ' ') goto yy531; + if (yych <= ',') goto yy475; + if (yych <= '-') goto yy628; + goto yy531; } } else { if (yych <= 'X') { - if (yych <= '/') goto yy476; - if (yych <= '9') goto yy534; - goto yy476; + if (yych <= '/') goto yy475; + if (yych <= '9') goto yy533; + goto yy475; } else { - if (yych <= 'Y') goto yy540; - if (yych == 'y') goto yy540; - goto yy476; + if (yych <= 'Y') goto yy539; + if (yych == 'y') goto yy539; + goto yy475; } } +yy654: + YYDEBUG(654, *YYCURSOR); + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy656; - if (yych <= '3') goto yy658; - if (yych <= '9') goto yy659; - goto yy57; -yy656: - YYDEBUG(656, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy665; - if (yych >= 'n') goto yy661; + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy664; + if (yych >= 'n') goto yy660; } else { if (yych <= 'r') { - if (yych >= 'r') goto yy662; + if (yych >= 'r') goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; } } -yy657: - YYDEBUG(657, *YYCURSOR); +yy656: + YYDEBUG(656, *YYCURSOR); #line 1299 "ext/date/lib/parse_date.re" { int length = 0; @@ -11709,112 +11690,112 @@ yy657: TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 11713 "ext/date/lib/parse_date.c" -yy658: - YYDEBUG(658, *YYCURSOR); +#line 11694 "ext/date/lib/parse_date.c" +yy657: + YYDEBUG(657, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '1') { - if (yych <= '/') goto yy657; - goto yy665; + if (yych <= '/') goto yy656; + goto yy664; } else { - if (yych <= '9') goto yy604; - if (yych <= 'm') goto yy657; - goto yy661; + if (yych <= '9') goto yy603; + if (yych <= 'm') goto yy656; + goto yy660; } } else { if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } -yy659: - YYDEBUG(659, *YYCURSOR); +yy658: + YYDEBUG(658, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy604; - if (yych <= 'm') goto yy657; - goto yy661; + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy603; + if (yych <= 'm') goto yy656; + goto yy660; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } +yy659: + YYDEBUG(659, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 't') goto yy663; + goto yy56; yy660: YYDEBUG(660, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 't') goto yy664; - goto yy57; + if (yych == 'd') goto yy663; + goto yy56; yy661: YYDEBUG(661, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'd') goto yy664; - goto yy57; + if (yych == 'd') goto yy663; + goto yy56; yy662: YYDEBUG(662, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'd') goto yy664; - goto yy57; + if (yych != 'h') goto yy56; yy663: YYDEBUG(663, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'h') goto yy57; + goto yy656; yy664: YYDEBUG(664, *YYCURSOR); - yych = *++YYCURSOR; - goto yy657; -yy665: - YYDEBUG(665, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy605; - if (yych <= 'm') goto yy657; - goto yy661; + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy604; + if (yych <= 'm') goto yy656; + goto yy660; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } -yy666: - YYDEBUG(666, *YYCURSOR); +yy665: + YYDEBUG(665, *YYCURSOR); yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { - if (yych >= '/') goto yy723; + if (yych >= '/') goto yy722; } else { - if (yych <= '9') goto yy669; - if (yych >= 'n') goto yy720; + if (yych <= '9') goto yy668; + if (yych >= 'n') goto yy719; } } else { if (yych <= 'r') { - if (yych >= 'r') goto yy721; + if (yych >= 'r') goto yy720; } else { - if (yych <= 's') goto yy719; - if (yych <= 't') goto yy722; + if (yych <= 's') goto yy718; + if (yych <= 't') goto yy721; } } -yy667: - YYDEBUG(667, *YYCURSOR); +yy666: + YYDEBUG(666, *YYCURSOR); #line 1243 "ext/date/lib/parse_date.re" { int length = 0; @@ -11830,239 +11811,239 @@ yy667: TIMELIB_DEINIT; return TIMELIB_AMERICAN; } -#line 11834 "ext/date/lib/parse_date.c" -yy668: - YYDEBUG(668, *YYCURSOR); +#line 11815 "ext/date/lib/parse_date.c" +yy667: + YYDEBUG(667, *YYCURSOR); yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { - if (yych <= '.') goto yy667; - goto yy723; + if (yych <= '.') goto yy666; + goto yy722; } else { - if (yych <= '1') goto yy669; - if (yych <= 'm') goto yy667; - goto yy720; + if (yych <= '1') goto yy668; + if (yych <= 'm') goto yy666; + goto yy719; } } else { if (yych <= 'r') { - if (yych <= 'q') goto yy667; - goto yy721; + if (yych <= 'q') goto yy666; + goto yy720; } else { - if (yych <= 's') goto yy719; - if (yych <= 't') goto yy722; - goto yy667; + if (yych <= 's') goto yy718; + if (yych <= 't') goto yy721; + goto yy666; } } -yy669: - YYDEBUG(669, *YYCURSOR); +yy668: + YYDEBUG(668, *YYCURSOR); yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych == '/') goto yy723; - if (yych <= 'm') goto yy667; - goto yy720; + if (yych == '/') goto yy722; + if (yych <= 'm') goto yy666; + goto yy719; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy667; - goto yy721; + if (yych <= 'q') goto yy666; + goto yy720; } else { - if (yych <= 's') goto yy719; - if (yych <= 't') goto yy722; - goto yy667; + if (yych <= 's') goto yy718; + if (yych <= 't') goto yy721; + goto yy666; } } -yy670: - YYDEBUG(670, *YYCURSOR); +yy669: + YYDEBUG(669, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy718; - if (yych <= 'T') goto yy57; - goto yy717; + if (yych == 'A') goto yy717; + if (yych <= 'T') goto yy56; + goto yy716; } else { if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy718; + if (yych <= '`') goto yy56; + goto yy717; } else { - if (yych == 'u') goto yy717; - goto yy57; + if (yych == 'u') goto yy716; + goto yy56; } } +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 == 'E') goto yy716; - if (yych == 'e') goto yy716; - goto yy57; + if (yych == 'A') goto yy714; + if (yych == 'a') goto yy714; + goto yy56; yy672: YYDEBUG(672, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy715; - if (yych == 'a') goto yy715; - goto yy57; -yy673: - YYDEBUG(673, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'P') goto yy714; - if (yych <= 'T') goto yy57; - goto yy713; + if (yych == 'P') goto yy713; + if (yych <= 'T') goto yy56; + goto yy712; } else { if (yych <= 'p') { - if (yych <= 'o') goto yy57; - goto yy714; + if (yych <= 'o') goto yy56; + goto yy713; } else { - if (yych == 'u') goto yy713; - goto yy57; + if (yych == 'u') goto yy712; + goto yy56; } } +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 == 'E') goto yy711; - if (yych == 'e') goto yy711; - goto yy57; + if (yych == 'C') goto yy709; + if (yych == 'c') goto yy709; + goto yy56; yy675: YYDEBUG(675, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy710; - if (yych == 'c') goto yy710; - goto yy57; + if (yych == 'O') goto yy708; + if (yych == 'o') goto yy708; + goto yy56; yy676: YYDEBUG(676, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy709; - if (yych == 'o') goto yy709; - goto yy57; + if (yych == 'E') goto yy677; + if (yych != 'e') goto yy56; yy677: YYDEBUG(677, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy678; - if (yych != 'e') goto yy57; + if (yych == 'C') goto yy678; + if (yych != 'c') goto yy56; yy678: YYDEBUG(678, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy679; - if (yych != 'c') goto yy57; + if (yych != '/') goto yy56; yy679: YYDEBUG(679, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '/') goto yy57; -yy680: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; YYDEBUG(680, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; YYDEBUG(681, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; YYDEBUG(682, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; YYDEBUG(683, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych != ':') goto yy56; YYDEBUG(684, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ':') goto yy57; + 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 yy57; - if (yych <= '1') goto yy686; - if (yych <= '2') goto yy687; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy687; + goto yy56; yy686: YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy688; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '5') goto yy56; yy687: YYDEBUG(687, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '5') goto yy57; -yy688: + if (yych != ':') goto yy56; YYDEBUG(688, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '6') goto yy56; YYDEBUG(689, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '6') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; YYDEBUG(690, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych != ':') goto yy56; YYDEBUG(691, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ':') goto yy57; + 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 yy57; - if (yych <= '5') goto yy693; - if (yych <= '6') goto yy694; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy694; + goto yy56; yy693: YYDEBUG(693, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy695; - goto yy57; + if (yych != '0') goto yy56; yy694: YYDEBUG(694, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '0') goto yy57; + if (yych == '\t') goto yy695; + if (yych != ' ') goto yy56; yy695: YYDEBUG(695, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\t') goto yy696; - if (yych != ' ') goto yy57; -yy696: - YYDEBUG(696, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; - YYDEBUG(697, *YYCURSOR); + YYDEBUG(696, *YYCURSOR); if (yych <= '*') { if (yych <= '\t') { - if (yych <= 0x08) goto yy57; - goto yy696; + if (yych <= 0x08) goto yy56; + goto yy695; } else { - if (yych == ' ') goto yy696; - goto yy57; + if (yych == ' ') goto yy695; + goto yy56; } } else { if (yych <= '-') { - if (yych == ',') goto yy57; - goto yy699; + if (yych == ',') goto yy56; + goto yy698; } else { - if (yych != 'G') goto yy57; + if (yych != 'G') goto yy56; } } + YYDEBUG(697, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'M') goto yy706; + goto yy56; +yy698: YYDEBUG(698, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy707; - goto yy57; + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy700; - if (yych <= '2') goto yy702; - if (yych <= '9') goto yy703; - goto yy57; + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '/') goto yy700; + if (yych <= '9') goto yy702; + if (yych <= ':') goto yy703; yy700: YYDEBUG(700, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy701; - if (yych <= '9') goto yy703; - if (yych <= ':') goto yy704; -yy701: - YYDEBUG(701, *YYCURSOR); #line 1526 "ext/date/lib/parse_date.re" { int tz_not_found; @@ -12083,304 +12064,304 @@ yy701: TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 12087 "ext/date/lib/parse_date.c" -yy702: - YYDEBUG(702, *YYCURSOR); +#line 12068 "ext/date/lib/parse_date.c" +yy701: + YYDEBUG(701, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { - if (yych <= '/') goto yy701; - if (yych >= '5') goto yy705; + if (yych <= '/') goto yy700; + if (yych >= '5') goto yy704; } else { - if (yych <= '9') goto yy706; - if (yych <= ':') goto yy704; - goto yy701; + if (yych <= '9') goto yy705; + if (yych <= ':') goto yy703; + goto yy700; } +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 yy701; - if (yych <= '5') goto yy705; - if (yych <= '9') goto yy706; - if (yych >= ';') goto yy701; + 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 yy701; - if (yych <= '5') goto yy705; - if (yych <= '9') goto yy706; - goto yy701; + if (yych <= '/') goto yy700; + if (yych >= ':') goto yy700; yy705: YYDEBUG(705, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy701; - if (yych >= ':') goto yy701; + goto yy700; yy706: YYDEBUG(706, *YYCURSOR); yych = *++YYCURSOR; - goto yy701; -yy707: + if (yych != 'T') goto yy56; YYDEBUG(707, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'T') goto yy57; + if (yych == '+') goto yy698; + if (yych == '-') goto yy698; + goto yy56; +yy708: YYDEBUG(708, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '+') goto yy699; - if (yych == '-') goto yy699; - goto yy57; + if (yych == 'V') goto yy678; + if (yych == 'v') goto yy678; + goto yy56; yy709: YYDEBUG(709, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'V') goto yy679; - if (yych == 'v') goto yy679; - goto yy57; + if (yych == 'T') goto yy678; + if (yych == 't') goto yy678; + goto yy56; yy710: YYDEBUG(710, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy679; - if (yych == 't') goto yy679; - goto yy57; + if (yych == 'P') goto yy711; + if (yych != 'p') goto yy56; yy711: YYDEBUG(711, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy712; - if (yych != 'p') goto yy57; -yy712: - YYDEBUG(712, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == '/') goto yy680; - goto yy57; + if (yych == '/') goto yy679; + goto yy56; } else { - if (yych <= 'T') goto yy679; - if (yych == 't') goto yy679; - goto yy57; + if (yych <= 'T') goto yy678; + if (yych == 't') goto yy678; + goto yy56; } +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 == 'G') goto yy679; - if (yych == 'g') goto yy679; - goto yy57; + if (yych == 'R') goto yy678; + if (yych == 'r') goto yy678; + goto yy56; yy714: YYDEBUG(714, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy679; - if (yych == 'r') goto yy679; - goto yy57; -yy715: - YYDEBUG(715, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy679; - if (yych <= 'X') goto yy57; - goto yy679; + if (yych == 'R') goto yy678; + if (yych <= 'X') goto yy56; + goto yy678; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy57; - goto yy679; + if (yych <= 'q') goto yy56; + goto yy678; } else { - if (yych == 'y') goto yy679; - goto yy57; + 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 == 'B') goto yy679; - if (yych == 'b') goto yy679; - goto yy57; -yy717: - YYDEBUG(717, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy679; - if (yych <= 'M') goto yy57; - goto yy679; + if (yych == 'L') goto yy678; + if (yych <= 'M') goto yy56; + goto yy678; } else { if (yych <= 'l') { - if (yych <= 'k') goto yy57; - goto yy679; + if (yych <= 'k') goto yy56; + goto yy678; } else { - if (yych == 'n') goto yy679; - goto yy57; + 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 == 'N') goto yy679; - if (yych == 'n') goto yy679; - goto yy57; + if (yych == 't') goto yy727; + goto yy56; yy719: YYDEBUG(719, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 't') goto yy728; - goto yy57; + if (yych == 'd') goto yy727; + goto yy56; yy720: YYDEBUG(720, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'd') goto yy728; - goto yy57; + if (yych == 'd') goto yy727; + goto yy56; yy721: YYDEBUG(721, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'd') goto yy728; - goto yy57; + if (yych == 'h') goto yy727; + goto yy56; yy722: YYDEBUG(722, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'h') goto yy728; - goto yy57; -yy723: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; YYDEBUG(723, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych <= '/') goto yy666; + if (yych >= ':') goto yy666; YYDEBUG(724, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy667; - if (yych >= ':') goto yy667; + if (yych <= '/') goto yy666; + if (yych >= ':') goto yy666; YYDEBUG(725, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy667; - if (yych >= ':') goto yy667; + if (yych <= '/') goto yy666; + if (yych >= ':') goto yy666; YYDEBUG(726, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy667; - if (yych >= ':') goto yy667; + goto yy666; +yy727: YYDEBUG(727, *YYCURSOR); - yych = *++YYCURSOR; - goto yy667; -yy728: - YYDEBUG(728, *YYCURSOR); yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '/') goto yy723; - goto yy667; -yy729: - YYDEBUG(729, *YYCURSOR); + if (yych == '/') goto yy722; + goto yy666; +yy728: + YYDEBUG(728, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '\t') goto yy731; - goto yy578; + if (yych == '\t') goto yy730; + goto yy577; } else { - if (yych <= '-') goto yy732; - if (yych <= '.') goto yy731; - if (yych >= '0') goto yy578; + if (yych <= '-') goto yy731; + if (yych <= '.') goto yy730; + if (yych >= '0') goto yy577; } -yy730: - YYDEBUG(730, *YYCURSOR); +yy729: + YYDEBUG(729, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case 'A': - case 'a': goto yy673; + case 'a': goto yy672; case 'D': - case 'd': goto yy677; + case 'd': goto yy676; case 'F': - case 'f': goto yy671; + case 'f': goto yy670; case 'J': - case 'j': goto yy670; + case 'j': goto yy669; case 'M': - case 'm': goto yy672; + case 'm': goto yy671; case 'N': - case 'n': goto yy676; + case 'n': goto yy675; case 'O': - case 'o': goto yy675; + case 'o': goto yy674; case 'S': - case 's': goto yy674; - default: goto yy57; + 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 yy578; - if (yych <= '0') goto yy736; - if (yych <= '1') goto yy737; - if (yych <= '9') goto yy738; - goto yy578; + 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 yy578; - if (yych <= '0') goto yy733; - if (yych <= '1') goto yy734; - if (yych <= '9') goto yy735; - goto yy578; + 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 yy57; - if (yych <= '.') goto yy602; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy735; - goto yy57; + 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 yy57; - if (yych <= '.') goto yy602; - if (yych <= '/') goto yy57; - if (yych >= '3') goto yy57; + if (yych <= ',') goto yy56; + if (yych <= '.') goto yy601; + goto yy56; yy735: YYDEBUG(735, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= ',') goto yy57; - if (yych <= '.') goto yy602; - goto yy57; + 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: YYDEBUG(736, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy602; - goto yy739; + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy601; + goto yy738; } else { - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy738; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; } yy737: YYDEBUG(737, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy602; - goto yy739; - } else { - if (yych <= '/') goto yy57; - if (yych >= '3') goto yy57; - } + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy601; + if (yych >= '/') goto yy56; yy738: YYDEBUG(738, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy602; - if (yych >= '/') goto yy57; -yy739: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; YYDEBUG(739, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy610; + goto yy56; +yy740: YYDEBUG(740, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy611; - goto yy57; + if (yych == '-') goto yy784; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy782; + goto yy60; yy741: YYDEBUG(741, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '-') goto yy785; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy783; - goto yy61; -yy742: - YYDEBUG(742, *YYCURSOR); - yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { - case '0': goto yy751; - case '1': goto yy752; + case '0': goto yy750; + case '1': goto yy751; case '2': case '3': case '4': @@ -12388,253 +12369,253 @@ yy742: case '6': case '7': case '8': - case '9': goto yy753; + case '9': goto yy752; case 'A': - case 'a': goto yy746; + case 'a': goto yy745; case 'D': - case 'd': goto yy750; + case 'd': goto yy749; case 'F': - case 'f': goto yy744; + case 'f': goto yy743; case 'J': - case 'j': goto yy743; + case 'j': goto yy742; case 'M': - case 'm': goto yy745; + case 'm': goto yy744; case 'N': - case 'n': goto yy749; + case 'n': goto yy748; case 'O': - case 'o': goto yy748; + case 'o': goto yy747; case 'S': - case 's': goto yy747; - default: goto yy57; + case 's': goto yy746; + default: goto yy56; } -yy743: - YYDEBUG(743, *YYCURSOR); +yy742: + YYDEBUG(742, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy782; - if (yych <= 'T') goto yy57; - goto yy781; + if (yych == 'A') goto yy781; + if (yych <= 'T') goto yy56; + goto yy780; } else { if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy782; + if (yych <= '`') goto yy56; + goto yy781; } else { - if (yych == 'u') goto yy781; - goto yy57; + 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 == 'E') goto yy780; - if (yych == 'e') goto yy780; - goto yy57; + if (yych == 'A') goto yy778; + if (yych == 'a') goto yy778; + goto yy56; yy745: YYDEBUG(745, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy779; - if (yych == 'a') goto yy779; - goto yy57; -yy746: - YYDEBUG(746, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'P') goto yy778; - if (yych <= 'T') goto yy57; - goto yy777; + if (yych == 'P') goto yy777; + if (yych <= 'T') goto yy56; + goto yy776; } else { if (yych <= 'p') { - if (yych <= 'o') goto yy57; - goto yy778; + if (yych <= 'o') goto yy56; + goto yy777; } else { - if (yych == 'u') goto yy777; - goto yy57; + 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 == 'E') goto yy775; - if (yych == 'e') goto yy775; - goto yy57; + if (yych == 'C') goto yy773; + if (yych == 'c') goto yy773; + goto yy56; yy748: YYDEBUG(748, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy774; - if (yych == 'c') goto yy774; - goto yy57; + if (yych == 'O') goto yy772; + if (yych == 'o') goto yy772; + goto yy56; yy749: YYDEBUG(749, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy773; - if (yych == 'o') goto yy773; - goto yy57; + if (yych == 'E') goto yy764; + if (yych == 'e') goto yy764; + goto yy56; yy750: YYDEBUG(750, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy765; - if (yych == 'e') goto yy765; - goto yy57; + if (yych == '-') goto yy753; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy757; + goto yy56; yy751: YYDEBUG(751, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '-') goto yy754; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy758; - goto yy57; + if (yych == '-') goto yy753; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy757; + goto yy56; yy752: YYDEBUG(752, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '-') goto yy754; - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy758; - goto yy57; + if (yych != '-') goto yy56; yy753: YYDEBUG(753, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '-') goto yy57; + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy755; - if (yych <= '3') goto yy756; - if (yych <= '9') goto yy757; - goto yy57; -yy755: - YYDEBUG(755, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy757; - if (yych <= 'm') goto yy657; - goto yy661; + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy756; + if (yych <= 'm') goto yy656; + goto yy660; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } -yy756: - YYDEBUG(756, *YYCURSOR); +yy755: + YYDEBUG(755, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '1') goto yy757; - if (yych <= 'm') goto yy657; - goto yy661; + if (yych <= '/') goto yy656; + if (yych <= '1') goto yy756; + if (yych <= 'm') goto yy656; + goto yy660; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } -yy757: - YYDEBUG(757, *YYCURSOR); +yy756: + YYDEBUG(756, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { - if (yych == 'n') goto yy661; - goto yy657; + if (yych == 'n') goto yy660; + goto yy656; } else { - if (yych <= 'r') goto yy662; - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; + if (yych <= 'r') goto yy661; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } -yy758: - YYDEBUG(758, *YYCURSOR); +yy757: + YYDEBUG(757, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '-') goto yy57; - YYDEBUG(759, *YYCURSOR); + if (yych != '-') goto yy56; + YYDEBUG(758, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { - if (yych <= '/') goto yy57; - if (yych >= '1') goto yy761; + if (yych <= '/') goto yy56; + if (yych >= '1') goto yy760; } else { - if (yych <= '3') goto yy762; - if (yych <= '9') goto yy757; - goto yy57; + if (yych <= '3') goto yy761; + if (yych <= '9') goto yy756; + goto yy56; } - YYDEBUG(760, *YYCURSOR); + YYDEBUG(759, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy763; - if (yych <= 'm') goto yy657; - goto yy661; + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy762; + if (yych <= 'm') goto yy656; + goto yy660; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } -yy761: - YYDEBUG(761, *YYCURSOR); +yy760: + YYDEBUG(760, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy763; - if (yych <= 'm') goto yy657; - goto yy661; + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy762; + if (yych <= 'm') goto yy656; + goto yy660; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } -yy762: - YYDEBUG(762, *YYCURSOR); +yy761: + YYDEBUG(761, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '1') goto yy763; - if (yych <= 'm') goto yy657; - goto yy661; + if (yych <= '/') goto yy656; + if (yych <= '1') goto yy762; + if (yych <= 'm') goto yy656; + goto yy660; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } -yy763: - YYDEBUG(763, *YYCURSOR); +yy762: + YYDEBUG(762, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { - if (yych == 'n') goto yy661; + if (yych == 'n') goto yy660; } else { - if (yych <= 'r') goto yy662; - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; + if (yych <= 'r') goto yy661; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; } -yy764: - YYDEBUG(764, *YYCURSOR); +yy763: + YYDEBUG(763, *YYCURSOR); #line 1271 "ext/date/lib/parse_date.re" { int length = 0; @@ -12648,45 +12629,45 @@ yy764: TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 12652 "ext/date/lib/parse_date.c" +#line 12633 "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 == 'C') goto yy766; - if (yych != 'c') goto yy57; + if (yych != '-') goto yy56; yy766: YYDEBUG(766, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '-') goto yy57; + 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 yy57; - if (yych <= '0') goto yy768; - if (yych <= '2') goto yy769; - if (yych <= '3') goto yy770; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy770; + goto yy56; yy768: YYDEBUG(768, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy771; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy770; + goto yy56; yy769: YYDEBUG(769, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy771; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '2') goto yy56; yy770: YYDEBUG(770, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '2') goto yy57; -yy771: - YYDEBUG(771, *YYCURSOR); ++YYCURSOR; - YYDEBUG(772, *YYCURSOR); + YYDEBUG(771, *YYCURSOR); #line 1512 "ext/date/lib/parse_date.re" { int length = 0; @@ -12700,93 +12681,93 @@ yy771: TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 12704 "ext/date/lib/parse_date.c" +#line 12685 "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 == 'V') goto yy766; - if (yych == 'v') goto yy766; - goto yy57; + if (yych == 'T') goto yy765; + if (yych == 't') goto yy765; + goto yy56; yy774: YYDEBUG(774, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy766; - if (yych == 't') goto yy766; - goto yy57; + if (yych == 'P') goto yy775; + if (yych != 'p') goto yy56; yy775: YYDEBUG(775, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy776; - if (yych != 'p') goto yy57; -yy776: - YYDEBUG(776, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == '-') goto yy767; - goto yy57; + if (yych == '-') goto yy766; + goto yy56; } else { - if (yych <= 'T') goto yy766; - if (yych == 't') goto yy766; - goto yy57; + 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 == 'G') goto yy766; - if (yych == 'g') goto yy766; - goto yy57; + if (yych == 'R') goto yy765; + if (yych == 'r') goto yy765; + goto yy56; yy778: YYDEBUG(778, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy766; - if (yych == 'r') goto yy766; - goto yy57; -yy779: - YYDEBUG(779, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy766; - if (yych <= 'X') goto yy57; - goto yy766; + if (yych == 'R') goto yy765; + if (yych <= 'X') goto yy56; + goto yy765; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy57; - goto yy766; + if (yych <= 'q') goto yy56; + goto yy765; } else { - if (yych == 'y') goto yy766; - goto yy57; + 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 == 'B') goto yy766; - if (yych == 'b') goto yy766; - goto yy57; -yy781: - YYDEBUG(781, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy766; - if (yych <= 'M') goto yy57; - goto yy766; + if (yych == 'L') goto yy765; + if (yych <= 'M') goto yy56; + goto yy765; } else { if (yych <= 'l') { - if (yych <= 'k') goto yy57; - goto yy766; + if (yych <= 'k') goto yy56; + goto yy765; } else { - if (yych == 'n') goto yy766; - goto yy57; + if (yych == 'n') goto yy765; + goto yy56; } } +yy781: + YYDEBUG(781, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy765; + if (yych == 'n') goto yy765; + goto yy56; yy782: YYDEBUG(782, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy766; - if (yych == 'n') goto yy766; - goto yy57; -yy783: - YYDEBUG(783, *YYCURSOR); yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); @@ -12818,26 +12799,26 @@ yy783: case 's': case 't': case 'w': - case 'y': goto yy791; - case '-': goto yy788; - case '.': goto yy792; - case '/': goto yy789; - case '0': goto yy805; - case '1': goto yy806; - case '2': goto yy808; - case '3': goto yy809; + case '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 yy55; - case ':': goto yy807; - case 'W': goto yy810; - default: goto yy784; + case '9': goto yy54; + case ':': goto yy806; + case 'W': goto yy809; + default: goto yy783; } -yy784: - YYDEBUG(784, *YYCURSOR); +yy783: + YYDEBUG(783, *YYCURSOR); #line 1547 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("year4"); @@ -12846,14 +12827,14 @@ yy784: TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 12850 "ext/date/lib/parse_date.c" -yy785: - YYDEBUG(785, *YYCURSOR); +#line 12831 "ext/date/lib/parse_date.c" +yy784: + YYDEBUG(784, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { - case '0': goto yy786; - case '1': goto yy787; + case '0': goto yy785; + case '1': goto yy786; case '2': case '3': case '4': @@ -12861,46 +12842,46 @@ yy785: case '6': case '7': case '8': - case '9': goto yy753; + case '9': goto yy752; case 'A': - case 'a': goto yy746; + case 'a': goto yy745; case 'D': - case 'd': goto yy750; + case 'd': goto yy749; case 'F': - case 'f': goto yy744; + case 'f': goto yy743; case 'J': - case 'j': goto yy743; + case 'j': goto yy742; case 'M': - case 'm': goto yy745; + case 'm': goto yy744; case 'N': - case 'n': goto yy749; + case 'n': goto yy748; case 'O': - case 'o': goto yy748; + case 'o': goto yy747; case 'S': - case 's': goto yy747; - default: goto yy57; + case 's': goto yy746; + 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 yy754; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy753; - goto yy57; + if (yych == '-') goto yy753; + if (yych <= '/') goto yy56; + if (yych <= '2') goto yy752; + goto yy56; yy787: YYDEBUG(787, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '-') goto yy754; - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy753; - goto yy57; -yy788: - YYDEBUG(788, *YYCURSOR); - yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { - case '0': goto yy973; - case '1': goto yy975; + case '0': goto yy972; + case '1': goto yy974; case '2': case '3': case '4': @@ -12908,95 +12889,95 @@ yy788: case '6': case '7': case '8': - case '9': goto yy976; + case '9': goto yy975; case 'A': - case 'a': goto yy967; + case 'a': goto yy966; case 'D': - case 'd': goto yy971; + case 'd': goto yy970; case 'F': - case 'f': goto yy965; + case 'f': goto yy964; case 'J': - case 'j': goto yy964; + case 'j': goto yy963; case 'M': - case 'm': goto yy966; + case 'm': goto yy965; case 'N': - case 'n': goto yy970; + case 'n': goto yy969; case 'O': - case 'o': goto yy969; + case 'o': goto yy968; case 'S': - case 's': goto yy968; - case 'W': goto yy972; - default: goto yy939; + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy947; - if (yych <= '1') goto yy948; - if (yych <= '9') goto yy949; - goto yy57; -yy790: - YYDEBUG(790, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; -yy791: - YYDEBUG(791, *YYCURSOR); +yy790: + YYDEBUG(790, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': - case ' ': goto yy790; + case ' ': goto yy789; case '-': - case '.': goto yy938; + case '.': goto yy937; case 'A': - case 'a': goto yy800; + case 'a': goto yy799; case 'D': - case 'd': goto yy804; + case 'd': goto yy803; case 'F': - case 'f': goto yy798; + case 'f': goto yy797; case 'H': - case 'h': goto yy64; - case 'I': goto yy793; + case 'h': goto yy63; + case 'I': goto yy792; case 'J': - case 'j': goto yy797; + case 'j': goto yy796; case 'M': - case 'm': goto yy799; + case 'm': goto yy798; case 'N': - case 'n': goto yy803; + case 'n': goto yy802; case 'O': - case 'o': goto yy802; + case 'o': goto yy801; case 'S': - case 's': goto yy801; + case 's': goto yy800; case 'T': - case 't': goto yy69; - case 'V': goto yy795; + case 't': goto yy68; + case 'V': goto yy794; case 'W': - case 'w': goto yy68; - case 'X': goto yy796; + case 'w': goto yy67; + case 'X': goto yy795; case 'Y': - case 'y': goto yy67; - default: goto yy57; + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy939; - if (yych <= '0') goto yy931; - if (yych <= '2') goto yy932; - if (yych <= '3') goto yy933; - goto yy939; -yy793: - YYDEBUG(793, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= 'U') { - if (yych == 'I') goto yy930; + if (yych == 'I') goto yy929; } else { - if (yych == 'W') goto yy794; - if (yych <= 'X') goto yy884; + if (yych == 'W') goto yy793; + if (yych <= 'X') goto yy883; } -yy794: - YYDEBUG(794, *YYCURSOR); +yy793: + YYDEBUG(793, *YYCURSOR); #line 1368 "ext/date/lib/parse_date.re" { int length = 0; @@ -13010,221 +12991,221 @@ yy794: TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 13014 "ext/date/lib/parse_date.c" +#line 12995 "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 yy928; - goto yy794; + if (yych == 'I') goto yy926; + goto yy793; yy796: YYDEBUG(796, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy927; - goto yy794; -yy797: - YYDEBUG(797, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy920; - if (yych <= 'T') goto yy57; - goto yy919; + if (yych == 'A') goto yy919; + if (yych <= 'T') goto yy56; + goto yy918; } else { if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy920; + if (yych <= '`') goto yy56; + goto yy919; } else { - if (yych == 'u') goto yy919; - goto yy57; + if (yych == 'u') goto yy918; + goto yy56; } } -yy798: - YYDEBUG(798, *YYCURSOR); +yy797: + YYDEBUG(797, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { - if (yych == 'E') goto yy913; - goto yy57; + if (yych == 'E') goto yy912; + goto yy56; } else { - if (yych <= 'O') goto yy99; - if (yych <= 'Q') goto yy57; - goto yy98; + if (yych <= 'O') goto yy98; + if (yych <= 'Q') goto yy56; + goto yy97; } } else { if (yych <= 'n') { - if (yych == 'e') goto yy913; - goto yy57; + if (yych == 'e') goto yy912; + goto yy56; } else { - if (yych <= 'o') goto yy99; - if (yych == 'r') goto yy98; - goto yy57; + if (yych <= 'o') goto yy98; + if (yych == 'r') goto yy97; + goto yy56; } } -yy799: - YYDEBUG(799, *YYCURSOR); +yy798: + YYDEBUG(798, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { - if (yych == 'A') goto yy910; - goto yy57; + if (yych == 'A') goto yy909; + goto yy56; } else { - if (yych <= 'I') goto yy118; - if (yych <= 'N') goto yy57; - goto yy117; + if (yych <= 'I') goto yy117; + if (yych <= 'N') goto yy56; + goto yy116; } } else { if (yych <= 'h') { - if (yych == 'a') goto yy910; - goto yy57; + if (yych == 'a') goto yy909; + goto yy56; } else { - if (yych <= 'i') goto yy118; - if (yych == 'o') goto yy117; - goto yy57; + if (yych <= 'i') goto yy117; + if (yych == 'o') goto yy116; + goto yy56; } } -yy800: - YYDEBUG(800, *YYCURSOR); +yy799: + YYDEBUG(799, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'P') goto yy904; - if (yych <= 'T') goto yy57; - goto yy903; + if (yych == 'P') goto yy903; + if (yych <= 'T') goto yy56; + goto yy902; } else { if (yych <= 'p') { - if (yych <= 'o') goto yy57; - goto yy904; + if (yych <= 'o') goto yy56; + goto yy903; } else { - if (yych == 'u') goto yy903; - goto yy57; + if (yych == 'u') goto yy902; + goto yy56; } } -yy801: - YYDEBUG(801, *YYCURSOR); +yy800: + YYDEBUG(800, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { - if (yych == 'A') goto yy127; - goto yy57; + if (yych == 'A') goto yy126; + goto yy56; } else { - if (yych <= 'E') goto yy896; - if (yych <= 'T') goto yy57; - goto yy126; + if (yych <= 'E') goto yy895; + if (yych <= 'T') goto yy56; + goto yy125; } } else { if (yych <= 'd') { - if (yych == 'a') goto yy127; - goto yy57; + if (yych == 'a') goto yy126; + goto yy56; } else { - if (yych <= 'e') goto yy896; - if (yych == 'u') goto yy126; - goto yy57; + if (yych <= 'e') goto yy895; + if (yych == 'u') goto yy125; + goto yy56; } } +yy801: + YYDEBUG(801, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy890; + if (yych == 'c') goto yy890; + goto yy56; yy802: YYDEBUG(802, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy891; - if (yych == 'c') goto yy891; - goto yy57; + if (yych == 'O') goto yy884; + if (yych == 'o') goto yy884; + goto yy56; yy803: YYDEBUG(803, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy885; - if (yych == 'o') goto yy885; - goto yy57; -yy804: - YYDEBUG(804, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'E') { - if (yych == 'A') goto yy114; - if (yych <= 'D') goto yy57; - goto yy878; + if (yych == 'A') goto yy113; + if (yych <= 'D') goto yy56; + goto yy877; } else { if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy114; + if (yych <= '`') goto yy56; + goto yy113; } else { - if (yych == 'e') goto yy878; - goto yy57; + if (yych == 'e') goto yy877; + 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 yy61; - if (yych <= '0') goto yy875; - if (yych <= '9') goto yy876; - goto yy61; + 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 yy61; - if (yych <= '2') goto yy844; - if (yych <= '9') goto yy823; - goto yy61; + 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 yy57; - if (yych <= '0') goto yy824; - if (yych <= '1') goto yy825; - goto yy57; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy822; + goto yy60; yy808: YYDEBUG(808, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy823; - goto yy61; + 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 <= '/') goto yy61; - if (yych <= '5') goto yy819; - if (yych <= '6') goto yy820; - if (yych <= '9') goto yy55; - goto yy61; -yy810: - YYDEBUG(810, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '5') { - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy811; - if (yych <= '4') goto yy812; - goto yy813; + if (yych <= '/') goto yy56; + if (yych <= '0') goto yy810; + if (yych <= '4') goto yy811; + goto yy812; } else { if (yych <= 'E') { - if (yych <= 'D') goto yy57; - goto yy83; + if (yych <= 'D') goto yy56; + goto yy82; } else { - if (yych == 'e') goto yy83; - goto yy57; + if (yych == 'e') goto yy82; + goto yy56; } } +yy810: + YYDEBUG(810, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '0') goto yy56; + if (yych <= '9') goto yy813; + goto yy56; yy811: YYDEBUG(811, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '0') goto yy57; - if (yych <= '9') goto yy814; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy813; + goto yy56; yy812: YYDEBUG(812, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy814; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '4') goto yy56; yy813: YYDEBUG(813, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '4') goto yy57; -yy814: - YYDEBUG(814, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy816; - if (yych <= '/') goto yy815; - if (yych <= '7') goto yy817; -yy815: - YYDEBUG(815, *YYCURSOR); + if (yych == '-') goto yy815; + if (yych <= '/') goto yy814; + if (yych <= '7') goto yy816; +yy814: + YYDEBUG(814, *YYCURSOR); #line 1479 "ext/date/lib/parse_date.re" { timelib_sll w, d; @@ -13243,16 +13224,16 @@ yy815: TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 13247 "ext/date/lib/parse_date.c" +#line 13228 "ext/date/lib/parse_date.c" +yy815: + YYDEBUG(815, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '8') goto yy56; yy816: YYDEBUG(816, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '8') goto yy57; -yy817: - YYDEBUG(817, *YYCURSOR); ++YYCURSOR; - YYDEBUG(818, *YYCURSOR); + YYDEBUG(817, *YYCURSOR); #line 1460 "ext/date/lib/parse_date.re" { timelib_sll w, d; @@ -13271,70 +13252,70 @@ yy817: TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 13275 "ext/date/lib/parse_date.c" +#line 13256 "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); yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy821; - goto yy61; + if (yych <= '/') goto yy60; + if (yych <= '6') goto yy820; + if (yych <= '9') goto yy54; + goto yy60; yy820: YYDEBUG(820, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '6') goto yy821; - if (yych <= '9') goto yy55; - goto yy61; -yy821: - YYDEBUG(821, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { - goto yy55; + goto yy54; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych >= ' ') goto yy61; + if (yych == '\t') goto yy60; + if (yych >= ' ') goto yy60; } else { - if (yych == 'D') goto yy61; - if (yych >= 'F') goto yy61; + if (yych == 'D') goto yy60; + if (yych >= 'F') goto yy60; } } else { if (yych <= 'M') { - if (yych == 'H') goto yy61; - if (yych >= 'M') goto yy61; + if (yych == 'H') goto yy60; + if (yych >= 'M') goto yy60; } else { - if (yych <= 'R') goto yy822; - if (yych <= 'T') goto yy61; - if (yych >= 'W') goto yy61; + 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 yy61; - if (yych >= 'd') goto yy61; + if (yych == 'Y') goto yy60; + if (yych >= 'd') goto yy60; } else { - if (yych == 'f') goto yy61; - if (yych >= 'h') goto yy61; + if (yych == 'f') goto yy60; + if (yych >= 'h') goto yy60; } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych >= 's') goto yy61; + if (yych == 'm') goto yy60; + if (yych >= 's') goto yy60; } else { if (yych <= 'w') { - if (yych >= 'w') goto yy61; + if (yych >= 'w') goto yy60; } else { - if (yych == 'y') goto yy61; + if (yych == 'y') goto yy60; } } } } -yy822: - YYDEBUG(822, *YYCURSOR); +yy821: + YYDEBUG(821, *YYCURSOR); #line 1446 "ext/date/lib/parse_date.re" { int length = 0; @@ -13348,109 +13329,109 @@ yy822: TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } -#line 13352 "ext/date/lib/parse_date.c" +#line 13333 "ext/date/lib/parse_date.c" +yy822: + YYDEBUG(822, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy820; + goto yy60; yy823: YYDEBUG(823, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy821; - goto yy61; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy825; + goto yy56; yy824: YYDEBUG(824, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy826; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; yy825: YYDEBUG(825, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '3') goto yy57; -yy826: + if (yych != ':') goto yy56; YYDEBUG(826, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ':') goto yy57; + 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); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy828; - if (yych <= '2') goto yy829; - if (yych <= '3') goto yy830; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy830; + goto yy56; yy828: YYDEBUG(828, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy831; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy830; + goto yy56; yy829: YYDEBUG(829, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy831; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '2') goto yy56; yy830: YYDEBUG(830, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '2') goto yy57; -yy831: + if (yych != ' ') goto yy56; YYDEBUG(831, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ' ') goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy832; + if (yych <= '2') goto yy833; + goto yy56; +yy832: YYDEBUG(832, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy833; - if (yych <= '2') goto yy834; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy834; + goto yy56; yy833: YYDEBUG(833, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy835; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '5') goto yy56; yy834: YYDEBUG(834, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '5') goto yy57; -yy835: + if (yych != ':') goto yy56; YYDEBUG(835, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '6') goto yy56; YYDEBUG(836, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '6') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; YYDEBUG(837, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych != ':') goto yy56; YYDEBUG(838, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy839; + if (yych <= '6') goto yy840; + goto yy56; +yy839: YYDEBUG(839, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy840; - if (yych <= '6') goto yy841; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy841; + goto yy56; yy840: YYDEBUG(840, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy842; - goto yy57; + if (yych != '0') goto yy56; yy841: YYDEBUG(841, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '0') goto yy57; + ++YYCURSOR; yy842: YYDEBUG(842, *YYCURSOR); - ++YYCURSOR; -yy843: - YYDEBUG(843, *YYCURSOR); #line 1420 "ext/date/lib/parse_date.re" { int tz_not_found; @@ -13476,268 +13457,268 @@ yy843: TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } -#line 13480 "ext/date/lib/parse_date.c" -yy844: - YYDEBUG(844, *YYCURSOR); +#line 13461 "ext/date/lib/parse_date.c" +yy843: + YYDEBUG(843, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { - if (yych <= '/') goto yy61; - if (yych >= '1') goto yy846; + if (yych <= '/') goto yy60; + if (yych >= '1') goto yy845; } else { - if (yych <= '3') goto yy847; - if (yych <= '9') goto yy821; - goto yy61; + if (yych <= '3') goto yy846; + if (yych <= '9') goto yy820; + goto yy60; } -yy845: - YYDEBUG(845, *YYCURSOR); +yy844: + YYDEBUG(844, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy822; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy821; + goto yy60; } else { - if (yych <= '/') goto yy822; - if (yych <= '9') goto yy848; - if (yych <= 'C') goto yy822; - goto yy61; + if (yych <= '/') goto yy821; + if (yych <= '9') goto yy847; + if (yych <= 'C') goto yy821; + goto yy60; } } else { if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy822; - goto yy61; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy821; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy822; - goto yy61; + if (yych <= 'L') goto yy821; + goto yy60; } else { - if (yych <= 'R') goto yy822; - if (yych <= 'T') goto yy61; - goto yy822; + if (yych <= 'R') goto yy821; + if (yych <= 'T') goto yy60; + goto yy821; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy822; - if (yych <= 'Y') goto yy61; - goto yy822; + if (yych == 'X') goto yy821; + if (yych <= 'Y') goto yy60; + goto yy821; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy822; + if (yych <= 'd') goto yy60; + goto yy821; } else { - if (yych == 'g') goto yy822; - goto yy61; + if (yych == 'g') goto yy821; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy822; - goto yy61; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy821; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy822; - goto yy61; + if (yych <= 'v') goto yy821; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy822; + if (yych == 'y') goto yy60; + goto yy821; } } } } -yy846: - YYDEBUG(846, *YYCURSOR); +yy845: + YYDEBUG(845, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy822; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy821; + goto yy60; } else { - if (yych <= '/') goto yy822; - if (yych <= '9') goto yy848; - if (yych <= 'C') goto yy822; - goto yy61; + if (yych <= '/') goto yy821; + if (yych <= '9') goto yy847; + if (yych <= 'C') goto yy821; + goto yy60; } } else { if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy822; - goto yy61; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy821; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy822; - goto yy61; + if (yych <= 'L') goto yy821; + goto yy60; } else { - if (yych <= 'R') goto yy822; - if (yych <= 'T') goto yy61; - goto yy822; + if (yych <= 'R') goto yy821; + if (yych <= 'T') goto yy60; + goto yy821; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy822; - if (yych <= 'Y') goto yy61; - goto yy822; + if (yych == 'X') goto yy821; + if (yych <= 'Y') goto yy60; + goto yy821; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy822; + if (yych <= 'd') goto yy60; + goto yy821; } else { - if (yych == 'g') goto yy822; - goto yy61; + if (yych == 'g') goto yy821; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy822; - goto yy61; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy821; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy822; - goto yy61; + if (yych <= 'v') goto yy821; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy822; + if (yych == 'y') goto yy60; + goto yy821; } } } } -yy847: - YYDEBUG(847, *YYCURSOR); +yy846: + YYDEBUG(846, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy822; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy821; + goto yy60; } else { if (yych <= '1') { - if (yych <= '/') goto yy822; + if (yych <= '/') goto yy821; } else { - if (yych <= '9') goto yy55; - if (yych <= 'C') goto yy822; - goto yy61; + if (yych <= '9') goto yy54; + if (yych <= 'C') goto yy821; + goto yy60; } } } else { if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy822; - goto yy61; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy821; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy822; - goto yy61; + if (yych <= 'L') goto yy821; + goto yy60; } else { - if (yych <= 'R') goto yy822; - if (yych <= 'T') goto yy61; - goto yy822; + if (yych <= 'R') goto yy821; + if (yych <= 'T') goto yy60; + goto yy821; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy822; - if (yych <= 'Y') goto yy61; - goto yy822; + if (yych == 'X') goto yy821; + if (yych <= 'Y') goto yy60; + goto yy821; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy822; + if (yych <= 'd') goto yy60; + goto yy821; } else { - if (yych == 'g') goto yy822; - goto yy61; + if (yych == 'g') goto yy821; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy822; - goto yy61; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy821; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy822; - goto yy61; + if (yych <= 'v') goto yy821; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy822; + if (yych == 'y') goto yy60; + goto yy821; } } } } -yy848: - YYDEBUG(848, *YYCURSOR); +yy847: + YYDEBUG(847, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { - goto yy55; + goto yy54; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { - if (yych == '\t') goto yy60; - if (yych >= ' ') goto yy60; + if (yych == '\t') goto yy59; + if (yych >= ' ') goto yy59; } else { - if (yych == 'D') goto yy65; - if (yych >= 'F') goto yy66; + if (yych == 'D') goto yy64; + if (yych >= 'F') goto yy65; } } else { if (yych <= 'M') { - if (yych == 'H') goto yy64; - if (yych >= 'M') goto yy63; + if (yych == 'H') goto yy63; + if (yych >= 'M') goto yy62; } else { if (yych <= 'S') { - if (yych >= 'S') goto yy62; + if (yych >= 'S') goto yy61; } else { - if (yych <= 'T') goto yy850; - if (yych >= 'W') goto yy68; + if (yych <= 'T') goto yy849; + if (yych >= 'W') goto yy67; } } } } else { if (yych <= 'l') { if (yych <= 'd') { - if (yych == 'Y') goto yy67; - if (yych >= 'd') goto yy65; + if (yych == 'Y') goto yy66; + if (yych >= 'd') goto yy64; } else { if (yych <= 'f') { - if (yych >= 'f') goto yy66; + if (yych >= 'f') goto yy65; } else { - if (yych == 'h') goto yy64; + if (yych == 'h') goto yy63; } } } else { if (yych <= 't') { - if (yych <= 'm') goto yy63; - if (yych <= 'r') goto yy849; - if (yych <= 's') goto yy62; - goto yy851; + 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 yy68; + if (yych >= 'w') goto yy67; } else { - if (yych == 'y') goto yy67; + if (yych == 'y') goto yy66; } } } } -yy849: - YYDEBUG(849, *YYCURSOR); +yy848: + YYDEBUG(848, *YYCURSOR); #line 1408 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("datenocolon"); @@ -13749,926 +13730,926 @@ yy849: TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } -#line 13753 "ext/date/lib/parse_date.c" -yy850: - YYDEBUG(850, *YYCURSOR); +#line 13734 "ext/date/lib/parse_date.c" +yy849: + YYDEBUG(849, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy865; - goto yy866; + if (yych <= '/') goto yy56; + if (yych <= '1') goto yy864; + goto yy865; } else { - if (yych <= '9') goto yy867; - if (yych <= 'G') goto yy57; - goto yy70; + if (yych <= '9') goto yy866; + if (yych <= 'G') goto yy56; + goto yy69; } } else { if (yych <= 'g') { - if (yych == 'U') goto yy71; - goto yy57; + if (yych == 'U') goto yy70; + goto yy56; } else { - if (yych <= 'h') goto yy70; - if (yych == 'u') goto yy71; - goto yy57; + if (yych <= 'h') goto yy69; + if (yych == 'u') goto yy70; + goto yy56; } } -yy851: - YYDEBUG(851, *YYCURSOR); +yy850: + YYDEBUG(850, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { - if (yych <= '/') goto yy57; - if (yych >= '2') goto yy853; + if (yych <= '/') goto yy56; + if (yych >= '2') goto yy852; } else { - if (yych <= '9') goto yy854; - if (yych <= 'G') goto yy57; - goto yy70; + if (yych <= '9') goto yy853; + if (yych <= 'G') goto yy56; + goto yy69; } } else { if (yych <= 'g') { - if (yych == 'U') goto yy71; - goto yy57; + if (yych == 'U') goto yy70; + goto yy56; } else { - if (yych <= 'h') goto yy70; - if (yych == 'u') goto yy71; - goto yy57; + if (yych <= 'h') goto yy69; + if (yych == 'u') goto yy70; + 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 yy57; - if (yych <= '5') goto yy859; - if (yych <= '9') goto yy854; - goto yy57; + 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 yy57; - if (yych <= '4') goto yy859; - if (yych <= '5') goto yy855; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '6') goto yy56; yy854: YYDEBUG(854, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '6') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; yy855: YYDEBUG(855, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy856; + if (yych <= '6') goto yy857; + goto yy56; yy856: YYDEBUG(856, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy857; - if (yych <= '6') goto yy858; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy841; + goto yy56; yy857: YYDEBUG(857, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy842; - goto yy57; + if (yych == '0') goto yy841; + goto yy56; yy858: YYDEBUG(858, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '0') goto yy842; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy859; + if (yych <= '9') goto yy855; + goto yy56; yy859: YYDEBUG(859, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; + if (yych <= '/') goto yy56; if (yych <= '5') goto yy860; - if (yych <= '9') goto yy856; - goto yy57; + if (yych <= '6') goto yy861; + if (yych <= '9') goto yy855; + goto yy56; yy860: YYDEBUG(860, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy861; - if (yych <= '6') goto yy862; - if (yych <= '9') goto yy856; - goto yy57; + 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); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy863; - if (yych <= '6') goto yy864; - if (yych <= '9') goto yy842; - goto yy57; + 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); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy863; - if (yych <= '5') goto yy857; - if (yych <= '6') goto yy858; - goto yy57; + if (yych <= '/') goto yy842; + if (yych <= '9') goto yy841; + goto yy842; yy863: YYDEBUG(863, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy843; - if (yych <= '9') goto yy842; - goto yy843; + if (yych == '0') goto yy841; + goto yy842; yy864: YYDEBUG(864, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '0') goto yy842; - goto yy843; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy873; + if (yych <= '9') goto yy866; + if (yych <= ':') goto yy867; + goto yy56; yy865: YYDEBUG(865, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy874; - if (yych <= '9') goto yy867; - if (yych <= ':') goto yy868; - goto yy57; -yy866: - YYDEBUG(866, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '5') { - if (yych <= '/') goto yy57; - if (yych <= '4') goto yy874; - goto yy855; + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy873; + goto yy854; } else { - if (yych == ':') goto yy868; - goto yy57; + if (yych == ':') goto yy867; + goto yy56; } +yy866: + YYDEBUG(866, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy854; + if (yych != ':') goto yy56; yy867: YYDEBUG(867, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy855; - if (yych != ':') goto yy57; -yy868: + if (yych <= '/') goto yy56; + if (yych >= '6') goto yy56; YYDEBUG(868, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= '6') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; YYDEBUG(869, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych != ':') goto yy56; YYDEBUG(870, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy871; + if (yych <= '6') goto yy872; + goto yy56; +yy871: YYDEBUG(871, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy872; - if (yych <= '6') goto yy873; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy841; + goto yy56; yy872: YYDEBUG(872, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy842; - goto yy57; + if (yych == '0') goto yy841; + goto yy56; yy873: YYDEBUG(873, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '0') goto yy842; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy859; + if (yych <= '9') goto yy855; + if (yych <= ':') goto yy867; + goto yy56; yy874: YYDEBUG(874, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy860; - if (yych <= '9') goto yy856; - if (yych <= ':') goto yy868; - goto yy57; + 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; + } yy875: YYDEBUG(875, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { - if (yych <= '/') goto yy61; - if (yych <= '0') goto yy877; - goto yy846; + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy844; + goto yy845; } else { - if (yych <= '3') goto yy847; - if (yych <= '9') goto yy821; - goto yy61; + if (yych <= '3') goto yy846; + if (yych <= '9') goto yy820; + goto yy60; } yy876: YYDEBUG(876, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '2') { - if (yych <= '/') goto yy61; - if (yych <= '0') goto yy845; - goto yy846; - } else { - if (yych <= '3') goto yy847; - if (yych <= '9') goto yy821; - goto yy61; - } + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy847; + goto yy60; yy877: YYDEBUG(877, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy848; - goto yy61; + if (yych == 'C') goto yy878; + if (yych != 'c') goto yy56; yy878: YYDEBUG(878, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy879; - if (yych != 'c') goto yy57; -yy879: - YYDEBUG(879, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy880; - if (yych != 'e') goto yy794; + if (yych == 'E') goto yy879; + if (yych != 'e') goto yy793; +yy879: + YYDEBUG(879, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'M') goto yy880; + if (yych != 'm') goto yy56; yy880: YYDEBUG(880, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy881; - if (yych != 'm') goto yy57; + if (yych == 'B') goto yy881; + if (yych != 'b') goto yy56; yy881: YYDEBUG(881, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy882; - if (yych != 'b') goto yy57; + if (yych == 'E') goto yy882; + if (yych != 'e') goto yy56; yy882: YYDEBUG(882, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy883; - if (yych != 'e') goto yy57; + if (yych == 'R') goto yy883; + if (yych != 'r') goto yy56; yy883: YYDEBUG(883, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy884; - if (yych != 'r') goto yy57; + goto yy793; yy884: YYDEBUG(884, *YYCURSOR); yych = *++YYCURSOR; - goto yy794; + if (yych == 'V') goto yy885; + if (yych != 'v') goto yy56; yy885: YYDEBUG(885, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy886; - if (yych != 'v') goto yy57; -yy886: - YYDEBUG(886, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy887; - if (yych != 'e') goto yy794; + 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 == 'M') goto yy888; - if (yych != 'm') goto yy57; + if (yych == 'B') goto yy888; + if (yych != 'b') goto yy56; yy888: YYDEBUG(888, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy889; - if (yych != 'b') goto yy57; + if (yych == 'E') goto yy889; + if (yych != 'e') goto yy56; yy889: YYDEBUG(889, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy890; - if (yych != 'e') goto yy57; + if (yych == 'R') goto yy883; + if (yych == 'r') goto yy883; + goto yy56; yy890: YYDEBUG(890, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy884; - if (yych == 'r') goto yy884; - goto yy57; + if (yych == 'T') goto yy891; + if (yych != 't') goto yy56; yy891: YYDEBUG(891, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy892; - if (yych != 't') goto yy57; -yy892: - YYDEBUG(892, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'O') goto yy893; - if (yych != 'o') goto yy794; + 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); yych = *++YYCURSOR; - if (yych == 'B') goto yy894; - if (yych != 'b') goto yy57; + if (yych == 'E') goto yy894; + if (yych != 'e') goto yy56; yy894: YYDEBUG(894, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy895; - if (yych != 'e') goto yy57; + if (yych == 'R') goto yy883; + if (yych == 'r') goto yy883; + goto yy56; yy895: YYDEBUG(895, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy884; - if (yych == 'r') goto yy884; - goto yy57; -yy896: - YYDEBUG(896, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'P') { - if (yych == 'C') goto yy129; - if (yych <= 'O') goto yy57; + if (yych == 'C') goto yy128; + if (yych <= 'O') goto yy56; } else { if (yych <= 'c') { - if (yych <= 'b') goto yy57; - goto yy129; + if (yych <= 'b') goto yy56; + goto yy128; } else { - if (yych != 'p') goto yy57; + if (yych != 'p') goto yy56; } } +yy896: + YYDEBUG(896, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy897; + if (yych != 't') goto yy793; yy897: YYDEBUG(897, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy898; - if (yych != 't') goto yy794; -yy898: - YYDEBUG(898, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy899; - if (yych != 'e') goto yy794; + 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 == 'M') goto yy900; - if (yych != 'm') goto yy57; + if (yych == 'B') goto yy900; + if (yych != 'b') goto yy56; yy900: YYDEBUG(900, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy901; - if (yych != 'b') goto yy57; + if (yych == 'E') goto yy901; + if (yych != 'e') goto yy56; yy901: YYDEBUG(901, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy902; - if (yych != 'e') goto yy57; + if (yych == 'R') goto yy883; + if (yych == 'r') goto yy883; + goto yy56; yy902: YYDEBUG(902, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy884; - if (yych == 'r') goto yy884; - goto yy57; + if (yych == 'G') goto yy906; + if (yych == 'g') goto yy906; + goto yy56; yy903: YYDEBUG(903, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy907; - if (yych == 'g') goto yy907; - goto yy57; + if (yych == 'R') goto yy904; + if (yych != 'r') goto yy56; yy904: YYDEBUG(904, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy905; - if (yych != 'r') goto yy57; -yy905: - YYDEBUG(905, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'I') goto yy906; - if (yych != 'i') goto yy794; + 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); - yych = *++YYCURSOR; - if (yych == 'L') goto yy884; - if (yych == 'l') goto yy884; - goto yy57; -yy907: - YYDEBUG(907, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy908; - if (yych != 'u') goto yy794; + 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 == 'S') goto yy909; - if (yych != 's') goto yy57; + if (yych == 'T') goto yy883; + if (yych == 't') goto yy883; + goto yy56; yy909: YYDEBUG(909, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy884; - if (yych == 't') goto yy884; - goto yy57; -yy910: - YYDEBUG(910, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy911; - if (yych <= 'X') goto yy57; - goto yy884; + if (yych == 'R') goto yy910; + if (yych <= 'X') goto yy56; + goto yy883; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy57; + if (yych <= 'q') goto yy56; } else { - if (yych == 'y') goto yy884; - goto yy57; + if (yych == 'y') goto yy883; + goto yy56; } } -yy911: - YYDEBUG(911, *YYCURSOR); +yy910: + YYDEBUG(910, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'C') goto yy912; - if (yych != 'c') goto yy794; + 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 == 'H') goto yy884; - if (yych == 'h') goto yy884; - goto yy57; + if (yych == 'B') goto yy913; + if (yych != 'b') goto yy56; yy913: YYDEBUG(913, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy914; - if (yych != 'b') goto yy57; -yy914: - YYDEBUG(914, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'R') goto yy915; - if (yych != 'r') goto yy794; + 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 == 'U') goto yy916; - if (yych != 'u') goto yy57; + if (yych == 'A') goto yy916; + if (yych != 'a') goto yy56; yy916: YYDEBUG(916, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy917; - if (yych != 'a') goto yy57; + if (yych == 'R') goto yy917; + if (yych != 'r') goto yy56; yy917: YYDEBUG(917, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy918; - if (yych != 'r') goto yy57; + if (yych == 'Y') goto yy883; + if (yych == 'y') goto yy883; + goto yy56; yy918: YYDEBUG(918, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy884; - if (yych == 'y') goto yy884; - goto yy57; -yy919: - YYDEBUG(919, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy926; - if (yych <= 'M') goto yy57; - goto yy925; + if (yych == 'L') goto yy925; + if (yych <= 'M') goto yy56; + goto yy924; } else { if (yych <= 'l') { - if (yych <= 'k') goto yy57; - goto yy926; + if (yych <= 'k') goto yy56; + goto yy925; } else { - if (yych == 'n') goto yy925; - goto yy57; + if (yych == 'n') goto yy924; + goto yy56; } } +yy919: + YYDEBUG(919, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy920; + if (yych != 'n') goto yy56; yy920: YYDEBUG(920, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy921; - if (yych != 'n') goto yy57; -yy921: - YYDEBUG(921, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy922; - if (yych != 'u') goto yy794; + 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 == 'A') goto yy923; - if (yych != 'a') goto yy57; + if (yych == 'R') goto yy923; + if (yych != 'r') goto yy56; yy923: YYDEBUG(923, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy924; - if (yych != 'r') goto yy57; + if (yych == 'Y') goto yy883; + if (yych == 'y') goto yy883; + goto yy56; yy924: YYDEBUG(924, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy884; - if (yych == 'y') goto yy884; - goto yy57; + if (yych == 'E') goto yy883; + if (yych == 'e') goto yy883; + goto yy793; yy925: YYDEBUG(925, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy884; - if (yych == 'e') goto yy884; - goto yy794; + if (yych == 'Y') goto yy883; + if (yych == 'y') goto yy883; + goto yy793; yy926: YYDEBUG(926, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy884; - if (yych == 'y') goto yy884; - goto yy794; + if (yych == 'I') goto yy883; + goto yy793; yy927: YYDEBUG(927, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy884; - goto yy794; -yy928: + if (yych != 'I') goto yy793; YYDEBUG(928, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'I') goto yy794; + if (yych == 'I') goto yy883; + goto yy793; +yy929: YYDEBUG(929, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy884; - goto yy794; + if (yych == 'I') goto yy883; + goto yy793; yy930: YYDEBUG(930, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy884; - goto yy794; + 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 yy57; - if (yych <= '0') goto yy946; - if (yych <= '9') goto yy945; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy943; + goto yy56; yy932: YYDEBUG(932, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy944; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '5') goto yy941; + if (yych <= '6') goto yy940; + goto yy56; yy933: YYDEBUG(933, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy942; - if (yych <= '6') goto yy941; - goto yy57; + if (yych == 'E') goto yy912; + if (yych == 'e') goto yy912; + goto yy56; yy934: YYDEBUG(934, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy913; - if (yych == 'e') goto yy913; - goto yy57; + if (yych == 'A') goto yy909; + if (yych == 'a') goto yy909; + goto yy56; yy935: YYDEBUG(935, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy910; - if (yych == 'a') goto yy910; - goto yy57; + if (yych == 'E') goto yy939; + if (yych == 'e') goto yy939; + goto yy56; yy936: YYDEBUG(936, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy940; - if (yych == 'e') goto yy940; - goto yy57; + if (yych == 'E') goto yy877; + if (yych == 'e') goto yy877; + goto yy56; yy937: YYDEBUG(937, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy878; - if (yych == 'e') goto yy878; - goto yy57; -yy938: - YYDEBUG(938, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; -yy939: - YYDEBUG(939, *YYCURSOR); +yy938: + YYDEBUG(938, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': case '-': - case '.': goto yy938; + case '.': goto yy937; case 'A': - case 'a': goto yy800; + case 'a': goto yy799; case 'D': - case 'd': goto yy937; + case 'd': goto yy936; case 'F': - case 'f': goto yy934; - case 'I': goto yy793; + case 'f': goto yy933; + case 'I': goto yy792; case 'J': - case 'j': goto yy797; + case 'j': goto yy796; case 'M': - case 'm': goto yy935; + case 'm': goto yy934; case 'N': - case 'n': goto yy803; + case 'n': goto yy802; case 'O': - case 'o': goto yy802; + case 'o': goto yy801; case 'S': - case 's': goto yy936; - case 'V': goto yy795; - case 'X': goto yy796; - default: goto yy57; + case 's': goto yy935; + case 'V': goto yy794; + case 'X': goto yy795; + 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 == 'P') goto yy897; - if (yych == 'p') goto yy897; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '6') goto yy942; + goto yy56; yy941: YYDEBUG(941, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '6') goto yy943; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; yy942: YYDEBUG(942, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + goto yy821; yy943: YYDEBUG(943, *YYCURSOR); yych = *++YYCURSOR; - goto yy822; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy942; + goto yy56; yy944: YYDEBUG(944, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy943; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy942; + goto yy56; yy945: YYDEBUG(945, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy943; - goto yy57; + if (yych <= '0') goto yy56; + if (yych <= '9') goto yy942; + goto yy56; yy946: YYDEBUG(946, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '0') goto yy57; - if (yych <= '9') goto yy943; - goto yy57; + if (yych <= '.') goto yy56; + if (yych <= '/') goto yy949; + if (yych <= '9') goto yy957; + goto yy56; yy947: YYDEBUG(947, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '.') goto yy57; - if (yych <= '/') goto yy950; - if (yych <= '9') goto yy958; - goto yy57; + if (yych <= '.') goto yy56; + if (yych <= '/') goto yy949; + if (yych <= '2') goto yy957; + goto yy56; yy948: YYDEBUG(948, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '.') goto yy57; - if (yych <= '/') goto yy950; - if (yych <= '2') goto yy958; - goto yy57; + if (yych != '/') goto yy56; yy949: YYDEBUG(949, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '/') goto yy57; + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy951; - if (yych <= '3') goto yy952; - if (yych <= '9') goto yy953; - goto yy57; -yy951: - YYDEBUG(951, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy455; - if (yych <= '9') goto yy953; - if (yych <= 'm') goto yy455; - goto yy955; + if (yych <= '/') goto yy454; + if (yych <= '9') goto yy952; + if (yych <= 'm') goto yy454; + goto yy954; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy956; + if (yych <= 'q') goto yy454; + goto yy955; } else { - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } } -yy952: - YYDEBUG(952, *YYCURSOR); +yy951: + YYDEBUG(951, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy455; - if (yych <= '1') goto yy953; - if (yych <= 'm') goto yy455; - goto yy955; + if (yych <= '/') goto yy454; + if (yych <= '1') goto yy952; + if (yych <= 'm') goto yy454; + goto yy954; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy956; + if (yych <= 'q') goto yy454; + goto yy955; } else { - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } } -yy953: - YYDEBUG(953, *YYCURSOR); +yy952: + YYDEBUG(952, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { - if (yych == 'n') goto yy955; - goto yy455; + if (yych == 'n') goto yy954; + goto yy454; } else { - if (yych <= 'r') goto yy956; - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; + if (yych <= 'r') goto yy955; + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } +yy953: + YYDEBUG(953, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 't') goto yy453; + goto yy56; yy954: YYDEBUG(954, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 't') goto yy454; - goto yy57; + if (yych == 'd') goto yy453; + goto yy56; yy955: YYDEBUG(955, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'd') goto yy454; - goto yy57; + if (yych == 'd') goto yy453; + goto yy56; yy956: YYDEBUG(956, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'd') goto yy454; - goto yy57; + if (yych == 'h') goto yy453; + goto yy56; yy957: YYDEBUG(957, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'h') goto yy454; - goto yy57; -yy958: + if (yych != '/') goto yy56; YYDEBUG(958, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '/') goto yy57; - YYDEBUG(959, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '2') { - if (yych <= '/') goto yy57; - if (yych >= '1') goto yy961; + if (yych <= '/') goto yy56; + if (yych >= '1') goto yy960; } else { - if (yych <= '3') goto yy962; - if (yych <= '9') goto yy953; - goto yy57; + if (yych <= '3') goto yy961; + if (yych <= '9') goto yy952; + goto yy56; } - YYDEBUG(960, *YYCURSOR); + YYDEBUG(959, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy455; - if (yych <= '9') goto yy963; - if (yych <= 'm') goto yy455; - goto yy955; + if (yych <= '/') goto yy454; + if (yych <= '9') goto yy962; + if (yych <= 'm') goto yy454; + goto yy954; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy956; + if (yych <= 'q') goto yy454; + goto yy955; } else { - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } } -yy961: - YYDEBUG(961, *YYCURSOR); +yy960: + YYDEBUG(960, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy455; - if (yych <= '9') goto yy963; - if (yych <= 'm') goto yy455; - goto yy955; + if (yych <= '/') goto yy454; + if (yych <= '9') goto yy962; + if (yych <= 'm') goto yy454; + goto yy954; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy956; + if (yych <= 'q') goto yy454; + goto yy955; } else { - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } } -yy962: - YYDEBUG(962, *YYCURSOR); +yy961: + YYDEBUG(961, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy455; - if (yych <= '1') goto yy963; - if (yych <= 'm') goto yy455; - goto yy955; + if (yych <= '/') goto yy454; + if (yych <= '1') goto yy962; + if (yych <= 'm') goto yy454; + goto yy954; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy956; + if (yych <= 'q') goto yy454; + goto yy955; } else { - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } } -yy963: - YYDEBUG(963, *YYCURSOR); +yy962: + YYDEBUG(962, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych == '/') goto yy454; - if (yych <= 'm') goto yy455; - goto yy955; + if (yych == '/') goto yy453; + if (yych <= 'm') goto yy454; + goto yy954; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy956; + if (yych <= 'q') goto yy454; + goto yy955; } else { - if (yych <= 's') goto yy954; - if (yych <= 't') goto yy957; - goto yy455; + if (yych <= 's') goto yy953; + if (yych <= 't') goto yy956; + goto yy454; } } -yy964: - YYDEBUG(964, *YYCURSOR); +yy963: + YYDEBUG(963, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy1044; - if (yych <= 'T') goto yy57; - goto yy1043; + if (yych == 'A') goto yy1043; + if (yych <= 'T') goto yy56; + goto yy1042; } else { if (yych <= 'a') { - if (yych <= '`') goto yy57; - goto yy1044; + if (yych <= '`') goto yy56; + goto yy1043; } else { - if (yych == 'u') goto yy1043; - goto yy57; + if (yych == 'u') goto yy1042; + 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 == 'E') goto yy1041; - if (yych == 'e') goto yy1041; - goto yy57; + if (yych == 'A') goto yy1037; + if (yych == 'a') goto yy1037; + goto yy56; yy966: YYDEBUG(966, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1038; - if (yych == 'a') goto yy1038; - goto yy57; -yy967: - YYDEBUG(967, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'P') goto yy1035; - if (yych <= 'T') goto yy57; - goto yy1034; + if (yych == 'P') goto yy1034; + if (yych <= 'T') goto yy56; + goto yy1033; } else { if (yych <= 'p') { - if (yych <= 'o') goto yy57; - goto yy1035; + if (yych <= 'o') goto yy56; + goto yy1034; } else { - if (yych == 'u') goto yy1034; - goto yy57; + if (yych == 'u') goto yy1033; + 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 == 'E') goto yy1031; - if (yych == 'e') goto yy1031; - goto yy57; + if (yych == 'C') goto yy1028; + if (yych == 'c') goto yy1028; + goto yy56; yy969: YYDEBUG(969, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy1029; - if (yych == 'c') goto yy1029; - goto yy57; + if (yych == 'O') goto yy1026; + if (yych == 'o') goto yy1026; + goto yy56; yy970: YYDEBUG(970, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy1027; - if (yych == 'o') goto yy1027; - goto yy57; + if (yych == 'E') goto yy1024; + if (yych == 'e') goto yy1024; + goto yy56; yy971: YYDEBUG(971, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy1025; - if (yych == 'e') goto yy1025; - goto yy57; + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '0') goto yy811; - if (yych <= '4') goto yy812; - if (yych <= '5') goto yy813; - goto yy57; -yy973: - YYDEBUG(973, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy977; - if (yych <= '/') goto yy974; - if (yych <= '9') goto yy996; -yy974: - YYDEBUG(974, *YYCURSOR); + if (yych == '-') goto yy976; + if (yych <= '/') goto yy973; + if (yych <= '9') goto yy995; +yy973: + YYDEBUG(973, *YYCURSOR); #line 1285 "ext/date/lib/parse_date.re" { int length = 0; @@ -14682,717 +14663,717 @@ yy974: TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 14686 "ext/date/lib/parse_date.c" +#line 14667 "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; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy977; - if (yych <= '/') goto yy974; - if (yych <= '2') goto yy996; - goto yy974; + if (yych != '-') goto yy973; yy976: YYDEBUG(976, *YYCURSOR); - yyaccept = 22; - yych = *(YYMARKER = ++YYCURSOR); - if (yych != '-') goto yy974; + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '2') goto yy978; - if (yych <= '3') goto yy979; - if (yych <= '9') goto yy980; - goto yy57; -yy978: - YYDEBUG(978, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { - if (yych <= '/') goto yy657; - goto yy980; + if (yych <= '/') goto yy656; + goto yy979; } else { - if (yych == 'T') goto yy985; - goto yy657; + if (yych == 'T') goto yy984; + goto yy656; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy982; - if (yych <= 'q') goto yy657; - goto yy983; + if (yych <= 'n') goto yy981; + if (yych <= 'q') goto yy656; + goto yy982; } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy657; + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy656; } } -yy979: - YYDEBUG(979, *YYCURSOR); +yy978: + YYDEBUG(978, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { - if (yych <= '/') goto yy657; + if (yych <= '/') goto yy656; } else { - if (yych == 'T') goto yy985; - goto yy657; + if (yych == 'T') goto yy984; + goto yy656; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy982; - if (yych <= 'q') goto yy657; - goto yy983; + if (yych <= 'n') goto yy981; + if (yych <= 'q') goto yy656; + goto yy982; } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy657; + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy656; } } -yy980: - YYDEBUG(980, *YYCURSOR); +yy979: + YYDEBUG(979, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych == 'T') goto yy985; - if (yych <= 'm') goto yy657; - goto yy982; + if (yych == 'T') goto yy984; + if (yych <= 'm') goto yy656; + goto yy981; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy983; + if (yych <= 'q') goto yy656; + goto yy982; } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy657; + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy656; } } +yy980: + YYDEBUG(980, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 't') goto yy994; + goto yy56; yy981: YYDEBUG(981, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 't') goto yy995; - goto yy57; + if (yych == 'd') goto yy994; + goto yy56; yy982: YYDEBUG(982, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'd') goto yy995; - goto yy57; + if (yych == 'd') goto yy994; + goto yy56; yy983: YYDEBUG(983, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'd') goto yy995; - goto yy57; + if (yych == 'h') goto yy994; + goto yy56; yy984: YYDEBUG(984, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'h') goto yy995; - goto yy57; + 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); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy986; - if (yych <= '2') goto yy987; - if (yych <= '9') goto yy988; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy987; + if (yych <= ':') goto yy988; + goto yy56; yy986: YYDEBUG(986, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy988; - if (yych <= ':') goto yy989; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy987; + if (yych == ':') goto yy988; + goto yy56; yy987: YYDEBUG(987, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '4') goto yy988; - if (yych == ':') goto yy989; - goto yy57; + if (yych != ':') goto yy56; yy988: YYDEBUG(988, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ':') goto yy57; + 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 yy57; - if (yych <= '5') goto yy990; - if (yych <= '9') goto yy991; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy990; + if (yych <= ':') goto yy991; + goto yy56; yy990: YYDEBUG(990, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy991; - if (yych <= ':') goto yy992; - goto yy57; + if (yych != ':') goto yy56; yy991: YYDEBUG(991, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ':') goto yy57; + 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); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy993; - if (yych <= '6') goto yy994; - if (yych <= '9') goto yy842; - goto yy57; + if (yych <= '/') goto yy842; + if (yych <= '9') goto yy841; + goto yy842; yy993: YYDEBUG(993, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy843; - if (yych <= '9') goto yy842; - goto yy843; + if (yych == '0') goto yy841; + goto yy842; yy994: YYDEBUG(994, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '0') goto yy842; - goto yy843; -yy995: - YYDEBUG(995, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'T') goto yy985; - goto yy657; -yy996: - YYDEBUG(996, *YYCURSOR); + if (yych == 'T') goto yy984; + goto yy656; +yy995: + YYDEBUG(995, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); - if (yych != '-') goto yy974; - YYDEBUG(997, *YYCURSOR); + if (yych != '-') goto yy973; + YYDEBUG(996, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { - if (yych <= '/') goto yy57; - if (yych >= '1') goto yy999; + if (yych <= '/') goto yy56; + if (yych >= '1') goto yy998; } else { - if (yych <= '3') goto yy1000; - if (yych <= '9') goto yy980; - goto yy57; + if (yych <= '3') goto yy999; + if (yych <= '9') goto yy979; + goto yy56; } - YYDEBUG(998, *YYCURSOR); + YYDEBUG(997, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { - if (yych <= '/') goto yy657; - goto yy1001; + if (yych <= '/') goto yy656; + goto yy1000; } else { - if (yych == 'T') goto yy985; - goto yy657; + if (yych == 'T') goto yy984; + goto yy656; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy982; - if (yych <= 'q') goto yy657; - goto yy983; + if (yych <= 'n') goto yy981; + if (yych <= 'q') goto yy656; + goto yy982; } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy657; + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy656; } } -yy999: - YYDEBUG(999, *YYCURSOR); +yy998: + YYDEBUG(998, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { - if (yych <= '/') goto yy657; - goto yy1001; + if (yych <= '/') goto yy656; + goto yy1000; } else { - if (yych == 'T') goto yy985; - goto yy657; + if (yych == 'T') goto yy984; + goto yy656; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy982; - if (yych <= 'q') goto yy657; - goto yy983; + if (yych <= 'n') goto yy981; + if (yych <= 'q') goto yy656; + goto yy982; } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy657; + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy656; } } -yy1000: - YYDEBUG(1000, *YYCURSOR); +yy999: + YYDEBUG(999, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { - if (yych <= '/') goto yy657; + if (yych <= '/') goto yy656; } else { - if (yych == 'T') goto yy985; - goto yy657; + if (yych == 'T') goto yy984; + goto yy656; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy982; - if (yych <= 'q') goto yy657; - goto yy983; + if (yych <= 'n') goto yy981; + if (yych <= 'q') goto yy656; + goto yy982; } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy657; + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy656; } } -yy1001: - YYDEBUG(1001, *YYCURSOR); +yy1000: + YYDEBUG(1000, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych == 'T') goto yy1002; - if (yych <= 'm') goto yy455; - goto yy982; + if (yych == 'T') goto yy1001; + if (yych <= 'm') goto yy454; + goto yy981; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy455; - goto yy983; + if (yych <= 'q') goto yy454; + goto yy982; } else { - if (yych <= 's') goto yy981; - if (yych <= 't') goto yy984; - goto yy455; + if (yych <= 's') goto yy980; + if (yych <= 't') goto yy983; + goto yy454; } } +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 yy57; - if (yych <= '1') goto yy1003; - if (yych <= '2') goto yy1004; - if (yych <= '9') goto yy988; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1004; + if (yych <= ':') goto yy988; + goto yy56; yy1003: YYDEBUG(1003, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy1005; - if (yych <= ':') goto yy989; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '4') goto yy1004; + if (yych == ':') goto yy988; + goto yy56; yy1004: YYDEBUG(1004, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '4') goto yy1005; - if (yych == ':') goto yy989; - goto yy57; -yy1005: + if (yych != ':') goto yy56; YYDEBUG(1005, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ':') goto yy57; + 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 yy57; - if (yych <= '5') goto yy1007; - if (yych <= '9') goto yy991; - goto yy57; + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy1007; + if (yych <= ':') goto yy991; + goto yy56; yy1007: YYDEBUG(1007, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy1008; - if (yych <= ':') goto yy992; - goto yy57; -yy1008: + if (yych != ':') goto yy56; YYDEBUG(1008, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ':') goto yy57; + 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 yy57; - if (yych <= '5') goto yy1010; - if (yych <= '6') goto yy1011; - if (yych <= '9') goto yy842; - goto yy57; + if (yych <= '/') goto yy842; + if (yych <= '9') goto yy1011; + goto yy842; yy1010: YYDEBUG(1010, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy843; - if (yych <= '9') goto yy1012; - goto yy843; + if (yych != '0') goto yy842; yy1011: YYDEBUG(1011, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '0') goto yy843; -yy1012: - YYDEBUG(1012, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); - if (yych != '.') goto yy843; - YYDEBUG(1013, *YYCURSOR); + if (yych != '.') goto yy842; + YYDEBUG(1012, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; -yy1014: - YYDEBUG(1014, *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(1015, *YYCURSOR); + YYDEBUG(1014, *YYCURSOR); if (yych <= '-') { - if (yych == '+') goto yy1017; - if (yych <= ',') goto yy843; - goto yy1017; + if (yych == '+') goto yy1016; + if (yych <= ',') goto yy842; + goto yy1016; } else { if (yych <= '9') { - if (yych <= '/') goto yy843; - goto yy1014; + if (yych <= '/') goto yy842; + goto yy1013; } else { - if (yych != 'G') goto yy843; + if (yych != 'G') goto yy842; } } + YYDEBUG(1015, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'M') goto yy1022; + goto yy56; +yy1016: YYDEBUG(1016, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy1023; - goto yy57; + 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 yy57; - if (yych <= '1') goto yy1018; - if (yych <= '2') goto yy1019; - if (yych <= '9') goto yy1020; - goto yy57; + if (yych <= '/') goto yy842; + if (yych <= '9') goto yy1019; + if (yych <= ':') goto yy1020; + goto yy842; yy1018: YYDEBUG(1018, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy843; - if (yych <= '9') goto yy1020; - if (yych <= ':') goto yy1021; - goto yy843; -yy1019: - YYDEBUG(1019, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '5') { - if (yych <= '/') goto yy843; - if (yych >= '5') goto yy1022; + if (yych <= '/') goto yy842; + if (yych >= '5') goto yy1021; } else { - if (yych <= '9') goto yy842; - if (yych <= ':') goto yy1021; - goto yy843; + if (yych <= '9') goto yy841; + if (yych <= ':') goto yy1020; + goto yy842; } +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 yy843; - if (yych <= '5') goto yy1022; - if (yych <= '9') goto yy842; - if (yych >= ';') goto yy843; + 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 yy843; - if (yych <= '5') goto yy1022; - if (yych <= '9') goto yy842; - goto yy843; + if (yych <= '/') goto yy842; + if (yych <= '9') goto yy841; + goto yy842; yy1022: YYDEBUG(1022, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy843; - if (yych <= '9') goto yy842; - goto yy843; -yy1023: + if (yych != 'T') goto yy56; YYDEBUG(1023, *YYCURSOR); yych = *++YYCURSOR; - if (yych != 'T') goto yy57; + if (yych == '+') goto yy1016; + if (yych == '-') goto yy1016; + goto yy56; +yy1024: YYDEBUG(1024, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '+') goto yy1017; - if (yych == '-') goto yy1017; - goto yy57; + if (yych == 'C') goto yy1025; + if (yych != 'c') goto yy56; yy1025: YYDEBUG(1025, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy1026; - if (yych != 'c') goto yy57; -yy1026: - YYDEBUG(1026, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '-') goto yy767; - goto yy794; + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'E') goto yy880; - if (yych == 'e') goto yy880; - goto yy794; + if (yych <= 'E') goto yy879; + if (yych == 'e') goto yy879; + goto yy793; } +yy1026: + YYDEBUG(1026, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'V') goto yy1027; + if (yych != 'v') goto yy56; yy1027: YYDEBUG(1027, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'V') goto yy1028; - if (yych != 'v') goto yy57; -yy1028: - YYDEBUG(1028, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '-') goto yy767; - goto yy794; + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'E') goto yy887; - if (yych == 'e') goto yy887; - goto yy794; + if (yych <= 'E') goto yy886; + if (yych == 'e') goto yy886; + goto yy793; } +yy1028: + YYDEBUG(1028, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy1029; + if (yych != 't') goto yy56; yy1029: YYDEBUG(1029, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1030; - if (yych != 't') goto yy57; -yy1030: - YYDEBUG(1030, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { - if (yych == '-') goto yy767; - goto yy794; + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'O') goto yy893; - if (yych == 'o') goto yy893; - goto yy794; + if (yych <= 'O') goto yy892; + if (yych == 'o') goto yy892; + goto yy793; } +yy1030: + YYDEBUG(1030, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'P') goto yy1031; + if (yych != 'p') goto yy56; yy1031: YYDEBUG(1031, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy1032; - if (yych != 'p') goto yy57; -yy1032: - YYDEBUG(1032, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { - if (yych == '-') goto yy767; - goto yy794; + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'T') goto yy1033; - if (yych != 't') goto yy794; + if (yych <= 'T') goto yy1032; + if (yych != 't') goto yy793; } -yy1033: - YYDEBUG(1033, *YYCURSOR); +yy1032: + YYDEBUG(1032, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '-') goto yy767; - goto yy794; + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'E') goto yy899; - if (yych == 'e') goto yy899; - goto yy794; + if (yych <= 'E') goto yy898; + if (yych == 'e') goto yy898; + goto yy793; } +yy1033: + YYDEBUG(1033, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'G') goto yy1036; + if (yych == 'g') goto yy1036; + goto yy56; yy1034: YYDEBUG(1034, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy1037; - if (yych == 'g') goto yy1037; - goto yy57; + if (yych == 'R') goto yy1035; + if (yych != 'r') goto yy56; yy1035: YYDEBUG(1035, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy1036; - if (yych != 'r') goto yy57; -yy1036: - YYDEBUG(1036, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { - if (yych == '-') goto yy767; - goto yy794; + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'I') goto yy906; - if (yych == 'i') goto yy906; - goto yy794; + if (yych <= 'I') goto yy905; + if (yych == 'i') goto yy905; + goto yy793; } -yy1037: - YYDEBUG(1037, *YYCURSOR); +yy1036: + YYDEBUG(1036, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { - if (yych == '-') goto yy767; - goto yy794; + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'U') goto yy908; - if (yych == 'u') goto yy908; - goto yy794; + if (yych <= 'U') goto yy907; + if (yych == 'u') goto yy907; + goto yy793; } -yy1038: - YYDEBUG(1038, *YYCURSOR); +yy1037: + YYDEBUG(1037, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy1039; - if (yych <= 'X') goto yy57; - goto yy1040; + if (yych == 'R') goto yy1038; + if (yych <= 'X') goto yy56; + goto yy1039; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy57; + if (yych <= 'q') goto yy56; } else { - if (yych == 'y') goto yy1040; - goto yy57; + if (yych == 'y') goto yy1039; + goto yy56; } } -yy1039: - YYDEBUG(1039, *YYCURSOR); +yy1038: + YYDEBUG(1038, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { - if (yych == '-') goto yy767; - goto yy794; + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'C') goto yy912; - if (yych == 'c') goto yy912; - goto yy794; + if (yych <= 'C') goto yy911; + if (yych == 'c') goto yy911; + goto yy793; } -yy1040: - YYDEBUG(1040, *YYCURSOR); +yy1039: + YYDEBUG(1039, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy767; - goto yy794; + 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); - yych = *++YYCURSOR; - if (yych == 'B') goto yy1042; - if (yych != 'b') goto yy57; -yy1042: - YYDEBUG(1042, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { - if (yych == '-') goto yy767; - goto yy794; + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'R') goto yy915; - if (yych == 'r') goto yy915; - goto yy794; + if (yych <= 'R') goto yy914; + if (yych == 'r') goto yy914; + goto yy793; } -yy1043: - YYDEBUG(1043, *YYCURSOR); +yy1042: + YYDEBUG(1042, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy1047; - if (yych <= 'M') goto yy57; - goto yy1046; + if (yych == 'L') goto yy1046; + if (yych <= 'M') goto yy56; + goto yy1045; } else { if (yych <= 'l') { - if (yych <= 'k') goto yy57; - goto yy1047; + if (yych <= 'k') goto yy56; + goto yy1046; } else { - if (yych == 'n') goto yy1046; - goto yy57; + if (yych == 'n') goto yy1045; + goto yy56; } } +yy1043: + YYDEBUG(1043, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy1044; + if (yych != 'n') goto yy56; yy1044: YYDEBUG(1044, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy1045; - if (yych != 'n') goto yy57; -yy1045: - YYDEBUG(1045, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { - if (yych == '-') goto yy767; - goto yy794; + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'U') goto yy922; - if (yych == 'u') goto yy922; - goto yy794; + if (yych <= 'U') goto yy921; + if (yych == 'u') goto yy921; + goto yy793; } -yy1046: - YYDEBUG(1046, *YYCURSOR); +yy1045: + YYDEBUG(1045, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '-') goto yy767; - goto yy794; + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'E') goto yy884; - if (yych == 'e') goto yy884; - goto yy794; + if (yych <= 'E') goto yy883; + if (yych == 'e') goto yy883; + goto yy793; } -yy1047: - YYDEBUG(1047, *YYCURSOR); +yy1046: + YYDEBUG(1046, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { - if (yych == '-') goto yy767; - goto yy794; + if (yych == '-') goto yy766; + goto yy793; } else { - if (yych <= 'Y') goto yy884; - if (yych == 'y') goto yy884; - goto yy794; + if (yych <= 'Y') goto yy883; + if (yych == 'y') goto yy883; + goto yy793; } -yy1048: - YYDEBUG(1048, *YYCURSOR); +yy1047: + YYDEBUG(1047, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= '\t') { - if (yych <= 0x08) goto yy578; - goto yy731; + if (yych <= 0x08) goto yy577; + goto yy730; } else { - if (yych <= ',') goto yy578; - if (yych <= '-') goto yy732; - goto yy731; + if (yych <= ',') goto yy577; + if (yych <= '-') goto yy731; + goto yy730; } } else { if (yych <= 'U') { - if (yych <= '/') goto yy730; - if (yych <= 'T') goto yy578; - goto yy78; + if (yych <= '/') goto yy729; + if (yych <= 'T') goto yy577; + goto yy77; } else { - if (yych == 'u') goto yy78; - goto yy578; + if (yych == 'u') goto yy77; + goto yy577; } } -yy1049: - YYDEBUG(1049, *YYCURSOR); +yy1048: + YYDEBUG(1048, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'P') { - if (yych == 'C') goto yy129; - if (yych <= 'O') goto yy57; - goto yy586; + if (yych == 'C') goto yy128; + if (yych <= 'O') goto yy56; + goto yy585; } else { if (yych <= 'c') { - if (yych <= 'b') goto yy57; - goto yy129; + if (yych <= 'b') goto yy56; + goto yy128; } else { - if (yych == 'p') goto yy586; - goto yy57; + if (yych == 'p') goto yy585; + goto yy56; } } -yy1050: - YYDEBUG(1050, *YYCURSOR); +yy1049: + YYDEBUG(1049, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= ',') { - if (yych == '\t') goto yy1052; - goto yy1054; + if (yych == '\t') goto yy1051; + goto yy1053; } else { - if (yych <= '-') goto yy1051; - if (yych <= '.') goto yy731; - if (yych <= '/') goto yy730; - goto yy741; + if (yych <= '-') goto yy1050; + if (yych <= '.') goto yy730; + if (yych <= '/') goto yy729; + goto yy740; } } else { if (yych <= 'q') { - if (yych == 'n') goto yy470; - goto yy1054; + if (yych == 'n') goto yy469; + goto yy1053; } else { - if (yych <= 'r') goto yy471; - if (yych <= 's') goto yy464; - if (yych <= 't') goto yy468; - goto yy1054; + if (yych <= 'r') goto yy470; + if (yych <= 's') goto yy463; + if (yych <= 't') goto yy467; + goto yy1053; } } -yy1051: - YYDEBUG(1051, *YYCURSOR); +yy1050: + YYDEBUG(1050, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { - case '0': goto yy1055; - case '1': goto yy1056; + case '0': goto yy1054; + case '1': goto yy1055; case '2': case '3': case '4': @@ -15400,246 +15381,246 @@ yy1051: case '6': case '7': case '8': - case '9': goto yy618; + case '9': goto yy617; case 'A': - case 'a': goto yy622; + case 'a': goto yy621; case 'D': - case 'd': goto yy626; + case 'd': goto yy625; case 'F': - case 'f': goto yy620; + case 'f': goto yy619; case 'J': - case 'j': goto yy619; + case 'j': goto yy618; case 'M': - case 'm': goto yy621; + case 'm': goto yy620; case 'N': - case 'n': goto yy625; + case 'n': goto yy624; case 'O': - case 'o': goto yy624; + case 'o': goto yy623; case 'S': - case 's': goto yy623; - default: goto yy578; + case 's': goto yy622; + default: goto yy577; } +yy1051: + YYDEBUG(1051, *YYCURSOR); + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy1054; - if (yych <= '0') goto yy736; - if (yych <= '1') goto yy737; - if (yych <= '9') goto yy738; - goto yy1054; -yy1053: - YYDEBUG(1053, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; -yy1054: - YYDEBUG(1054, *YYCURSOR); +yy1053: + YYDEBUG(1053, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': - case ' ': goto yy1053; + case ' ': goto yy1052; case '-': - case '.': goto yy577; + case '.': goto yy576; case 'A': - case 'a': goto yy574; + case 'a': goto yy573; case 'D': - case 'd': goto yy466; + case 'd': goto yy465; case 'F': - case 'f': goto yy467; + case 'f': goto yy466; case 'H': - case 'h': goto yy64; - case 'I': goto yy475; + case 'h': goto yy63; + case 'I': goto yy474; case 'J': - case 'j': goto yy479; + case 'j': goto yy478; case 'M': - case 'm': goto yy465; + case 'm': goto yy464; case 'N': - case 'n': goto yy482; + case 'n': goto yy481; case 'O': - case 'o': goto yy481; + case 'o': goto yy480; case 'S': - case 's': goto yy463; + case 's': goto yy462; case 'T': - case 't': goto yy69; - case 'V': goto yy477; + case 't': goto yy68; + case 'V': goto yy476; case 'W': - case 'w': goto yy68; - case 'X': goto yy478; + case 'w': goto yy67; + case 'X': goto yy477; case 'Y': - case 'y': goto yy67; - default: goto yy57; + 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; } yy1055: YYDEBUG(1055, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy655; - goto yy602; + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy654; + goto yy601; } else { - if (yych <= '/') goto yy57; - if (yych <= '9') goto yy1057; - goto yy57; + if (yych <= '/') goto yy56; + if (yych >= '3') goto yy56; } yy1056: YYDEBUG(1056, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '.') { - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy655; - goto yy602; - } else { - if (yych <= '/') goto yy57; - if (yych >= '3') goto yy57; - } + if (yych <= ',') goto yy56; + if (yych <= '-') goto yy1057; + if (yych <= '.') goto yy601; + goto yy56; yy1057: YYDEBUG(1057, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= ',') goto yy57; - if (yych <= '-') goto yy1058; - if (yych <= '.') goto yy602; - goto yy57; -yy1058: - YYDEBUG(1058, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= '2') { - if (yych <= '/') goto yy57; - if (yych >= '1') goto yy1060; + if (yych <= '/') goto yy56; + if (yych >= '1') goto yy1059; } else { - if (yych <= '3') goto yy1061; - if (yych <= '9') goto yy659; - goto yy57; + if (yych <= '3') goto yy1060; + if (yych <= '9') goto yy658; + goto yy56; } - YYDEBUG(1059, *YYCURSOR); + YYDEBUG(1058, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy1062; - if (yych <= 'm') goto yy657; - goto yy661; + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy1061; + if (yych <= 'm') goto yy656; + goto yy660; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } -yy1060: - YYDEBUG(1060, *YYCURSOR); +yy1059: + YYDEBUG(1059, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy657; - if (yych <= '9') goto yy1062; - if (yych <= 'm') goto yy657; - goto yy661; + if (yych <= '/') goto yy656; + if (yych <= '9') goto yy1061; + if (yych <= 'm') goto yy656; + goto yy660; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } -yy1061: - YYDEBUG(1061, *YYCURSOR); +yy1060: + YYDEBUG(1060, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '1') { - if (yych <= '/') goto yy657; + if (yych <= '/') goto yy656; } else { - if (yych <= '9') goto yy604; - if (yych <= 'm') goto yy657; - goto yy661; + if (yych <= '9') goto yy603; + if (yych <= 'm') goto yy656; + goto yy660; } } else { if (yych <= 'r') { - if (yych <= 'q') goto yy657; - goto yy662; + if (yych <= 'q') goto yy656; + goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy657; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy656; } } -yy1062: - YYDEBUG(1062, *YYCURSOR); +yy1061: + YYDEBUG(1061, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy764; - if (yych <= '9') goto yy605; - if (yych <= 'm') goto yy764; - goto yy661; + if (yych <= '/') goto yy763; + if (yych <= '9') goto yy604; + if (yych <= 'm') goto yy763; + goto yy660; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy764; - goto yy662; + if (yych <= 'q') goto yy763; + goto yy661; } else { - if (yych <= 's') goto yy660; - if (yych <= 't') goto yy663; - goto yy764; + if (yych <= 's') goto yy659; + if (yych <= 't') goto yy662; + goto yy763; } } -yy1063: - YYDEBUG(1063, *YYCURSOR); +yy1062: + YYDEBUG(1062, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { - if (yych == '\t') goto yy1052; - if (yych <= ',') goto yy1054; - goto yy1051; + if (yych == '\t') goto yy1051; + if (yych <= ',') goto yy1053; + goto yy1050; } else { - if (yych <= '.') goto yy1064; - if (yych <= '/') goto yy730; - if (yych <= '5') goto yy1066; - goto yy741; + if (yych <= '.') goto yy1063; + if (yych <= '/') goto yy729; + if (yych <= '5') goto yy1065; + goto yy740; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy1065; - if (yych == 'n') goto yy470; - goto yy1054; + if (yych <= ':') goto yy1064; + if (yych == 'n') goto yy469; + goto yy1053; } else { - if (yych <= 'r') goto yy471; - if (yych <= 's') goto yy464; - if (yych <= 't') goto yy468; - goto yy1054; + if (yych <= 'r') goto yy470; + if (yych <= 's') goto yy463; + if (yych <= 't') goto yy467; + goto yy1053; } } -yy1064: - YYDEBUG(1064, *YYCURSOR); +yy1063: + YYDEBUG(1063, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '1') { - if (yych <= '/') goto yy578; - if (yych <= '0') goto yy1088; - goto yy1089; + if (yych <= '/') goto yy577; + if (yych <= '0') goto yy1087; + goto yy1088; } else { - if (yych <= '5') goto yy1090; - if (yych <= '9') goto yy1091; - goto yy578; + if (yych <= '5') goto yy1089; + if (yych <= '9') goto yy1090; + goto yy577; } +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 yy57; - if (yych <= '5') goto yy1083; - if (yych <= '9') goto yy1084; - goto yy57; -yy1066: + if (yych == '-') goto yy784; + if (yych <= '/') goto yy60; + if (yych >= ':') goto yy60; YYDEBUG(1066, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '-') goto yy785; - if (yych <= '/') goto yy61; - if (yych >= ':') goto yy61; - YYDEBUG(1067, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); @@ -15671,26 +15652,26 @@ yy1066: case 's': case 't': case 'w': - case 'y': goto yy791; - case '-': goto yy788; - case '.': goto yy792; - case '/': goto yy789; - case '0': goto yy1069; - case '1': goto yy1070; - case '2': goto yy1071; - case '3': goto yy1072; + case '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 yy1073; - case '6': goto yy1074; + case '5': goto yy1072; + case '6': goto yy1073; case '7': case '8': - case '9': goto yy55; - case ':': goto yy807; - case 'W': goto yy810; - default: goto yy1068; + case '9': goto yy54; + case ':': goto yy806; + case 'W': goto yy809; + default: goto yy1067; } -yy1068: - YYDEBUG(1068, *YYCURSOR); +yy1067: + YYDEBUG(1067, *YYCURSOR); #line 1177 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("gnunocolon"); @@ -15713,98 +15694,98 @@ yy1068: TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } -#line 15717 "ext/date/lib/parse_date.c" +#line 15698 "ext/date/lib/parse_date.c" +yy1068: + YYDEBUG(1068, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy1080; + if (yych <= '9') goto yy1081; + goto yy60; yy1069: YYDEBUG(1069, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '0') goto yy1081; - if (yych <= '9') goto yy1082; - goto yy61; + if (yych <= '/') goto yy60; + if (yych <= '2') goto yy1079; + if (yych <= '9') goto yy1078; + goto yy60; yy1070: YYDEBUG(1070, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '2') goto yy1080; - if (yych <= '9') goto yy1079; - goto yy61; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy1078; + goto yy60; yy1071: YYDEBUG(1071, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy1079; - goto yy61; + 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); yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '5') goto yy1077; - if (yych <= '6') goto yy1078; - if (yych <= '9') goto yy1075; - goto yy61; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy1074; + goto yy60; yy1073: YYDEBUG(1073, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '9') goto yy1075; - goto yy61; + if (yych <= '/') goto yy60; + if (yych <= '0') goto yy1074; + if (yych <= '9') goto yy54; + goto yy60; yy1074: YYDEBUG(1074, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy61; - if (yych <= '0') goto yy1075; - if (yych <= '9') goto yy55; - goto yy61; -yy1075: - YYDEBUG(1075, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { - goto yy55; + goto yy54; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych >= ' ') goto yy61; + if (yych == '\t') goto yy60; + if (yych >= ' ') goto yy60; } else { - if (yych == 'D') goto yy61; - if (yych >= 'F') goto yy61; + if (yych == 'D') goto yy60; + if (yych >= 'F') goto yy60; } } else { if (yych <= 'M') { - if (yych == 'H') goto yy61; - if (yych >= 'M') goto yy61; + if (yych == 'H') goto yy60; + if (yych >= 'M') goto yy60; } else { - if (yych <= 'R') goto yy1076; - if (yych <= 'T') goto yy61; - if (yych >= 'W') goto yy61; + 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 yy61; - if (yych >= 'd') goto yy61; + if (yych == 'Y') goto yy60; + if (yych >= 'd') goto yy60; } else { - if (yych == 'f') goto yy61; - if (yych >= 'h') goto yy61; + if (yych == 'f') goto yy60; + if (yych >= 'h') goto yy60; } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych >= 's') goto yy61; + if (yych == 'm') goto yy60; + if (yych >= 's') goto yy60; } else { if (yych <= 'w') { - if (yych >= 'w') goto yy61; + if (yych >= 'w') goto yy60; } else { - if (yych == 'y') goto yy61; + if (yych == 'y') goto yy60; } } } } -yy1076: - YYDEBUG(1076, *YYCURSOR); +yy1075: + YYDEBUG(1075, *YYCURSOR); #line 1223 "ext/date/lib/parse_date.re" { int tz_not_found; @@ -15824,904 +15805,904 @@ yy1076: TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } -#line 15828 "ext/date/lib/parse_date.c" -yy1077: - YYDEBUG(1077, *YYCURSOR); +#line 15809 "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 yy61; - if (yych <= 0x1F) goto yy1076; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1075; + goto yy60; } else { - if (yych <= '/') goto yy1076; - if (yych <= '9') goto yy821; - if (yych <= 'C') goto yy1076; - goto yy61; + if (yych <= '/') goto yy1075; + if (yych <= '9') goto yy820; + if (yych <= 'C') goto yy1075; + goto yy60; } } else { if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy1076; - goto yy61; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy1075; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy1076; - goto yy61; + if (yych <= 'L') goto yy1075; + goto yy60; } else { - if (yych <= 'R') goto yy1076; - if (yych <= 'T') goto yy61; - goto yy1076; + if (yych <= 'R') goto yy1075; + if (yych <= 'T') goto yy60; + goto yy1075; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy1076; - if (yych <= 'Y') goto yy61; - goto yy1076; + if (yych == 'X') goto yy1075; + if (yych <= 'Y') goto yy60; + goto yy1075; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy1076; + if (yych <= 'd') goto yy60; + goto yy1075; } else { - if (yych == 'g') goto yy1076; - goto yy61; + if (yych == 'g') goto yy1075; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy1076; - goto yy61; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy1075; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy1076; - goto yy61; + if (yych <= 'v') goto yy1075; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy1076; + if (yych == 'y') goto yy60; + goto yy1075; } } } } -yy1078: - YYDEBUG(1078, *YYCURSOR); +yy1077: + YYDEBUG(1077, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy1076; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1075; + goto yy60; } else { if (yych <= '6') { - if (yych <= '/') goto yy1076; - goto yy821; + if (yych <= '/') goto yy1075; + goto yy820; } else { - if (yych <= '9') goto yy55; - if (yych <= 'C') goto yy1076; - goto yy61; + if (yych <= '9') goto yy54; + if (yych <= 'C') goto yy1075; + goto yy60; } } } else { if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy1076; - goto yy61; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy1075; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy1076; - goto yy61; + if (yych <= 'L') goto yy1075; + goto yy60; } else { - if (yych <= 'R') goto yy1076; - if (yych <= 'T') goto yy61; - goto yy1076; + if (yych <= 'R') goto yy1075; + if (yych <= 'T') goto yy60; + goto yy1075; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy1076; - if (yych <= 'Y') goto yy61; - goto yy1076; + if (yych == 'X') goto yy1075; + if (yych <= 'Y') goto yy60; + goto yy1075; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy1076; + if (yych <= 'd') goto yy60; + goto yy1075; } else { - if (yych == 'g') goto yy1076; - goto yy61; + if (yych == 'g') goto yy1075; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy1076; - goto yy61; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy1075; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy1076; - goto yy61; + if (yych <= 'v') goto yy1075; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy1076; + if (yych == 'y') goto yy60; + goto yy1075; } } } } -yy1079: - YYDEBUG(1079, *YYCURSOR); +yy1078: + YYDEBUG(1078, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy1076; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1075; + goto yy60; } else { - if (yych <= '/') goto yy1076; - if (yych <= '9') goto yy821; - if (yych <= 'C') goto yy1076; - goto yy61; + if (yych <= '/') goto yy1075; + if (yych <= '9') goto yy820; + if (yych <= 'C') goto yy1075; + goto yy60; } } else { if (yych <= 'H') { - if (yych == 'F') goto yy61; - if (yych <= 'G') goto yy1076; - goto yy61; + if (yych == 'F') goto yy60; + if (yych <= 'G') goto yy1075; + goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy1076; - goto yy61; + if (yych <= 'L') goto yy1075; + goto yy60; } else { - if (yych <= 'R') goto yy1076; - if (yych <= 'T') goto yy61; - goto yy1076; + if (yych <= 'R') goto yy1075; + if (yych <= 'T') goto yy60; + goto yy1075; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy1076; - if (yych <= 'Y') goto yy61; - goto yy1076; + if (yych == 'X') goto yy1075; + if (yych <= 'Y') goto yy60; + goto yy1075; } else { if (yych <= 'e') { - if (yych <= 'd') goto yy61; - goto yy1076; + if (yych <= 'd') goto yy60; + goto yy1075; } else { - if (yych == 'g') goto yy1076; - goto yy61; + if (yych == 'g') goto yy1075; + goto yy60; } } } else { if (yych <= 't') { - if (yych == 'm') goto yy61; - if (yych <= 'r') goto yy1076; - goto yy61; + if (yych == 'm') goto yy60; + if (yych <= 'r') goto yy1075; + goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy1076; - goto yy61; + if (yych <= 'v') goto yy1075; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy1076; + if (yych == 'y') goto yy60; + goto yy1075; } } } } -yy1080: - YYDEBUG(1080, *YYCURSOR); +yy1079: + YYDEBUG(1079, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '9') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy1076; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1075; + goto yy60; } else { if (yych <= '0') { - if (yych <= '/') goto yy1076; - goto yy845; + if (yych <= '/') goto yy1075; + goto yy844; } else { - if (yych <= '2') goto yy846; - if (yych <= '3') goto yy847; - goto yy821; + if (yych <= '2') goto yy845; + if (yych <= '3') goto yy846; + goto yy820; } } } else { if (yych <= 'G') { if (yych <= 'D') { - if (yych <= 'C') goto yy1076; - goto yy61; + if (yych <= 'C') goto yy1075; + goto yy60; } else { - if (yych == 'F') goto yy61; - goto yy1076; + if (yych == 'F') goto yy60; + goto yy1075; } } else { if (yych <= 'L') { - if (yych <= 'H') goto yy61; - goto yy1076; + if (yych <= 'H') goto yy60; + goto yy1075; } else { - if (yych <= 'M') goto yy61; - if (yych <= 'R') goto yy1076; - goto yy61; + if (yych <= 'M') goto yy60; + if (yych <= 'R') goto yy1075; + goto yy60; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { - if (yych == 'W') goto yy61; - if (yych <= 'X') goto yy1076; - goto yy61; + if (yych == 'W') goto yy60; + if (yych <= 'X') goto yy1075; + goto yy60; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy1076; - goto yy61; + if (yych <= 'c') goto yy1075; + goto yy60; } else { - if (yych == 'f') goto yy61; - goto yy1076; + if (yych == 'f') goto yy60; + goto yy1075; } } } else { if (yych <= 't') { if (yych <= 'l') { - if (yych <= 'h') goto yy61; - goto yy1076; + if (yych <= 'h') goto yy60; + goto yy1075; } else { - if (yych <= 'm') goto yy61; - if (yych <= 'r') goto yy1076; - goto yy61; + if (yych <= 'm') goto yy60; + if (yych <= 'r') goto yy1075; + goto yy60; } } else { if (yych <= 'w') { - if (yych <= 'v') goto yy1076; - goto yy61; + if (yych <= 'v') goto yy1075; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy1076; + if (yych == 'y') goto yy60; + goto yy1075; } } } } -yy1081: - YYDEBUG(1081, *YYCURSOR); +yy1080: + YYDEBUG(1080, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '9') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy1076; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1075; + goto yy60; } else { if (yych <= '0') { - if (yych <= '/') goto yy1076; - goto yy877; + if (yych <= '/') goto yy1075; + goto yy876; } else { - if (yych <= '2') goto yy846; - if (yych <= '3') goto yy847; - goto yy821; + if (yych <= '2') goto yy845; + if (yych <= '3') goto yy846; + goto yy820; } } } else { if (yych <= 'G') { if (yych <= 'D') { - if (yych <= 'C') goto yy1076; - goto yy61; + if (yych <= 'C') goto yy1075; + goto yy60; } else { - if (yych == 'F') goto yy61; - goto yy1076; + if (yych == 'F') goto yy60; + goto yy1075; } } else { if (yych <= 'L') { - if (yych <= 'H') goto yy61; - goto yy1076; + if (yych <= 'H') goto yy60; + goto yy1075; } else { - if (yych <= 'M') goto yy61; - if (yych <= 'R') goto yy1076; - goto yy61; + if (yych <= 'M') goto yy60; + if (yych <= 'R') goto yy1075; + goto yy60; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { - if (yych == 'W') goto yy61; - if (yych <= 'X') goto yy1076; - goto yy61; + if (yych == 'W') goto yy60; + if (yych <= 'X') goto yy1075; + goto yy60; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy1076; - goto yy61; + if (yych <= 'c') goto yy1075; + goto yy60; } else { - if (yych == 'f') goto yy61; - goto yy1076; + if (yych == 'f') goto yy60; + goto yy1075; } } } else { if (yych <= 't') { if (yych <= 'l') { - if (yych <= 'h') goto yy61; - goto yy1076; + if (yych <= 'h') goto yy60; + goto yy1075; } else { - if (yych <= 'm') goto yy61; - if (yych <= 'r') goto yy1076; - goto yy61; + if (yych <= 'm') goto yy60; + if (yych <= 'r') goto yy1075; + goto yy60; } } else { if (yych <= 'w') { - if (yych <= 'v') goto yy1076; - goto yy61; + if (yych <= 'v') goto yy1075; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy1076; + if (yych == 'y') goto yy60; + goto yy1075; } } } } -yy1082: - YYDEBUG(1082, *YYCURSOR); +yy1081: + YYDEBUG(1081, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '9') { if (yych <= ' ') { - if (yych == '\t') goto yy61; - if (yych <= 0x1F) goto yy1076; - goto yy61; + if (yych == '\t') goto yy60; + if (yych <= 0x1F) goto yy1075; + goto yy60; } else { if (yych <= '0') { - if (yych <= '/') goto yy1076; - goto yy845; + if (yych <= '/') goto yy1075; + goto yy844; } else { - if (yych <= '2') goto yy846; - if (yych <= '3') goto yy847; - goto yy821; + if (yych <= '2') goto yy845; + if (yych <= '3') goto yy846; + goto yy820; } } } else { if (yych <= 'G') { if (yych <= 'D') { - if (yych <= 'C') goto yy1076; - goto yy61; + if (yych <= 'C') goto yy1075; + goto yy60; } else { - if (yych == 'F') goto yy61; - goto yy1076; + if (yych == 'F') goto yy60; + goto yy1075; } } else { if (yych <= 'L') { - if (yych <= 'H') goto yy61; - goto yy1076; + if (yych <= 'H') goto yy60; + goto yy1075; } else { - if (yych <= 'M') goto yy61; - if (yych <= 'R') goto yy1076; - goto yy61; + if (yych <= 'M') goto yy60; + if (yych <= 'R') goto yy1075; + goto yy60; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { - if (yych == 'W') goto yy61; - if (yych <= 'X') goto yy1076; - goto yy61; + if (yych == 'W') goto yy60; + if (yych <= 'X') goto yy1075; + goto yy60; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy1076; - goto yy61; + if (yych <= 'c') goto yy1075; + goto yy60; } else { - if (yych == 'f') goto yy61; - goto yy1076; + if (yych == 'f') goto yy60; + goto yy1075; } } } else { if (yych <= 't') { if (yych <= 'l') { - if (yych <= 'h') goto yy61; - goto yy1076; + if (yych <= 'h') goto yy60; + goto yy1075; } else { - if (yych <= 'm') goto yy61; - if (yych <= 'r') goto yy1076; - goto yy61; + if (yych <= 'm') goto yy60; + if (yych <= 'r') goto yy1075; + goto yy60; } } else { if (yych <= 'w') { - if (yych <= 'v') goto yy1076; - goto yy61; + if (yych <= 'v') goto yy1075; + goto yy60; } else { - if (yych == 'y') goto yy61; - goto yy1076; + if (yych == 'y') goto yy60; + goto yy1075; } } } } -yy1083: - YYDEBUG(1083, *YYCURSOR); +yy1082: + YYDEBUG(1082, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy1085; - goto yy491; + if (yych == '.') goto yy1084; + goto yy490; } else { - if (yych <= '9') goto yy1084; - if (yych <= ':') goto yy1085; - goto yy491; + if (yych <= '9') goto yy1083; + if (yych <= ':') goto yy1084; + goto yy490; } -yy1084: - YYDEBUG(1084, *YYCURSOR); +yy1083: + YYDEBUG(1083, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy1085; - if (yych != ':') goto yy491; + if (yych == '.') goto yy1084; + if (yych != ':') goto yy490; +yy1084: + YYDEBUG(1084, *YYCURSOR); + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy1086; - if (yych <= '6') goto yy1087; - if (yych <= '9') goto yy496; - goto yy57; + 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 yy497; - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy496; - goto yy491; + if (yych == '.') goto yy496; + if (yych == '0') goto yy495; + goto yy490; yy1087: YYDEBUG(1087, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych == '0') goto yy496; - goto yy491; + 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; + } yy1088: YYDEBUG(1088, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - goto yy1092; + if (yych <= '/') { + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; + if (yych <= '.') goto yy1091; + goto yy490; } else { - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy1091; - if (yych <= ':') goto yy1085; - goto yy491; + if (yych <= '2') goto yy1090; + if (yych <= '9') goto yy1083; + if (yych <= ':') goto yy1084; + goto yy490; } yy1089: YYDEBUG(1089, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - if (yych <= '.') goto yy1092; - goto yy491; + if (yych <= '.') { + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; + goto yy1091; } else { - if (yych <= '2') goto yy1091; - if (yych <= '9') goto yy1084; - if (yych <= ':') goto yy1085; - goto yy491; + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy1083; + if (yych <= ':') goto yy1084; + goto yy490; } yy1090: YYDEBUG(1090, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - goto yy1092; + if (yych <= ',') goto yy490; + if (yych <= '-') goto yy601; } else { - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy1084; - if (yych <= ':') goto yy1085; - goto yy491; + if (yych == ':') goto yy1084; + goto yy490; } yy1091: YYDEBUG(1091, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= ',') goto yy491; - if (yych <= '-') goto yy602; - } else { - if (yych == ':') goto yy1085; - goto yy491; - } + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '5') goto yy1093; - if (yych <= '6') goto yy1094; - if (yych <= '9') goto yy610; - goto yy57; + 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; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy1095; - goto yy491; + if (yych <= '/') { + if (yych == '.') goto yy496; + goto yy490; + } else { + if (yych <= '0') goto yy1094; + if (yych <= '9') goto yy610; + goto yy490; + } yy1094: YYDEBUG(1094, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy497; - goto yy491; - } else { - if (yych <= '0') goto yy1095; - if (yych <= '9') goto yy611; - goto yy491; - } + if (yych == '.') goto yy496; + if (yych <= '/') goto yy490; + if (yych <= '9') goto yy604; + goto yy490; yy1095: YYDEBUG(1095, *YYCURSOR); - yyaccept = 11; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy497; - if (yych <= '/') goto yy491; - if (yych <= '9') goto yy605; - goto yy491; + 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; + } + } yy1096: YYDEBUG(1096, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { - if (yych == '\t') goto yy460; - if (yych <= ',') goto yy462; - goto yy1051; + if (yych == '\t') goto yy1051; + if (yych <= ',') goto yy1053; + goto yy1050; } else { - if (yych <= '.') goto yy474; - if (yych <= '/') goto yy472; - if (yych <= '5') goto yy1066; - goto yy741; + if (yych <= '.') goto yy1063; + if (yych <= '/') goto yy471; + if (yych <= '5') goto yy1065; + goto yy740; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy483; - if (yych == 'n') goto yy470; - goto yy462; + if (yych <= ':') goto yy1064; + if (yych == 'n') goto yy469; + goto yy1053; } else { - if (yych <= 'r') goto yy471; - if (yych <= 's') goto yy464; - if (yych <= 't') goto yy468; - goto yy462; + if (yych <= 'r') goto yy470; + if (yych <= 's') goto yy463; + if (yych <= 't') goto yy467; + goto yy1053; } } yy1097: YYDEBUG(1097, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '9') { - if (yych <= '-') { - if (yych == '\t') goto yy1052; - if (yych <= ',') goto yy1054; - goto yy1051; + if (yych <= 'E') { + if (yych <= ')') { + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '.') goto yy1064; - if (yych <= '/') goto yy472; - if (yych <= '5') goto yy1066; - goto yy741; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy141; } } else { - if (yych <= 'q') { - if (yych <= ':') goto yy1065; - if (yych == 'n') goto yy470; - goto yy1054; + if (yych <= 'd') { + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'r') goto yy471; - if (yych <= 's') goto yy464; - if (yych <= 't') goto yy468; - goto yy1054; + if (yych <= 'e') goto yy1098; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1098: YYDEBUG(1098, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'E') { + if (yych <= 'V') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'U') goto yy142; } } else { - if (yych <= 'd') { + if (yych <= 'u') { if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; + if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'e') goto yy1099; + if (yych <= 'v') goto yy1099; if (yych <= 'z') goto yy142; - goto yy4; + goto yy3; } } yy1099: YYDEBUG(1099, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'V') { + if (yych <= 'I') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'U') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'H') goto yy143; } } else { - if (yych <= 'u') { + if (yych <= 'h') { if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; + if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'v') goto yy1100; + if (yych <= 'i') goto yy1100; if (yych <= 'z') goto yy143; - goto yy4; + goto yy3; } } yy1100: YYDEBUG(1100, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'I') { + if (yych <= 'O') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'H') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'N') goto yy144; } } else { - if (yych <= 'h') { + if (yych <= 'n') { if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; + if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'i') goto yy1101; + if (yych <= 'o') goto yy1101; if (yych <= 'z') goto yy144; - goto yy4; + goto yy3; } } yy1101: YYDEBUG(1101, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'N') goto yy145; - } - } else { - if (yych <= 'n') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'o') goto yy1102; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1102: - YYDEBUG(1102, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'U') goto yy1103; - if (yych != 'u') goto yy4; + if (yych <= 'U') goto yy1102; + if (yych != 'u') goto yy3; } +yy1102: + YYDEBUG(1102, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy1103; + if (yych != 's') goto yy56; yy1103: YYDEBUG(1103, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy1104; - if (yych != 's') goto yy57; + if (yych == '\t') goto yy1104; + if (yych != ' ') goto yy56; yy1104: YYDEBUG(1104, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\t') goto yy1105; - if (yych != ' ') goto yy57; -yy1105: - YYDEBUG(1105, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; -yy1106: - YYDEBUG(1106, *YYCURSOR); +yy1105: + YYDEBUG(1105, *YYCURSOR); if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { - if (yych == '\t') goto yy1105; - if (yych <= 0x1F) goto yy57; - goto yy1105; + if (yych == '\t') goto yy1104; + if (yych <= 0x1F) goto yy56; + goto yy1104; } else { - if (yych == 'D') goto yy1110; - if (yych <= 'E') goto yy57; - goto yy1111; + if (yych == 'D') goto yy1109; + if (yych <= 'E') goto yy56; + goto yy1110; } } else { if (yych <= 'M') { - if (yych == 'H') goto yy1109; - if (yych <= 'L') goto yy57; - goto yy1108; + if (yych == 'H') goto yy1108; + if (yych <= 'L') goto yy56; + goto yy1107; } else { if (yych <= 'S') { - if (yych <= 'R') goto yy57; + if (yych <= 'R') goto yy56; } else { - if (yych <= 'T') goto yy1114; - if (yych <= 'V') goto yy57; - goto yy1113; + if (yych <= 'T') goto yy1113; + if (yych <= 'V') goto yy56; + goto yy1112; } } } } else { if (yych <= 'l') { if (yych <= 'd') { - if (yych == 'Y') goto yy1112; - if (yych <= 'c') goto yy57; - goto yy1110; + if (yych == 'Y') goto yy1111; + if (yych <= 'c') goto yy56; + goto yy1109; } else { if (yych <= 'f') { - if (yych <= 'e') goto yy57; - goto yy1111; + if (yych <= 'e') goto yy56; + goto yy1110; } else { - if (yych == 'h') goto yy1109; - goto yy57; + if (yych == 'h') goto yy1108; + goto yy56; } } } else { if (yych <= 't') { - if (yych <= 'm') goto yy1108; - if (yych <= 'r') goto yy57; - if (yych >= 't') goto yy1114; + if (yych <= 'm') goto yy1107; + if (yych <= 'r') goto yy56; + if (yych >= 't') goto yy1113; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy57; - goto yy1113; + if (yych <= 'v') goto yy56; + goto yy1112; } else { - if (yych == 'y') goto yy1112; - goto yy57; + if (yych == 'y') goto yy1111; + goto yy56; } } } } -yy1107: - YYDEBUG(1107, *YYCURSOR); +yy1106: + YYDEBUG(1106, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { - if (yych == 'A') goto yy1179; - goto yy57; + if (yych == 'A') goto yy1178; + goto yy56; } else { - if (yych <= 'E') goto yy1180; - if (yych <= 'T') goto yy57; - goto yy1178; + if (yych <= 'E') goto yy1179; + if (yych <= 'T') goto yy56; + goto yy1177; } } else { if (yych <= 'd') { - if (yych == 'a') goto yy1179; - goto yy57; + if (yych == 'a') goto yy1178; + goto yy56; } else { - if (yych <= 'e') goto yy1180; - if (yych == 'u') goto yy1178; - goto yy57; + if (yych <= 'e') goto yy1179; + if (yych == 'u') goto yy1177; + goto yy56; } } -yy1108: - YYDEBUG(1108, *YYCURSOR); +yy1107: + YYDEBUG(1107, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'I') goto yy1170; - if (yych <= 'N') goto yy57; - goto yy1169; + if (yych == 'I') goto yy1169; + if (yych <= 'N') goto yy56; + goto yy1168; } else { if (yych <= 'i') { - if (yych <= 'h') goto yy57; - goto yy1170; + if (yych <= 'h') goto yy56; + goto yy1169; } else { - if (yych == 'o') goto yy1169; - goto yy57; + if (yych == 'o') goto yy1168; + goto yy56; } } +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 == 'O') goto yy1167; - if (yych == 'o') goto yy1167; - goto yy57; + if (yych == 'A') goto yy1165; + if (yych == 'a') goto yy1165; + goto yy56; yy1110: YYDEBUG(1110, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1166; - if (yych == 'a') goto yy1166; - goto yy57; -yy1111: - YYDEBUG(1111, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'R') { - if (yych == 'O') goto yy1151; - if (yych <= 'Q') goto yy57; - goto yy1150; + if (yych == 'O') goto yy1150; + if (yych <= 'Q') goto yy56; + goto yy1149; } else { if (yych <= 'o') { - if (yych <= 'n') goto yy57; - goto yy1151; + if (yych <= 'n') goto yy56; + goto yy1150; } else { - if (yych == 'r') goto yy1150; - goto yy57; + if (yych == 'r') goto yy1149; + goto yy56; } } +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 yy1147; - if (yych == 'e') goto yy1147; - goto yy57; + if (yych == 'E') goto yy1132; + if (yych == 'e') goto yy1132; + goto yy56; yy1113: YYDEBUG(1113, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy1133; - if (yych == 'e') goto yy1133; - goto yy57; -yy1114: - YYDEBUG(1114, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'H') goto yy1115; - if (yych <= 'T') goto yy57; - goto yy1116; + if (yych == 'H') goto yy1114; + if (yych <= 'T') goto yy56; + goto yy1115; } else { if (yych <= 'h') { - if (yych <= 'g') goto yy57; + if (yych <= 'g') goto yy56; } else { - if (yych == 'u') goto yy1116; - goto yy57; + if (yych == 'u') goto yy1115; + goto yy56; } } +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 == 'U') goto yy1128; - if (yych == 'u') goto yy1128; - goto yy57; + if (yych == 'E') goto yy1116; + if (yych != 'e') goto yy56; yy1116: YYDEBUG(1116, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1117; - if (yych != 'e') goto yy57; -yy1117: - YYDEBUG(1117, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych >= ' ') goto yy1119; + if (yych == '\t') goto yy1118; + if (yych >= ' ') goto yy1118; } else { if (yych <= 'S') { - if (yych >= 'S') goto yy1121; + if (yych >= 'S') goto yy1120; } else { - if (yych == 's') goto yy1121; + if (yych == 's') goto yy1120; } } -yy1118: - YYDEBUG(1118, *YYCURSOR); +yy1117: + YYDEBUG(1117, *YYCURSOR); #line 1619 "ext/date/lib/parse_date.re" { timelib_sll i; @@ -16738,57 +16719,57 @@ yy1118: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 16742 "ext/date/lib/parse_date.c" -yy1119: - YYDEBUG(1119, *YYCURSOR); +#line 16723 "ext/date/lib/parse_date.c" +yy1118: + YYDEBUG(1118, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - YYDEBUG(1120, *YYCURSOR); + YYDEBUG(1119, *YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych <= 0x1F) goto yy57; - goto yy1119; + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy56; + goto yy1118; } else { if (yych <= 'O') { - if (yych <= 'N') goto yy57; - goto yy1125; + if (yych <= 'N') goto yy56; + goto yy1124; } else { - if (yych == 'o') goto yy1125; - goto yy57; + if (yych == 'o') goto yy1124; + goto yy56; } } +yy1120: + YYDEBUG(1120, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'D') goto yy1121; + if (yych != 'd') goto yy56; yy1121: YYDEBUG(1121, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy1122; - if (yych != 'd') goto yy57; + if (yych == 'A') goto yy1122; + if (yych != 'a') goto yy56; yy1122: YYDEBUG(1122, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1123; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy1123; + if (yych != 'y') goto yy56; yy1123: YYDEBUG(1123, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych != 'y') goto yy57; -yy1124: - YYDEBUG(1124, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '\t') goto yy1119; - if (yych == ' ') goto yy1119; - goto yy1118; + 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); - yych = *++YYCURSOR; - if (yych == 'F') goto yy1126; - if (yych != 'f') goto yy57; -yy1126: - YYDEBUG(1126, *YYCURSOR); ++YYCURSOR; - YYDEBUG(1127, *YYCURSOR); + YYDEBUG(1126, *YYCURSOR); #line 1092 "ext/date/lib/parse_date.re" { timelib_sll i; @@ -16810,114 +16791,114 @@ yy1126: TIMELIB_DEINIT; return TIMELIB_WEEK_DAY_OF_MONTH; } -#line 16814 "ext/date/lib/parse_date.c" -yy1128: - YYDEBUG(1128, *YYCURSOR); +#line 16795 "ext/date/lib/parse_date.c" +yy1127: + YYDEBUG(1127, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych <= 0x1F) goto yy1118; - goto yy1119; + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1117; + goto yy1118; } else { if (yych <= 'R') { - if (yych <= 'Q') goto yy1118; + if (yych <= 'Q') goto yy1117; } else { - if (yych != 'r') goto yy1118; + if (yych != 'r') goto yy1117; } } + YYDEBUG(1128, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy1129; + if (yych != 's') goto yy56; +yy1129: YYDEBUG(1129, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy1130; - if (yych != 's') goto yy57; + if (yych == 'D') goto yy1130; + if (yych != 'd') goto yy56; yy1130: YYDEBUG(1130, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy1131; - if (yych != 'd') goto yy57; + if (yych == 'A') goto yy1131; + if (yych != 'a') goto yy56; yy1131: YYDEBUG(1131, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1132; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy1123; + if (yych == 'y') goto yy1123; + goto yy56; yy1132: YYDEBUG(1132, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych == 'y') goto yy1124; - goto yy57; -yy1133: - YYDEBUG(1133, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'E') { - if (yych <= 'C') goto yy57; - if (yych <= 'D') goto yy1135; + if (yych <= 'C') goto yy56; + if (yych <= 'D') goto yy1134; } else { - if (yych <= 'c') goto yy57; - if (yych <= 'd') goto yy1135; - if (yych >= 'f') goto yy57; + if (yych <= 'c') goto yy56; + if (yych <= 'd') goto yy1134; + if (yych >= 'f') goto yy56; } - YYDEBUG(1134, *YYCURSOR); + YYDEBUG(1133, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'K') goto yy1141; - if (yych == 'k') goto yy1141; - goto yy57; -yy1135: - YYDEBUG(1135, *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 yy1119; - if (yych <= 0x1F) goto yy1118; - goto yy1119; + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1117; + goto yy1118; } else { if (yych <= 'N') { - if (yych <= 'M') goto yy1118; + if (yych <= 'M') goto yy1117; } else { - if (yych != 'n') goto yy1118; + if (yych != 'n') goto yy1117; } } + YYDEBUG(1135, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy1136; + if (yych != 'e') goto yy56; +yy1136: YYDEBUG(1136, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy1137; - if (yych != 'e') goto yy57; + if (yych == 'S') goto yy1137; + if (yych != 's') goto yy56; yy1137: YYDEBUG(1137, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy1138; - if (yych != 's') goto yy57; + if (yych == 'D') goto yy1138; + if (yych != 'd') goto yy56; yy1138: YYDEBUG(1138, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy1139; - if (yych != 'd') goto yy57; + if (yych == 'A') goto yy1139; + if (yych != 'a') goto yy56; yy1139: YYDEBUG(1139, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1140; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy1123; + if (yych == 'y') goto yy1123; + goto yy56; yy1140: YYDEBUG(1140, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych == 'y') goto yy1124; - goto yy57; -yy1141: - YYDEBUG(1141, *YYCURSOR); yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { - if (yych == 'D') goto yy1144; - if (yych >= 'S') goto yy1143; + if (yych == 'D') goto yy1143; + if (yych >= 'S') goto yy1142; } else { if (yych <= 'd') { - if (yych >= 'd') goto yy1144; + if (yych >= 'd') goto yy1143; } else { - if (yych == 's') goto yy1143; + if (yych == 's') goto yy1142; } } -yy1142: - YYDEBUG(1142, *YYCURSOR); +yy1141: + YYDEBUG(1141, *YYCURSOR); #line 1595 "ext/date/lib/parse_date.re" { timelib_sll i; @@ -16941,2683 +16922,2683 @@ yy1142: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 16945 "ext/date/lib/parse_date.c" +#line 16926 "ext/date/lib/parse_date.c" +yy1142: + YYDEBUG(1142, *YYCURSOR); + yych = *++YYCURSOR; + goto yy1117; yy1143: YYDEBUG(1143, *YYCURSOR); yych = *++YYCURSOR; - goto yy1118; + if (yych == 'A') goto yy1144; + if (yych != 'a') goto yy56; yy1144: YYDEBUG(1144, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1145; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy1145; + if (yych != 'y') goto yy56; yy1145: YYDEBUG(1145, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy1146; - if (yych != 'y') goto yy57; + if (yych == 'S') goto yy1142; + if (yych == 's') goto yy1142; + goto yy1117; yy1146: YYDEBUG(1146, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy1143; - if (yych == 's') goto yy1143; - goto yy1118; + if (yych == 'A') goto yy1147; + if (yych != 'a') goto yy56; yy1147: YYDEBUG(1147, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1148; - if (yych != 'a') goto yy57; + if (yych == 'R') goto yy1148; + if (yych != 'r') goto yy56; yy1148: YYDEBUG(1148, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy1149; - if (yych != 'r') goto yy57; + if (yych == 'S') goto yy1142; + if (yych == 's') goto yy1142; + goto yy1117; yy1149: YYDEBUG(1149, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy1143; - if (yych == 's') goto yy1143; - goto yy1118; + if (yych == 'I') goto yy1162; + if (yych == 'i') goto yy1162; + goto yy56; yy1150: YYDEBUG(1150, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy1163; - if (yych == 'i') goto yy1163; - goto yy57; + if (yych == 'R') goto yy1151; + if (yych != 'r') goto yy56; yy1151: YYDEBUG(1151, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy1152; - if (yych != 'r') goto yy57; + if (yych == 'T') goto yy1152; + if (yych != 't') goto yy56; yy1152: YYDEBUG(1152, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy1153; - if (yych != 't') goto yy57; -yy1153: - YYDEBUG(1153, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'H') goto yy1155; - if (yych <= 'M') goto yy57; + if (yych == 'H') goto yy1154; + if (yych <= 'M') goto yy56; } else { if (yych <= 'h') { - if (yych <= 'g') goto yy57; - goto yy1155; + if (yych <= 'g') goto yy56; + goto yy1154; } else { - if (yych != 'n') goto yy57; + if (yych != 'n') goto yy56; } } + 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 == 'I') goto yy1160; - if (yych == 'i') goto yy1160; - goto yy57; + if (yych == 'N') goto yy1155; + if (yych != 'n') goto yy56; yy1155: YYDEBUG(1155, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy1156; - if (yych != 'n') goto yy57; + if (yych == 'I') goto yy1156; + if (yych != 'i') goto yy56; yy1156: YYDEBUG(1156, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy1157; - if (yych != 'i') goto yy57; + if (yych == 'G') goto yy1157; + if (yych != 'g') goto yy56; yy1157: YYDEBUG(1157, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy1158; - if (yych != 'g') goto yy57; + if (yych == 'H') goto yy1158; + if (yych != 'h') goto yy56; yy1158: YYDEBUG(1158, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy1159; - if (yych != 'h') goto yy57; + if (yych == 'T') goto yy1148; + if (yych == 't') goto yy1148; + goto yy56; yy1159: YYDEBUG(1159, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy1149; - if (yych == 't') goto yy1149; - goto yy57; + if (yych == 'G') goto yy1160; + if (yych != 'g') goto yy56; yy1160: YYDEBUG(1160, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy1161; - if (yych != 'g') goto yy57; + if (yych == 'H') goto yy1161; + if (yych != 'h') goto yy56; yy1161: YYDEBUG(1161, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy1162; - if (yych != 'h') goto yy57; + if (yych == 'T') goto yy1148; + if (yych == 't') goto yy1148; + goto yy56; yy1162: YYDEBUG(1162, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy1149; - if (yych == 't') goto yy1149; - goto yy57; -yy1163: - YYDEBUG(1163, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych <= 0x1F) goto yy1118; - goto yy1119; + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1117; + goto yy1118; } else { if (yych <= 'D') { - if (yych <= 'C') goto yy1118; + if (yych <= 'C') goto yy1117; } else { - if (yych != 'd') goto yy1118; + if (yych != 'd') goto yy1117; } } + YYDEBUG(1163, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy1164; + if (yych != 'a') goto yy56; +yy1164: YYDEBUG(1164, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1165; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy1123; + if (yych == 'y') goto yy1123; + goto yy56; yy1165: YYDEBUG(1165, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych == 'y') goto yy1124; - goto yy57; + if (yych == 'Y') goto yy1148; + if (yych == 'y') goto yy1148; + goto yy56; yy1166: YYDEBUG(1166, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy1149; - if (yych == 'y') goto yy1149; - goto yy57; + if (yych == 'U') goto yy1167; + if (yych != 'u') goto yy56; yy1167: YYDEBUG(1167, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy1168; - if (yych != 'u') goto yy57; + if (yych == 'R') goto yy1148; + if (yych == 'r') goto yy1148; + goto yy56; yy1168: YYDEBUG(1168, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy1149; - if (yych == 'r') goto yy1149; - goto yy57; + if (yych == 'N') goto yy1173; + if (yych == 'n') goto yy1173; + goto yy56; yy1169: YYDEBUG(1169, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy1174; - if (yych == 'n') goto yy1174; - goto yy57; + if (yych == 'N') goto yy1170; + if (yych != 'n') goto yy56; yy1170: YYDEBUG(1170, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy1171; - if (yych != 'n') goto yy57; -yy1171: - YYDEBUG(1171, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { - if (yych == 'S') goto yy1143; - if (yych <= 'T') goto yy1118; + if (yych == 'S') goto yy1142; + if (yych <= 'T') goto yy1117; } else { if (yych <= 's') { - if (yych <= 'r') goto yy1118; - goto yy1143; + if (yych <= 'r') goto yy1117; + goto yy1142; } else { - if (yych != 'u') goto yy1118; + if (yych != 'u') goto yy1117; } } + YYDEBUG(1171, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy1172; + if (yych != 't') goto yy56; +yy1172: YYDEBUG(1172, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy1173; - if (yych != 't') goto yy57; + if (yych == 'E') goto yy1148; + if (yych == 'e') goto yy1148; + goto yy56; yy1173: YYDEBUG(1173, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy1149; - if (yych == 'e') goto yy1149; - goto yy57; -yy1174: - YYDEBUG(1174, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= 0x1F) { - if (yych == '\t') goto yy1119; - goto yy1118; + if (yych == '\t') goto yy1118; + goto yy1117; } else { - if (yych <= ' ') goto yy1119; - if (yych <= 'C') goto yy1118; + if (yych <= ' ') goto yy1118; + if (yych <= 'C') goto yy1117; } } else { if (yych <= 'c') { - if (yych == 'T') goto yy1176; - goto yy1118; + if (yych == 'T') goto yy1175; + goto yy1117; } else { - if (yych <= 'd') goto yy1175; - if (yych == 't') goto yy1176; - goto yy1118; + if (yych <= 'd') goto yy1174; + if (yych == 't') goto yy1175; + goto yy1117; } } +yy1174: + YYDEBUG(1174, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy1176; + if (yych == 'a') goto yy1176; + goto yy56; yy1175: YYDEBUG(1175, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1177; - if (yych == 'a') goto yy1177; - goto yy57; + if (yych == 'H') goto yy1148; + if (yych == 'h') goto yy1148; + goto yy56; yy1176: YYDEBUG(1176, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy1149; - if (yych == 'h') goto yy1149; - goto yy57; + if (yych == 'Y') goto yy1123; + if (yych == 'y') goto yy1123; + goto yy56; yy1177: YYDEBUG(1177, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych == 'y') goto yy1124; - goto yy57; + if (yych == 'N') goto yy1188; + if (yych == 'n') goto yy1188; + goto yy56; yy1178: YYDEBUG(1178, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy1189; - if (yych == 'n') goto yy1189; - goto yy57; + if (yych == 'T') goto yy1183; + if (yych == 't') goto yy1183; + goto yy56; yy1179: YYDEBUG(1179, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy1184; - if (yych == 't') goto yy1184; - goto yy57; + if (yych == 'C') goto yy1180; + if (yych != 'c') goto yy56; yy1180: YYDEBUG(1180, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy1181; - if (yych != 'c') goto yy57; -yy1181: - YYDEBUG(1181, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { - if (yych == 'O') goto yy1182; - if (yych <= 'R') goto yy1118; - goto yy1143; + if (yych == 'O') goto yy1181; + if (yych <= 'R') goto yy1117; + goto yy1142; } else { if (yych <= 'o') { - if (yych <= 'n') goto yy1118; + if (yych <= 'n') goto yy1117; } else { - if (yych == 's') goto yy1143; - goto yy1118; + if (yych == 's') goto yy1142; + goto yy1117; } } +yy1181: + YYDEBUG(1181, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy1182; + if (yych != 'n') goto yy56; yy1182: YYDEBUG(1182, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy1183; - if (yych != 'n') goto yy57; + if (yych == 'D') goto yy1148; + if (yych == 'd') goto yy1148; + goto yy56; yy1183: YYDEBUG(1183, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy1149; - if (yych == 'd') goto yy1149; - goto yy57; -yy1184: - YYDEBUG(1184, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych <= 0x1F) goto yy1118; - goto yy1119; + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1117; + goto yy1118; } else { if (yych <= 'U') { - if (yych <= 'T') goto yy1118; + if (yych <= 'T') goto yy1117; } else { - if (yych != 'u') goto yy1118; + if (yych != 'u') goto yy1117; } } + YYDEBUG(1184, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy1185; + if (yych != 'r') goto yy56; +yy1185: YYDEBUG(1185, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy1186; - if (yych != 'r') goto yy57; + if (yych == 'D') goto yy1186; + if (yych != 'd') goto yy56; yy1186: YYDEBUG(1186, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy1187; - if (yych != 'd') goto yy57; + if (yych == 'A') goto yy1187; + if (yych != 'a') goto yy56; yy1187: YYDEBUG(1187, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1188; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy1123; + if (yych == 'y') goto yy1123; + goto yy56; yy1188: YYDEBUG(1188, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych == 'y') goto yy1124; - goto yy57; -yy1189: - YYDEBUG(1189, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy1119; - if (yych <= 0x1F) goto yy1118; - goto yy1119; + if (yych == '\t') goto yy1118; + if (yych <= 0x1F) goto yy1117; + goto yy1118; } else { if (yych <= 'D') { - if (yych <= 'C') goto yy1118; + if (yych <= 'C') goto yy1117; } else { - if (yych != 'd') goto yy1118; + if (yych != 'd') goto yy1117; } } + YYDEBUG(1189, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy1190; + if (yych != 'a') goto yy56; +yy1190: YYDEBUG(1190, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1191; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy1123; + if (yych == 'y') goto yy1123; + goto yy56; yy1191: YYDEBUG(1191, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1124; - if (yych == 'y') goto yy1124; - goto yy57; -yy1192: - YYDEBUG(1192, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1099; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'E') goto yy1098; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'e') goto yy1193; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'e') goto yy1192; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy1193: - YYDEBUG(1193, *YYCURSOR); +yy1192: + YYDEBUG(1192, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'V') goto yy1100; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'V') goto yy1099; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'u') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 'v') goto yy1194; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'v') goto yy1193; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy1194: - YYDEBUG(1194, *YYCURSOR); +yy1193: + YYDEBUG(1193, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'I') goto yy1101; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'I') goto yy1100; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'h') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'i') goto yy1195; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'i') goto yy1194; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy1195: - YYDEBUG(1195, *YYCURSOR); +yy1194: + YYDEBUG(1194, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'O') goto yy1102; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'O') goto yy1101; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'n') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'o') goto yy1196; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'o') goto yy1195; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy1196: - YYDEBUG(1196, *YYCURSOR); +yy1195: + YYDEBUG(1195, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { - if (yych <= 'U') goto yy1103; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= 'U') goto yy1102; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych == 'u') goto yy1197; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych == 'u') goto yy1196; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy1197: - YYDEBUG(1197, *YYCURSOR); +yy1196: + YYDEBUG(1196, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy1104; - if (yych != 's') goto yy155; - YYDEBUG(1198, *YYCURSOR); + if (yych == 'S') goto yy1103; + if (yych != 's') goto yy154; + YYDEBUG(1197, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 16) { - goto yy154; + goto yy153; } if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy57; - goto yy1105; + if (yych <= 0x08) goto yy56; + goto yy1104; } else { - if (yych == ' ') goto yy1105; - goto yy57; + if (yych == ' ') goto yy1104; + goto yy56; } } else { if (yych <= '/') { - if (yych == '.') goto yy57; - goto yy148; + if (yych == '.') goto yy56; + goto yy147; } else { - if (yych == '_') goto yy148; - goto yy57; + if (yych == '_') goto yy147; + goto yy56; } } -yy1199: - YYDEBUG(1199, *YYCURSOR); +yy1198: + YYDEBUG(1198, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'F') goto yy142; - goto yy1213; + if (yych <= '@') goto yy3; + if (yych <= 'F') goto yy141; + goto yy1212; } } else { if (yych <= 'f') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'g') goto yy1213; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'g') goto yy1212; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy1200: - YYDEBUG(1200, *YYCURSOR); +yy1199: + YYDEBUG(1199, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy142; + 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; + } + } +yy1200: + YYDEBUG(1200, *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 yy4; + if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'e') goto yy1201; + if (yych <= 'v') goto yy1201; if (yych <= 'z') goto yy142; - goto yy4; + goto yy3; } } yy1201: YYDEBUG(1201, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'V') { + if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'U') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy143; } } else { - if (yych <= 'u') { + if (yych <= 'd') { if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; + if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'v') goto yy1202; + if (yych <= 'e') goto yy1202; if (yych <= 'z') goto yy143; - goto yy4; + goto yy3; } } yy1202: YYDEBUG(1202, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'E') { + if (yych <= 'N') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy144; } } else { - if (yych <= 'd') { + if (yych <= 'm') { if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; + if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'e') goto yy1203; + if (yych <= 'n') goto yy1203; if (yych <= 'z') goto yy144; - goto yy4; + goto yy3; } } yy1203: YYDEBUG(1203, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; - } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy145; - } - } else { - if (yych <= 'm') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; - } else { - if (yych <= 'n') goto yy1204; - if (yych <= 'z') goto yy145; - goto yy4; - } - } -yy1204: - YYDEBUG(1204, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'T') goto yy1205; - if (yych != 't') goto yy4; + if (yych <= 'T') goto yy1204; + if (yych != 't') goto yy3; } +yy1204: + YYDEBUG(1204, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy1205; + if (yych != 'h') goto yy56; yy1205: YYDEBUG(1205, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy1206; - if (yych != 'h') goto yy57; + if (yych == '\t') goto yy1206; + if (yych != ' ') goto yy56; yy1206: YYDEBUG(1206, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\t') goto yy1207; - if (yych != ' ') goto yy57; -yy1207: - YYDEBUG(1207, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; -yy1208: - YYDEBUG(1208, *YYCURSOR); +yy1207: + YYDEBUG(1207, *YYCURSOR); if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { - if (yych == '\t') goto yy1207; - if (yych <= 0x1F) goto yy57; - goto yy1207; + if (yych == '\t') goto yy1206; + if (yych <= 0x1F) goto yy56; + goto yy1206; } else { - if (yych == 'D') goto yy1110; - if (yych <= 'E') goto yy57; - goto yy1111; + if (yych == 'D') goto yy1109; + if (yych <= 'E') goto yy56; + goto yy1110; } } else { if (yych <= 'M') { - if (yych == 'H') goto yy1109; - if (yych <= 'L') goto yy57; - goto yy1108; + if (yych == 'H') goto yy1108; + if (yych <= 'L') goto yy56; + goto yy1107; } else { if (yych <= 'S') { - if (yych <= 'R') goto yy57; - goto yy1107; + if (yych <= 'R') goto yy56; + goto yy1106; } else { - if (yych <= 'T') goto yy1114; - if (yych <= 'V') goto yy57; + if (yych <= 'T') goto yy1113; + if (yych <= 'V') goto yy56; } } } } else { if (yych <= 'l') { if (yych <= 'd') { - if (yych == 'Y') goto yy1112; - if (yych <= 'c') goto yy57; - goto yy1110; + if (yych == 'Y') goto yy1111; + if (yych <= 'c') goto yy56; + goto yy1109; } else { if (yych <= 'f') { - if (yych <= 'e') goto yy57; - goto yy1111; + if (yych <= 'e') goto yy56; + goto yy1110; } else { - if (yych == 'h') goto yy1109; - goto yy57; + if (yych == 'h') goto yy1108; + goto yy56; } } } else { if (yych <= 't') { - if (yych <= 'm') goto yy1108; - if (yych <= 'r') goto yy57; - if (yych <= 's') goto yy1107; - goto yy1114; + 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 yy57; + if (yych <= 'v') goto yy56; } else { - if (yych == 'y') goto yy1112; - goto yy57; + if (yych == 'y') goto yy1111; + goto yy56; } } } } - YYDEBUG(1209, *YYCURSOR); + YYDEBUG(1208, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy1210; - if (yych != 'e') goto yy57; -yy1210: - YYDEBUG(1210, *YYCURSOR); + if (yych == 'E') goto yy1209; + if (yych != 'e') goto yy56; +yy1209: + YYDEBUG(1209, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { - if (yych <= 'C') goto yy57; - if (yych <= 'D') goto yy1135; + if (yych <= 'C') goto yy56; + if (yych <= 'D') goto yy1134; } else { - if (yych <= 'c') goto yy57; - if (yych <= 'd') goto yy1135; - if (yych >= 'f') goto yy57; + if (yych <= 'c') goto yy56; + if (yych <= 'd') goto yy1134; + if (yych >= 'f') goto yy56; } - YYDEBUG(1211, *YYCURSOR); + YYDEBUG(1210, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'K') goto yy1212; - if (yych != 'k') goto yy57; -yy1212: - YYDEBUG(1212, *YYCURSOR); + if (yych == 'K') goto yy1211; + if (yych != 'k') goto yy56; +yy1211: + YYDEBUG(1211, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == 'D') goto yy1144; - if (yych <= 'R') goto yy57; - goto yy1143; + if (yych == 'D') goto yy1143; + if (yych <= 'R') goto yy56; + goto yy1142; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy57; - goto yy1144; + if (yych <= 'c') goto yy56; + goto yy1143; } else { - if (yych == 's') goto yy1143; - goto yy57; + if (yych == 's') goto yy1142; + goto yy56; } } -yy1213: - YYDEBUG(1213, *YYCURSOR); +yy1212: + YYDEBUG(1212, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy142; } } else { if (yych <= 'g') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 'h') goto yy1214; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'h') goto yy1213; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy1214: - YYDEBUG(1214, *YYCURSOR); +yy1213: + YYDEBUG(1213, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy143; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 't') goto yy1215; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 't') goto yy1214; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy1215: - YYDEBUG(1215, *YYCURSOR); +yy1214: + YYDEBUG(1214, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= 0x1F) { - if (yych == '\t') goto yy1207; - goto yy4; + if (yych == '\t') goto yy1206; + goto yy3; } else { - if (yych <= ' ') goto yy1207; - if (yych == ')') goto yy140; - goto yy4; + if (yych <= ' ') goto yy1206; + if (yych == ')') goto yy139; + goto yy3; } } else { if (yych <= '`') { - if (yych == 'H') goto yy1216; - if (yych <= 'Z') goto yy145; - goto yy4; + if (yych == 'H') goto yy1215; + if (yych <= 'Z') goto yy144; + goto yy3; } else { - if (yych == 'h') goto yy1216; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych == 'h') goto yy1215; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy1216: - YYDEBUG(1216, *YYCURSOR); +yy1215: + YYDEBUG(1215, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy1207; - goto yy4; + if (yych == '\t') goto yy1206; + goto yy3; } else { - if (yych <= ' ') goto yy1207; - if (yych == ')') goto yy140; - goto yy4; + if (yych <= ' ') goto yy1206; + if (yych == ')') goto yy139; + goto yy3; } -yy1217: - YYDEBUG(1217, *YYCURSOR); +yy1216: + YYDEBUG(1216, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'G') goto yy1213; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'G') goto yy1212; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'f') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'g') goto yy1225; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'g') goto yy1224; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy1218: - YYDEBUG(1218, *YYCURSOR); +yy1217: + YYDEBUG(1217, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1201; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'E') goto yy1200; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'e') goto yy1219; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'e') goto yy1218; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy1219: - YYDEBUG(1219, *YYCURSOR); +yy1218: + YYDEBUG(1218, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'V') goto yy1202; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'V') goto yy1201; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'u') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 'v') goto yy1220; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'v') goto yy1219; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy1220: - YYDEBUG(1220, *YYCURSOR); +yy1219: + YYDEBUG(1219, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1203; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'E') goto yy1202; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'e') goto yy1221; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'e') goto yy1220; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy1221: - YYDEBUG(1221, *YYCURSOR); +yy1220: + YYDEBUG(1220, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1204; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'N') goto yy1203; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'n') goto yy1222; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'n') goto yy1221; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy1222: - YYDEBUG(1222, *YYCURSOR); +yy1221: + YYDEBUG(1221, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { - if (yych <= 'T') goto yy1205; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= 'T') goto yy1204; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych == 't') goto yy1223; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych == 't') goto yy1222; + if (yych <= 'z') goto yy153; + goto yy3; } } +yy1222: + YYDEBUG(1222, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy1205; + if (yych != 'h') goto yy154; yy1223: YYDEBUG(1223, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy1206; - if (yych != 'h') goto yy155; -yy1224: - YYDEBUG(1224, *YYCURSOR); - yych = *++YYCURSOR; if (yybm[0+yych] & 16) { - goto yy154; + goto yy153; } if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy57; - goto yy1207; + if (yych <= 0x08) goto yy56; + goto yy1206; } else { - if (yych == ' ') goto yy1207; - goto yy57; + if (yych == ' ') goto yy1206; + goto yy56; } } else { if (yych <= '/') { - if (yych == '.') goto yy57; - goto yy148; + if (yych == '.') goto yy56; + goto yy147; } else { - if (yych == '_') goto yy148; - goto yy57; + if (yych == '_') goto yy147; + goto yy56; } } -yy1225: - YYDEBUG(1225, *YYCURSOR); +yy1224: + YYDEBUG(1224, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'H') goto yy1214; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'H') goto yy1213; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 'h') goto yy1226; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'h') goto yy1225; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy1226: - YYDEBUG(1226, *YYCURSOR); +yy1225: + YYDEBUG(1225, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1215; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'T') goto yy1214; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 't') goto yy1227; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 't') goto yy1226; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy1227: - YYDEBUG(1227, *YYCURSOR); +yy1226: + YYDEBUG(1226, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy4; - goto yy1207; + if (yych <= 0x08) goto yy3; + goto yy1206; } else { - if (yych == ' ') goto yy1207; - goto yy4; + if (yych == ' ') goto yy1206; + goto yy3; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy4; + if (yych <= ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - goto yy148; + if (yych == '.') goto yy3; + goto yy147; } } } else { if (yych <= '^') { if (yych <= 'G') { - if (yych <= '@') goto yy4; - goto yy145; + if (yych <= '@') goto yy3; + goto yy144; } else { - if (yych <= 'H') goto yy1216; - if (yych <= 'Z') goto yy145; - goto yy4; + if (yych <= 'H') goto yy1215; + if (yych <= 'Z') goto yy144; + goto yy3; } } else { if (yych <= 'g') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'h') goto yy1228; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'h') goto yy1227; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy1228: - YYDEBUG(1228, *YYCURSOR); +yy1227: + YYDEBUG(1227, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy153; } if (yych <= ')') { if (yych <= 0x1F) { - if (yych == '\t') goto yy1207; - goto yy4; + if (yych == '\t') goto yy1206; + goto yy3; } else { - if (yych <= ' ') goto yy1207; - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= ' ') goto yy1206; + if (yych <= '(') goto yy3; + goto yy139; } } else { if (yych <= '.') { - if (yych == '-') goto yy148; - goto yy4; + if (yych == '-') goto yy147; + goto yy3; } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; + goto yy3; } } -yy1229: - YYDEBUG(1229, *YYCURSOR); +yy1228: + YYDEBUG(1228, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= 'B') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy141; } else { if (yych <= 'O') { - if (yych <= 'C') goto yy1245; - goto yy142; + if (yych <= 'C') goto yy1244; + goto yy141; } else { - if (yych <= 'P') goto yy1247; - if (yych <= 'U') goto yy142; - goto yy1246; + if (yych <= 'P') goto yy1246; + if (yych <= 'U') goto yy141; + goto yy1245; } } } else { if (yych <= 'o') { if (yych <= '`') { - if (yych <= 'Z') goto yy142; - goto yy4; + if (yych <= 'Z') goto yy141; + goto yy3; } else { - if (yych == 'c') goto yy1245; - goto yy142; + if (yych == 'c') goto yy1244; + goto yy141; } } else { if (yych <= 'u') { - if (yych <= 'p') goto yy1247; - goto yy142; + if (yych <= 'p') goto yy1246; + goto yy141; } else { - if (yych <= 'v') goto yy1246; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'v') goto yy1245; + if (yych <= 'z') goto yy141; + goto yy3; } } } -yy1230: - YYDEBUG(1230, *YYCURSOR); +yy1229: + YYDEBUG(1229, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy142; - goto yy1240; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy141; + goto yy1239; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 't') goto yy1240; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 't') goto yy1239; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy1231: - YYDEBUG(1231, *YYCURSOR); +yy1230: + YYDEBUG(1230, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'W') goto yy142; - goto yy1237; + if (yych <= '@') goto yy3; + if (yych <= 'W') goto yy141; + goto yy1236; } } else { if (yych <= 'w') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'x') goto yy1237; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'x') goto yy1236; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy1232: - YYDEBUG(1232, *YYCURSOR); +yy1231: + YYDEBUG(1231, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy141; } } else { if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'n') goto yy1233; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'n') goto yy1232; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy1233: - YYDEBUG(1233, *YYCURSOR); +yy1232: + YYDEBUG(1232, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy167; - goto yy140; + if (yych <= '(') goto yy166; + goto yy139; } else { - if (yych <= '@') goto yy167; - if (yych <= 'C') goto yy143; + if (yych <= '@') goto yy166; + if (yych <= 'C') goto yy142; } } else { if (yych <= 'c') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy167; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy166; + goto yy142; } else { - if (yych <= 'd') goto yy1234; - if (yych <= 'z') goto yy143; - goto yy167; + if (yych <= 'd') goto yy1233; + if (yych <= 'z') goto yy142; + goto yy166; } } -yy1234: - YYDEBUG(1234, *YYCURSOR); +yy1233: + YYDEBUG(1233, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy144; - goto yy4; + if (yych <= 'Z') goto yy143; + goto yy3; } else { - if (yych <= 'a') goto yy1235; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'a') goto yy1234; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy1235: - YYDEBUG(1235, *YYCURSOR); +yy1234: + YYDEBUG(1234, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'X') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'X') goto yy144; } } else { if (yych <= 'x') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'y') goto yy1236; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'y') goto yy1235; + if (yych <= 'z') goto yy144; + goto yy3; } } +yy1235: + YYDEBUG(1235, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == ')') goto yy139; + goto yy166; yy1236: YYDEBUG(1236, *YYCURSOR); yych = *++YYCURSOR; - if (yych == ')') goto yy140; - goto yy167; -yy1237: - YYDEBUG(1237, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 't') goto yy1238; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 't') goto yy1237; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy1238: - YYDEBUG(1238, *YYCURSOR); +yy1237: + YYDEBUG(1237, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy143; } } else { if (yych <= 'g') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'h') goto yy1239; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'h') goto yy1238; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy1239: - YYDEBUG(1239, *YYCURSOR); +yy1238: + YYDEBUG(1238, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy4; - goto yy1207; + if (yych <= 0x08) goto yy3; + goto yy1206; } else { - if (yych == ' ') goto yy1207; - goto yy4; + if (yych == ' ') goto yy1206; + goto yy3; } } else { if (yych <= 'Z') { - if (yych <= ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy145; + if (yych <= ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy144; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy1240: - YYDEBUG(1240, *YYCURSOR); +yy1239: + YYDEBUG(1239, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { - if (yych <= '(') goto yy167; - goto yy140; + if (yych <= '(') goto yy166; + goto yy139; } else { - if (yych <= '@') goto yy167; - if (yych <= 'T') goto yy143; + if (yych <= '@') goto yy166; + if (yych <= 'T') goto yy142; } } else { if (yych <= 't') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy167; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy166; + goto yy142; } else { - if (yych <= 'u') goto yy1241; - if (yych <= 'z') goto yy143; - goto yy167; + if (yych <= 'u') goto yy1240; + if (yych <= 'z') goto yy142; + goto yy166; } } -yy1241: - YYDEBUG(1241, *YYCURSOR); +yy1240: + YYDEBUG(1240, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy143; } } else { if (yych <= 'q') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'r') goto yy1242; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'r') goto yy1241; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy1242: - YYDEBUG(1242, *YYCURSOR); +yy1241: + YYDEBUG(1241, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy144; } } else { if (yych <= 'c') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'd') goto yy1243; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'd') goto yy1242; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy1243: - YYDEBUG(1243, *YYCURSOR); +yy1242: + YYDEBUG(1242, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'A') goto yy1244; - if (yych != 'a') goto yy4; + if (yych <= 'A') goto yy1243; + if (yych != 'a') goto yy3; } +yy1243: + YYDEBUG(1243, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'Y') goto yy172; + if (yych == 'y') goto yy172; + goto yy56; yy1244: YYDEBUG(1244, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy173; - if (yych == 'y') goto yy173; - goto yy57; -yy1245: - YYDEBUG(1245, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'N') goto yy143; - goto yy1256; + if (yych <= '@') goto yy3; + if (yych <= 'N') goto yy142; + goto yy1255; } } else { if (yych <= 'n') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 'o') goto yy1256; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'o') goto yy1255; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy1246: - YYDEBUG(1246, *YYCURSOR); +yy1245: + YYDEBUG(1245, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy143; - goto yy1253; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy142; + goto yy1252; } } else { if (yych <= 'd') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 'e') goto yy1253; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'e') goto yy1252; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy1247: - YYDEBUG(1247, *YYCURSOR); +yy1246: + YYDEBUG(1246, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych != 'T') goto yy143; + if (yych != 'T') goto yy142; } } else { if (yych <= 's') { - if (yych <= '`') goto yy194; - goto yy143; + if (yych <= '`') goto yy193; + goto yy142; } else { - if (yych <= 't') goto yy1248; - if (yych <= 'z') goto yy143; - goto yy194; + if (yych <= 't') goto yy1247; + if (yych <= 'z') goto yy142; + goto yy193; } } } -yy1248: - YYDEBUG(1248, *YYCURSOR); +yy1247: + YYDEBUG(1247, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych != 'E') goto yy144; + if (yych != 'E') goto yy143; } } else { if (yych <= 'd') { - if (yych <= '`') goto yy194; - goto yy144; + if (yych <= '`') goto yy193; + goto yy143; } else { - if (yych <= 'e') goto yy1249; - if (yych <= 'z') goto yy144; - goto yy194; + if (yych <= 'e') goto yy1248; + if (yych <= 'z') goto yy143; + goto yy193; } } } -yy1249: - YYDEBUG(1249, *YYCURSOR); +yy1248: + YYDEBUG(1248, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'L') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'L') goto yy144; } } else { if (yych <= 'l') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'm') goto yy1250; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'm') goto yy1249; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy1250: - YYDEBUG(1250, *YYCURSOR); +yy1249: + YYDEBUG(1249, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'B') goto yy1251; - if (yych != 'b') goto yy4; + if (yych <= 'B') goto yy1250; + if (yych != 'b') goto yy3; } +yy1250: + YYDEBUG(1250, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy1251; + if (yych != 'e') goto yy56; yy1251: YYDEBUG(1251, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy1252; - if (yych != 'e') goto yy57; + if (yych == 'R') goto yy205; + if (yych == 'r') goto yy205; + goto yy56; yy1252: YYDEBUG(1252, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy206; - if (yych == 'r') goto yy206; - goto yy57; -yy1253: - YYDEBUG(1253, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy143; } } else { if (yych <= 'm') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'n') goto yy1254; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'n') goto yy1253; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy1254: - YYDEBUG(1254, *YYCURSOR); +yy1253: + YYDEBUG(1253, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy144; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 't') goto yy1255; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 't') goto yy1254; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy1255: - YYDEBUG(1255, *YYCURSOR); +yy1254: + YYDEBUG(1254, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'H') goto yy1206; - if (yych == 'h') goto yy1206; - goto yy4; + if (yych <= 'H') goto yy1205; + if (yych == 'h') goto yy1205; + goto yy3; } -yy1256: - YYDEBUG(1256, *YYCURSOR); +yy1255: + YYDEBUG(1255, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy143; } } else { if (yych <= 'm') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'n') goto yy1257; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'n') goto yy1256; + if (yych <= 'z') goto yy143; + goto yy3; } } -yy1257: - YYDEBUG(1257, *YYCURSOR); +yy1256: + YYDEBUG(1256, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy145; - goto yy1216; + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy144; + goto yy1215; } } else { if (yych <= 'c') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'd') goto yy1216; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'd') goto yy1215; + if (yych <= 'z') goto yy144; + goto yy3; } } -yy1258: - YYDEBUG(1258, *YYCURSOR); +yy1257: + YYDEBUG(1257, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - goto yy148; + if (yych == '.') goto yy3; + goto yy147; } } else { if (yych <= 'C') { - if (yych <= '@') goto yy4; - if (yych <= 'B') goto yy142; - goto yy1245; + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy141; + goto yy1244; } else { - if (yych == 'P') goto yy1247; - goto yy142; + if (yych == 'P') goto yy1246; + goto yy141; } } } else { if (yych <= 'b') { if (yych <= '^') { - if (yych <= 'V') goto yy1246; - if (yych <= 'Z') goto yy142; - goto yy4; + if (yych <= 'V') goto yy1245; + if (yych <= 'Z') goto yy141; + goto yy3; } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } } else { if (yych <= 'p') { - if (yych <= 'c') goto yy1274; - if (yych <= 'o') goto yy147; - goto yy1276; + if (yych <= 'c') goto yy1273; + if (yych <= 'o') goto yy146; + goto yy1275; } else { - if (yych == 'v') goto yy1275; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych == 'v') goto yy1274; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy1259: - YYDEBUG(1259, *YYCURSOR); +yy1258: + YYDEBUG(1258, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1240; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'T') goto yy1239; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 't') goto yy1269; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 't') goto yy1268; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy1260: - YYDEBUG(1260, *YYCURSOR); +yy1259: + YYDEBUG(1259, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'X') goto yy1237; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'X') goto yy1236; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'w') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'x') goto yy1266; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'x') goto yy1265; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy1261: - YYDEBUG(1261, *YYCURSOR); +yy1260: + YYDEBUG(1260, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1233; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'N') goto yy1232; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'n') goto yy1262; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'n') goto yy1261; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy1262: - YYDEBUG(1262, *YYCURSOR); +yy1261: + YYDEBUG(1261, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1234; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; + if (yych <= 'D') goto yy1233; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { if (yych <= 'c') { - if (yych <= '`') goto yy167; - goto yy151; + if (yych <= '`') goto yy166; + goto yy150; } else { - if (yych <= 'd') goto yy1263; - if (yych <= 'z') goto yy151; - goto yy167; + if (yych <= 'd') goto yy1262; + if (yych <= 'z') goto yy150; + goto yy166; } } } -yy1263: - YYDEBUG(1263, *YYCURSOR); +yy1262: + YYDEBUG(1262, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1235; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'A') goto yy1234; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy1264; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1263; + if (yych <= 'z') goto yy151; + goto yy3; } } -yy1264: - YYDEBUG(1264, *YYCURSOR); +yy1263: + YYDEBUG(1263, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'Y') goto yy1236; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Y') goto yy1235; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'x') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'y') goto yy1265; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'y') goto yy1264; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy1265: - YYDEBUG(1265, *YYCURSOR); +yy1264: + YYDEBUG(1264, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy153; } if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { if (yych <= '/') { - if (yych <= '.') goto yy167; - goto yy148; + if (yych <= '.') goto yy166; + goto yy147; } else { - if (yych == '_') goto yy148; - goto yy167; + if (yych == '_') goto yy147; + goto yy166; } } -yy1266: - YYDEBUG(1266, *YYCURSOR); +yy1265: + YYDEBUG(1265, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1238; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'T') goto yy1237; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 't') goto yy1267; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 't') goto yy1266; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy1267: - YYDEBUG(1267, *YYCURSOR); +yy1266: + YYDEBUG(1266, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'H') goto yy1239; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'H') goto yy1238; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'h') goto yy1268; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'h') goto yy1267; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy1268: - YYDEBUG(1268, *YYCURSOR); +yy1267: + YYDEBUG(1267, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { - if (yych == '\t') goto yy1207; - if (yych <= 0x1F) goto yy4; - goto yy1207; + if (yych == '\t') goto yy1206; + if (yych <= 0x1F) goto yy3; + goto yy1206; } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } } else { if (yych <= 'Z') { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } else { if (yych <= '_') { - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy1269: - YYDEBUG(1269, *YYCURSOR); +yy1268: + YYDEBUG(1268, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'U') goto yy1241; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; + if (yych <= 'U') goto yy1240; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { if (yych <= 't') { - if (yych <= '`') goto yy167; - goto yy151; + if (yych <= '`') goto yy166; + goto yy150; } else { - if (yych <= 'u') goto yy1270; - if (yych <= 'z') goto yy151; - goto yy167; + if (yych <= 'u') goto yy1269; + if (yych <= 'z') goto yy150; + goto yy166; } } } -yy1270: - YYDEBUG(1270, *YYCURSOR); +yy1269: + YYDEBUG(1269, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'R') goto yy1242; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'R') goto yy1241; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'r') goto yy1271; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'r') goto yy1270; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy1271: - YYDEBUG(1271, *YYCURSOR); +yy1270: + YYDEBUG(1270, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1243; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'D') goto yy1242; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'd') goto yy1272; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'd') goto yy1271; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy1272: - YYDEBUG(1272, *YYCURSOR); +yy1271: + YYDEBUG(1271, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1244; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'A') goto yy1243; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; - if (yych <= 'a') goto yy1273; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'a') goto yy1272; + if (yych <= 'z') goto yy153; + goto yy3; } } +yy1272: + YYDEBUG(1272, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'Y') goto yy172; + if (yych == 'y') goto yy185; + goto yy154; yy1273: YYDEBUG(1273, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy173; - if (yych == 'y') goto yy186; - goto yy155; -yy1274: - YYDEBUG(1274, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'O') goto yy1256; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'O') goto yy1255; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'n') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 'o') goto yy1285; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'o') goto yy1284; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy1275: - YYDEBUG(1275, *YYCURSOR); +yy1274: + YYDEBUG(1274, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1253; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'E') goto yy1252; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 'e') goto yy1282; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'e') goto yy1281; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy1276: - YYDEBUG(1276, *YYCURSOR); +yy1275: + YYDEBUG(1275, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'S') { - if (yych <= '@') goto yy194; - goto yy143; + if (yych <= '@') goto yy193; + goto yy142; } else { - if (yych <= 'T') goto yy1248; - if (yych <= 'Z') goto yy143; - goto yy194; + if (yych <= 'T') goto yy1247; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { if (yych <= 's') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { - if (yych <= 't') goto yy1277; - if (yych <= 'z') goto yy151; - goto yy194; + if (yych <= 't') goto yy1276; + if (yych <= 'z') goto yy150; + goto yy193; } } } -yy1277: - YYDEBUG(1277, *YYCURSOR); +yy1276: + YYDEBUG(1276, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'D') { - if (yych <= '@') goto yy194; - goto yy144; + if (yych <= '@') goto yy193; + goto yy143; } else { - if (yych <= 'E') goto yy1249; - if (yych <= 'Z') goto yy144; - goto yy194; + if (yych <= 'E') goto yy1248; + if (yych <= 'Z') goto yy143; + goto yy193; } } else { if (yych <= 'd') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy152; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy151; } else { - if (yych <= 'e') goto yy1278; - if (yych <= 'z') goto yy152; - goto yy194; + if (yych <= 'e') goto yy1277; + if (yych <= 'z') goto yy151; + goto yy193; } } } -yy1278: - YYDEBUG(1278, *YYCURSOR); +yy1277: + YYDEBUG(1277, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'M') goto yy1250; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'M') goto yy1249; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'l') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'm') goto yy1279; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'm') goto yy1278; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy1279: - YYDEBUG(1279, *YYCURSOR); +yy1278: + YYDEBUG(1278, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { - if (yych <= 'B') goto yy1251; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= 'B') goto yy1250; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych == 'b') goto yy1280; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych == 'b') goto yy1279; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy1280: +yy1279: + YYDEBUG(1279, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy1251; + if (yych != 'e') goto yy154; YYDEBUG(1280, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy1252; - if (yych != 'e') goto yy155; + if (yych == 'R') goto yy205; + if (yych == 'r') goto yy376; + goto yy154; +yy1281: YYDEBUG(1281, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy206; - if (yych == 'r') goto yy377; - goto yy155; -yy1282: - YYDEBUG(1282, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1254; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'N') goto yy1253; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'n') goto yy1283; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'n') goto yy1282; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy1283: - YYDEBUG(1283, *YYCURSOR); +yy1282: + YYDEBUG(1282, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1255; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'T') goto yy1254; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 't') goto yy1284; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 't') goto yy1283; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy1284: - YYDEBUG(1284, *YYCURSOR); +yy1283: + YYDEBUG(1283, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { - if (yych <= 'H') goto yy1206; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= 'H') goto yy1205; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych == 'h') goto yy1224; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych == 'h') goto yy1223; + if (yych <= 'z') goto yy153; + goto yy3; } } -yy1285: - YYDEBUG(1285, *YYCURSOR); +yy1284: + YYDEBUG(1284, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1257; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'N') goto yy1256; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'n') goto yy1286; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'n') goto yy1285; + if (yych <= 'z') goto yy151; + goto yy3; } } } -yy1286: - YYDEBUG(1286, *YYCURSOR); +yy1285: + YYDEBUG(1285, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1216; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'D') goto yy1215; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'd') goto yy1228; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'd') goto yy1227; + if (yych <= 'z') goto yy152; + goto yy3; } } } -yy1287: - YYDEBUG(1287, *YYCURSOR); +yy1286: + YYDEBUG(1286, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'B') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'B') goto yy141; } } else { if (yych <= 'b') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 'c') goto yy1288; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'c') goto yy1287; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy1288: - YYDEBUG(1288, *YYCURSOR); +yy1287: + YYDEBUG(1287, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'K') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'J') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'J') goto yy142; } } else { if (yych <= 'j') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 'k') goto yy1289; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'k') goto yy1288; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy1289: - YYDEBUG(1289, *YYCURSOR); +yy1288: + YYDEBUG(1288, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { - if (yych == ' ') goto yy1290; - if (yych <= '(') goto yy4; - goto yy140; + if (yych == ' ') goto yy1289; + if (yych <= '(') goto yy3; + goto yy139; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy4; - goto yy144; + if (yych <= '@') goto yy3; + goto yy143; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy143; + goto yy3; } } +yy1289: + YYDEBUG(1289, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy1290; + if (yych != 'o') goto yy56; yy1290: YYDEBUG(1290, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy1291; - if (yych != 'o') goto yy57; + if (yych == 'F') goto yy1291; + if (yych != 'f') goto yy56; yy1291: YYDEBUG(1291, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy1292; - if (yych != 'f') goto yy57; -yy1292: + if (yych != ' ') goto yy56; YYDEBUG(1292, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ' ') goto yy57; + 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); - yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych <= '1') goto yy1294; - if (yych <= '2') goto yy1296; - if (yych <= '9') goto yy1297; - goto yy57; -yy1294: - YYDEBUG(1294, *YYCURSOR); yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1298; - if (yych <= '9') goto yy1297; - goto yy1298; -yy1295: - YYDEBUG(1295, *YYCURSOR); + if (yych <= '/') goto yy1297; + if (yych <= '9') goto yy1296; + goto yy1297; +yy1294: + YYDEBUG(1294, *YYCURSOR); #line 1069 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("backof | frontof"); @@ -19640,295 +19621,312 @@ yy1295: TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 19644 "ext/date/lib/parse_date.c" -yy1296: - YYDEBUG(1296, *YYCURSOR); +#line 19625 "ext/date/lib/parse_date.c" +yy1295: + YYDEBUG(1295, *YYCURSOR); yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1298; - if (yych >= '5') goto yy1298; -yy1297: - YYDEBUG(1297, *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; -yy1298: - YYDEBUG(1298, *YYCURSOR); +yy1297: + YYDEBUG(1297, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { - if (yych == '\t') goto yy1297; - goto yy1295; + if (yych == '\t') goto yy1296; + goto yy1294; } else { - if (yych <= ' ') goto yy1297; - if (yych <= '@') goto yy1295; + if (yych <= ' ') goto yy1296; + if (yych <= '@') goto yy1294; } } else { if (yych <= '`') { - if (yych != 'P') goto yy1295; + if (yych != 'P') goto yy1294; } else { - if (yych <= 'a') goto yy1299; - if (yych != 'p') goto yy1295; + if (yych <= 'a') goto yy1298; + if (yych != 'p') goto yy1294; } } -yy1299: - YYDEBUG(1299, *YYCURSOR); +yy1298: + YYDEBUG(1298, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { - if (yych != '.') goto yy57; + if (yych != '.') goto yy56; } else { - if (yych <= 'M') goto yy1301; - if (yych == 'm') goto yy1301; - goto yy57; + if (yych <= 'M') goto yy1300; + if (yych == 'm') goto yy1300; + goto yy56; } - YYDEBUG(1300, *YYCURSOR); + YYDEBUG(1299, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy1301; - if (yych != 'm') goto yy57; -yy1301: - YYDEBUG(1301, *YYCURSOR); + if (yych == 'M') goto yy1300; + if (yych != 'm') goto yy56; +yy1300: + YYDEBUG(1300, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1303; - if (yych == '\t') goto yy1303; - goto yy57; + if (yych <= 0x00) goto yy1302; + if (yych == '\t') goto yy1302; + goto yy56; } else { - if (yych <= ' ') goto yy1303; - if (yych != '.') goto yy57; + if (yych <= ' ') goto yy1302; + if (yych != '.') goto yy56; } - YYDEBUG(1302, *YYCURSOR); + YYDEBUG(1301, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy1303; - if (yych <= 0x08) goto yy57; + if (yych <= 0x00) goto yy1302; + if (yych <= 0x08) goto yy56; } else { - if (yych != ' ') goto yy57; + if (yych != ' ') goto yy56; } +yy1302: + YYDEBUG(1302, *YYCURSOR); + yych = *++YYCURSOR; + goto yy1294; yy1303: YYDEBUG(1303, *YYCURSOR); - yych = *++YYCURSOR; - goto yy1295; -yy1304: - YYDEBUG(1304, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'C') goto yy1288; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'C') goto yy1287; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'b') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { - if (yych <= 'c') goto yy1305; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'c') goto yy1304; + if (yych <= 'z') goto yy146; + goto yy3; } } } -yy1305: - YYDEBUG(1305, *YYCURSOR); +yy1304: + YYDEBUG(1304, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'J') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'K') goto yy1289; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'K') goto yy1288; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'j') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { - if (yych <= 'k') goto yy1306; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'k') goto yy1305; + if (yych <= 'z') goto yy150; + goto yy3; } } } -yy1306: - YYDEBUG(1306, *YYCURSOR); +yy1305: + YYDEBUG(1305, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= '(') { - if (yych == ' ') goto yy1290; - goto yy4; + if (yych == ' ') goto yy1289; + goto yy3; } else { - if (yych <= ')') goto yy140; - if (yych == '-') goto yy148; - goto yy4; + if (yych <= ')') goto yy139; + if (yych == '-') goto yy147; + goto yy3; } } else { if (yych <= '^') { - if (yych <= '/') goto yy148; - if (yych <= '@') goto yy4; - if (yych <= 'Z') goto yy144; - goto yy4; + if (yych <= '/') goto yy147; + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy143; + goto yy3; } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy151; + goto yy3; } } -yy1307: - YYDEBUG(1307, *YYCURSOR); +yy1306: + YYDEBUG(1306, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'R') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy141; } } else { if (yych <= 'r') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { - if (yych <= 's') goto yy1308; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 's') goto yy1307; + if (yych <= 'z') goto yy141; + goto yy3; } } -yy1308: - YYDEBUG(1308, *YYCURSOR); +yy1307: + YYDEBUG(1307, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { - if (yych <= 't') goto yy1309; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 't') goto yy1308; + if (yych <= 'z') goto yy142; + goto yy3; } } -yy1309: - YYDEBUG(1309, *YYCURSOR); +yy1308: + YYDEBUG(1308, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy4; - goto yy1105; + if (yych <= 0x08) goto yy3; + goto yy1104; } else { - if (yych != ' ') goto yy4; + if (yych != ' ') goto yy3; } } else { if (yych <= 'Z') { - if (yych <= ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy144; + if (yych <= ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy143; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy143; + goto yy3; } } +yy1309: + YYDEBUG(1309, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'D') goto yy1310; + if (yych != 'd') goto yy1105; yy1310: YYDEBUG(1310, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy1311; - if (yych != 'd') goto yy1106; + if (yych == 'A') goto yy1311; + if (yych != 'a') goto yy56; yy1311: YYDEBUG(1311, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy1312; - if (yych != 'a') goto yy57; + if (yych == 'Y') goto yy1312; + if (yych != 'y') goto yy56; yy1312: YYDEBUG(1312, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy1313; - if (yych != 'y') goto yy57; -yy1313: - YYDEBUG(1313, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { - if (yych != ' ') goto yy1118; + if (yych != ' ') goto yy1117; } else { - if (yych <= 'S') goto yy1143; - if (yych == 's') goto yy1143; - goto yy1118; + if (yych <= 'S') goto yy1142; + if (yych == 's') goto yy1142; + goto yy1117; } + YYDEBUG(1313, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy1314; + if (yych != 'o') goto yy56; +yy1314: YYDEBUG(1314, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy1315; - if (yych != 'o') goto yy57; + if (yych == 'F') goto yy1315; + if (yych != 'f') goto yy56; yy1315: YYDEBUG(1315, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy1316; - if (yych != 'f') goto yy57; -yy1316: + ++YYCURSOR; YYDEBUG(1316, *YYCURSOR); - yych = *++YYCURSOR; - goto yy2; +#line 1052 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("firstdayof | lastdayof"); + TIMELIB_INIT; + TIMELIB_HAVE_RELATIVE(); + + /* skip "last day of" or "first day of" */ + if (*ptr == 'l') { + s->time->relative.first_last_day_of = 2; + } else { + s->time->relative.first_last_day_of = 1; + } + + TIMELIB_DEINIT; + return TIMELIB_LF_DAY_OF_MONTH; + } +#line 19902 "ext/date/lib/parse_date.c" yy1317: YYDEBUG(1317, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { - if (yych <= 'S') goto yy1308; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'S') goto yy1307; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'r') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { if (yych <= 's') goto yy1318; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -19938,28 +19936,28 @@ yy1318: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1309; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'T') goto yy1308; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 't') goto yy1319; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -19969,27 +19967,27 @@ yy1319: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { - if (yych == '\t') goto yy1105; - if (yych <= 0x1F) goto yy4; - goto yy1310; + if (yych == '\t') goto yy1104; + if (yych <= 0x1F) goto yy3; + goto yy1309; } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } } else { if (yych <= 'Z') { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } else { if (yych <= '_') { - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -19998,22 +19996,22 @@ yy1320: yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'A') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy141; goto yy1356; } } else { if (yych <= 'a') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { if (yych <= 'b') goto yy1356; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1321: @@ -20021,23 +20019,23 @@ yy1321: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych == 'F') goto yy1346; - if (yych <= 'Q') goto yy142; + if (yych <= 'Q') goto yy141; goto yy1345; } } else { if (yych <= 'f') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'e') goto yy142; + 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 yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1322: @@ -20045,22 +20043,22 @@ yy1322: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'T') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'T') goto yy141; goto yy1342; } } else { if (yych <= 't') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { if (yych <= 'u') goto yy1342; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1323: @@ -20068,22 +20066,22 @@ yy1323: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych == 'I') goto yy1325; - if (yych <= 'N') goto yy142; + if (yych <= 'N') goto yy141; } } else { if (yych <= 'i') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'h') goto yy142; + 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 yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1324: @@ -20091,22 +20089,22 @@ yy1324: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy142; goto yy1328; } } else { if (yych <= 'm') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { if (yych <= 'n') goto yy1328; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1325: @@ -20114,37 +20112,37 @@ yy1325: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy167; - goto yy140; + if (yych <= '(') goto yy166; + goto yy139; } else { - if (yych <= '@') goto yy167; - if (yych <= 'C') goto yy143; + if (yych <= '@') goto yy166; + if (yych <= 'C') goto yy142; } } else { if (yych <= 'c') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy167; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy166; + goto yy142; } else { if (yych <= 'd') goto yy1326; - if (yych <= 'z') goto yy143; - goto yy167; + if (yych <= 'z') goto yy142; + goto yy166; } } yy1326: YYDEBUG(1326, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy144; - goto yy4; + if (yych <= 'Z') goto yy143; + goto yy3; } else { if (yych <= 'a') goto yy1327; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1327: @@ -20152,22 +20150,22 @@ yy1327: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'X') goto yy145; - goto yy1236; + if (yych <= '@') goto yy3; + if (yych <= 'X') goto yy144; + goto yy1235; } } else { if (yych <= 'x') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'y') goto yy1236; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'y') goto yy1235; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1328: @@ -20175,21 +20173,21 @@ yy1328: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy143; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { if (yych <= 't') goto yy1329; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1329: @@ -20198,39 +20196,39 @@ yy1329: yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { if (yych == ' ') goto yy1330; - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy4; - goto yy145; + if (yych <= '@') goto yy3; + goto yy144; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1330: YYDEBUG(1330, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy1331; - if (yych != 'o') goto yy57; + if (yych != 'o') goto yy56; yy1331: YYDEBUG(1331, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'F') goto yy1332; - if (yych != 'f') goto yy57; + if (yych != 'f') goto yy56; yy1332: YYDEBUG(1332, *YYCURSOR); yych = *++YYCURSOR; - if (yych != ' ') goto yy57; + if (yych != ' ') goto yy56; YYDEBUG(1333, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; + if (yych <= '/') goto yy56; if (yych <= '1') goto yy1334; if (yych <= '2') goto yy1335; if (yych <= '9') goto yy1336; - goto yy57; + goto yy56; yy1334: YYDEBUG(1334, *YYCURSOR); yyaccept = 28; @@ -20255,74 +20253,74 @@ yy1337: if (yych <= 'A') { if (yych <= 0x1F) { if (yych == '\t') goto yy1336; - goto yy1295; + goto yy1294; } else { if (yych <= ' ') goto yy1336; - if (yych <= '@') goto yy1295; + if (yych <= '@') goto yy1294; } } else { if (yych <= '`') { - if (yych != 'P') goto yy1295; + if (yych != 'P') goto yy1294; } else { if (yych <= 'a') goto yy1338; - if (yych != 'p') goto yy1295; + if (yych != 'p') goto yy1294; } } yy1338: YYDEBUG(1338, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { - if (yych != '.') goto yy57; + if (yych != '.') goto yy56; } else { if (yych <= 'M') goto yy1340; if (yych == 'm') goto yy1340; - goto yy57; + goto yy56; } YYDEBUG(1339, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy1340; - if (yych != 'm') goto yy57; + if (yych != 'm') goto yy56; yy1340: YYDEBUG(1340, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1303; - if (yych == '\t') goto yy1303; - goto yy57; + if (yych <= 0x00) goto yy1302; + if (yych == '\t') goto yy1302; + goto yy56; } else { - if (yych <= ' ') goto yy1303; - if (yych != '.') goto yy57; + if (yych <= ' ') goto yy1302; + if (yych != '.') goto yy56; } YYDEBUG(1341, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy1303; - if (yych <= 0x08) goto yy57; - goto yy1303; + if (yych <= 0x00) goto yy1302; + if (yych <= 0x08) goto yy56; + goto yy1302; } else { - if (yych == ' ') goto yy1303; - goto yy57; + if (yych == ' ') goto yy1302; + goto yy56; } yy1342: YYDEBUG(1342, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy142; } } else { if (yych <= 'q') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { if (yych <= 'r') goto yy1343; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1343: @@ -20330,21 +20328,21 @@ yy1343: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy143; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { if (yych <= 't') goto yy1344; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1344: @@ -20352,22 +20350,22 @@ yy1344: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy145; - goto yy1216; + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy144; + goto yy1215; } } else { if (yych <= 'g') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'h') goto yy1216; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'h') goto yy1215; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1345: @@ -20375,22 +20373,22 @@ yy1345: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'R') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy142; goto yy1348; } } else { if (yych <= 'r') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { if (yych <= 's') goto yy1348; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1346: @@ -20398,21 +20396,21 @@ yy1346: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { if (yych <= 't') goto yy1347; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1347: @@ -20420,22 +20418,22 @@ yy1347: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy144; - goto yy1239; + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy143; + goto yy1238; } } else { if (yych <= 'g') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'h') goto yy1239; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'h') goto yy1238; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1348: @@ -20443,21 +20441,21 @@ yy1348: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy143; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { if (yych <= 't') goto yy1349; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1349: @@ -20466,58 +20464,58 @@ yy1349: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy4; - goto yy1207; + if (yych <= 0x08) goto yy3; + goto yy1206; } else { - if (yych != ' ') goto yy4; + if (yych != ' ') goto yy3; } } else { if (yych <= 'Z') { - if (yych <= ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy145; + if (yych <= ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy144; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1350: YYDEBUG(1350, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy1351; - if (yych != 'd') goto yy1208; + if (yych != 'd') goto yy1207; yy1351: YYDEBUG(1351, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1352; - if (yych != 'a') goto yy57; + if (yych != 'a') goto yy56; yy1352: YYDEBUG(1352, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1353; - if (yych != 'y') goto yy57; + if (yych != 'y') goto yy56; yy1353: YYDEBUG(1353, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { - if (yych != ' ') goto yy1118; + if (yych != ' ') goto yy1117; } else { - if (yych <= 'S') goto yy1143; - if (yych == 's') goto yy1143; - goto yy1118; + 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 yy57; + if (yych != 'o') goto yy56; yy1355: YYDEBUG(1355, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy1316; - if (yych == 'f') goto yy1316; - goto yy57; + if (yych == 'F') goto yy1315; + if (yych == 'f') goto yy1315; + goto yy56; yy1356: YYDEBUG(1356, *YYCURSOR); yyaccept = 5; @@ -20525,38 +20523,38 @@ yy1356: if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych != 'R') goto yy143; + if (yych != 'R') goto yy142; } } else { if (yych <= 'q') { - if (yych <= '`') goto yy194; - goto yy143; + if (yych <= '`') goto yy193; + goto yy142; } else { if (yych <= 'r') goto yy1357; - if (yych <= 'z') goto yy143; - goto yy194; + if (yych <= 'z') goto yy142; + goto yy193; } } } @@ -20565,37 +20563,37 @@ yy1357: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'T') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'T') goto yy143; } } else { if (yych <= 't') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { if (yych <= 'u') goto yy1358; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1358: YYDEBUG(1358, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy145; - goto yy4; + if (yych <= 'Z') goto yy144; + goto yy3; } else { if (yych <= 'a') goto yy1359; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1359: @@ -20603,46 +20601,46 @@ yy1359: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych <= 'R') goto yy1360; - if (yych != 'r') goto yy4; + if (yych != 'r') goto yy3; } yy1360: YYDEBUG(1360, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy206; - if (yych == 'y') goto yy206; - goto yy57; + 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 yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { if (yych <= 'B') goto yy1356; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'a') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { if (yych <= 'b') goto yy1379; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -20653,38 +20651,38 @@ yy1362: if (yych <= 'Q') { if (yych <= '.') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '-') goto yy148; - goto yy4; + if (yych == '-') goto yy147; + goto yy3; } } else { if (yych <= '@') { - if (yych <= '/') goto yy148; - goto yy4; + if (yych <= '/') goto yy147; + goto yy3; } else { if (yych == 'F') goto yy1346; - goto yy142; + goto yy141; } } } else { if (yych <= '`') { if (yych <= 'Z') { if (yych <= 'R') goto yy1345; - goto yy142; + goto yy141; } else { - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } } else { if (yych <= 'q') { if (yych == 'f') goto yy1375; - goto yy147; + goto yy146; } else { if (yych <= 'r') goto yy1374; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -20694,28 +20692,28 @@ yy1363: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { if (yych <= 'U') goto yy1342; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 't') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { if (yych <= 'u') goto yy1371; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -20726,38 +20724,38 @@ yy1364: if (yych <= 'N') { if (yych <= '.') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '-') goto yy148; - goto yy4; + if (yych == '-') goto yy147; + goto yy3; } } else { if (yych <= '@') { - if (yych <= '/') goto yy148; - goto yy4; + if (yych <= '/') goto yy147; + goto yy3; } else { if (yych == 'I') goto yy1325; - goto yy142; + goto yy141; } } } else { if (yych <= '`') { if (yych <= 'Z') { if (yych <= 'O') goto yy1324; - goto yy142; + goto yy141; } else { - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } } else { if (yych <= 'n') { if (yych == 'i') goto yy1366; - goto yy147; + goto yy146; } else { if (yych <= 'o') goto yy1365; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -20767,28 +20765,28 @@ yy1365: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'N') goto yy1328; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 'n') goto yy1369; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -20798,28 +20796,28 @@ yy1366: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'D') goto yy1326; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { if (yych <= 'c') { - if (yych <= '`') goto yy167; - goto yy151; + if (yych <= '`') goto yy166; + goto yy150; } else { if (yych <= 'd') goto yy1367; - if (yych <= 'z') goto yy151; - goto yy167; + if (yych <= 'z') goto yy150; + goto yy166; } } } @@ -20829,24 +20827,24 @@ yy1367: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '_') { if (yych <= 'A') goto yy1327; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; + if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1368; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } yy1368: @@ -20855,28 +20853,28 @@ yy1368: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'Y') goto yy1236; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Y') goto yy1235; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'x') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'y') goto yy1265; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'y') goto yy1264; + if (yych <= 'z') goto yy152; + goto yy3; } } } @@ -20886,28 +20884,28 @@ yy1369: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { if (yych <= 'T') goto yy1329; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { if (yych <= 't') goto yy1370; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -20918,23 +20916,23 @@ yy1370: if (yych <= '.') { if (yych <= '(') { if (yych == ' ') goto yy1330; - goto yy4; + goto yy3; } else { - if (yych <= ')') goto yy140; - if (yych == '-') goto yy148; - goto yy4; + if (yych <= ')') goto yy139; + if (yych == '-') goto yy147; + goto yy3; } } else { if (yych <= '^') { - if (yych <= '/') goto yy148; - if (yych <= '@') goto yy4; - if (yych <= 'Z') goto yy145; - goto yy4; + if (yych <= '/') goto yy147; + if (yych <= '@') goto yy3; + if (yych <= 'Z') goto yy144; + goto yy3; } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy152; + goto yy3; } } yy1371: @@ -20943,28 +20941,28 @@ yy1371: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'R') goto yy1343; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 'r') goto yy1372; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -20974,28 +20972,28 @@ yy1372: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { if (yych <= 'T') goto yy1344; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { if (yych <= 't') goto yy1373; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -21005,28 +21003,28 @@ yy1373: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'H') goto yy1216; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'H') goto yy1215; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'h') goto yy1228; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'h') goto yy1227; + if (yych <= 'z') goto yy152; + goto yy3; } } } @@ -21036,28 +21034,28 @@ yy1374: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'S') goto yy1348; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'r') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 's') goto yy1377; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -21067,28 +21065,28 @@ yy1375: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'T') goto yy1347; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 't') goto yy1376; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -21098,28 +21096,28 @@ yy1376: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'H') goto yy1239; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'H') goto yy1238; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'h') goto yy1268; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'h') goto yy1267; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -21129,28 +21127,28 @@ yy1377: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { if (yych <= 'T') goto yy1349; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { if (yych <= 't') goto yy1378; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -21160,27 +21158,27 @@ yy1378: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { - if (yych == '\t') goto yy1207; - if (yych <= 0x1F) goto yy4; + if (yych == '\t') goto yy1206; + if (yych <= 0x1F) goto yy3; goto yy1350; } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } } else { if (yych <= 'Z') { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } else { if (yych <= '_') { - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy152; + goto yy3; } } } @@ -21191,41 +21189,41 @@ yy1379: if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'Q') { - if (yych <= '@') goto yy194; - goto yy143; + if (yych <= '@') goto yy193; + goto yy142; } else { if (yych <= 'R') goto yy1357; - if (yych <= 'Z') goto yy143; - goto yy194; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { if (yych <= 'q') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { if (yych <= 'r') goto yy1380; - if (yych <= 'z') goto yy151; - goto yy194; + if (yych <= 'z') goto yy150; + goto yy193; } } } @@ -21235,28 +21233,28 @@ yy1380: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { if (yych <= 'U') goto yy1358; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 't') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { if (yych <= 'u') goto yy1381; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -21266,24 +21264,24 @@ yy1381: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '_') { if (yych <= 'A') goto yy1359; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; + if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1382; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'z') goto yy152; + goto yy3; } } yy1382: @@ -21292,35 +21290,35 @@ yy1382: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { if (yych <= 'R') goto yy1360; - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } else { if (yych == 'r') goto yy1383; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych <= 'z') goto yy153; + goto yy3; } } yy1383: YYDEBUG(1383, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy206; - if (yych == 'y') goto yy377; - goto yy155; + if (yych == 'Y') goto yy205; + if (yych == 'y') goto yy376; + goto yy154; yy1384: YYDEBUG(1384, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; yy1385: YYDEBUG(1385, *YYCURSOR); ++YYCURSOR; @@ -21356,28 +21354,28 @@ yy1387: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 21360 "ext/date/lib/parse_date.c" +#line 21358 "ext/date/lib/parse_date.c" yy1388: YYDEBUG(1388, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy141; goto yy1429; } } else { if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { if (yych <= 'n') goto yy1429; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1389: @@ -21385,23 +21383,23 @@ yy1389: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych == 'I') goto yy1421; - if (yych <= 'T') goto yy142; + if (yych <= 'T') goto yy141; goto yy1422; } } else { if (yych <= 'i') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'h') goto yy142; + 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 yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1390: @@ -21409,23 +21407,23 @@ yy1390: yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych == 'D') goto yy1410; - if (yych <= 'L') goto yy142; + if (yych <= 'L') goto yy141; goto yy1411; } } else { if (yych <= 'd') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'c') goto yy142; + 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 yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1391: @@ -21433,22 +21431,22 @@ yy1391: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy141; goto yy1406; } } else { if (yych <= 'd') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { if (yych <= 'e') goto yy1406; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1392: @@ -21456,109 +21454,109 @@ yy1392: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy141; goto yy1402; } } else { if (yych <= 'd') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { if (yych <= 'e') goto yy1402; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1393: YYDEBUG(1393, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy1065; - goto yy57; + if (yych == '.') goto yy1064; + goto yy56; } else { if (yych <= '9') goto yy1396; - if (yych <= ':') goto yy1065; - goto yy57; + if (yych <= ':') goto yy1064; + goto yy56; } yy1394: YYDEBUG(1394, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy1065; - goto yy57; + if (yych == '.') goto yy1064; + goto yy56; } else { if (yych <= '4') goto yy1396; - if (yych == ':') goto yy1065; - goto yy57; + if (yych == ':') goto yy1064; + goto yy56; } yy1395: YYDEBUG(1395, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '.') goto yy1065; - if (yych == ':') goto yy1065; - goto yy57; + if (yych == '.') goto yy1064; + if (yych == ':') goto yy1064; + goto yy56; yy1396: YYDEBUG(1396, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy1065; - goto yy57; + if (yych == '.') goto yy1064; + goto yy56; } else { if (yych <= '5') goto yy1397; - if (yych == ':') goto yy1065; - goto yy57; + if (yych == ':') goto yy1064; + goto yy56; } yy1397: YYDEBUG(1397, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; - if (yych >= ':') goto yy57; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; YYDEBUG(1398, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1068; + if (yych <= '/') goto yy1067; if (yych <= '5') goto yy1399; if (yych <= '6') goto yy1400; - goto yy1068; + goto yy1067; yy1399: YYDEBUG(1399, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '/') goto yy57; + if (yych <= '/') goto yy56; if (yych <= '9') goto yy1401; - goto yy57; + goto yy56; yy1400: YYDEBUG(1400, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '0') goto yy57; + if (yych != '0') goto yy56; yy1401: YYDEBUG(1401, *YYCURSOR); yych = *++YYCURSOR; - goto yy1076; + goto yy1075; yy1402: YYDEBUG(1402, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'K') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'K') goto yy142; } } else { if (yych <= 'k') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { if (yych <= 'l') goto yy1403; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1403: @@ -21566,21 +21564,21 @@ yy1403: yych = *++YYCURSOR; if (yych <= 'F') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'E') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'E') goto yy143; } } else { if (yych <= 'e') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { if (yych <= 'f') goto yy1404; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1404: @@ -21588,21 +21586,21 @@ yy1404: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy144; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { if (yych <= 't') goto yy1405; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1405: @@ -21610,33 +21608,33 @@ yy1405: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'H') goto yy1206; - if (yych == 'h') goto yy1206; - goto yy4; + if (yych <= 'H') goto yy1205; + if (yych == 'h') goto yy1205; + goto yy3; } yy1406: YYDEBUG(1406, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { - if (yych <= '(') goto yy167; - goto yy140; + if (yych <= '(') goto yy166; + goto yy139; } else { - if (yych <= '@') goto yy167; - if (yych <= 'R') goto yy143; + if (yych <= '@') goto yy166; + if (yych <= 'R') goto yy142; } } else { if (yych <= 'r') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy167; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy166; + goto yy142; } else { if (yych <= 's') goto yy1407; - if (yych <= 'z') goto yy143; - goto yy167; + if (yych <= 'z') goto yy142; + goto yy166; } } yy1407: @@ -21644,65 +21642,65 @@ yy1407: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy143; } } else { if (yych <= 'c') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { if (yych <= 'd') goto yy1408; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1408: YYDEBUG(1408, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy145; - goto yy4; + if (yych <= 'Z') goto yy144; + goto yy3; } else { if (yych <= 'a') goto yy1409; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1409: YYDEBUG(1409, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'Y') goto yy173; - if (yych == 'y') goto yy173; - goto yy4; + if (yych <= 'Y') goto yy172; + if (yych == 'y') goto yy172; + goto yy3; } yy1410: YYDEBUG(1410, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; goto yy1418; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy143; - goto yy4; + if (yych <= 'Z') goto yy142; + goto yy3; } else { if (yych <= 'a') goto yy1418; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1411: @@ -21710,21 +21708,21 @@ yy1411: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'N') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'N') goto yy142; } } else { if (yych <= 'n') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { if (yych <= 'o') goto yy1412; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1412: @@ -21732,21 +21730,21 @@ yy1412: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy143; } } else { if (yych <= 'q') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { if (yych <= 'r') goto yy1413; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1413: @@ -21754,21 +21752,21 @@ yy1413: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy144; } } else { if (yych <= 'q') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { if (yych <= 'r') goto yy1414; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1414: @@ -21776,17 +21774,17 @@ yy1414: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych <= 'O') goto yy1415; - if (yych != 'o') goto yy4; + if (yych != 'o') goto yy3; } yy1415: YYDEBUG(1415, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'W') goto yy1416; - if (yych != 'w') goto yy57; + if (yych != 'w') goto yy56; yy1416: YYDEBUG(1416, *YYCURSOR); ++YYCURSOR; @@ -21803,38 +21801,38 @@ yy1417: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 21807 "ext/date/lib/parse_date.c" +#line 21805 "ext/date/lib/parse_date.c" yy1418: YYDEBUG(1418, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'X') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'X') goto yy143; } } else { if (yych <= 'x') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { if (yych <= 'y') goto yy1419; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1419: YYDEBUG(1419, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy140; + if (yych == ')') goto yy139; } else { - if (yych <= 'Z') goto yy145; + if (yych <= 'Z') goto yy144; if (yych <= '`') goto yy1420; - if (yych <= 'z') goto yy145; + if (yych <= 'z') goto yy144; } yy1420: YYDEBUG(1420, *YYCURSOR); @@ -21847,29 +21845,29 @@ yy1420: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 21851 "ext/date/lib/parse_date.c" +#line 21849 "ext/date/lib/parse_date.c" yy1421: YYDEBUG(1421, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych <= 'Q') goto yy143; + if (yych <= 'Q') goto yy142; if (yych <= 'R') goto yy1427; goto yy1428; } } else { if (yych <= 'q') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + 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 yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1422: @@ -21877,21 +21875,21 @@ yy1422: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { - if (yych <= '(') goto yy167; - goto yy140; + if (yych <= '(') goto yy166; + goto yy139; } else { - if (yych <= '@') goto yy167; - if (yych <= 'Q') goto yy143; + if (yych <= '@') goto yy166; + if (yych <= 'Q') goto yy142; } } else { if (yych <= 'q') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy167; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy166; + goto yy142; } else { if (yych <= 'r') goto yy1423; - if (yych <= 'z') goto yy143; - goto yy167; + if (yych <= 'z') goto yy142; + goto yy166; } } yy1423: @@ -21899,21 +21897,21 @@ yy1423: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'R') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy143; } } else { if (yych <= 'r') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { if (yych <= 's') goto yy1424; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1424: @@ -21921,21 +21919,21 @@ yy1424: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy144; } } else { if (yych <= 'c') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { if (yych <= 'd') goto yy1425; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1425: @@ -21943,39 +21941,39 @@ yy1425: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych <= 'A') goto yy1426; - if (yych != 'a') goto yy4; + if (yych != 'a') goto yy3; } yy1426: YYDEBUG(1426, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy173; - if (yych == 'y') goto yy173; - goto yy57; + 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 yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy144; - goto yy1239; + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy143; + goto yy1238; } } else { if (yych <= 'c') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'd') goto yy1239; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'd') goto yy1238; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1428: @@ -21984,21 +21982,21 @@ yy1428: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy4; - goto yy1105; + if (yych <= 0x08) goto yy3; + goto yy1104; } else { - if (yych == ' ') goto yy1105; - goto yy4; + if (yych == ' ') goto yy1104; + goto yy3; } } else { if (yych <= 'Z') { - if (yych <= ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy144; + if (yych <= ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy143; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1429: @@ -22006,21 +22004,21 @@ yy1429: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { if (yych <= 't') goto yy1430; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1430: @@ -22028,22 +22026,22 @@ yy1430: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy144; - goto yy1239; + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy143; + goto yy1238; } } else { if (yych <= 'g') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'h') goto yy1239; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'h') goto yy1238; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1431: @@ -22052,28 +22050,28 @@ yy1431: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { if (yych <= 'N') goto yy1429; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { if (yych <= 'n') goto yy1461; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -22084,38 +22082,38 @@ yy1432: if (yych <= 'T') { if (yych <= '.') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '-') goto yy148; - goto yy4; + if (yych == '-') goto yy147; + goto yy3; } } else { if (yych <= '@') { - if (yych <= '/') goto yy148; - goto yy4; + if (yych <= '/') goto yy147; + goto yy3; } else { if (yych == 'I') goto yy1421; - goto yy142; + goto yy141; } } } else { if (yych <= '`') { if (yych <= 'Z') { if (yych <= 'U') goto yy1422; - goto yy142; + goto yy141; } else { - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } } else { if (yych <= 't') { if (yych == 'i') goto yy1453; - goto yy147; + goto yy146; } else { if (yych <= 'u') goto yy1454; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -22126,38 +22124,38 @@ yy1433: if (yych <= 'L') { if (yych <= '.') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '-') goto yy148; - goto yy4; + if (yych == '-') goto yy147; + goto yy3; } } else { if (yych <= '@') { - if (yych <= '/') goto yy148; - goto yy4; + if (yych <= '/') goto yy147; + goto yy3; } else { if (yych == 'D') goto yy1410; - goto yy142; + goto yy141; } } } else { if (yych <= '`') { if (yych <= 'Z') { if (yych <= 'M') goto yy1411; - goto yy142; + goto yy141; } else { - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } } else { if (yych <= 'l') { if (yych == 'd') goto yy1444; - goto yy147; + goto yy146; } else { if (yych <= 'm') goto yy1445; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -22167,28 +22165,28 @@ yy1434: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { if (yych <= 'E') goto yy1406; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { if (yych <= 'e') goto yy1440; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -22198,28 +22196,28 @@ yy1435: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { if (yych <= 'E') goto yy1402; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { if (yych <= 'e') goto yy1436; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -22229,28 +22227,28 @@ yy1436: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'K') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'L') goto yy1403; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'k') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 'l') goto yy1437; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -22260,28 +22258,28 @@ yy1437: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { if (yych <= 'F') goto yy1404; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'e') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { if (yych <= 'f') goto yy1438; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -22291,28 +22289,28 @@ yy1438: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { if (yych <= 'T') goto yy1405; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { if (yych <= 't') goto yy1439; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'z') goto yy152; + goto yy3; } } } @@ -22322,22 +22320,22 @@ yy1439: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { - if (yych <= 'H') goto yy1206; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= 'H') goto yy1205; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych == 'h') goto yy1224; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych == 'h') goto yy1223; + if (yych <= 'z') goto yy153; + goto yy3; } } yy1440: @@ -22346,28 +22344,28 @@ yy1440: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'S') goto yy1407; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { if (yych <= 'r') { - if (yych <= '`') goto yy167; - goto yy151; + if (yych <= '`') goto yy166; + goto yy150; } else { if (yych <= 's') goto yy1441; - if (yych <= 'z') goto yy151; - goto yy167; + if (yych <= 'z') goto yy150; + goto yy166; } } } @@ -22377,28 +22375,28 @@ yy1441: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { if (yych <= 'D') goto yy1408; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { if (yych <= 'd') goto yy1442; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -22408,24 +22406,24 @@ yy1442: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '_') { if (yych <= 'A') goto yy1409; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; + if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1443; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'z') goto yy152; + goto yy3; } } yy1443: @@ -22434,22 +22432,22 @@ yy1443: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { - if (yych <= 'Y') goto yy173; - if (yych == '_') goto yy148; - goto yy4; + if (yych <= 'Y') goto yy172; + if (yych == '_') goto yy147; + goto yy3; } else { - if (yych == 'y') goto yy186; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych == 'y') goto yy185; + if (yych <= 'z') goto yy153; + goto yy3; } } yy1444: @@ -22458,24 +22456,24 @@ yy1444: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '_') { if (yych <= 'A') goto yy1418; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; + if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1451; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } yy1445: @@ -22484,28 +22482,28 @@ yy1445: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'O') goto yy1412; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'n') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 'o') goto yy1446; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -22515,28 +22513,28 @@ yy1446: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { if (yych <= 'R') goto yy1413; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { if (yych <= 'r') goto yy1447; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -22546,28 +22544,28 @@ yy1447: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { if (yych <= 'R') goto yy1414; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { if (yych <= 'r') goto yy1448; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'z') goto yy152; + goto yy3; } } } @@ -22577,41 +22575,41 @@ yy1448: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { if (yych <= 'O') goto yy1415; - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } else { if (yych == 'o') goto yy1449; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych <= 'z') goto yy153; + goto yy3; } } yy1449: YYDEBUG(1449, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'W') goto yy1416; - if (yych != 'w') goto yy155; + if (yych != 'w') goto yy154; YYDEBUG(1450, *YYCURSOR); yyaccept = 29; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy153; } if (yych <= '.') { - if (yych == '-') goto yy148; + if (yych == '-') goto yy147; goto yy1417; } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; goto yy1417; } yy1451: @@ -22620,28 +22618,28 @@ yy1451: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { if (yych <= 'Y') goto yy1419; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'x') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { if (yych <= 'y') goto yy1452; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -22651,21 +22649,21 @@ yy1452: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy140; + if (yych == ')') goto yy139; goto yy1420; } else { if (yych == '.') goto yy1420; - goto yy148; + goto yy147; } } else { if (yych <= '^') { if (yych <= '@') goto yy1420; - if (yych <= 'Z') goto yy145; + if (yych <= 'Z') goto yy144; goto yy1420; } else { - if (yych <= '_') goto yy148; + if (yych <= '_') goto yy147; if (yych <= '`') goto yy1420; - if (yych <= 'z') goto yy153; + if (yych <= 'z') goto yy152; goto yy1420; } } @@ -22675,16 +22673,16 @@ yy1453: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { if (yych <= '/') { - if (yych <= '.') goto yy4; - goto yy148; + if (yych <= '.') goto yy3; + goto yy147; } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy142; goto yy1427; } } @@ -22692,19 +22690,19 @@ yy1453: if (yych <= '`') { if (yych <= 'Z') { if (yych <= 'S') goto yy1428; - goto yy143; + goto yy142; } else { - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } } else { if (yych <= 'r') { - if (yych <= 'q') goto yy151; + if (yych <= 'q') goto yy150; goto yy1459; } else { if (yych <= 's') goto yy1460; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -22714,28 +22712,28 @@ yy1454: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'R') goto yy1423; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { if (yych <= 'q') { - if (yych <= '`') goto yy167; - goto yy151; + if (yych <= '`') goto yy166; + goto yy150; } else { if (yych <= 'r') goto yy1455; - if (yych <= 'z') goto yy151; - goto yy167; + if (yych <= 'z') goto yy150; + goto yy166; } } } @@ -22745,28 +22743,28 @@ yy1455: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { if (yych <= 'S') goto yy1424; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'r') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { if (yych <= 's') goto yy1456; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -22776,28 +22774,28 @@ yy1456: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { if (yych <= 'D') goto yy1425; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { if (yych <= 'd') goto yy1457; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'z') goto yy152; + goto yy3; } } } @@ -22807,59 +22805,59 @@ yy1457: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '_') { if (yych <= 'A') goto yy1426; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; + if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1458; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych <= 'z') goto yy153; + goto yy3; } } yy1458: YYDEBUG(1458, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy173; - if (yych == 'y') goto yy186; - goto yy155; + 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 yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1239; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'D') goto yy1238; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'd') goto yy1268; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'd') goto yy1267; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -22869,27 +22867,27 @@ yy1460: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { - if (yych == '\t') goto yy1105; - if (yych <= 0x1F) goto yy4; - goto yy1105; + if (yych == '\t') goto yy1104; + if (yych <= 0x1F) goto yy3; + goto yy1104; } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } } else { if (yych <= 'Z') { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } else { if (yych <= '_') { - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= '`') goto yy3; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -22899,28 +22897,28 @@ yy1461: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'T') goto yy1430; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 't') goto yy1462; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -22930,28 +22928,28 @@ yy1462: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'H') goto yy1239; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'H') goto yy1238; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'h') goto yy1268; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'h') goto yy1267; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -22960,23 +22958,23 @@ yy1463: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= '@') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych == 'R') goto yy1475; - if (yych <= 'X') goto yy142; + if (yych <= 'X') goto yy141; goto yy1476; } } else { if (yych <= 'r') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'q') goto yy142; + 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 yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1464: @@ -22984,22 +22982,22 @@ yy1464: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'C') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy141; goto yy1469; } } else { if (yych <= 'c') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { if (yych <= 'd') goto yy1469; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1465: @@ -23007,21 +23005,21 @@ yy1465: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy141; } } else { if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { if (yych <= 'n') goto yy1466; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1466: @@ -23029,37 +23027,37 @@ yy1466: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { - if (yych <= '(') goto yy167; - goto yy140; + if (yych <= '(') goto yy166; + goto yy139; } else { - if (yych <= '@') goto yy167; - if (yych <= 'C') goto yy143; + if (yych <= '@') goto yy166; + if (yych <= 'C') goto yy142; } } else { if (yych <= 'c') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy167; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy166; + goto yy142; } else { if (yych <= 'd') goto yy1467; - if (yych <= 'z') goto yy143; - goto yy167; + if (yych <= 'z') goto yy142; + goto yy166; } } yy1467: YYDEBUG(1467, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; } else { if (yych <= '`') { - if (yych <= 'Z') goto yy144; - goto yy4; + if (yych <= 'Z') goto yy143; + goto yy3; } else { if (yych <= 'a') goto yy1468; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1468: @@ -23067,22 +23065,22 @@ yy1468: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'X') goto yy145; - goto yy1236; + if (yych <= '@') goto yy3; + if (yych <= 'X') goto yy144; + goto yy1235; } } else { if (yych <= 'x') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { - if (yych <= 'y') goto yy1236; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'y') goto yy1235; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1469: @@ -23090,21 +23088,21 @@ yy1469: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy142; } } else { if (yych <= 'm') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { if (yych <= 'n') goto yy1470; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1470: @@ -23112,21 +23110,21 @@ yy1470: yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'H') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'H') goto yy143; } } else { if (yych <= 'h') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { if (yych <= 'i') goto yy1471; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1471: @@ -23134,21 +23132,21 @@ yy1471: yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'F') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'F') goto yy144; } } else { if (yych <= 'f') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { if (yych <= 'g') goto yy1472; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1472: @@ -23156,17 +23154,17 @@ yy1472: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych <= 'H') goto yy1473; - if (yych != 'h') goto yy4; + if (yych != 'h') goto yy3; } yy1473: YYDEBUG(1473, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1474; - if (yych != 't') goto yy57; + if (yych != 't') goto yy56; yy1474: YYDEBUG(1474, *YYCURSOR); yych = *++YYCURSOR; @@ -23178,39 +23176,39 @@ yy1475: if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '9') goto yy195; + goto yy193; } else { if (yych == 'C') goto yy1477; - goto yy143; + goto yy142; } } else { if (yych <= 'b') { - if (yych <= '`') goto yy194; - goto yy143; + if (yych <= '`') goto yy193; + goto yy142; } else { if (yych <= 'c') goto yy1477; - if (yych <= 'z') goto yy143; - goto yy194; + if (yych <= 'z') goto yy142; + goto yy193; } } } @@ -23220,24 +23218,24 @@ yy1476: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy194; - goto yy196; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy193; + goto yy195; } else { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy197; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy196; } } else { if (yych <= '@') { - if (yych == '/') goto yy194; - if (yych <= '9') goto yy196; - goto yy194; + if (yych == '/') goto yy193; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy194; - if (yych <= 'z') goto yy143; - goto yy194; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy142; + goto yy193; } } yy1477: @@ -23245,22 +23243,22 @@ yy1477: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy144; - goto yy396; + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy143; + goto yy395; } } else { if (yych <= 'g') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'h') goto yy396; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'h') goto yy395; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1478: @@ -23270,38 +23268,38 @@ yy1478: if (yych <= 'X') { if (yych <= '.') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '-') goto yy148; - goto yy4; + if (yych == '-') goto yy147; + goto yy3; } } else { if (yych <= '@') { - if (yych <= '/') goto yy148; - goto yy4; + if (yych <= '/') goto yy147; + goto yy3; } else { if (yych == 'R') goto yy1475; - goto yy142; + goto yy141; } } } else { if (yych <= '`') { if (yych <= 'Z') { if (yych <= 'Y') goto yy1476; - goto yy142; + goto yy141; } else { - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } } else { if (yych <= 'x') { if (yych == 'r') goto yy1490; - goto yy147; + goto yy146; } else { if (yych <= 'y') goto yy1491; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -23311,28 +23309,28 @@ yy1479: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { if (yych <= 'D') goto yy1469; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'c') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { if (yych <= 'd') goto yy1484; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -23342,28 +23340,28 @@ yy1480: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { if (yych <= 'N') goto yy1466; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { if (yych <= 'n') goto yy1481; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -23373,28 +23371,28 @@ yy1481: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy167; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy166; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy167; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy166; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'D') goto yy1467; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy167; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy166; + goto yy147; } else { if (yych <= 'c') { - if (yych <= '`') goto yy167; - goto yy151; + if (yych <= '`') goto yy166; + goto yy150; } else { if (yych <= 'd') goto yy1482; - if (yych <= 'z') goto yy151; - goto yy167; + if (yych <= 'z') goto yy150; + goto yy166; } } } @@ -23404,24 +23402,24 @@ yy1482: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '_') { if (yych <= 'A') goto yy1468; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { - if (yych <= '`') goto yy4; + if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1483; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } yy1483: @@ -23430,28 +23428,28 @@ yy1483: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { - if (yych <= 'Y') goto yy1236; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Y') goto yy1235; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'x') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { - if (yych <= 'y') goto yy1265; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'y') goto yy1264; + if (yych <= 'z') goto yy152; + goto yy3; } } } @@ -23461,28 +23459,28 @@ yy1484: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'N') goto yy1470; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 'n') goto yy1485; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -23492,28 +23490,28 @@ yy1485: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { if (yych <= 'I') goto yy1471; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'h') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { if (yych <= 'i') goto yy1486; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -23523,28 +23521,28 @@ yy1486: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { if (yych <= 'G') goto yy1472; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'f') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { if (yych <= 'g') goto yy1487; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'z') goto yy152; + goto yy3; } } } @@ -23554,41 +23552,41 @@ yy1487: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { if (yych <= 'H') goto yy1473; - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } else { if (yych == 'h') goto yy1488; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych <= 'z') goto yy153; + goto yy3; } } yy1488: YYDEBUG(1488, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1474; - if (yych != 't') goto yy155; + if (yych != 't') goto yy154; YYDEBUG(1489, *YYCURSOR); yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy153; } if (yych <= '.') { - if (yych == '-') goto yy148; + if (yych == '-') goto yy147; goto yy1420; } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; goto yy1420; } yy1490: @@ -23598,41 +23596,41 @@ yy1490: if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'B') { - if (yych <= '@') goto yy194; - goto yy143; + if (yych <= '@') goto yy193; + goto yy142; } else { if (yych <= 'C') goto yy1477; - if (yych <= 'Z') goto yy143; - goto yy194; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { if (yych <= 'b') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { if (yych <= 'c') goto yy1492; - if (yych <= 'z') goto yy151; - goto yy194; + if (yych <= 'z') goto yy150; + goto yy193; } } } @@ -23642,33 +23640,33 @@ yy1491: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { - if (yych == '\t') goto yy196; - if (yych <= 0x1F) goto yy194; - goto yy196; + if (yych == '\t') goto yy195; + if (yych <= 0x1F) goto yy193; + goto yy195; } else { if (yych <= ')') { - if (yych <= '(') goto yy194; - goto yy140; + if (yych <= '(') goto yy193; + goto yy139; } else { - if (yych <= ',') goto yy194; - if (yych <= '-') goto yy372; - goto yy196; + if (yych <= ',') goto yy193; + if (yych <= '-') goto yy371; + goto yy195; } } } else { if (yych <= 'Z') { - if (yych <= '/') goto yy148; - if (yych <= '9') goto yy196; - if (yych <= '@') goto yy194; - goto yy143; + if (yych <= '/') goto yy147; + if (yych <= '9') goto yy195; + if (yych <= '@') goto yy193; + goto yy142; } else { if (yych <= '_') { - if (yych <= '^') goto yy194; - goto yy148; + if (yych <= '^') goto yy193; + goto yy147; } else { - if (yych <= '`') goto yy194; - if (yych <= 'z') goto yy151; - goto yy194; + if (yych <= '`') goto yy193; + if (yych <= 'z') goto yy150; + goto yy193; } } } @@ -23678,28 +23676,28 @@ yy1492: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'H') goto yy396; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'H') goto yy395; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'h') goto yy407; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'h') goto yy406; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -23708,29 +23706,29 @@ yy1493: yych = *++YYCURSOR; if (yych <= 'W') { if (yych <= 'N') { - if (yych == ')') goto yy140; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == ')') goto yy139; + if (yych <= '@') goto yy3; + goto yy141; } else { if (yych <= 'O') goto yy1501; - if (yych <= 'U') goto yy142; + if (yych <= 'U') goto yy141; if (yych <= 'V') goto yy1502; goto yy1499; } } else { if (yych <= 'o') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - if (yych <= 'n') goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + if (yych <= 'n') goto yy141; goto yy1501; } else { if (yych <= 'v') { - if (yych <= 'u') goto yy142; + if (yych <= 'u') goto yy141; goto yy1502; } else { if (yych <= 'w') goto yy1499; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } } @@ -23739,22 +23737,22 @@ yy1494: yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'W') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'W') goto yy141; goto yy1498; } } else { if (yych <= 'w') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { if (yych <= 'x') goto yy1498; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1495: @@ -23762,21 +23760,21 @@ yy1495: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy141; } } else { if (yych <= 'm') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { if (yych <= 'n') goto yy1496; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1496: @@ -23784,21 +23782,21 @@ yy1496: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { if (yych <= 't') goto yy1497; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1497: @@ -23806,22 +23804,22 @@ yy1497: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'G') goto yy144; - goto yy1239; + if (yych <= '@') goto yy3; + if (yych <= 'G') goto yy143; + goto yy1238; } } else { if (yych <= 'g') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { - if (yych <= 'h') goto yy1239; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'h') goto yy1238; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1498: @@ -23829,33 +23827,33 @@ yy1498: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; goto yy1428; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { if (yych <= 't') goto yy1428; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1499: YYDEBUG(1499, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy140; + if (yych == ')') goto yy139; } else { - if (yych <= 'Z') goto yy143; + if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy1500; - if (yych <= 'z') goto yy143; + if (yych <= 'z') goto yy142; } yy1500: YYDEBUG(1500, *YYCURSOR); @@ -23867,28 +23865,28 @@ yy1500: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 23871 "ext/date/lib/parse_date.c" +#line 23869 "ext/date/lib/parse_date.c" yy1501: YYDEBUG(1501, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'M') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy142; goto yy1507; } } else { if (yych <= 'm') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { if (yych <= 'n') goto yy1507; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1502: @@ -23898,38 +23896,38 @@ yy1502: if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= ',') { - if (yych <= ')') goto yy140; - goto yy194; + if (yych <= ')') goto yy139; + goto yy193; } else { - if (yych <= '-') goto yy197; - if (yych <= '.') goto yy196; - goto yy194; + if (yych <= '-') goto yy196; + if (yych <= '.') goto yy195; + goto yy193; } } } else { if (yych <= 'Z') { if (yych <= '@') { - if (yych <= '9') goto yy196; - goto yy194; + if (yych <= '9') goto yy195; + goto yy193; } else { - if (yych != 'E') goto yy143; + if (yych != 'E') goto yy142; } } else { if (yych <= 'd') { - if (yych <= '`') goto yy194; - goto yy143; + if (yych <= '`') goto yy193; + goto yy142; } else { if (yych <= 'e') goto yy1503; - if (yych <= 'z') goto yy143; - goto yy194; + if (yych <= 'z') goto yy142; + goto yy193; } } } @@ -23938,21 +23936,21 @@ yy1503: yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'L') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'L') goto yy143; } } else { if (yych <= 'l') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { if (yych <= 'm') goto yy1504; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1504: @@ -23960,21 +23958,21 @@ yy1504: yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'A') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy144; } } else { if (yych <= 'a') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { if (yych <= 'b') goto yy1505; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1505: @@ -23982,27 +23980,27 @@ yy1505: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych <= 'E') goto yy1506; - if (yych != 'e') goto yy4; + if (yych != 'e') goto yy3; } yy1506: YYDEBUG(1506, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy206; - if (yych == 'r') goto yy206; - goto yy57; + if (yych == 'R') goto yy205; + if (yych == 'r') goto yy205; + goto yy56; yy1507: YYDEBUG(1507, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy140; + if (yych == ')') goto yy139; } else { - if (yych <= 'Z') goto yy144; + if (yych <= 'Z') goto yy143; if (yych <= '`') goto yy1508; - if (yych <= 'z') goto yy144; + if (yych <= 'z') goto yy143; } yy1508: YYDEBUG(1508, *YYCURSOR); @@ -24017,7 +24015,7 @@ yy1508: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 24021 "ext/date/lib/parse_date.c" +#line 24019 "ext/date/lib/parse_date.c" yy1509: YYDEBUG(1509, *YYCURSOR); yyaccept = 0; @@ -24025,20 +24023,20 @@ yy1509: if (yych <= 'V') { if (yych <= '.') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych == '-') goto yy148; - goto yy4; + if (yych == '-') goto yy147; + goto yy3; } } else { if (yych <= 'N') { - if (yych <= '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych <= '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } else { if (yych <= 'O') goto yy1501; - if (yych <= 'U') goto yy142; + if (yych <= 'U') goto yy141; goto yy1502; } } @@ -24046,22 +24044,22 @@ yy1509: if (yych <= 'n') { if (yych <= '^') { if (yych <= 'W') goto yy1499; - if (yych <= 'Z') goto yy142; - goto yy4; + if (yych <= 'Z') goto yy141; + goto yy3; } else { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } } else { if (yych <= 'v') { if (yych <= 'o') goto yy1516; - if (yych <= 'u') goto yy147; + if (yych <= 'u') goto yy146; goto yy1517; } else { if (yych <= 'w') goto yy1515; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -24071,28 +24069,28 @@ yy1510: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { if (yych <= 'X') goto yy1498; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'w') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { if (yych <= 'x') goto yy1514; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -24102,28 +24100,28 @@ yy1511: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { if (yych <= 'N') goto yy1496; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { if (yych <= 'n') goto yy1512; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -24133,28 +24131,28 @@ yy1512: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'T') goto yy1497; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 't') goto yy1513; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -24164,28 +24162,28 @@ yy1513: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { - if (yych <= 'H') goto yy1239; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'H') goto yy1238; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'g') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { - if (yych <= 'h') goto yy1268; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'h') goto yy1267; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -24195,28 +24193,28 @@ yy1514: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'T') goto yy1428; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 't') goto yy1460; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -24226,21 +24224,21 @@ yy1515: yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy140; + if (yych == ')') goto yy139; goto yy1500; } else { if (yych == '.') goto yy1500; - goto yy148; + goto yy147; } } else { if (yych <= '^') { if (yych <= '@') goto yy1500; - if (yych <= 'Z') goto yy143; + if (yych <= 'Z') goto yy142; goto yy1500; } else { - if (yych <= '_') goto yy148; + if (yych <= '_') goto yy147; if (yych <= '`') goto yy1500; - if (yych <= 'z') goto yy151; + if (yych <= 'z') goto yy150; goto yy1500; } } @@ -24250,28 +24248,28 @@ yy1516: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'N') goto yy1507; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'm') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 'n') goto yy1522; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -24282,41 +24280,41 @@ yy1517: if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { - if (yych <= 0x08) goto yy194; - goto yy196; + if (yych <= 0x08) goto yy193; + goto yy195; } else { - if (yych == ' ') goto yy196; - goto yy194; + if (yych == ' ') goto yy195; + goto yy193; } } else { if (yych <= '-') { - if (yych <= ')') goto yy140; - if (yych <= ',') goto yy194; - goto yy372; + if (yych <= ')') goto yy139; + if (yych <= ',') goto yy193; + goto yy371; } else { - if (yych == '/') goto yy148; - goto yy196; + if (yych == '/') goto yy147; + goto yy195; } } } else { if (yych <= '^') { if (yych <= 'D') { - if (yych <= '@') goto yy194; - goto yy143; + if (yych <= '@') goto yy193; + goto yy142; } else { if (yych <= 'E') goto yy1503; - if (yych <= 'Z') goto yy143; - goto yy194; + if (yych <= 'Z') goto yy142; + goto yy193; } } else { if (yych <= 'd') { - if (yych <= '_') goto yy148; - if (yych <= '`') goto yy194; - goto yy151; + if (yych <= '_') goto yy147; + if (yych <= '`') goto yy193; + goto yy150; } else { if (yych <= 'e') goto yy1518; - if (yych <= 'z') goto yy151; - goto yy194; + if (yych <= 'z') goto yy150; + goto yy193; } } } @@ -24326,28 +24324,28 @@ yy1518: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { if (yych <= 'M') goto yy1504; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'l') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { if (yych <= 'm') goto yy1519; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -24357,28 +24355,28 @@ yy1519: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { if (yych <= 'B') goto yy1505; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'a') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { if (yych <= 'b') goto yy1520; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'z') goto yy152; + goto yy3; } } } @@ -24388,51 +24386,51 @@ yy1520: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { if (yych <= 'E') goto yy1506; - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } else { if (yych == 'e') goto yy1521; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych <= 'z') goto yy153; + goto yy3; } } yy1521: YYDEBUG(1521, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy206; - if (yych == 'r') goto yy377; - goto yy155; + 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 yy140; + if (yych == ')') goto yy139; goto yy1508; } else { if (yych == '.') goto yy1508; - goto yy148; + goto yy147; } } else { if (yych <= '^') { if (yych <= '@') goto yy1508; - if (yych <= 'Z') goto yy144; + if (yych <= 'Z') goto yy143; goto yy1508; } else { - if (yych <= '_') goto yy148; + if (yych <= '_') goto yy147; if (yych <= '`') goto yy1508; - if (yych <= 'z') goto yy152; + if (yych <= 'z') goto yy151; goto yy1508; } } @@ -24441,21 +24439,21 @@ yy1523: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'R') goto yy142; + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy141; } } else { if (yych <= 'r') { - if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy4; - goto yy142; + if (yych <= 'Z') goto yy141; + if (yych <= '`') goto yy3; + goto yy141; } else { if (yych <= 's') goto yy1524; - if (yych <= 'z') goto yy142; - goto yy4; + if (yych <= 'z') goto yy141; + goto yy3; } } yy1524: @@ -24463,21 +24461,21 @@ yy1524: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'S') goto yy143; + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy142; } } else { if (yych <= 's') { - if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy4; - goto yy143; + if (yych <= 'Z') goto yy142; + if (yych <= '`') goto yy3; + goto yy142; } else { if (yych <= 't') goto yy1525; - if (yych <= 'z') goto yy143; - goto yy4; + if (yych <= 'z') goto yy142; + goto yy3; } } yy1525: @@ -24485,21 +24483,21 @@ yy1525: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'D') goto yy144; + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy143; } } else { if (yych <= 'd') { - if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy4; - goto yy144; + if (yych <= 'Z') goto yy143; + if (yych <= '`') goto yy3; + goto yy143; } else { if (yych <= 'e') goto yy1526; - if (yych <= 'z') goto yy144; - goto yy4; + if (yych <= 'z') goto yy143; + goto yy3; } } yy1526: @@ -24507,21 +24505,21 @@ yy1526: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { - if (yych <= '(') goto yy4; - goto yy140; + if (yych <= '(') goto yy3; + goto yy139; } else { - if (yych <= '@') goto yy4; - if (yych <= 'Q') goto yy145; + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy144; } } else { if (yych <= 'q') { - if (yych <= 'Z') goto yy145; - if (yych <= '`') goto yy4; - goto yy145; + if (yych <= 'Z') goto yy144; + if (yych <= '`') goto yy3; + goto yy144; } else { if (yych <= 'r') goto yy1527; - if (yych <= 'z') goto yy145; - goto yy4; + if (yych <= 'z') goto yy144; + goto yy3; } } yy1527: @@ -24529,22 +24527,22 @@ yy1527: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { if (yych <= 'D') goto yy1528; - if (yych != 'd') goto yy4; + if (yych != 'd') goto yy3; } yy1528: YYDEBUG(1528, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1529; - if (yych != 'a') goto yy57; + if (yych != 'a') goto yy56; yy1529: YYDEBUG(1529, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1530; - if (yych != 'y') goto yy57; + if (yych != 'y') goto yy56; yy1530: YYDEBUG(1530, *YYCURSOR); ++YYCURSOR; @@ -24561,35 +24559,35 @@ yy1531: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 24565 "ext/date/lib/parse_date.c" +#line 24563 "ext/date/lib/parse_date.c" yy1532: YYDEBUG(1532, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy142; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy141; } } else { if (yych <= '_') { if (yych <= 'S') goto yy1524; - if (yych <= 'Z') goto yy142; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy141; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'r') { - if (yych <= '`') goto yy4; - goto yy147; + if (yych <= '`') goto yy3; + goto yy146; } else { if (yych <= 's') goto yy1533; - if (yych <= 'z') goto yy147; - goto yy4; + if (yych <= 'z') goto yy146; + goto yy3; } } } @@ -24599,28 +24597,28 @@ yy1533: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy143; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy142; } } else { if (yych <= '_') { if (yych <= 'T') goto yy1525; - if (yych <= 'Z') goto yy143; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy142; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 's') { - if (yych <= '`') goto yy4; - goto yy151; + if (yych <= '`') goto yy3; + goto yy150; } else { if (yych <= 't') goto yy1534; - if (yych <= 'z') goto yy151; - goto yy4; + if (yych <= 'z') goto yy150; + goto yy3; } } } @@ -24630,28 +24628,28 @@ yy1534: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy144; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy143; } } else { if (yych <= '_') { if (yych <= 'E') goto yy1526; - if (yych <= 'Z') goto yy144; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy143; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'd') { - if (yych <= '`') goto yy4; - goto yy152; + if (yych <= '`') goto yy3; + goto yy151; } else { if (yych <= 'e') goto yy1535; - if (yych <= 'z') goto yy152; - goto yy4; + if (yych <= 'z') goto yy151; + goto yy3; } } } @@ -24661,28 +24659,28 @@ yy1535: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych <= '-') { - if (yych == ')') goto yy140; - if (yych <= ',') goto yy4; - goto yy148; + if (yych == ')') goto yy139; + if (yych <= ',') goto yy3; + goto yy147; } else { - if (yych == '/') goto yy148; - if (yych <= '@') goto yy4; - goto yy145; + if (yych == '/') goto yy147; + if (yych <= '@') goto yy3; + goto yy144; } } else { if (yych <= '_') { if (yych <= 'R') goto yy1527; - if (yych <= 'Z') goto yy145; - if (yych <= '^') goto yy4; - goto yy148; + if (yych <= 'Z') goto yy144; + if (yych <= '^') goto yy3; + goto yy147; } else { if (yych <= 'q') { - if (yych <= '`') goto yy4; - goto yy153; + if (yych <= '`') goto yy3; + goto yy152; } else { if (yych <= 'r') goto yy1536; - if (yych <= 'z') goto yy153; - goto yy4; + if (yych <= 'z') goto yy152; + goto yy3; } } } @@ -24692,45 +24690,45 @@ yy1536: yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= ',') { - if (yych == ')') goto yy140; - goto yy4; + if (yych == ')') goto yy139; + goto yy3; } else { - if (yych == '.') goto yy4; - if (yych <= '/') goto yy148; - goto yy4; + if (yych == '.') goto yy3; + if (yych <= '/') goto yy147; + goto yy3; } } else { if (yych <= '`') { if (yych <= 'D') goto yy1528; - if (yych == '_') goto yy148; - goto yy4; + if (yych == '_') goto yy147; + goto yy3; } else { if (yych == 'd') goto yy1537; - if (yych <= 'z') goto yy154; - goto yy4; + if (yych <= 'z') goto yy153; + goto yy3; } } yy1537: YYDEBUG(1537, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1529; - if (yych != 'a') goto yy155; + if (yych != 'a') goto yy154; YYDEBUG(1538, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1530; - if (yych != 'y') goto yy155; + if (yych != 'y') goto yy154; YYDEBUG(1539, *YYCURSOR); yyaccept = 33; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy154; + goto yy153; } if (yych <= '.') { - if (yych == '-') goto yy148; + if (yych == '-') goto yy147; goto yy1531; } else { - if (yych <= '/') goto yy148; - if (yych == '_') goto yy148; + if (yych <= '/') goto yy147; + if (yych == '_') goto yy147; goto yy1531; } } diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re index 277935abec..760caea330 100644 --- a/ext/date/lib/parse_date.re +++ b/ext/date/lib/parse_date.re @@ -931,8 +931,8 @@ mssqltime = hour12 ":" minutelz ":" secondlz [:.] [0-9]+ meridian; isoweekday = year4 "-"? "W" weekofyear "-"? [0-7]; isoweek = year4 "-"? "W" weekofyear; exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz; -firstdayof = 'first day of'?; -lastdayof = 'last day of'?; +firstdayof = 'first day of'; +lastdayof = 'last day of'; backof = 'back of ' hour24 space? meridian?; frontof = 'front of ' hour24 space? meridian?; diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h index da6749c516..c270eeb807 100644 --- a/ext/date/lib/timezonedb.h +++ b/ext/date/lib/timezonedb.h @@ -13,575 +13,575 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[580] = { { "Africa/Brazzaville" , 0x00051C }, { "Africa/Bujumbura" , 0x000571 }, { "Africa/Cairo" , 0x0005B5 }, - { "Africa/Casablanca" , 0x0009A4 }, - { "Africa/Ceuta" , 0x000C06 }, - { "Africa/Conakry" , 0x000F0D }, - { "Africa/Dakar" , 0x000F78 }, - { "Africa/Dar_es_Salaam" , 0x000FDE }, - { "Africa/Djibouti" , 0x00104B }, - { "Africa/Douala" , 0x0010A0 }, - { "Africa/El_Aaiun" , 0x0010F5 }, - { "Africa/Freetown" , 0x001320 }, - { "Africa/Gaborone" , 0x00142F }, - { "Africa/Harare" , 0x00149C }, - { "Africa/Johannesburg" , 0x0014F1 }, - { "Africa/Juba" , 0x00155F }, - { "Africa/Kampala" , 0x001672 }, - { "Africa/Khartoum" , 0x0016F1 }, - { "Africa/Kigali" , 0x001804 }, - { "Africa/Kinshasa" , 0x001859 }, - { "Africa/Lagos" , 0x0018B4 }, - { "Africa/Libreville" , 0x001909 }, - { "Africa/Lome" , 0x00195E }, - { "Africa/Luanda" , 0x0019A2 }, - { "Africa/Lubumbashi" , 0x0019F7 }, - { "Africa/Lusaka" , 0x001A52 }, - { "Africa/Malabo" , 0x001AA7 }, - { "Africa/Maputo" , 0x001B0D }, - { "Africa/Maseru" , 0x001B62 }, - { "Africa/Mbabane" , 0x001BCA }, - { "Africa/Mogadishu" , 0x001C20 }, - { "Africa/Monrovia" , 0x001C7B }, - { "Africa/Nairobi" , 0x001CE1 }, - { "Africa/Ndjamena" , 0x001D60 }, - { "Africa/Niamey" , 0x001DCC }, - { "Africa/Nouakchott" , 0x001E3F }, - { "Africa/Ouagadougou" , 0x001EAA }, - { "Africa/Porto-Novo" , 0x001EFF }, - { "Africa/Sao_Tome" , 0x001F65 }, - { "Africa/Timbuktu" , 0x001FBA }, - { "Africa/Tripoli" , 0x002025 }, - { "Africa/Tunis" , 0x00212E }, - { "Africa/Windhoek" , 0x002240 }, - { "America/Adak" , 0x002487 }, - { "America/Anchorage" , 0x0027FD }, - { "America/Anguilla" , 0x002B71 }, - { "America/Antigua" , 0x002BC6 }, - { "America/Araguaina" , 0x002C2C }, - { "America/Argentina/Buenos_Aires" , 0x002D91 }, - { "America/Argentina/Catamarca" , 0x002F3F }, - { "America/Argentina/ComodRivadavia" , 0x003100 }, - { "America/Argentina/Cordoba" , 0x0032A6 }, - { "America/Argentina/Jujuy" , 0x00347B }, - { "America/Argentina/La_Rioja" , 0x00362F }, - { "America/Argentina/Mendoza" , 0x0037E7 }, - { "America/Argentina/Rio_Gallegos" , 0x0039A7 }, - { "America/Argentina/Salta" , 0x003B5C }, - { "America/Argentina/San_Juan" , 0x003D08 }, - { "America/Argentina/San_Luis" , 0x003EC0 }, - { "America/Argentina/Tucuman" , 0x004086 }, - { "America/Argentina/Ushuaia" , 0x004242 }, - { "America/Aruba" , 0x0043FD }, - { "America/Asuncion" , 0x004463 }, - { "America/Atikokan" , 0x004748 }, - { "America/Atka" , 0x00481E }, - { "America/Bahia" , 0x004B84 }, - { "America/Bahia_Banderas" , 0x004D17 }, - { "America/Barbados" , 0x004F90 }, - { "America/Belem" , 0x00502A }, - { "America/Belize" , 0x005125 }, - { "America/Blanc-Sablon" , 0x0052A1 }, - { "America/Boa_Vista" , 0x005355 }, - { "America/Bogota" , 0x00545E }, - { "America/Boise" , 0x0054CA }, - { "America/Buenos_Aires" , 0x005861 }, - { "America/Cambridge_Bay" , 0x0059FA }, - { "America/Campo_Grande" , 0x005D22 }, - { "America/Cancun" , 0x006011 }, - { "America/Caracas" , 0x006253 }, - { "America/Catamarca" , 0x0062BA }, - { "America/Cayenne" , 0x006460 }, - { "America/Cayman" , 0x0064C2 }, - { "America/Chicago" , 0x006517 }, - { "America/Chihuahua" , 0x006A2E }, - { "America/Coral_Harbour" , 0x006C99 }, - { "America/Cordoba" , 0x006D2B }, - { "America/Costa_Rica" , 0x006ED1 }, - { "America/Creston" , 0x006F5B }, - { "America/Cuiaba" , 0x006FE7 }, - { "America/Curacao" , 0x0072C5 }, - { "America/Danmarkshavn" , 0x00732B }, - { "America/Dawson" , 0x00746F }, - { "America/Dawson_Creek" , 0x00778C }, - { "America/Denver" , 0x007966 }, - { "America/Detroit" , 0x007CEC }, - { "America/Dominica" , 0x00804B }, - { "America/Edmonton" , 0x0080A0 }, - { "America/Eirunepe" , 0x008458 }, - { "America/El_Salvador" , 0x008570 }, - { "America/Ensenada" , 0x0085E5 }, - { "America/Fort_Wayne" , 0x008A8C }, - { "America/Fortaleza" , 0x00894E }, - { "America/Glace_Bay" , 0x008CF6 }, - { "America/Godthab" , 0x00906D }, - { "America/Goose_Bay" , 0x009331 }, - { "America/Grand_Turk" , 0x0097EE }, - { "America/Grenada" , 0x009A9D }, - { "America/Guadeloupe" , 0x009AF2 }, - { "America/Guatemala" , 0x009B47 }, - { "America/Guayaquil" , 0x009BD0 }, - { "America/Guyana" , 0x009C2D }, - { "America/Halifax" , 0x009CAE }, - { "America/Havana" , 0x00A1C4 }, - { "America/Hermosillo" , 0x00A537 }, - { "America/Indiana/Indianapolis" , 0x00A615 }, - { "America/Indiana/Knox" , 0x00A8A6 }, - { "America/Indiana/Marengo" , 0x00AC3D }, - { "America/Indiana/Petersburg" , 0x00AEE3 }, - { "America/Indiana/Tell_City" , 0x00B430 }, - { "America/Indiana/Vevay" , 0x00B6C9 }, - { "America/Indiana/Vincennes" , 0x00B904 }, - { "America/Indiana/Winamac" , 0x00BBB8 }, - { "America/Indianapolis" , 0x00B1C6 }, - { "America/Inuvik" , 0x00BE71 }, - { "America/Iqaluit" , 0x00C168 }, - { "America/Jamaica" , 0x00C48A }, - { "America/Jujuy" , 0x00C54F }, - { "America/Juneau" , 0x00C6F9 }, - { "America/Kentucky/Louisville" , 0x00CA77 }, - { "America/Kentucky/Monticello" , 0x00CE95 }, - { "America/Knox_IN" , 0x00D21A }, - { "America/Kralendijk" , 0x00D58B }, - { "America/La_Paz" , 0x00D5F1 }, - { "America/Lima" , 0x00D658 }, - { "America/Los_Angeles" , 0x00D700 }, - { "America/Louisville" , 0x00DB11 }, - { "America/Lower_Princes" , 0x00DF06 }, - { "America/Maceio" , 0x00DF6C }, - { "America/Managua" , 0x00E0A6 }, - { "America/Manaus" , 0x00E159 }, - { "America/Marigot" , 0x00E25B }, - { "America/Martinique" , 0x00E2B0 }, - { "America/Matamoros" , 0x00E31C }, - { "America/Mazatlan" , 0x00E575 }, - { "America/Mendoza" , 0x00E7E2 }, - { "America/Menominee" , 0x00E996 }, - { "America/Merida" , 0x00ED17 }, - { "America/Metlakatla" , 0x00EF52 }, - { "America/Mexico_City" , 0x00F08C }, - { "America/Miquelon" , 0x00F307 }, - { "America/Moncton" , 0x00F579 }, - { "America/Monterrey" , 0x00FA10 }, - { "America/Montevideo" , 0x00FC73 }, - { "America/Montreal" , 0x00FF85 }, - { "America/Montserrat" , 0x010475 }, - { "America/Nassau" , 0x0104CA }, - { "America/New_York" , 0x01080F }, - { "America/Nipigon" , 0x010D1A }, - { "America/Nome" , 0x01106B }, - { "America/Noronha" , 0x0113E9 }, - { "America/North_Dakota/Beulah" , 0x011519 }, - { "America/North_Dakota/Center" , 0x0118AD }, - { "America/North_Dakota/New_Salem" , 0x011C41 }, - { "America/Ojinaga" , 0x011FEA }, - { "America/Panama" , 0x01224B }, - { "America/Pangnirtung" , 0x0122A0 }, - { "America/Paramaribo" , 0x0125D6 }, - { "America/Phoenix" , 0x012668 }, - { "America/Port-au-Prince" , 0x012726 }, - { "America/Port_of_Spain" , 0x012A4A }, - { "America/Porto_Acre" , 0x012946 }, - { "America/Porto_Velho" , 0x012A9F }, - { "America/Puerto_Rico" , 0x012B95 }, - { "America/Rainy_River" , 0x012C00 }, - { "America/Rankin_Inlet" , 0x012F38 }, - { "America/Recife" , 0x01321E }, - { "America/Regina" , 0x013348 }, - { "America/Resolute" , 0x013506 }, - { "America/Rio_Branco" , 0x0137F7 }, - { "America/Rosario" , 0x0138FF }, - { "America/Santa_Isabel" , 0x013AA5 }, - { "America/Santarem" , 0x013E48 }, - { "America/Santiago" , 0x013F4D }, - { "America/Santo_Domingo" , 0x0142F6 }, - { "America/Sao_Paulo" , 0x0143BC }, - { "America/Scoresbysund" , 0x0146CB }, - { "America/Shiprock" , 0x0149B9 }, - { "America/Sitka" , 0x014D32 }, - { "America/St_Barthelemy" , 0x0150BA }, - { "America/St_Johns" , 0x01510F }, - { "America/St_Kitts" , 0x015662 }, - { "America/St_Lucia" , 0x0156B7 }, - { "America/St_Thomas" , 0x01570C }, - { "America/St_Vincent" , 0x015761 }, - { "America/Swift_Current" , 0x0157B6 }, - { "America/Tegucigalpa" , 0x0158D7 }, - { "America/Thule" , 0x015956 }, - { "America/Thunder_Bay" , 0x015B9D }, - { "America/Tijuana" , 0x015EE6 }, - { "America/Toronto" , 0x01627F }, - { "America/Tortola" , 0x01679F }, - { "America/Vancouver" , 0x0167F4 }, - { "America/Virgin" , 0x016C31 }, - { "America/Whitehorse" , 0x016C86 }, - { "America/Winnipeg" , 0x016FA3 }, - { "America/Yakutat" , 0x0173E3 }, - { "America/Yellowknife" , 0x01774E }, - { "Antarctica/Casey" , 0x017A5E }, - { "Antarctica/Davis" , 0x017AFB }, - { "Antarctica/DumontDUrville" , 0x017B9C }, - { "Antarctica/Macquarie" , 0x017C2E }, - { "Antarctica/Mawson" , 0x017E75 }, - { "Antarctica/McMurdo" , 0x017EF1 }, - { "Antarctica/Palmer" , 0x01829C }, - { "Antarctica/Rothera" , 0x0185B8 }, - { "Antarctica/South_Pole" , 0x01862E }, - { "Antarctica/Syowa" , 0x0189AC }, - { "Antarctica/Troll" , 0x018A1A }, - { "Antarctica/Vostok" , 0x018BEC }, - { "Arctic/Longyearbyen" , 0x018C5D }, - { "Asia/Aden" , 0x018F8F }, - { "Asia/Almaty" , 0x018FE4 }, - { "Asia/Amman" , 0x019163 }, - { "Asia/Anadyr" , 0x019419 }, - { "Asia/Aqtau" , 0x0195FE }, - { "Asia/Aqtobe" , 0x0197FD }, - { "Asia/Ashgabat" , 0x0199B5 }, - { "Asia/Ashkhabad" , 0x019AD2 }, - { "Asia/Baghdad" , 0x019BEF }, - { "Asia/Bahrain" , 0x019D64 }, - { "Asia/Baku" , 0x019DCA }, - { "Asia/Bangkok" , 0x01A0B2 }, - { "Asia/Beirut" , 0x01A107 }, - { "Asia/Bishkek" , 0x01A414 }, - { "Asia/Brunei" , 0x01A5C0 }, - { "Asia/Calcutta" , 0x01A622 }, - { "Asia/Choibalsan" , 0x01A69B }, - { "Asia/Chongqing" , 0x01A814 }, - { "Asia/Chungking" , 0x01A903 }, - { "Asia/Colombo" , 0x01A9B2 }, - { "Asia/Dacca" , 0x01AA4E }, - { "Asia/Damascus" , 0x01AAF4 }, - { "Asia/Dhaka" , 0x01AE44 }, - { "Asia/Dili" , 0x01AEEA }, - { "Asia/Dubai" , 0x01AF74 }, - { "Asia/Dushanbe" , 0x01AFC9 }, - { "Asia/Gaza" , 0x01B0CC }, - { "Asia/Harbin" , 0x01B41F }, - { "Asia/Hebron" , 0x01B506 }, - { "Asia/Ho_Chi_Minh" , 0x01B862 }, - { "Asia/Hong_Kong" , 0x01B8DA }, - { "Asia/Hovd" , 0x01BA9C }, - { "Asia/Irkutsk" , 0x01BC14 }, - { "Asia/Istanbul" , 0x01BDFA }, - { "Asia/Jakarta" , 0x01C1E7 }, - { "Asia/Jayapura" , 0x01C291 }, - { "Asia/Jerusalem" , 0x01C32D }, - { "Asia/Kabul" , 0x01C65C }, - { "Asia/Kamchatka" , 0x01C6AD }, - { "Asia/Karachi" , 0x01C889 }, - { "Asia/Kashgar" , 0x01C93E }, - { "Asia/Kathmandu" , 0x01CA0F }, - { "Asia/Katmandu" , 0x01CA75 }, - { "Asia/Khandyga" , 0x01CADB }, - { "Asia/Kolkata" , 0x01CD00 }, - { "Asia/Krasnoyarsk" , 0x01CD79 }, - { "Asia/Kuala_Lumpur" , 0x01CF61 }, - { "Asia/Kuching" , 0x01D01E }, - { "Asia/Kuwait" , 0x01D10C }, - { "Asia/Macao" , 0x01D161 }, - { "Asia/Macau" , 0x01D29C }, - { "Asia/Magadan" , 0x01D3D7 }, - { "Asia/Makassar" , 0x01D5B9 }, - { "Asia/Manila" , 0x01D67E }, - { "Asia/Muscat" , 0x01D703 }, - { "Asia/Nicosia" , 0x01D758 }, - { "Asia/Novokuznetsk" , 0x01DA40 }, - { "Asia/Novosibirsk" , 0x01DC42 }, - { "Asia/Omsk" , 0x01DE2D }, - { "Asia/Oral" , 0x01E014 }, - { "Asia/Phnom_Penh" , 0x01E1E4 }, - { "Asia/Pontianak" , 0x01E25C }, - { "Asia/Pyongyang" , 0x01E31E }, - { "Asia/Qatar" , 0x01E38B }, - { "Asia/Qyzylorda" , 0x01E3F1 }, - { "Asia/Rangoon" , 0x01E5C7 }, - { "Asia/Riyadh" , 0x01E63F }, - { "Asia/Saigon" , 0x01E694 }, - { "Asia/Sakhalin" , 0x01E70C }, - { "Asia/Samarkand" , 0x01E903 }, - { "Asia/Seoul" , 0x01EA39 }, - { "Asia/Shanghai" , 0x01EADD }, - { "Asia/Singapore" , 0x01EBBD }, - { "Asia/Taipei" , 0x01EC74 }, - { "Asia/Tashkent" , 0x01ED8C }, - { "Asia/Tbilisi" , 0x01EEBD }, - { "Asia/Tehran" , 0x01F077 }, - { "Asia/Tel_Aviv" , 0x01F2E5 }, - { "Asia/Thimbu" , 0x01F614 }, - { "Asia/Thimphu" , 0x01F67A }, - { "Asia/Tokyo" , 0x01F6E0 }, - { "Asia/Ujung_Pandang" , 0x01F769 }, - { "Asia/Ulaanbaatar" , 0x01F7E6 }, - { "Asia/Ulan_Bator" , 0x01F941 }, - { "Asia/Urumqi" , 0x01FA8E }, - { "Asia/Ust-Nera" , 0x01FB55 }, - { "Asia/Vientiane" , 0x01FD5A }, - { "Asia/Vladivostok" , 0x01FDD2 }, - { "Asia/Yakutsk" , 0x01FFBE }, - { "Asia/Yekaterinburg" , 0x0201A3 }, - { "Asia/Yerevan" , 0x0203AE }, - { "Atlantic/Azores" , 0x0205AE }, - { "Atlantic/Bermuda" , 0x020AB1 }, - { "Atlantic/Canary" , 0x020D92 }, - { "Atlantic/Cape_Verde" , 0x021068 }, - { "Atlantic/Faeroe" , 0x0210E1 }, - { "Atlantic/Faroe" , 0x021385 }, - { "Atlantic/Jan_Mayen" , 0x021629 }, - { "Atlantic/Madeira" , 0x02195B }, - { "Atlantic/Reykjavik" , 0x021E64 }, - { "Atlantic/South_Georgia" , 0x02201D }, - { "Atlantic/St_Helena" , 0x02222F }, - { "Atlantic/Stanley" , 0x022061 }, - { "Australia/ACT" , 0x022284 }, - { "Australia/Adelaide" , 0x0225A1 }, - { "Australia/Brisbane" , 0x0228CD }, - { "Australia/Broken_Hill" , 0x022994 }, - { "Australia/Canberra" , 0x022CD2 }, - { "Australia/Currie" , 0x022FEF }, - { "Australia/Darwin" , 0x023322 }, - { "Australia/Eucla" , 0x0233A8 }, - { "Australia/Hobart" , 0x02347D }, - { "Australia/LHI" , 0x0237DB }, - { "Australia/Lindeman" , 0x023A76 }, - { "Australia/Lord_Howe" , 0x023B57 }, - { "Australia/Melbourne" , 0x023E02 }, - { "Australia/North" , 0x024127 }, - { "Australia/NSW" , 0x02419B }, - { "Australia/Perth" , 0x0244B8 }, - { "Australia/Queensland" , 0x024590 }, - { "Australia/South" , 0x02463C }, - { "Australia/Sydney" , 0x024959 }, - { "Australia/Tasmania" , 0x024C96 }, - { "Australia/Victoria" , 0x024FDB }, - { "Australia/West" , 0x0252F8 }, - { "Australia/Yancowinna" , 0x0253AE }, - { "Brazil/Acre" , 0x0256D0 }, - { "Brazil/DeNoronha" , 0x0257D4 }, - { "Brazil/East" , 0x0258F4 }, - { "Brazil/West" , 0x025BD1 }, - { "Canada/Atlantic" , 0x025CC9 }, - { "Canada/Central" , 0x0261B1 }, - { "Canada/East-Saskatchewan" , 0x026ABB }, - { "Canada/Eastern" , 0x0265CB }, - { "Canada/Mountain" , 0x026C44 }, - { "Canada/Newfoundland" , 0x026FBA }, - { "Canada/Pacific" , 0x0274E5 }, - { "Canada/Saskatchewan" , 0x0278FE }, - { "Canada/Yukon" , 0x027A87 }, - { "CET" , 0x027D8A }, - { "Chile/Continental" , 0x028093 }, - { "Chile/EasterIsland" , 0x02842E }, - { "CST6CDT" , 0x028770 }, - { "Cuba" , 0x028AC1 }, - { "EET" , 0x028E34 }, - { "Egypt" , 0x0290E7 }, - { "Eire" , 0x0294D6 }, - { "EST" , 0x0299E7 }, - { "EST5EDT" , 0x029A2B }, - { "Etc/GMT" , 0x029D7C }, - { "Etc/GMT+0" , 0x029E48 }, - { "Etc/GMT+1" , 0x029ED2 }, - { "Etc/GMT+10" , 0x029F5F }, - { "Etc/GMT+11" , 0x029FED }, - { "Etc/GMT+12" , 0x02A07B }, - { "Etc/GMT+2" , 0x02A196 }, - { "Etc/GMT+3" , 0x02A222 }, - { "Etc/GMT+4" , 0x02A2AE }, - { "Etc/GMT+5" , 0x02A33A }, - { "Etc/GMT+6" , 0x02A3C6 }, - { "Etc/GMT+7" , 0x02A452 }, - { "Etc/GMT+8" , 0x02A4DE }, - { "Etc/GMT+9" , 0x02A56A }, - { "Etc/GMT-0" , 0x029E04 }, - { "Etc/GMT-1" , 0x029E8C }, - { "Etc/GMT-10" , 0x029F18 }, - { "Etc/GMT-11" , 0x029FA6 }, - { "Etc/GMT-12" , 0x02A034 }, - { "Etc/GMT-13" , 0x02A0C2 }, - { "Etc/GMT-14" , 0x02A109 }, - { "Etc/GMT-2" , 0x02A150 }, - { "Etc/GMT-3" , 0x02A1DC }, - { "Etc/GMT-4" , 0x02A268 }, - { "Etc/GMT-5" , 0x02A2F4 }, - { "Etc/GMT-6" , 0x02A380 }, - { "Etc/GMT-7" , 0x02A40C }, - { "Etc/GMT-8" , 0x02A498 }, - { "Etc/GMT-9" , 0x02A524 }, - { "Etc/GMT0" , 0x029DC0 }, - { "Etc/Greenwich" , 0x02A5B0 }, - { "Etc/UCT" , 0x02A5F4 }, - { "Etc/Universal" , 0x02A638 }, - { "Etc/UTC" , 0x02A67C }, - { "Etc/Zulu" , 0x02A6C0 }, - { "Europe/Amsterdam" , 0x02A704 }, - { "Europe/Andorra" , 0x02AB42 }, - { "Europe/Athens" , 0x02ADBE }, - { "Europe/Belfast" , 0x02B101 }, - { "Europe/Belgrade" , 0x02B638 }, - { "Europe/Berlin" , 0x02B901 }, - { "Europe/Bratislava" , 0x02BC65 }, - { "Europe/Brussels" , 0x02BF97 }, - { "Europe/Bucharest" , 0x02C3CE }, - { "Europe/Budapest" , 0x02C6F8 }, - { "Europe/Busingen" , 0x02CA6B }, - { "Europe/Chisinau" , 0x02CD22 }, - { "Europe/Copenhagen" , 0x02D0B0 }, - { "Europe/Dublin" , 0x02D3BA }, - { "Europe/Gibraltar" , 0x02D8CB }, - { "Europe/Guernsey" , 0x02DD22 }, - { "Europe/Helsinki" , 0x02E259 }, - { "Europe/Isle_of_Man" , 0x02E50F }, - { "Europe/Istanbul" , 0x02EA46 }, - { "Europe/Jersey" , 0x02EE33 }, - { "Europe/Kaliningrad" , 0x02F36A }, - { "Europe/Kiev" , 0x02F5D0 }, - { "Europe/Lisbon" , 0x02F8EC }, - { "Europe/Ljubljana" , 0x02FDF0 }, - { "Europe/London" , 0x0300B9 }, - { "Europe/Luxembourg" , 0x0305F0 }, - { "Europe/Madrid" , 0x030A46 }, - { "Europe/Malta" , 0x030E0C }, - { "Europe/Mariehamn" , 0x0311C5 }, - { "Europe/Minsk" , 0x03147B }, - { "Europe/Monaco" , 0x031689 }, - { "Europe/Moscow" , 0x031AC4 }, - { "Europe/Nicosia" , 0x031D15 }, - { "Europe/Oslo" , 0x031FFD }, - { "Europe/Paris" , 0x03232F }, - { "Europe/Podgorica" , 0x032775 }, - { "Europe/Prague" , 0x032A3E }, - { "Europe/Riga" , 0x032D70 }, - { "Europe/Rome" , 0x0330B5 }, - { "Europe/Samara" , 0x033478 }, - { "Europe/San_Marino" , 0x0336AB }, - { "Europe/Sarajevo" , 0x033A6E }, - { "Europe/Simferopol" , 0x033D37 }, - { "Europe/Skopje" , 0x033F83 }, - { "Europe/Sofia" , 0x03424C }, - { "Europe/Stockholm" , 0x034554 }, - { "Europe/Tallinn" , 0x034803 }, - { "Europe/Tirane" , 0x034B3D }, - { "Europe/Tiraspol" , 0x034E43 }, - { "Europe/Uzhgorod" , 0x0351D1 }, - { "Europe/Vaduz" , 0x0354E8 }, - { "Europe/Vatican" , 0x035797 }, - { "Europe/Vienna" , 0x035B5A }, - { "Europe/Vilnius" , 0x035E87 }, - { "Europe/Volgograd" , 0x0361C6 }, - { "Europe/Warsaw" , 0x0363C6 }, - { "Europe/Zagreb" , 0x0367A7 }, - { "Europe/Zaporozhye" , 0x036A70 }, - { "Europe/Zurich" , 0x036DB1 }, - { "Factory" , 0x037060 }, - { "GB" , 0x0370D1 }, - { "GB-Eire" , 0x037608 }, - { "GMT" , 0x037B3F }, - { "GMT+0" , 0x037C0B }, - { "GMT-0" , 0x037BC7 }, - { "GMT0" , 0x037B83 }, - { "Greenwich" , 0x037C4F }, - { "Hongkong" , 0x037C93 }, - { "HST" , 0x037E55 }, - { "Iceland" , 0x037E99 }, - { "Indian/Antananarivo" , 0x038052 }, - { "Indian/Chagos" , 0x0380C6 }, - { "Indian/Christmas" , 0x038128 }, - { "Indian/Cocos" , 0x03816C }, - { "Indian/Comoro" , 0x0381B0 }, - { "Indian/Kerguelen" , 0x038205 }, - { "Indian/Mahe" , 0x03825A }, - { "Indian/Maldives" , 0x0382AF }, - { "Indian/Mauritius" , 0x038304 }, - { "Indian/Mayotte" , 0x03837A }, - { "Indian/Reunion" , 0x0383CF }, - { "Iran" , 0x038424 }, - { "Israel" , 0x038692 }, - { "Jamaica" , 0x0389C1 }, - { "Japan" , 0x038A86 }, - { "Kwajalein" , 0x038B0F }, - { "Libya" , 0x038B72 }, - { "MET" , 0x038C7B }, - { "Mexico/BajaNorte" , 0x038F84 }, - { "Mexico/BajaSur" , 0x0392ED }, - { "Mexico/General" , 0x039532 }, - { "MST" , 0x039790 }, - { "MST7MDT" , 0x0397D4 }, - { "Navajo" , 0x039B25 }, - { "NZ" , 0x039E9E }, - { "NZ-CHAT" , 0x03A21C }, - { "Pacific/Apia" , 0x03A504 }, - { "Pacific/Auckland" , 0x03A6A0 }, - { "Pacific/Chatham" , 0x03AA2C }, - { "Pacific/Chuuk" , 0x03AD23 }, - { "Pacific/Easter" , 0x03AD7C }, - { "Pacific/Efate" , 0x03B0DA }, - { "Pacific/Enderbury" , 0x03B1A0 }, - { "Pacific/Fakaofo" , 0x03B20E }, - { "Pacific/Fiji" , 0x03B25F }, - { "Pacific/Funafuti" , 0x03B3F2 }, - { "Pacific/Galapagos" , 0x03B436 }, - { "Pacific/Gambier" , 0x03B4AE }, - { "Pacific/Guadalcanal" , 0x03B513 }, - { "Pacific/Guam" , 0x03B568 }, - { "Pacific/Honolulu" , 0x03B5BE }, - { "Pacific/Johnston" , 0x03B635 }, - { "Pacific/Kiritimati" , 0x03B6B4 }, - { "Pacific/Kosrae" , 0x03B71F }, - { "Pacific/Kwajalein" , 0x03B77C }, - { "Pacific/Majuro" , 0x03B7E8 }, - { "Pacific/Marquesas" , 0x03B847 }, - { "Pacific/Midway" , 0x03B8AE }, - { "Pacific/Nauru" , 0x03B938 }, - { "Pacific/Niue" , 0x03B9B0 }, - { "Pacific/Norfolk" , 0x03BA0E }, - { "Pacific/Noumea" , 0x03BA63 }, - { "Pacific/Pago_Pago" , 0x03BAF3 }, - { "Pacific/Palau" , 0x03BB7C }, - { "Pacific/Pitcairn" , 0x03BBC0 }, - { "Pacific/Pohnpei" , 0x03BC15 }, - { "Pacific/Ponape" , 0x03BC6A }, - { "Pacific/Port_Moresby" , 0x03BCAF }, - { "Pacific/Rarotonga" , 0x03BCF3 }, - { "Pacific/Saipan" , 0x03BDCF }, - { "Pacific/Samoa" , 0x03BE32 }, - { "Pacific/Tahiti" , 0x03BEBB }, - { "Pacific/Tarawa" , 0x03BF20 }, - { "Pacific/Tongatapu" , 0x03BF74 }, - { "Pacific/Truk" , 0x03C000 }, - { "Pacific/Wake" , 0x03C045 }, - { "Pacific/Wallis" , 0x03C095 }, - { "Pacific/Yap" , 0x03C0D9 }, - { "Poland" , 0x03C11E }, - { "Portugal" , 0x03C4FF }, - { "PRC" , 0x03C9FB }, - { "PST8PDT" , 0x03CAAC }, - { "ROC" , 0x03CDFD }, - { "ROK" , 0x03CF15 }, - { "Singapore" , 0x03CFB9 }, - { "Turkey" , 0x03D070 }, - { "UCT" , 0x03D45D }, - { "Universal" , 0x03D4A1 }, - { "US/Alaska" , 0x03D4E5 }, - { "US/Aleutian" , 0x03D84E }, - { "US/Arizona" , 0x03DBB4 }, - { "US/Central" , 0x03DC42 }, - { "US/East-Indiana" , 0x03E64C }, - { "US/Eastern" , 0x03E14D }, - { "US/Hawaii" , 0x03E8B6 }, - { "US/Indiana-Starke" , 0x03E927 }, - { "US/Michigan" , 0x03EC98 }, - { "US/Mountain" , 0x03EFCF }, - { "US/Pacific" , 0x03F348 }, - { "US/Pacific-New" , 0x03F74D }, - { "US/Samoa" , 0x03FB52 }, - { "UTC" , 0x03FBDB }, - { "W-SU" , 0x03FED2 }, - { "WET" , 0x03FC1F }, - { "Zulu" , 0x04010C }, + { "Africa/Casablanca" , 0x00099C }, + { "Africa/Ceuta" , 0x000BFE }, + { "Africa/Conakry" , 0x000F05 }, + { "Africa/Dakar" , 0x000F70 }, + { "Africa/Dar_es_Salaam" , 0x000FD6 }, + { "Africa/Djibouti" , 0x001043 }, + { "Africa/Douala" , 0x001098 }, + { "Africa/El_Aaiun" , 0x0010ED }, + { "Africa/Freetown" , 0x001318 }, + { "Africa/Gaborone" , 0x001427 }, + { "Africa/Harare" , 0x001494 }, + { "Africa/Johannesburg" , 0x0014E9 }, + { "Africa/Juba" , 0x001557 }, + { "Africa/Kampala" , 0x00166A }, + { "Africa/Khartoum" , 0x0016E9 }, + { "Africa/Kigali" , 0x0017FC }, + { "Africa/Kinshasa" , 0x001851 }, + { "Africa/Lagos" , 0x0018AC }, + { "Africa/Libreville" , 0x001901 }, + { "Africa/Lome" , 0x001956 }, + { "Africa/Luanda" , 0x00199A }, + { "Africa/Lubumbashi" , 0x0019EF }, + { "Africa/Lusaka" , 0x001A4A }, + { "Africa/Malabo" , 0x001A9F }, + { "Africa/Maputo" , 0x001B05 }, + { "Africa/Maseru" , 0x001B5A }, + { "Africa/Mbabane" , 0x001BC2 }, + { "Africa/Mogadishu" , 0x001C18 }, + { "Africa/Monrovia" , 0x001C73 }, + { "Africa/Nairobi" , 0x001CD9 }, + { "Africa/Ndjamena" , 0x001D58 }, + { "Africa/Niamey" , 0x001DC4 }, + { "Africa/Nouakchott" , 0x001E37 }, + { "Africa/Ouagadougou" , 0x001EA2 }, + { "Africa/Porto-Novo" , 0x001EF7 }, + { "Africa/Sao_Tome" , 0x001F5D }, + { "Africa/Timbuktu" , 0x001FB2 }, + { "Africa/Tripoli" , 0x00201D }, + { "Africa/Tunis" , 0x002126 }, + { "Africa/Windhoek" , 0x002238 }, + { "America/Adak" , 0x00247F }, + { "America/Anchorage" , 0x0027F5 }, + { "America/Anguilla" , 0x002B69 }, + { "America/Antigua" , 0x002BBE }, + { "America/Araguaina" , 0x002C24 }, + { "America/Argentina/Buenos_Aires" , 0x002D89 }, + { "America/Argentina/Catamarca" , 0x002F37 }, + { "America/Argentina/ComodRivadavia" , 0x0030F8 }, + { "America/Argentina/Cordoba" , 0x00329E }, + { "America/Argentina/Jujuy" , 0x003473 }, + { "America/Argentina/La_Rioja" , 0x003627 }, + { "America/Argentina/Mendoza" , 0x0037DF }, + { "America/Argentina/Rio_Gallegos" , 0x00399F }, + { "America/Argentina/Salta" , 0x003B54 }, + { "America/Argentina/San_Juan" , 0x003D00 }, + { "America/Argentina/San_Luis" , 0x003EB8 }, + { "America/Argentina/Tucuman" , 0x00407E }, + { "America/Argentina/Ushuaia" , 0x00423A }, + { "America/Aruba" , 0x0043F5 }, + { "America/Asuncion" , 0x00445B }, + { "America/Atikokan" , 0x004740 }, + { "America/Atka" , 0x004816 }, + { "America/Bahia" , 0x004B7C }, + { "America/Bahia_Banderas" , 0x004D0F }, + { "America/Barbados" , 0x004F88 }, + { "America/Belem" , 0x005022 }, + { "America/Belize" , 0x00511D }, + { "America/Blanc-Sablon" , 0x005299 }, + { "America/Boa_Vista" , 0x00534D }, + { "America/Bogota" , 0x005456 }, + { "America/Boise" , 0x0054C2 }, + { "America/Buenos_Aires" , 0x005859 }, + { "America/Cambridge_Bay" , 0x0059F2 }, + { "America/Campo_Grande" , 0x005D1A }, + { "America/Cancun" , 0x006009 }, + { "America/Caracas" , 0x00624B }, + { "America/Catamarca" , 0x0062B2 }, + { "America/Cayenne" , 0x006458 }, + { "America/Cayman" , 0x0064BA }, + { "America/Chicago" , 0x00650F }, + { "America/Chihuahua" , 0x006A26 }, + { "America/Coral_Harbour" , 0x006C91 }, + { "America/Cordoba" , 0x006D23 }, + { "America/Costa_Rica" , 0x006EC9 }, + { "America/Creston" , 0x006F53 }, + { "America/Cuiaba" , 0x006FDF }, + { "America/Curacao" , 0x0072BD }, + { "America/Danmarkshavn" , 0x007323 }, + { "America/Dawson" , 0x007467 }, + { "America/Dawson_Creek" , 0x007784 }, + { "America/Denver" , 0x00795E }, + { "America/Detroit" , 0x007CE4 }, + { "America/Dominica" , 0x008043 }, + { "America/Edmonton" , 0x008098 }, + { "America/Eirunepe" , 0x008450 }, + { "America/El_Salvador" , 0x008568 }, + { "America/Ensenada" , 0x0085DD }, + { "America/Fort_Wayne" , 0x008A84 }, + { "America/Fortaleza" , 0x008946 }, + { "America/Glace_Bay" , 0x008CEE }, + { "America/Godthab" , 0x009065 }, + { "America/Goose_Bay" , 0x009329 }, + { "America/Grand_Turk" , 0x0097E6 }, + { "America/Grenada" , 0x009A95 }, + { "America/Guadeloupe" , 0x009AEA }, + { "America/Guatemala" , 0x009B3F }, + { "America/Guayaquil" , 0x009BC8 }, + { "America/Guyana" , 0x009C25 }, + { "America/Halifax" , 0x009CA6 }, + { "America/Havana" , 0x00A1BC }, + { "America/Hermosillo" , 0x00A52F }, + { "America/Indiana/Indianapolis" , 0x00A60D }, + { "America/Indiana/Knox" , 0x00A89E }, + { "America/Indiana/Marengo" , 0x00AC35 }, + { "America/Indiana/Petersburg" , 0x00AEDB }, + { "America/Indiana/Tell_City" , 0x00B428 }, + { "America/Indiana/Vevay" , 0x00B6C1 }, + { "America/Indiana/Vincennes" , 0x00B8FC }, + { "America/Indiana/Winamac" , 0x00BBB0 }, + { "America/Indianapolis" , 0x00B1BE }, + { "America/Inuvik" , 0x00BE69 }, + { "America/Iqaluit" , 0x00C160 }, + { "America/Jamaica" , 0x00C482 }, + { "America/Jujuy" , 0x00C547 }, + { "America/Juneau" , 0x00C6F1 }, + { "America/Kentucky/Louisville" , 0x00CA6F }, + { "America/Kentucky/Monticello" , 0x00CE8D }, + { "America/Knox_IN" , 0x00D212 }, + { "America/Kralendijk" , 0x00D583 }, + { "America/La_Paz" , 0x00D5E9 }, + { "America/Lima" , 0x00D650 }, + { "America/Los_Angeles" , 0x00D6F8 }, + { "America/Louisville" , 0x00DB09 }, + { "America/Lower_Princes" , 0x00DEFE }, + { "America/Maceio" , 0x00DF64 }, + { "America/Managua" , 0x00E09E }, + { "America/Manaus" , 0x00E151 }, + { "America/Marigot" , 0x00E253 }, + { "America/Martinique" , 0x00E2A8 }, + { "America/Matamoros" , 0x00E314 }, + { "America/Mazatlan" , 0x00E56D }, + { "America/Mendoza" , 0x00E7DA }, + { "America/Menominee" , 0x00E98E }, + { "America/Merida" , 0x00ED0F }, + { "America/Metlakatla" , 0x00EF4A }, + { "America/Mexico_City" , 0x00F084 }, + { "America/Miquelon" , 0x00F2FF }, + { "America/Moncton" , 0x00F571 }, + { "America/Monterrey" , 0x00FA08 }, + { "America/Montevideo" , 0x00FC6B }, + { "America/Montreal" , 0x00FF7D }, + { "America/Montserrat" , 0x01046D }, + { "America/Nassau" , 0x0104C2 }, + { "America/New_York" , 0x010807 }, + { "America/Nipigon" , 0x010D12 }, + { "America/Nome" , 0x011063 }, + { "America/Noronha" , 0x0113E1 }, + { "America/North_Dakota/Beulah" , 0x011511 }, + { "America/North_Dakota/Center" , 0x0118A5 }, + { "America/North_Dakota/New_Salem" , 0x011C39 }, + { "America/Ojinaga" , 0x011FE2 }, + { "America/Panama" , 0x012243 }, + { "America/Pangnirtung" , 0x012298 }, + { "America/Paramaribo" , 0x0125CE }, + { "America/Phoenix" , 0x012660 }, + { "America/Port-au-Prince" , 0x01271E }, + { "America/Port_of_Spain" , 0x012A42 }, + { "America/Porto_Acre" , 0x01293E }, + { "America/Porto_Velho" , 0x012A97 }, + { "America/Puerto_Rico" , 0x012B8D }, + { "America/Rainy_River" , 0x012BF8 }, + { "America/Rankin_Inlet" , 0x012F30 }, + { "America/Recife" , 0x013216 }, + { "America/Regina" , 0x013340 }, + { "America/Resolute" , 0x0134FE }, + { "America/Rio_Branco" , 0x0137EF }, + { "America/Rosario" , 0x0138F7 }, + { "America/Santa_Isabel" , 0x013A9D }, + { "America/Santarem" , 0x013E40 }, + { "America/Santiago" , 0x013F45 }, + { "America/Santo_Domingo" , 0x0142EE }, + { "America/Sao_Paulo" , 0x0143B4 }, + { "America/Scoresbysund" , 0x0146C3 }, + { "America/Shiprock" , 0x0149B1 }, + { "America/Sitka" , 0x014D2A }, + { "America/St_Barthelemy" , 0x0150B2 }, + { "America/St_Johns" , 0x015107 }, + { "America/St_Kitts" , 0x01565A }, + { "America/St_Lucia" , 0x0156AF }, + { "America/St_Thomas" , 0x015704 }, + { "America/St_Vincent" , 0x015759 }, + { "America/Swift_Current" , 0x0157AE }, + { "America/Tegucigalpa" , 0x0158CF }, + { "America/Thule" , 0x01594E }, + { "America/Thunder_Bay" , 0x015B95 }, + { "America/Tijuana" , 0x015EDE }, + { "America/Toronto" , 0x016277 }, + { "America/Tortola" , 0x016797 }, + { "America/Vancouver" , 0x0167EC }, + { "America/Virgin" , 0x016C29 }, + { "America/Whitehorse" , 0x016C7E }, + { "America/Winnipeg" , 0x016F9B }, + { "America/Yakutat" , 0x0173DB }, + { "America/Yellowknife" , 0x017746 }, + { "Antarctica/Casey" , 0x017A56 }, + { "Antarctica/Davis" , 0x017AF3 }, + { "Antarctica/DumontDUrville" , 0x017B94 }, + { "Antarctica/Macquarie" , 0x017C26 }, + { "Antarctica/Mawson" , 0x017E6D }, + { "Antarctica/McMurdo" , 0x017EE9 }, + { "Antarctica/Palmer" , 0x018294 }, + { "Antarctica/Rothera" , 0x0185B0 }, + { "Antarctica/South_Pole" , 0x018626 }, + { "Antarctica/Syowa" , 0x0189A4 }, + { "Antarctica/Troll" , 0x018A12 }, + { "Antarctica/Vostok" , 0x018BE4 }, + { "Arctic/Longyearbyen" , 0x018C55 }, + { "Asia/Aden" , 0x018F87 }, + { "Asia/Almaty" , 0x018FDC }, + { "Asia/Amman" , 0x01915B }, + { "Asia/Anadyr" , 0x019411 }, + { "Asia/Aqtau" , 0x0195F6 }, + { "Asia/Aqtobe" , 0x0197F5 }, + { "Asia/Ashgabat" , 0x0199AD }, + { "Asia/Ashkhabad" , 0x019ACA }, + { "Asia/Baghdad" , 0x019BE7 }, + { "Asia/Bahrain" , 0x019D5C }, + { "Asia/Baku" , 0x019DC2 }, + { "Asia/Bangkok" , 0x01A0AA }, + { "Asia/Beirut" , 0x01A0FF }, + { "Asia/Bishkek" , 0x01A40C }, + { "Asia/Brunei" , 0x01A5B8 }, + { "Asia/Calcutta" , 0x01A61A }, + { "Asia/Choibalsan" , 0x01A693 }, + { "Asia/Chongqing" , 0x01A80C }, + { "Asia/Chungking" , 0x01A8FB }, + { "Asia/Colombo" , 0x01A9AA }, + { "Asia/Dacca" , 0x01AA46 }, + { "Asia/Damascus" , 0x01AAEC }, + { "Asia/Dhaka" , 0x01AE3C }, + { "Asia/Dili" , 0x01AEE2 }, + { "Asia/Dubai" , 0x01AF6C }, + { "Asia/Dushanbe" , 0x01AFC1 }, + { "Asia/Gaza" , 0x01B0C4 }, + { "Asia/Harbin" , 0x01B417 }, + { "Asia/Hebron" , 0x01B4FE }, + { "Asia/Ho_Chi_Minh" , 0x01B85A }, + { "Asia/Hong_Kong" , 0x01B8D2 }, + { "Asia/Hovd" , 0x01BA94 }, + { "Asia/Irkutsk" , 0x01BC0C }, + { "Asia/Istanbul" , 0x01BDF2 }, + { "Asia/Jakarta" , 0x01C1DF }, + { "Asia/Jayapura" , 0x01C289 }, + { "Asia/Jerusalem" , 0x01C325 }, + { "Asia/Kabul" , 0x01C654 }, + { "Asia/Kamchatka" , 0x01C6A5 }, + { "Asia/Karachi" , 0x01C881 }, + { "Asia/Kashgar" , 0x01C936 }, + { "Asia/Kathmandu" , 0x01CA07 }, + { "Asia/Katmandu" , 0x01CA6D }, + { "Asia/Khandyga" , 0x01CAD3 }, + { "Asia/Kolkata" , 0x01CCF8 }, + { "Asia/Krasnoyarsk" , 0x01CD71 }, + { "Asia/Kuala_Lumpur" , 0x01CF59 }, + { "Asia/Kuching" , 0x01D016 }, + { "Asia/Kuwait" , 0x01D104 }, + { "Asia/Macao" , 0x01D159 }, + { "Asia/Macau" , 0x01D294 }, + { "Asia/Magadan" , 0x01D3CF }, + { "Asia/Makassar" , 0x01D5B1 }, + { "Asia/Manila" , 0x01D676 }, + { "Asia/Muscat" , 0x01D6FB }, + { "Asia/Nicosia" , 0x01D750 }, + { "Asia/Novokuznetsk" , 0x01DA38 }, + { "Asia/Novosibirsk" , 0x01DC3A }, + { "Asia/Omsk" , 0x01DE25 }, + { "Asia/Oral" , 0x01E00C }, + { "Asia/Phnom_Penh" , 0x01E1DC }, + { "Asia/Pontianak" , 0x01E254 }, + { "Asia/Pyongyang" , 0x01E316 }, + { "Asia/Qatar" , 0x01E383 }, + { "Asia/Qyzylorda" , 0x01E3E9 }, + { "Asia/Rangoon" , 0x01E5BF }, + { "Asia/Riyadh" , 0x01E637 }, + { "Asia/Saigon" , 0x01E68C }, + { "Asia/Sakhalin" , 0x01E704 }, + { "Asia/Samarkand" , 0x01E8FB }, + { "Asia/Seoul" , 0x01EA31 }, + { "Asia/Shanghai" , 0x01EAD5 }, + { "Asia/Singapore" , 0x01EBB5 }, + { "Asia/Taipei" , 0x01EC6C }, + { "Asia/Tashkent" , 0x01ED84 }, + { "Asia/Tbilisi" , 0x01EEB5 }, + { "Asia/Tehran" , 0x01F06F }, + { "Asia/Tel_Aviv" , 0x01F2DD }, + { "Asia/Thimbu" , 0x01F60C }, + { "Asia/Thimphu" , 0x01F672 }, + { "Asia/Tokyo" , 0x01F6D8 }, + { "Asia/Ujung_Pandang" , 0x01F761 }, + { "Asia/Ulaanbaatar" , 0x01F7DE }, + { "Asia/Ulan_Bator" , 0x01F939 }, + { "Asia/Urumqi" , 0x01FA86 }, + { "Asia/Ust-Nera" , 0x01FB4D }, + { "Asia/Vientiane" , 0x01FD52 }, + { "Asia/Vladivostok" , 0x01FDCA }, + { "Asia/Yakutsk" , 0x01FFAF }, + { "Asia/Yekaterinburg" , 0x020194 }, + { "Asia/Yerevan" , 0x02039F }, + { "Atlantic/Azores" , 0x02059F }, + { "Atlantic/Bermuda" , 0x020AA2 }, + { "Atlantic/Canary" , 0x020D83 }, + { "Atlantic/Cape_Verde" , 0x021059 }, + { "Atlantic/Faeroe" , 0x0210D2 }, + { "Atlantic/Faroe" , 0x021376 }, + { "Atlantic/Jan_Mayen" , 0x02161A }, + { "Atlantic/Madeira" , 0x02194C }, + { "Atlantic/Reykjavik" , 0x021E55 }, + { "Atlantic/South_Georgia" , 0x02200E }, + { "Atlantic/St_Helena" , 0x022220 }, + { "Atlantic/Stanley" , 0x022052 }, + { "Australia/ACT" , 0x022275 }, + { "Australia/Adelaide" , 0x022592 }, + { "Australia/Brisbane" , 0x0228BE }, + { "Australia/Broken_Hill" , 0x022985 }, + { "Australia/Canberra" , 0x022CC3 }, + { "Australia/Currie" , 0x022FE0 }, + { "Australia/Darwin" , 0x023313 }, + { "Australia/Eucla" , 0x023399 }, + { "Australia/Hobart" , 0x02346E }, + { "Australia/LHI" , 0x0237CC }, + { "Australia/Lindeman" , 0x023A67 }, + { "Australia/Lord_Howe" , 0x023B48 }, + { "Australia/Melbourne" , 0x023DF3 }, + { "Australia/North" , 0x024118 }, + { "Australia/NSW" , 0x02418C }, + { "Australia/Perth" , 0x0244A9 }, + { "Australia/Queensland" , 0x024581 }, + { "Australia/South" , 0x02462D }, + { "Australia/Sydney" , 0x02494A }, + { "Australia/Tasmania" , 0x024C87 }, + { "Australia/Victoria" , 0x024FCC }, + { "Australia/West" , 0x0252E9 }, + { "Australia/Yancowinna" , 0x02539F }, + { "Brazil/Acre" , 0x0256C1 }, + { "Brazil/DeNoronha" , 0x0257C5 }, + { "Brazil/East" , 0x0258E5 }, + { "Brazil/West" , 0x025BC2 }, + { "Canada/Atlantic" , 0x025CBA }, + { "Canada/Central" , 0x0261A2 }, + { "Canada/East-Saskatchewan" , 0x026AAC }, + { "Canada/Eastern" , 0x0265BC }, + { "Canada/Mountain" , 0x026C35 }, + { "Canada/Newfoundland" , 0x026FAB }, + { "Canada/Pacific" , 0x0274D6 }, + { "Canada/Saskatchewan" , 0x0278EF }, + { "Canada/Yukon" , 0x027A78 }, + { "CET" , 0x027D7B }, + { "Chile/Continental" , 0x028084 }, + { "Chile/EasterIsland" , 0x02841F }, + { "CST6CDT" , 0x028761 }, + { "Cuba" , 0x028AB2 }, + { "EET" , 0x028E25 }, + { "Egypt" , 0x0290D8 }, + { "Eire" , 0x0294BF }, + { "EST" , 0x0299D0 }, + { "EST5EDT" , 0x029A14 }, + { "Etc/GMT" , 0x029D65 }, + { "Etc/GMT+0" , 0x029E31 }, + { "Etc/GMT+1" , 0x029EBB }, + { "Etc/GMT+10" , 0x029F48 }, + { "Etc/GMT+11" , 0x029FD6 }, + { "Etc/GMT+12" , 0x02A064 }, + { "Etc/GMT+2" , 0x02A17F }, + { "Etc/GMT+3" , 0x02A20B }, + { "Etc/GMT+4" , 0x02A297 }, + { "Etc/GMT+5" , 0x02A323 }, + { "Etc/GMT+6" , 0x02A3AF }, + { "Etc/GMT+7" , 0x02A43B }, + { "Etc/GMT+8" , 0x02A4C7 }, + { "Etc/GMT+9" , 0x02A553 }, + { "Etc/GMT-0" , 0x029DED }, + { "Etc/GMT-1" , 0x029E75 }, + { "Etc/GMT-10" , 0x029F01 }, + { "Etc/GMT-11" , 0x029F8F }, + { "Etc/GMT-12" , 0x02A01D }, + { "Etc/GMT-13" , 0x02A0AB }, + { "Etc/GMT-14" , 0x02A0F2 }, + { "Etc/GMT-2" , 0x02A139 }, + { "Etc/GMT-3" , 0x02A1C5 }, + { "Etc/GMT-4" , 0x02A251 }, + { "Etc/GMT-5" , 0x02A2DD }, + { "Etc/GMT-6" , 0x02A369 }, + { "Etc/GMT-7" , 0x02A3F5 }, + { "Etc/GMT-8" , 0x02A481 }, + { "Etc/GMT-9" , 0x02A50D }, + { "Etc/GMT0" , 0x029DA9 }, + { "Etc/Greenwich" , 0x02A599 }, + { "Etc/UCT" , 0x02A5DD }, + { "Etc/Universal" , 0x02A621 }, + { "Etc/UTC" , 0x02A665 }, + { "Etc/Zulu" , 0x02A6A9 }, + { "Europe/Amsterdam" , 0x02A6ED }, + { "Europe/Andorra" , 0x02AB2B }, + { "Europe/Athens" , 0x02ADA7 }, + { "Europe/Belfast" , 0x02B0EA }, + { "Europe/Belgrade" , 0x02B621 }, + { "Europe/Berlin" , 0x02B8EA }, + { "Europe/Bratislava" , 0x02BC4E }, + { "Europe/Brussels" , 0x02BF80 }, + { "Europe/Bucharest" , 0x02C3B7 }, + { "Europe/Budapest" , 0x02C6E1 }, + { "Europe/Busingen" , 0x02CA54 }, + { "Europe/Chisinau" , 0x02CD0B }, + { "Europe/Copenhagen" , 0x02D099 }, + { "Europe/Dublin" , 0x02D3A3 }, + { "Europe/Gibraltar" , 0x02D8B4 }, + { "Europe/Guernsey" , 0x02DD0B }, + { "Europe/Helsinki" , 0x02E242 }, + { "Europe/Isle_of_Man" , 0x02E4F8 }, + { "Europe/Istanbul" , 0x02EA2F }, + { "Europe/Jersey" , 0x02EE1C }, + { "Europe/Kaliningrad" , 0x02F353 }, + { "Europe/Kiev" , 0x02F5B9 }, + { "Europe/Lisbon" , 0x02F8D5 }, + { "Europe/Ljubljana" , 0x02FDD9 }, + { "Europe/London" , 0x0300A2 }, + { "Europe/Luxembourg" , 0x0305D9 }, + { "Europe/Madrid" , 0x030A2F }, + { "Europe/Malta" , 0x030DF5 }, + { "Europe/Mariehamn" , 0x0311AE }, + { "Europe/Minsk" , 0x031464 }, + { "Europe/Monaco" , 0x031672 }, + { "Europe/Moscow" , 0x031AAD }, + { "Europe/Nicosia" , 0x031D02 }, + { "Europe/Oslo" , 0x031FEA }, + { "Europe/Paris" , 0x03231C }, + { "Europe/Podgorica" , 0x032762 }, + { "Europe/Prague" , 0x032A2B }, + { "Europe/Riga" , 0x032D5D }, + { "Europe/Rome" , 0x0330A2 }, + { "Europe/Samara" , 0x033465 }, + { "Europe/San_Marino" , 0x033698 }, + { "Europe/Sarajevo" , 0x033A5B }, + { "Europe/Simferopol" , 0x033D24 }, + { "Europe/Skopje" , 0x033F70 }, + { "Europe/Sofia" , 0x034239 }, + { "Europe/Stockholm" , 0x034541 }, + { "Europe/Tallinn" , 0x0347F0 }, + { "Europe/Tirane" , 0x034B2A }, + { "Europe/Tiraspol" , 0x034E30 }, + { "Europe/Uzhgorod" , 0x0351BE }, + { "Europe/Vaduz" , 0x0354D5 }, + { "Europe/Vatican" , 0x035784 }, + { "Europe/Vienna" , 0x035B47 }, + { "Europe/Vilnius" , 0x035E74 }, + { "Europe/Volgograd" , 0x0361B3 }, + { "Europe/Warsaw" , 0x0363B3 }, + { "Europe/Zagreb" , 0x036794 }, + { "Europe/Zaporozhye" , 0x036A5D }, + { "Europe/Zurich" , 0x036D9E }, + { "Factory" , 0x03704D }, + { "GB" , 0x0370BE }, + { "GB-Eire" , 0x0375F5 }, + { "GMT" , 0x037B2C }, + { "GMT+0" , 0x037BF8 }, + { "GMT-0" , 0x037BB4 }, + { "GMT0" , 0x037B70 }, + { "Greenwich" , 0x037C3C }, + { "Hongkong" , 0x037C80 }, + { "HST" , 0x037E42 }, + { "Iceland" , 0x037E86 }, + { "Indian/Antananarivo" , 0x03803F }, + { "Indian/Chagos" , 0x0380B3 }, + { "Indian/Christmas" , 0x038115 }, + { "Indian/Cocos" , 0x038159 }, + { "Indian/Comoro" , 0x03819D }, + { "Indian/Kerguelen" , 0x0381F2 }, + { "Indian/Mahe" , 0x038247 }, + { "Indian/Maldives" , 0x03829C }, + { "Indian/Mauritius" , 0x0382F1 }, + { "Indian/Mayotte" , 0x038367 }, + { "Indian/Reunion" , 0x0383BC }, + { "Iran" , 0x038411 }, + { "Israel" , 0x03867F }, + { "Jamaica" , 0x0389AE }, + { "Japan" , 0x038A73 }, + { "Kwajalein" , 0x038AFC }, + { "Libya" , 0x038B5F }, + { "MET" , 0x038C68 }, + { "Mexico/BajaNorte" , 0x038F71 }, + { "Mexico/BajaSur" , 0x0392DA }, + { "Mexico/General" , 0x03951F }, + { "MST" , 0x03977D }, + { "MST7MDT" , 0x0397C1 }, + { "Navajo" , 0x039B12 }, + { "NZ" , 0x039E8B }, + { "NZ-CHAT" , 0x03A209 }, + { "Pacific/Apia" , 0x03A4F1 }, + { "Pacific/Auckland" , 0x03A68D }, + { "Pacific/Chatham" , 0x03AA19 }, + { "Pacific/Chuuk" , 0x03AD10 }, + { "Pacific/Easter" , 0x03AD69 }, + { "Pacific/Efate" , 0x03B0C7 }, + { "Pacific/Enderbury" , 0x03B18D }, + { "Pacific/Fakaofo" , 0x03B1FB }, + { "Pacific/Fiji" , 0x03B24C }, + { "Pacific/Funafuti" , 0x03B3DF }, + { "Pacific/Galapagos" , 0x03B423 }, + { "Pacific/Gambier" , 0x03B49B }, + { "Pacific/Guadalcanal" , 0x03B500 }, + { "Pacific/Guam" , 0x03B555 }, + { "Pacific/Honolulu" , 0x03B5AB }, + { "Pacific/Johnston" , 0x03B622 }, + { "Pacific/Kiritimati" , 0x03B6A1 }, + { "Pacific/Kosrae" , 0x03B70C }, + { "Pacific/Kwajalein" , 0x03B769 }, + { "Pacific/Majuro" , 0x03B7D5 }, + { "Pacific/Marquesas" , 0x03B834 }, + { "Pacific/Midway" , 0x03B89B }, + { "Pacific/Nauru" , 0x03B925 }, + { "Pacific/Niue" , 0x03B99D }, + { "Pacific/Norfolk" , 0x03B9FB }, + { "Pacific/Noumea" , 0x03BA50 }, + { "Pacific/Pago_Pago" , 0x03BAE0 }, + { "Pacific/Palau" , 0x03BB69 }, + { "Pacific/Pitcairn" , 0x03BBAD }, + { "Pacific/Pohnpei" , 0x03BC02 }, + { "Pacific/Ponape" , 0x03BC57 }, + { "Pacific/Port_Moresby" , 0x03BC9C }, + { "Pacific/Rarotonga" , 0x03BCE0 }, + { "Pacific/Saipan" , 0x03BDBC }, + { "Pacific/Samoa" , 0x03BE1F }, + { "Pacific/Tahiti" , 0x03BEA8 }, + { "Pacific/Tarawa" , 0x03BF0D }, + { "Pacific/Tongatapu" , 0x03BF61 }, + { "Pacific/Truk" , 0x03BFED }, + { "Pacific/Wake" , 0x03C032 }, + { "Pacific/Wallis" , 0x03C082 }, + { "Pacific/Yap" , 0x03C0C6 }, + { "Poland" , 0x03C10B }, + { "Portugal" , 0x03C4EC }, + { "PRC" , 0x03C9E8 }, + { "PST8PDT" , 0x03CA99 }, + { "ROC" , 0x03CDEA }, + { "ROK" , 0x03CF02 }, + { "Singapore" , 0x03CFA6 }, + { "Turkey" , 0x03D05D }, + { "UCT" , 0x03D44A }, + { "Universal" , 0x03D48E }, + { "US/Alaska" , 0x03D4D2 }, + { "US/Aleutian" , 0x03D83B }, + { "US/Arizona" , 0x03DBA1 }, + { "US/Central" , 0x03DC2F }, + { "US/East-Indiana" , 0x03E639 }, + { "US/Eastern" , 0x03E13A }, + { "US/Hawaii" , 0x03E8A3 }, + { "US/Indiana-Starke" , 0x03E914 }, + { "US/Michigan" , 0x03EC85 }, + { "US/Mountain" , 0x03EFBC }, + { "US/Pacific" , 0x03F335 }, + { "US/Pacific-New" , 0x03F73A }, + { "US/Samoa" , 0x03FB3F }, + { "UTC" , 0x03FBC8 }, + { "W-SU" , 0x03FEBF }, + { "WET" , 0x03FC0C }, + { "Zulu" , 0x0400FD }, }; /* This is a generated file, do not modify */ -const unsigned char timelib_timezone_db_data_builtin[262480] = { +const unsigned char timelib_timezone_db_data_builtin[262465] = { /* Africa/Abidjan */ @@ -711,8 +711,8 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { /* Africa/Cairo */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x45, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xC8, 0x93, 0xB4, 0xE0, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0xC8, 0x93, 0xB4, 0xE0, 0xC8, 0xFA, 0x7B, 0xD0, 0xC9, 0xFC, 0xEF, 0xE0, 0xCA, 0xC7, 0xE8, 0xD0, 0xCB, 0xCB, 0xAE, 0x60, 0xCC, 0xDF, 0x29, 0xD0, 0xCD, 0xAC, 0xE1, 0xE0, 0xCE, 0xC6, 0xF4, 0xD0, 0xCF, 0x8F, 0x66, 0xE0, 0xD0, 0xA9, 0x79, 0xD0, 0xD1, 0x84, 0x60, 0xE0, 0xD2, 0x8A, 0xAD, 0x50, 0xE8, 0x36, 0x63, 0x60, @@ -743,14 +743,14 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { 0x43, 0x3C, 0x55, 0xD0, 0x44, 0x51, 0x3E, 0xE0, 0x45, 0x12, 0xFD, 0x50, 0x46, 0x31, 0x20, 0xE0, 0x46, 0xE0, 0x6A, 0x50, 0x48, 0x11, 0x02, 0xE0, 0x48, 0xB7, 0x11, 0xD0, 0x49, 0xF0, 0xE4, 0xE0, 0x4A, 0x8D, 0xB9, 0x50, 0x4B, 0xDA, 0x01, 0x60, 0x4C, 0x61, 0xBD, 0xD0, 0x4C, 0x89, 0x58, 0xE0, -0x4C, 0xA4, 0xFA, 0x50, 0x53, 0x75, 0x38, 0xE0, 0x53, 0xAF, 0x3A, 0xE0, 0x53, 0xD6, 0xC7, 0xE0, -0x54, 0x24, 0x82, 0x50, 0x55, 0x39, 0x6B, 0x60, 0x55, 0x81, 0xED, 0xE0, 0x55, 0xA9, 0x7A, 0xE0, -0x56, 0x04, 0x64, 0x50, 0x57, 0x22, 0x87, 0xE0, 0x57, 0x55, 0xF2, 0x60, 0x57, 0x7D, 0x7F, 0x60, -0x57, 0xED, 0x80, 0xD0, 0x59, 0x02, 0x69, 0xE0, 0x59, 0x28, 0xA5, 0x60, 0x59, 0x50, 0x32, 0x60, -0x59, 0xCD, 0x62, 0xD0, 0x5A, 0xE2, 0x4B, 0xE0, 0x5A, 0xFB, 0x58, 0x60, 0x5B, 0x22, 0xE5, 0x60, -0x5B, 0xAD, 0x44, 0xD0, 0x5C, 0xC2, 0x2D, 0xE0, 0x5C, 0xCF, 0x5C, 0xE0, 0x5C, 0xF6, 0xE9, 0xE0, -0x5D, 0x8D, 0x26, 0xD0, 0x5E, 0xC9, 0x9C, 0xE0, 0x5F, 0x6D, 0x08, 0xD0, 0x60, 0x9C, 0x4F, 0xE0, -0x61, 0x56, 0x25, 0x50, 0x62, 0x70, 0x54, 0x60, 0x63, 0x36, 0x07, 0x50, 0x64, 0x4A, 0xF0, 0x60, +0x4C, 0xA4, 0xFA, 0x50, 0x53, 0x75, 0x38, 0xE0, 0x53, 0xAC, 0x89, 0xD0, 0x53, 0xDA, 0xBC, 0x60, +0x54, 0x24, 0x82, 0x50, 0x55, 0x39, 0x6B, 0x60, 0x55, 0x79, 0xF6, 0xD0, 0x55, 0xB1, 0x63, 0xE0, +0x56, 0x04, 0x64, 0x50, 0x57, 0x22, 0x87, 0xE0, 0x57, 0x50, 0x9E, 0x50, 0x57, 0x7E, 0xD0, 0xE0, +0x57, 0xED, 0x80, 0xD0, 0x59, 0x02, 0x69, 0xE0, 0x59, 0x27, 0x45, 0xD0, 0x59, 0x55, 0x78, 0x60, +0x59, 0xCD, 0x62, 0xD0, 0x5A, 0xE2, 0x4B, 0xE0, 0x5A, 0xF4, 0xB2, 0xD0, 0x5B, 0x22, 0xE5, 0x60, +0x5B, 0xAD, 0x44, 0xD0, 0x5C, 0xC2, 0x2D, 0xE0, 0x5C, 0xCB, 0x5A, 0x50, 0x5C, 0xF9, 0x8C, 0xE0, +0x5D, 0x8D, 0x26, 0xD0, 0x5E, 0xD0, 0x34, 0x60, 0x5F, 0x6D, 0x08, 0xD0, 0x60, 0x9D, 0xA1, 0x60, +0x61, 0x56, 0x25, 0x50, 0x62, 0x74, 0x48, 0xE0, 0x63, 0x36, 0x07, 0x50, 0x64, 0x4A, 0xF0, 0x60, 0x65, 0x15, 0xE9, 0x50, 0x66, 0x2A, 0xD2, 0x60, 0x66, 0xF5, 0xCB, 0x50, 0x68, 0x0A, 0xB4, 0x60, 0x68, 0xD5, 0xAD, 0x50, 0x69, 0xEA, 0x96, 0x60, 0x6A, 0xB5, 0x8F, 0x50, 0x6B, 0xD3, 0xB2, 0xE0, 0x6C, 0x9E, 0xAB, 0xD0, 0x6D, 0xB3, 0x94, 0xE0, 0x6E, 0x7E, 0x8D, 0xD0, 0x6F, 0x93, 0x76, 0xE0, @@ -763,16 +763,16 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, -0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, -0x00, 0x00, 0x1C, 0x20, 0x00, 0x05, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x20, -0x00, 0x05, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0xB7, 0x2E, 0x88, 0x01, 0x42, 0x57, 0x88, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x01, 0x00, 0x01, +0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x01, +0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, +0x00, 0x00, 0x1C, 0x20, 0x00, 0x05, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, 0x45, 0x45, 0x53, 0x54, +0x00, 0x45, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x2E, 0x88, 0x01, +0x42, 0x57, 0x88, 0x00, 0x00, 0x00, 0x00, /* Africa/Casablanca */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -786,23 +786,23 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { 0x4A, 0x23, 0x1A, 0x00, 0x4A, 0x8D, 0xD5, 0x70, 0x4B, 0xDC, 0xC0, 0x80, 0x4C, 0x5D, 0xE5, 0x70, 0x4D, 0x97, 0xB8, 0x80, 0x4E, 0x34, 0x8C, 0xF0, 0x4F, 0x9C, 0xA0, 0xA0, 0x50, 0x08, 0xBB, 0xA0, 0x50, 0x31, 0x9A, 0x20, 0x50, 0x67, 0xA7, 0xA0, 0x51, 0x7C, 0x82, 0xA0, 0x51, 0xD8, 0xCB, 0xA0, -0x52, 0x05, 0x9E, 0xA0, 0x52, 0x6C, 0x73, 0xA0, 0x53, 0x37, 0x7A, 0xA0, 0x53, 0xAF, 0x73, 0x20, -0x53, 0xD7, 0x00, 0x20, 0x54, 0x4C, 0x55, 0xA0, 0x55, 0x17, 0x5C, 0xA0, 0x55, 0x82, 0x26, 0x20, -0x55, 0xA9, 0xB3, 0x20, 0x56, 0x2C, 0x37, 0xA0, 0x56, 0xF7, 0x3E, 0xA0, 0x57, 0x56, 0x2A, 0xA0, -0x57, 0x7D, 0xB7, 0xA0, 0x58, 0x15, 0x54, 0x20, 0x58, 0xD7, 0x20, 0xA0, 0x59, 0x28, 0xDD, 0xA0, -0x59, 0x50, 0x6A, 0xA0, 0x59, 0xF5, 0x36, 0x20, 0x5A, 0xB7, 0x02, 0xA0, 0x5A, 0xFB, 0x90, 0xA0, -0x5B, 0x23, 0x1D, 0xA0, 0x5B, 0xD5, 0x18, 0x20, 0x5C, 0xA0, 0x1F, 0x20, 0x5C, 0xCF, 0x95, 0x20, -0x5C, 0xF7, 0x22, 0x20, 0x5D, 0xB4, 0xFA, 0x20, 0x5E, 0x80, 0x01, 0x20, 0x5E, 0xA2, 0x48, 0x20, -0x5E, 0xC9, 0xD5, 0x20, 0x5F, 0x94, 0xDC, 0x20, 0x60, 0x5F, 0xE3, 0x20, 0x60, 0x74, 0xFB, 0x20, -0x60, 0x9C, 0x88, 0x20, 0x61, 0x7D, 0xF8, 0xA0, 0x62, 0x3F, 0xC5, 0x20, 0x62, 0x48, 0xFF, 0xA0, -0x62, 0x70, 0x8C, 0xA0, 0x63, 0x5D, 0xDA, 0xA0, 0x64, 0x43, 0x3F, 0xA0, 0x65, 0x3D, 0xBC, 0xA0, -0x66, 0x15, 0xF2, 0xA0, 0x67, 0x1D, 0x9E, 0xA0, 0x67, 0xE9, 0xF7, 0x20, 0x68, 0xFD, 0x80, 0xA0, +0x52, 0x05, 0x9E, 0xA0, 0x52, 0x6C, 0x73, 0xA0, 0x53, 0x37, 0x7A, 0xA0, 0x53, 0xAE, 0x21, 0xA0, +0x53, 0xDC, 0x46, 0x20, 0x54, 0x4C, 0x55, 0xA0, 0x55, 0x17, 0x5C, 0xA0, 0x55, 0x7B, 0x8E, 0xA0, +0x55, 0xA9, 0xB3, 0x20, 0x56, 0x2C, 0x37, 0xA0, 0x56, 0xF7, 0x3E, 0xA0, 0x57, 0x52, 0x36, 0x20, +0x57, 0x80, 0x5A, 0xA0, 0x58, 0x15, 0x54, 0x20, 0x58, 0xD7, 0x20, 0xA0, 0x59, 0x1F, 0xA3, 0x20, +0x59, 0x57, 0x02, 0x20, 0x59, 0xF5, 0x36, 0x20, 0x5A, 0xB7, 0x02, 0xA0, 0x5A, 0xF6, 0x4A, 0xA0, +0x5B, 0x24, 0x6F, 0x20, 0x5B, 0xD5, 0x18, 0x20, 0x5C, 0xA0, 0x1F, 0x20, 0x5C, 0xCC, 0xF2, 0x20, +0x5C, 0xFB, 0x16, 0xA0, 0x5D, 0xB4, 0xFA, 0x20, 0x5E, 0x80, 0x01, 0x20, 0x5E, 0x9A, 0x5F, 0x20, +0x5E, 0xD1, 0xBE, 0x20, 0x5F, 0x94, 0xDC, 0x20, 0x60, 0x5F, 0xE3, 0x20, 0x60, 0x71, 0x06, 0xA0, +0x60, 0x9F, 0x2B, 0x20, 0x61, 0x7D, 0xF8, 0xA0, 0x62, 0x3F, 0xC5, 0x20, 0x62, 0x47, 0xAE, 0x20, +0x62, 0x75, 0xD2, 0xA0, 0x63, 0x5D, 0xDA, 0xA0, 0x64, 0x43, 0x3F, 0xA0, 0x65, 0x3D, 0xBC, 0xA0, +0x66, 0x19, 0xE7, 0x20, 0x67, 0x1D, 0x9E, 0xA0, 0x67, 0xF0, 0x8E, 0xA0, 0x68, 0xFD, 0x80, 0xA0, 0x69, 0xC8, 0x87, 0xA0, 0x6A, 0xDD, 0x62, 0xA0, 0x6B, 0xA8, 0x69, 0xA0, 0x6C, 0xC6, 0x7F, 0x20, 0x6D, 0x88, 0x4B, 0xA0, 0x6E, 0xA6, 0x61, 0x20, 0x6F, 0x68, 0x2D, 0xA0, 0x70, 0x86, 0x43, 0x20, 0x71, 0x51, 0x4A, 0x20, 0x72, 0x66, 0x25, 0x20, 0x73, 0x31, 0x2C, 0x20, 0x74, 0x46, 0x07, 0x20, 0x75, 0x11, 0x0E, 0x20, 0x76, 0x2F, 0x23, 0xA0, 0x76, 0xF0, 0xF0, 0x20, 0x78, 0x0F, 0x05, 0xA0, -0x78, 0xD0, 0xD2, 0x20, 0x79, 0xEE, 0xE7, 0xA0, 0x7A, 0xB0, 0xB4, 0x20, 0x7B, 0xCE, 0xC9, 0xA0, -0x7C, 0x99, 0xD0, 0xA0, 0x7D, 0xA8, 0x14, 0x20, 0x7E, 0x79, 0xB2, 0xA0, 0x7F, 0x7C, 0x18, 0xA0, +0x78, 0xD0, 0xD2, 0x20, 0x79, 0xEE, 0xE7, 0xA0, 0x7A, 0xB0, 0xB4, 0x20, 0x7B, 0xCD, 0x78, 0x20, +0x7C, 0x99, 0xD0, 0xA0, 0x7D, 0xA4, 0x1F, 0xA0, 0x7E, 0x79, 0xB2, 0xA0, 0x7F, 0x7A, 0xC7, 0x20, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, @@ -919,23 +919,23 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { 0x4C, 0x5D, 0xE5, 0x70, 0x4D, 0x97, 0xB8, 0x80, 0x4E, 0x34, 0x8C, 0xF0, 0x4F, 0x9C, 0xA0, 0xA0, 0x50, 0x08, 0xBB, 0xA0, 0x50, 0x31, 0x9A, 0x20, 0x50, 0x67, 0xA7, 0xA0, 0x51, 0x7C, 0x82, 0xA0, 0x51, 0xD8, 0xCB, 0xA0, 0x52, 0x05, 0x9E, 0xA0, 0x52, 0x6C, 0x73, 0xA0, 0x53, 0x37, 0x7A, 0xA0, -0x53, 0xAF, 0x73, 0x20, 0x53, 0xD7, 0x00, 0x20, 0x54, 0x4C, 0x55, 0xA0, 0x55, 0x17, 0x5C, 0xA0, -0x55, 0x82, 0x26, 0x20, 0x55, 0xA9, 0xB3, 0x20, 0x56, 0x2C, 0x37, 0xA0, 0x56, 0xF7, 0x3E, 0xA0, -0x57, 0x56, 0x2A, 0xA0, 0x57, 0x7D, 0xB7, 0xA0, 0x58, 0x15, 0x54, 0x20, 0x58, 0xD7, 0x20, 0xA0, -0x59, 0x28, 0xDD, 0xA0, 0x59, 0x50, 0x6A, 0xA0, 0x59, 0xF5, 0x36, 0x20, 0x5A, 0xB7, 0x02, 0xA0, -0x5A, 0xFB, 0x90, 0xA0, 0x5B, 0x23, 0x1D, 0xA0, 0x5B, 0xD5, 0x18, 0x20, 0x5C, 0xA0, 0x1F, 0x20, -0x5C, 0xCF, 0x95, 0x20, 0x5C, 0xF7, 0x22, 0x20, 0x5D, 0xB4, 0xFA, 0x20, 0x5E, 0x80, 0x01, 0x20, -0x5E, 0xA2, 0x48, 0x20, 0x5E, 0xC9, 0xD5, 0x20, 0x5F, 0x94, 0xDC, 0x20, 0x60, 0x5F, 0xE3, 0x20, -0x60, 0x74, 0xFB, 0x20, 0x60, 0x9C, 0x88, 0x20, 0x61, 0x7D, 0xF8, 0xA0, 0x62, 0x3F, 0xC5, 0x20, -0x62, 0x48, 0xFF, 0xA0, 0x62, 0x70, 0x8C, 0xA0, 0x63, 0x5D, 0xDA, 0xA0, 0x64, 0x43, 0x3F, 0xA0, -0x65, 0x3D, 0xBC, 0xA0, 0x66, 0x15, 0xF2, 0xA0, 0x67, 0x1D, 0x9E, 0xA0, 0x67, 0xE9, 0xF7, 0x20, +0x53, 0xAE, 0x21, 0xA0, 0x53, 0xDC, 0x46, 0x20, 0x54, 0x4C, 0x55, 0xA0, 0x55, 0x17, 0x5C, 0xA0, +0x55, 0x7B, 0x8E, 0xA0, 0x55, 0xA9, 0xB3, 0x20, 0x56, 0x2C, 0x37, 0xA0, 0x56, 0xF7, 0x3E, 0xA0, +0x57, 0x52, 0x36, 0x20, 0x57, 0x80, 0x5A, 0xA0, 0x58, 0x15, 0x54, 0x20, 0x58, 0xD7, 0x20, 0xA0, +0x59, 0x1F, 0xA3, 0x20, 0x59, 0x57, 0x02, 0x20, 0x59, 0xF5, 0x36, 0x20, 0x5A, 0xB7, 0x02, 0xA0, +0x5A, 0xF6, 0x4A, 0xA0, 0x5B, 0x24, 0x6F, 0x20, 0x5B, 0xD5, 0x18, 0x20, 0x5C, 0xA0, 0x1F, 0x20, +0x5C, 0xCC, 0xF2, 0x20, 0x5C, 0xFB, 0x16, 0xA0, 0x5D, 0xB4, 0xFA, 0x20, 0x5E, 0x80, 0x01, 0x20, +0x5E, 0x9A, 0x5F, 0x20, 0x5E, 0xD1, 0xBE, 0x20, 0x5F, 0x94, 0xDC, 0x20, 0x60, 0x5F, 0xE3, 0x20, +0x60, 0x71, 0x06, 0xA0, 0x60, 0x9F, 0x2B, 0x20, 0x61, 0x7D, 0xF8, 0xA0, 0x62, 0x3F, 0xC5, 0x20, +0x62, 0x47, 0xAE, 0x20, 0x62, 0x75, 0xD2, 0xA0, 0x63, 0x5D, 0xDA, 0xA0, 0x64, 0x43, 0x3F, 0xA0, +0x65, 0x3D, 0xBC, 0xA0, 0x66, 0x19, 0xE7, 0x20, 0x67, 0x1D, 0x9E, 0xA0, 0x67, 0xF0, 0x8E, 0xA0, 0x68, 0xFD, 0x80, 0xA0, 0x69, 0xC8, 0x87, 0xA0, 0x6A, 0xDD, 0x62, 0xA0, 0x6B, 0xA8, 0x69, 0xA0, 0x6C, 0xC6, 0x7F, 0x20, 0x6D, 0x88, 0x4B, 0xA0, 0x6E, 0xA6, 0x61, 0x20, 0x6F, 0x68, 0x2D, 0xA0, 0x70, 0x86, 0x43, 0x20, 0x71, 0x51, 0x4A, 0x20, 0x72, 0x66, 0x25, 0x20, 0x73, 0x31, 0x2C, 0x20, 0x74, 0x46, 0x07, 0x20, 0x75, 0x11, 0x0E, 0x20, 0x76, 0x2F, 0x23, 0xA0, 0x76, 0xF0, 0xF0, 0x20, 0x78, 0x0F, 0x05, 0xA0, 0x78, 0xD0, 0xD2, 0x20, 0x79, 0xEE, 0xE7, 0xA0, 0x7A, 0xB0, 0xB4, 0x20, -0x7B, 0xCE, 0xC9, 0xA0, 0x7C, 0x99, 0xD0, 0xA0, 0x7D, 0xA8, 0x14, 0x20, 0x7E, 0x79, 0xB2, 0xA0, -0x7F, 0x7C, 0x18, 0xA0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x7B, 0xCD, 0x78, 0x20, 0x7C, 0x99, 0xD0, 0xA0, 0x7D, 0xA4, 0x1F, 0xA0, 0x7E, 0x79, 0xB2, 0xA0, +0x7F, 0x7A, 0xC7, 0x20, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, @@ -9553,7 +9553,7 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { /* Asia/Vladivostok */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x16, 0xA7, 0x59, 0x47, 0x50, +0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0xA7, 0x59, 0x47, 0x50, 0xB5, 0xA3, 0xB6, 0xF0, 0x15, 0x27, 0x45, 0x60, 0x16, 0x18, 0x79, 0xD0, 0x17, 0x08, 0x78, 0xE0, 0x17, 0xF9, 0xAD, 0x50, 0x18, 0xE9, 0xAC, 0x60, 0x19, 0xDA, 0xE0, 0xD0, 0x1A, 0xCC, 0x31, 0x60, 0x1B, 0xBC, 0x3E, 0x80, 0x1C, 0xAC, 0x2F, 0x80, 0x1D, 0x9C, 0x20, 0x80, 0x1E, 0x8C, 0x11, 0x80, @@ -9576,12 +9576,12 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08, 0x00, 0x00, 0x7B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x09, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x09, -0x00, 0x00, 0x8C, 0xA0, 0x01, 0x0F, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x09, 0x00, 0x00, 0x9A, 0xB0, +0x00, 0x00, 0x8C, 0xA0, 0x01, 0x09, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x56, 0x4C, 0x41, 0x54, 0x00, 0x56, 0x4C, 0x41, 0x53, 0x54, -0x00, 0x56, 0x4C, 0x41, 0x53, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, -0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x32, 0x3A, 0x01, 0xDB, -0xF8, 0xF5, 0x00, 0x00, 0x00, 0x16, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x37, 0x20, -0x2D, 0x20, 0x41, 0x6D, 0x75, 0x72, 0x20, 0x52, 0x69, 0x76, 0x65, 0x72, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xCB, 0x32, 0x3A, 0x01, 0xDB, 0xF8, 0xF5, 0x00, 0x00, 0x00, 0x16, 0x4D, +0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x37, 0x20, 0x2D, 0x20, 0x41, 0x6D, 0x75, 0x72, 0x20, +0x52, 0x69, 0x76, 0x65, 0x72, /* Asia/Yakutsk */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -12053,8 +12053,8 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { /* Egypt */ 0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xC8, 0x93, 0xB4, 0xE0, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0xC8, 0x93, 0xB4, 0xE0, 0xC8, 0xFA, 0x7B, 0xD0, 0xC9, 0xFC, 0xEF, 0xE0, 0xCA, 0xC7, 0xE8, 0xD0, 0xCB, 0xCB, 0xAE, 0x60, 0xCC, 0xDF, 0x29, 0xD0, 0xCD, 0xAC, 0xE1, 0xE0, 0xCE, 0xC6, 0xF4, 0xD0, 0xCF, 0x8F, 0x66, 0xE0, 0xD0, 0xA9, 0x79, 0xD0, 0xD1, 0x84, 0x60, 0xE0, 0xD2, 0x8A, 0xAD, 0x50, 0xE8, 0x36, 0x63, 0x60, @@ -12085,14 +12085,14 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { 0x43, 0x3C, 0x55, 0xD0, 0x44, 0x51, 0x3E, 0xE0, 0x45, 0x12, 0xFD, 0x50, 0x46, 0x31, 0x20, 0xE0, 0x46, 0xE0, 0x6A, 0x50, 0x48, 0x11, 0x02, 0xE0, 0x48, 0xB7, 0x11, 0xD0, 0x49, 0xF0, 0xE4, 0xE0, 0x4A, 0x8D, 0xB9, 0x50, 0x4B, 0xDA, 0x01, 0x60, 0x4C, 0x61, 0xBD, 0xD0, 0x4C, 0x89, 0x58, 0xE0, -0x4C, 0xA4, 0xFA, 0x50, 0x53, 0x75, 0x38, 0xE0, 0x53, 0xAF, 0x3A, 0xE0, 0x53, 0xD6, 0xC7, 0xE0, -0x54, 0x24, 0x82, 0x50, 0x55, 0x39, 0x6B, 0x60, 0x55, 0x81, 0xED, 0xE0, 0x55, 0xA9, 0x7A, 0xE0, -0x56, 0x04, 0x64, 0x50, 0x57, 0x22, 0x87, 0xE0, 0x57, 0x55, 0xF2, 0x60, 0x57, 0x7D, 0x7F, 0x60, -0x57, 0xED, 0x80, 0xD0, 0x59, 0x02, 0x69, 0xE0, 0x59, 0x28, 0xA5, 0x60, 0x59, 0x50, 0x32, 0x60, -0x59, 0xCD, 0x62, 0xD0, 0x5A, 0xE2, 0x4B, 0xE0, 0x5A, 0xFB, 0x58, 0x60, 0x5B, 0x22, 0xE5, 0x60, -0x5B, 0xAD, 0x44, 0xD0, 0x5C, 0xC2, 0x2D, 0xE0, 0x5C, 0xCF, 0x5C, 0xE0, 0x5C, 0xF6, 0xE9, 0xE0, -0x5D, 0x8D, 0x26, 0xD0, 0x5E, 0xC9, 0x9C, 0xE0, 0x5F, 0x6D, 0x08, 0xD0, 0x60, 0x9C, 0x4F, 0xE0, -0x61, 0x56, 0x25, 0x50, 0x62, 0x70, 0x54, 0x60, 0x63, 0x36, 0x07, 0x50, 0x64, 0x4A, 0xF0, 0x60, +0x4C, 0xA4, 0xFA, 0x50, 0x53, 0x75, 0x38, 0xE0, 0x53, 0xAC, 0x89, 0xD0, 0x53, 0xDA, 0xBC, 0x60, +0x54, 0x24, 0x82, 0x50, 0x55, 0x39, 0x6B, 0x60, 0x55, 0x79, 0xF6, 0xD0, 0x55, 0xB1, 0x63, 0xE0, +0x56, 0x04, 0x64, 0x50, 0x57, 0x22, 0x87, 0xE0, 0x57, 0x50, 0x9E, 0x50, 0x57, 0x7E, 0xD0, 0xE0, +0x57, 0xED, 0x80, 0xD0, 0x59, 0x02, 0x69, 0xE0, 0x59, 0x27, 0x45, 0xD0, 0x59, 0x55, 0x78, 0x60, +0x59, 0xCD, 0x62, 0xD0, 0x5A, 0xE2, 0x4B, 0xE0, 0x5A, 0xF4, 0xB2, 0xD0, 0x5B, 0x22, 0xE5, 0x60, +0x5B, 0xAD, 0x44, 0xD0, 0x5C, 0xC2, 0x2D, 0xE0, 0x5C, 0xCB, 0x5A, 0x50, 0x5C, 0xF9, 0x8C, 0xE0, +0x5D, 0x8D, 0x26, 0xD0, 0x5E, 0xD0, 0x34, 0x60, 0x5F, 0x6D, 0x08, 0xD0, 0x60, 0x9D, 0xA1, 0x60, +0x61, 0x56, 0x25, 0x50, 0x62, 0x74, 0x48, 0xE0, 0x63, 0x36, 0x07, 0x50, 0x64, 0x4A, 0xF0, 0x60, 0x65, 0x15, 0xE9, 0x50, 0x66, 0x2A, 0xD2, 0x60, 0x66, 0xF5, 0xCB, 0x50, 0x68, 0x0A, 0xB4, 0x60, 0x68, 0xD5, 0xAD, 0x50, 0x69, 0xEA, 0x96, 0x60, 0x6A, 0xB5, 0x8F, 0x50, 0x6B, 0xD3, 0xB2, 0xE0, 0x6C, 0x9E, 0xAB, 0xD0, 0x6D, 0xB3, 0x94, 0xE0, 0x6E, 0x7E, 0x8D, 0xD0, 0x6F, 0x93, 0x76, 0xE0, @@ -12105,16 +12105,16 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, -0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, -0x00, 0x00, 0x1C, 0x20, 0x00, 0x05, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x20, -0x00, 0x05, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x01, 0x00, 0x01, +0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x01, +0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, +0x00, 0x00, 0x1C, 0x20, 0x00, 0x05, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, 0x45, 0x45, 0x53, 0x54, +0x00, 0x45, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, +0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00, /* Eire */ 0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -14441,7 +14441,7 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { /* Europe/Moscow */ 0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x1E, 0x9B, 0x5F, 0x1E, 0xD8, +0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x22, 0x9B, 0x5F, 0x1E, 0xD8, 0x9D, 0x3E, 0xF2, 0x98, 0x9E, 0x2A, 0xEF, 0x18, 0x9E, 0xF7, 0x39, 0x88, 0x9F, 0x84, 0x58, 0x18, 0xA0, 0xD8, 0x6D, 0x08, 0xA1, 0x00, 0x16, 0x28, 0xA1, 0x3C, 0xA6, 0x40, 0xA4, 0x10, 0x6D, 0xC0, 0xA4, 0x3D, 0x32, 0xB0, 0xA5, 0x15, 0x68, 0xB0, 0xA5, 0x3D, 0x03, 0xC0, 0xA7, 0x1E, 0x45, 0x50, @@ -14468,15 +14468,15 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0C, 0x00, 0x00, 0x23, 0x28, 0x00, 0x00, 0x00, 0x00, 0x31, 0x68, 0x01, 0x04, 0x00, 0x00, 0x23, 0x58, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x78, 0x01, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, 0x38, 0x40, 0x01, 0x11, 0x00, 0x00, 0x46, 0x50, -0x01, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, -0x38, 0x40, 0x01, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x19, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x15, +0x01, 0x15, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, +0x38, 0x40, 0x01, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x19, 0x00, 0x00, 0x38, 0x40, 0x00, 0x0D, 0x4D, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, -0x53, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x54, 0x00, 0x45, -0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, -0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, -0x65, 0x98, 0x01, 0x4C, 0x01, 0x7D, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, -0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x77, 0x65, 0x73, 0x74, 0x20, 0x52, 0x75, 0x73, 0x73, 0x69, -0x61, +0x53, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x4D, 0x53, 0x4D, 0x00, 0x45, +0x45, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0xDE, 0x65, 0x98, 0x01, 0x4C, 0x01, 0x7D, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, +0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x77, 0x65, 0x73, 0x74, 0x20, 0x52, +0x75, 0x73, 0x73, 0x69, 0x61, /* Europe/Nicosia */ 0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -18429,7 +18429,7 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { /* W-SU */ 0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x1E, 0x9B, 0x5F, 0x1E, 0xD8, +0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x22, 0x9B, 0x5F, 0x1E, 0xD8, 0x9D, 0x3E, 0xF2, 0x98, 0x9E, 0x2A, 0xEF, 0x18, 0x9E, 0xF7, 0x39, 0x88, 0x9F, 0x84, 0x58, 0x18, 0xA0, 0xD8, 0x6D, 0x08, 0xA1, 0x00, 0x16, 0x28, 0xA1, 0x3C, 0xA6, 0x40, 0xA4, 0x10, 0x6D, 0xC0, 0xA4, 0x3D, 0x32, 0xB0, 0xA5, 0x15, 0x68, 0xB0, 0xA5, 0x3D, 0x03, 0xC0, 0xA7, 0x1E, 0x45, 0x50, @@ -18456,13 +18456,13 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0C, 0x00, 0x00, 0x23, 0x28, 0x00, 0x00, 0x00, 0x00, 0x31, 0x68, 0x01, 0x04, 0x00, 0x00, 0x23, 0x58, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x78, 0x01, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, 0x38, 0x40, 0x01, 0x11, 0x00, 0x00, 0x46, 0x50, -0x01, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, -0x38, 0x40, 0x01, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x19, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x15, +0x01, 0x15, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, +0x38, 0x40, 0x01, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x19, 0x00, 0x00, 0x38, 0x40, 0x00, 0x0D, 0x4D, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, -0x53, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x54, 0x00, 0x45, -0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, -0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, -0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00, +0x53, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x4D, 0x53, 0x4D, 0x00, 0x45, +0x45, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00, /* Zulu */ 0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -18471,4 +18471,4 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = { 0x00, 0x00, 0x55, 0x54, 0x43, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00, }; -const timelib_tzdb timezonedb_builtin = { "2014.3", 580, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; +const timelib_tzdb timezonedb_builtin = { "2014.5", 580, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 700929154c..a3cd5734d6 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -50,7 +50,11 @@ static inline long long php_date_llabs( long long i ) { return i >= 0 ? i : -i; int st = snprintf(s, len, "%lld", i); \ s[st] = '\0'; \ } while (0); +#ifdef HAVE_ATOLL # define DATE_A64I(i, s) i = atoll(s) +#else +# define DATE_A64I(i, s) i = strtoll(s, NULL, 10) +#endif #endif /* {{{ arginfo */ diff --git a/ext/date/tests/bug41523.phpt b/ext/date/tests/bug41523.phpt index 05c591f063..68fe1bd6a3 100644 --- a/ext/date/tests/bug41523.phpt +++ b/ext/date/tests/bug41523.phpt @@ -46,7 +46,7 @@ array(12) { bool(false) object(DateTime)#1 (3) { ["date"]=> - string(20) "-0001-11-30 00:00:00.000000" + string(27) "-0001-11-30 00:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> diff --git a/ext/date/tests/bug67118.phpt b/ext/date/tests/bug67118.phpt index 2aa8c1d828..19b5914aa3 100644 --- a/ext/date/tests/bug67118.phpt +++ b/ext/date/tests/bug67118.phpt @@ -23,4 +23,4 @@ class mydt extends datetime new mydt("Funktionsansvarig rådgivning och juridik", "UTC"); ?> --EXPECTF-- -Fatal error: Call to a member function format() on a non-object in %sbug67118.php on line %d +Fatal error: Call to a member function format() on null in %sbug67118.php on line %d diff --git a/ext/fileinfo/data_file.c b/ext/fileinfo/data_file.c index 8bcd5aa0e1..5b24670a72 100644 --- a/ext/fileinfo/data_file.c +++ b/ext/fileinfo/data_file.c @@ -121057,7 +121057,7 @@ const unsigned char php_magic_database[2803888] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x1B, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5C, 0x73, 0x7B, 0x30, 0x2C, 0x31, 0x30, 0x30, 0x7D, 0x42, 0x45, 0x47, 0x49, 0x4E, 0x5C, 0x73, 0x7B, 0x30, 0x2C, 0x31, 0x30, 0x30, 0x7D, 0x5B, 0x7B, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, diff --git a/ext/fileinfo/libmagic.patch b/ext/fileinfo/libmagic.patch index bb9a0dafae..8b0b9a8911 100644 --- a/ext/fileinfo/libmagic.patch +++ b/ext/fileinfo/libmagic.patch @@ -822,7 +822,16 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c } diff -u libmagic.orig/cdf.c libmagic/cdf.c --- libmagic.orig/cdf.c Tue Feb 26 17:20:42 2013 -+++ libmagic/cdf.c Tue May 27 22:28:51 2014 ++++ libmagic/cdf.c Tue Jul 1 08:57:25 2014 +@@ -35,7 +35,7 @@ + #include "file.h" + + #ifndef lint +-FILE_RCSID("@(#)$File: cdf.c,v 1.53 2013/02/26 16:20:42 christos Exp $") ++FILE_RCSID("@(#)$File: cdf.c,v 1.55 2014/02/27 23:26:17 christos Exp $") + #endif + + #include <assert.h> @@ -43,7 +43,17 @@ #include <err.h> #endif @@ -841,7 +850,25 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c #include <string.h> #include <time.h> #include <ctype.h> -@@ -296,7 +306,10 @@ +@@ -267,13 +277,15 @@ + { + const char *b = (const char *)sst->sst_tab; + const char *e = ((const char *)p) + tail; ++ size_t ss = sst->sst_dirlen < h->h_min_size_standard_stream ? ++ CDF_SHORT_SEC_SIZE(h) : CDF_SEC_SIZE(h); + (void)&line; +- if (e >= b && (size_t)(e - b) <= CDF_SEC_SIZE(h) * sst->sst_len) ++ if (e >= b && (size_t)(e - b) <= ss * sst->sst_len) + return 0; + DPRINTF(("%d: offset begin %p < end %p || %" SIZE_T_FORMAT "u" + " > %" SIZE_T_FORMAT "u [%" SIZE_T_FORMAT "u %" + SIZE_T_FORMAT "u]\n", line, b, e, (size_t)(e - b), +- CDF_SEC_SIZE(h) * sst->sst_len, CDF_SEC_SIZE(h), sst->sst_len)); ++ ss * sst->sst_len, ss, sst->sst_len)); + errno = EFTYPE; + return -1; + } +@@ -296,7 +308,10 @@ if (info->i_fd == -1) return -1; @@ -853,7 +880,77 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c return -1; return (ssize_t)len; -@@ -810,6 +823,10 @@ +@@ -352,10 +367,10 @@ + size_t ss = CDF_SHORT_SEC_SIZE(h); + size_t pos = CDF_SHORT_SEC_POS(h, id); + assert(ss == len); +- if (pos > CDF_SEC_SIZE(h) * sst->sst_len) { ++ if (pos + len > CDF_SEC_SIZE(h) * sst->sst_len) { + DPRINTF(("Out of bounds read %" SIZE_T_FORMAT "u > %" + SIZE_T_FORMAT "u\n", +- pos, CDF_SEC_SIZE(h) * sst->sst_len)); ++ pos + len, CDF_SEC_SIZE(h) * sst->sst_len)); + return -1; + } + (void)memcpy(((char *)buf) + offs, +@@ -455,7 +470,8 @@ + cdf_count_chain(const cdf_sat_t *sat, cdf_secid_t sid, size_t size) + { + size_t i, j; +- cdf_secid_t maxsector = (cdf_secid_t)(sat->sat_len * size); ++ cdf_secid_t maxsector = (cdf_secid_t)((sat->sat_len * size) ++ / sizeof(maxsector)); + + DPRINTF(("Chain:")); + for (j = i = 0; sid >= 0; i++, j++) { +@@ -465,8 +481,8 @@ + errno = EFTYPE; + return (size_t)-1; + } +- if (sid > maxsector) { +- DPRINTF(("Sector %d > %d\n", sid, maxsector)); ++ if (sid >= maxsector) { ++ DPRINTF(("Sector %d >= %d\n", sid, maxsector)); + errno = EFTYPE; + return (size_t)-1; + } +@@ -675,11 +691,13 @@ + + int + cdf_read_short_stream(const cdf_info_t *info, const cdf_header_t *h, +- const cdf_sat_t *sat, const cdf_dir_t *dir, cdf_stream_t *scn) ++ const cdf_sat_t *sat, const cdf_dir_t *dir, cdf_stream_t *scn, ++ const cdf_directory_t **root) + { + size_t i; + const cdf_directory_t *d; + ++ *root = NULL; + for (i = 0; i < dir->dir_len; i++) + if (dir->dir_tab[i].d_type == CDF_DIR_TYPE_ROOT_STORAGE) + break; +@@ -688,6 +706,7 @@ + if (i == dir->dir_len) + goto out; + d = &dir->dir_tab[i]; ++ *root = d; + + /* If the it is not there, just fake it; some docs don't have it */ + if (d->d_stream_first_sector < 0) +@@ -796,7 +815,11 @@ + if (cdf_check_stream_offset(sst, h, e, 0, __LINE__) == -1) + goto out; + for (i = 0; i < sh.sh_properties; i++) { +- size_t ofs = CDF_GETUINT32(p, (i << 1) + 1); ++ size_t ofs, tail = (i << 1) + 1; ++ if (cdf_check_stream_offset(sst, h, p, tail * sizeof(uint32_t), ++ __LINE__) == -1) ++ goto out; ++ ofs = CDF_GETUINT32(p, tail); + q = (const uint8_t *)(const void *) + ((const char *)(const void *)p + ofs + - 2 * sizeof(uint32_t)); +@@ -810,6 +833,10 @@ i, inp[i].pi_id, inp[i].pi_type, q - p, offs)); if (inp[i].pi_type & CDF_VECTOR) { nelements = CDF_GETUINT32(q, 1); @@ -864,7 +961,7 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c o = 2; } else { nelements = 1; -@@ -884,7 +901,9 @@ +@@ -884,7 +911,9 @@ } DPRINTF(("nelements = %" SIZE_T_FORMAT "u\n", nelements)); @@ -875,7 +972,7 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c uint32_t l = CDF_GETUINT32(q, o); inp[i].pi_str.s_len = l; inp[i].pi_str.s_buf = (const char *) -@@ -929,7 +948,7 @@ +@@ -929,7 +958,7 @@ cdf_unpack_summary_info(const cdf_stream_t *sst, const cdf_header_t *h, cdf_summary_info_header_t *ssi, cdf_property_info_t **info, size_t *count) { @@ -884,7 +981,7 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c const cdf_summary_info_header_t *si = CAST(const cdf_summary_info_header_t *, sst->sst_tab); const cdf_section_declaration_t *sd = -@@ -944,21 +963,13 @@ +@@ -944,21 +973,13 @@ ssi->si_os = CDF_TOLE2(si->si_os); ssi->si_class = si->si_class; cdf_swap_class(&ssi->si_class); @@ -909,7 +1006,7 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c return 0; } -@@ -1132,7 +1143,7 @@ +@@ -1132,7 +1153,7 @@ cdf_directory_t *d; char name[__arraycount(d->d_name)]; cdf_stream_t scn; @@ -918,7 +1015,7 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c static const char *types[] = { "empty", "user storage", "user stream", "lockbytes", "property", "root storage" }; -@@ -1185,7 +1196,7 @@ +@@ -1185,7 +1206,7 @@ cdf_dump_property_info(const cdf_property_info_t *info, size_t count) { cdf_timestamp_t tp; @@ -927,7 +1024,7 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c char buf[64]; size_t i, j; -@@ -1229,7 +1240,11 @@ +@@ -1229,7 +1250,11 @@ break; case CDF_FILETIME: tp = info[i].pi_tp; @@ -941,7 +1038,7 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c } else { diff -u libmagic.orig/cdf.h libmagic/cdf.h --- libmagic.orig/cdf.h Thu Jun 21 00:19:55 2012 -+++ libmagic/cdf.h Tue May 27 22:28:51 2014 ++++ libmagic/cdf.h Thu Jun 5 18:05:33 2014 @@ -35,10 +35,12 @@ #ifndef _H_CDF_ #define _H_CDF_ @@ -982,6 +1079,16 @@ diff -u libmagic.orig/cdf.h libmagic/cdf.h int cdf_read_header(const cdf_info_t *, cdf_header_t *); void cdf_swap_header(cdf_header_t *); void cdf_unpack_header(cdf_header_t *, char *); +@@ -294,7 +300,8 @@ + int cdf_read_ssat(const cdf_info_t *, const cdf_header_t *, const cdf_sat_t *, + cdf_sat_t *); + int cdf_read_short_stream(const cdf_info_t *, const cdf_header_t *, +- const cdf_sat_t *, const cdf_dir_t *, cdf_stream_t *); ++ const cdf_sat_t *, const cdf_dir_t *, cdf_stream_t *, ++ const cdf_directory_t **); + int cdf_read_property_info(const cdf_stream_t *, const cdf_header_t *, uint32_t, + cdf_property_info_t **, size_t *, size_t *); + int cdf_read_summary_info(const cdf_info_t *, const cdf_header_t *, diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c --- libmagic.orig/cdf_time.c Thu Jun 21 00:18:33 2012 +++ libmagic/cdf_time.c Fri Feb 21 00:21:27 2014 @@ -2599,8 +2706,13 @@ diff -u libmagic.orig/print.c libmagic/print.c } diff -u libmagic.orig/readcdf.c libmagic/readcdf.c --- libmagic.orig/readcdf.c Tue Jan 7 04:13:42 2014 -+++ libmagic/readcdf.c Tue May 27 22:28:51 2014 -@@ -30,7 +30,11 @@ ++++ libmagic/readcdf.c Thu Jun 5 18:05:33 2014 +@@ -26,11 +26,15 @@ + #include "file.h" + + #ifndef lint +-FILE_RCSID("@(#)$File: readcdf.c,v 1.37 2014/01/06 13:41:18 rrt Exp $") ++FILE_RCSID("@(#)$File: readcdf.c,v 1.40 2014/03/06 15:23:33 christos Exp $") #endif #include <stdlib.h> @@ -2612,7 +2724,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c #include <string.h> #include <time.h> #include <ctype.h> -@@ -69,6 +73,10 @@ +@@ -69,6 +73,44 @@ { NULL, NULL, }, }; @@ -2620,10 +2732,49 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c +# define strcasestr strstr +#endif + ++static const struct cv { ++ uint64_t clsid[2]; ++ const char *mime; ++} clsid2mime[] = { ++ { ++#ifdef PHP_WIN32 ++ { 0x00000000000c1084ui64, 0x46000000000000c0ui64 }, ++#else ++ { 0x00000000000c1084LLU, 0x46000000000000c0LLU }, ++#endif ++ "x-msi", ++ } ++}, clsid2desc[] = { ++ { ++#ifdef PHP_WIN32 ++ { 0x00000000000c1084ui64, 0x46000000000000c0ui64 }, ++#else ++ { 0x00000000000c1084LLU, 0x46000000000000c0LLU }, ++#endif ++ "MSI Installer", ++ }, ++}; ++ ++private const char * ++cdf_clsid_to_mime(const uint64_t clsid[2], const struct cv *cv) ++{ ++ size_t i; ++ for (i = 0; cv[i].mime != NULL; i++) { ++ if (clsid[0] == cv[i].clsid[0] && clsid[1] == cv[i].clsid[1]) ++ return cv[i].mime; ++ } ++ return NULL; ++} ++ private const char * cdf_app_to_mime(const char *vbuf, const struct nv *nv) { -@@ -91,12 +99,14 @@ +@@ -87,16 +129,21 @@ + + private int + cdf_file_property_info(struct magic_set *ms, const cdf_property_info_t *info, +- size_t count) ++ size_t count, const cdf_directory_t *root_storage) { size_t i; cdf_timestamp_t tp; @@ -2636,10 +2787,22 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c + memset(&ts, 0, sizeof(ts)); + ++ if (!NOTMIME(ms) && root_storage) ++ str = cdf_clsid_to_mime(root_storage->d_storage_uuid, clsid2mime); ++ for (i = 0; i < count; i++) { cdf_print_property_name(buf, sizeof(buf), info[i].pi_id); switch (info[i].pi_type) { -@@ -162,8 +172,12 @@ +@@ -153,7 +200,7 @@ + buf, vbuf) == -1) + return -1; + } +- } else if (info[i].pi_id == ++ } else if (str == NULL && info[i].pi_id == + CDF_PROPERTY_NAME_OF_APPLICATION) { + str = cdf_app_to_mime(vbuf, app2mime); + } +@@ -162,8 +209,12 @@ case CDF_FILETIME: tp = info[i].pi_tp; if (tp != 0) { @@ -2654,7 +2817,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c cdf_print_elapsed_time(tbuf, sizeof(tbuf), tp); if (NOTMIME(ms) && file_printf(ms, -@@ -171,8 +185,11 @@ +@@ -171,8 +222,11 @@ return -1; } else { char *c, *ec; @@ -2668,6 +2831,91 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c if (c != NULL && (ec = strchr(c, '\n')) != NULL) *ec = '\0'; +@@ -200,7 +254,7 @@ + + private int + cdf_file_summary_info(struct magic_set *ms, const cdf_header_t *h, +- const cdf_stream_t *sst) ++ const cdf_stream_t *sst, const cdf_directory_t *root_storage) + { + cdf_summary_info_header_t si; + cdf_property_info_t *info; +@@ -211,6 +265,8 @@ + return -1; + + if (NOTMIME(ms)) { ++ const char *str; ++ + if (file_printf(ms, "Composite Document File V2 Document") + == -1) + return -1; +@@ -238,9 +294,15 @@ + return -2; + break; + } +- } ++ if (root_storage) { ++ str = cdf_clsid_to_mime(root_storage->d_storage_uuid, clsid2desc); ++ if (str) ++ if (file_printf(ms, ", %s", str) == -1) ++ return -2; ++ } ++ } + +- m = cdf_file_property_info(ms, info, count); ++ m = cdf_file_property_info(ms, info, count, root_storage); + free(info); + + return m == -1 ? -2 : m; +@@ -258,6 +320,7 @@ + int i; + const char *expn = ""; + const char *corrupt = "corrupt: "; ++ const cdf_directory_t *root_storage; + + info.i_fd = fd; + info.i_buf = buf; +@@ -291,7 +354,8 @@ + goto out2; + } + +- if ((i = cdf_read_short_stream(&info, &h, &sat, &dir, &sst)) == -1) { ++ if ((i = cdf_read_short_stream(&info, &h, &sat, &dir, &sst, ++ &root_storage)) == -1) { + expn = "Cannot read short stream"; + goto out3; + } +@@ -312,23 +376,21 @@ + #ifdef CDF_DEBUG + cdf_dump_summary_info(&h, &scn); + #endif +- if ((i = cdf_file_summary_info(ms, &h, &scn)) < 0) +- expn = "Can't expand summary_info"; ++ if ((i = cdf_file_summary_info(ms, &h, &scn, root_storage)) < 0) ++ expn = "Can't expand summary_info"; ++ + if (i == 0) { + const char *str = NULL; + cdf_directory_t *d; + char name[__arraycount(d->d_name)]; + size_t j, k; +- for (j = 0; j < dir.dir_len; j++) { ++ ++ for (j = 0; str == NULL && j < dir.dir_len; j++) { + d = &dir.dir_tab[j]; + for (k = 0; k < sizeof(name); k++) + name[k] = (char)cdf_tole2(d->d_name[k]); +- if (NOTMIME(ms)) +- str = cdf_app_to_mime(name, name2desc); +- else +- str = cdf_app_to_mime(name, name2mime); +- if (str != NULL) +- break; ++ str = cdf_app_to_mime(name, ++ NOTMIME(ms) ? name2desc : name2mime); + } + if (NOTMIME(ms)) { + if (str != NULL) { diff -u libmagic.orig/readelf.c libmagic/readelf.c --- libmagic.orig/readelf.c Tue Nov 5 16:44:01 2013 +++ libmagic/readelf.c Fri Feb 21 00:21:27 2014 @@ -2915,7 +3163,7 @@ diff -u libmagic.orig/readelf.h libmagic/readelf.h typedef uint8_t Elf64_Char; diff -u libmagic.orig/softmagic.c libmagic/softmagic.c --- libmagic.orig/softmagic.c Thu Feb 13 00:20:53 2014 -+++ libmagic/softmagic.c Sun Mar 9 13:14:07 2014 ++++ libmagic/softmagic.c Tue Jul 1 08:57:25 2014 @@ -50,6 +50,11 @@ #include <locale.h> #endif @@ -3050,7 +3298,29 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c break; \ } \ -@@ -1178,9 +1162,6 @@ +@@ -931,10 +915,18 @@ + return 1; + } + case FILE_PSTRING: { +- char *ptr1 = p->s, *ptr2 = ptr1 + file_pstring_length_size(m); ++ size_t sz = file_pstring_length_size(m); ++ char *ptr1 = p->s, *ptr2 = ptr1 + sz; + size_t len = file_pstring_get_length(m, ptr1); +- if (len >= sizeof(p->s)) +- len = sizeof(p->s) - 1; ++ if (len >= sizeof(p->s)) { ++ /* ++ * The size of the pascal string length (sz) ++ * is 1, 2, or 4. We need at least 1 byte for NUL ++ * termination, but we've already truncated the ++ * string by p->s, so we need to deduct sz. ++ */ ++ len = sizeof(p->s) - sz; ++ } + while (len--) + *ptr1++ = *ptr2++; + *ptr1 = '\0'; +@@ -1178,9 +1170,6 @@ "nbytes=%zu, count=%u)\n", m->type, m->flag, offset, o, nbytes, count); mdebug(offset, (char *)(void *)p, sizeof(union VALUETYPE)); @@ -3060,7 +3330,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c } if (m->flag & INDIR) { -@@ -1679,9 +1660,6 @@ +@@ -1679,9 +1668,6 @@ if ((ms->flags & MAGIC_DEBUG) != 0) { mdebug(offset, (char *)(void *)p, sizeof(union VALUETYPE)); @@ -3070,7 +3340,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c } } -@@ -1755,11 +1733,21 @@ +@@ -1755,11 +1741,21 @@ ms->offset = soffset; if (rv == 1) { if ((ms->flags & (MAGIC_MIME|MAGIC_APPLE)) == 0 && @@ -3095,7 +3365,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c } return rv; -@@ -1875,6 +1863,42 @@ +@@ -1875,6 +1871,42 @@ return file_strncmp(a, b, len, flags); } @@ -3138,13 +3408,16 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c private int magiccheck(struct magic_set *ms, struct magic *m) { -@@ -2035,63 +2059,151 @@ +@@ -2035,63 +2067,151 @@ break; } case FILE_REGEX: { - int rc; - regex_t rx; - char errmsg[512]; +- +- if (ms->search.s == NULL) +- return 0; + zval *pattern; + int options = 0; + pcre_cache_entry *pce; @@ -3281,9 +3554,6 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c + } + } -- if (ms->search.s == NULL) -- return 0; - - l = 0; - rc = regcomp(&rx, m->value.s, - REG_EXTENDED|REG_NEWLINE| @@ -3318,7 +3588,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c - (size_t)(pmatch[0].rm_eo - pmatch[0].rm_so); - v = 0; - break; -- + - case REG_NOMATCH: + } else { v = 1; @@ -3354,4 +3624,3 @@ diff -u libmagic.orig/strcasestr.c libmagic/strcasestr.c #include <assert.h> #include <ctype.h> #include <string.h> - diff --git a/ext/fileinfo/libmagic/cdf.c b/ext/fileinfo/libmagic/cdf.c index cbe3b0cf77..ad285cfe18 100644 --- a/ext/fileinfo/libmagic/cdf.c +++ b/ext/fileinfo/libmagic/cdf.c @@ -277,13 +277,15 @@ cdf_check_stream_offset(const cdf_stream_t *sst, const cdf_header_t *h, { const char *b = (const char *)sst->sst_tab; const char *e = ((const char *)p) + tail; + size_t ss = sst->sst_dirlen < h->h_min_size_standard_stream ? + CDF_SHORT_SEC_SIZE(h) : CDF_SEC_SIZE(h); (void)&line; - if (e >= b && (size_t)(e - b) <= CDF_SEC_SIZE(h) * sst->sst_len) + if (e >= b && (size_t)(e - b) <= ss * sst->sst_len) return 0; DPRINTF(("%d: offset begin %p < end %p || %" SIZE_T_FORMAT "u" " > %" SIZE_T_FORMAT "u [%" SIZE_T_FORMAT "u %" SIZE_T_FORMAT "u]\n", line, b, e, (size_t)(e - b), - CDF_SEC_SIZE(h) * sst->sst_len, CDF_SEC_SIZE(h), sst->sst_len)); + ss * sst->sst_len, ss, sst->sst_len)); errno = EFTYPE; return -1; } @@ -468,7 +470,8 @@ size_t cdf_count_chain(const cdf_sat_t *sat, cdf_secid_t sid, size_t size) { size_t i, j; - cdf_secid_t maxsector = (cdf_secid_t)(sat->sat_len * size); + cdf_secid_t maxsector = (cdf_secid_t)((sat->sat_len * size) + / sizeof(maxsector)); DPRINTF(("Chain:")); for (j = i = 0; sid >= 0; i++, j++) { @@ -478,8 +481,8 @@ cdf_count_chain(const cdf_sat_t *sat, cdf_secid_t sid, size_t size) errno = EFTYPE; return (size_t)-1; } - if (sid > maxsector) { - DPRINTF(("Sector %d > %d\n", sid, maxsector)); + if (sid >= maxsector) { + DPRINTF(("Sector %d >= %d\n", sid, maxsector)); errno = EFTYPE; return (size_t)-1; } @@ -812,7 +815,11 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h, if (cdf_check_stream_offset(sst, h, e, 0, __LINE__) == -1) goto out; for (i = 0; i < sh.sh_properties; i++) { - size_t ofs = CDF_GETUINT32(p, (i << 1) + 1); + size_t ofs, tail = (i << 1) + 1; + if (cdf_check_stream_offset(sst, h, p, tail * sizeof(uint32_t), + __LINE__) == -1) + goto out; + ofs = CDF_GETUINT32(p, tail); q = (const uint8_t *)(const void *) ((const char *)(const void *)p + ofs - 2 * sizeof(uint32_t)); diff --git a/ext/fileinfo/libmagic/softmagic.c b/ext/fileinfo/libmagic/softmagic.c index 1d5db8966a..e000dff92e 100644 --- a/ext/fileinfo/libmagic/softmagic.c +++ b/ext/fileinfo/libmagic/softmagic.c @@ -67,7 +67,7 @@ private int32_t mprint(struct magic_set *, struct magic *); private int32_t moffset(struct magic_set *, struct magic *); private void mdebug(uint32_t, const char *, size_t); private int mcopy(struct magic_set *, union VALUETYPE *, int, int, - const unsigned char *, uint32_t, size_t, size_t); + const unsigned char *, uint32_t, size_t, struct magic *); private int mconvert(struct magic_set *, struct magic *, int); private int print_sep(struct magic_set *, int); private int handle_annotation(struct magic_set *, struct magic *); @@ -915,10 +915,18 @@ mconvert(struct magic_set *ms, struct magic *m, int flip) return 1; } case FILE_PSTRING: { - char *ptr1 = p->s, *ptr2 = ptr1 + file_pstring_length_size(m); + size_t sz = file_pstring_length_size(m); + char *ptr1 = p->s, *ptr2 = ptr1 + sz; size_t len = file_pstring_get_length(m, ptr1); - if (len >= sizeof(p->s)) - len = sizeof(p->s) - 1; + if (len >= sizeof(p->s)) { + /* + * The size of the pascal string length (sz) + * is 1, 2, or 4. We need at least 1 byte for NUL + * termination, but we've already truncated the + * string by p->s, so we need to deduct sz. + */ + len = sizeof(p->s) - sz; + } while (len--) *ptr1++ = *ptr2++; *ptr1 = '\0'; @@ -1030,7 +1038,7 @@ mdebug(uint32_t offset, const char *str, size_t len) private int mcopy(struct magic_set *ms, union VALUETYPE *p, int type, int indir, - const unsigned char *s, uint32_t offset, size_t nbytes, size_t linecnt) + const unsigned char *s, uint32_t offset, size_t nbytes, struct magic *m) { /* * Note: FILE_SEARCH and FILE_REGEX do not actually copy @@ -1050,15 +1058,24 @@ mcopy(struct magic_set *ms, union VALUETYPE *p, int type, int indir, const char *last; /* end of search region */ const char *buf; /* start of search region */ const char *end; - size_t lines; + size_t lines, linecnt, bytecnt; + linecnt = m->str_range; + bytecnt = linecnt * 80; + + if (bytecnt == 0) { + bytecnt = 8192; + } + if (bytecnt > nbytes) { + bytecnt = nbytes; + } if (s == NULL) { ms->search.s_len = 0; ms->search.s = NULL; return 0; } buf = RCAST(const char *, s) + offset; - end = last = RCAST(const char *, s) + nbytes; + end = last = RCAST(const char *, s) + bytecnt; /* mget() guarantees buf <= last */ for (lines = linecnt, b = buf; lines && b < end && ((b = CAST(const char *, @@ -1071,7 +1088,7 @@ mcopy(struct magic_set *ms, union VALUETYPE *p, int type, int indir, b++; } if (lines) - last = RCAST(const char *, s) + nbytes; + last = RCAST(const char *, s) + bytecnt; ms->search.s = buf; ms->search.s_len = last - buf; @@ -1142,7 +1159,6 @@ mget(struct magic_set *ms, const unsigned char *s, struct magic *m, int *need_separator, int *returnval) { uint32_t soffset, offset = ms->offset; - uint32_t count = m->str_range; int rv, oneed_separator, in_type; char *sbuf, *rbuf; union VALUETYPE *p = &ms->ms_value; @@ -1154,13 +1170,12 @@ mget(struct magic_set *ms, const unsigned char *s, struct magic *m, } if (mcopy(ms, p, m->type, m->flag & INDIR, s, (uint32_t)(offset + o), - (uint32_t)nbytes, count) == -1) + (uint32_t)nbytes, m) == -1) return -1; if ((ms->flags & MAGIC_DEBUG) != 0) { fprintf(stderr, "mget(type=%d, flag=%x, offset=%u, o=%zu, " - "nbytes=%zu, count=%u)\n", m->type, m->flag, offset, o, - nbytes, count); + "nbytes=%zu)\n", m->type, m->flag, offset, o, nbytes); mdebug(offset, (char *)(void *)p, sizeof(union VALUETYPE)); } @@ -1653,7 +1668,7 @@ mget(struct magic_set *ms, const unsigned char *s, struct magic *m, if ((ms->flags & MAGIC_DEBUG) != 0) fprintf(stderr, "indirect +offs=%u\n", offset); } - if (mcopy(ms, p, m->type, 0, s, offset, nbytes, count) == -1) + if (mcopy(ms, p, m->type, 0, s, offset, nbytes, m) == -1) return -1; ms->offset = offset; @@ -2085,7 +2100,7 @@ magiccheck(struct magic_set *ms, struct magic *m) zval *retval; zval *subpats; char *haystack; - + MAKE_STD_ZVAL(retval); ALLOC_INIT_ZVAL(subpats); diff --git a/ext/fileinfo/magicdata.patch b/ext/fileinfo/magicdata.patch index fb34c3c533..524d40b567 100644 --- a/ext/fileinfo/magicdata.patch +++ b/ext/fileinfo/magicdata.patch @@ -1,4 +1,58 @@ -Patches applied to file sources tree before generating magic.mgc +Patches applied to file 5.17 sources tree before generating magic.mgc and before running create_data_file.php to create data_file.c. + +From 0b478f445b6b7540b58af5d1fe583fa9e48fd745 Mon Sep 17 00:00:00 2001 +From: Christos Zoulas <christos@zoulas.com> +Date: Wed, 28 May 2014 19:52:36 +0000 +Subject: [PATCH] further optimize awk by not looking for the BEGIN regex until + we found the BEGIN (Jan Kaluza) + +--- + magic/Magdir/commands | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/magic/Magdir/commands b/magic/Magdir/commands +index bfffdef..26b2869 100644 +--- a/magic/Magdir/commands ++++ b/magic/Magdir/commands +@@ -49,7 +49,8 @@ + !:mime text/x-awk + 0 string/wt #!\ /usr/bin/awk awk script text executable + !:mime text/x-awk +-0 regex =^\\s{0,100}BEGIN\\s{0,100}[{] awk script text ++0 search/16384 BEGIN ++>0 regex =^\\s{0,100}BEGIN\\s{0,100}[{] awk script text + + # AT&T Bell Labs' Plan 9 shell + 0 string/wt #!\ /bin/rc Plan 9 rc shell script text executable +-- +2.0.3 + +From 71a8b6c0d758acb0f73e2e51421a711b5e9d6668 Mon Sep 17 00:00:00 2001 +From: Christos Zoulas <christos@zoulas.com> +Date: Fri, 30 May 2014 16:48:44 +0000 +Subject: [PATCH] Limit regex search for BEGIN to the first 4K of the file. + +--- + magic/Magdir/commands | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/magic/Magdir/commands b/magic/Magdir/commands +index 26b2869..bcd0f43 100644 +--- a/magic/Magdir/commands ++++ b/magic/Magdir/commands +@@ -49,8 +49,7 @@ + !:mime text/x-awk + 0 string/wt #!\ /usr/bin/awk awk script text executable + !:mime text/x-awk +-0 search/16384 BEGIN +->0 regex =^\\s{0,100}BEGIN\\s{0,100}[{] awk script text ++0 regex/4096 =^\\s{0,100}BEGIN\\s{0,100}[{] awk script text + + # AT&T Bell Labs' Plan 9 shell + 0 string/wt #!\ /bin/rc Plan 9 rc shell script text executable +-- +2.0.3 + diff --git a/ext/fileinfo/tests/cve-2014-3538.phpt b/ext/fileinfo/tests/cve-2014-3538.phpt new file mode 100644 index 0000000000..d6bc9c68c8 --- /dev/null +++ b/ext/fileinfo/tests/cve-2014-3538.phpt @@ -0,0 +1,35 @@ +--TEST-- +Bug #66731: file: extensive backtraking +--SKIPIF-- +<?php +if (!class_exists('finfo')) + die('skip no fileinfo extension'); +--FILE-- +<?php +$fd = __DIR__.'/cve-2014-3538.data'; + +file_put_contents($fd, + 'try:' . + str_repeat("\n", 1000000)); + +$fi = finfo_open(FILEINFO_NONE); +$t = microtime(true); +var_dump(finfo_file($fi, $fd)); +$t = microtime(true) - $t; +finfo_close($fi); +if ($t < 1) { + echo "Ok\n"; +} else { + printf("Failed, time=%.2f\n", $t); +} + +?> +Done +--CLEAN-- +<?php +@unlink(__DIR__.'/cve-2014-3538.data'); +?> +--EXPECTF-- +string(%d) "%s" +Ok +Done
\ No newline at end of file diff --git a/ext/filter/tests/bug49184.phpt b/ext/filter/tests/bug49184.phpt new file mode 100644 index 0000000000..86d35db0d5 --- /dev/null +++ b/ext/filter/tests/bug49184.phpt @@ -0,0 +1,22 @@ +--TEST-- +Bug #67296 (filter_input doesn't validate variables) +--XFAIL-- +See Bug #49184 +--SKIPIF-- +<?php if (!extension_loaded("filter")) die("skip needs filter ext"); ?> +--ENV-- +return <<<END +HTTP_X_FORWARDED_FOR=example.com +END; +--FILE-- +<?php + var_dump(filter_input(INPUT_SERVER, "HTTP_X_FORWARDED_FOR", FILTER_UNSAFE_RAW)); + var_dump($_SERVER["HTTP_X_FORWARDED_FOR"]); + var_dump(getenv("HTTP_X_FORWARDED_FOR")); + var_dump("done"); +?> +--EXPECT-- +string(11) "example.com" +string(11) "example.com" +string(11) "example.com" +string(4) "done" diff --git a/ext/ftp/tests/bug37799.phpt b/ext/ftp/tests/bug37799.phpt index bc9ce002a8..7636081a4e 100644 --- a/ext/ftp/tests/bug37799.phpt +++ b/ext/ftp/tests/bug37799.phpt @@ -18,5 +18,5 @@ var_dump(ftp_login($ftp, 'user', 'pass')); ftp_close($ftp); ?> --EXPECTF-- -Warning: ftp_login(): bogus msg in %sbug37799.php on line 8 +Warning: ftp_login(): %rdummy|bogus msg%r in %sbug37799.php on line 8 bool(false) diff --git a/ext/intl/formatter/formatter_parse.c b/ext/intl/formatter/formatter_parse.c index 6f3a3a12b5..0c8704d95c 100644 --- a/ext/intl/formatter/formatter_parse.c +++ b/ext/intl/formatter/formatter_parse.c @@ -73,7 +73,9 @@ PHP_FUNCTION( numfmt_parse ) } #if ICU_LOCALE_BUG && defined(LC_NUMERIC) - oldlocale = setlocale(LC_NUMERIC, "C"); + /* need to copy here since setlocale may change it later */ + oldlocale = estrdup(setlocale(LC_NUMERIC, NULL)); + setlocale(LC_NUMERIC, "C"); #endif switch(type) { @@ -100,6 +102,7 @@ PHP_FUNCTION( numfmt_parse ) } #if ICU_LOCALE_BUG && defined(LC_NUMERIC) setlocale(LC_NUMERIC, oldlocale); + efree(oldlocale); #endif if(zposition) { zval_dtor(zposition); diff --git a/ext/intl/locale/locale_methods.c b/ext/intl/locale/locale_methods.c index 21b5847f2d..f1e184914d 100644 --- a/ext/intl/locale/locale_methods.c +++ b/ext/intl/locale/locale_methods.c @@ -269,8 +269,7 @@ static char* get_icu_value_internal( const char* loc_name , char* tag_name, int* grOffset = findOffset( LOC_GRANDFATHERED , loc_name ); if( grOffset >= 0 ){ if( strcmp(tag_name , LOC_LANG_TAG)==0 ){ - tag_value = estrdup(loc_name); - return tag_value; + return estrdup(loc_name); } else { /* Since Grandfathered , no value , do nothing , retutn NULL */ return NULL; @@ -280,8 +279,8 @@ static char* get_icu_value_internal( const char* loc_name , char* tag_name, int* if( fromParseLocale==1 ){ /* Handle singletons */ if( strcmp(tag_name , LOC_LANG_TAG)==0 ){ - if( strlen(loc_name)>1 && (isIDPrefix(loc_name) ==1 ) ){ - return (char *)loc_name; + if( strlen(loc_name)>1 && (isIDPrefix(loc_name) == 1) ){ + return estrdup(loc_name); } } @@ -498,6 +497,14 @@ static void get_icu_disp_value_src_php( char* tag_name, INTERNAL_FUNCTION_PARAME RETURN_FALSE; } + if(loc_name_len > ULOC_FULLNAME_CAPACITY) { + /* See bug 67397: overlong locale names cause trouble in uloc_getDisplayName */ + spprintf(&msg , 0, "locale_get_display_%s : name too long", tag_name ); + intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, msg , 1 TSRMLS_CC ); + efree(msg); + RETURN_FALSE; + } + if(loc_name_len == 0) { loc_name = intl_locale_get_default(TSRMLS_C); } diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c index 65e53c8b5e..ff1627a18f 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -445,7 +445,7 @@ ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_idarg_static, 0, 0, 1 ) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_from_date_time_zone, 0, 0, 1 ) - ZEND_ARG_OBJ_INFO( 0, dateTimeZone, IntlDateTimeZone, 0 ) + ZEND_ARG_OBJ_INFO( 0, dateTimeZone, DateTimeZone, 0 ) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX( arginfo_tz_create_enumeration, 0, 0, 0 ) diff --git a/ext/intl/tests/bug14562.phpt b/ext/intl/tests/bug14562.phpt index 3256268405..7cf927f7e7 100644 --- a/ext/intl/tests/bug14562.phpt +++ b/ext/intl/tests/bug14562.phpt @@ -15,6 +15,7 @@ function ut_main() setlocale(LC_ALL, $de_locale); $fmt = new NumberFormatter("de", NumberFormatter::DECIMAL ); $numeric = $fmt->parse("1234,56"); + setlocale(LC_ALL, "C"); // reset for printing $res_str .= "$numeric\n"; return $res_str; } diff --git a/ext/intl/tests/bug62082.phpt b/ext/intl/tests/bug62082.phpt index e6ca73e300..dab1252afd 100644 --- a/ext/intl/tests/bug62082.phpt +++ b/ext/intl/tests/bug62082.phpt @@ -10,6 +10,7 @@ var_dump(locale_get_display_name(str_repeat("a", 300), null)); var_dump(locale_get_display_name(str_repeat("a", 512), null)); var_dump(locale_get_display_name(str_repeat("a", 600), null)); --EXPECT-- -string(300) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -string(512) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" -string(600) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +bool(false) +bool(false) +bool(false) + diff --git a/ext/intl/tests/bug66921.phpt b/ext/intl/tests/bug66921.phpt new file mode 100644 index 0000000000..58ae9c0f82 --- /dev/null +++ b/ext/intl/tests/bug66921.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug #66921 - Wrong argument type hint for function intltz_from_date_time_zone +--SKIPIF-- +<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> +--FILE-- +<?php +$f = new ReflectionFunction('intltz_from_date_time_zone'); +var_dump($f->getParameters()[0]->getClass()); + +?> +--EXPECTF-- +object(ReflectionClass)#%d (1) { + ["name"]=> + string(12) "DateTimeZone" +} diff --git a/ext/intl/tests/bug67052.phpt b/ext/intl/tests/bug67052.phpt new file mode 100644 index 0000000000..c8363b9c7a --- /dev/null +++ b/ext/intl/tests/bug67052.phpt @@ -0,0 +1,25 @@ +--TEST-- +Bug #67052 - NumberFormatter::parse() resets LC_NUMERIC setting +--SKIPIF-- +<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> +--FILE-- +<?php + +function ut_main() +{ + setlocale(LC_ALL, 'de_DE'); + $fmt = new NumberFormatter( 'sl_SI.UTF-8', NumberFormatter::DECIMAL); + $num = "1.234.567,891"; + $res_str = $fmt->parse($num)."\n"; + $res_str .= setlocale(LC_NUMERIC, 0); + return $res_str; +} + +include_once( 'ut_common.inc' ); +ut_run(); + +?> +--EXPECT-- +1234567,891 +de_DE + diff --git a/ext/intl/tests/bug67397.phpt b/ext/intl/tests/bug67397.phpt new file mode 100644 index 0000000000..b2b2911f8a --- /dev/null +++ b/ext/intl/tests/bug67397.phpt @@ -0,0 +1,21 @@ +--TEST-- +Bug #67397 (Buffer overflow in locale_get_display_name->uloc_getDisplayName (libicu 4.8.1)) +--SKIPIF-- +<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> +--FILE-- +<?php + +function ut_main() +{ + $ret = var_export(ut_loc_get_display_name(str_repeat('*', 256), 'en_us'), true); + $ret .= "\n"; + $ret .= var_export(intl_get_error_message(), true); + return $ret; +} + +include_once( 'ut_common.inc' ); +ut_run(); +?> +--EXPECTF-- +false +'locale_get_display_name : name too long: U_ILLEGAL_ARGUMENT_ERROR' diff --git a/ext/intl/tests/collator_get_locale.phpt b/ext/intl/tests/collator_get_locale.phpt index 68440f3ee7..e71a020b4b 100644 --- a/ext/intl/tests/collator_get_locale.phpt +++ b/ext/intl/tests/collator_get_locale.phpt @@ -3,6 +3,8 @@ get_locale() icu <= 4.2 --SKIPIF-- <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> <?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?> +--INI-- +precision=6 --FILE-- <?php diff --git a/ext/intl/tests/dateformat_localtime.phpt b/ext/intl/tests/dateformat_localtime.phpt index 79f297db74..4d185c232d 100644 --- a/ext/intl/tests/dateformat_localtime.phpt +++ b/ext/intl/tests/dateformat_localtime.phpt @@ -3,6 +3,8 @@ datefmt_localtime_code() icu <= 4.2 --SKIPIF-- <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> <?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?> +--INI-- +date.timezone=UTC --FILE-- <?php diff --git a/ext/intl/tests/locale_parse_locale2.phpt b/ext/intl/tests/locale_parse_locale2.phpt index 6012862a48..30cc8cc0ae 100644 --- a/ext/intl/tests/locale_parse_locale2.phpt +++ b/ext/intl/tests/locale_parse_locale2.phpt @@ -63,7 +63,8 @@ function ut_main() //Some Invalid Tags: 'de-419-DE', 'a-DE', - 'ar-a-aaa-b-bbb-a-ccc' + 'ar-a-aaa-b-bbb-a-ccc', + 'x-AAAAAA', ); @@ -201,3 +202,6 @@ No values found from Locale parsing. --------------------- ar-a-aaa-b-bbb-a-ccc: language : 'ar' , +--------------------- +x-AAAAAA: +private0 : 'AAAAAA' , diff --git a/ext/mysql/tests/mysql_trace_mode.phpt b/ext/mysql/tests/mysql_trace_mode.phpt index 7655975d70..73872de1db 100644 --- a/ext/mysql/tests/mysql_trace_mode.phpt +++ b/ext/mysql/tests/mysql_trace_mode.phpt @@ -31,7 +31,7 @@ require_once("clean_table.inc"); --EXPECTF-- Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in %s on line %d I don\'t mind character sets, do I?\n -Warning: mysql_query(): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BOGUS_SQL' at line 1 in %s on line %d +Warning: mysql_query(): You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'BOGUS_SQL' at line 1 in %s on line %d done! Warning: Unknown: 1 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in %s on line %d diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c index b23d7e3139..f13958897f 100644 --- a/ext/mysqli/mysqli.c +++ b/ext/mysqli/mysqli.c @@ -715,6 +715,10 @@ PHP_MINIT_FUNCTION(mysqli) REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_IGNORE_SPACE", CLIENT_IGNORE_SPACE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_NO_SCHEMA", CLIENT_NO_SCHEMA, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_FOUND_ROWS", CLIENT_FOUND_ROWS, CONST_CS | CONST_PERSISTENT); +#if (MYSQL_VERSION_ID >= 50611 && defined(CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS)) || defined(MYSQLI_USE_MYSQLND) + REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS", CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS", MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS, CONST_CS | CONST_PERSISTENT); +#endif /* for mysqli_query */ REGISTER_LONG_CONSTANT("MYSQLI_STORE_RESULT", MYSQLI_STORE_RESULT, CONST_CS | CONST_PERSISTENT); @@ -848,9 +852,6 @@ PHP_MINIT_FUNCTION(mysqli) REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_BACKUP_LOG", REFRESH_BACKUP_LOG, CONST_CS | CONST_PERSISTENT); #endif -#if (MYSQL_VERSION_ID >= 50611 && defined(CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS)) || defined(MYSQLI_USE_MYSQLND) - REGISTER_LONG_CONSTANT("MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS", MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS, CONST_CS | CONST_PERSISTENT); -#endif REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT", TRANS_START_WITH_CONSISTENT_SNAPSHOT, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_READ_WRITE", TRANS_START_READ_WRITE, CONST_CS | CONST_PERSISTENT); diff --git a/ext/mysqli/tests/066.phpt b/ext/mysqli/tests/066.phpt index 91dfce5073..a337e038c1 100644 --- a/ext/mysqli/tests/066.phpt +++ b/ext/mysqli/tests/066.phpt @@ -12,6 +12,9 @@ require_once('skipifconnectfailure.inc'); /*** test mysqli_connect 127.0.0.1 ***/ $mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket); + if (!mysqli_query($mysql, "SET sql_mode=''")) + printf("[002] Cannot set SQL-Mode, [%d] %s\n", mysqli_errno($mysql), mysqli_error($mysql)); + $mysql->query("DROP TABLE IF EXISTS test_warnings"); $mysql->query("CREATE TABLE test_warnings (a int not null) ENGINE=myisam"); diff --git a/ext/mysqli/tests/mysqli_change_user_new.phpt b/ext/mysqli/tests/mysqli_change_user_new.phpt index a87afa84a3..e16895766f 100644 --- a/ext/mysqli/tests/mysqli_change_user_new.phpt +++ b/ext/mysqli/tests/mysqli_change_user_new.phpt @@ -41,4 +41,4 @@ Warning: mysqli_query(): MySQL server has gone away in %s on line %d Warning: mysqli_query(): Error reading result set's header in %s on line %d [003] [2006] MySQL server has gone away -Fatal error: Call to a member function fetch_assoc() on a non-object in %s on line %d
\ No newline at end of file +Fatal error: Call to a member function fetch_assoc() on %s in %s on line %d
\ No newline at end of file diff --git a/ext/mysqli/tests/mysqli_constants.phpt b/ext/mysqli/tests/mysqli_constants.phpt index bed9d53419..9bbc8bb4b7 100644 --- a/ext/mysqli/tests/mysqli_constants.phpt +++ b/ext/mysqli/tests/mysqli_constants.phpt @@ -196,6 +196,7 @@ require_once('skipifconnectfailure.inc'); if (($IS_MYSQLND && version_compare(PHP_VERSION, ' 5.4.12-dev', '>=')) || (!$IS_MYSQLND && ($version > 50610))) { /* could be that MySQL/libmysql 5.6.9 had the flag already but it was no stable release */ $expected_constants["MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS"] = true; + $expected_constants["MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS"] = true; } $unexpected_constants = array(); diff --git a/ext/mysqli/tests/mysqli_driver.phpt b/ext/mysqli/tests/mysqli_driver.phpt index 023e4d2299..02223809ee 100644 --- a/ext/mysqli/tests/mysqli_driver.phpt +++ b/ext/mysqli/tests/mysqli_driver.phpt @@ -110,5 +110,5 @@ require_once('skipifconnectfailure.inc'); print "done!"; ?> --EXPECTF-- -Warning: mysqli_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NO_SQL' at line 1 in %s on line %d +Warning: mysqli_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'NO_SQL' at line 1 in %s on line %d done!
\ No newline at end of file diff --git a/ext/mysqli/tests/mysqli_report.phpt b/ext/mysqli/tests/mysqli_report.phpt index 4d2d3553d1..3dcf4981b8 100644 --- a/ext/mysqli/tests/mysqli_report.phpt +++ b/ext/mysqli/tests/mysqli_report.phpt @@ -284,19 +284,19 @@ require_once('skipifconnectfailure.inc'); require_once("clean_table.inc"); ?> --EXPECTF-- -Warning: mysqli_multi_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BAR; FOO' at line 1 in %s on line %d +Warning: mysqli_multi_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'BAR; FOO' at line 1 in %s on line %d -Warning: mysqli_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOO' at line 1 in %s on line %d +Warning: mysqli_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'FOO' at line 1 in %s on line %d Warning: mysqli_kill(): processid should have positive value in %s on line %d -Warning: mysqli_prepare(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOO' at line 1 in %s on line %d +Warning: mysqli_prepare(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'FOO' at line 1 in %s on line %d -Warning: mysqli_real_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOO' at line 1 in %s on line %d +Warning: mysqli_real_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'FOO' at line 1 in %s on line %d Warning: mysqli_kill(): processid should have positive value in %s on line %d -Warning: mysqli_stmt_prepare(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOO' at line 1 in %s on line %d +Warning: mysqli_stmt_prepare(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'FOO' at line 1 in %s on line %d [013] Access denied for user '%s'@'%s' (using password: YES) [016] Access denied for user '%s'@'%s' (using password: YES) done!
\ No newline at end of file diff --git a/ext/mysqli/tests/mysqli_report_wo_ps.phpt b/ext/mysqli/tests/mysqli_report_wo_ps.phpt index dae81b21cc..2665793407 100644 --- a/ext/mysqli/tests/mysqli_report_wo_ps.phpt +++ b/ext/mysqli/tests/mysqli_report_wo_ps.phpt @@ -104,15 +104,15 @@ if (mysqli_get_server_version($link) >= 50600) require_once("clean_table.inc"); ?> --EXPECTF-- -Warning: mysqli_multi_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BAR; FOO' at line 1 in %s on line %d +Warning: mysqli_multi_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'BAR; FOO' at line 1 in %s on line %d -Warning: mysqli_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOO' at line 1 in %s on line %d +Warning: mysqli_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'FOO' at line 1 in %s on line %d Warning: mysqli_change_user(): (%d/%d): Access denied for user '%s'@'%s' (using password: %s) in %s on line %d Warning: mysqli_kill(): processid should have positive value in %s on line %d -Warning: mysqli_real_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOO' at line 1 in %s on line %d +Warning: mysqli_real_query(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'FOO' at line 1 in %s on line %d Warning: mysqli_kill(): processid should have positive value in %s on line %d [011] Access denied for user '%s'@'%s' (using password: YES) diff --git a/ext/mysqli/tests/table.inc b/ext/mysqli/tests/table.inc index aa1207af44..cb089bb950 100644 --- a/ext/mysqli/tests/table.inc +++ b/ext/mysqli/tests/table.inc @@ -12,7 +12,7 @@ if (!mysqli_query($link, 'DROP TABLE IF EXISTS test')) { exit(1); } -if (!mysqli_query($link, 'CREATE TABLE test(id INT, label CHAR(1), PRIMARY KEY(id)) ENGINE=' . $engine)) { +if (!mysqli_query($link, 'CREATE TABLE test(id INT DEFAULT 0, label CHAR(1), PRIMARY KEY(id)) ENGINE=' . $engine)) { printf("Failed to create test table: [%d] %s\n", mysqli_errno($link), mysqli_error($link)); exit(1); } diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c index 893a144c4b..5d5e77f9bb 100644 --- a/ext/mysqlnd/mysqlnd.c +++ b/ext/mysqlnd/mysqlnd.c @@ -321,6 +321,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, simple_command_send_request)(MYSQLND_CONN_DATA DBG_ENTER("mysqlnd_conn_data::simple_command_send_request"); DBG_INF_FMT("command=%s silent=%u", mysqlnd_command_to_text[command], silent); DBG_INF_FMT("conn->server_status=%u", conn->upsert_status->server_status); + DBG_INF_FMT("sending %u bytes", arg_len + 1); /* + 1 is for the command */ switch (CONN_GET_STATE(conn)) { case CONN_READY: @@ -448,6 +449,31 @@ mysqlnd_switch_to_ssl_if_needed( const MYSQLND_CHARSET * charset; MYSQLND_PACKET_AUTH * auth_packet; DBG_ENTER("mysqlnd_switch_to_ssl_if_needed"); + DBG_INF_FMT("client_capability_flags=%lu", mysql_flags); + DBG_INF_FMT("CLIENT_LONG_PASSWORD= %d", mysql_flags & CLIENT_LONG_PASSWORD? 1:0); + DBG_INF_FMT("CLIENT_FOUND_ROWS= %d", mysql_flags & CLIENT_FOUND_ROWS? 1:0); + DBG_INF_FMT("CLIENT_LONG_FLAG= %d", mysql_flags & CLIENT_LONG_FLAG? 1:0); + DBG_INF_FMT("CLIENT_NO_SCHEMA= %d", mysql_flags & CLIENT_NO_SCHEMA? 1:0); + DBG_INF_FMT("CLIENT_COMPRESS= %d", mysql_flags & CLIENT_COMPRESS? 1:0); + DBG_INF_FMT("CLIENT_ODBC= %d", mysql_flags & CLIENT_ODBC? 1:0); + DBG_INF_FMT("CLIENT_LOCAL_FILES= %d", mysql_flags & CLIENT_LOCAL_FILES? 1:0); + DBG_INF_FMT("CLIENT_IGNORE_SPACE= %d", mysql_flags & CLIENT_IGNORE_SPACE? 1:0); + DBG_INF_FMT("CLIENT_PROTOCOL_41= %d", mysql_flags & CLIENT_PROTOCOL_41? 1:0); + DBG_INF_FMT("CLIENT_INTERACTIVE= %d", mysql_flags & CLIENT_INTERACTIVE? 1:0); + DBG_INF_FMT("CLIENT_SSL= %d", mysql_flags & CLIENT_SSL? 1:0); + DBG_INF_FMT("CLIENT_IGNORE_SIGPIPE= %d", mysql_flags & CLIENT_IGNORE_SIGPIPE? 1:0); + DBG_INF_FMT("CLIENT_TRANSACTIONS= %d", mysql_flags & CLIENT_TRANSACTIONS? 1:0); + DBG_INF_FMT("CLIENT_RESERVED= %d", mysql_flags & CLIENT_RESERVED? 1:0); + DBG_INF_FMT("CLIENT_SECURE_CONNECTION=%d", mysql_flags & CLIENT_SECURE_CONNECTION? 1:0); + DBG_INF_FMT("CLIENT_MULTI_STATEMENTS=%d", mysql_flags & CLIENT_MULTI_STATEMENTS? 1:0); + DBG_INF_FMT("CLIENT_MULTI_RESULTS= %d", mysql_flags & CLIENT_MULTI_RESULTS? 1:0); + DBG_INF_FMT("CLIENT_PS_MULTI_RESULTS=%d", mysql_flags & CLIENT_PS_MULTI_RESULTS? 1:0); + DBG_INF_FMT("CLIENT_CONNECT_ATTRS= %d", mysql_flags & CLIENT_PLUGIN_AUTH? 1:0); + DBG_INF_FMT("CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA= %d", mysql_flags & CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA? 1:0); + DBG_INF_FMT("CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS= %d", mysql_flags & CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS? 1:0); + DBG_INF_FMT("CLIENT_SESSION_TRACK= %d", mysql_flags & CLIENT_SESSION_TRACK? 1:0); + DBG_INF_FMT("CLIENT_SSL_VERIFY_SERVER_CERT= %d", mysql_flags & CLIENT_SSL_VERIFY_SERVER_CERT? 1:0); + DBG_INF_FMT("CLIENT_REMEMBER_OPTIONS= %d", mysql_flags & CLIENT_REMEMBER_OPTIONS? 1:0); auth_packet = conn->protocol->m.get_auth_packet(conn->protocol, FALSE TSRMLS_CC); if (!auth_packet) { @@ -1863,6 +1889,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, send_close)(MYSQLND_CONN_DATA * const conn TSR enum_func_status ret = PASS; MYSQLND_NET * net = conn->net; php_stream * net_stream = net->data->m.get_stream(net TSRMLS_CC); + enum mysqlnd_connection_state state; DBG_ENTER("mysqlnd_send_close"); DBG_INF_FMT("conn=%llu net->data->stream->abstract=%p", conn->thread_id, net_stream? net_stream->abstract:NULL); @@ -1873,7 +1900,9 @@ MYSQLND_METHOD(mysqlnd_conn_data, send_close)(MYSQLND_CONN_DATA * const conn TSR MYSQLND_DEC_CONN_STATISTIC(conn->stats, STAT_OPENED_PERSISTENT_CONNECTIONS); } } - switch (CONN_GET_STATE(conn)) { + state = CONN_GET_STATE(conn); + DBG_INF_FMT("state=%u", state); + switch (state) { case CONN_READY: DBG_INF("Connection clean, sending COM_QUIT"); if (net_stream) { diff --git a/ext/mysqlnd/mysqlnd_charset.c b/ext/mysqlnd/mysqlnd_charset.c index c2f2b8890e..dfa90db255 100644 --- a/ext/mysqlnd/mysqlnd_charset.c +++ b/ext/mysqlnd/mysqlnd_charset.c @@ -418,20 +418,60 @@ static uint mysqlnd_mbcharlen_utf16(unsigned int utf16) /* {{{ utf32 functions */ -static uint -check_mb_utf32(const char *start __attribute((unused)), const char *end __attribute((unused))) +static unsigned int check_mb_utf32(const char *start __attribute((unused)), const char *end __attribute((unused))) { return 4; } -static uint -mysqlnd_mbcharlen_utf32(unsigned int utf32 __attribute((unused))) +static unsigned int mysqlnd_mbcharlen_utf32(unsigned int utf32 __attribute((unused))) { return 4; } /* }}} */ + +/* {{{ gb18030 functions */ +#define is_gb18030_odd(c) (0x81 <= (zend_uchar) (c) && (zend_uchar) (c) <= 0xFE) +#define is_gb18030_even_2(c) ((0x40 <= (zend_uchar) (c) && (zend_uchar) (c) <= 0x7E) || (0x80 <= (zend_uchar) (c) && (zend_uchar) (c) <= 0xFE)) +#define is_gb18030_even_4(c) (0x30 <= (zend_uchar) (c) && (zend_uchar) (c) <= 0x39) + + +static unsigned int mysqlnd_mbcharlen_gb18030(unsigned int c) +{ + if (c <= 0xFF) { + return !is_gb18030_odd(c); + } + if (c > 0xFFFF || !is_gb18030_odd((c >> 8) & 0xFF)) { + return 0; + } + if (is_gb18030_even_2((c & 0xFF))) { + return 2; + } + if (is_gb18030_even_4((c & 0xFF))) { + return 4; + } + + return 0; +} + + +static unsigned int my_ismbchar_gb18030(const char * start, const char * end) +{ + if (end - start <= 1 || !is_gb18030_odd(start[0])) { + return 0; + } + + if (is_gb18030_even_2(start[1])) { + return 2; + } else if (end - start > 3 && is_gb18030_even_4(start[1]) && is_gb18030_odd(start[2]) && is_gb18030_even_4(start[3])) { + return 4; + } + + return 0; +} +/* }}} */ + /* The server compiles sometimes the full utf-8 (the mb4) as utf8m4, and the old as utf8, for BC reasons. Sometimes, utf8mb4 is just utf8 but the old charsets are utf8mb3. @@ -643,6 +683,8 @@ const MYSQLND_CHARSET mysqlnd_charsets[] = { 245, UTF8_MB4, UTF8_MB4"_croatian_ci", 1, 4, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid}, { 246, UTF8_MB4, UTF8_MB4"_unicode_520_ci", 1, 4, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid}, { 247, UTF8_MB4, UTF8_MB4"_vietnamese_ci", 1, 4, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid}, + { 248, "gb18030", "gb18030_chinese_ci", 1, 4, "", mysqlnd_mbcharlen_gb18030, my_ismbchar_gb18030}, + { 249, "gb18030", "gb18030_bin", 1, 4, "", mysqlnd_mbcharlen_gb18030, my_ismbchar_gb18030}, { 254, UTF8_MB3, UTF8_MB3"_general_cs", 1, 3, "", mysqlnd_mbcharlen_utf8, check_mb_utf8_valid}, { 0, NULL, NULL, 0, 0, NULL, NULL, NULL} diff --git a/ext/mysqlnd/mysqlnd_enum_n_def.h b/ext/mysqlnd/mysqlnd_enum_n_def.h index e1fc5f8f01..3212c778a8 100644 --- a/ext/mysqlnd/mysqlnd_enum_n_def.h +++ b/ext/mysqlnd/mysqlnd_enum_n_def.h @@ -100,7 +100,9 @@ #define CLIENT_CONNECT_ATTRS (1UL << 20) /* Client supports connection attributes */ #define CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA (1UL << 21) /* Enable authentication response packet to be larger than 255 bytes. */ #define CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS (1UL << 22) /* Don't close the connection for a connection with expired password. */ -#define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30) +#define CLIENT_SESSION_TRACK (1UL << 23) /* Extended OK */ +#define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30) +#define CLIENT_REMEMBER_OPTIONS (1UL << 31) #define MYSQLND_CAPABILITIES (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG | CLIENT_TRANSACTIONS | \ CLIENT_PROTOCOL_41 | CLIENT_SECURE_CONNECTION | \ @@ -214,23 +216,23 @@ typedef enum mysqlnd_protocol_type typedef enum mysqlnd_field_types { - MYSQL_TYPE_DECIMAL, - MYSQL_TYPE_TINY, - MYSQL_TYPE_SHORT, - MYSQL_TYPE_LONG, - MYSQL_TYPE_FLOAT, - MYSQL_TYPE_DOUBLE, - MYSQL_TYPE_NULL, - MYSQL_TYPE_TIMESTAMP, - MYSQL_TYPE_LONGLONG, - MYSQL_TYPE_INT24, - MYSQL_TYPE_DATE, - MYSQL_TYPE_TIME, - MYSQL_TYPE_DATETIME, - MYSQL_TYPE_YEAR, - MYSQL_TYPE_NEWDATE, - MYSQL_TYPE_VARCHAR, - MYSQL_TYPE_BIT, + MYSQL_TYPE_DECIMAL = 0, + MYSQL_TYPE_TINY = 1, + MYSQL_TYPE_SHORT = 2, + MYSQL_TYPE_LONG = 3, + MYSQL_TYPE_FLOAT = 4, + MYSQL_TYPE_DOUBLE = 5, + MYSQL_TYPE_NULL = 6, + MYSQL_TYPE_TIMESTAMP= 7, + MYSQL_TYPE_LONGLONG = 8, + MYSQL_TYPE_INT24 = 9, + MYSQL_TYPE_DATE = 10, + MYSQL_TYPE_TIME = 11, + MYSQL_TYPE_DATETIME = 12, + MYSQL_TYPE_YEAR = 13, + MYSQL_TYPE_NEWDATE = 14, + MYSQL_TYPE_VARCHAR = 15, + MYSQL_TYPE_BIT = 16, MYSQL_TYPE_NEWDECIMAL=246, MYSQL_TYPE_ENUM=247, MYSQL_TYPE_SET=248, @@ -322,23 +324,23 @@ typedef enum mysqlnd_server_option typedef enum mysqlnd_connection_state { CONN_ALLOCED = 0, - CONN_READY, - CONN_QUERY_SENT, - CONN_SENDING_LOAD_DATA, - CONN_FETCHING_DATA, - CONN_NEXT_RESULT_PENDING, - CONN_QUIT_SENT /* object is "destroyed" at this stage */ + CONN_READY = 1, + CONN_QUERY_SENT = 2, + CONN_SENDING_LOAD_DATA = 3, + CONN_FETCHING_DATA = 4, + CONN_NEXT_RESULT_PENDING = 5, + CONN_QUIT_SENT = 6 /* object is "destroyed" at this stage */ } enum_mysqlnd_connection_state; typedef enum mysqlnd_stmt_state { MYSQLND_STMT_INITTED = 0, - MYSQLND_STMT_PREPARED, - MYSQLND_STMT_EXECUTED, - MYSQLND_STMT_WAITING_USE_OR_STORE, - MYSQLND_STMT_USE_OR_STORE_CALLED, - MYSQLND_STMT_USER_FETCHING /* fetch_row_buff or fetch_row_unbuf */ + MYSQLND_STMT_PREPARED = 1, + MYSQLND_STMT_EXECUTED = 2, + MYSQLND_STMT_WAITING_USE_OR_STORE = 3, + MYSQLND_STMT_USE_OR_STORE_CALLED = 4, + MYSQLND_STMT_USER_FETCHING = 5/* fetch_row_buff or fetch_row_unbuf */ } enum_mysqlnd_stmt_state; @@ -596,9 +598,10 @@ enum php_mysqlnd_server_command COM_STMT_RESET = 26, COM_SET_OPTION = 27, COM_STMT_FETCH = 28, - COM_DAEMON, - COM_BINLOG_DUMP_GTID, - COM_RESET_CONNECTION, + COM_DAEMON = 29, + COM_BINLOG_DUMP_GTID = 30, + COM_RESET_CONNECTION = 31, + COM_STMT_EXECUTE_BATCH = 32, COM_END }; diff --git a/ext/mysqlnd/mysqlnd_net.c b/ext/mysqlnd/mysqlnd_net.c index 226c855b3d..0d7b006456 100644 --- a/ext/mysqlnd/mysqlnd_net.c +++ b/ext/mysqlnd/mysqlnd_net.c @@ -99,6 +99,7 @@ MYSQLND_METHOD(mysqlnd_net, network_write_ex)(MYSQLND_NET * const net, const zen { size_t ret; DBG_ENTER("mysqlnd_net::network_write_ex"); + DBG_INF_FMT("sending %u bytes", count); ret = php_stream_write(net->data->m.get_stream(net TSRMLS_CC), (char *)buffer, count); DBG_RETURN(ret); } @@ -357,6 +358,10 @@ MYSQLND_METHOD(mysqlnd_net, send_ex)(MYSQLND_NET * const net, zend_uchar * const do { to_be_sent = MIN(left, MYSQLND_MAX_PACKET_SIZE); + DBG_INF_FMT("to_be_sent=%u", to_be_sent); + DBG_INF_FMT("packets_sent=%u", packets_sent); + DBG_INF_FMT("compressed_envelope_packet_no=%u", net->compressed_envelope_packet_no); + DBG_INF_FMT("packet_no=%u", net->packet_no); #ifdef MYSQLND_COMPRESSION_ENABLED if (net->data->compressed == TRUE) { /* here we need to compress the data and then write it, first comes the compressed header */ diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.c b/ext/mysqlnd/mysqlnd_wireprotocol.c index ecce71d9c2..83ae2a7977 100644 --- a/ext/mysqlnd/mysqlnd_wireprotocol.c +++ b/ext/mysqlnd/mysqlnd_wireprotocol.c @@ -226,7 +226,7 @@ php_mysqlnd_net_store_length_size(uint64_t length) if (length < (uint64_t) L64(16777216)) { return 4; } - return 8; + return 9; } /* }}} */ diff --git a/ext/oci8/LICENSE b/ext/oci8/LICENSE index 42536af320..6059c80e12 100644 --- a/ext/oci8/LICENSE +++ b/ext/oci8/LICENSE @@ -1,6 +1,6 @@ -------------------------------------------------------------------- The PHP License, version 3.01 -Copyright (c) 1999 - 2012 The PHP Group. All rights reserved. +Copyright (c) 1999 - 2014 The PHP Group. All rights reserved. -------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 4d21b3a136..19f9fe4eb0 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -780,6 +780,9 @@ PHP_MINIT_FUNCTION(odbc) REGISTER_LONG_CONSTANT("SQL_TYPE_DATE", SQL_TYPE_DATE, CONST_PERSISTENT | CONST_CS); REGISTER_LONG_CONSTANT("SQL_TYPE_TIME", SQL_TYPE_TIME, CONST_PERSISTENT | CONST_CS); REGISTER_LONG_CONSTANT("SQL_TYPE_TIMESTAMP", SQL_TYPE_TIMESTAMP, CONST_PERSISTENT | CONST_CS); + REGISTER_LONG_CONSTANT("SQL_WCHAR", SQL_WCHAR, CONST_PERSISTENT | CONST_CS); + REGISTER_LONG_CONSTANT("SQL_WVARCHAR", SQL_WVARCHAR, CONST_PERSISTENT | CONST_CS); + REGISTER_LONG_CONSTANT("SQL_WLONGVARCHAR", SQL_WLONGVARCHAR, CONST_PERSISTENT | CONST_CS); /* * SQLSpecialColumns values @@ -943,9 +946,13 @@ int odbc_bindcols(odbc_result *result TSRMLS_DC) { RETCODE rc; int i; - SQLSMALLINT colnamelen; /* Not used */ - SQLLEN displaysize; + SQLSMALLINT colnamelen; /* Not used */ + SQLLEN displaysize; + SQLUSMALLINT colfieldid; + int charextraalloc; + colfieldid = SQL_COLUMN_DISPLAY_SIZE; + charextraalloc = 0; result->values = (odbc_result_value *) safe_emalloc(sizeof(odbc_result_value), result->numcols, 0); result->longreadlen = ODBCG(defaultlrl); @@ -966,6 +973,9 @@ int odbc_bindcols(odbc_result *result TSRMLS_DC) case SQL_VARBINARY: case SQL_LONGVARBINARY: case SQL_LONGVARCHAR: +#if defined(ODBCVER) && (ODBCVER >= 0x0300) + case SQL_WLONGVARCHAR: +#endif result->values[i].value = NULL; break; @@ -976,15 +986,27 @@ int odbc_bindcols(odbc_result *result TSRMLS_DC) 27, &result->values[i].vallen); break; #endif /* HAVE_ADABAS */ + case SQL_CHAR: + case SQL_VARCHAR: +#if defined(ODBCVER) && (ODBCVER >= 0x0300) + case SQL_WCHAR: + case SQL_WVARCHAR: + colfieldid = SQL_DESC_OCTET_LENGTH; +#else + charextraalloc = 1; +#endif default: - rc = SQLColAttributes(result->stmt, (SQLUSMALLINT)(i+1), SQL_COLUMN_DISPLAY_SIZE, - NULL, 0, NULL, &displaysize); - displaysize = displaysize <= result->longreadlen ? displaysize : - result->longreadlen; + rc = SQLColAttributes(result->stmt, (SQLUSMALLINT)(i+1), colfieldid, + NULL, 0, NULL, &displaysize); /* Workaround for Oracle ODBC Driver bug (#50162) when fetching TIMESTAMP column */ if (result->values[i].coltype == SQL_TIMESTAMP) { displaysize += 3; } + + if (charextraalloc) { + /* Since we don't know the exact # of bytes, allocate extra */ + displaysize *= 4; + } result->values[i].value = (char *)emalloc(displaysize + 1); rc = SQLBindCol(result->stmt, (SQLUSMALLINT)(i+1), SQL_C_CHAR, result->values[i].value, displaysize + 1, &result->values[i].vallen); @@ -1725,6 +1747,9 @@ static void php_odbc_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type) sql_c_type = SQL_C_BINARY; } case SQL_LONGVARCHAR: +#if defined(ODBCVER) && (ODBCVER >= 0x0300) + case SQL_WLONGVARCHAR: +#endif if (IS_SQL_LONG(result->values[i].coltype) && result->longreadlen <= 0) { Z_STRVAL_P(tmp) = STR_EMPTY_ALLOC(); break; @@ -1876,7 +1901,11 @@ PHP_FUNCTION(odbc_fetch_into) break; } if (result->binmode == 1) sql_c_type = SQL_C_BINARY; + case SQL_LONGVARCHAR: +#if defined(ODBCVER) && (ODBCVER >= 0x0300) + case SQL_WLONGVARCHAR: +#endif if (IS_SQL_LONG(result->values[i].coltype) && result->longreadlen <= 0) { Z_STRVAL_P(tmp) = STR_EMPTY_ALLOC(); break; @@ -2095,6 +2124,9 @@ PHP_FUNCTION(odbc_result) break; } case SQL_LONGVARCHAR: +#if defined(ODBCVER) && (ODBCVER >= 0x0300) + case SQL_WLONGVARCHAR: +#endif if (IS_SQL_LONG(result->values[field_ind].coltype)) { if (result->longreadlen <= 0) { break; @@ -2132,7 +2164,11 @@ PHP_FUNCTION(odbc_result) } /* Reduce fieldlen by 1 if we have char data. One day we might have binary strings... */ - if (result->values[field_ind].coltype == SQL_LONGVARCHAR) { + if ((result->values[field_ind].coltype == SQL_LONGVARCHAR) +#if defined(ODBCVER) && (ODBCVER >= 0x0300) + || (result->values[field_ind].coltype == SQL_WLONGVARCHAR) +#endif + ) { fieldsize -= 1; } /* Don't duplicate result, saves one emalloc. @@ -2248,6 +2284,9 @@ PHP_FUNCTION(odbc_result_all) } if (result->binmode <= 1) sql_c_type = SQL_C_BINARY; case SQL_LONGVARCHAR: +#if defined(ODBCVER) && (ODBCVER >= 0x0300) + case SQL_WLONGVARCHAR: +#endif if (IS_SQL_LONG(result->values[i].coltype) && result->longreadlen <= 0) { php_printf("<td>Not printable</td>"); diff --git a/ext/odbc/php_odbc_includes.h b/ext/odbc/php_odbc_includes.h index a9b0acfa0c..06113d9624 100644 --- a/ext/odbc/php_odbc_includes.h +++ b/ext/odbc/php_odbc_includes.h @@ -115,6 +115,7 @@ PHP_FUNCTION(solid_fetch_prev); #endif #define ODBC_TYPE "unixODBC" +#undef ODBCVER #include <sql.h> #include <sqlext.h> #define HAVE_SQL_EXTENDED_FETCH 1 @@ -284,7 +285,11 @@ int odbc_bindcols(odbc_result *result TSRMLS_DC); void odbc_sql_error(ODBC_SQL_ERROR_PARAMS); +#if defined(ODBCVER) && (ODBCVER >= 0x0300) +#define IS_SQL_LONG(x) (x == SQL_LONGVARBINARY || x == SQL_LONGVARCHAR || x == SQL_WLONGVARCHAR) +#else #define IS_SQL_LONG(x) (x == SQL_LONGVARBINARY || x == SQL_LONGVARCHAR) +#endif #define IS_SQL_BINARY(x) (x == SQL_BINARY || x == SQL_VARBINARY || x == SQL_LONGVARBINARY) #ifdef ZTS diff --git a/ext/odbc/tests/bug60616.phpt b/ext/odbc/tests/bug60616.phpt new file mode 100644 index 0000000000..937049a9b8 --- /dev/null +++ b/ext/odbc/tests/bug60616.phpt @@ -0,0 +1,69 @@ +--TEST-- +odbc_exec(): Getting accurate unicode data from query +--SKIPIF-- +<?php include 'skipif.inc'; ?> +--FILE-- +<?php + +// Test strings +mb_internal_encoding("EUC_JP"); +$euc_jp_base64 = 'pdal6aWkpcCl676uyqo='; +$euc_jp = base64_decode($euc_jp_base64); +$ascii = 'abcdefghijklmnopqrstuvwxyz;]=#0123456789'; + +include 'config.inc'; +ini_set("odbc.defaultlrl", 4); // Set artifically low + +$conn = odbc_connect($dsn, $user, $pass); + +odbc_exec($conn, 'CREATE DATABASE odbcTEST ENCODING=\'EUC_JP\''); + +odbc_exec($conn, 'CREATE TABLE FOO (ID INT, CHAR_COL CHAR(200), VARCHAR_COL VARCHAR(200), TEXT_COL TEXT)'); + +odbc_exec($conn, "INSERT INTO FOO(ID, CHAR_COL, VARCHAR_COL, TEXT_COL) VALUES (1, '$euc_jp', '$euc_jp', '$euc_jp')"); +odbc_exec($conn, "INSERT INTO FOO(ID, CHAR_COL, VARCHAR_COL, TEXT_COL) VALUES (2, '$ascii', '$ascii', '$ascii')"); + +$res = odbc_exec($conn, 'SELECT * FROM FOO ORDER BY ID ASC'); + +while(odbc_fetch_row($res)) { + $char_col = odbc_result($res, "CHAR_COL"); + $varchar_col = odbc_result($res, "VARCHAR_COL"); + $id = odbc_result($res, "ID"); + $text_col = ""; + while (($chunk=odbc_result($res, "TEXT_COL")) !== false) { + $text_col .= $chunk; + } + + if ($id == 1) { + $euc_jp_check = $euc_jp . str_repeat(" ", (200 - mb_strlen($euc_jp))); + if (strcmp($char_col, $euc_jp_check) == 0 && strcmp($varchar_col, $euc_jp) == 0 && + strcmp($text_col, $euc_jp) == 0) { + print "EUC-JP matched\n"; + } else { + print "EUC-JP mismatched\n"; + } + } else { + $ascii_check = $ascii . str_repeat(" ", (200 - strlen($ascii))); + if (strcmp($char_col, $ascii_check) == 0 && strcmp($varchar_col, $ascii) == 0 && + strcmp($text_col, $ascii) == 0) { + print "ASCII matched\n"; + } else { + print "ASCII mismatched\n"; + } + } +} + +?> +--EXPECT-- +EUC-JP matched +ASCII matched +--CLEAN-- +<?php +include 'config.inc'; + +$conn = odbc_connect($dsn, $user, $pass); + +odbc_exec($conn, 'DROP TABLE FOO'); +odbc_exec($conn, 'DROP DATABASE odbcTEST'); + +?> diff --git a/ext/odbc/tests/odbc_columns_001.phpt b/ext/odbc/tests/odbc_columns_001.phpt index f6da78e8e7..fbbc3e2e03 100644 --- a/ext/odbc/tests/odbc_columns_001.phpt +++ b/ext/odbc/tests/odbc_columns_001.phpt @@ -24,9 +24,5 @@ resource(%d) of type (odbc result) bool(false) resource(%d) of type (odbc result) bool(false) - -Warning: odbc_columns(): SQL error: Failed to fetch error message, SQL state HY000 in SQLColumns in %s on line %d +resource(%d) of type (odbc result) bool(false) - -Warning: odbc_fetch_row() expects parameter 1 to be resource, boolean given in %s on line %d -NULL diff --git a/ext/odbc/tests/odbc_free_result_001.phpt b/ext/odbc/tests/odbc_free_result_001.phpt index 4fcd5cda2c..9704501413 100644 --- a/ext/odbc/tests/odbc_free_result_001.phpt +++ b/ext/odbc/tests/odbc_free_result_001.phpt @@ -12,7 +12,7 @@ $conn = odbc_connect($dsn, $user, $pass); odbc_exec($conn, 'CREATE DATABASE odbcTEST'); odbc_exec($conn, 'CREATE TABLE FOO (TEST INT)'); -odbc_exec($conn, 'ALTER TABLE FOO ADD PRIMARY KEY FOO(TEST)'); +odbc_exec($conn, 'ALTER TABLE FOO ADD PRIMARY KEY (TEST)'); odbc_exec($conn, 'INSERT INTO FOO VALUES (1)'); odbc_exec($conn, 'INSERT INTO FOO VALUES (2)'); diff --git a/ext/opcache/tests/bug67215.phpt b/ext/opcache/tests/bug67215.phpt new file mode 100644 index 0000000000..e9919d1001 --- /dev/null +++ b/ext/opcache/tests/bug67215.phpt @@ -0,0 +1,28 @@ +--TEST-- +Bug #67215 (php-cgi work with opcache, may be segmentation fault happen) +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.file_update_protection=0 +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--FILE-- +<?php + +$file_c = __DIR__ . "/bug67215.c.php"; +$file_p = __DIR__ . "/bug67215.p.php"; +file_put_contents($file_c, "<?php require \"$file_p\"; class c extends p {} ?>"); +file_put_contents($file_p, '<?php class p { protected $var = ""; } ?>'); +require $file_c; +$a = new c(); +require $file_c; +?> +--CLEAN-- +<?php +$file_c = __DIR__ . "/bug67215.c.php"; +$file_p = __DIR__ . "/bug67215.p.php"; +unlink($file_c); +unlink($file_p); +?> +--EXPECTF-- +Fatal error: Cannot redeclare class c in %sbug67215.c.php on line %d diff --git a/ext/opcache/zend_accelerator_util_funcs.c b/ext/opcache/zend_accelerator_util_funcs.c index ae33e765ca..9311024851 100644 --- a/ext/opcache/zend_accelerator_util_funcs.c +++ b/ext/opcache/zend_accelerator_util_funcs.c @@ -899,16 +899,11 @@ static int zend_hash_unique_copy(HashTable *target, HashTable *source, unique_co if (p->nKeyLength > 0 && p->arKey[0] == 0) { /* Mangled key */ #if ZEND_EXTENSION_API_NO >= PHP_5_3_X_API_NO - if (((zend_function*)p->pData)->common.fn_flags & ZEND_ACC_CLOSURE) { - /* update closure */ - if (zend_hash_quick_update(target, p->arKey, p->nKeyLength, p->h, p->pData, size, &t) == SUCCESS) { - if (pCopyConstructor) { - pCopyConstructor(t); - } + if (zend_hash_quick_update(target, p->arKey, p->nKeyLength, p->h, p->pData, size, &t) == SUCCESS) { + if (pCopyConstructor) { + pCopyConstructor(t); } - } else { - /* ignore and wait for runtime */ - } + } #endif } else if (!ignore_dups && zend_hash_quick_find(target, p->arKey, p->nKeyLength, p->h, &t) == SUCCESS) { *fail_data = p->pData; @@ -1046,7 +1041,6 @@ zend_op_array* zend_accel_load_script(zend_persistent_script *persistent_script, if (zend_hash_num_elements(&persistent_script->class_table) > 0) { zend_accel_class_hash_copy(CG(class_table), &persistent_script->class_table, NULL TSRMLS_CC); } - free_persistent_script(persistent_script, 0); /* free only hashes */ } #if ZEND_EXTENSION_API_NO >= PHP_5_3_X_API_NO @@ -1058,6 +1052,10 @@ zend_op_array* zend_accel_load_script(zend_persistent_script *persistent_script, } #endif + if (!from_shared_memory) { + free_persistent_script(persistent_script, 0); /* free only hashes */ + } + return op_array; } diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 118dcd99c2..26cb7b01c3 100755 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -841,13 +841,13 @@ static int add_oid_section(struct php_x509_request * req TSRMLS_DC) /* {{{ */ req->config_filename, req->var, req->req_config TSRMLS_CC) == FAILURE) return FAILURE #define SET_OPTIONAL_STRING_ARG(key, varname, defval) \ - if (optional_args && zend_hash_find(Z_ARRVAL_P(optional_args), key, sizeof(key), (void**)&item) == SUCCESS) \ + if (optional_args && zend_hash_find(Z_ARRVAL_P(optional_args), key, sizeof(key), (void**)&item) == SUCCESS && Z_TYPE_PP(item) == IS_STRING) \ varname = Z_STRVAL_PP(item); \ else \ varname = defval #define SET_OPTIONAL_LONG_ARG(key, varname, defval) \ - if (optional_args && zend_hash_find(Z_ARRVAL_P(optional_args), key, sizeof(key), (void**)&item) == SUCCESS) \ + if (optional_args && zend_hash_find(Z_ARRVAL_P(optional_args), key, sizeof(key), (void**)&item) == SUCCESS && Z_TYPE_PP(item) == IS_LONG) \ varname = Z_LVAL_PP(item); \ else \ varname = defval @@ -907,7 +907,8 @@ static int php_openssl_parse_config(struct php_x509_request * req, zval * option } } - if (req->priv_key_encrypt && optional_args && zend_hash_find(Z_ARRVAL_P(optional_args), "encrypt_key_cipher", sizeof("encrypt_key_cipher"), (void**)&item) == SUCCESS) { + if (req->priv_key_encrypt && optional_args && zend_hash_find(Z_ARRVAL_P(optional_args), "encrypt_key_cipher", sizeof("encrypt_key_cipher"), (void**)&item) == SUCCESS + && Z_TYPE_PP(item) == IS_LONG) { long cipher_algo = Z_LVAL_PP(item); const EVP_CIPHER* cipher = php_openssl_get_evp_cipher_from_algo(cipher_algo); if (cipher == NULL) { @@ -1759,7 +1760,7 @@ PHP_FUNCTION(openssl_x509_export) } /* }}} */ -static int php_openssl_x509_fingerprint(X509 *peer, const char *method, zend_bool raw, char **out, int *out_len TSRMLS_DC) +int php_openssl_x509_fingerprint(X509 *peer, const char *method, zend_bool raw, char **out, int *out_len TSRMLS_DC) { unsigned char md[EVP_MAX_MD_SIZE]; const EVP_MD *mdtype; @@ -1786,61 +1787,6 @@ static int php_openssl_x509_fingerprint(X509 *peer, const char *method, zend_boo return SUCCESS; } -static int php_x509_fingerprint_cmp(X509 *peer, const char *method, const char *expected TSRMLS_DC) -{ - char *fingerprint; - int fingerprint_len; - int result = -1; - - if (php_openssl_x509_fingerprint(peer, method, 0, &fingerprint, &fingerprint_len TSRMLS_CC) == SUCCESS) { - result = strcmp(expected, fingerprint); - efree(fingerprint); - } - - return result; -} - -zend_bool php_x509_fingerprint_match(X509 *peer, zval *val TSRMLS_DC) -{ - if (Z_TYPE_P(val) == IS_STRING) { - const char *method = NULL; - - switch (Z_STRLEN_P(val)) { - case 32: - method = "md5"; - break; - - case 40: - method = "sha1"; - break; - } - - return method && php_x509_fingerprint_cmp(peer, method, Z_STRVAL_P(val) TSRMLS_CC) == 0; - } else if (Z_TYPE_P(val) == IS_ARRAY) { - HashPosition pos; - zval **current; - char *key; - uint key_len; - ulong key_index; - - for (zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(val), &pos); - zend_hash_get_current_data_ex(Z_ARRVAL_P(val), (void **)¤t, &pos) == SUCCESS; - zend_hash_move_forward_ex(Z_ARRVAL_P(val), &pos) - ) { - int key_type = zend_hash_get_current_key_ex(Z_ARRVAL_P(val), &key, &key_len, &key_index, 0, &pos); - - if (key_type == HASH_KEY_IS_STRING - && Z_TYPE_PP(current) == IS_STRING - && php_x509_fingerprint_cmp(peer, key, Z_STRVAL_PP(current) TSRMLS_CC) != 0 - ) { - return 0; - } - } - return 1; - } - return 0; -} - PHP_FUNCTION(openssl_x509_fingerprint) { X509 *cert; @@ -2455,7 +2401,7 @@ PHP_FUNCTION(openssl_pkcs12_export_to_file) } /* parse extra config from args array, promote this to an extra function */ - if (args && zend_hash_find(Z_ARRVAL_P(args), "friendly_name", sizeof("friendly_name"), (void**)&item) == SUCCESS) + if (args && zend_hash_find(Z_ARRVAL_P(args), "friendly_name", sizeof("friendly_name"), (void**)&item) == SUCCESS && Z_TYPE_PP(item) == IS_STRING) friendly_name = Z_STRVAL_PP(item); /* certpbe (default RC2-40) keypbe (default 3DES) @@ -2533,7 +2479,7 @@ PHP_FUNCTION(openssl_pkcs12_export) } /* parse extra config from args array, promote this to an extra function */ - if (args && zend_hash_find(Z_ARRVAL_P(args), "friendly_name", sizeof("friendly_name"), (void**)&item) == SUCCESS) + if (args && zend_hash_find(Z_ARRVAL_P(args), "friendly_name", sizeof("friendly_name"), (void**)&item) == SUCCESS && Z_TYPE_PP(item) == IS_STRING) friendly_name = Z_STRVAL_PP(item); if (args && zend_hash_find(Z_ARRVAL_P(args), "extracerts", sizeof("extracerts"), (void**)&item) == SUCCESS) diff --git a/ext/openssl/tests/026.phpt b/ext/openssl/tests/026.phpt new file mode 100644 index 0000000000..38d626d742 --- /dev/null +++ b/ext/openssl/tests/026.phpt @@ -0,0 +1,12 @@ +--TEST-- +Options type checks +--SKIPIF-- +<?php if (!extension_loaded("openssl")) print "skip"; ?> +--FILE-- +<?php +$x = openssl_pkey_new(); +$csr = openssl_csr_new(["countryName" => "DE"], $x, ["x509_extensions" => 0xDEADBEEF]); +?> +DONE +--EXPECT-- +DONE diff --git a/ext/openssl/tests/bug65538_002.phpt b/ext/openssl/tests/bug65538_002.phpt index dfc6f94ff7..1066e01e54 100644 --- a/ext/openssl/tests/bug65538_002.phpt +++ b/ext/openssl/tests/bug65538_002.phpt @@ -3,6 +3,7 @@ Bug #65538: SSL context "cafile" disallows URL stream wrappers --SKIPIF-- <?php if (!extension_loaded('openssl')) die('skip, openssl required'); +if (getenv("SKIP_ONLINE_TESTS")) die("skip online test"); --FILE-- <?php $clientCtx = stream_context_create(['ssl' => [ diff --git a/ext/openssl/tests/openssl_spki_verify.phpt b/ext/openssl/tests/openssl_spki_verify.phpt index 1ee573fd3f..52dc8e2045 100644 --- a/ext/openssl/tests/openssl_spki_verify.phpt +++ b/ext/openssl/tests/openssl_spki_verify.phpt @@ -17,9 +17,7 @@ $ksize = array('1024'=>1024, '4096'=>4096); /* array of available hashings to test */ -$algo = array('md4'=>OPENSSL_ALGO_MD4, - 'md5'=>OPENSSL_ALGO_MD5, - 'sha1'=>OPENSSL_ALGO_SHA1, +$algo = array('sha1'=>OPENSSL_ALGO_SHA1, 'sha224'=>OPENSSL_ALGO_SHA224, 'sha256'=>OPENSSL_ALGO_SHA256, 'sha384'=>OPENSSL_ALGO_SHA384, @@ -90,16 +88,4 @@ bool(false) bool(true) bool(false) bool(true) -bool(false) -bool(true) -bool(false) -bool(true) -bool(false) -bool(true) -bool(false) -bool(true) -bool(false) -bool(true) -bool(false) -bool(true) bool(false)
\ No newline at end of file diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c index fbfb0774dc..7ecc20b709 100644 --- a/ext/openssl/xp_ssl.c +++ b/ext/openssl/xp_ssl.c @@ -75,7 +75,7 @@ #define PHP_X509_NAME_ENTRY_TO_UTF8(ne, i, out) ASN1_STRING_to_UTF8(&out, X509_NAME_ENTRY_get_data(X509_NAME_get_entry(ne, i))) extern php_stream* php_openssl_get_stream_from_ssl_handle(const SSL *ssl); -extern zend_bool php_x509_fingerprint_match(X509 *peer, zval *val TSRMLS_DC); +extern int php_openssl_x509_fingerprint(X509 *peer, const char *method, zend_bool raw, char **out, int *out_len TSRMLS_DC); extern int php_openssl_get_ssl_stream_data_index(); extern int php_openssl_get_x509_list_id(void); @@ -267,6 +267,61 @@ static int verify_callback(int preverify_ok, X509_STORE_CTX *ctx) /* {{{ */ } /* }}} */ +static int php_x509_fingerprint_cmp(X509 *peer, const char *method, const char *expected TSRMLS_DC) +{ + char *fingerprint; + int fingerprint_len; + int result = -1; + + if (php_openssl_x509_fingerprint(peer, method, 0, &fingerprint, &fingerprint_len TSRMLS_CC) == SUCCESS) { + result = strcmp(expected, fingerprint); + efree(fingerprint); + } + + return result; +} + +static zend_bool php_x509_fingerprint_match(X509 *peer, zval *val TSRMLS_DC) +{ + if (Z_TYPE_P(val) == IS_STRING) { + const char *method = NULL; + + switch (Z_STRLEN_P(val)) { + case 32: + method = "md5"; + break; + + case 40: + method = "sha1"; + break; + } + + return method && php_x509_fingerprint_cmp(peer, method, Z_STRVAL_P(val) TSRMLS_CC) == 0; + } else if (Z_TYPE_P(val) == IS_ARRAY) { + HashPosition pos; + zval **current; + char *key; + uint key_len; + ulong key_index; + + for (zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(val), &pos); + zend_hash_get_current_data_ex(Z_ARRVAL_P(val), (void **)¤t, &pos) == SUCCESS; + zend_hash_move_forward_ex(Z_ARRVAL_P(val), &pos) + ) { + int key_type = zend_hash_get_current_key_ex(Z_ARRVAL_P(val), &key, &key_len, &key_index, 0, &pos); + + if (key_type == HASH_KEY_IS_STRING + && Z_TYPE_PP(current) == IS_STRING + && php_x509_fingerprint_cmp(peer, key, Z_STRVAL_PP(current) TSRMLS_CC) != 0 + ) { + return 0; + } + } + return 1; + } + return 0; +} + static zend_bool matches_wildcard_name(const char *subjectname, const char *certname) /* {{{ */ { char *wildcard = NULL; @@ -276,11 +331,12 @@ static zend_bool matches_wildcard_name(const char *subjectname, const char *cert return 1; } - if (!(wildcard = strchr(certname, '*'))) { + /* wildcard, if present, must only be present in the left-most component */ + if (!(wildcard = strchr(certname, '*')) || memchr(certname, '.', wildcard - certname)) { return 0; } - // 1) prefix, if not empty, must match subject + /* 1) prefix, if not empty, must match subject */ prefix_len = wildcard - certname; if (prefix_len && strncasecmp(subjectname, certname, prefix_len) != 0) { return 0; @@ -323,7 +379,7 @@ static zend_bool matches_san_list(X509 *peer, const char *subject_name TSRMLS_DC if (san_name_len != strlen((const char*)cert_name)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Peer SAN entry is malformed"); } else { - is_match = strcasecmp(subject_name, (const char*)cert_name) == 0; + is_match = matches_wildcard_name(subject_name, (const char *)cert_name); } OPENSSL_free(cert_name); @@ -1166,12 +1222,14 @@ static int set_server_specific_opts(php_stream *stream, SSL_CTX *ctx TSRMLS_DC) ssl_ctx_options |= SSL_OP_SINGLE_DH_USE; } +#ifdef HAVE_ECDH if (SUCCESS == php_stream_context_get_option( stream->context, "ssl", "single_ecdh_use", &val) && zend_is_true(*val TSRMLS_CC) ) { ssl_ctx_options |= SSL_OP_SINGLE_ECDH_USE; } +#endif SSL_CTX_set_options(ctx, ssl_ctx_options); diff --git a/ext/pdo/pdo_sql_parser.re b/ext/pdo/pdo_sql_parser.re index fa8ef187fa..9f6a6a7365 100644 --- a/ext/pdo/pdo_sql_parser.re +++ b/ext/pdo/pdo_sql_parser.re @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2013 The PHP Group | + | Copyright (c) 1997-2014 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 | diff --git a/ext/pdo_mysql/tests/bug54929.phpt b/ext/pdo_mysql/tests/bug54929.phpt index 29fb44182b..84b9e7d04f 100644 --- a/ext/pdo_mysql/tests/bug54929.phpt +++ b/ext/pdo_mysql/tests/bug54929.phpt @@ -47,14 +47,14 @@ array(1) { string(3) "foo" } -Warning: PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '--'' at line 1 in %s on line %d +Warning: PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near '--'' at line 1 in %s on line %d array(3) { [0]=> string(5) "42000" [1]=> int(1064) [2]=> - string(149) "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '--'' at line 1" + string(149) "You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near '--'' at line 1" } array(1) { ["f1"]=> diff --git a/ext/pdo_mysql/tests/bug66141.phpt b/ext/pdo_mysql/tests/bug66141.phpt index 3a28509314..5c382dfe0e 100644 --- a/ext/pdo_mysql/tests/bug66141.phpt +++ b/ext/pdo_mysql/tests/bug66141.phpt @@ -31,7 +31,7 @@ var_dump($quotedInput2); ?> done --EXPECTF-- -Warning: PDO::query(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'something that throws an exception' at line %d in %s on line %d +Warning: PDO::query(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'something that throws an exception' at line %d in %s on line %d string(50) "'Something\', 1 as one, 2 as two FROM dual; -- f'" string(50) "'Something'', 1 as one, 2 as two FROM dual; -- f'" string(50) "'Something'', 1 as one, 2 as two FROM dual; -- f'" diff --git a/ext/pdo_mysql/tests/pdo_mysql_attr_errmode.phpt b/ext/pdo_mysql/tests/pdo_mysql_attr_errmode.phpt index b03708900f..ce6a1ecd26 100644 --- a/ext/pdo_mysql/tests/pdo_mysql_attr_errmode.phpt +++ b/ext/pdo_mysql/tests/pdo_mysql_attr_errmode.phpt @@ -161,6 +161,6 @@ error_reporting=E_ALL --EXPECTF-- [003] Maybe PDO could indicate that this is not a proper way of setting the ERRMODE...true -Warning: PDO::query(): SQLSTATE[42000]: Syntax error or access violation: %d You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s' at line %d in %s on line %d +Warning: PDO::query(): SQLSTATE[42000]: Syntax error or access violation: %d You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near '%s' at line %d in %s on line %d end of execution
\ No newline at end of file diff --git a/ext/pdo_mysql/tests/pdo_mysql_exec.phpt b/ext/pdo_mysql/tests/pdo_mysql_exec.phpt index 2a0f527180..acd90904f7 100644 --- a/ext/pdo_mysql/tests/pdo_mysql_exec.phpt +++ b/ext/pdo_mysql/tests/pdo_mysql_exec.phpt @@ -179,7 +179,7 @@ $db = MySQLPDOTest::factory(); @$db->exec('DROP TABLE IF EXISTS test'); ?> --EXPECTF-- -Warning: PDO::exec(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'THIS IS NOT VALID SQL, I HOPE' at line 1 in %s on line %d -[016] [42000] 42000 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'THIS IS NOT VALID SQL, I HOPE' at line %d +Warning: PDO::exec(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'THIS IS NOT VALID SQL, I HOPE' at line 1 in %s on line %d +[016] [42000] 42000 1064 You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'THIS IS NOT VALID SQL, I HOPE' at line %d [035] With emulated PS it works but makes no sense given that exec() returns sort of affected rows... done! diff --git a/ext/pdo_mysql/tests/pdo_mysql_stmt_multiquery.phpt b/ext/pdo_mysql/tests/pdo_mysql_stmt_multiquery.phpt index 56c37c5f1a..52ecc912d4 100644 --- a/ext/pdo_mysql/tests/pdo_mysql_stmt_multiquery.phpt +++ b/ext/pdo_mysql/tests/pdo_mysql_stmt_multiquery.phpt @@ -97,6 +97,6 @@ array(1) { } Native Prepared Statements... -Warning: PDO::query(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%SSELECT label FROM test ORDER BY id ASC LIMIT 1' at line %d in %s on line %d +Warning: PDO::query(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near '%SSELECT label FROM test ORDER BY id ASC LIMIT 1' at line %d in %s on line %d Fatal error: Call to a member function errorInfo() on boolean in %s on line %d diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index d867f433b2..6a433af0f3 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -783,7 +783,7 @@ static int le_link, le_plink, le_result, le_lofp, le_string; #endif #if !HAVE_PQESCAPE_CONN -#define PQescapeStringConn(conn, to, form, len, error) PQescapeString(to, from, len) +#define PQescapeStringConn(conn, to, from, len, error) PQescapeString(to, from, len) #endif #if HAVE_PQESCAPELITERAL @@ -1127,7 +1127,9 @@ PHP_MINIT_FUNCTION(pgsql) REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_MADE", CONNECTION_MADE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_AWAITING_RESPONSE", CONNECTION_AWAITING_RESPONSE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_AUTH_OK", CONNECTION_AUTH_OK, CONST_CS | CONST_PERSISTENT); +#ifdef CONNECTION_SSL_STARTUP REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_SSL_STARTUP", CONNECTION_SSL_STARTUP, CONST_CS | CONST_PERSISTENT); +#endif REGISTER_LONG_CONSTANT("PGSQL_CONNECTION_SETENV", CONNECTION_SETENV, CONST_CS | CONST_PERSISTENT); /* For pg_connect_poll() */ REGISTER_LONG_CONSTANT("PGSQL_POLLING_FAILED", PGRES_POLLING_FAILED, CONST_CS | CONST_PERSISTENT); diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c index 75aadfbc54..b198bc2fd1 100644 --- a/ext/phar/phar_object.c +++ b/ext/phar/phar_object.c @@ -606,6 +606,7 @@ PHP_METHOD(Phar, webPhar) } if ((strlen(sapi_module.name) == sizeof("cgi-fcgi")-1 && !strncmp(sapi_module.name, "cgi-fcgi", sizeof("cgi-fcgi")-1)) + || (strlen(sapi_module.name) == sizeof("fpm-fcgi")-1 && !strncmp(sapi_module.name, "fpm-fcgi", sizeof("fpm-fcgi")-1)) || (strlen(sapi_module.name) == sizeof("cgi")-1 && !strncmp(sapi_module.name, "cgi", sizeof("cgi")-1))) { if (PG(http_globals)[TRACK_VARS_SERVER]) { diff --git a/ext/readline/readline_cli.c b/ext/readline/readline_cli.c index c2bf8764cb..9c27acb193 100644 --- a/ext/readline/readline_cli.c +++ b/ext/readline/readline_cli.c @@ -99,6 +99,9 @@ static size_t readline_shell_write(const char *str, uint str_length TSRMLS_DC) / static int readline_shell_ub_write(const char *str, uint str_length TSRMLS_DC) /* {{{ */ { + /* We just store the last char here and then pass back to the + caller (sapi_cli_single_write in sapi/cli) which will actually + write due to -1 return code */ php_last_char = str[str_length-1]; return -1; } @@ -587,6 +590,7 @@ static int readline_shell_run(TSRMLS_D) /* {{{ */ char *code = emalloc(size); char *prompt = cli_get_prompt("php", '>' TSRMLS_CC); char *history_file; + int history_lines_to_write = 0; if (PG(auto_prepend_file) && PG(auto_prepend_file)[0]) { zend_file_handle *prepend_file_p; @@ -651,6 +655,7 @@ static int readline_shell_run(TSRMLS_D) /* {{{ */ if (*line) { add_history(line); + history_lines_to_write += 1; } free(line); @@ -660,6 +665,15 @@ static int readline_shell_run(TSRMLS_D) /* {{{ */ continue; } + if (history_lines_to_write) { +#if HAVE_LIBEDIT + write_history(history_file); +#else + append_history(history_lines_to_write, history_file); +#endif + history_lines_to_write = 0; + } + zend_try { zend_eval_stringl(code, pos, NULL, "php shell code" TSRMLS_CC); } zend_end_try(); @@ -667,7 +681,7 @@ static int readline_shell_run(TSRMLS_D) /* {{{ */ pos = 0; if (!pager_pipe && php_last_char != '\0' && php_last_char != '\n') { - readline_shell_write("\n", 1 TSRMLS_CC); + php_write("\n", 1 TSRMLS_CC); } if (EG(exception)) { @@ -681,7 +695,6 @@ static int readline_shell_run(TSRMLS_D) /* {{{ */ php_last_char = '\0'; } - write_history(history_file); free(history_file); efree(code); efree(prompt); diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 703e14113f..8e5fcadef4 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -728,12 +728,17 @@ static void _parameter_string(string *str, zend_function *fptr, struct _zend_arg if (precv && precv->opcode == ZEND_RECV_INIT && precv->op2_type != IS_UNUSED) { zval *zv, zv_copy; int use_copy; + zend_class_entry *old_scope; + string_write(str, " = ", sizeof(" = ")-1); ALLOC_ZVAL(zv); *zv = *precv->op2.zv; zval_copy_ctor(zv); INIT_PZVAL(zv); - zval_update_constant_ex(&zv, 1, fptr->common.scope TSRMLS_CC); + old_scope = EG(scope); + EG(scope) = fptr->common.scope; + zval_update_constant_ex(&zv, 1, NULL TSRMLS_CC); + EG(scope) = old_scope; if (Z_TYPE_P(zv) == IS_BOOL) { if (Z_LVAL_P(zv)) { string_write(str, "true", sizeof("true")-1); @@ -2579,6 +2584,7 @@ ZEND_METHOD(reflection_parameter, getDefaultValue) { parameter_reference *param; zend_op *precv; + zend_class_entry *old_scope; if (zend_parse_parameters_none() == FAILURE) { return; @@ -2599,7 +2605,10 @@ ZEND_METHOD(reflection_parameter, getDefaultValue) if (!IS_CONSTANT_TYPE(Z_TYPE_P(return_value))) { zval_copy_ctor(return_value); } - zval_update_constant_ex(&return_value, 0, param->fptr->common.scope TSRMLS_CC); + old_scope = EG(scope); + EG(scope) = param->fptr->common.scope; + zval_update_constant_ex(&return_value, 0, NULL TSRMLS_CC); + EG(scope) = old_scope; } /* }}} */ @@ -4299,8 +4308,8 @@ ZEND_METHOD(reflection_class, newInstanceWithoutConstructor) METHOD_NOTSTATIC(reflection_class_ptr); GET_REFLECTION_OBJECT_PTR(ce); - if (ce->create_object != NULL) { - zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, "Class %s is an internal class that cannot be instantiated without invoking its constructor", ce->name); + if (ce->create_object != NULL && ce->ce_flags & ZEND_ACC_FINAL_CLASS) { + zend_throw_exception_ex(reflection_exception_ptr, 0 TSRMLS_CC, "Class %s is an internal class marked as final that cannot be instantiated without invoking its constructor", ce->name); } object_init_ex(return_value, ce); diff --git a/ext/reflection/tests/ReflectionClass_newInstanceWithoutConstructor.phpt b/ext/reflection/tests/ReflectionClass_newInstanceWithoutConstructor.phpt index 1932dbfaf1..dfe3e7f8f7 100644 --- a/ext/reflection/tests/ReflectionClass_newInstanceWithoutConstructor.phpt +++ b/ext/reflection/tests/ReflectionClass_newInstanceWithoutConstructor.phpt @@ -20,13 +20,18 @@ var_dump($class->newInstanceWithoutConstructor()); $class = new ReflectionClass('DateTime'); var_dump($class->newInstanceWithoutConstructor()); + +$class = new ReflectionClass('Generator'); +var_dump($class->newInstanceWithoutConstructor()); --EXPECTF-- object(Foo)#%d (0) { } object(stdClass)#%d (0) { } +object(DateTime)#%d (0) { +} -Fatal error: Uncaught exception 'ReflectionException' with message 'Class DateTime is an internal class that cannot be instantiated without invoking its constructor' in %sReflectionClass_newInstanceWithoutConstructor.php:%d +Fatal error: Uncaught exception 'ReflectionException' with message 'Class Generator is an internal class marked as final that cannot be instantiated without invoking its constructor' in %sReflectionClass_newInstanceWithoutConstructor.php:%d Stack trace: #0 %sReflectionClass_newInstanceWithoutConstructor.php(%d): ReflectionClass->newInstanceWithoutConstructor() #1 {main} diff --git a/ext/reflection/tests/bug64007.phpt b/ext/reflection/tests/bug64007.phpt index 32ec6a5610..ae3ec50328 100644 --- a/ext/reflection/tests/bug64007.phpt +++ b/ext/reflection/tests/bug64007.phpt @@ -14,6 +14,6 @@ $generator = $reflection->newInstance(); var_dump($generator); ?> --EXPECTF-- -string(97) "Class Generator is an internal class that cannot be instantiated without invoking its constructor" +string(%d) "Class Generator is an internal class marked as final that cannot be instantiated without invoking its constructor" Catchable fatal error: The "Generator" class is reserved for internal use and cannot be manually instantiated in %sbug64007.php on line %d diff --git a/ext/session/mod_user.c b/ext/session/mod_user.c index 5573d4cdfd..1eabc9432e 100644 --- a/ext/session/mod_user.c +++ b/ext/session/mod_user.c @@ -68,12 +68,25 @@ static zval *ps_call_handler(zval *func, int argc, zval **argv TSRMLS_DC) #define PSF(a) PS(mod_user_names).name.ps_##a -#define FINISH \ - if (retval) { \ - convert_to_long(retval); \ - ret = Z_LVAL_P(retval); \ - zval_ptr_dtor(&retval); \ - } \ +#define FINISH \ + if (retval) { \ + if (Z_TYPE_P(retval) == IS_BOOL) { \ + ret = Z_BVAL_P(retval) ? SUCCESS : FAILURE; \ + } else if ((Z_TYPE_P(retval) == IS_LONG) && (Z_LVAL_P(retval) == -1)) { \ + /* BC for clever users - Deprecate me */ \ + ret = FAILURE; \ + } else if ((Z_TYPE_P(retval) == IS_LONG) && (Z_LVAL_P(retval) == 0)) { \ + /* BC for clever users - Deprecate me */ \ + ret = SUCCESS; \ + } else { \ + if (!EG(exception)) { \ + php_error_docref(NULL TSRMLS_CC, E_WARNING, \ + "Session callback expects true/false return value"); \ + } \ + ret = FAILURE; \ + } \ + zval_ptr_dtor(&retval); \ + } \ return ret PS_OPEN_FUNC(user) diff --git a/ext/session/session.c b/ext/session/session.c index 8051758c12..5b82ae7ffe 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -51,6 +51,7 @@ #include "ext/standard/php_smart_str.h" #include "ext/standard/url.h" #include "ext/standard/basic_functions.h" +#include "ext/standard/head.h" #include "mod_files.h" #include "mod_user.h" @@ -301,7 +302,8 @@ PHPAPI char *php_session_create_id(PS_CREATE_SID_ARGS) /* {{{ */ if (zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **) &array) == SUCCESS && Z_TYPE_PP(array) == IS_ARRAY && - zend_hash_find(Z_ARRVAL_PP(array), "REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **) &token) == SUCCESS + zend_hash_find(Z_ARRVAL_PP(array), "REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **) &token) == SUCCESS && + Z_TYPE_PP(token) == IS_STRING ) { remote_addr = Z_STRVAL_PP(token); } @@ -565,7 +567,7 @@ static void php_session_save_current_state(TSRMLS_D) /* {{{ */ } } - if (ret == FAILURE) { + if ((ret == FAILURE) && !EG(exception)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to write session data (%s). Please " "verify that the current setting of session.save_path " "is correct (%s)", @@ -1289,14 +1291,6 @@ static int php_session_cache_limiter(TSRMLS_D) /* {{{ */ * Cookie Management * ********************* */ -#define COOKIE_SET_COOKIE "Set-Cookie: " -#define COOKIE_EXPIRES "; expires=" -#define COOKIE_MAX_AGE "; Max-Age=" -#define COOKIE_PATH "; path=" -#define COOKIE_DOMAIN "; domain=" -#define COOKIE_SECURE "; secure" -#define COOKIE_HTTPONLY "; HttpOnly" - /* * Remove already sent session ID cookie. * It must be directly removed from SG(sapi_header) because sapi_add_header_ex() @@ -1362,7 +1356,7 @@ static void php_session_send_cookie(TSRMLS_D) /* {{{ */ e_session_name = php_url_encode(PS(session_name), strlen(PS(session_name)), NULL); e_id = php_url_encode(PS(id), strlen(PS(id)), NULL); - smart_str_appends(&ncookie, COOKIE_SET_COOKIE); + smart_str_appends(&ncookie, "Set-Cookie: "); smart_str_appends(&ncookie, e_session_name); smart_str_appendc(&ncookie, '='); smart_str_appends(&ncookie, e_id); @@ -1444,9 +1438,16 @@ PHPAPI const ps_serializer *_php_find_ps_serializer(char *name TSRMLS_DC) /* {{{ } /* }}} */ -#define PPID2SID \ - convert_to_string((*ppid)); \ - PS(id) = estrndup(Z_STRVAL_PP(ppid), Z_STRLEN_PP(ppid)) +static void ppid2sid(zval **ppid TSRMLS_DC) { + if (Z_TYPE_PP(ppid) != IS_STRING) { + PS(id) = NULL; + PS(send_cookie) = 1; + } else { + convert_to_string((*ppid)); + PS(id) = estrndup(Z_STRVAL_PP(ppid), Z_STRLEN_PP(ppid)); + PS(send_cookie) = 0; + } +} PHPAPI void php_session_reset_id(TSRMLS_D) /* {{{ */ { @@ -1540,9 +1541,8 @@ PHPAPI void php_session_start(TSRMLS_D) /* {{{ */ Z_TYPE_PP(data) == IS_ARRAY && zend_hash_find(Z_ARRVAL_PP(data), PS(session_name), lensess + 1, (void **) &ppid) == SUCCESS ) { - PPID2SID; + ppid2sid(ppid TSRMLS_CC); PS(apply_trans_sid) = 0; - PS(send_cookie) = 0; PS(define_sid) = 0; } @@ -1551,8 +1551,7 @@ PHPAPI void php_session_start(TSRMLS_D) /* {{{ */ Z_TYPE_PP(data) == IS_ARRAY && zend_hash_find(Z_ARRVAL_PP(data), PS(session_name), lensess + 1, (void **) &ppid) == SUCCESS ) { - PPID2SID; - PS(send_cookie) = 0; + ppid2sid(ppid TSRMLS_CC); } if (!PS(use_only_cookies) && !PS(id) && @@ -1560,8 +1559,7 @@ PHPAPI void php_session_start(TSRMLS_D) /* {{{ */ Z_TYPE_PP(data) == IS_ARRAY && zend_hash_find(Z_ARRVAL_PP(data), PS(session_name), lensess + 1, (void **) &ppid) == SUCCESS ) { - PPID2SID; - PS(send_cookie) = 0; + ppid2sid(ppid TSRMLS_CC); } } diff --git a/ext/session/tests/bug60634_error_1.phpt b/ext/session/tests/bug60634_error_1.phpt index e41592f18d..cc50e81209 100644 --- a/ext/session/tests/bug60634_error_1.phpt +++ b/ext/session/tests/bug60634_error_1.phpt @@ -16,6 +16,7 @@ function open($save_path, $session_name) { function close() { echo "close: goodbye cruel world\n"; + return true; } function read($id) { diff --git a/ext/session/tests/bug60634_error_2.phpt b/ext/session/tests/bug60634_error_2.phpt index 7c50948ba8..96c8eb61e5 100644 --- a/ext/session/tests/bug60634_error_2.phpt +++ b/ext/session/tests/bug60634_error_2.phpt @@ -16,6 +16,7 @@ function open($save_path, $session_name) { function close() { echo "close: goodbye cruel world\n"; + return true; } function read($id) { diff --git a/ext/session/tests/bug66827.phpt b/ext/session/tests/bug66827.phpt new file mode 100644 index 0000000000..4e1a4f7aea --- /dev/null +++ b/ext/session/tests/bug66827.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #66827: Session raises E_NOTICE when session name variable is array. +--INI-- +--SKIPIF-- +<?php include('skipif.inc'); ?> +--FILE-- +<?php +$_COOKIE[session_name()] = array(); +session_start(); +echo 'OK'; +--EXPECTF-- +OK diff --git a/ext/session/tests/save_handler.inc b/ext/session/tests/save_handler.inc index ebe9cac564..d271748259 100644 --- a/ext/session/tests/save_handler.inc +++ b/ext/session/tests/save_handler.inc @@ -31,7 +31,7 @@ function write($id, $session_data) { if ($fp = fopen($session_file, "w")) { $return = fwrite($fp, $session_data); fclose($fp); - return $return; + return (bool)$return; } return false; } @@ -40,7 +40,8 @@ function destroy($id) { global $session_save_path, $name; echo "Destroy [${session_save_path},${id}]\n"; $session_file = "$session_save_path/".SESSION_FILE_PREFIX.$id; - return unlink($session_file); + unlink($session_file); + return true; } function gc($maxlifetime) { diff --git a/ext/session/tests/session_module_name_variation3.phpt b/ext/session/tests/session_module_name_variation3.phpt index dc1c6ba5ec..e32790d54e 100644 --- a/ext/session/tests/session_module_name_variation3.phpt +++ b/ext/session/tests/session_module_name_variation3.phpt @@ -21,11 +21,11 @@ function open($save_path, $session_name) { throw new Exception("Stop...!"); } -function close() { } -function read($id) { } -function write($id, $session_data) { } -function destroy($id) { } -function gc($maxlifetime) { } +function close() { return true; } +function read($id) { return ''; } +function write($id, $session_data) { return true; } +function destroy($id) { return true; } +function gc($maxlifetime) { return true; } var_dump(session_module_name("files")); session_set_save_handler("open", "close", "read", "write", "destroy", "gc"); @@ -41,9 +41,11 @@ ob_end_flush(); string(%d) "%s" string(4) "user" -Fatal error: Uncaught exception 'Exception' with message 'Stop...!' in %s:%d +Warning: Uncaught exception 'Exception' with message 'Stop...!' in %s:%d Stack trace: #0 [internal function]: open('', 'PHPSESSID') #1 %s(%d): session_start() #2 {main} thrown in %s on line %d + +Fatal error: session_start(): Failed to initialize storage module: %s in %s/session_module_name_variation3.php on line %d diff --git a/ext/session/tests/session_set_save_handler_class_002.phpt b/ext/session/tests/session_set_save_handler_class_002.phpt index 6fb831f695..b75a7e6390 100644 --- a/ext/session/tests/session_set_save_handler_class_002.phpt +++ b/ext/session/tests/session_set_save_handler_class_002.phpt @@ -38,11 +38,12 @@ class MySession2 extends SessionHandler { } public function write($id, $data) { - return file_put_contents($this->path . $id, $data); + return (bool)file_put_contents($this->path . $id, $data); } public function destroy($id) { @unlink($this->path . $id); + return true; } public function gc($maxlifetime) { diff --git a/ext/session/tests/session_set_save_handler_class_005.phpt b/ext/session/tests/session_set_save_handler_class_005.phpt index c74c81de1d..5be735306a 100644 --- a/ext/session/tests/session_set_save_handler_class_005.phpt +++ b/ext/session/tests/session_set_save_handler_class_005.phpt @@ -52,4 +52,6 @@ array(0) { Warning: SessionHandler::write(): Parent session handler is not open in %ssession_set_save_handler_class_005.php on line %d +Warning: session_write_close(): Failed to write session data %s in %ssession_set_save_handler_class_005.php on line %d + Warning: SessionHandler::close(): Parent session handler is not open in %ssession_set_save_handler_class_005.php on line %d diff --git a/ext/session/tests/session_set_save_handler_class_012.phpt b/ext/session/tests/session_set_save_handler_class_012.phpt index 3899d28816..60cd12955c 100644 --- a/ext/session/tests/session_set_save_handler_class_012.phpt +++ b/ext/session/tests/session_set_save_handler_class_012.phpt @@ -24,7 +24,9 @@ class MySession extends SessionHandler { public function open($path, $name) { ++$this->i; echo 'Open ', session_id(), "\n"; - return parent::open(); + // This test was written for broken return value handling + // Mimmick what was actually being tested by returning true here + return (null === parent::open()); } public function read($key) { ++$this->i; @@ -57,4 +59,6 @@ array(0) { Warning: Unknown: Parent session handler is not open in Unknown on line 0 +Warning: Unknown: Failed to write session data %s in %s on line %d + Warning: Unknown: Parent session handler is not open in Unknown on line 0 diff --git a/ext/session/tests/session_set_save_handler_class_016.phpt b/ext/session/tests/session_set_save_handler_class_016.phpt index 2de03c0682..521bd86f31 100644 --- a/ext/session/tests/session_set_save_handler_class_016.phpt +++ b/ext/session/tests/session_set_save_handler_class_016.phpt @@ -38,7 +38,7 @@ class MySession2 extends SessionHandler { } public function write($id, $data) { - return file_put_contents($this->path . $id, $data); + return (bool)file_put_contents($this->path . $id, $data); } public function destroy($id) { diff --git a/ext/session/tests/session_set_save_handler_class_017.phpt b/ext/session/tests/session_set_save_handler_class_017.phpt index 756dc55d03..6f42d7809a 100644 --- a/ext/session/tests/session_set_save_handler_class_017.phpt +++ b/ext/session/tests/session_set_save_handler_class_017.phpt @@ -38,7 +38,7 @@ class MySession2 extends SessionHandler { } public function write($id, $data) { - return file_put_contents($this->path . $id, $data); + return (bool)file_put_contents($this->path . $id, $data); } public function destroy($id) { diff --git a/ext/session/tests/session_set_save_handler_error3.phpt b/ext/session/tests/session_set_save_handler_error3.phpt index cb07b0d8de..859ba11ad5 100644 --- a/ext/session/tests/session_set_save_handler_error3.phpt +++ b/ext/session/tests/session_set_save_handler_error3.phpt @@ -34,9 +34,11 @@ ob_end_flush(); --EXPECTF-- *** Testing session_set_save_handler() : error functionality *** -Fatal error: Uncaught exception 'Exception' with message 'Do something bad..!' in %s:%d +Warning: Uncaught exception 'Exception' with message 'Do something bad..!' in %s:%d Stack trace: #0 [internal function]: open('', 'PHPSESSID') #1 %s(%d): session_start() #2 {main} thrown in %s on line %d + +Fatal error: session_start(): Failed to initialize storage module: %s in %ssession_set_save_handler_error3.php on line %d diff --git a/ext/session/tests/session_set_save_handler_error4.phpt b/ext/session/tests/session_set_save_handler_error4.phpt index d286f07d99..be3429b084 100644 --- a/ext/session/tests/session_set_save_handler_error4.phpt +++ b/ext/session/tests/session_set_save_handler_error4.phpt @@ -15,7 +15,7 @@ ob_start(); echo "*** Testing session_set_save_handler() : error functionality ***\n"; -function callback() { } +function callback() { return true; } session_set_save_handler("callback", "callback", "callback", "callback", "callback", "callback"); session_set_save_handler("callback", "echo", "callback", "callback", "callback", "callback"); diff --git a/ext/session/tests/session_set_save_handler_iface_001.phpt b/ext/session/tests/session_set_save_handler_iface_001.phpt index 39a4b9975b..03ee42865c 100644 --- a/ext/session/tests/session_set_save_handler_iface_001.phpt +++ b/ext/session/tests/session_set_save_handler_iface_001.phpt @@ -38,7 +38,7 @@ class MySession2 implements SessionHandlerInterface { } public function write($id, $data) { - return file_put_contents($this->path . $id, $data); + return (bool)file_put_contents($this->path . $id, $data); } public function destroy($id) { diff --git a/ext/session/tests/session_set_save_handler_variation4.phpt b/ext/session/tests/session_set_save_handler_variation4.phpt index 3485f2373a..c34eb9cd9f 100644 --- a/ext/session/tests/session_set_save_handler_variation4.phpt +++ b/ext/session/tests/session_set_save_handler_variation4.phpt @@ -24,6 +24,7 @@ echo "*** Testing session_set_save_handler() : variation ***\n"; function noisy_gc($maxlifetime) { echo("GC [".$maxlifetime."]\n"); gc($maxlifetime); + return true; } require_once "save_handler.inc"; diff --git a/ext/soap/soap.c b/ext/soap/soap.c index 32bf5ca6f6..0453dc28e0 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -151,7 +151,9 @@ static void soap_error_handler(int error_num, const char *error_filename, const if (zend_hash_find(Z_OBJPROP_P(this_ptr),"service", sizeof("service"), (void **)&tmp) != FAILURE) { \ ss = (soapServicePtr)zend_fetch_resource(tmp TSRMLS_CC, -1, "service", NULL, 1, le_service); \ } else { \ - ss = NULL; \ + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can not fetch service object"); \ + SOAP_SERVER_END_CODE(); \ + return; \ } \ } diff --git a/ext/sockets/sendrecvmsg.c b/ext/sockets/sendrecvmsg.c index d9a8190736..1d9cc78e73 100644 --- a/ext/sockets/sendrecvmsg.c +++ b/ext/sockets/sendrecvmsg.c @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2012 The PHP Group | + | Copyright (c) 1997-2014 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 | diff --git a/ext/sockets/windows_common.h b/ext/sockets/windows_common.h index 3a9cb59129..9cc01ae129 100644 --- a/ext/sockets/windows_common.h +++ b/ext/sockets/windows_common.h @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2012 The PHP Group | + | Copyright (c) 1997-2014 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 | diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c index 0b81bff099..c631c187c9 100644 --- a/ext/spl/spl_array.c +++ b/ext/spl/spl_array.c @@ -402,7 +402,7 @@ static zval *spl_array_read_dimension_ex(int check_inherited, zval *object, zval /* When in a write context, * ZE has to be fooled into thinking this is in a reference set * by separating (if necessary) and returning as an is_ref=1 zval (even if refcount == 1) */ - if ((type == BP_VAR_W || type == BP_VAR_RW || type == BP_VAR_UNSET) && !Z_ISREF_PP(ret)) { + if ((type == BP_VAR_W || type == BP_VAR_RW || type == BP_VAR_UNSET) && !Z_ISREF_PP(ret) && ret != &EG(uninitialized_zval_ptr)) { if (Z_REFCOUNT_PP(ret) > 1) { zval *newval; @@ -1742,6 +1742,7 @@ SPL_METHOD(Array, unserialize) const unsigned char *p, *s; php_unserialize_data_t var_hash; zval *pmembers, *pflags = NULL; + HashTable *aht; long flags; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &buf, &buf_len) == FAILURE) { @@ -1749,7 +1750,12 @@ SPL_METHOD(Array, unserialize) } if (buf_len == 0) { - zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Empty serialized string cannot be empty"); + return; + } + + aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); + if (aht->nApplyCount > 0) { + zend_error(E_WARNING, "Modification of ArrayObject during sorting is prohibited"); return; } @@ -1805,7 +1811,7 @@ SPL_METHOD(Array, unserialize) ++p; ALLOC_INIT_ZVAL(pmembers); - if (!php_var_unserialize(&pmembers, &p, s + buf_len, &var_hash TSRMLS_CC)) { + if (!php_var_unserialize(&pmembers, &p, s + buf_len, &var_hash TSRMLS_CC) || Z_TYPE_P(pmembers) != IS_ARRAY) { zval_ptr_dtor(&pmembers); goto outexcept; } diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c index 0d5cccf0c9..c2f67ac395 100644 --- a/ext/spl/spl_directory.c +++ b/ext/spl/spl_directory.c @@ -1617,7 +1617,7 @@ SPL_METHOD(GlobIterator, count) return; } - if (php_stream_is(intern->u.dir.dirp ,&php_glob_stream_ops)) { + if (intern->u.dir.dirp && php_stream_is(intern->u.dir.dirp ,&php_glob_stream_ops)) { RETURN_LONG(php_glob_stream_get_count(intern->u.dir.dirp, NULL)); } else { /* should not happen */ @@ -2098,7 +2098,7 @@ static int spl_filesystem_file_call(spl_filesystem_object *intern, zend_function zend_fcall_info fci; zend_fcall_info_cache fcic; zval z_fname; - zval * zresource_ptr = &intern->u.file.zresource, *retval; + zval * zresource_ptr = &intern->u.file.zresource, *retval = NULL; int result; int num_args = pass_num_args + (arg2 ? 2 : 1); @@ -2132,7 +2132,7 @@ static int spl_filesystem_file_call(spl_filesystem_object *intern, zend_function result = zend_call_function(&fci, &fcic TSRMLS_CC); - if (result == FAILURE) { + if (result == FAILURE || retval == NULL) { RETVAL_FALSE; } else { ZVAL_ZVAL(return_value, retval, 1, 1); @@ -2265,6 +2265,10 @@ static int spl_filesystem_file_read_line(zval * this_ptr, spl_filesystem_object static void spl_filesystem_file_rewind(zval * this_ptr, spl_filesystem_object *intern TSRMLS_DC) /* {{{ */ { + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } if (-1 == php_stream_rewind(intern->u.file.stream)) { zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Cannot rewind file %s", intern->file_name); } else { @@ -2397,6 +2401,11 @@ SPL_METHOD(SplFileObject, eof) return; } + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + RETURN_BOOL(php_stream_eof(intern->u.file.stream)); } /* }}} */ @@ -2413,6 +2422,9 @@ SPL_METHOD(SplFileObject, valid) if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) { RETURN_BOOL(intern->u.file.current_line || intern->u.file.current_zval); } else { + if(!intern->u.file.stream) { + RETURN_FALSE; + } RETVAL_BOOL(!php_stream_eof(intern->u.file.stream)); } } /* }}} */ @@ -2427,6 +2439,11 @@ SPL_METHOD(SplFileObject, fgets) return; } + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + if (spl_filesystem_file_read(intern, 0 TSRMLS_CC) == FAILURE) { RETURN_FALSE; } @@ -2443,6 +2460,11 @@ SPL_METHOD(SplFileObject, current) return; } + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + if (!intern->u.file.current_line && !intern->u.file.current_zval) { spl_filesystem_file_read_line(getThis(), intern, 1 TSRMLS_CC); } @@ -2585,6 +2607,12 @@ SPL_METHOD(SplFileObject, fgetcsv) int d_len = 0, e_len = 0, esc_len = 0; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sss", &delim, &d_len, &enclo, &e_len, &esc, &esc_len) == SUCCESS) { + + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + switch(ZEND_NUM_ARGS()) { case 3: @@ -2726,6 +2754,11 @@ SPL_METHOD(SplFileObject, fflush) { spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC); + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + RETURN_BOOL(!php_stream_flush(intern->u.file.stream)); } /* }}} */ @@ -2734,7 +2767,14 @@ SPL_METHOD(SplFileObject, fflush) SPL_METHOD(SplFileObject, ftell) { spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC); - long ret = php_stream_tell(intern->u.file.stream); + long ret; + + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + + ret = php_stream_tell(intern->u.file.stream); if (ret == -1) { RETURN_FALSE; @@ -2754,6 +2794,11 @@ SPL_METHOD(SplFileObject, fseek) return; } + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + spl_filesystem_file_free_line(intern TSRMLS_CC); RETURN_LONG(php_stream_seek(intern->u.file.stream, pos, whence)); } /* }}} */ @@ -2766,6 +2811,11 @@ SPL_METHOD(SplFileObject, fgetc) char buf[2]; int result; + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + spl_filesystem_file_free_line(intern TSRMLS_CC); result = php_stream_getc(intern->u.file.stream); @@ -2791,6 +2841,11 @@ SPL_METHOD(SplFileObject, fgetss) zval *arg2 = NULL; MAKE_STD_ZVAL(arg2); + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + if (intern->u.file.max_line_len > 0) { ZVAL_LONG(arg2, intern->u.file.max_line_len); } else { @@ -2811,6 +2866,11 @@ SPL_METHOD(SplFileObject, fpassthru) { spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC); + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + RETURN_LONG(php_stream_passthru(intern->u.file.stream)); } /* }}} */ @@ -2820,6 +2880,11 @@ SPL_METHOD(SplFileObject, fscanf) { spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC); + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + spl_filesystem_file_free_line(intern TSRMLS_CC); intern->u.file.current_line_num++; @@ -2840,6 +2905,11 @@ SPL_METHOD(SplFileObject, fwrite) return; } + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + if (ZEND_NUM_ARGS() > 1) { str_len = MAX(0, MIN(length, str_len)); } @@ -2859,6 +2929,11 @@ SPL_METHOD(SplFileObject, fread) return; } + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + if (length <= 0) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Length parameter must be greater than 0"); RETURN_FALSE; @@ -2888,6 +2963,11 @@ SPL_METHOD(SplFileObject, ftruncate) return; } + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + if (!php_stream_truncate_supported(intern->u.file.stream)) { zend_throw_exception_ex(spl_ce_LogicException, 0 TSRMLS_CC, "Can't truncate file %s", intern->file_name); RETURN_FALSE; @@ -2902,15 +2982,20 @@ SPL_METHOD(SplFileObject, seek) { spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC); long line_pos; - + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &line_pos) == FAILURE) { return; } + if(!intern->u.file.stream) { + zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC, "Object not initialized"); + return; + } + if (line_pos < 0) { zend_throw_exception_ex(spl_ce_LogicException, 0 TSRMLS_CC, "Can't seek file %s to negative line %ld", intern->file_name, line_pos); RETURN_FALSE; } - + spl_filesystem_file_rewind(getThis(), intern TSRMLS_CC); while(intern->u.file.current_line_num < line_pos) { diff --git a/ext/spl/spl_dllist.c b/ext/spl/spl_dllist.c index 772d780e01..c48736ec6c 100644 --- a/ext/spl/spl_dllist.c +++ b/ext/spl/spl_dllist.c @@ -43,12 +43,10 @@ PHPAPI zend_class_entry *spl_ce_SplStack; #define SPL_LLIST_DELREF(elem) if(!--(elem)->rc) { \ efree(elem); \ - elem = NULL; \ } #define SPL_LLIST_CHECK_DELREF(elem) if((elem) && !--(elem)->rc) { \ efree(elem); \ - elem = NULL; \ } #define SPL_LLIST_ADDREF(elem) (elem)->rc++ @@ -916,6 +914,11 @@ SPL_METHOD(SplDoublyLinkedList, offsetUnset) llist->dtor(element TSRMLS_CC); } + if (intern->traverse_pointer == element) { + SPL_LLIST_DELREF(element); + intern->traverse_pointer = NULL; + } + zval_ptr_dtor((zval **)&element->data); element->data = NULL; @@ -1192,7 +1195,6 @@ SPL_METHOD(SplDoublyLinkedList, unserialize) } if (buf_len == 0) { - zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Serialized string cannot be empty"); return; } diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index b9901f8f27..08841a710a 100644 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -139,6 +139,19 @@ static zend_object_handlers spl_handlers_dual_it; (var) = it; \ } while (0) +#define SPL_FETCH_SUB_ELEMENT(var, object, element) \ + do { \ + if(!(object)->iterators) { \ + zend_throw_exception_ex(spl_ce_LogicException, 0 TSRMLS_CC, \ + "The object is in an invalid state as the parent constructor was not called"); \ + return; \ + } \ + (var) = (object)->iterators[(object)->level].element; \ + } while (0) + +#define SPL_FETCH_SUB_ITERATOR(var, object) SPL_FETCH_SUB_ELEMENT(var, object, iterator) + + static void spl_recursive_it_dtor(zend_object_iterator *_iter TSRMLS_DC) { spl_recursive_it_iterator *iter = (spl_recursive_it_iterator*)_iter; @@ -161,7 +174,10 @@ static int spl_recursive_it_valid_ex(spl_recursive_it_object *object, zval *zthi { zend_object_iterator *sub_iter; int level = object->level; - + + if(!object->iterators) { + return FAILURE; + } while (level >=0) { sub_iter = object->iterators[level].iterator; if (sub_iter->funcs->valid(sub_iter TSRMLS_CC) == SUCCESS) { @@ -212,6 +228,8 @@ static void spl_recursive_it_move_forward_ex(spl_recursive_it_object *object, zv zend_object_iterator *sub_iter; int has_children; + SPL_FETCH_SUB_ITERATOR(iterator, object); + while (!EG(exception)) { next_step: iterator = object->iterators[object->level].iterator; @@ -375,9 +393,7 @@ static void spl_recursive_it_rewind_ex(spl_recursive_it_object *object, zval *zt { zend_object_iterator *sub_iter; - if (!object->iterators) { - php_error_docref(NULL TSRMLS_CC, E_ERROR, "The %s instance wasn't initialized properly", Z_OBJCE_P(zthis)->name); - } + SPL_FETCH_SUB_ITERATOR(sub_iter, object); while (object->level) { sub_iter = object->iterators[object->level].iterator; @@ -597,7 +613,7 @@ SPL_METHOD(RecursiveIteratorIterator, rewind) SPL_METHOD(RecursiveIteratorIterator, valid) { spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC); - + if (zend_parse_parameters_none() == FAILURE) { return; } @@ -610,12 +626,14 @@ SPL_METHOD(RecursiveIteratorIterator, valid) SPL_METHOD(RecursiveIteratorIterator, key) { spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC); - zend_object_iterator *iterator = object->iterators[object->level].iterator; - + zend_object_iterator *iterator; + if (zend_parse_parameters_none() == FAILURE) { return; } + SPL_FETCH_SUB_ITERATOR(iterator, object); + if (iterator->funcs->get_current_key) { iterator->funcs->get_current_key(iterator, return_value TSRMLS_CC); } else { @@ -628,13 +646,15 @@ SPL_METHOD(RecursiveIteratorIterator, key) SPL_METHOD(RecursiveIteratorIterator, current) { spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC); - zend_object_iterator *iterator = object->iterators[object->level].iterator; + zend_object_iterator *iterator; zval **data; if (zend_parse_parameters_none() == FAILURE) { return; } + SPL_FETCH_SUB_ITERATOR(iterator, object); + iterator->funcs->get_current_data(iterator, &data TSRMLS_CC); if (data && *data) { RETURN_ZVAL(*data, 1, 0); @@ -673,6 +693,7 @@ SPL_METHOD(RecursiveIteratorIterator, getSubIterator) { spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC); long level = object->level; + zval *zobject; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &level) == FAILURE) { return; @@ -680,6 +701,13 @@ SPL_METHOD(RecursiveIteratorIterator, getSubIterator) if (level < 0 || level > object->level) { RETURN_NULL(); } + + if(!object->iterators) { + zend_throw_exception_ex(spl_ce_LogicException, 0 TSRMLS_CC, + "The object is in an invalid state as the parent constructor was not called"); + return; + } + RETURN_ZVAL(object->iterators[level].zobject, 1, 0); } /* }}} */ @@ -688,13 +716,15 @@ SPL_METHOD(RecursiveIteratorIterator, getSubIterator) SPL_METHOD(RecursiveIteratorIterator, getInnerIterator) { spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC); - long level = object->level; + zval *zobject; if (zend_parse_parameters_none() == FAILURE) { return; } - - RETURN_ZVAL(object->iterators[level].zobject, 1, 0); + + SPL_FETCH_SUB_ELEMENT(zobject, object, zobject); + + RETURN_ZVAL(zobject, 1, 0); } /* }}} */ /* {{{ proto RecursiveIterator RecursiveIteratorIterator::beginIteration() @@ -722,13 +752,19 @@ SPL_METHOD(RecursiveIteratorIterator, endIteration) SPL_METHOD(RecursiveIteratorIterator, callHasChildren) { spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC); - zend_class_entry *ce = object->iterators[object->level].ce; + zend_class_entry *ce; zval *retval, *zobject; if (zend_parse_parameters_none() == FAILURE) { return; } + if (!object->iterators) { + RETURN_NULL(); + } + + SPL_FETCH_SUB_ELEMENT(ce, object, ce); + zobject = object->iterators[object->level].zobject; if (!zobject) { RETURN_FALSE; @@ -747,13 +783,15 @@ SPL_METHOD(RecursiveIteratorIterator, callHasChildren) SPL_METHOD(RecursiveIteratorIterator, callGetChildren) { spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC); - zend_class_entry *ce = object->iterators[object->level].ce; + zend_class_entry *ce; zval *retval, *zobject; if (zend_parse_parameters_none() == FAILURE) { return; } + SPL_FETCH_SUB_ELEMENT(ce, object, ce); + zobject = object->iterators[object->level].zobject; if (!zobject) { return; @@ -1072,6 +1110,13 @@ SPL_METHOD(RecursiveTreeIterator, getPrefix) if (zend_parse_parameters_none() == FAILURE) { return; } + + if(!object->iterators) { + zend_throw_exception_ex(spl_ce_LogicException, 0 TSRMLS_CC, + "The object is in an invalid state as the parent constructor was not called"); + return; + } + spl_recursive_tree_iterator_get_prefix(object, return_value TSRMLS_CC); } /* }}} */ @@ -1100,6 +1145,12 @@ SPL_METHOD(RecursiveTreeIterator, getEntry) if (zend_parse_parameters_none() == FAILURE) { return; } + + if(!object->iterators) { + zend_throw_exception_ex(spl_ce_LogicException, 0 TSRMLS_CC, + "The object is in an invalid state as the parent constructor was not called"); + return; + } spl_recursive_tree_iterator_get_entry(object, return_value TSRMLS_CC); } /* }}} */ @@ -1113,6 +1164,12 @@ SPL_METHOD(RecursiveTreeIterator, getPostfix) if (zend_parse_parameters_none() == FAILURE) { return; } + + if(!object->iterators) { + zend_throw_exception_ex(spl_ce_LogicException, 0 TSRMLS_CC, + "The object is in an invalid state as the parent constructor was not called"); + return; + } spl_recursive_tree_iterator_get_postfix(object, return_value TSRMLS_CC); } /* }}} */ @@ -1130,10 +1187,17 @@ SPL_METHOD(RecursiveTreeIterator, current) return; } + if(!object->iterators) { + zend_throw_exception_ex(spl_ce_LogicException, 0 TSRMLS_CC, + "The object is in an invalid state as the parent constructor was not called"); + return; + } + if (object->flags & RTIT_BYPASS_CURRENT) { - zend_object_iterator *iterator = object->iterators[object->level].iterator; + zend_object_iterator *iterator; zval **data; + SPL_FETCH_SUB_ITERATOR(iterator, object); iterator->funcs->get_current_data(iterator, &data TSRMLS_CC); if (data && *data) { RETURN_ZVAL(*data, 1, 0); @@ -1177,7 +1241,7 @@ SPL_METHOD(RecursiveTreeIterator, current) SPL_METHOD(RecursiveTreeIterator, key) { spl_recursive_it_object *object = (spl_recursive_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC); - zend_object_iterator *iterator = object->iterators[object->level].iterator; + zend_object_iterator *iterator; zval prefix, key, postfix, key_copy; char *str, *ptr; size_t str_len; @@ -1186,6 +1250,8 @@ SPL_METHOD(RecursiveTreeIterator, key) return; } + SPL_FETCH_SUB_ITERATOR(iterator, object); + if (iterator->funcs->get_current_key) { iterator->funcs->get_current_key(iterator, &key TSRMLS_CC); } else { @@ -1899,7 +1965,7 @@ SPL_METHOD(RecursiveCallbackFilterIterator, getChildren) return; } - intern = (spl_dual_it_object*)zend_object_store_get_object(getThis() TSRMLS_CC); + SPL_FETCH_AND_CHECK_DUAL_IT(intern, getThis()); zend_call_method_with_0_params(&intern->inner.zobject, intern->inner.ce, NULL, "getchildren", &retval); if (!EG(exception) && retval) { diff --git a/ext/spl/spl_observer.c b/ext/spl/spl_observer.c index 91830ab000..f493154b20 100644 --- a/ext/spl/spl_observer.c +++ b/ext/spl/spl_observer.c @@ -831,7 +831,6 @@ SPL_METHOD(SplObjectStorage, unserialize) } if (buf_len == 0) { - zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Empty serialized string cannot be empty"); return; } @@ -915,7 +914,7 @@ SPL_METHOD(SplObjectStorage, unserialize) ++p; ALLOC_INIT_ZVAL(pmembers); - if (!php_var_unserialize(&pmembers, &p, s + buf_len, &var_hash TSRMLS_CC)) { + if (!php_var_unserialize(&pmembers, &p, s + buf_len, &var_hash TSRMLS_CC) || Z_TYPE_P(pmembers) != IS_ARRAY) { zval_ptr_dtor(&pmembers); goto outexcept; } diff --git a/ext/spl/tests/ArrayObject_unserialize_empty_string.phpt b/ext/spl/tests/ArrayObject_unserialize_empty_string.phpt index 75d8a41321..4c446c82b9 100644 --- a/ext/spl/tests/ArrayObject_unserialize_empty_string.phpt +++ b/ext/spl/tests/ArrayObject_unserialize_empty_string.phpt @@ -1,5 +1,5 @@ --TEST-- -ArrayObject: test that you cannot unserialize a empty string +ArrayObject: test that you can unserialize a empty string --CREDITS-- Havard Eide <nucleuz@gmail.com> #PHPTestFest2009 Norway 2009-06-09 \o/ @@ -8,9 +8,6 @@ Havard Eide <nucleuz@gmail.com> $a = new ArrayObject(array()); $a->unserialize(""); ?> +Done --EXPECTF-- -Fatal error: Uncaught exception 'UnexpectedValueException' with message 'Empty serialized string cannot be empty' in %s.php:%d -Stack trace: -#0 %s(%d): ArrayObject->unserialize('') -#1 {main} - thrown in %s.php on line %d +Done diff --git a/ext/spl/tests/SplObjectStorage_unserialize_bad.phpt b/ext/spl/tests/SplObjectStorage_unserialize_bad.phpt index a525317093..8f0676de3b 100644 --- a/ext/spl/tests/SplObjectStorage_unserialize_bad.phpt +++ b/ext/spl/tests/SplObjectStorage_unserialize_bad.phpt @@ -7,6 +7,7 @@ $badblobs = array( 'x:i:2;i:0;,i:1;;i:0;,i:2;;m:a:0:{}', 'x:i:3;O:8:"stdClass":0:{},O:8:"stdClass":0:{};R:2;,i:1;;O:8:"stdClass":0:{},r:2;;m:a:0:{}', 'x:i:3;O:8:"stdClass":0:{},O:8:"stdClass":0:{};r:2;,i:1;;O:8:"stdClass":0:{},r:2;;m:a:0:{}', +'x:i:1;O:8:"stdClass":0:{},N;;m:s:40:"1234567890123456789012345678901234567890"', ); foreach($badblobs as $blob) { try { @@ -17,6 +18,7 @@ try { echo $e->getMessage()."\n"; } } +echo "DONE\n"; --EXPECTF-- Error at offset 6 of 34 bytes Error at offset 46 of 89 bytes @@ -42,4 +44,5 @@ object(SplObjectStorage)#2 (1) { } } } - +Error at offset 79 of 78 bytes +DONE diff --git a/ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt b/ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt index 4c2dd75e14..617f85e63c 100644 --- a/ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt +++ b/ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt @@ -1,5 +1,5 @@ --TEST-- -Check that SplObjectStorage::unserialize throws exception when NULL passed +Check that SplObjectStorage::unserialize doesn't throws exception when NULL passed --CREDITS-- PHPNW Testfest 2009 - Simon Westcott (swestcott@gmail.com) --FILE-- @@ -14,6 +14,6 @@ try { } ?> +Done --EXPECTF-- -Empty serialized string cannot be empty - +Done diff --git a/ext/spl/tests/bug54281.phpt b/ext/spl/tests/bug54281.phpt index d42d9e585d..71792eaa20 100644 --- a/ext/spl/tests/bug54281.phpt +++ b/ext/spl/tests/bug54281.phpt @@ -12,4 +12,8 @@ foreach($it as $k=>$v) { } ?> --EXPECTF-- -Fatal error: RecursiveIteratorIterator::rewind(): The RecursiveArrayIteratorIterator instance wasn't initialized properly in %s on line %d +Fatal error: Uncaught exception 'LogicException' with message 'The object is in an invalid state as the parent constructor was not called' in %s:%d +Stack trace: +#0 %s/bug54281.php(8): RecursiveIteratorIterator->rewind() +#1 {main} + thrown in %s/bug54281.php on line 8 diff --git a/ext/spl/tests/bug66127.phpt b/ext/spl/tests/bug66127.phpt new file mode 100644 index 0000000000..b5d1dcac4b --- /dev/null +++ b/ext/spl/tests/bug66127.phpt @@ -0,0 +1,25 @@ +--TEST-- +Bug #66127 (Segmentation fault with ArrayObject unset) +--INI-- +error_reporting = E_ALL & ~E_NOTICE +--FILE-- +<?php +function crash() +{ + set_error_handler(function () {}); + $var = 1; + trigger_error('error'); + $var2 = $var; + $var3 = $var; + trigger_error('error'); +} + +$items = new ArrayObject(); + +unset($items[0]); +unset($items[0][0]); +crash(); +echo "Worked!\n"; +?> +--EXPECT-- +Worked! diff --git a/ext/spl/tests/bug67538.phpt b/ext/spl/tests/bug67538.phpt new file mode 100644 index 0000000000..b6f3848c36 --- /dev/null +++ b/ext/spl/tests/bug67538.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #67538 (SPL Iterators use-after-free) +--FILE-- +<?php +$list = new SplDoublyLinkedList(); +$list->push('a'); +$list->push('b'); + +$list->rewind(); +$list->offsetUnset(0); +$list->push('b'); +$list->offsetUnset(0); +$list->next(); +echo "okey"; +?> +--EXPECTF-- +okey diff --git a/ext/spl/tests/bug67539.phpt b/ext/spl/tests/bug67539.phpt new file mode 100644 index 0000000000..8bab2a8c21 --- /dev/null +++ b/ext/spl/tests/bug67539.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug #67539 (ArrayIterator use-after-free due to object change during sorting) +--FILE-- +<?php + +$it = new ArrayIterator(array_fill(0,2,'X'), 1 ); + +function badsort($a, $b) { + $GLOBALS['it']->unserialize($GLOBALS['it']->serialize()); + return TRUE; +} + +$it->uksort('badsort'); +--EXPECTF-- +Warning: Modification of ArrayObject during sorting is prohibited in %sbug67539.php on line %d diff --git a/ext/spl/tests/iterator_035.phpt b/ext/spl/tests/iterator_035.phpt index 9ce098b69d..fc0271e381 100644 --- a/ext/spl/tests/iterator_035.phpt +++ b/ext/spl/tests/iterator_035.phpt @@ -12,4 +12,6 @@ $a[] = &$tmp; echo "Done\n"; ?> --EXPECTF-- +Notice: Indirect modification of overloaded element of ArrayIterator has no effect in %s on line %d + Fatal error: Cannot assign by reference to overloaded object in %s on line %d diff --git a/ext/spl/tests/unserialize.phpt b/ext/spl/tests/unserialize.phpt new file mode 100644 index 0000000000..3232b79678 --- /dev/null +++ b/ext/spl/tests/unserialize.phpt @@ -0,0 +1,43 @@ +--TEST-- +SPL: unserialize with no data (for PHPUnit) +--FILE-- +<?php + +$types = array('SplDoublyLinkedList', 'SplObjectStorage', 'ArrayObject'); + +foreach ($types as $type) { + // serialize an empty new object + $exp = serialize(new $type()); + // hack to instanciate an object without constructor + $str = sprintf('C:%d:"%s":0:{}', strlen($type), $type); + $obj = unserialize($str); + var_dump($obj); + // serialize result + $out = serialize($obj); + // both should match + var_dump($exp === $out); +} +?> +===DONE=== +--EXPECTF-- +object(SplDoublyLinkedList)#%d (2) { + ["flags":"SplDoublyLinkedList":private]=> + int(0) + ["dllist":"SplDoublyLinkedList":private]=> + array(0) { + } +} +bool(true) +object(SplObjectStorage)#%d (1) { + ["storage":"SplObjectStorage":private]=> + array(0) { + } +} +bool(true) +object(ArrayObject)#%d (1) { + ["storage":"ArrayObject":private]=> + array(0) { + } +} +bool(true) +===DONE=== diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index 0c9041ebfc..33c855facf 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -54,7 +54,7 @@ static void php_sqlite3_error(php_sqlite3_db_object *db_obj, char *format, ...) vspprintf(&message, 0, format, arg); va_end(arg); - if (db_obj->exception) { + if (db_obj && db_obj->exception) { zend_throw_exception(zend_exception_get_default(TSRMLS_C), message, 0 TSRMLS_CC); } else { php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", message); @@ -67,11 +67,17 @@ static void php_sqlite3_error(php_sqlite3_db_object *db_obj, char *format, ...) /* }}} */ #define SQLITE3_CHECK_INITIALIZED(db_obj, member, class_name) \ - if (!(member)) { \ + if (!(db_obj) || !(member)) { \ php_sqlite3_error(db_obj, "The " #class_name " object has not been correctly initialised"); \ RETURN_FALSE; \ } +#define SQLITE3_CHECK_INITIALIZED_STMT(member, class_name) \ + if (!(member)) { \ + php_error_docref(NULL TSRMLS_CC, E_WARNING, "The " #class_name " object has not been correctly initialised"); \ + RETURN_FALSE; \ + } + /* {{{ PHP_INI */ PHP_INI_BEGIN() @@ -191,12 +197,14 @@ PHP_METHOD(sqlite3, close) } if (db_obj->initialised) { - zend_llist_clean(&(db_obj->free_list)); - errcode = sqlite3_close(db_obj->db); - if (errcode != SQLITE_OK) { - php_sqlite3_error(db_obj, "Unable to close database: %d, %s", errcode, sqlite3_errmsg(db_obj->db)); - RETURN_FALSE; - } + zend_llist_clean(&(db_obj->free_list)); + if(db_obj->db) { + errcode = sqlite3_close(db_obj->db); + if (errcode != SQLITE_OK) { + php_sqlite3_error(db_obj, "Unable to close database: %d, %s", errcode, sqlite3_errmsg(db_obj->db)); + RETURN_FALSE; + } + } db_obj->initialised = 0; } @@ -1279,6 +1287,8 @@ PHP_METHOD(sqlite3stmt, paramCount) return; } + SQLITE3_CHECK_INITIALIZED_STMT(stmt_obj->stmt, SQLite3Stmt); + RETURN_LONG(sqlite3_bind_parameter_count(stmt_obj->stmt)); } /* }}} */ @@ -1295,7 +1305,9 @@ PHP_METHOD(sqlite3stmt, close) return; } - zend_llist_del_element(&(stmt_obj->db_obj->free_list), object, (int (*)(void *, void *)) php_sqlite3_compare_stmt_zval_free); + if(stmt_obj->db_obj) { + zend_llist_del_element(&(stmt_obj->db_obj->free_list), object, (int (*)(void *, void *)) php_sqlite3_compare_stmt_zval_free); + } RETURN_TRUE; } @@ -1313,6 +1325,8 @@ PHP_METHOD(sqlite3stmt, reset) return; } + SQLITE3_CHECK_INITIALIZED_STMT(stmt_obj->stmt, SQLite3Stmt); + if (sqlite3_reset(stmt_obj->stmt) != SQLITE_OK) { php_sqlite3_error(stmt_obj->db_obj, "Unable to reset statement: %s", sqlite3_errmsg(sqlite3_db_handle(stmt_obj->stmt))); RETURN_FALSE; @@ -1333,6 +1347,8 @@ PHP_METHOD(sqlite3stmt, clear) return; } + SQLITE3_CHECK_INITIALIZED_STMT(stmt_obj->stmt, SQLite3Stmt); + if (sqlite3_clear_bindings(stmt_obj->stmt) != SQLITE_OK) { php_sqlite3_error(stmt_obj->db_obj, "Unable to clear statement: %s", sqlite3_errmsg(sqlite3_db_handle(stmt_obj->stmt))); RETURN_FALSE; @@ -1354,6 +1370,8 @@ PHP_METHOD(sqlite3stmt, readOnly) return; } + SQLITE3_CHECK_INITIALIZED_STMT(stmt_obj->stmt, SQLite3Stmt); + #if SQLITE_VERSION_NUMBER >= 3007004 if (sqlite3_stmt_readonly(stmt_obj->stmt)) { RETURN_TRUE; @@ -1426,6 +1444,8 @@ PHP_METHOD(sqlite3stmt, bindParam) } } + SQLITE3_CHECK_INITIALIZED_STMT(stmt_obj->stmt, SQLite3Stmt); + Z_ADDREF_P(param.parameter); if (!register_bound_parameter_to_sqlite(¶m, stmt_obj TSRMLS_CC)) { @@ -1457,6 +1477,8 @@ PHP_METHOD(sqlite3stmt, bindValue) } } + SQLITE3_CHECK_INITIALIZED_STMT(stmt_obj->stmt, SQLite3Stmt); + Z_ADDREF_P(param.parameter); if (!register_bound_parameter_to_sqlite(¶m, stmt_obj TSRMLS_CC)) { diff --git a/ext/standard/array.c b/ext/standard/array.c index 450e6995c2..19895f1f58 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -333,17 +333,12 @@ PHP_FUNCTION(count) #ifdef HAVE_SPL /* if not and the object implements Countable we call its count() method */ if (Z_OBJ_HT_P(array)->get_class_entry && instanceof_function(Z_OBJCE_P(array), spl_ce_Countable TSRMLS_CC)) { - zval *mode_zv; - MAKE_STD_ZVAL(mode_zv); - ZVAL_LONG(mode_zv, mode); - zend_call_method_with_1_params(&array, NULL, NULL, "count", &retval, mode_zv); + zend_call_method_with_0_params(&array, NULL, NULL, "count", &retval); if (retval) { convert_to_long_ex(&retval); RETVAL_LONG(Z_LVAL_P(retval)); zval_ptr_dtor(&retval); } - zval_dtor(mode_zv); - efree(mode_zv); return; } #endif @@ -1894,7 +1889,7 @@ static void _phpi_pop(INTERNAL_FUNCTION_PARAMETERS, int off_the_end) /* If we did a shift... re-index like it did before */ if (!off_the_end) { zend_hash_reindex(Z_ARRVAL_P(stack), 1); - } else if (!key_len && index >= Z_ARRVAL_P(stack)->nNextFreeElement - 1) { + } else if (!key_len && Z_ARRVAL_P(stack)->nNextFreeElement > 0 && index >= Z_ARRVAL_P(stack)->nNextFreeElement - 1) { Z_ARRVAL_P(stack)->nNextFreeElement = Z_ARRVAL_P(stack)->nNextFreeElement - 1; } diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 189281bac6..3c60308fe4 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -2284,8 +2284,9 @@ ZEND_BEGIN_ARG_INFO(arginfo_lcfirst, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_ucwords, 0) +ZEND_BEGIN_ARG_INFO_EX(arginfo_ucwords, 0, 0, 1) ZEND_ARG_INFO(0, str) + ZEND_ARG_INFO(0, delimiters) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_strtr, 0, 0, 2) @@ -2634,9 +2635,8 @@ ZEND_BEGIN_ARG_INFO(arginfo_serialize, 0) ZEND_ARG_INFO(0, var) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_unserialize, 0, 0, 1) +ZEND_BEGIN_ARG_INFO(arginfo_unserialize, 0) ZEND_ARG_INFO(0, variable_representation) - ZEND_ARG_INFO(1, consumed) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_memory_get_usage, 0, 0, 0) diff --git a/ext/standard/credits.c b/ext/standard/credits.c index 006c2d4c1a..3cb6eef724 100644 --- a/ext/standard/credits.c +++ b/ext/standard/credits.c @@ -61,10 +61,10 @@ PHPAPI void php_print_credits(int flag TSRMLS_DC) /* {{{ */ php_info_print_table_start(); php_info_print_table_colspan_header(2, "PHP Authors"); php_info_print_table_header(2, "Contribution", "Authors"); - CREDIT_LINE("Zend Scripting Language Engine", "Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Marcus Boerger, Dmitry Stogov"); + CREDIT_LINE("Zend Scripting Language Engine", "Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Marcus Boerger, Dmitry Stogov, Xinchen Hui, Nikita Popov"); CREDIT_LINE("Extension Module API", "Andi Gutmans, Zeev Suraski, Andrei Zmievski"); CREDIT_LINE("UNIX Build and Modularization", "Stig Bakken, Sascha Schumann, Jani Taskinen"); - CREDIT_LINE("Windows Port", "Shane Caraveo, Zeev Suraski, Wez Furlong, Pierre-Alain Joye"); + CREDIT_LINE("Windows Port", "Shane Caraveo, Zeev Suraski, Wez Furlong, Pierre-Alain Joye, Anatol Belski"); CREDIT_LINE("Server API (SAPI) Abstraction Layer", "Andi Gutmans, Shane Caraveo, Zeev Suraski"); CREDIT_LINE("Streams Abstraction Layer", "Wez Furlong, Sara Golemon"); CREDIT_LINE("PHP Data Objects Layer", "Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky"); @@ -95,7 +95,7 @@ PHPAPI void php_print_credits(int flag TSRMLS_DC) /* {{{ */ if (flag & PHP_CREDITS_DOCS) { php_info_print_table_start(); php_info_print_table_colspan_header(2, "PHP Documentation"); - CREDIT_LINE("Authors", "Mehdi Achour, Friedhelm Betz, Antony Dovgal, Nuno Lopes, Hannes Magnusson, Georg Richter, Damien Seguy, Jakub Vrana"); + CREDIT_LINE("Authors", "Mehdi Achour, Friedhelm Betz, Antony Dovgal, Nuno Lopes, Hannes Magnusson, Georg Richter, Damien Seguy, Jakub Vrana, Adam Harvey, Peter Cowburn"); CREDIT_LINE("Editor", "Philip Olson"); CREDIT_LINE("User Note Maintainers", "Daniel P. Brown, Thiago Henrique Pojda"); CREDIT_LINE("Other Contributors", "Previously active authors, editors and other contributors are listed in the manual."); @@ -105,7 +105,7 @@ PHPAPI void php_print_credits(int flag TSRMLS_DC) /* {{{ */ if (flag & PHP_CREDITS_QA) { php_info_print_table_start(); php_info_print_table_header(1, "PHP Quality Assurance Team"); - php_info_print_table_row(1, "Ilia Alshanetsky, Joerg Behrens, Antony Dovgal, Stefan Esser, Moriyoshi Koizumi, Magnus Maatta, Sebastian Nohn, Derick Rethans, Melvyn Sopacua, Jani Taskinen, Pierre-Alain Joye, Dmitry Stogov, Felipe Pena, David Soria Parra"); + php_info_print_table_row(1, "Ilia Alshanetsky, Joerg Behrens, Antony Dovgal, Stefan Esser, Moriyoshi Koizumi, Magnus Maatta, Sebastian Nohn, Derick Rethans, Melvyn Sopacua, Jani Taskinen, Pierre-Alain Joye, Dmitry Stogov, Felipe Pena, David Soria Parra, Stanislav Malyshev, Julien Pauli, Stephen Zarkos, Anatol Belski, Remi Collet, Ferenc Kovacs"); php_info_print_table_end(); } @@ -115,7 +115,7 @@ PHPAPI void php_print_credits(int flag TSRMLS_DC) /* {{{ */ php_info_print_table_start(); php_info_print_table_colspan_header(2, "Websites and Infrastructure team"); /* www., wiki., windows., master., and others, I guess pecl. too? */ - CREDIT_LINE("PHP Websites Team", "Rasmus Lerdorf, Hannes Magnusson, Philip Olson, Lukas Kahwe Smith, Pierre-Alain Joye, Kalle Sommer Nielsen"); + CREDIT_LINE("PHP Websites Team", "Rasmus Lerdorf, Hannes Magnusson, Philip Olson, Lukas Kahwe Smith, Pierre-Alain Joye, Kalle Sommer Nielsen, Peter Cowburn, Adam Harvey, Ferenc Kovacs, Levi Morrison"); CREDIT_LINE("Event Maintainers", "Damien Seguy, Daniel P. Brown"); /* Mirroring */ CREDIT_LINE("Network Infrastructure", "Daniel P. Brown"); diff --git a/ext/standard/dns.c b/ext/standard/dns.c index 6a894467ff..214a7dc7e9 100644 --- a/ext/standard/dns.c +++ b/ext/standard/dns.c @@ -517,6 +517,10 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int while (ll < dlen) { n = cp[ll]; + if ((ll + n) >= dlen) { + // Invalid chunk length, truncate + n = dlen - (ll + 1); + } memcpy(tp + ll , cp + ll + 1, n); add_next_index_stringl(entries, cp + ll + 1, n, 1); ll = ll + n + 1; diff --git a/ext/standard/file.c b/ext/standard/file.c index e1f24abf64..10ed693f01 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -527,7 +527,7 @@ PHP_FUNCTION(file_get_contents) char *contents; zend_bool use_include_path = 0; php_stream *stream; - int len; + long len; long offset = -1; long maxlen = PHP_STREAM_COPY_ALL; zval *zcontext = NULL; @@ -559,6 +559,10 @@ PHP_FUNCTION(file_get_contents) } if ((len = php_stream_copy_to_mem(stream, &contents, maxlen, 0)) > 0) { + if (len > INT_MAX) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "content truncated from %ld to %d bytes", len, INT_MAX); + len = INT_MAX; + } RETVAL_STRINGL(contents, len, 0); } else if (len == 0) { RETVAL_EMPTY_STRING(); @@ -578,7 +582,7 @@ PHP_FUNCTION(file_put_contents) char *filename; int filename_len; zval *data; - int numbytes = 0; + long numbytes = 0; long flags = 0; zval *zcontext = NULL; php_stream_context *context = NULL; @@ -630,6 +634,10 @@ PHP_FUNCTION(file_put_contents) if (php_stream_copy_to_stream_ex(srcstream, stream, PHP_STREAM_COPY_ALL, &len) != SUCCESS) { numbytes = -1; } else { + if (len > LONG_MAX) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "content truncated from %lu to %ld bytes", (unsigned long) len, LONG_MAX); + len = LONG_MAX; + } numbytes = len; } break; @@ -645,7 +653,7 @@ PHP_FUNCTION(file_put_contents) if (Z_STRLEN_P(data)) { numbytes = php_stream_write(stream, Z_STRVAL_P(data), Z_STRLEN_P(data)); if (numbytes != Z_STRLEN_P(data)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Only %d of %d bytes written, possibly out of free disk space", numbytes, Z_STRLEN_P(data)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Only %ld of %d bytes written, possibly out of free disk space", numbytes, Z_STRLEN_P(data)); numbytes = -1; } } @@ -688,7 +696,7 @@ PHP_FUNCTION(file_put_contents) if (zend_std_cast_object_tostring(data, &out, IS_STRING TSRMLS_CC) == SUCCESS) { numbytes = php_stream_write(stream, Z_STRVAL(out), Z_STRLEN(out)); if (numbytes != Z_STRLEN(out)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Only %d of %d bytes written, possibly out of free disk space", numbytes, Z_STRLEN(out)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Only %ld of %d bytes written, possibly out of free disk space", numbytes, Z_STRLEN(out)); numbytes = -1; } zval_dtor(&out); diff --git a/ext/standard/head.c b/ext/standard/head.c index eca032a97b..0316903bc6 100644 --- a/ext/standard/head.c +++ b/ext/standard/head.c @@ -124,7 +124,7 @@ PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, t if (expires > 0) { const char *p; char tsdelta[13]; - strlcat(cookie, "; expires=", len + 100); + strlcat(cookie, COOKIE_EXPIRES, len + 100); dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, expires, 0 TSRMLS_CC); /* check to make sure that the year does not exceed 4 digits in length */ p = zend_memrchr(dt, '-', strlen(dt)); @@ -139,7 +139,7 @@ PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, t efree(dt); snprintf(tsdelta, sizeof(tsdelta), "%li", (long) difftime(expires, time(NULL))); - strlcat(cookie, "; Max-Age=", len + 100); + strlcat(cookie, COOKIE_MAX_AGE, len + 100); strlcat(cookie, tsdelta, len + 100); } } @@ -149,18 +149,18 @@ PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, t } if (path && path_len > 0) { - strlcat(cookie, "; path=", len + 100); + strlcat(cookie, COOKIE_PATH, len + 100); strlcat(cookie, path, len + 100); } if (domain && domain_len > 0) { - strlcat(cookie, "; domain=", len + 100); + strlcat(cookie, COOKIE_DOMAIN, len + 100); strlcat(cookie, domain, len + 100); } if (secure) { - strlcat(cookie, "; secure", len + 100); + strlcat(cookie, COOKIE_SECURE, len + 100); } if (httponly) { - strlcat(cookie, "; httponly", len + 100); + strlcat(cookie, COOKIE_HTTPONLY, len + 100); } ctr.line = cookie; diff --git a/ext/standard/head.h b/ext/standard/head.h index efca9b8637..59b1518676 100644 --- a/ext/standard/head.h +++ b/ext/standard/head.h @@ -21,6 +21,13 @@ #ifndef HEAD_H #define HEAD_H +#define COOKIE_EXPIRES "; expires=" +#define COOKIE_MAX_AGE "; Max-Age=" +#define COOKIE_DOMAIN "; domain=" +#define COOKIE_PATH "; path=" +#define COOKIE_SECURE "; secure" +#define COOKIE_HTTPONLY "; HttpOnly" + extern PHP_RINIT_FUNCTION(head); PHP_FUNCTION(header); PHP_FUNCTION(header_remove); diff --git a/ext/standard/http_fopen_wrapper.c b/ext/standard/http_fopen_wrapper.c index 3ef722bde0..645b2ee0c3 100644 --- a/ext/standard/http_fopen_wrapper.c +++ b/ext/standard/http_fopen_wrapper.c @@ -120,7 +120,7 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper, char *scratch = NULL; char *tmp = NULL; char *ua_str = NULL; - zval **ua_zval = NULL, **tmpzval = NULL; + zval **ua_zval = NULL, **tmpzval = NULL, *ssl_proxy_peer_name = NULL; int scratch_len = 0; int body = 0; char location[HTTP_HEADER_BLOCK_SIZE]; @@ -226,6 +226,13 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper, if (stream && use_proxy && use_ssl) { smart_str header = {0}; + /* Set peer_name or name verification will try to use the proxy server name */ + if (!context || php_stream_context_get_option(context, "ssl", "peer_name", &tmpzval) == FAILURE) { + MAKE_STD_ZVAL(ssl_proxy_peer_name); + ZVAL_STRING(ssl_proxy_peer_name, resource->host, 1); + php_stream_context_set_option(stream->context, "ssl", "peer_name", ssl_proxy_peer_name); + } + smart_str_appendl(&header, "CONNECT ", sizeof("CONNECT ")-1); smart_str_appends(&header, resource->host); smart_str_appendc(&header, ':'); @@ -316,7 +323,7 @@ finish: /* enable SSL transport layer */ if (stream) { - if (php_stream_xport_crypto_setup(stream, STREAM_CRYPTO_METHOD_SSLv23_CLIENT, NULL TSRMLS_CC) < 0 || + if (php_stream_xport_crypto_setup(stream, STREAM_CRYPTO_METHOD_ANY_CLIENT, NULL TSRMLS_CC) < 0 || php_stream_xport_crypto_enable(stream, 1 TSRMLS_CC) < 0) { php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "Cannot connect to HTTPS server through proxy"); php_stream_close(stream); @@ -752,10 +759,11 @@ finish: SEPARATE_ZVAL(tmpzval); convert_to_long_ex(tmpzval); follow_location = Z_LVAL_PP(tmpzval); - } else if (!(response_code >= 300 && response_code < 304 || 307 == response_code)) { + } else if (!(response_code >= 300 && response_code < 304 || 307 == response_code || 308 == response_code)) { /* we shouldn't redirect automatically if follow_location isn't set and response_code not in (300, 301, 302, 303 and 307) - see http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.1 */ + see http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.1 + RFC 7238 defines 308: http://tools.ietf.org/html/rfc7238 */ follow_location = 0; } strlcpy(location, http_header_line + 10, sizeof(location)); diff --git a/ext/standard/info.c b/ext/standard/info.c index 0d06037f81..343244c21c 100644 --- a/ext/standard/info.c +++ b/ext/standard/info.c @@ -900,16 +900,16 @@ PHPAPI void php_print_info(int flag TSRMLS_DC) php_info_print_table_start(); php_info_print_table_header(2, "Variable", "Value"); - if (zend_hash_find(&EG(symbol_table), "PHP_SELF", sizeof("PHP_SELF"), (void **) &data) != FAILURE) { + if (zend_hash_find(&EG(symbol_table), "PHP_SELF", sizeof("PHP_SELF"), (void **) &data) != FAILURE && Z_TYPE_PP(data) == IS_STRING) { php_info_print_table_row(2, "PHP_SELF", Z_STRVAL_PP(data)); } - if (zend_hash_find(&EG(symbol_table), "PHP_AUTH_TYPE", sizeof("PHP_AUTH_TYPE"), (void **) &data) != FAILURE) { + if (zend_hash_find(&EG(symbol_table), "PHP_AUTH_TYPE", sizeof("PHP_AUTH_TYPE"), (void **) &data) != FAILURE && Z_TYPE_PP(data) == IS_STRING) { php_info_print_table_row(2, "PHP_AUTH_TYPE", Z_STRVAL_PP(data)); } - if (zend_hash_find(&EG(symbol_table), "PHP_AUTH_USER", sizeof("PHP_AUTH_USER"), (void **) &data) != FAILURE) { + if (zend_hash_find(&EG(symbol_table), "PHP_AUTH_USER", sizeof("PHP_AUTH_USER"), (void **) &data) != FAILURE && Z_TYPE_PP(data) == IS_STRING) { php_info_print_table_row(2, "PHP_AUTH_USER", Z_STRVAL_PP(data)); } - if (zend_hash_find(&EG(symbol_table), "PHP_AUTH_PW", sizeof("PHP_AUTH_PW"), (void **) &data) != FAILURE) { + if (zend_hash_find(&EG(symbol_table), "PHP_AUTH_PW", sizeof("PHP_AUTH_PW"), (void **) &data) != FAILURE && Z_TYPE_PP(data) == IS_STRING) { php_info_print_table_row(2, "PHP_AUTH_PW", Z_STRVAL_PP(data)); } php_print_gpcse_array(ZEND_STRL("_REQUEST") TSRMLS_CC); diff --git a/ext/standard/php_fopen_wrapper.c b/ext/standard/php_fopen_wrapper.c index 7e21e95d18..9628c0d69d 100644 --- a/ext/standard/php_fopen_wrapper.c +++ b/ext/standard/php_fopen_wrapper.c @@ -231,7 +231,7 @@ php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, const char *pa if ((input->body = SG(request_info).request_body)) { php_stream_rewind(input->body); } else { - input->body = php_stream_temp_create(TEMP_STREAM_DEFAULT, SAPI_POST_BLOCK_SIZE); + input->body = php_stream_temp_create_ex(TEMP_STREAM_DEFAULT, SAPI_POST_BLOCK_SIZE, PG(upload_tmp_dir)); SG(request_info).request_body = input->body; } diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c index 68b4cceaaa..8df4be7fac 100644 --- a/ext/standard/streamsfuncs.c +++ b/ext/standard/streamsfuncs.c @@ -409,7 +409,7 @@ PHP_FUNCTION(stream_get_contents) zval *zsrc; long maxlen = PHP_STREAM_COPY_ALL, desiredpos = -1L; - int len; + long len; char *contents = NULL; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|ll", &zsrc, &maxlen, &desiredpos) == FAILURE) { @@ -441,6 +441,10 @@ PHP_FUNCTION(stream_get_contents) len = php_stream_copy_to_mem(stream, &contents, maxlen, 0); if (contents) { + if (len > INT_MAX) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "content truncated from %ld to %d bytes", len, INT_MAX); + len = INT_MAX; + } RETVAL_STRINGL(contents, len, 0); } else { RETVAL_EMPTY_STRING(); diff --git a/ext/standard/string.c b/ext/standard/string.c index 9139906653..ab8280346f 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -2738,11 +2738,12 @@ PHP_FUNCTION(lcfirst) Uppercase the first character of every word in a string */ PHP_FUNCTION(ucwords) { - char *str; + char *str, *delims = " \t\r\n\f\v"; register char *r, *r_end; - int str_len; + int str_len, delims_len = 6; + char mask[256]; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s", &str, &str_len, &delims, &delims_len) == FAILURE) { return; } @@ -2750,12 +2751,14 @@ PHP_FUNCTION(ucwords) RETURN_EMPTY_STRING(); } + php_charmask((unsigned char *)delims, delims_len, mask TSRMLS_CC); + ZVAL_STRINGL(return_value, str, str_len, 1); r = Z_STRVAL_P(return_value); *r = toupper((unsigned char) *r); for (r_end = r + Z_STRLEN_P(return_value) - 1; r < r_end; ) { - if (isspace((int) *(unsigned char *)r++)) { + if (mask[(unsigned char)*r++]) { *r = toupper((unsigned char) *r); } } @@ -3101,6 +3104,10 @@ static void php_strtr_array(zval *return_value, char *str, int slen, HashTable * int patterns_len; zend_llist *allocs; + if (zend_hash_num_elements(pats) == 0) { + RETURN_STRINGL(str, slen, 1); + } + S(&text) = str; L(&text) = slen; diff --git a/ext/standard/tests/array/bug67064.phpt b/ext/standard/tests/array/bug67064.phpt deleted file mode 100644 index 2818516dac..0000000000 --- a/ext/standard/tests/array/bug67064.phpt +++ /dev/null @@ -1,17 +0,0 @@ ---TEST-- -Bug #67064 (Countable interface prevents using 2nd parameter ($mode) of count() function) ---FILE-- -<?php -class Counter implements Countable { - public function count($mode = COUNT_NORMAL) { - var_dump($mode == COUNT_RECURSIVE); - return 1; - } -} - -$counter = new Counter; -var_dump(count($counter, COUNT_RECURSIVE)); -?> ---EXPECTF-- -bool(true) -int(1) diff --git a/ext/standard/tests/array/bug67693.phpt b/ext/standard/tests/array/bug67693.phpt new file mode 100644 index 0000000000..516436c511 --- /dev/null +++ b/ext/standard/tests/array/bug67693.phpt @@ -0,0 +1,25 @@ +--TEST-- +Bug #67693 - incorrect push to empty array +--FILE-- +<?php + +$array = array(-1 => 0); + +array_pop($array); + +array_push($array, 0); +array_push($array, 0); + +var_dump($array); + +echo"\nDone"; +?> +--EXPECT-- +array(2) { + [0]=> + int(0) + [1]=> + int(0) +} + +Done diff --git a/ext/standard/tests/general_functions/bug67498.phpt b/ext/standard/tests/general_functions/bug67498.phpt new file mode 100644 index 0000000000..5b5951b0f8 --- /dev/null +++ b/ext/standard/tests/general_functions/bug67498.phpt @@ -0,0 +1,15 @@ +--TEST-- +phpinfo() Type Confusion Information Leak Vulnerability +--FILE-- +<?php +$PHP_SELF = 1; +phpinfo(INFO_VARIABLES); + +?> +==DONE== +--EXPECTF-- +phpinfo() + +PHP Variables +%A +==DONE== diff --git a/ext/standard/tests/general_functions/header_redirection_001.phpt b/ext/standard/tests/general_functions/header_redirection_001.phpt new file mode 100644 index 0000000000..ecf57ec54a --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_001.phpt @@ -0,0 +1,11 @@ +--TEST-- +Location: headers change the status code +--CGI-- +--FILE-- +<?php +header('Location: http://example.com/'); +?> +--EXPECTHEADERS-- +Status: 302 Moved Temporarily +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_002.phpt b/ext/standard/tests/general_functions/header_redirection_002.phpt new file mode 100644 index 0000000000..2bf6dec510 --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_002.phpt @@ -0,0 +1,12 @@ +--TEST-- +Location: headers override non-201 and 3xx response codes +--CGI-- +--FILE-- +<?php +header("HTTP/1.1 418 I'm a Teapot"); +header('Location: http://example.com/'); +?> +--EXPECTHEADERS-- +Status: 302 Moved Temporarily +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_003.phpt b/ext/standard/tests/general_functions/header_redirection_003.phpt new file mode 100644 index 0000000000..678e3143ac --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_003.phpt @@ -0,0 +1,11 @@ +--TEST-- +Location: headers respect the header() response code parameter +--CGI-- +--FILE-- +<?php +header('Location: http://example.com/', true, 404); +?> +--EXPECTHEADERS-- +Status: 404 Not Found +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_004.phpt b/ext/standard/tests/general_functions/header_redirection_004.phpt new file mode 100644 index 0000000000..678e3143ac --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_004.phpt @@ -0,0 +1,11 @@ +--TEST-- +Location: headers respect the header() response code parameter +--CGI-- +--FILE-- +<?php +header('Location: http://example.com/', true, 404); +?> +--EXPECTHEADERS-- +Status: 404 Not Found +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_005.phpt b/ext/standard/tests/general_functions/header_redirection_005.phpt new file mode 100644 index 0000000000..fc3e0f7af8 --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_005.phpt @@ -0,0 +1,12 @@ +--TEST-- +Location: headers do not override the 201 response code +--CGI-- +--FILE-- +<?php +header('HTTP/1.1 201 Created'); +header('Location: http://example.com/'); +?> +--EXPECTHEADERS-- +Status: 201 Created +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_006.phpt b/ext/standard/tests/general_functions/header_redirection_006.phpt new file mode 100644 index 0000000000..5fb52096ce --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_006.phpt @@ -0,0 +1,12 @@ +--TEST-- +Location: headers do not override the 300 Multiple Choices response code +--CGI-- +--FILE-- +<?php +header('HTTP/1.1 300 Multiple Choices'); +header('Location: http://example.com/'); +?> +--EXPECTHEADERS-- +Status: 300 Multiple Choices +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_007.phpt b/ext/standard/tests/general_functions/header_redirection_007.phpt new file mode 100644 index 0000000000..6769b080fb --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_007.phpt @@ -0,0 +1,12 @@ +--TEST-- +Location: headers do not override the 301 Moved Permanently response code +--CGI-- +--FILE-- +<?php +header('HTTP/1.1 301 Moved Permanently'); +header('Location: http://example.com/'); +?> +--EXPECTHEADERS-- +Status: 301 Moved Permanently +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_008.phpt b/ext/standard/tests/general_functions/header_redirection_008.phpt new file mode 100644 index 0000000000..50993707c1 --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_008.phpt @@ -0,0 +1,12 @@ +--TEST-- +Location: headers do not override the 302 Found response code +--CGI-- +--FILE-- +<?php +header('HTTP/1.1 302 Found'); +header('Location: http://example.com/'); +?> +--EXPECTHEADERS-- +Status: 302 Found +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_009.phpt b/ext/standard/tests/general_functions/header_redirection_009.phpt new file mode 100644 index 0000000000..f8d27f9bfd --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_009.phpt @@ -0,0 +1,12 @@ +--TEST-- +Location: headers do not override the 303 See Other response code +--CGI-- +--FILE-- +<?php +header('HTTP/1.1 303 See Other'); +header('Location: http://example.com/'); +?> +--EXPECTHEADERS-- +Status: 303 See Other +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_010.phpt b/ext/standard/tests/general_functions/header_redirection_010.phpt new file mode 100644 index 0000000000..316112dde7 --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_010.phpt @@ -0,0 +1,12 @@ +--TEST-- +Location: headers do not override the 304 Not Modified response code +--CGI-- +--FILE-- +<?php +header('HTTP/1.1 304 Not Modified'); +header('Location: http://example.com/'); +?> +--EXPECTHEADERS-- +Status: 304 Not Modified +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_011.phpt b/ext/standard/tests/general_functions/header_redirection_011.phpt new file mode 100644 index 0000000000..bfd8789639 --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_011.phpt @@ -0,0 +1,12 @@ +--TEST-- +Location: headers do not override the 305 Use Proxy response code +--CGI-- +--FILE-- +<?php +header('HTTP/1.1 305 Use Proxy'); +header('Location: http://example.com/'); +?> +--EXPECTHEADERS-- +Status: 305 Use Proxy +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_012.phpt b/ext/standard/tests/general_functions/header_redirection_012.phpt new file mode 100644 index 0000000000..657028b09c --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_012.phpt @@ -0,0 +1,12 @@ +--TEST-- +Location: headers do not override the 307 Temporary Redirect response code +--CGI-- +--FILE-- +<?php +header('HTTP/1.1 307 Temporary Redirect'); +header('Location: http://example.com/'); +?> +--EXPECTHEADERS-- +Status: 307 Temporary Redirect +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_013.phpt b/ext/standard/tests/general_functions/header_redirection_013.phpt new file mode 100644 index 0000000000..4dce0d00fa --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_013.phpt @@ -0,0 +1,12 @@ +--TEST-- +Location: headers do not override the 308 Permanent Redirect response code +--CGI-- +--FILE-- +<?php +header('HTTP/1.1 308 Permanent Redirect'); +header('Location: http://example.com/'); +?> +--EXPECTHEADERS-- +Status: 308 Permanent Redirect +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/general_functions/header_redirection_014.phpt b/ext/standard/tests/general_functions/header_redirection_014.phpt new file mode 100644 index 0000000000..a5fb6e8fec --- /dev/null +++ b/ext/standard/tests/general_functions/header_redirection_014.phpt @@ -0,0 +1,12 @@ +--TEST-- +Location: headers do not override the 399 Choose Your Own Adventure response code +--CGI-- +--FILE-- +<?php +header('HTTP/1.1 399 Choose Your Own Adventure'); +header('Location: http://example.com/'); +?> +--EXPECTHEADERS-- +Status: 399 Choose Your Own Adventure +Location: http://example.com/ +--EXPECT-- diff --git a/ext/standard/tests/http/bug67430.phpt b/ext/standard/tests/http/bug67430.phpt new file mode 100644 index 0000000000..d4474fdf5d --- /dev/null +++ b/ext/standard/tests/http/bug67430.phpt @@ -0,0 +1,49 @@ +--TEST-- +Bug #67430 (http:// wrapper doesn't follow 308 redirects) +--INI-- +allow_url_fopen=1 +--SKIPIF-- +<?php require 'server.inc'; http_server_skipif('tcp://127.0.0.1:12342'); ?> +--FILE-- +<?php +require 'server.inc'; + +function do_test($follow) { + $options = [ + 'http' => [ + 'method' => 'POST', + 'follow_location' => $follow, + ], + ]; + + $ctx = stream_context_create($options); + + $responses = [ + "data://text/plain,HTTP/1.1 308\r\nLocation: /foo\r\n\r\n", + "data://text/plain,HTTP/1.1 200\r\nConnection: close\r\n\r\n", + ]; + $pid = http_server('tcp://127.0.0.1:12342', $responses, $output); + + $fd = fopen('http://127.0.0.1:12342/', 'rb', false, $ctx); + fseek($output, 0, SEEK_SET); + echo stream_get_contents($output); + + http_server_kill($pid); +} + +do_test(true); +do_test(false); + +?> +Done +--EXPECT-- +POST / HTTP/1.0 +Host: 127.0.0.1:12342 + +GET /foo HTTP/1.0 +Host: 127.0.0.1:12342 + +POST / HTTP/1.0 +Host: 127.0.0.1:12342 + +Done diff --git a/ext/standard/tests/network/setcookie.phpt b/ext/standard/tests/network/setcookie.phpt index a2a72e7177..3b8e551834 100644 --- a/ext/standard/tests/network/setcookie.phpt +++ b/ext/standard/tests/network/setcookie.phpt @@ -29,7 +29,7 @@ $expected = array( 'Set-Cookie: name=value; path=/path/', 'Set-Cookie: name=value; domain=domain.tld', 'Set-Cookie: name=value; secure', - 'Set-Cookie: name=value; httponly' + 'Set-Cookie: name=value; HttpOnly' ); $headers = headers_list(); diff --git a/ext/standard/tests/serialize/serialization_error_001.phpt b/ext/standard/tests/serialize/serialization_error_001.phpt index c6c17512f3..da6f50cc02 100644 --- a/ext/standard/tests/serialize/serialization_error_001.phpt +++ b/ext/standard/tests/serialize/serialization_error_001.phpt @@ -21,7 +21,7 @@ var_dump( unserialize() ); //Test serialize with one more than the expected number of arguments var_dump( serialize(1,2) ); -var_dump( unserialize(1,$x,2) ); +var_dump( unserialize(1,2) ); echo "Done"; ?> @@ -31,12 +31,12 @@ echo "Done"; Warning: serialize() expects exactly 1 parameter, 0 given in %s on line 16 NULL -Warning: unserialize() expects at least 1 parameter, 0 given in %s on line 17 +Warning: unserialize() expects exactly 1 parameter, 0 given in %s on line 17 bool(false) Warning: serialize() expects exactly 1 parameter, 2 given in %s on line 20 NULL -Warning: unserialize() expects at most 2 parameters, 3 given in %s on line 21 +Warning: unserialize() expects exactly 1 parameter, 2 given in %s on line 21 bool(false) Done diff --git a/ext/standard/tests/serialize/unserialize_consumed.phpt b/ext/standard/tests/serialize/unserialize_consumed.phpt deleted file mode 100644 index 6cc11e273f..0000000000 --- a/ext/standard/tests/serialize/unserialize_consumed.phpt +++ /dev/null @@ -1,27 +0,0 @@ ---TEST-- -Unserialization of partial strings ---FILE-- -<?php -$data = [123,4.56,true]; -$ser = serialize($data); -$serlen = strlen($ser); - -$unser = unserialize($ser, $consumed); -echo "Consume full string: "; -var_dump($serlen == $consumed); -echo "Return original data: "; -var_dump($unser === $data); - -$ser .= "junk\x01data"; -$unser = unserialize($ser, $consumed); -echo "Consume full string(junk): "; -var_dump($serlen == $consumed); -echo "Return original data(junk): "; -var_dump($unser === $data); - ---EXPECT-- -Consume full string: bool(true) -Return original data: bool(true) -Consume full string(junk): bool(true) -Return original data(junk): bool(true) - diff --git a/ext/standard/tests/strings/bug67151.phpt b/ext/standard/tests/strings/bug67151.phpt new file mode 100644 index 0000000000..1d0c02a52d --- /dev/null +++ b/ext/standard/tests/strings/bug67151.phpt @@ -0,0 +1,8 @@ +--TEST-- +Buf #67151: strtr with empty array crashes +--FILE-- +<?php +var_dump(strtr("foo", [])); +?> +--EXPECT-- +string(3) "foo" diff --git a/ext/standard/tests/strings/ucwords_error.phpt b/ext/standard/tests/strings/ucwords_error.phpt index d79e569cc7..a01c688c4a 100644 --- a/ext/standard/tests/strings/ucwords_error.phpt +++ b/ext/standard/tests/strings/ucwords_error.phpt @@ -18,7 +18,7 @@ echo "\n-- Testing ucwords() function with more than expected no. of arguments - $str = 'string_val'; $extra_arg = 10; -var_dump( ucwords($str, $extra_arg) ); +var_dump( ucwords($str, $extra_arg, $extra_arg) ); // check if there were any changes made to $str var_dump($str); @@ -30,12 +30,12 @@ echo "Done\n"; -- Testing ucwords() function with Zero arguments -- -Warning: ucwords() expects exactly 1 parameter, 0 given in %s on line %d +Warning: ucwords() expects at least 1 parameter, 0 given in %s on line %d NULL -- Testing ucwords() function with more than expected no. of arguments -- -Warning: ucwords() expects exactly 1 parameter, 2 given in %s on line %d +Warning: ucwords() expects at most 2 parameters, 3 given in %s on line %d NULL string(10) "string_val" Done diff --git a/ext/standard/tests/strings/ucwords_variation5.phpt b/ext/standard/tests/strings/ucwords_variation5.phpt new file mode 100644 index 0000000000..985df47c4a --- /dev/null +++ b/ext/standard/tests/strings/ucwords_variation5.phpt @@ -0,0 +1,25 @@ +--TEST-- +Test ucwords() function : usage variations - custom delimiters +--FILE-- +<?php +/* Prototype : string ucwords ( string $str ) + * Description: Uppercase the first character of each word in a string + * Source code: ext/standard/string.c +*/ + +echo "*** Testing ucwords() : usage variations ***\n"; + +var_dump(ucwords('testing-dashed-words', '-')); +var_dump(ucwords('test(braced)words', '()')); +var_dump(ucwords('testing empty delimiters', '')); +var_dump(ucwords('testing ranges', 'a..e')); + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing ucwords() : usage variations *** +string(%d) "Testing-Dashed-Words" +string(%d) "Test(Braced)Words" +string(%d) "Testing empty delimiters" +string(%d) "TeSting raNgeS" +Done diff --git a/ext/standard/url_scanner_ex.re b/ext/standard/url_scanner_ex.re index ecacb76f94..70ee06eee4 100644 --- a/ext/standard/url_scanner_ex.re +++ b/ext/standard/url_scanner_ex.re @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2013 The PHP Group | + | Copyright (c) 1997-2014 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 | diff --git a/ext/standard/var.c b/ext/standard/var.c index 930edd6877..457f31db33 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -943,7 +943,7 @@ PHP_FUNCTION(serialize) } /* }}} */ -/* {{{ proto mixed unserialize(string variable_representation[, int &consumed]) +/* {{{ proto mixed unserialize(string variable_representation) Takes a string representation of variable and recreates it */ PHP_FUNCTION(unserialize) { @@ -951,9 +951,8 @@ PHP_FUNCTION(unserialize) int buf_len; const unsigned char *p; php_unserialize_data_t var_hash; - zval *consumed = NULL; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &buf, &buf_len, &consumed) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &buf, &buf_len) == FAILURE) { RETURN_FALSE; } @@ -972,11 +971,6 @@ PHP_FUNCTION(unserialize) RETURN_FALSE; } PHP_VAR_UNSERIALIZE_DESTROY(var_hash); - - if (consumed) { - zval_dtor(consumed); - ZVAL_LONG(consumed, ((char*)p) - buf); - } } /* }}} */ diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index 003bac9547..8b5392a9d7 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -4,7 +4,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2013 The PHP Group | + | Copyright (c) 1997-2014 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 | diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re index b3f5d29ca2..3a1b910953 100644 --- a/ext/standard/var_unserializer.re +++ b/ext/standard/var_unserializer.re @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2013 The PHP Group | + | Copyright (c) 1997-2014 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 | diff --git a/ext/zlib/tests/bug65391.phpt b/ext/zlib/tests/bug65391.phpt index 439473fc5d..9d9fd164f6 100644 --- a/ext/zlib/tests/bug65391.phpt +++ b/ext/zlib/tests/bug65391.phpt @@ -6,6 +6,8 @@ extension_loaded("zlib") or die("skip need zlib"); ?> --GET-- dummy=1 +--INI-- +expose_php=On --FILE-- <?php header("Vary: Cookie"); @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2013 The PHP Group | + | Copyright (c) 1997-2014 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 | diff --git a/main/SAPI.c b/main/SAPI.c index 44b6b590f2..b69143c587 100644 --- a/main/SAPI.c +++ b/main/SAPI.c @@ -279,7 +279,7 @@ SAPI_API SAPI_POST_READER_FUNC(sapi_read_standard_form_data) } - SG(request_info).request_body = php_stream_temp_create(TEMP_STREAM_DEFAULT, SAPI_POST_BLOCK_SIZE); + SG(request_info).request_body = php_stream_temp_create_ex(TEMP_STREAM_DEFAULT, SAPI_POST_BLOCK_SIZE, PG(upload_tmp_dir)); if (sapi_module.read_post) { int read_bytes; @@ -825,7 +825,7 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC) "0", sizeof("0") - 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); } else if (!STRCASECMP(header_line, "Location")) { if ((SG(sapi_headers).http_response_code < 300 || - SG(sapi_headers).http_response_code > 307) && + SG(sapi_headers).http_response_code > 399) && SG(sapi_headers).http_response_code != 201) { /* Return a Found Redirect if one is not already specified */ if (http_response_code) { /* user specified redirect code */ diff --git a/main/main.c b/main/main.c index 671700887a..896995b9f8 100644 --- a/main/main.c +++ b/main/main.c @@ -2195,6 +2195,7 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod REGISTER_MAIN_STRINGL_CONSTANT("PHP_EOL", PHP_EOL, sizeof(PHP_EOL)-1, CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_LONG_CONSTANT("PHP_MAXPATHLEN", MAXPATHLEN, CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_LONG_CONSTANT("PHP_INT_MAX", LONG_MAX, CONST_PERSISTENT | CONST_CS); + REGISTER_MAIN_LONG_CONSTANT("PHP_INT_MIN", LONG_MIN, CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_LONG_CONSTANT("PHP_INT_SIZE", sizeof(long), CONST_PERSISTENT | CONST_CS); #ifdef PHP_WIN32 diff --git a/main/php_memory_streams.h b/main/php_memory_streams.h index 3c4c3280eb..229ed1902e 100644 --- a/main/php_memory_streams.h +++ b/main/php_memory_streams.h @@ -36,6 +36,7 @@ #define php_stream_temp_new() php_stream_temp_create(TEMP_STREAM_DEFAULT, PHP_STREAM_MAX_MEM) #define php_stream_temp_create(mode, max_memory_usage) _php_stream_temp_create((mode), (max_memory_usage) STREAMS_CC TSRMLS_CC) +#define php_stream_temp_create_ex(mode, max_memory_usage, tmpdir) _php_stream_temp_create_ex((mode), (max_memory_usage), (tmpdir) STREAMS_CC TSRMLS_CC) #define php_stream_temp_create_rel(mode, max_memory_usage) _php_stream_temp_create((mode), (max_memory_usage) STREAMS_REL_CC TSRMLS_CC) #define php_stream_temp_open(mode, max_memory_usage, buf, length) _php_stream_temp_open((mode), (max_memory_usage), (buf), (length) STREAMS_CC TSRMLS_CC) @@ -45,6 +46,7 @@ PHPAPI php_stream *_php_stream_memory_open(int mode, char *buf, size_t length ST PHPAPI char *_php_stream_memory_get_buffer(php_stream *stream, size_t *length STREAMS_DC TSRMLS_DC); PHPAPI php_stream *_php_stream_temp_create(int mode, size_t max_memory_usage STREAMS_DC TSRMLS_DC); +PHPAPI php_stream *_php_stream_temp_create_ex(int mode, size_t max_memory_usage, const char *tmpdir STREAMS_DC TSRMLS_DC); PHPAPI php_stream *_php_stream_temp_open(int mode, size_t max_memory_usage, char *buf, size_t length STREAMS_DC TSRMLS_DC); END_EXTERN_C() diff --git a/main/rfc1867.c b/main/rfc1867.c index b1011e21cb..806a292872 100644 --- a/main/rfc1867.c +++ b/main/rfc1867.c @@ -36,6 +36,7 @@ #if defined(PHP_WIN32) && !defined(HAVE_ATOLL) # define atoll(s) _atoi64(s) +# define HAVE_ATOLL 1 #endif #define DEBUG_FILE_UPLOAD ZEND_DEBUG @@ -903,7 +904,11 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) /* {{{ */ } if (!strcasecmp(param, "MAX_FILE_SIZE")) { +#ifdef HAVE_ATOLL max_file_size = atoll(value); +#else + max_file_size = strtoll(value, NULL, 10); +#endif } efree(param); diff --git a/main/streams/memory.c b/main/streams/memory.c index 854b9e2720..09421ea49d 100644 --- a/main/streams/memory.c +++ b/main/streams/memory.c @@ -352,6 +352,7 @@ typedef struct { size_t smax; int mode; zval* meta; + char* tmpdir; } php_stream_temp_data; @@ -369,7 +370,7 @@ static size_t php_stream_temp_write(php_stream *stream, const char *buf, size_t char *membuf = php_stream_memory_get_buffer(ts->innerstream, &memsize); if (memsize + count >= ts->smax) { - php_stream *file = php_stream_fopen_tmpfile(); + php_stream *file = php_stream_fopen_temporary_file(ts->tmpdir, "php", NULL); php_stream_write(file, membuf, memsize); php_stream_free_enclosed(ts->innerstream, PHP_STREAM_FREE_CLOSE); ts->innerstream = file; @@ -420,6 +421,10 @@ static int php_stream_temp_close(php_stream *stream, int close_handle TSRMLS_DC) zval_ptr_dtor(&ts->meta); } + if (ts->tmpdir) { + efree(ts->tmpdir); + } + efree(ts); return ret; @@ -547,8 +552,8 @@ PHPAPI php_stream_ops php_stream_temp_ops = { /* }}} */ -/* {{{ _php_stream_temp_create */ -PHPAPI php_stream *_php_stream_temp_create(int mode, size_t max_memory_usage STREAMS_DC TSRMLS_DC) +/* {{{ _php_stream_temp_create_ex */ +PHPAPI php_stream *_php_stream_temp_create_ex(int mode, size_t max_memory_usage, const char *tmpdir STREAMS_DC TSRMLS_DC) { php_stream_temp_data *self; php_stream *stream; @@ -556,7 +561,9 @@ PHPAPI php_stream *_php_stream_temp_create(int mode, size_t max_memory_usage STR self = ecalloc(1, sizeof(*self)); self->smax = max_memory_usage; self->mode = mode; - self->meta = NULL; + if (tmpdir) { + self->tmpdir = estrdup(tmpdir); + } stream = php_stream_alloc_rel(&php_stream_temp_ops, self, 0, mode & TEMP_STREAM_READONLY ? "rb" : "w+b"); stream->flags |= PHP_STREAM_FLAG_NO_BUFFER; self->innerstream = php_stream_memory_create_rel(mode); @@ -566,6 +573,12 @@ PHPAPI php_stream *_php_stream_temp_create(int mode, size_t max_memory_usage STR } /* }}} */ +/* {{{ _php_stream_temp_create */ +PHPAPI php_stream *_php_stream_temp_create(int mode, size_t max_memory_usage STREAMS_DC TSRMLS_DC) +{ + return php_stream_temp_create_ex(mode, max_memory_usage, NULL); +} +/* }}} */ /* {{{ _php_stream_temp_open */ PHPAPI php_stream *_php_stream_temp_open(int mode, size_t max_memory_usage, char *buf, size_t length STREAMS_DC TSRMLS_DC) diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c index 5e9e5c7ace..87312b9ef8 100644 --- a/main/streams/plain_wrapper.c +++ b/main/streams/plain_wrapper.c @@ -183,31 +183,20 @@ static php_stream *_php_stream_fopen_from_file_int(FILE *file, const char *mode return php_stream_alloc_rel(&php_stream_stdio_ops, self, 0, mode); } -PHPAPI php_stream *_php_stream_fopen_temporary_file(const char *dir, const char *pfx, char **opened_path STREAMS_DC TSRMLS_DC) +PHPAPI php_stream *_php_stream_fopen_temporary_file(const char *dir, const char *pfx, char **opened_path_ptr STREAMS_DC TSRMLS_DC) { - int fd = php_open_temporary_fd(dir, pfx, opened_path TSRMLS_CC); + char *opened_path = NULL; + int fd; + fd = php_open_temporary_fd(dir, pfx, &opened_path TSRMLS_CC); if (fd != -1) { - php_stream *stream = php_stream_fopen_from_fd_int_rel(fd, "r+b", NULL); - if (stream) { - return stream; - } - close(fd); - - php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to allocate stream"); - - return NULL; - } - return NULL; -} + php_stream *stream; -PHPAPI php_stream *_php_stream_fopen_tmpfile(int dummy STREAMS_DC TSRMLS_DC) -{ - char *opened_path = NULL; - int fd = php_open_temporary_fd(NULL, "php", &opened_path TSRMLS_CC); + if (opened_path_ptr) { + *opened_path_ptr = opened_path; + } - if (fd != -1) { - php_stream *stream = php_stream_fopen_from_fd_int_rel(fd, "r+b", NULL); + stream = php_stream_fopen_from_fd_int_rel(fd, "r+b", NULL); if (stream) { php_stdio_stream_data *self = (php_stdio_stream_data*)stream->abstract; stream->wrapper = &php_plain_files_wrapper; @@ -227,6 +216,11 @@ PHPAPI php_stream *_php_stream_fopen_tmpfile(int dummy STREAMS_DC TSRMLS_DC) return NULL; } +PHPAPI php_stream *_php_stream_fopen_tmpfile(int dummy STREAMS_DC TSRMLS_DC) +{ + return php_stream_fopen_temporary_file(NULL, "php", NULL); +} + PHPAPI php_stream *_php_stream_fopen_from_fd(int fd, const char *mode, const char *persistent_id STREAMS_DC TSRMLS_DC) { php_stream *stream = php_stream_fopen_from_fd_int_rel(fd, mode, persistent_id); diff --git a/sapi/cgi/tests/bug61605.phpt b/sapi/cgi/tests/bug61605.phpt index c6e4cf20ca..9c29e6dda2 100644 --- a/sapi/cgi/tests/bug61605.phpt +++ b/sapi/cgi/tests/bug61605.phpt @@ -4,6 +4,8 @@ Bug #61605 (header_remove() does not remove all headers) <?php include "skipif.inc"; ?> --GET-- foo=bar +--INI-- +expose_php=On --FILE-- <?php header("A: first"); diff --git a/sapi/cli/generate_mime_type_map.php b/sapi/cli/generate_mime_type_map.php new file mode 100644 index 0000000000..4475004985 --- /dev/null +++ b/sapi/cli/generate_mime_type_map.php @@ -0,0 +1,76 @@ +#!/usr/bin/env php +<?php + +// Check if we are being given a mime.types file or if we should use the +// default URL. +$source = count($_SERVER['argv']) > 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 5 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2014 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 <moriyoshi@php.net> | + +----------------------------------------------------------------------+ +*/ + +/* 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[] = { +<?php foreach ($extensions as $extension => $mime): ?> + { "<?= addcslashes($extension, "\0..\37!@\@\177..\377") ?>", "<?= addcslashes($mime, "\0..\37!@\@\177..\377") ?>" }, +<?php endforeach ?> + { 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/cli/mime_type_map.h b/sapi/cli/mime_type_map.h new file mode 100644 index 0000000000..72c05d4149 --- /dev/null +++ b/sapi/cli/mime_type_map.h @@ -0,0 +1,1024 @@ +/* + +----------------------------------------------------------------------+ + | PHP Version 5 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2014 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 <moriyoshi@php.net> | + +----------------------------------------------------------------------+ +*/ + +/* 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[] = { + { "ez", "application/andrew-inset" }, + { "aw", "application/applixware" }, + { "atom", "application/atom+xml" }, + { "atomcat", "application/atomcat+xml" }, + { "atomsvc", "application/atomsvc+xml" }, + { "ccxml", "application/ccxml+xml" }, + { "cdmia", "application/cdmi-capability" }, + { "cdmic", "application/cdmi-container" }, + { "cdmid", "application/cdmi-domain" }, + { "cdmio", "application/cdmi-object" }, + { "cdmiq", "application/cdmi-queue" }, + { "cu", "application/cu-seeme" }, + { "davmount", "application/davmount+xml" }, + { "dbk", "application/docbook+xml" }, + { "dssc", "application/dssc+der" }, + { "xdssc", "application/dssc+xml" }, + { "ecma", "application/ecmascript" }, + { "emma", "application/emma+xml" }, + { "epub", "application/epub+zip" }, + { "exi", "application/exi" }, + { "pfr", "application/font-tdpfr" }, + { "gml", "application/gml+xml" }, + { "gpx", "application/gpx+xml" }, + { "gxf", "application/gxf" }, + { "stk", "application/hyperstudio" }, + { "ink", "application/inkml+xml" }, + { "inkml", "application/inkml+xml" }, + { "ipfix", "application/ipfix" }, + { "jar", "application/java-archive" }, + { "ser", "application/java-serialized-object" }, + { "class", "application/java-vm" }, + { "js", "application/javascript" }, + { "json", "application/json" }, + { "jsonml", "application/jsonml+json" }, + { "lostxml", "application/lost+xml" }, + { "hqx", "application/mac-binhex40" }, + { "cpt", "application/mac-compactpro" }, + { "mads", "application/mads+xml" }, + { "mrc", "application/marc" }, + { "mrcx", "application/marcxml+xml" }, + { "ma", "application/mathematica" }, + { "nb", "application/mathematica" }, + { "mb", "application/mathematica" }, + { "mathml", "application/mathml+xml" }, + { "mbox", "application/mbox" }, + { "mscml", "application/mediaservercontrol+xml" }, + { "metalink", "application/metalink+xml" }, + { "meta4", "application/metalink4+xml" }, + { "mets", "application/mets+xml" }, + { "mods", "application/mods+xml" }, + { "m21", "application/mp21" }, + { "mp21", "application/mp21" }, + { "mp4s", "application/mp4" }, + { "doc", "application/msword" }, + { "dot", "application/msword" }, + { "mxf", "application/mxf" }, + { "bin", "application/octet-stream" }, + { "dms", "application/octet-stream" }, + { "lrf", "application/octet-stream" }, + { "mar", "application/octet-stream" }, + { "so", "application/octet-stream" }, + { "dist", "application/octet-stream" }, + { "distz", "application/octet-stream" }, + { "pkg", "application/octet-stream" }, + { "bpk", "application/octet-stream" }, + { "dump", "application/octet-stream" }, + { "elc", "application/octet-stream" }, + { "deploy", "application/octet-stream" }, + { "oda", "application/oda" }, + { "opf", "application/oebps-package+xml" }, + { "ogx", "application/ogg" }, + { "omdoc", "application/omdoc+xml" }, + { "onetoc", "application/onenote" }, + { "onetoc2", "application/onenote" }, + { "onetmp", "application/onenote" }, + { "onepkg", "application/onenote" }, + { "oxps", "application/oxps" }, + { "xer", "application/patch-ops-error+xml" }, + { "pdf", "application/pdf" }, + { "pgp", "application/pgp-encrypted" }, + { "asc", "application/pgp-signature" }, + { "sig", "application/pgp-signature" }, + { "prf", "application/pics-rules" }, + { "p10", "application/pkcs10" }, + { "p7m", "application/pkcs7-mime" }, + { "p7c", "application/pkcs7-mime" }, + { "p7s", "application/pkcs7-signature" }, + { "p8", "application/pkcs8" }, + { "ac", "application/pkix-attr-cert" }, + { "cer", "application/pkix-cert" }, + { "crl", "application/pkix-crl" }, + { "pkipath", "application/pkix-pkipath" }, + { "pki", "application/pkixcmp" }, + { "pls", "application/pls+xml" }, + { "ai", "application/postscript" }, + { "eps", "application/postscript" }, + { "ps", "application/postscript" }, + { "cww", "application/prs.cww" }, + { "pskcxml", "application/pskc+xml" }, + { "rdf", "application/rdf+xml" }, + { "rif", "application/reginfo+xml" }, + { "rnc", "application/relax-ng-compact-syntax" }, + { "rl", "application/resource-lists+xml" }, + { "rld", "application/resource-lists-diff+xml" }, + { "rs", "application/rls-services+xml" }, + { "gbr", "application/rpki-ghostbusters" }, + { "mft", "application/rpki-manifest" }, + { "roa", "application/rpki-roa" }, + { "rsd", "application/rsd+xml" }, + { "rss", "application/rss+xml" }, + { "rtf", "application/rtf" }, + { "sbml", "application/sbml+xml" }, + { "scq", "application/scvp-cv-request" }, + { "scs", "application/scvp-cv-response" }, + { "spq", "application/scvp-vp-request" }, + { "spp", "application/scvp-vp-response" }, + { "sdp", "application/sdp" }, + { "setpay", "application/set-payment-initiation" }, + { "setreg", "application/set-registration-initiation" }, + { "shf", "application/shf+xml" }, + { "smi", "application/smil+xml" }, + { "smil", "application/smil+xml" }, + { "rq", "application/sparql-query" }, + { "srx", "application/sparql-results+xml" }, + { "gram", "application/srgs" }, + { "grxml", "application/srgs+xml" }, + { "sru", "application/sru+xml" }, + { "ssdl", "application/ssdl+xml" }, + { "ssml", "application/ssml+xml" }, + { "tei", "application/tei+xml" }, + { "teicorpus", "application/tei+xml" }, + { "tfi", "application/thraud+xml" }, + { "tsd", "application/timestamped-data" }, + { "plb", "application/vnd.3gpp.pic-bw-large" }, + { "psb", "application/vnd.3gpp.pic-bw-small" }, + { "pvb", "application/vnd.3gpp.pic-bw-var" }, + { "tcap", "application/vnd.3gpp2.tcap" }, + { "pwn", "application/vnd.3m.post-it-notes" }, + { "aso", "application/vnd.accpac.simply.aso" }, + { "imp", "application/vnd.accpac.simply.imp" }, + { "acu", "application/vnd.acucobol" }, + { "atc", "application/vnd.acucorp" }, + { "acutc", "application/vnd.acucorp" }, + { "air", "application/vnd.adobe.air-application-installer-package+zip" }, + { "fcdt", "application/vnd.adobe.formscentral.fcdt" }, + { "fxp", "application/vnd.adobe.fxp" }, + { "fxpl", "application/vnd.adobe.fxp" }, + { "xdp", "application/vnd.adobe.xdp+xml" }, + { "xfdf", "application/vnd.adobe.xfdf" }, + { "ahead", "application/vnd.ahead.space" }, + { "azf", "application/vnd.airzip.filesecure.azf" }, + { "azs", "application/vnd.airzip.filesecure.azs" }, + { "azw", "application/vnd.amazon.ebook" }, + { "acc", "application/vnd.americandynamics.acc" }, + { "ami", "application/vnd.amiga.ami" }, + { "apk", "application/vnd.android.package-archive" }, + { "cii", "application/vnd.anser-web-certificate-issue-initiation" }, + { "fti", "application/vnd.anser-web-funds-transfer-initiation" }, + { "atx", "application/vnd.antix.game-component" }, + { "mpkg", "application/vnd.apple.installer+xml" }, + { "m3u8", "application/vnd.apple.mpegurl" }, + { "swi", "application/vnd.aristanetworks.swi" }, + { "iota", "application/vnd.astraea-software.iota" }, + { "aep", "application/vnd.audiograph" }, + { "mpm", "application/vnd.blueice.multipass" }, + { "bmi", "application/vnd.bmi" }, + { "rep", "application/vnd.businessobjects" }, + { "cdxml", "application/vnd.chemdraw+xml" }, + { "mmd", "application/vnd.chipnuts.karaoke-mmd" }, + { "cdy", "application/vnd.cinderella" }, + { "cla", "application/vnd.claymore" }, + { "rp9", "application/vnd.cloanto.rp9" }, + { "c4g", "application/vnd.clonk.c4group" }, + { "c4d", "application/vnd.clonk.c4group" }, + { "c4f", "application/vnd.clonk.c4group" }, + { "c4p", "application/vnd.clonk.c4group" }, + { "c4u", "application/vnd.clonk.c4group" }, + { "c11amc", "application/vnd.cluetrust.cartomobile-config" }, + { "c11amz", "application/vnd.cluetrust.cartomobile-config-pkg" }, + { "csp", "application/vnd.commonspace" }, + { "cdbcmsg", "application/vnd.contact.cmsg" }, + { "cmc", "application/vnd.cosmocaller" }, + { "clkx", "application/vnd.crick.clicker" }, + { "clkk", "application/vnd.crick.clicker.keyboard" }, + { "clkp", "application/vnd.crick.clicker.palette" }, + { "clkt", "application/vnd.crick.clicker.template" }, + { "clkw", "application/vnd.crick.clicker.wordbank" }, + { "wbs", "application/vnd.criticaltools.wbs+xml" }, + { "pml", "application/vnd.ctc-posml" }, + { "ppd", "application/vnd.cups-ppd" }, + { "car", "application/vnd.curl.car" }, + { "pcurl", "application/vnd.curl.pcurl" }, + { "dart", "application/vnd.dart" }, + { "rdz", "application/vnd.data-vision.rdz" }, + { "uvf", "application/vnd.dece.data" }, + { "uvvf", "application/vnd.dece.data" }, + { "uvd", "application/vnd.dece.data" }, + { "uvvd", "application/vnd.dece.data" }, + { "uvt", "application/vnd.dece.ttml+xml" }, + { "uvvt", "application/vnd.dece.ttml+xml" }, + { "uvx", "application/vnd.dece.unspecified" }, + { "uvvx", "application/vnd.dece.unspecified" }, + { "uvz", "application/vnd.dece.zip" }, + { "uvvz", "application/vnd.dece.zip" }, + { "fe_launch", "application/vnd.denovo.fcselayout-link" }, + { "dna", "application/vnd.dna" }, + { "mlp", "application/vnd.dolby.mlp" }, + { "dpg", "application/vnd.dpgraph" }, + { "dfac", "application/vnd.dreamfactory" }, + { "kpxx", "application/vnd.ds-keypoint" }, + { "ait", "application/vnd.dvb.ait" }, + { "svc", "application/vnd.dvb.service" }, + { "geo", "application/vnd.dynageo" }, + { "mag", "application/vnd.ecowin.chart" }, + { "nml", "application/vnd.enliven" }, + { "esf", "application/vnd.epson.esf" }, + { "msf", "application/vnd.epson.msf" }, + { "qam", "application/vnd.epson.quickanime" }, + { "slt", "application/vnd.epson.salt" }, + { "ssf", "application/vnd.epson.ssf" }, + { "es3", "application/vnd.eszigno3+xml" }, + { "et3", "application/vnd.eszigno3+xml" }, + { "ez2", "application/vnd.ezpix-album" }, + { "ez3", "application/vnd.ezpix-package" }, + { "fdf", "application/vnd.fdf" }, + { "mseed", "application/vnd.fdsn.mseed" }, + { "seed", "application/vnd.fdsn.seed" }, + { "dataless", "application/vnd.fdsn.seed" }, + { "gph", "application/vnd.flographit" }, + { "ftc", "application/vnd.fluxtime.clip" }, + { "fm", "application/vnd.framemaker" }, + { "frame", "application/vnd.framemaker" }, + { "maker", "application/vnd.framemaker" }, + { "book", "application/vnd.framemaker" }, + { "fnc", "application/vnd.frogans.fnc" }, + { "ltf", "application/vnd.frogans.ltf" }, + { "fsc", "application/vnd.fsc.weblaunch" }, + { "oas", "application/vnd.fujitsu.oasys" }, + { "oa2", "application/vnd.fujitsu.oasys2" }, + { "oa3", "application/vnd.fujitsu.oasys3" }, + { "fg5", "application/vnd.fujitsu.oasysgp" }, + { "bh2", "application/vnd.fujitsu.oasysprs" }, + { "ddd", "application/vnd.fujixerox.ddd" }, + { "xdw", "application/vnd.fujixerox.docuworks" }, + { "xbd", "application/vnd.fujixerox.docuworks.binder" }, + { "fzs", "application/vnd.fuzzysheet" }, + { "txd", "application/vnd.genomatix.tuxedo" }, + { "ggb", "application/vnd.geogebra.file" }, + { "ggt", "application/vnd.geogebra.tool" }, + { "gex", "application/vnd.geometry-explorer" }, + { "gre", "application/vnd.geometry-explorer" }, + { "gxt", "application/vnd.geonext" }, + { "g2w", "application/vnd.geoplan" }, + { "g3w", "application/vnd.geospace" }, + { "gmx", "application/vnd.gmx" }, + { "kml", "application/vnd.google-earth.kml+xml" }, + { "kmz", "application/vnd.google-earth.kmz" }, + { "gqf", "application/vnd.grafeq" }, + { "gqs", "application/vnd.grafeq" }, + { "gac", "application/vnd.groove-account" }, + { "ghf", "application/vnd.groove-help" }, + { "gim", "application/vnd.groove-identity-message" }, + { "grv", "application/vnd.groove-injector" }, + { "gtm", "application/vnd.groove-tool-message" }, + { "tpl", "application/vnd.groove-tool-template" }, + { "vcg", "application/vnd.groove-vcard" }, + { "hal", "application/vnd.hal+xml" }, + { "zmm", "application/vnd.handheld-entertainment+xml" }, + { "hbci", "application/vnd.hbci" }, + { "les", "application/vnd.hhe.lesson-player" }, + { "hpgl", "application/vnd.hp-hpgl" }, + { "hpid", "application/vnd.hp-hpid" }, + { "hps", "application/vnd.hp-hps" }, + { "jlt", "application/vnd.hp-jlyt" }, + { "pcl", "application/vnd.hp-pcl" }, + { "pclxl", "application/vnd.hp-pclxl" }, + { "sfd-hdstx", "application/vnd.hydrostatix.sof-data" }, + { "mpy", "application/vnd.ibm.minipay" }, + { "afp", "application/vnd.ibm.modcap" }, + { "listafp", "application/vnd.ibm.modcap" }, + { "list3820", "application/vnd.ibm.modcap" }, + { "irm", "application/vnd.ibm.rights-management" }, + { "sc", "application/vnd.ibm.secure-container" }, + { "icc", "application/vnd.iccprofile" }, + { "icm", "application/vnd.iccprofile" }, + { "igl", "application/vnd.igloader" }, + { "ivp", "application/vnd.immervision-ivp" }, + { "ivu", "application/vnd.immervision-ivu" }, + { "igm", "application/vnd.insors.igm" }, + { "xpw", "application/vnd.intercon.formnet" }, + { "xpx", "application/vnd.intercon.formnet" }, + { "i2g", "application/vnd.intergeo" }, + { "qbo", "application/vnd.intu.qbo" }, + { "qfx", "application/vnd.intu.qfx" }, + { "rcprofile", "application/vnd.ipunplugged.rcprofile" }, + { "irp", "application/vnd.irepository.package+xml" }, + { "xpr", "application/vnd.is-xpr" }, + { "fcs", "application/vnd.isac.fcs" }, + { "jam", "application/vnd.jam" }, + { "rms", "application/vnd.jcp.javame.midlet-rms" }, + { "jisp", "application/vnd.jisp" }, + { "joda", "application/vnd.joost.joda-archive" }, + { "ktz", "application/vnd.kahootz" }, + { "ktr", "application/vnd.kahootz" }, + { "karbon", "application/vnd.kde.karbon" }, + { "chrt", "application/vnd.kde.kchart" }, + { "kfo", "application/vnd.kde.kformula" }, + { "flw", "application/vnd.kde.kivio" }, + { "kon", "application/vnd.kde.kontour" }, + { "kpr", "application/vnd.kde.kpresenter" }, + { "kpt", "application/vnd.kde.kpresenter" }, + { "ksp", "application/vnd.kde.kspread" }, + { "kwd", "application/vnd.kde.kword" }, + { "kwt", "application/vnd.kde.kword" }, + { "htke", "application/vnd.kenameaapp" }, + { "kia", "application/vnd.kidspiration" }, + { "kne", "application/vnd.kinar" }, + { "knp", "application/vnd.kinar" }, + { "skp", "application/vnd.koan" }, + { "skd", "application/vnd.koan" }, + { "skt", "application/vnd.koan" }, + { "skm", "application/vnd.koan" }, + { "sse", "application/vnd.kodak-descriptor" }, + { "lasxml", "application/vnd.las.las+xml" }, + { "lbd", "application/vnd.llamagraphics.life-balance.desktop" }, + { "lbe", "application/vnd.llamagraphics.life-balance.exchange+xml" }, + { "123", "application/vnd.lotus-1-2-3" }, + { "apr", "application/vnd.lotus-approach" }, + { "pre", "application/vnd.lotus-freelance" }, + { "nsf", "application/vnd.lotus-notes" }, + { "org", "application/vnd.lotus-organizer" }, + { "scm", "application/vnd.lotus-screencam" }, + { "lwp", "application/vnd.lotus-wordpro" }, + { "portpkg", "application/vnd.macports.portpkg" }, + { "mcd", "application/vnd.mcd" }, + { "mc1", "application/vnd.medcalcdata" }, + { "cdkey", "application/vnd.mediastation.cdkey" }, + { "mwf", "application/vnd.mfer" }, + { "mfm", "application/vnd.mfmp" }, + { "flo", "application/vnd.micrografx.flo" }, + { "igx", "application/vnd.micrografx.igx" }, + { "mif", "application/vnd.mif" }, + { "daf", "application/vnd.mobius.daf" }, + { "dis", "application/vnd.mobius.dis" }, + { "mbk", "application/vnd.mobius.mbk" }, + { "mqy", "application/vnd.mobius.mqy" }, + { "msl", "application/vnd.mobius.msl" }, + { "plc", "application/vnd.mobius.plc" }, + { "txf", "application/vnd.mobius.txf" }, + { "mpn", "application/vnd.mophun.application" }, + { "mpc", "application/vnd.mophun.certificate" }, + { "xul", "application/vnd.mozilla.xul+xml" }, + { "cil", "application/vnd.ms-artgalry" }, + { "cab", "application/vnd.ms-cab-compressed" }, + { "xls", "application/vnd.ms-excel" }, + { "xlm", "application/vnd.ms-excel" }, + { "xla", "application/vnd.ms-excel" }, + { "xlc", "application/vnd.ms-excel" }, + { "xlt", "application/vnd.ms-excel" }, + { "xlw", "application/vnd.ms-excel" }, + { "xlam", "application/vnd.ms-excel.addin.macroenabled.12" }, + { "xlsb", "application/vnd.ms-excel.sheet.binary.macroenabled.12" }, + { "xlsm", "application/vnd.ms-excel.sheet.macroenabled.12" }, + { "xltm", "application/vnd.ms-excel.template.macroenabled.12" }, + { "eot", "application/vnd.ms-fontobject" }, + { "chm", "application/vnd.ms-htmlhelp" }, + { "ims", "application/vnd.ms-ims" }, + { "lrm", "application/vnd.ms-lrm" }, + { "thmx", "application/vnd.ms-officetheme" }, + { "cat", "application/vnd.ms-pki.seccat" }, + { "stl", "application/vnd.ms-pki.stl" }, + { "ppt", "application/vnd.ms-powerpoint" }, + { "pps", "application/vnd.ms-powerpoint" }, + { "pot", "application/vnd.ms-powerpoint" }, + { "ppam", "application/vnd.ms-powerpoint.addin.macroenabled.12" }, + { "pptm", "application/vnd.ms-powerpoint.presentation.macroenabled.12" }, + { "sldm", "application/vnd.ms-powerpoint.slide.macroenabled.12" }, + { "ppsm", "application/vnd.ms-powerpoint.slideshow.macroenabled.12" }, + { "potm", "application/vnd.ms-powerpoint.template.macroenabled.12" }, + { "mpp", "application/vnd.ms-project" }, + { "mpt", "application/vnd.ms-project" }, + { "docm", "application/vnd.ms-word.document.macroenabled.12" }, + { "dotm", "application/vnd.ms-word.template.macroenabled.12" }, + { "wps", "application/vnd.ms-works" }, + { "wks", "application/vnd.ms-works" }, + { "wcm", "application/vnd.ms-works" }, + { "wdb", "application/vnd.ms-works" }, + { "wpl", "application/vnd.ms-wpl" }, + { "xps", "application/vnd.ms-xpsdocument" }, + { "mseq", "application/vnd.mseq" }, + { "mus", "application/vnd.musician" }, + { "msty", "application/vnd.muvee.style" }, + { "taglet", "application/vnd.mynfc" }, + { "nlu", "application/vnd.neurolanguage.nlu" }, + { "ntf", "application/vnd.nitf" }, + { "nitf", "application/vnd.nitf" }, + { "nnd", "application/vnd.noblenet-directory" }, + { "nns", "application/vnd.noblenet-sealer" }, + { "nnw", "application/vnd.noblenet-web" }, + { "ngdat", "application/vnd.nokia.n-gage.data" }, + { "n-gage", "application/vnd.nokia.n-gage.symbian.install" }, + { "rpst", "application/vnd.nokia.radio-preset" }, + { "rpss", "application/vnd.nokia.radio-presets" }, + { "edm", "application/vnd.novadigm.edm" }, + { "edx", "application/vnd.novadigm.edx" }, + { "ext", "application/vnd.novadigm.ext" }, + { "odc", "application/vnd.oasis.opendocument.chart" }, + { "otc", "application/vnd.oasis.opendocument.chart-template" }, + { "odb", "application/vnd.oasis.opendocument.database" }, + { "odf", "application/vnd.oasis.opendocument.formula" }, + { "odft", "application/vnd.oasis.opendocument.formula-template" }, + { "odg", "application/vnd.oasis.opendocument.graphics" }, + { "otg", "application/vnd.oasis.opendocument.graphics-template" }, + { "odi", "application/vnd.oasis.opendocument.image" }, + { "oti", "application/vnd.oasis.opendocument.image-template" }, + { "odp", "application/vnd.oasis.opendocument.presentation" }, + { "otp", "application/vnd.oasis.opendocument.presentation-template" }, + { "ods", "application/vnd.oasis.opendocument.spreadsheet" }, + { "ots", "application/vnd.oasis.opendocument.spreadsheet-template" }, + { "odt", "application/vnd.oasis.opendocument.text" }, + { "odm", "application/vnd.oasis.opendocument.text-master" }, + { "ott", "application/vnd.oasis.opendocument.text-template" }, + { "oth", "application/vnd.oasis.opendocument.text-web" }, + { "xo", "application/vnd.olpc-sugar" }, + { "dd2", "application/vnd.oma.dd2+xml" }, + { "oxt", "application/vnd.openofficeorg.extension" }, + { "pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation" }, + { "sldx", "application/vnd.openxmlformats-officedocument.presentationml.slide" }, + { "ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow" }, + { "potx", "application/vnd.openxmlformats-officedocument.presentationml.template" }, + { "xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, + { "xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template" }, + { "docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document" }, + { "dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template" }, + { "mgp", "application/vnd.osgeo.mapguide.package" }, + { "dp", "application/vnd.osgi.dp" }, + { "esa", "application/vnd.osgi.subsystem" }, + { "pdb", "application/vnd.palm" }, + { "pqa", "application/vnd.palm" }, + { "oprc", "application/vnd.palm" }, + { "paw", "application/vnd.pawaafile" }, + { "str", "application/vnd.pg.format" }, + { "ei6", "application/vnd.pg.osasli" }, + { "efif", "application/vnd.picsel" }, + { "wg", "application/vnd.pmi.widget" }, + { "plf", "application/vnd.pocketlearn" }, + { "pbd", "application/vnd.powerbuilder6" }, + { "box", "application/vnd.previewsystems.box" }, + { "mgz", "application/vnd.proteus.magazine" }, + { "qps", "application/vnd.publishare-delta-tree" }, + { "ptid", "application/vnd.pvi.ptid1" }, + { "qxd", "application/vnd.quark.quarkxpress" }, + { "qxt", "application/vnd.quark.quarkxpress" }, + { "qwd", "application/vnd.quark.quarkxpress" }, + { "qwt", "application/vnd.quark.quarkxpress" }, + { "qxl", "application/vnd.quark.quarkxpress" }, + { "qxb", "application/vnd.quark.quarkxpress" }, + { "bed", "application/vnd.realvnc.bed" }, + { "mxl", "application/vnd.recordare.musicxml" }, + { "musicxml", "application/vnd.recordare.musicxml+xml" }, + { "cryptonote", "application/vnd.rig.cryptonote" }, + { "cod", "application/vnd.rim.cod" }, + { "rm", "application/vnd.rn-realmedia" }, + { "rmvb", "application/vnd.rn-realmedia-vbr" }, + { "link66", "application/vnd.route66.link66+xml" }, + { "st", "application/vnd.sailingtracker.track" }, + { "see", "application/vnd.seemail" }, + { "sema", "application/vnd.sema" }, + { "semd", "application/vnd.semd" }, + { "semf", "application/vnd.semf" }, + { "ifm", "application/vnd.shana.informed.formdata" }, + { "itp", "application/vnd.shana.informed.formtemplate" }, + { "iif", "application/vnd.shana.informed.interchange" }, + { "ipk", "application/vnd.shana.informed.package" }, + { "twd", "application/vnd.simtech-mindmapper" }, + { "twds", "application/vnd.simtech-mindmapper" }, + { "mmf", "application/vnd.smaf" }, + { "teacher", "application/vnd.smart.teacher" }, + { "sdkm", "application/vnd.solent.sdkm+xml" }, + { "sdkd", "application/vnd.solent.sdkm+xml" }, + { "dxp", "application/vnd.spotfire.dxp" }, + { "sfs", "application/vnd.spotfire.sfs" }, + { "sdc", "application/vnd.stardivision.calc" }, + { "sda", "application/vnd.stardivision.draw" }, + { "sdd", "application/vnd.stardivision.impress" }, + { "smf", "application/vnd.stardivision.math" }, + { "sdw", "application/vnd.stardivision.writer" }, + { "vor", "application/vnd.stardivision.writer" }, + { "sgl", "application/vnd.stardivision.writer-global" }, + { "smzip", "application/vnd.stepmania.package" }, + { "sm", "application/vnd.stepmania.stepchart" }, + { "sxc", "application/vnd.sun.xml.calc" }, + { "stc", "application/vnd.sun.xml.calc.template" }, + { "sxd", "application/vnd.sun.xml.draw" }, + { "std", "application/vnd.sun.xml.draw.template" }, + { "sxi", "application/vnd.sun.xml.impress" }, + { "sti", "application/vnd.sun.xml.impress.template" }, + { "sxm", "application/vnd.sun.xml.math" }, + { "sxw", "application/vnd.sun.xml.writer" }, + { "sxg", "application/vnd.sun.xml.writer.global" }, + { "stw", "application/vnd.sun.xml.writer.template" }, + { "sus", "application/vnd.sus-calendar" }, + { "susp", "application/vnd.sus-calendar" }, + { "svd", "application/vnd.svd" }, + { "sis", "application/vnd.symbian.install" }, + { "sisx", "application/vnd.symbian.install" }, + { "xsm", "application/vnd.syncml+xml" }, + { "bdm", "application/vnd.syncml.dm+wbxml" }, + { "xdm", "application/vnd.syncml.dm+xml" }, + { "tao", "application/vnd.tao.intent-module-archive" }, + { "pcap", "application/vnd.tcpdump.pcap" }, + { "cap", "application/vnd.tcpdump.pcap" }, + { "dmp", "application/vnd.tcpdump.pcap" }, + { "tmo", "application/vnd.tmobile-livetv" }, + { "tpt", "application/vnd.trid.tpt" }, + { "mxs", "application/vnd.triscape.mxs" }, + { "tra", "application/vnd.trueapp" }, + { "ufd", "application/vnd.ufdl" }, + { "ufdl", "application/vnd.ufdl" }, + { "utz", "application/vnd.uiq.theme" }, + { "umj", "application/vnd.umajin" }, + { "unityweb", "application/vnd.unity" }, + { "uoml", "application/vnd.uoml+xml" }, + { "vcx", "application/vnd.vcx" }, + { "vsd", "application/vnd.visio" }, + { "vst", "application/vnd.visio" }, + { "vss", "application/vnd.visio" }, + { "vsw", "application/vnd.visio" }, + { "vis", "application/vnd.visionary" }, + { "vsf", "application/vnd.vsf" }, + { "wbxml", "application/vnd.wap.wbxml" }, + { "wmlc", "application/vnd.wap.wmlc" }, + { "wmlsc", "application/vnd.wap.wmlscriptc" }, + { "wtb", "application/vnd.webturbo" }, + { "nbp", "application/vnd.wolfram.player" }, + { "wpd", "application/vnd.wordperfect" }, + { "wqd", "application/vnd.wqd" }, + { "stf", "application/vnd.wt.stf" }, + { "xar", "application/vnd.xara" }, + { "xfdl", "application/vnd.xfdl" }, + { "hvd", "application/vnd.yamaha.hv-dic" }, + { "hvs", "application/vnd.yamaha.hv-script" }, + { "hvp", "application/vnd.yamaha.hv-voice" }, + { "osf", "application/vnd.yamaha.openscoreformat" }, + { "osfpvg", "application/vnd.yamaha.openscoreformat.osfpvg+xml" }, + { "saf", "application/vnd.yamaha.smaf-audio" }, + { "spf", "application/vnd.yamaha.smaf-phrase" }, + { "cmp", "application/vnd.yellowriver-custom-menu" }, + { "zir", "application/vnd.zul" }, + { "zirz", "application/vnd.zul" }, + { "zaz", "application/vnd.zzazz.deck+xml" }, + { "vxml", "application/voicexml+xml" }, + { "wgt", "application/widget" }, + { "hlp", "application/winhlp" }, + { "wsdl", "application/wsdl+xml" }, + { "wspolicy", "application/wspolicy+xml" }, + { "7z", "application/x-7z-compressed" }, + { "abw", "application/x-abiword" }, + { "ace", "application/x-ace-compressed" }, + { "dmg", "application/x-apple-diskimage" }, + { "aab", "application/x-authorware-bin" }, + { "x32", "application/x-authorware-bin" }, + { "u32", "application/x-authorware-bin" }, + { "vox", "application/x-authorware-bin" }, + { "aam", "application/x-authorware-map" }, + { "aas", "application/x-authorware-seg" }, + { "bcpio", "application/x-bcpio" }, + { "torrent", "application/x-bittorrent" }, + { "blb", "application/x-blorb" }, + { "blorb", "application/x-blorb" }, + { "bz", "application/x-bzip" }, + { "bz2", "application/x-bzip2" }, + { "boz", "application/x-bzip2" }, + { "cbr", "application/x-cbr" }, + { "cba", "application/x-cbr" }, + { "cbt", "application/x-cbr" }, + { "cbz", "application/x-cbr" }, + { "cb7", "application/x-cbr" }, + { "vcd", "application/x-cdlink" }, + { "cfs", "application/x-cfs-compressed" }, + { "chat", "application/x-chat" }, + { "pgn", "application/x-chess-pgn" }, + { "nsc", "application/x-conference" }, + { "cpio", "application/x-cpio" }, + { "csh", "application/x-csh" }, + { "deb", "application/x-debian-package" }, + { "udeb", "application/x-debian-package" }, + { "dgc", "application/x-dgc-compressed" }, + { "dir", "application/x-director" }, + { "dcr", "application/x-director" }, + { "dxr", "application/x-director" }, + { "cst", "application/x-director" }, + { "cct", "application/x-director" }, + { "cxt", "application/x-director" }, + { "w3d", "application/x-director" }, + { "fgd", "application/x-director" }, + { "swa", "application/x-director" }, + { "wad", "application/x-doom" }, + { "ncx", "application/x-dtbncx+xml" }, + { "dtb", "application/x-dtbook+xml" }, + { "res", "application/x-dtbresource+xml" }, + { "dvi", "application/x-dvi" }, + { "evy", "application/x-envoy" }, + { "eva", "application/x-eva" }, + { "bdf", "application/x-font-bdf" }, + { "gsf", "application/x-font-ghostscript" }, + { "psf", "application/x-font-linux-psf" }, + { "otf", "application/x-font-otf" }, + { "pcf", "application/x-font-pcf" }, + { "snf", "application/x-font-snf" }, + { "ttf", "application/x-font-ttf" }, + { "ttc", "application/x-font-ttf" }, + { "pfa", "application/x-font-type1" }, + { "pfb", "application/x-font-type1" }, + { "pfm", "application/x-font-type1" }, + { "afm", "application/x-font-type1" }, + { "woff", "application/font-woff" }, + { "arc", "application/x-freearc" }, + { "spl", "application/x-futuresplash" }, + { "gca", "application/x-gca-compressed" }, + { "ulx", "application/x-glulx" }, + { "gnumeric", "application/x-gnumeric" }, + { "gramps", "application/x-gramps-xml" }, + { "gtar", "application/x-gtar" }, + { "hdf", "application/x-hdf" }, + { "install", "application/x-install-instructions" }, + { "iso", "application/x-iso9660-image" }, + { "jnlp", "application/x-java-jnlp-file" }, + { "latex", "application/x-latex" }, + { "lzh", "application/x-lzh-compressed" }, + { "lha", "application/x-lzh-compressed" }, + { "mie", "application/x-mie" }, + { "prc", "application/x-mobipocket-ebook" }, + { "mobi", "application/x-mobipocket-ebook" }, + { "application", "application/x-ms-application" }, + { "lnk", "application/x-ms-shortcut" }, + { "wmd", "application/x-ms-wmd" }, + { "wmz", "application/x-msmetafile" }, + { "xbap", "application/x-ms-xbap" }, + { "mdb", "application/x-msaccess" }, + { "obd", "application/x-msbinder" }, + { "crd", "application/x-mscardfile" }, + { "clp", "application/x-msclip" }, + { "exe", "application/x-msdownload" }, + { "dll", "application/x-msdownload" }, + { "com", "application/x-msdownload" }, + { "bat", "application/x-msdownload" }, + { "msi", "application/x-msdownload" }, + { "mvb", "application/x-msmediaview" }, + { "m13", "application/x-msmediaview" }, + { "m14", "application/x-msmediaview" }, + { "wmf", "application/x-msmetafile" }, + { "emf", "application/x-msmetafile" }, + { "emz", "application/x-msmetafile" }, + { "mny", "application/x-msmoney" }, + { "pub", "application/x-mspublisher" }, + { "scd", "application/x-msschedule" }, + { "trm", "application/x-msterminal" }, + { "wri", "application/x-mswrite" }, + { "nc", "application/x-netcdf" }, + { "cdf", "application/x-netcdf" }, + { "nzb", "application/x-nzb" }, + { "p12", "application/x-pkcs12" }, + { "pfx", "application/x-pkcs12" }, + { "p7b", "application/x-pkcs7-certificates" }, + { "spc", "application/x-pkcs7-certificates" }, + { "p7r", "application/x-pkcs7-certreqresp" }, + { "rar", "application/x-rar-compressed" }, + { "ris", "application/x-research-info-systems" }, + { "sh", "application/x-sh" }, + { "shar", "application/x-shar" }, + { "swf", "application/x-shockwave-flash" }, + { "xap", "application/x-silverlight-app" }, + { "sql", "application/x-sql" }, + { "sit", "application/x-stuffit" }, + { "sitx", "application/x-stuffitx" }, + { "srt", "application/x-subrip" }, + { "sv4cpio", "application/x-sv4cpio" }, + { "sv4crc", "application/x-sv4crc" }, + { "t3", "application/x-t3vm-image" }, + { "gam", "application/x-tads" }, + { "tar", "application/x-tar" }, + { "tcl", "application/x-tcl" }, + { "tex", "application/x-tex" }, + { "tfm", "application/x-tex-tfm" }, + { "texinfo", "application/x-texinfo" }, + { "texi", "application/x-texinfo" }, + { "obj", "application/x-tgif" }, + { "ustar", "application/x-ustar" }, + { "src", "application/x-wais-source" }, + { "der", "application/x-x509-ca-cert" }, + { "crt", "application/x-x509-ca-cert" }, + { "fig", "application/x-xfig" }, + { "xlf", "application/x-xliff+xml" }, + { "xpi", "application/x-xpinstall" }, + { "xz", "application/x-xz" }, + { "z1", "application/x-zmachine" }, + { "z2", "application/x-zmachine" }, + { "z3", "application/x-zmachine" }, + { "z4", "application/x-zmachine" }, + { "z5", "application/x-zmachine" }, + { "z6", "application/x-zmachine" }, + { "z7", "application/x-zmachine" }, + { "z8", "application/x-zmachine" }, + { "xaml", "application/xaml+xml" }, + { "xdf", "application/xcap-diff+xml" }, + { "xenc", "application/xenc+xml" }, + { "xhtml", "application/xhtml+xml" }, + { "xht", "application/xhtml+xml" }, + { "xml", "application/xml" }, + { "xsl", "application/xml" }, + { "dtd", "application/xml-dtd" }, + { "xop", "application/xop+xml" }, + { "xpl", "application/xproc+xml" }, + { "xslt", "application/xslt+xml" }, + { "xspf", "application/xspf+xml" }, + { "mxml", "application/xv+xml" }, + { "xhvml", "application/xv+xml" }, + { "xvml", "application/xv+xml" }, + { "xvm", "application/xv+xml" }, + { "yang", "application/yang" }, + { "yin", "application/yin+xml" }, + { "zip", "application/zip" }, + { "adp", "audio/adpcm" }, + { "au", "audio/basic" }, + { "snd", "audio/basic" }, + { "mid", "audio/midi" }, + { "midi", "audio/midi" }, + { "kar", "audio/midi" }, + { "rmi", "audio/midi" }, + { "mp4a", "audio/mp4" }, + { "mpga", "audio/mpeg" }, + { "mp2", "audio/mpeg" }, + { "mp2a", "audio/mpeg" }, + { "mp3", "audio/mpeg" }, + { "m2a", "audio/mpeg" }, + { "m3a", "audio/mpeg" }, + { "oga", "audio/ogg" }, + { "ogg", "audio/ogg" }, + { "spx", "audio/ogg" }, + { "s3m", "audio/s3m" }, + { "sil", "audio/silk" }, + { "uva", "audio/vnd.dece.audio" }, + { "uvva", "audio/vnd.dece.audio" }, + { "eol", "audio/vnd.digital-winds" }, + { "dra", "audio/vnd.dra" }, + { "dts", "audio/vnd.dts" }, + { "dtshd", "audio/vnd.dts.hd" }, + { "lvp", "audio/vnd.lucent.voice" }, + { "pya", "audio/vnd.ms-playready.media.pya" }, + { "ecelp4800", "audio/vnd.nuera.ecelp4800" }, + { "ecelp7470", "audio/vnd.nuera.ecelp7470" }, + { "ecelp9600", "audio/vnd.nuera.ecelp9600" }, + { "rip", "audio/vnd.rip" }, + { "weba", "audio/webm" }, + { "aac", "audio/x-aac" }, + { "aif", "audio/x-aiff" }, + { "aiff", "audio/x-aiff" }, + { "aifc", "audio/x-aiff" }, + { "caf", "audio/x-caf" }, + { "flac", "audio/x-flac" }, + { "mka", "audio/x-matroska" }, + { "m3u", "audio/x-mpegurl" }, + { "wax", "audio/x-ms-wax" }, + { "wma", "audio/x-ms-wma" }, + { "ram", "audio/x-pn-realaudio" }, + { "ra", "audio/x-pn-realaudio" }, + { "rmp", "audio/x-pn-realaudio-plugin" }, + { "wav", "audio/x-wav" }, + { "xm", "audio/xm" }, + { "cdx", "chemical/x-cdx" }, + { "cif", "chemical/x-cif" }, + { "cmdf", "chemical/x-cmdf" }, + { "cml", "chemical/x-cml" }, + { "csml", "chemical/x-csml" }, + { "xyz", "chemical/x-xyz" }, + { "bmp", "image/bmp" }, + { "cgm", "image/cgm" }, + { "g3", "image/g3fax" }, + { "gif", "image/gif" }, + { "ief", "image/ief" }, + { "jpeg", "image/jpeg" }, + { "jpg", "image/jpeg" }, + { "jpe", "image/jpeg" }, + { "ktx", "image/ktx" }, + { "png", "image/png" }, + { "btif", "image/prs.btif" }, + { "sgi", "image/sgi" }, + { "svg", "image/svg+xml" }, + { "svgz", "image/svg+xml" }, + { "tiff", "image/tiff" }, + { "tif", "image/tiff" }, + { "psd", "image/vnd.adobe.photoshop" }, + { "uvi", "image/vnd.dece.graphic" }, + { "uvvi", "image/vnd.dece.graphic" }, + { "uvg", "image/vnd.dece.graphic" }, + { "uvvg", "image/vnd.dece.graphic" }, + { "sub", "text/vnd.dvb.subtitle" }, + { "djvu", "image/vnd.djvu" }, + { "djv", "image/vnd.djvu" }, + { "dwg", "image/vnd.dwg" }, + { "dxf", "image/vnd.dxf" }, + { "fbs", "image/vnd.fastbidsheet" }, + { "fpx", "image/vnd.fpx" }, + { "fst", "image/vnd.fst" }, + { "mmr", "image/vnd.fujixerox.edmics-mmr" }, + { "rlc", "image/vnd.fujixerox.edmics-rlc" }, + { "mdi", "image/vnd.ms-modi" }, + { "wdp", "image/vnd.ms-photo" }, + { "npx", "image/vnd.net-fpx" }, + { "wbmp", "image/vnd.wap.wbmp" }, + { "xif", "image/vnd.xiff" }, + { "webp", "image/webp" }, + { "3ds", "image/x-3ds" }, + { "ras", "image/x-cmu-raster" }, + { "cmx", "image/x-cmx" }, + { "fh", "image/x-freehand" }, + { "fhc", "image/x-freehand" }, + { "fh4", "image/x-freehand" }, + { "fh5", "image/x-freehand" }, + { "fh7", "image/x-freehand" }, + { "ico", "image/x-icon" }, + { "sid", "image/x-mrsid-image" }, + { "pcx", "image/x-pcx" }, + { "pic", "image/x-pict" }, + { "pct", "image/x-pict" }, + { "pnm", "image/x-portable-anymap" }, + { "pbm", "image/x-portable-bitmap" }, + { "pgm", "image/x-portable-graymap" }, + { "ppm", "image/x-portable-pixmap" }, + { "rgb", "image/x-rgb" }, + { "tga", "image/x-tga" }, + { "xbm", "image/x-xbitmap" }, + { "xpm", "image/x-xpixmap" }, + { "xwd", "image/x-xwindowdump" }, + { "eml", "message/rfc822" }, + { "mime", "message/rfc822" }, + { "igs", "model/iges" }, + { "iges", "model/iges" }, + { "msh", "model/mesh" }, + { "mesh", "model/mesh" }, + { "silo", "model/mesh" }, + { "dae", "model/vnd.collada+xml" }, + { "dwf", "model/vnd.dwf" }, + { "gdl", "model/vnd.gdl" }, + { "gtw", "model/vnd.gtw" }, + { "mts", "model/vnd.mts" }, + { "vtu", "model/vnd.vtu" }, + { "wrl", "model/vrml" }, + { "vrml", "model/vrml" }, + { "x3db", "model/x3d+binary" }, + { "x3dbz", "model/x3d+binary" }, + { "x3dv", "model/x3d+vrml" }, + { "x3dvz", "model/x3d+vrml" }, + { "x3d", "model/x3d+xml" }, + { "x3dz", "model/x3d+xml" }, + { "appcache", "text/cache-manifest" }, + { "ics", "text/calendar" }, + { "ifb", "text/calendar" }, + { "css", "text/css" }, + { "csv", "text/csv" }, + { "html", "text/html" }, + { "htm", "text/html" }, + { "n3", "text/n3" }, + { "txt", "text/plain" }, + { "text", "text/plain" }, + { "conf", "text/plain" }, + { "def", "text/plain" }, + { "list", "text/plain" }, + { "log", "text/plain" }, + { "in", "text/plain" }, + { "dsc", "text/prs.lines.tag" }, + { "rtx", "text/richtext" }, + { "sgml", "text/sgml" }, + { "sgm", "text/sgml" }, + { "tsv", "text/tab-separated-values" }, + { "t", "text/troff" }, + { "tr", "text/troff" }, + { "roff", "text/troff" }, + { "man", "text/troff" }, + { "me", "text/troff" }, + { "ms", "text/troff" }, + { "ttl", "text/turtle" }, + { "uri", "text/uri-list" }, + { "uris", "text/uri-list" }, + { "urls", "text/uri-list" }, + { "vcard", "text/vcard" }, + { "curl", "text/vnd.curl" }, + { "dcurl", "text/vnd.curl.dcurl" }, + { "scurl", "text/vnd.curl.scurl" }, + { "mcurl", "text/vnd.curl.mcurl" }, + { "fly", "text/vnd.fly" }, + { "flx", "text/vnd.fmi.flexstor" }, + { "gv", "text/vnd.graphviz" }, + { "3dml", "text/vnd.in3d.3dml" }, + { "spot", "text/vnd.in3d.spot" }, + { "jad", "text/vnd.sun.j2me.app-descriptor" }, + { "wml", "text/vnd.wap.wml" }, + { "wmls", "text/vnd.wap.wmlscript" }, + { "s", "text/x-asm" }, + { "asm", "text/x-asm" }, + { "c", "text/x-c" }, + { "cc", "text/x-c" }, + { "cxx", "text/x-c" }, + { "cpp", "text/x-c" }, + { "h", "text/x-c" }, + { "hh", "text/x-c" }, + { "dic", "text/x-c" }, + { "f", "text/x-fortran" }, + { "for", "text/x-fortran" }, + { "f77", "text/x-fortran" }, + { "f90", "text/x-fortran" }, + { "java", "text/x-java-source" }, + { "opml", "text/x-opml" }, + { "p", "text/x-pascal" }, + { "pas", "text/x-pascal" }, + { "nfo", "text/x-nfo" }, + { "etx", "text/x-setext" }, + { "sfv", "text/x-sfv" }, + { "uu", "text/x-uuencode" }, + { "vcs", "text/x-vcalendar" }, + { "vcf", "text/x-vcard" }, + { "3gp", "video/3gpp" }, + { "3g2", "video/3gpp2" }, + { "h261", "video/h261" }, + { "h263", "video/h263" }, + { "h264", "video/h264" }, + { "jpgv", "video/jpeg" }, + { "jpm", "video/jpm" }, + { "jpgm", "video/jpm" }, + { "mj2", "video/mj2" }, + { "mjp2", "video/mj2" }, + { "mp4", "video/mp4" }, + { "mp4v", "video/mp4" }, + { "mpg4", "video/mp4" }, + { "mpeg", "video/mpeg" }, + { "mpg", "video/mpeg" }, + { "mpe", "video/mpeg" }, + { "m1v", "video/mpeg" }, + { "m2v", "video/mpeg" }, + { "ogv", "video/ogg" }, + { "qt", "video/quicktime" }, + { "mov", "video/quicktime" }, + { "uvh", "video/vnd.dece.hd" }, + { "uvvh", "video/vnd.dece.hd" }, + { "uvm", "video/vnd.dece.mobile" }, + { "uvvm", "video/vnd.dece.mobile" }, + { "uvp", "video/vnd.dece.pd" }, + { "uvvp", "video/vnd.dece.pd" }, + { "uvs", "video/vnd.dece.sd" }, + { "uvvs", "video/vnd.dece.sd" }, + { "uvv", "video/vnd.dece.video" }, + { "uvvv", "video/vnd.dece.video" }, + { "dvb", "video/vnd.dvb.file" }, + { "fvt", "video/vnd.fvt" }, + { "mxu", "video/vnd.mpegurl" }, + { "m4u", "video/vnd.mpegurl" }, + { "pyv", "video/vnd.ms-playready.media.pyv" }, + { "uvu", "video/vnd.uvvu.mp4" }, + { "uvvu", "video/vnd.uvvu.mp4" }, + { "viv", "video/vnd.vivo" }, + { "webm", "video/webm" }, + { "f4v", "video/x-f4v" }, + { "fli", "video/x-fli" }, + { "flv", "video/x-flv" }, + { "m4v", "video/x-m4v" }, + { "mkv", "video/x-matroska" }, + { "mk3d", "video/x-matroska" }, + { "mks", "video/x-matroska" }, + { "mng", "video/x-mng" }, + { "asf", "video/x-ms-asf" }, + { "asx", "video/x-ms-asf" }, + { "vob", "video/x-ms-vob" }, + { "wm", "video/x-ms-wm" }, + { "wmv", "video/x-ms-wmv" }, + { "wmx", "video/x-ms-wmx" }, + { "wvx", "video/x-ms-wvx" }, + { "avi", "video/x-msvideo" }, + { "movie", "video/x-sgi-movie" }, + { "smv", "video/x-smv" }, + { "ice", "x-conference/x-cooltalk" }, + { 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/cli/php.1.in b/sapi/cli/php.1.in index 8672b3ba33..4d536df53c 100644 --- a/sapi/cli/php.1.in +++ b/sapi/cli/php.1.in @@ -1,4 +1,4 @@ -.TH PHP 1 "2013" "The PHP Group" "Scripting Language" +.TH PHP 1 "2014" "The PHP Group" "Scripting Language" .SH NAME php \- PHP Command Line Interface 'CLI' .P @@ -454,7 +454,7 @@ contributors all around the world. .SH VERSION INFORMATION This manpage describes \fBphp\fP, version @PHP_VERSION@. .SH COPYRIGHT -Copyright \(co 1997\-2013 The PHP Group +Copyright \(co 1997\-2014 The PHP Group .LP 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 diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index e9bc9dcdc0..4cd251ed42 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -104,6 +104,7 @@ #include "php_http_parser.h" #include "php_cli_server.h" +#include "mime_type_map.h" #include "php_cli_process_title.h" @@ -194,6 +195,7 @@ typedef struct php_cli_server { size_t router_len; socklen_t socklen; HashTable clients; + HashTable extension_mime_types; } php_cli_server; typedef struct php_cli_server_http_response_status_code_pair { @@ -201,11 +203,6 @@ typedef struct php_cli_server_http_response_status_code_pair { const char *str; } php_cli_server_http_response_status_code_pair; -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_http_response_status_code_pair status_map[] = { { 100, "Continue" }, { 101, "Switching Protocols" }, @@ -223,6 +220,7 @@ static php_cli_server_http_response_status_code_pair status_map[] = { { 304, "Not Modified" }, { 305, "Use Proxy" }, { 307, "Temporary Redirect" }, + { 308, "Permanent Redirect" }, { 400, "Bad Request" }, { 401, "Unauthorized" }, { 402, "Payment Required" }, @@ -241,6 +239,7 @@ static php_cli_server_http_response_status_code_pair status_map[] = { { 415, "Unsupported Media Type" }, { 416, "Requested Range Not Satisfiable" }, { 417, "Expectation Failed" }, + { 426, "Upgrade Required" }, { 428, "Precondition Required" }, { 429, "Too Many Requests" }, { 431, "Request Header Fields Too Large" }, @@ -260,64 +259,6 @@ static php_cli_server_http_response_status_code_pair template_map[] = { { 501, "<h1>%s</h1><p>Request method not supported.</p>" } }; -static php_cli_server_ext_mime_type_pair mime_type_map[] = { - { "html", "text/html" }, - { "htm", "text/html" }, - { "js", "text/javascript" }, - { "css", "text/css" }, - { "gif", "image/gif" }, - { "jpg", "image/jpeg" }, - { "jpeg", "image/jpeg" }, - { "jpe", "image/jpeg" }, - { "pdf", "application/pdf" }, - { "png", "image/png" }, - { "svg", "image/svg+xml" }, - { "txt", "text/plain" }, - { "webm", "video/webm" }, - { "ogv", "video/ogg" }, - { "ogg", "audio/ogg" }, - { "3gp", "video/3gpp" }, /* This is standard video format used for MMS in phones */ - { "apk", "application/vnd.android.package-archive" }, - { "avi", "video/x-msvideo" }, - { "bmp", "image/x-ms-bmp" }, - { "csv", "text/comma-separated-values" }, - { "doc", "application/msword" }, - { "docx", "application/msword" }, - { "flac", "audio/flac" }, - { "gz", "application/x-gzip" }, - { "gzip", "application/x-gzip" }, - { "ics", "text/calendar" }, - { "kml", "application/vnd.google-earth.kml+xml" }, - { "kmz", "application/vnd.google-earth.kmz" }, - { "m4a", "audio/mp4" }, - { "mp3", "audio/mpeg" }, - { "mp4", "video/mp4" }, - { "mpg", "video/mpeg" }, - { "mpeg", "video/mpeg" }, - { "mov", "video/quicktime" }, - { "odp", "application/vnd.oasis.opendocument.presentation" }, - { "ods", "application/vnd.oasis.opendocument.spreadsheet" }, - { "odt", "application/vnd.oasis.opendocument.text" }, - { "oga", "audio/ogg" }, - { "pdf", "application/pdf" }, - { "pptx", "application/vnd.ms-powerpoint" }, - { "pps", "application/vnd.ms-powerpoint" }, - { "qt", "video/quicktime" }, - { "swf", "application/x-shockwave-flash" }, - { "tar", "application/x-tar" }, - { "text", "text/plain" }, - { "tif", "image/tiff" }, - { "wav", "audio/wav" }, - { "wmv", "video/x-ms-wmv" }, - { "xls", "application/vnd.ms-excel" }, - { "xlsx", "application/vnd.ms-excel" }, - { "zip", "application/x-zip-compressed" }, - { "xml", "application/xml" }, - { "xsl", "application/xml" }, - { "xsd", "application/xml" }, - { NULL, NULL } -}; - static int php_cli_output_is_tty = OUTPUT_NOT_CHECKED; static size_t php_cli_server_client_send_through(php_cli_server_client *client, const char *str, size_t str_len); @@ -463,15 +404,14 @@ static void append_essential_headers(smart_str* buffer, php_cli_server_client *c smart_str_appendl_ex(buffer, "Connection: close\r\n", sizeof("Connection: close\r\n") - 1, persistent); } /* }}} */ -static const char *get_mime_type(const char *ext, size_t ext_len) /* {{{ */ +static const char *get_mime_type(const php_cli_server *server, const char *ext, size_t ext_len) /* {{{ */ { - php_cli_server_ext_mime_type_pair *pair; - for (pair = mime_type_map; pair->ext; pair++) { - size_t len = strlen(pair->ext); - if (len == ext_len && memcmp(pair->ext, ext, len) == 0) { - return pair->mime_type; - } + char *mime_type = NULL; + + if (zend_hash_find(&server->extension_mime_types, ext, ext_len + 1, (void **) &mime_type) == SUCCESS) { + return mime_type; } + return NULL; } /* }}} */ @@ -663,11 +603,10 @@ static int sapi_cli_server_send_headers(sapi_headers_struct *sapi_headers TSRMLS h = (sapi_header_struct*)zend_llist_get_first_ex(&sapi_headers->headers, &pos); while (h) { - if (!h->header_len) { - continue; + if (h->header_len) { + smart_str_appendl(&buffer, h->header, h->header_len); + smart_str_appendl(&buffer, "\r\n", 2); } - smart_str_appendl(&buffer, h->header, h->header_len); - smart_str_appendl(&buffer, "\r\n", 2); h = (sapi_header_struct*)zend_llist_get_next_ex(&sapi_headers->headers, &pos); } smart_str_appendl(&buffer, "\r\n", 2); @@ -893,13 +832,11 @@ static void php_cli_server_poller_remove(php_cli_server_poller *poller, int mode #endif } /* }}} */ -static int php_cli_server_poller_poll(php_cli_server_poller *poller, const struct timeval *tv) /* {{{ */ +static int php_cli_server_poller_poll(php_cli_server_poller *poller, struct timeval *tv) /* {{{ */ { - struct timeval t = *tv; - memmove(&poller->active.rfds, &poller->rfds, sizeof(poller->rfds)); memmove(&poller->active.wfds, &poller->wfds, sizeof(poller->wfds)); - return php_select(poller->max_fd + 1, &poller->active.rfds, &poller->active.wfds, NULL, &t); + return php_select(poller->max_fd + 1, &poller->active.rfds, &poller->active.wfds, NULL, tv); } /* }}} */ static int php_cli_server_poller_iter_on_active(php_cli_server_poller *poller, void *opaque, int(*callback)(void *, int fd, int events)) /* {{{ */ @@ -1684,10 +1621,14 @@ static int php_cli_server_client_read_request_on_header_value(php_http_parser *p return 1; } { - char *header_name = zend_str_tolower_dup(client->current_header_name, client->current_header_name_len); - zend_hash_add(&client->request.headers, header_name, client->current_header_name_len + 1, &value, sizeof(char *), NULL); - zend_hash_add(&client->request.headers_original_case, client->current_header_name, client->current_header_name_len + 1, &value, sizeof(char *), NULL); - efree(header_name); + /* strip off the colon */ + char *orig_header_name = estrndup(client->current_header_name, client->current_header_name_len); + char *lc_header_name = zend_str_tolower_dup(client->current_header_name, client->current_header_name_len); + + zend_hash_add(&client->request.headers, lc_header_name, client->current_header_name_len + 1, &value, sizeof(char *), NULL); + zend_hash_add(&client->request.headers_original_case, orig_header_name, client->current_header_name_len + 1, &value, sizeof(char *), NULL); + efree(lc_header_name); + efree(orig_header_name); } if (client->current_header_name_allocated) { @@ -2044,7 +1985,7 @@ static int php_cli_server_begin_send_static(php_cli_server *server, php_cli_serv { php_cli_server_chunk *chunk; smart_str buffer = { 0 }; - const char *mime_type = get_mime_type(client->request.ext, client->request.ext_len); + const char *mime_type = get_mime_type(server, client->request.ext, client->request.ext_len); if (!mime_type) { mime_type = "application/octet-stream"; } @@ -2204,9 +2145,30 @@ static int php_cli_server_dispatch(php_cli_server *server, php_cli_server_client } /* }}} */ +static int php_cli_server_mime_type_ctor(php_cli_server *server, const php_cli_server_ext_mime_type_pair *mime_type_map) /* {{{ */ +{ + const php_cli_server_ext_mime_type_pair *pair; + + if (zend_hash_init(&server->extension_mime_types, 0, NULL, NULL, 1) != SUCCESS) { + return FAILURE; + } + + for (pair = mime_type_map; pair->ext; pair++) { + size_t ext_len = 0, mime_type_len = 0; + + ext_len = strlen(pair->ext); + mime_type_len = strlen(pair->mime_type); + + zend_hash_add(&server->extension_mime_types, pair->ext, ext_len + 1, (void *) pair->mime_type, mime_type_len + 1, NULL); + } + + return SUCCESS; +} /* }}} */ + static void php_cli_server_dtor(php_cli_server *server TSRMLS_DC) /* {{{ */ { zend_hash_destroy(&server->clients); + zend_hash_destroy(&server->extension_mime_types); if (server->server_sock >= 0) { closesocket(server->server_sock); } @@ -2324,6 +2286,11 @@ static int php_cli_server_ctor(php_cli_server *server, const char *addr, const c server->router_len = 0; } + if (php_cli_server_mime_type_ctor(server, mime_type_map) == FAILURE) { + retval = FAILURE; + goto out; + } + server->is_running = 1; out: if (retval != SUCCESS) { @@ -2475,7 +2442,7 @@ static int php_cli_server_do_event_loop(php_cli_server *server TSRMLS_DC) /* {{{ { int retval = SUCCESS; while (server->is_running) { - static const struct timeval tv = { 1, 0 }; + struct timeval tv = { 1, 0 }; int n = php_cli_server_poller_poll(&server->poller, &tv); if (n > 0) { php_cli_server_do_event_for_each_fd(server, diff --git a/sapi/cli/tests/bug61977.phpt b/sapi/cli/tests/bug61977.phpt index 09a6ba6d23..6250c9aec0 100644 --- a/sapi/cli/tests/bug61977.phpt +++ b/sapi/cli/tests/bug61977.phpt @@ -48,7 +48,7 @@ foo.html => Content-Type: text/html; charset=UTF-8 foo.htm => Content-Type: text/html; charset=UTF-8 foo.svg => Content-Type: image/svg+xml foo.css => Content-Type: text/css; charset=UTF-8 -foo.js => Content-Type: text/javascript; charset=UTF-8 +foo.js => Content-Type: application/javascript foo.png => Content-Type: image/png foo.webm => Content-Type: video/webm foo.ogv => Content-Type: video/ogg diff --git a/sapi/cli/tests/bug66830.phpt b/sapi/cli/tests/bug66830.phpt new file mode 100644 index 0000000000..58c07e031a --- /dev/null +++ b/sapi/cli/tests/bug66830.phpt @@ -0,0 +1,43 @@ +--TEST-- +Bug #66830 (Empty header causes PHP built-in web server to hang) +--SKIPIF-- +<?php +include "skipif.inc"; +?> +--FILE-- +<?php +include "php_cli_server.inc"; +php_cli_server_start(<<<'PHP' +header(' '); +PHP +); + +list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS); +$port = intval($port)?:80; + +$fp = fsockopen($host, $port, $errno, $errstr, 0.5); +if (!$fp) { + die("connect failed"); +} + +if(fwrite($fp, <<<HEADER +GET / HTTP/1.1 +Host: {$host} + + +HEADER +)) { + while (!feof($fp)) { + echo fgets($fp); + } +} + +fclose($fp); +?> +--EXPECTF-- +HTTP/1.1 200 OK +Host: %s +Connection: close +X-Powered-By: %s +Content-type: text/html; charset=UTF-8 + diff --git a/sapi/cli/tests/bug67429.phpt b/sapi/cli/tests/bug67429.phpt new file mode 100644 index 0000000000..856946b29d --- /dev/null +++ b/sapi/cli/tests/bug67429.phpt @@ -0,0 +1,49 @@ +--TEST-- +FR #67429 (CLI server is missing some new HTTP response codes) +--SKIPIF-- +<?php +include "skipif.inc"; +?> +--FILE-- +<?php +include "php_cli_server.inc"; + +foreach ([308, 426] as $code) { + php_cli_server_start(<<<PHP +http_response_code($code); +PHP + ); + + list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS); + $port = intval($port)?:80; + + $fp = fsockopen($host, $port, $errno, $errstr, 0.5); + if (!$fp) { + die("connect failed"); + } + + if(fwrite($fp, <<<HEADER +GET / HTTP/1.1 + + +HEADER + )) { + while (!feof($fp)) { + echo fgets($fp); + } + } + + fclose($fp); +} +?> +--EXPECTF-- +HTTP/1.1 308 Permanent Redirect +Connection: close +X-Powered-By: %s +Content-type: text/html; charset=UTF-8 + +HTTP/1.1 426 Upgrade Required +Connection: close +X-Powered-By: %s +Content-type: text/html; charset=UTF-8 + diff --git a/sapi/continuity/capi.c b/sapi/continuity/capi.c index 87fd9328f2..30d10ed0a0 100644 --- a/sapi/continuity/capi.c +++ b/sapi/continuity/capi.c @@ -462,7 +462,7 @@ int phpFinit(lstTset * opt) core_globals = ts_resource(core_globals_id); logFmsg(0, "mod/php: PHP Interface v3 (module)"); - logFmsg(0, "mod/php: Copyright (c) 1999-2013 The PHP Group. All rights reserved."); + logFmsg(0, "mod/php: Copyright (c) 1999-2014 The PHP Group. All rights reserved."); sapi_startup(&capi_sapi_module); capi_sapi_module.startup(&capi_sapi_module); diff --git a/sapi/fpm/config.m4 b/sapi/fpm/config.m4 index 40cd69c719..9c10aa6be2 100644 --- a/sapi/fpm/config.m4 +++ b/sapi/fpm/config.m4 @@ -584,14 +584,41 @@ if test "$PHP_FPM" != "no"; then [ --with-fpm-systemd Activate systemd integration], no, no) if test "$PHP_FPM_SYSTEMD" != "no" ; then - AC_CHECK_LIB(systemd-daemon, sd_notify, SYSTEMD_LIBS="-lsystemd-daemon") + if test -z "$PKG_CONFIG"; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + fi + unset SYSTEMD_LIBS + unset SYSTEMD_INCS + + if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libsystemd; then + dnl systemd version >= 209 provides libsystemd + AC_MSG_CHECKING([for libsystemd]) + SYSTEMD_LIBS=`$PKG_CONFIG --libs libsystemd` + SYSTEMD_INCS=`$PKG_CONFIG --cflags-only-I libsystemd` + SYSTEMD_VERS=`$PKG_CONFIG --modversion libsystemd` + AC_MSG_RESULT([version $SYSTEMD_VERS]) + + elif test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libsystemd-daemon; then + dnl systemd version < 209 provides libsystemd-daemon + AC_MSG_CHECKING([for libsystemd-daemon]) + SYSTEMD_LIBS=`$PKG_CONFIG --libs libsystemd-daemon` + SYSTEMD_INCS=`$PKG_CONFIG --cflags-only-I libsystemd-daemon` + SYSTEMD_VERS=`$PKG_CONFIG --modversion libsystemd-daemon` + AC_MSG_RESULT([version $SYSTEMD_VERS]) + + else + dnl failback when no pkg-config + AC_CHECK_LIB(systemd-daemon, sd_notify, SYSTEMD_LIBS="-lsystemd-daemon") + fi + AC_CHECK_HEADERS(systemd/sd-daemon.h, [HAVE_SD_DAEMON_H="yes"], [HAVE_SD_DAEMON_H="no"]) if test $HAVE_SD_DAEMON_H = "no" || test -z "${SYSTEMD_LIBS}"; then AC_MSG_ERROR([Your system does not support systemd.]) else AC_DEFINE(HAVE_SYSTEMD, 1, [FPM use systemd integration]) PHP_FPM_SD_FILES="fpm/fpm_systemd.c" - PHP_ADD_LIBRARY(systemd-daemon) + PHP_EVAL_LIBLINE($SYSTEMD_LIBS) + PHP_EVAL_INCLINE($SYSTEMD_INCS) php_fpm_systemd=notify fi else diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c index ae7908642c..34e0480101 100644 --- a/sapi/fpm/fpm/fpm_conf.c +++ b/sapi/fpm/fpm/fpm_conf.c @@ -1075,6 +1075,9 @@ static int fpm_conf_process_all_pools() /* {{{ */ } } for (kv = wp->config->php_admin_values; kv; kv = kv->next) { + if (!strcasecmp(kv->key, "error_log") && !strcasecmp(kv->value, "syslog")) { + continue; + } for (p = options; *p; p++) { if (!strcasecmp(kv->key, *p)) { fpm_evaluate_full_path(&kv->value, wp, NULL, 0); diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c index 807ea8bb5d..09371314d2 100644 --- a/sapi/fpm/fpm/fpm_main.c +++ b/sapi/fpm/fpm/fpm_main.c @@ -1148,19 +1148,6 @@ static void init_request_info(TSRMLS_D) TRANSLATE_SLASHES(env_document_root); } - if (env_path_translated != NULL && env_redirect_url != NULL && - env_path_translated != script_path_translated && - strcmp(env_path_translated, script_path_translated) != 0) { - /* - * pretty much apache specific. If we have a redirect_url - * then our script_filename and script_name point to the - * php executable - */ - script_path_translated = env_path_translated; - /* we correct SCRIPT_NAME now in case we don't have PATH_INFO */ - env_script_name = env_redirect_url; - } - #ifdef __riscos__ /* Convert path to unix format*/ __riscosify_control |= __RISCOSIFY_DONT_CHECK_DIR; @@ -1329,7 +1316,7 @@ static void init_request_info(TSRMLS_D) efree(pt); } } else { - /* make sure path_info/translated are empty */ + /* make sure original values are remembered in ORIG_ copies if we've changed them */ if (!orig_script_filename || (script_path_translated != orig_script_filename && strcmp(script_path_translated, orig_script_filename) != 0)) { @@ -1338,16 +1325,6 @@ static void init_request_info(TSRMLS_D) } script_path_translated = _sapi_cgibin_putenv("SCRIPT_FILENAME", script_path_translated TSRMLS_CC); } - if (env_redirect_url) { - if (orig_path_info) { - _sapi_cgibin_putenv("ORIG_PATH_INFO", orig_path_info TSRMLS_CC); - _sapi_cgibin_putenv("PATH_INFO", NULL TSRMLS_CC); - } - if (orig_path_translated) { - _sapi_cgibin_putenv("ORIG_PATH_TRANSLATED", orig_path_translated TSRMLS_CC); - _sapi_cgibin_putenv("PATH_TRANSLATED", NULL TSRMLS_CC); - } - } if (env_script_name != orig_script_name) { if (orig_script_name) { _sapi_cgibin_putenv("ORIG_SCRIPT_NAME", orig_script_name TSRMLS_CC); diff --git a/sapi/fpm/fpm/fpm_stdio.c b/sapi/fpm/fpm/fpm_stdio.c index 33b0e01c87..fcec78435b 100644 --- a/sapi/fpm/fpm/fpm_stdio.c +++ b/sapi/fpm/fpm/fpm_stdio.c @@ -268,7 +268,11 @@ int fpm_stdio_open_error_log(int reopen) /* {{{ */ if (!strcasecmp(fpm_global_config.error_log, "syslog")) { openlog(fpm_global_config.syslog_ident, LOG_PID | LOG_CONS, fpm_global_config.syslog_facility); fpm_globals.error_log_fd = ZLOG_SYSLOG; +#if HAVE_UNISTD_H + if (fpm_global_config.daemonize || (!isatty(STDERR_FILENO) && !fpm_globals.force_stderr)) { +#else if (fpm_global_config.daemonize) { +#endif zlog_set_fd(fpm_globals.error_log_fd); } return 0; diff --git a/sapi/litespeed/lsapi_main.c b/sapi/litespeed/lsapi_main.c index 63051c1645..2405e2419e 100644 --- a/sapi/litespeed/lsapi_main.c +++ b/sapi/litespeed/lsapi_main.c @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2007 The PHP Group | + | Copyright (c) 1997-2014 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | @@ -16,8 +16,6 @@ +----------------------------------------------------------------------+ */ -/* $Id: lsapi_main.c,v 1.59 2013/11/18 21:14:38 gwang Exp $ */ - #include "php.h" #include "SAPI.h" #include "php_main.h" @@ -737,9 +735,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-2004 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-2014 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-2004 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-2014 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); diff --git a/sapi/litespeed/lsapidef.h b/sapi/litespeed/lsapidef.h index 5d5b4c1687..fb75d01a17 100644 --- a/sapi/litespeed/lsapidef.h +++ b/sapi/litespeed/lsapidef.h @@ -1,5 +1,23 @@ /* -Copyright (c) 2005, Lite Speed Technologies Inc. + +----------------------------------------------------------------------+ + | PHP Version 5 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2014 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 at 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: George Wang <gwang@litespeedtech.com> | + +----------------------------------------------------------------------+ +*/ + +/* +Copyright (c) 2002-2014, Lite Speed Technologies Inc. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -30,13 +48,6 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/*************************************************************************** - $Id: lsapidef.h,v 1.17 2012/12/01 19:23:31 gwang Exp $ - ------------------- - begin : Thu Feb 10 2005 - author : George Wang - email : gwang@litespeedtech.com - ***************************************************************************/ #ifndef _LSAPIDEF_H_ #define _LSAPIDEF_H_ diff --git a/sapi/litespeed/lsapilib.c b/sapi/litespeed/lsapilib.c index cdd60763db..786a3bd20b 100644 --- a/sapi/litespeed/lsapilib.c +++ b/sapi/litespeed/lsapilib.c @@ -1,5 +1,23 @@ /* -Copyright (c) 2013, Lite Speed Technologies Inc. + +----------------------------------------------------------------------+ + | PHP Version 5 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2014 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 at 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: George Wang <gwang@litespeedtech.com> | + +----------------------------------------------------------------------+ +*/ + +/* +Copyright (c) 2002-2014, Lite Speed Technologies Inc. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -30,14 +48,6 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/*************************************************************************** - lsapilib.c - description - ------------------- - begin : Mon Feb 21 2005 - copyright : (C) 2005 by George Wang - email : gwang@litespeedtech.com - ***************************************************************************/ - #include <ctype.h> #include <dlfcn.h> @@ -1935,6 +1945,7 @@ int LSAPI_ForeachOrgHeader_r( LSAPI_Request * pReq, { pKey = pReq->m_pHttpHeader + pCur->nameOff; keyLen = pCur->nameLen; + *(pKey + keyLen ) = 0; pValue = pReq->m_pHttpHeader + pCur->valueOff; *(pValue + pCur->valueLen ) = 0; @@ -2846,8 +2857,8 @@ static int lsapi_prefork_server_accept( lsapi_prefork_server * pServer, LSAPI_Re } } sigaction( SIGUSR1, &old_usr1, 0 ); - kill( -getpgrp(), SIGUSR1 ); - lsapi_all_children_must_die(); /* Sorry, children ;-) */ + //kill( -getpgrp(), SIGUSR1 ); + //lsapi_all_children_must_die(); /* Sorry, children ;-) */ return -1; } diff --git a/sapi/litespeed/lsapilib.h b/sapi/litespeed/lsapilib.h index b0638fd436..cae1863c79 100644 --- a/sapi/litespeed/lsapilib.h +++ b/sapi/litespeed/lsapilib.h @@ -1,5 +1,23 @@ /* -Copyright (c) 2013, Lite Speed Technologies Inc. + +----------------------------------------------------------------------+ + | PHP Version 5 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2014 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 at 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: George Wang <gwang@litespeedtech.com> | + +----------------------------------------------------------------------+ +*/ + +/* +Copyright (c) 2002-2014, Lite Speed Technologies Inc. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -30,14 +48,6 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/*************************************************************************** - lsapilib.h - description - ------------------- - begin : Mon Feb 21 2005 - copyright : (C) 2005 by George Wang - email : gwang@litespeedtech.com - ***************************************************************************/ - #ifndef _LSAPILIB_H_ #define _LSAPILIB_H_ diff --git a/sapi/milter/Makefile.frag b/sapi/milter/Makefile.frag index 26200a196c..f193f56b01 100644 --- a/sapi/milter/Makefile.frag +++ b/sapi/milter/Makefile.frag @@ -1,8 +1,8 @@ milter: $(SAPI_MILTER_PATH) -$(SAPI_MILTER_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_SAPI_OBJS) +$(SAPI_MILTER_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_MILTER_OBJS) $(BUILD_MILTER) install-milter: $(SAPI_MILTER_PATH) - @$(INSTALL) -m 0755 $(SAPI_MILTER_PATH) $(bindir)/php-milter + @$(INSTALL) -m 0755 $(SAPI_MILTER_PATH) $(INSTALL_ROOT)$(bindir)/php-milter diff --git a/sapi/milter/config.m4 b/sapi/milter/config.m4 index 4bcad80bb4..a69ab2e1e7 100644 --- a/sapi/milter/config.m4 +++ b/sapi/milter/config.m4 @@ -22,10 +22,10 @@ if test "$PHP_MILTER" != "no"; then SAPI_MILTER_PATH=sapi/milter/php-milter PHP_BUILD_THREAD_SAFE - PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/sapi/milter/Makefile.frag) + PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/sapi/milter/Makefile.frag,$abs_srcdir/sapi/milter,sapi/milter) PHP_SELECT_SAPI(milter, program, php_milter.c getopt.c,,'$(SAPI_MILTER_PATH)') PHP_ADD_LIBRARY_WITH_PATH(milter, $MILTERPATH,) - BUILD_MILTER="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_MILTER_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_MILTER_PATH)" + BUILD_MILTER="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_MILTER_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_MILTER_PATH)" PHP_SUBST(SAPI_MILTER_PATH) PHP_SUBST(BUILD_MILTER) fi diff --git a/sapi/milter/php_milter.c b/sapi/milter/php_milter.c index e0b2d0a0af..fb4afbc96e 100644 --- a/sapi/milter/php_milter.c +++ b/sapi/milter/php_milter.c @@ -525,6 +525,10 @@ static sfsistat mlfi_close(SMFICTX *ctx) int status; TSRMLS_FETCH(); + if (!SG(sapi_started) && SUCCESS != php_request_startup(TSRMLS_C)) { + return ret; + } + /* call userland */ INIT_ZVAL(function_name); ZVAL_STRING(&function_name, "milter_close", 0); @@ -550,7 +554,7 @@ static sfsistat mlfi_close(SMFICTX *ctx) /* {{{ Milter entry struct */ -struct smfiDesc smfilter = { +static struct smfiDesc smfilter = { "php-milter", /* filter name */ SMFI_VERSION, /* version code -- leave untouched */ 0, /* flags */ @@ -1011,6 +1015,7 @@ int main(int argc, char *argv[]) tsrm_startup(1, 1, 0, NULL); + tsrm_ls = ts_resource(0); sapi_startup(&milter_sapi_module); while ((c=ap_php_getopt(argc, argv, OPTSTRING))!=-1) { @@ -1028,7 +1033,6 @@ int main(int argc, char *argv[]) milter_sapi_module.executable_location = argv[0]; - tsrm_ls = ts_resource(0); sapi_module.startup(&milter_sapi_module); diff --git a/sapi/phpdbg/.travis.yml b/sapi/phpdbg/.travis.yml index 353402858e..d5b492e7cf 100644 --- a/sapi/phpdbg/.travis.yml +++ b/sapi/phpdbg/.travis.yml @@ -1,3 +1,12 @@ language: c -script: ./travis/ci.sh +env: +- PHP="PHP-5.4" +- PHP="PHP-5.5" +- PHP="PHP-5.6" +- PHP="master" + +before_script: ./travis/ci.sh + +script: +- ./php-src/sapi/cli/php php-src/sapi/phpdbg/tests/run-tests.php -diff2stdout --phpdbg php-src/sapi/phpdbg/phpdbg diff --git a/sapi/phpdbg/Makefile.frag b/sapi/phpdbg/Makefile.frag index d787b0fb18..36c7512d69 100644 --- a/sapi/phpdbg/Makefile.frag +++ b/sapi/phpdbg/Makefile.frag @@ -26,6 +26,9 @@ install-phpdbg: $(BUILD_BINARY) @$(mkinstalldirs) $(INSTALL_ROOT)$(localstatedir)/log @$(mkinstalldirs) $(INSTALL_ROOT)$(localstatedir)/run @$(INSTALL) -m 0755 $(BUILD_BINARY) $(INSTALL_ROOT)$(bindir)/$(program_prefix)phpdbg$(program_suffix)$(EXEEXT) + @echo "Installing phpdbg man page: $(INSTALL_ROOT)$(mandir)/man1/" + @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man1 + @$(INSTALL_DATA) $(srcdir)/phpdbg.1 $(INSTALL_ROOT)$(mandir)/man1/$(program_prefix)phpdbg$(program_suffix).1 clean-phpdbg: @echo "Cleaning phpdbg object files ..." diff --git a/sapi/phpdbg/config.m4 b/sapi/phpdbg/config.m4 index ecac171506..d78a439af0 100644 --- a/sapi/phpdbg/config.m4 +++ b/sapi/phpdbg/config.m4 @@ -9,6 +9,7 @@ PHP_ARG_ENABLE(phpdbg-debug, for phpdbg debug build, [ --enable-phpdbg-debug Build phpdbg in debug mode], no, no) if test "$PHP_PHPDBG" != "no"; then + AC_HEADER_TIOCGWINSZ AC_DEFINE(HAVE_PHPDBG, 1, [ ]) if test "$PHP_PHPDBG_DEBUG" != "no"; then @@ -20,7 +21,7 @@ if test "$PHP_PHPDBG" != "no"; then PHP_PHPDBG_CFLAGS="-D_GNU_SOURCE" PHP_PHPDBG_FILES="phpdbg.c phpdbg_parser.c phpdbg_lexer.c phpdbg_prompt.c phpdbg_help.c phpdbg_break.c phpdbg_print.c phpdbg_bp.c phpdbg_opcode.c phpdbg_list.c phpdbg_utils.c phpdbg_info.c phpdbg_cmd.c phpdbg_set.c phpdbg_frame.c phpdbg_watch.c phpdbg_btree.c" - if test "$PHP_READLINE" != "no"; then + if test "$PHP_READLINE" != "no" -o "$PHP_LIBEDIT" != "no"; then PHPDBG_EXTRA_LIBS="$PHP_READLINE_LIBS" fi diff --git a/sapi/phpdbg/phpdbg.1 b/sapi/phpdbg/phpdbg.1 new file mode 100644 index 0000000000..5e4d144c83 --- /dev/null +++ b/sapi/phpdbg/phpdbg.1 @@ -0,0 +1,59 @@ +.TH PHPDBG 1 +.SH NAME +phpdbg \- The interactive PHP debugger +.SH SYNOPSIS +.B phpdbg +[OPTION] +[\fB\-e\fIFILE\fR] +.SH DESCRIPTION +.B phpdbg +a lightweight, powerful, easy to use debugging platform for PHP5. +.SH OPTIONS +The following switches are implemented (just like cli SAPI): +.TP +.BR \-n +No \fBphp.ini\fR file will be used +.TP +.BR \-c \fIpath\fB|\fIfile\fR +Look for \fBphp.ini\fR file in the directory \fIpath\fR or use the specified \fIfile\fR +.TP +.BR \-z \fIfile\fR +Load Zend extension \fIfile\fR +.TP +.BR \-d \fIfoo\fB[=\fIbar\fB]\fR +Define INI entry \fIfoo\fR with value \fIbar\fR +.PP The following switches change the default behaviour of phpdbg: +.TP +.BR \-v +Disables quietness +.TP +.BR \-s +Enabled stepping +.TP +.BR -e \fIfile\fR +Sets execution context +.TP +.BR \-b +Disables use of colour on the console +.TP +.BR \-I +Ignore .phpdbginit (default init file) +.TP +.BR \-i \fIpath\fB|\ffile\fR +Override .phpgdbinit location (implies -I) +.TP +.BR \-O \fIfile\fR +Set oplog output to \fIfile\fR +.TP +.BR \-q +Do not print banner on startup +.TP +.BR \-r +Jump straight to run +.TP +.BR \-E +Enable step through eval() +.SH NOTES +Passing -rr will cause phpdbg to quit after execution, rather than returning to the console +.SH AUTHOR +Written by Felipe Pena, Joe Watkins and Bob Weinand, formatted by OndÅ™ej Surý for Debian project. diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c index 93fdbd7424..1fbd18a423 100644 --- a/sapi/phpdbg/phpdbg.c +++ b/sapi/phpdbg/phpdbg.c @@ -856,7 +856,8 @@ int phpdbg_open_sockets(char *address, int port[2], int (*listen)[2], int (*sock return SUCCESS; } /* }}} */ -void phpdbg_signal_handler(int sig, siginfo_t *info, void *context) { +void phpdbg_signal_handler(int sig, siginfo_t *info, void *context) /* {{{ */ +{ int is_handled = FAILURE; TSRMLS_FETCH(); @@ -874,10 +875,11 @@ void phpdbg_signal_handler(int sig, siginfo_t *info, void *context) { break; } -} +} /* }}} */ #endif -static inline zend_mm_heap *phpdbg_mm_get_heap() { +static inline zend_mm_heap *phpdbg_mm_get_heap() /* {{{ */ +{ zend_mm_heap *mm_heap; TSRMLS_FETCH(); @@ -886,22 +888,22 @@ static inline zend_mm_heap *phpdbg_mm_get_heap() { zend_mm_set_heap(mm_heap TSRMLS_CC); return mm_heap; -} +} /* }}} */ -void *phpdbg_malloc_wrapper(size_t size) +void *phpdbg_malloc_wrapper(size_t size) /* {{{ */ { return zend_mm_alloc(phpdbg_mm_get_heap(), size); -} +} /* }}} */ -void phpdbg_free_wrapper(void *p) +void phpdbg_free_wrapper(void *p) /* {{{ */ { zend_mm_free(phpdbg_mm_get_heap(), p); -} +} /* }}} */ -void *phpdbg_realloc_wrapper(void *ptr, size_t size) +void *phpdbg_realloc_wrapper(void *ptr, size_t size) /* {{{ */ { return zend_mm_realloc(phpdbg_mm_get_heap(), ptr, size); -} +} /* }}} */ int main(int argc, char **argv) /* {{{ */ { diff --git a/sapi/phpdbg/phpdbg.h b/sapi/phpdbg/phpdbg.h index 12350d5425..eb4faf1f94 100644 --- a/sapi/phpdbg/phpdbg.h +++ b/sapi/phpdbg/phpdbg.h @@ -64,10 +64,13 @@ # include "TSRM.h" #endif -#ifdef HAVE_LIBREADLINE +#ifdef LIBREADLINE # include <readline/readline.h> # include <readline/history.h> #endif +#ifdef HAVE_LIBEDIT +# include <editline/readline.h> +#endif #include "phpdbg_lexer.h" #include "phpdbg_cmd.h" diff --git a/sapi/phpdbg/phpdbg_btree.c b/sapi/phpdbg/phpdbg_btree.c index 8fc2561e04..491445399b 100644 --- a/sapi/phpdbg/phpdbg_btree.c +++ b/sapi/phpdbg/phpdbg_btree.c @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2013 The PHP Group | + | Copyright (c) 1997-2014 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 | diff --git a/sapi/phpdbg/phpdbg_btree.h b/sapi/phpdbg/phpdbg_btree.h index 5fb217db35..af2a6ac314 100644 --- a/sapi/phpdbg/phpdbg_btree.h +++ b/sapi/phpdbg/phpdbg_btree.h @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2013 The PHP Group | + | Copyright (c) 1997-2014 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 | diff --git a/sapi/phpdbg/phpdbg_cmd.c b/sapi/phpdbg/phpdbg_cmd.c index d4ce8ebc55..a45513bee6 100644 --- a/sapi/phpdbg/phpdbg_cmd.c +++ b/sapi/phpdbg/phpdbg_cmd.c @@ -792,7 +792,7 @@ PHPDBG_API int phpdbg_stack_execute(phpdbg_param_t *stack, char **why TSRMLS_DC) PHPDBG_API char* phpdbg_read_input(char *buffered TSRMLS_DC) /* {{{ */ { char *cmd = NULL; -#ifndef HAVE_LIBREADLINE +#if !defined(HAVE_LIBREADLINE) && !defined(HAVE_LIBEDIT) char buf[PHPDBG_MAX_CMD]; #endif char *buffer = NULL; @@ -811,7 +811,7 @@ disconnect: return NULL; } -#ifndef HAVE_LIBREADLINE +#if !defined(HAVE_LIBREADLINE) && !defined(HAVE_LIBEDIT) if (!(PHPDBG_G(flags) & PHPDBG_IS_REMOTE)) { if (!phpdbg_write("%s", phpdbg_get_prompt(TSRMLS_C))) { goto disconnect; @@ -850,7 +850,7 @@ readline: buffer = estrdup(cmd); -#ifdef HAVE_LIBREADLINE +#if defined(HAVE_LIBREADLINE) || defined(HAVE_LIBEDIT) if (!buffered && cmd && !(PHPDBG_G(flags) & PHPDBG_IS_REMOTE)) { free(cmd); diff --git a/sapi/phpdbg/phpdbg_help.c b/sapi/phpdbg/phpdbg_help.c index f2d074ded6..1e58dc69ca 100644 --- a/sapi/phpdbg/phpdbg_help.c +++ b/sapi/phpdbg/phpdbg_help.c @@ -318,8 +318,9 @@ phpdbg_help_text_t phpdbg_help_text[] = { "**Information**" CR " **list** list PHP source" CR " **info** displays information on the debug session" CR -" **print** show opcodes " CR +" **print** show opcodes" CR " **frame** select a stack frame and print a stack frame summary" CR +" **back** shows the current backtrace" CR " **help** provide help on a topic" CR CR "**Starting and Stopping Execution**" CR @@ -613,7 +614,7 @@ phpdbg_help_text_t phpdbg_help_text[] = { {"finish", "The **finish** command causes control to be passed back to the vm, continuing execution. Any " "breakpoints that are encountered within the current stack frame will be skipped. Execution " -"will then continue until the next breakpoint after leaving the stack frame or unitil " +"will then continue until the next breakpoint after leaving the stack frame or until " "completion of the script" CR CR "Note when **step**ping is enabled, any opcode steps within the current stack frame are also " @@ -629,7 +630,7 @@ phpdbg_help_text_t phpdbg_help_text[] = { "**Examples**" CR CR " $P frame 2" CR -" $P E $count" CR +" $P ev $count" CR " Go to frame 2 and print out variable **$count** in that frame" CR CR "Note that this frame scope is discarded when execution continues, with the execution frame " diff --git a/sapi/phpdbg/phpdbg_lexer.c b/sapi/phpdbg/phpdbg_lexer.c index 420dcac042..3092dc396d 100644 --- a/sapi/phpdbg/phpdbg_lexer.c +++ b/sapi/phpdbg/phpdbg_lexer.c @@ -96,33 +96,49 @@ yyc_INITIAL: }; YYDEBUG(0, *YYCURSOR); - YYFILL(3); + YYFILL(4); yych = *YYCURSOR; - if (yych <= 0x1F) { - if (yych <= '\t') { + if (yych <= 'D') { + if (yych <= '\n') { if (yych <= 0x00) goto yy6; if (yych <= 0x08) goto yy11; + if (yych >= '\n') goto yy4; } else { - if (yych <= '\n') goto yy4; - if (yych != '\r') goto yy11; + if (yych <= '\r') { + if (yych <= '\f') goto yy11; + } else { + if (yych != ' ') goto yy11; + } } } else { - if (yych <= 'e') { - if (yych <= ' ') goto yy2; - if (yych <= 'd') goto yy11; - goto yy7; + if (yych <= 'd') { + if (yych <= 'Q') { + if (yych <= 'E') goto yy7; + goto yy11; + } else { + if (yych <= 'R') goto yy10; + if (yych <= 'S') goto yy8; + goto yy11; + } } else { - if (yych <= 'q') goto yy11; - if (yych <= 'r') goto yy9; - if (yych <= 's') goto yy8; - goto yy11; + if (yych <= 'q') { + if (yych <= 'e') goto yy7; + goto yy11; + } else { + if (yych <= 'r') goto yy9; + if (yych <= 's') goto yy8; + goto yy11; + } } } -yy2: YYDEBUG(2, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 128) { - goto yy19; + if ((yych = *YYCURSOR) <= '\f') { + if (yych <= 0x08) goto yy3; + if (yych <= '\n') goto yy26; + } else { + if (yych <= '\r') goto yy26; + if (yych == ' ') goto yy26; } yy3: YYDEBUG(3, *YYCURSOR); @@ -134,49 +150,60 @@ yy3: YYCURSOR = LEX(text); goto restart; } -#line 138 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +#line 154 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" yy4: YYDEBUG(4, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 128) { - goto yy19; + if ((yych = *YYCURSOR) <= '\f') { + if (yych <= 0x08) goto yy5; + if (yych <= '\n') goto yy26; + } else { + if (yych <= '\r') goto yy26; + if (yych == ' ') goto yy26; } +yy5: YYDEBUG(5, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 68 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { return 0; } -#line 151 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +#line 172 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" yy6: YYDEBUG(6, *YYCURSOR); yych = *++YYCURSOR; goto yy3; yy7: YYDEBUG(7, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'v') goto yy17; + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'V') goto yy22; + if (yych == 'v') goto yy22; goto yy3; yy8: YYDEBUG(8, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'h') goto yy15; + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'H') goto yy18; + if (yych == 'h') goto yy18; goto yy3; yy9: YYDEBUG(9, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy15; + } + if (yych == 'U') goto yy12; if (yych == 'u') goto yy12; + goto yy3; yy10: YYDEBUG(10, *YYCURSOR); - yyleng = (size_t) YYCURSOR - (size_t) yytext; -#line 155 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" - { - YYSETCONDITION(RAW); - phpdbg_init_param(yylval, EMPTY_PARAM); - return T_RUN; -} -#line 180 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'U') goto yy12; + if (yych == 'u') goto yy12; + goto yy3; yy11: YYDEBUG(11, *YYCURSOR); yych = *++YYCURSOR; @@ -184,18 +211,62 @@ yy11: yy12: YYDEBUG(12, *YYCURSOR); yych = *++YYCURSOR; + if (yych == 'N') goto yy14; if (yych == 'n') goto yy14; +yy13: YYDEBUG(13, *YYCURSOR); YYCURSOR = YYMARKER; - goto yy10; + goto yy3; yy14: YYDEBUG(14, *YYCURSOR); yych = *++YYCURSOR; - goto yy10; + if (yybm[0+yych] & 128) { + goto yy15; + } + goto yy13; yy15: YYDEBUG(15, *YYCURSOR); ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; YYDEBUG(16, *YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy15; + } + YYDEBUG(17, *YYCURSOR); + yyleng = (size_t) YYCURSOR - (size_t) yytext; +#line 155 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" + { + YYSETCONDITION(RAW); + phpdbg_init_param(yylval, EMPTY_PARAM); + return T_RUN; +} +#line 245 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy18: + YYDEBUG(18, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '\f') { + if (yych <= 0x08) goto yy13; + if (yych >= '\v') goto yy13; + } else { + if (yych <= '\r') goto yy19; + if (yych != ' ') goto yy13; + } +yy19: + YYDEBUG(19, *YYCURSOR); + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(20, *YYCURSOR); + if (yych <= '\f') { + if (yych <= 0x08) goto yy21; + if (yych <= '\n') goto yy19; + } else { + if (yych <= '\r') goto yy19; + if (yych == ' ') goto yy19; + } +yy21: + YYDEBUG(21, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 150 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -203,11 +274,32 @@ yy15: phpdbg_init_param(yylval, EMPTY_PARAM); return T_SHELL; } -#line 207 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy17: - YYDEBUG(17, *YYCURSOR); +#line 278 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy22: + YYDEBUG(22, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '\f') { + if (yych <= 0x08) goto yy13; + if (yych >= '\v') goto yy13; + } else { + if (yych <= '\r') goto yy23; + if (yych != ' ') goto yy13; + } +yy23: + YYDEBUG(23, *YYCURSOR); ++YYCURSOR; - YYDEBUG(18, *YYCURSOR); + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(24, *YYCURSOR); + if (yych <= '\f') { + if (yych <= 0x08) goto yy25; + if (yych <= '\n') goto yy23; + } else { + if (yych <= '\r') goto yy23; + if (yych == ' ') goto yy23; + } +yy25: + YYDEBUG(25, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 145 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -215,17 +307,22 @@ yy17: phpdbg_init_param(yylval, EMPTY_PARAM); return T_EVAL; } -#line 219 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy19: - YYDEBUG(19, *YYCURSOR); +#line 311 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy26: + YYDEBUG(26, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(20, *YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy19; + YYDEBUG(27, *YYCURSOR); + if (yych <= '\f') { + if (yych <= 0x08) goto yy28; + if (yych <= '\n') goto yy26; + } else { + if (yych <= '\r') goto yy26; + if (yych == ' ') goto yy26; } - YYDEBUG(21, *YYCURSOR); +yy28: + YYDEBUG(28, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 139 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -233,7 +330,7 @@ yy19: goto restart; } -#line 237 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +#line 334 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" } /* *********************************** */ yyc_NORMAL: @@ -272,71 +369,60 @@ yyc_NORMAL: 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, }; - YYDEBUG(22, *YYCURSOR); + YYDEBUG(29, *YYCURSOR); YYFILL(11); yych = *YYCURSOR; - if (yych <= ':') { - if (yych <= ' ') { - if (yych <= '\n') { - if (yych <= 0x00) goto yy29; - if (yych <= 0x08) goto yy32; - if (yych >= '\n') goto yy27; - } else { - if (yych == '\r') goto yy24; - if (yych <= 0x1F) goto yy32; - } - } else { - if (yych <= '.') { - if (yych == '#') goto yy47; - if (yych <= '-') goto yy32; - goto yy34; - } else { - if (yych <= '/') goto yy32; - if (yych <= '0') goto yy37; - if (yych <= '9') goto yy34; - goto yy49; - } - } - } else { - if (yych <= 'i') { - if (yych <= 'd') { - if (yych == 'Z') goto yy38; - if (yych <= 'c') goto yy32; - goto yy39; - } else { - if (yych <= 'e') goto yy40; - if (yych <= 'f') goto yy41; - if (yych <= 'h') goto yy32; - goto yy30; - } - } else { - if (yych <= 's') { - if (yych <= 'm') goto yy32; - if (yych <= 'n') goto yy42; - if (yych <= 'o') goto yy43; - goto yy32; - } else { - if (yych <= 'x') { - if (yych <= 't') goto yy44; - goto yy32; - } else { - if (yych <= 'y') goto yy45; - if (yych <= 'z') goto yy46; - goto yy32; - } - } - } + YYDEBUG(-1, yych); + switch (yych) { + case 0x00: goto yy36; + case '\t': + case '\r': + case ' ': goto yy31; + case '\n': goto yy34; + case '#': goto yy55; + case '-': goto yy41; + case '.': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': goto yy42; + case '0': goto yy45; + case ':': goto yy57; + case 'D': + case 'd': goto yy46; + case 'E': + case 'e': goto yy47; + case 'F': + case 'f': goto yy48; + case 'I': + case 'i': goto yy37; + case 'N': + case 'n': goto yy49; + case 'O': + case 'o': goto yy50; + case 'T': + case 't': goto yy51; + case 'Y': + case 'y': goto yy52; + case 'Z': goto yy53; + case 'z': goto yy54; + default: goto yy39; } -yy24: - YYDEBUG(24, *YYCURSOR); +yy31: + YYDEBUG(31, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(25, *YYCURSOR); + YYDEBUG(32, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy24; + goto yy31; } - YYDEBUG(26, *YYCURSOR); + YYDEBUG(33, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 139 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -344,33 +430,34 @@ yy24: goto restart; } -#line 348 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy27: - YYDEBUG(27, *YYCURSOR); +#line 434 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy34: + YYDEBUG(34, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy24; + goto yy31; } -yy28: - YYDEBUG(28, *YYCURSOR); +yy35: + YYDEBUG(35, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 68 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { return 0; } -#line 362 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy29: - YYDEBUG(29, *YYCURSOR); +#line 448 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy36: + YYDEBUG(36, *YYCURSOR); yych = *++YYCURSOR; - goto yy28; -yy30: - YYDEBUG(30, *YYCURSOR); + goto yy35; +yy37: + YYDEBUG(37, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'f') goto yy94; - goto yy33; -yy31: - YYDEBUG(31, *YYCURSOR); + if (yych == 'F') goto yy106; + if (yych == 'f') goto yy106; + goto yy40; +yy38: + YYDEBUG(38, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 125 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -379,48 +466,56 @@ yy31: yylval->len = yyleng; return T_ID; } -#line 383 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy32: - YYDEBUG(32, *YYCURSOR); +#line 470 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy39: + YYDEBUG(39, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; -yy33: - YYDEBUG(33, *YYCURSOR); +yy40: + YYDEBUG(40, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy32; + goto yy39; } - if (yych <= '9') goto yy31; - goto yy54; -yy34: - YYDEBUG(34, *YYCURSOR); + if (yych <= '9') goto yy38; + goto yy62; +yy41: + YYDEBUG(41, *YYCURSOR); + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 32) { + goto yy42; + } + goto yy40; +yy42: + YYDEBUG(42, *YYCURSOR); yyaccept = 1; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(35, *YYCURSOR); + YYDEBUG(43, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy34; + goto yy42; } if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x00) goto yy36; - if (yych <= 0x08) goto yy32; + if (yych <= 0x00) goto yy44; + if (yych <= 0x08) goto yy39; } else { - if (yych != '\r') goto yy32; + if (yych != '\r') goto yy39; } } else { if (yych <= '#') { - if (yych <= ' ') goto yy36; - if (yych <= '"') goto yy32; + if (yych <= ' ') goto yy44; + if (yych <= '"') goto yy39; } else { - if (yych == ':') goto yy54; - goto yy32; + if (yych == ':') goto yy62; + goto yy39; } } -yy36: - YYDEBUG(36, *YYCURSOR); +yy44: + YYDEBUG(44, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 106 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -428,164 +523,168 @@ yy36: yylval->num = atoi(yytext); return T_DIGITS; } -#line 432 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy37: - YYDEBUG(37, *YYCURSOR); +#line 527 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy45: + YYDEBUG(45, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 32) { - goto yy34; + goto yy42; } if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x00) goto yy36; - if (yych <= 0x08) goto yy33; - goto yy36; + if (yych <= 0x00) goto yy44; + if (yych <= 0x08) goto yy40; + goto yy44; } else { - if (yych == '\r') goto yy36; - goto yy33; + if (yych == '\r') goto yy44; + goto yy40; } } else { if (yych <= '#') { - if (yych <= ' ') goto yy36; - if (yych <= '"') goto yy33; - goto yy36; + if (yych <= ' ') goto yy44; + if (yych <= '"') goto yy40; + goto yy44; } else { - if (yych == 'x') goto yy90; - goto yy33; + if (yych == 'x') goto yy102; + goto yy40; } } -yy38: - YYDEBUG(38, *YYCURSOR); +yy46: + YYDEBUG(46, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy87; - goto yy33; -yy39: - YYDEBUG(39, *YYCURSOR); + if (yych == 'I') goto yy96; + if (yych == 'i') goto yy96; + goto yy40; +yy47: + YYDEBUG(47, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'i') goto yy81; - goto yy33; -yy40: - YYDEBUG(40, *YYCURSOR); + if (yych == 'N') goto yy91; + if (yych == 'n') goto yy91; + goto yy40; +yy48: + YYDEBUG(48, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy76; - goto yy33; -yy41: - YYDEBUG(41, *YYCURSOR); + if (yych == 'A') goto yy88; + if (yych == 'a') goto yy88; + goto yy40; +yy49: + YYDEBUG(49, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy73; - goto yy33; -yy42: - YYDEBUG(42, *YYCURSOR); + if (yych == 'O') goto yy84; + if (yych == 'o') goto yy84; + goto yy40; +yy50: + YYDEBUG(50, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'o') goto yy71; - goto yy33; -yy43: - YYDEBUG(43, *YYCURSOR); + if (yych <= 'N') { + if (yych == 'F') goto yy83; + if (yych <= 'M') goto yy40; + goto yy77; + } else { + if (yych <= 'f') { + if (yych <= 'e') goto yy40; + goto yy83; + } else { + if (yych == 'n') goto yy77; + goto yy40; + } + } +yy51: + YYDEBUG(51, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'f') goto yy70; - if (yych == 'n') goto yy66; - goto yy33; -yy44: - YYDEBUG(44, *YYCURSOR); + if (yych == 'R') goto yy81; + if (yych == 'r') goto yy81; + goto yy40; +yy52: + YYDEBUG(52, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy68; - goto yy33; -yy45: - YYDEBUG(45, *YYCURSOR); + if (yych == 'E') goto yy76; + if (yych == 'e') goto yy76; + goto yy40; +yy53: + YYDEBUG(53, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy65; - goto yy33; -yy46: - YYDEBUG(46, *YYCURSOR); + if (yych == 'E') goto yy73; + goto yy40; +yy54: + YYDEBUG(54, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy53; - goto yy33; -yy47: - YYDEBUG(47, *YYCURSOR); + if (yych == 'e') goto yy61; + goto yy40; +yy55: + YYDEBUG(55, *YYCURSOR); ++YYCURSOR; - YYDEBUG(48, *YYCURSOR); + YYDEBUG(56, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 84 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { return T_POUND; } -#line 523 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy49: - YYDEBUG(49, *YYCURSOR); +#line 634 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy57: + YYDEBUG(57, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == ':') goto yy51; - YYDEBUG(50, *YYCURSOR); + if ((yych = *YYCURSOR) == ':') goto yy59; + YYDEBUG(58, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 90 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { return T_COLON; } -#line 534 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy51: - YYDEBUG(51, *YYCURSOR); +#line 645 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy59: + YYDEBUG(59, *YYCURSOR); ++YYCURSOR; - YYDEBUG(52, *YYCURSOR); + YYDEBUG(60, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 87 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { return T_DCOLON; } -#line 544 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy53: - YYDEBUG(53, *YYCURSOR); +#line 655 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy61: + YYDEBUG(61, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'n') goto yy59; - goto yy33; -yy54: - YYDEBUG(54, *YYCURSOR); + if (yych == 'n') goto yy67; + goto yy40; +yy62: + YYDEBUG(62, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '/') goto yy56; -yy55: - YYDEBUG(55, *YYCURSOR); + if (yych == '/') goto yy64; +yy63: + YYDEBUG(63, *YYCURSOR); YYCURSOR = YYMARKER; - if (yyaccept <= 3) { - if (yyaccept <= 1) { - if (yyaccept <= 0) { - goto yy31; - } else { - goto yy36; - } + if (yyaccept <= 1) { + if (yyaccept <= 0) { + goto yy38; } else { - if (yyaccept <= 2) { - goto yy64; - } else { - goto yy67; - } + goto yy44; } } else { - if (yyaccept <= 5) { - if (yyaccept <= 4) { - goto yy72; - } else { - goto yy93; - } + if (yyaccept <= 2) { + goto yy72; } else { - goto yy95; + goto yy105; } } -yy56: - YYDEBUG(56, *YYCURSOR); +yy64: + YYDEBUG(64, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '/') goto yy55; - YYDEBUG(57, *YYCURSOR); + if (yych != '/') goto yy63; + YYDEBUG(65, *YYCURSOR); ++YYCURSOR; - YYDEBUG(58, *YYCURSOR); + YYDEBUG(66, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 78 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -594,52 +693,52 @@ yy56: yylval->len = yyleng; return T_PROTO; } -#line 598 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy59: - YYDEBUG(59, *YYCURSOR); +#line 697 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy67: + YYDEBUG(67, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'd') goto yy33; - YYDEBUG(60, *YYCURSOR); + if (yych != 'd') goto yy40; + YYDEBUG(68, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != '_') goto yy33; -yy61: - YYDEBUG(61, *YYCURSOR); + if (yych != '_') goto yy40; +yy69: + YYDEBUG(69, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 64) { - goto yy62; + goto yy70; } - goto yy33; -yy62: - YYDEBUG(62, *YYCURSOR); + goto yy40; +yy70: + YYDEBUG(70, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(63, *YYCURSOR); + YYDEBUG(71, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy62; + goto yy70; } if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x00) goto yy64; - if (yych <= 0x08) goto yy32; + if (yych <= 0x00) goto yy72; + if (yych <= 0x08) goto yy39; } else { - if (yych != '\r') goto yy32; + if (yych != '\r') goto yy39; } } else { if (yych <= '#') { - if (yych <= ' ') goto yy64; - if (yych <= '"') goto yy32; + if (yych <= ' ') goto yy72; + if (yych <= '"') goto yy39; } else { - if (yych == ':') goto yy54; - goto yy32; + if (yych == ':') goto yy62; + goto yy39; } } -yy64: - YYDEBUG(64, *YYCURSOR); +yy72: + YYDEBUG(72, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 118 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -648,32 +747,53 @@ yy64: yylval->len = yyleng; return T_OPCODE; } -#line 652 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy65: - YYDEBUG(65, *YYCURSOR); +#line 751 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy73: + YYDEBUG(73, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 's') goto yy33; -yy66: - YYDEBUG(66, *YYCURSOR); - yyaccept = 3; + if (yych != 'N') goto yy40; + YYDEBUG(74, *YYCURSOR); + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '\r') { - if (yych <= 0x08) { - if (yych >= 0x01) goto yy33; - } else { - if (yych <= '\n') goto yy67; - if (yych <= '\f') goto yy33; - } + if (yych != 'D') goto yy40; + YYDEBUG(75, *YYCURSOR); + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '_') goto yy69; + goto yy40; +yy76: + YYDEBUG(76, *YYCURSOR); + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'S') goto yy77; + if (yych != 's') goto yy40; +yy77: + YYDEBUG(77, *YYCURSOR); + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '\f') { + if (yych <= 0x08) goto yy40; + if (yych >= '\v') goto yy40; } else { - if (yych <= ' ') { - if (yych <= 0x1F) goto yy33; - } else { - if (yych != '#') goto yy33; - } + if (yych <= '\r') goto yy78; + if (yych != ' ') goto yy40; } -yy67: - YYDEBUG(67, *YYCURSOR); +yy78: + YYDEBUG(78, *YYCURSOR); + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(79, *YYCURSOR); + if (yych <= '\f') { + if (yych <= 0x08) goto yy80; + if (yych <= '\n') goto yy78; + } else { + if (yych <= '\r') goto yy78; + if (yych == ' ') goto yy78; + } +yy80: + YYDEBUG(80, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 94 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -681,42 +801,52 @@ yy67: yylval->num = 1; return T_TRUTHY; } -#line 685 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy68: - YYDEBUG(68, *YYCURSOR); +#line 805 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy81: + YYDEBUG(81, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'u') goto yy33; - YYDEBUG(69, *YYCURSOR); + if (yych == 'U') goto yy82; + if (yych != 'u') goto yy40; +yy82: + YYDEBUG(82, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy66; - goto yy33; -yy70: - YYDEBUG(70, *YYCURSOR); + if (yych == 'E') goto yy77; + if (yych == 'e') goto yy77; + goto yy40; +yy83: + YYDEBUG(83, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'f') goto yy33; -yy71: - YYDEBUG(71, *YYCURSOR); - yyaccept = 4; + if (yych == 'F') goto yy84; + if (yych != 'f') goto yy40; +yy84: + YYDEBUG(84, *YYCURSOR); + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '\r') { - if (yych <= 0x08) { - if (yych >= 0x01) goto yy33; - } else { - if (yych <= '\n') goto yy72; - if (yych <= '\f') goto yy33; - } + if (yych <= '\f') { + if (yych <= 0x08) goto yy40; + if (yych >= '\v') goto yy40; } else { - if (yych <= ' ') { - if (yych <= 0x1F) goto yy33; - } else { - if (yych != '#') goto yy33; - } + if (yych <= '\r') goto yy85; + if (yych != ' ') goto yy40; } -yy72: - YYDEBUG(72, *YYCURSOR); +yy85: + YYDEBUG(85, *YYCURSOR); + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(86, *YYCURSOR); + if (yych <= '\f') { + if (yych <= 0x08) goto yy87; + if (yych <= '\n') goto yy85; + } else { + if (yych <= '\r') goto yy85; + if (yych == ' ') goto yy85; + } +yy87: + YYDEBUG(87, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 100 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -724,119 +854,130 @@ yy72: yylval->num = 0; return T_FALSY; } -#line 728 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy73: - YYDEBUG(73, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'l') goto yy33; - YYDEBUG(74, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych != 's') goto yy33; - YYDEBUG(75, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'e') goto yy71; - goto yy33; -yy76: - YYDEBUG(76, *YYCURSOR); +#line 858 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy88: + YYDEBUG(88, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'a') goto yy33; - YYDEBUG(77, *YYCURSOR); + if (yych == 'L') goto yy89; + if (yych != 'l') goto yy40; +yy89: + YYDEBUG(89, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'b') goto yy33; - YYDEBUG(78, *YYCURSOR); + if (yych == 'S') goto yy90; + if (yych != 's') goto yy40; +yy90: + YYDEBUG(90, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'l') goto yy33; - YYDEBUG(79, *YYCURSOR); + if (yych == 'E') goto yy84; + if (yych == 'e') goto yy84; + goto yy40; +yy91: + YYDEBUG(91, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'e') goto yy33; - YYDEBUG(80, *YYCURSOR); + if (yych == 'A') goto yy92; + if (yych != 'a') goto yy40; +yy92: + YYDEBUG(92, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy66; - goto yy33; -yy81: - YYDEBUG(81, *YYCURSOR); + if (yych == 'B') goto yy93; + if (yych != 'b') goto yy40; +yy93: + YYDEBUG(93, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 's') goto yy33; - YYDEBUG(82, *YYCURSOR); + if (yych == 'L') goto yy94; + if (yych != 'l') goto yy40; +yy94: + YYDEBUG(94, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'a') goto yy33; - YYDEBUG(83, *YYCURSOR); + if (yych == 'E') goto yy95; + if (yych != 'e') goto yy40; +yy95: + YYDEBUG(95, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'b') goto yy33; - YYDEBUG(84, *YYCURSOR); + if (yych == 'D') goto yy77; + if (yych == 'd') goto yy77; + goto yy40; +yy96: + YYDEBUG(96, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'l') goto yy33; - YYDEBUG(85, *YYCURSOR); + if (yych == 'S') goto yy97; + if (yych != 's') goto yy40; +yy97: + YYDEBUG(97, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'e') goto yy33; - YYDEBUG(86, *YYCURSOR); + if (yych == 'A') goto yy98; + if (yych != 'a') goto yy40; +yy98: + YYDEBUG(98, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'd') goto yy71; - goto yy33; -yy87: - YYDEBUG(87, *YYCURSOR); + if (yych == 'B') goto yy99; + if (yych != 'b') goto yy40; +yy99: + YYDEBUG(99, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'N') goto yy33; - YYDEBUG(88, *YYCURSOR); + if (yych == 'L') goto yy100; + if (yych != 'l') goto yy40; +yy100: + YYDEBUG(100, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych != 'D') goto yy33; - YYDEBUG(89, *YYCURSOR); + if (yych == 'E') goto yy101; + if (yych != 'e') goto yy40; +yy101: + YYDEBUG(101, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '_') goto yy61; - goto yy33; -yy90: - YYDEBUG(90, *YYCURSOR); + if (yych == 'D') goto yy84; + if (yych == 'd') goto yy84; + goto yy40; +yy102: + YYDEBUG(102, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 128) { - goto yy91; + goto yy103; } - goto yy33; -yy91: - YYDEBUG(91, *YYCURSOR); - yyaccept = 5; + goto yy40; +yy103: + YYDEBUG(103, *YYCURSOR); + yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(92, *YYCURSOR); + YYDEBUG(104, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy91; + goto yy103; } if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x00) goto yy93; - if (yych <= 0x08) goto yy32; + if (yych <= 0x00) goto yy105; + if (yych <= 0x08) goto yy39; } else { - if (yych != '\r') goto yy32; + if (yych != '\r') goto yy39; } } else { if (yych <= '#') { - if (yych <= ' ') goto yy93; - if (yych <= '"') goto yy32; + if (yych <= ' ') goto yy105; + if (yych <= '"') goto yy39; } else { - if (yych == ':') goto yy54; - goto yy32; + if (yych == ':') goto yy62; + goto yy39; } } -yy93: - YYDEBUG(93, *YYCURSOR); +yy105: + YYDEBUG(105, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 112 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -844,27 +985,33 @@ yy93: yylval->addr = strtoul(yytext, 0, 16); return T_ADDR; } -#line 848 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy94: - YYDEBUG(94, *YYCURSOR); - yyaccept = 6; +#line 989 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy106: + YYDEBUG(106, *YYCURSOR); + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '\r') { - if (yych <= 0x08) { - if (yych >= 0x01) goto yy33; - } else { - if (yych <= '\n') goto yy95; - if (yych <= '\f') goto yy33; - } + if (yych <= '\f') { + if (yych <= 0x08) goto yy40; + if (yych >= '\v') goto yy40; } else { - if (yych <= ' ') { - if (yych <= 0x1F) goto yy33; - } else { - if (yych != '#') goto yy33; - } + if (yych <= '\r') goto yy107; + if (yych != ' ') goto yy40; } -yy95: - YYDEBUG(95, *YYCURSOR); +yy107: + YYDEBUG(107, *YYCURSOR); + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(108, *YYCURSOR); + if (yych <= '\f') { + if (yych <= 0x08) goto yy109; + if (yych <= '\n') goto yy107; + } else { + if (yych <= '\r') goto yy107; + if (yych == ' ') goto yy107; + } +yy109: + YYDEBUG(109, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 72 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -872,7 +1019,7 @@ yy95: phpdbg_init_param(yylval, EMPTY_PARAM); return T_IF; } -#line 876 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +#line 1023 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" } /* *********************************** */ yyc_RAW: @@ -911,29 +1058,29 @@ yyc_RAW: 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, }; - YYDEBUG(96, *YYCURSOR); + YYDEBUG(110, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yybm[0+yych] & 32) { - goto yy98; + goto yy112; } - if (yych <= 0x00) goto yy103; - if (yych == '\n') goto yy101; - goto yy104; -yy98: - YYDEBUG(98, *YYCURSOR); + if (yych <= 0x00) goto yy117; + if (yych == '\n') goto yy115; + goto yy118; +yy112: + YYDEBUG(112, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(99, *YYCURSOR); + YYDEBUG(113, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy98; + goto yy112; } - if (yych <= 0x00) goto yy100; - if (yych == '\n') goto yy106; - goto yy104; -yy100: - YYDEBUG(100, *YYCURSOR); + if (yych <= 0x00) goto yy114; + if (yych == '\n') goto yy120; + goto yy118; +yy114: + YYDEBUG(114, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 132 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -942,45 +1089,45 @@ yy100: yylval->len = yyleng; return T_INPUT; } -#line 946 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy101: - YYDEBUG(101, *YYCURSOR); +#line 1093 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy115: + YYDEBUG(115, *YYCURSOR); ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { - goto yy106; + goto yy120; } -yy102: - YYDEBUG(102, *YYCURSOR); +yy116: + YYDEBUG(116, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 68 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { return 0; } -#line 960 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" -yy103: - YYDEBUG(103, *YYCURSOR); +#line 1107 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +yy117: + YYDEBUG(117, *YYCURSOR); yych = *++YYCURSOR; - goto yy102; -yy104: - YYDEBUG(104, *YYCURSOR); + goto yy116; +yy118: + YYDEBUG(118, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(105, *YYCURSOR); + YYDEBUG(119, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy104; + goto yy118; } - goto yy100; -yy106: - YYDEBUG(106, *YYCURSOR); + goto yy114; +yy120: + YYDEBUG(120, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(107, *YYCURSOR); + YYDEBUG(121, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy106; + goto yy120; } - YYDEBUG(108, *YYCURSOR); + YYDEBUG(122, *YYCURSOR); yyleng = (size_t) YYCURSOR - (size_t) yytext; #line 139 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" { @@ -988,7 +1135,7 @@ yy106: goto restart; } -#line 992 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" +#line 1139 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.c" } } #line 168 "/var/root/php-src/sapi/phpdbg/phpdbg_lexer.l" diff --git a/sapi/phpdbg/phpdbg_lexer.l b/sapi/phpdbg/phpdbg_lexer.l index 4d9c837f1e..7b3ce38c47 100644 --- a/sapi/phpdbg/phpdbg_lexer.l +++ b/sapi/phpdbg/phpdbg_lexer.l @@ -43,21 +43,21 @@ restart: /*!re2c re2c:yyfill:check = 0; -T_TRUE "true" -T_YES "yes" -T_ON "on" -T_ENABLED "enabled" -T_FALSE "false" -T_NO "no" -T_OFF "off" -T_DISABLED "disabled" -T_EVAL "ev" -T_SHELL "sh" -T_IF "if" -T_RUN "run" +T_TRUE 'true' +T_YES 'yes' +T_ON 'on' +T_ENABLED 'enabled' +T_FALSE 'false' +T_NO 'no' +T_OFF 'off' +T_DISABLED 'disabled' +T_EVAL 'ev' +T_SHELL 'sh' +T_IF 'if' +T_RUN 'run' T_RUN_SHORT "r" WS [ \r\n\t]+ -DIGITS [0-9\.]+ +DIGITS [-]?[0-9\.]+ ID [^ \r\n\t:#\000]+ ADDR [0][x][a-fA-F0-9]+ OPCODE (ZEND_|zend_)([A-Za-z])+ @@ -69,7 +69,7 @@ INPUT [^\n\000]+ return 0; } -<NORMAL>{T_IF} { +<NORMAL>{T_IF}{WS} { YYSETCONDITION(RAW); phpdbg_init_param(yylval, EMPTY_PARAM); return T_IF; @@ -91,13 +91,13 @@ INPUT [^\n\000]+ return T_COLON; } -<NORMAL>{T_YES}|{T_ON}|{T_ENABLED}|{T_TRUE} { +<NORMAL>({T_YES}|{T_ON}|{T_ENABLED}|{T_TRUE}){WS} { phpdbg_init_param(yylval, NUMERIC_PARAM); yylval->num = 1; return T_TRUTHY; } -<NORMAL>{T_NO}|{T_OFF}|{T_DISABLED}|{T_FALSE} { +<NORMAL>({T_NO}|{T_OFF}|{T_DISABLED}|{T_FALSE}){WS} { phpdbg_init_param(yylval, NUMERIC_PARAM); yylval->num = 0; return T_FALSY; @@ -142,17 +142,17 @@ INPUT [^\n\000]+ goto restart; } -<INITIAL>{T_EVAL} { +<INITIAL>{T_EVAL}{WS} { YYSETCONDITION(RAW); phpdbg_init_param(yylval, EMPTY_PARAM); return T_EVAL; } -<INITIAL>{T_SHELL} { +<INITIAL>{T_SHELL}{WS} { YYSETCONDITION(RAW); phpdbg_init_param(yylval, EMPTY_PARAM); return T_SHELL; } -<INITIAL>{T_RUN}|{T_RUN_SHORT} { +<INITIAL>({T_RUN}|{T_RUN_SHORT}){WS} { YYSETCONDITION(RAW); phpdbg_init_param(yylval, EMPTY_PARAM); return T_RUN; diff --git a/sapi/phpdbg/phpdbg_list.c b/sapi/phpdbg/phpdbg_list.c index 037c6c38b2..e8db4e605c 100644 --- a/sapi/phpdbg/phpdbg_list.c +++ b/sapi/phpdbg/phpdbg_list.c @@ -130,14 +130,14 @@ void phpdbg_list_file(const char *filename, long count, long offset, int highlig char *opened = NULL; char buffer[8096] = {0,}; long line = 0; - + php_stream *stream = NULL; if (VCWD_STAT(filename, &st) == FAILURE) { phpdbg_error("Failed to stat file %s", filename); return; } - + stream = php_stream_open_wrapper(filename, "rb", USE_PATH, &opened); if (!stream) { @@ -145,11 +145,17 @@ void phpdbg_list_file(const char *filename, long count, long offset, int highlig return; } + if (offset < 0) { + count += offset; + offset = 0; + } + while (php_stream_gets(stream, buffer, sizeof(buffer)) != NULL) { + long linelen = strlen(buffer); + ++line; - if (!offset || offset <= line) { - /* Without offset, or offset reached */ + if (offset <= line) { if (!highlight) { phpdbg_write("%05ld: %s", line, buffer); } else { @@ -159,10 +165,15 @@ void phpdbg_list_file(const char *filename, long count, long offset, int highlig phpdbg_write(">%05ld: %s", line, buffer); } } + + if (buffer[linelen - 1] != '\n') { + phpdbg_write("\n"); + } } - - if ((count + (offset-1)) == line) + + if (count > 0 && count + offset - 1 < line) { break; + } } php_stream_close(stream); diff --git a/sapi/phpdbg/phpdbg_parser.c b/sapi/phpdbg/phpdbg_parser.c index f9a3e4d299..e34c2f48ff 100644 --- a/sapi/phpdbg/phpdbg_parser.c +++ b/sapi/phpdbg/phpdbg_parser.c @@ -436,7 +436,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 25 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 41 +#define YYLAST 42 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 21 @@ -493,8 +493,8 @@ static const yytype_uint8 yytranslate[] = static const yytype_uint8 yyprhs[] = { 0, 0, 3, 5, 7, 8, 10, 13, 17, 22, - 27, 33, 37, 43, 47, 49, 51, 53, 55, 57, - 59, 61, 64, 67, 70, 72 + 27, 33, 37, 43, 47, 50, 52, 54, 56, 58, + 60, 62, 64, 67, 70, 72 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -504,9 +504,9 @@ static const yytype_int8 yyrhs[] = 23, 24, -1, 18, 10, 14, -1, 18, 10, 12, 14, -1, 13, 18, 10, 14, -1, 13, 18, 10, 12, 14, -1, 18, 11, 18, -1, 18, 11, 18, - 12, 14, -1, 18, 12, 14, -1, 17, -1, 16, - -1, 15, -1, 7, -1, 8, -1, 14, -1, 18, - -1, 6, 19, -1, 3, 19, -1, 5, 19, -1, + 12, 14, -1, 18, 12, 14, -1, 6, 19, -1, + 17, -1, 16, -1, 15, -1, 7, -1, 8, -1, + 14, -1, 18, -1, 3, 19, -1, 5, 19, -1, 4, -1, 4, 19, -1 }; @@ -514,8 +514,8 @@ static const yytype_int8 yyrhs[] = static const yytype_uint8 yyrline[] = { 0, 66, 66, 67, 68, 72, 73, 77, 82, 87, - 97, 107, 112, 118, 124, 125, 126, 127, 128, 129, - 130, 134, 139, 144, 149, 153 + 97, 107, 112, 118, 124, 129, 130, 131, 132, 133, + 134, 135, 139, 144, 149, 153 }; #endif @@ -552,15 +552,15 @@ static const yytype_uint8 yyr1[] = { 0, 21, 22, 22, 22, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 25, 25, 25, 25, 25 + 24, 24, 25, 25, 25, 25 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 1, 0, 1, 2, 3, 4, 4, - 5, 3, 5, 3, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 2, 1, 2 + 5, 3, 5, 3, 2, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 1, 2 }; /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. @@ -568,9 +568,9 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 4, 0, 24, 0, 0, 17, 18, 0, 19, 16, - 15, 14, 20, 0, 2, 5, 3, 22, 25, 23, - 21, 0, 0, 0, 0, 1, 6, 0, 0, 7, + 4, 0, 24, 0, 0, 18, 19, 0, 20, 17, + 16, 15, 21, 0, 2, 5, 3, 22, 25, 23, + 14, 0, 0, 0, 0, 1, 6, 0, 0, 7, 11, 13, 0, 9, 8, 0, 10, 12 }; @@ -585,16 +585,16 @@ static const yytype_int8 yydefgoto[] = #define YYPACT_NINF -11 static const yytype_int8 yypact[] = { - -3, -10, 10, 11, 12, -11, -11, 14, -11, -11, - -11, -11, -4, 28, 9, -11, -11, -11, -11, -11, - -11, 23, 6, 16, 21, -11, -11, 7, 22, -11, - 25, -11, 24, -11, -11, 26, -11, -11 + -3, -10, 11, 12, 13, -11, -11, 15, -11, -11, + -11, -11, -4, 29, 10, -11, -11, -11, -11, -11, + -11, 24, 7, 17, 22, -11, -11, 8, 23, -11, + 26, -11, 25, -11, -11, 27, -11, -11 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -11, -11, -11, 27, -11 + -11, -11, -11, 28, -11 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -604,10 +604,10 @@ static const yytype_int8 yypgoto[] = static const yytype_uint8 yytable[] = { 1, 2, 3, 4, 5, 6, 22, 23, 24, 17, - 7, 8, 9, 10, 11, 12, 5, 6, 28, 32, - 29, 33, 7, 8, 9, 10, 11, 12, 25, 18, - 19, 20, 21, 27, 30, 31, 34, 35, 36, 0, - 37, 26 + 7, 8, 9, 10, 11, 12, 4, 5, 6, 28, + 32, 29, 33, 7, 8, 9, 10, 11, 12, 25, + 18, 19, 20, 21, 27, 30, 31, 34, 35, 36, + 0, 37, 26 }; #define yypact_value_is_default(yystate) \ @@ -619,10 +619,10 @@ static const yytype_uint8 yytable[] = static const yytype_int8 yycheck[] = { 3, 4, 5, 6, 7, 8, 10, 11, 12, 19, - 13, 14, 15, 16, 17, 18, 7, 8, 12, 12, - 14, 14, 13, 14, 15, 16, 17, 18, 0, 19, - 19, 19, 18, 10, 18, 14, 14, 12, 14, -1, - 14, 14 + 13, 14, 15, 16, 17, 18, 6, 7, 8, 12, + 12, 14, 14, 13, 14, 15, 16, 17, 18, 0, + 19, 19, 19, 18, 10, 18, 14, 14, 12, 14, + -1, 14, 14 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1563,53 +1563,53 @@ yyreduce: case 14: /* Line 1802 of yacc.c */ #line 124 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" - { (yyval) = (yyvsp[(1) - (1)]); } + { + (yyval).type = COND_PARAM; + (yyval).str = (yyvsp[(2) - (2)]).str; + (yyval).len = (yyvsp[(2) - (2)]).len; + } break; case 15: /* Line 1802 of yacc.c */ -#line 125 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" +#line 129 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" { (yyval) = (yyvsp[(1) - (1)]); } break; case 16: /* Line 1802 of yacc.c */ -#line 126 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" +#line 130 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" { (yyval) = (yyvsp[(1) - (1)]); } break; case 17: /* Line 1802 of yacc.c */ -#line 127 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" +#line 131 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" { (yyval) = (yyvsp[(1) - (1)]); } break; case 18: /* Line 1802 of yacc.c */ -#line 128 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" +#line 132 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" { (yyval) = (yyvsp[(1) - (1)]); } break; case 19: /* Line 1802 of yacc.c */ -#line 129 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" +#line 133 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" { (yyval) = (yyvsp[(1) - (1)]); } break; case 20: /* Line 1802 of yacc.c */ -#line 130 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" +#line 134 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" { (yyval) = (yyvsp[(1) - (1)]); } break; case 21: /* Line 1802 of yacc.c */ -#line 134 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" - { - (yyval).type = COND_PARAM; - (yyval).str = (yyvsp[(2) - (2)]).str; - (yyval).len = (yyvsp[(2) - (2)]).len; - } +#line 135 "/var/root/php-src/sapi/phpdbg/phpdbg_parser.y" + { (yyval) = (yyvsp[(1) - (1)]); } break; case 22: diff --git a/sapi/phpdbg/phpdbg_parser.y b/sapi/phpdbg/phpdbg_parser.y index fd81edfc29..702bf78455 100644 --- a/sapi/phpdbg/phpdbg_parser.y +++ b/sapi/phpdbg/phpdbg_parser.y @@ -121,6 +121,11 @@ parameter $$.len = $1.len; $$.num = $3.num; } + | T_IF T_INPUT { + $$.type = COND_PARAM; + $$.str = $2.str; + $$.len = $2.len; + } | T_OPCODE { $$ = $1; } | T_ADDR { $$ = $1; } | T_LITERAL { $$ = $1; } @@ -131,12 +136,7 @@ parameter ; full_expression - : T_IF T_INPUT { - $$.type = COND_PARAM; - $$.str = $2.str; - $$.len = $2.len; - } - | T_EVAL T_INPUT { + : T_EVAL T_INPUT { $$.type = EVAL_PARAM; $$.str = $2.str; $$.len = $2.len; diff --git a/sapi/phpdbg/phpdbg_prompt.c b/sapi/phpdbg/phpdbg_prompt.c index 5379e77586..d91ef3f3f5 100644 --- a/sapi/phpdbg/phpdbg_prompt.c +++ b/sapi/phpdbg/phpdbg_prompt.c @@ -732,6 +732,11 @@ PHPDBG_COMMAND(print) /* {{{ */ #else phpdbg_writeln("Readline\tno"); #endif +#ifdef HAVE_LIBEDIT + phpdbg_writeln("Libedit\t\tyes"); +#else + phpdbg_writeln("Libedit\t\tno"); +#endif phpdbg_writeln("Exec\t\t%s", PHPDBG_G(exec) ? PHPDBG_G(exec) : "none"); phpdbg_writeln("Compiled\t%s", PHPDBG_G(ops) ? "yes" : "no"); diff --git a/sapi/phpdbg/phpdbg_utils.c b/sapi/phpdbg/phpdbg_utils.c index c9b22a2039..3ce2fade17 100644 --- a/sapi/phpdbg/phpdbg_utils.c +++ b/sapi/phpdbg/phpdbg_utils.c @@ -32,6 +32,9 @@ # include "win32/time.h" #elif defined(HAVE_SYS_IOCTL_H) # include "sys/ioctl.h" +# ifndef GWINSZ_IN_SYS_IOCTL +# include <termios.h> +# endif #endif ZEND_EXTERN_MODULE_GLOBALS(phpdbg); @@ -397,12 +400,16 @@ PHPDBG_API const char *phpdbg_get_prompt(TSRMLS_D) /* {{{ */ } /* create cached prompt */ +#ifndef HAVE_LIBEDIT + /* TODO: libedit doesn't seems to support coloured prompt */ if ((PHPDBG_G(flags) & PHPDBG_IS_COLOURED)) { asprintf( &PHPDBG_G(prompt)[1], "\033[%sm%s\033[0m ", PHPDBG_G(colors)[PHPDBG_COLOR_PROMPT]->code, PHPDBG_G(prompt)[0]); - } else { + } else +#endif + { asprintf( &PHPDBG_G(prompt)[1], "%s ", PHPDBG_G(prompt)[0]); @@ -437,12 +444,12 @@ PHPDBG_API int phpdbg_get_terminal_width(TSRMLS_D) /* {{{ */ GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi); columns = csbi.srWindow.Right - csbi.srWindow.Left + 1; -#elif defined(HAVE_SYS_IOCTL_H) +#elif defined(HAVE_SYS_IOCTL_H) && defined (TIOCGWINSZ) struct winsize w; - columns = ioctl(fileno(stdout), TIOCGWINSZ, &w) == 0 ? w.ws_col : 100; + columns = ioctl(fileno(stdout), TIOCGWINSZ, &w) == 0 ? w.ws_col : 80; #else - columns = 100; + columns = 80; #endif return columns; } /* }}} */ diff --git a/sapi/phpdbg/phpdbg_utils.h b/sapi/phpdbg/phpdbg_utils.h index 68ae7e44a3..56bacfc459 100644 --- a/sapi/phpdbg/phpdbg_utils.h +++ b/sapi/phpdbg/phpdbg_utils.h @@ -124,4 +124,24 @@ PHPDBG_API int phpdbg_get_terminal_width(TSRMLS_D); /* }}} */ int phpdbg_rebuild_symtable(TSRMLS_D); +#if PHP_VERSION_ID < 50500 +/* copy from zend_hash.c PHP 5.5 for 5.4 compatibility */ +static void zend_hash_get_current_key_zval_ex(const HashTable *ht, zval *key, HashPosition *pos) { + Bucket *p; + + p = pos ? (*pos) : ht->pInternalPointer; + + if (!p) { + Z_TYPE_P(key) = IS_NULL; + } else if (p->nKeyLength) { + Z_TYPE_P(key) = IS_STRING; + Z_STRVAL_P(key) = IS_INTERNED(p->arKey) ? (char*)p->arKey : estrndup(p->arKey, p->nKeyLength - 1); + Z_STRLEN_P(key) = p->nKeyLength - 1; + } else { + Z_TYPE_P(key) = IS_LONG; + Z_LVAL_P(key) = p->h; + } +} +#endif + #endif /* PHPDBG_UTILS_H */ diff --git a/sapi/phpdbg/tests/run-tests.php b/sapi/phpdbg/tests/run-tests.php index 47a998ccae..1cc31d815e 100644 --- a/sapi/phpdbg/tests/run-tests.php +++ b/sapi/phpdbg/tests/run-tests.php @@ -135,8 +135,8 @@ namespace phpdbg\testing { * @param array basic configuration * @param array command line */ - public function __construct(TestsConfiguration &$config) { - $this->config = &$config; + public function __construct(TestsConfiguration $config) { + $this->config = $config; if ($this->config->hasFlag('help') || $this->config->hasFlag('h')) { @@ -153,7 +153,7 @@ namespace phpdbg\testing { $paths = array(); $where = ($in != null) ? array($in) : $this->config['path']; - foreach ($where as &$path) { + foreach ($where as $path) { if ($path) { if (is_dir($path)) { $paths[] = $path; @@ -243,6 +243,7 @@ namespace phpdbg\testing { printf("\t--options\toptions to pass to phpdbg%s", PHP_EOL); printf("\t--phpdbg\tpath to phpdbg binary%s", PHP_EOL); printf('[flags]:%s', PHP_EOL); + printf("\t-diff2stdout\t\twrite diff to stdout instead of files%s", PHP_EOL); printf("\t-nodiff\t\tdo not write diffs on failure%s", PHP_EOL); printf("\t-nolog\t\tdo not write logs on failure%s", PHP_EOL); printf('[examples]:%s', PHP_EOL); @@ -266,9 +267,11 @@ namespace phpdbg\testing { $test = sprintf('%s/%s', $path, $file); if (preg_match('~\.test$~', $test)) { - yield new Test($this->config, $test); + $tests[] = new Test($this->config, $test); } } + + return $tests; } /** @@ -354,7 +357,7 @@ namespace phpdbg\testing { * @param array configuration * @param string file */ - public function __construct(TestsConfiguration &$config, &$file) { + public function __construct(TestsConfiguration $config, $file) { if (($handle = fopen($file, 'r'))) { while (($line = fgets($handle))) { $trim = trim($line); @@ -417,8 +420,8 @@ namespace phpdbg\testing { } fclose($handle); - $this->config = &$config; - $this->file = &$file; + $this->config = $config; + $this->file = $file; } } @@ -427,8 +430,7 @@ namespace phpdbg\testing { * */ public function getResult() { - $options = sprintf( - '-i%s -nqb', $this->file); + $options = sprintf('-i%s -nqb', $this->file); if ($this->options) { $options = sprintf( @@ -526,7 +528,7 @@ namespace phpdbg\testing { * Write log to disk if configuration allows it * */ - protected function writeLog(&$result = null) { + protected function writeLog($result = null) { $log = sprintf( '%s/%s.log', dirname($this->file), basename($this->file)); diff --git a/sapi/phpdbg/travis/ci.sh b/sapi/phpdbg/travis/ci.sh index d9f3ac6a02..206b158b9b 100755 --- a/sapi/phpdbg/travis/ci.sh +++ b/sapi/phpdbg/travis/ci.sh @@ -1,10 +1,11 @@ #!/usr/bin/env sh git clone https://github.com/php/php-src -cd php-src/sapi +cd php-src +git checkout $PHP +cd sapi rm -rf phpdbg git clone https://github.com/krakjoe/phpdbg.git cd ../ ./buildconf --force ./configure --disable-all --enable-phpdbg --enable-maintainer-zts make -make test-phpdbg diff --git a/tests/basic/025.phpt b/tests/basic/025.phpt index 58191bcd61..37561a2a2e 100644 --- a/tests/basic/025.phpt +++ b/tests/basic/025.phpt @@ -3,6 +3,7 @@ Test HTTP_RAW_POST_DATA with excessive post length --INI-- always_populate_raw_post_data=1 post_max_size=1K +expose_php=On --POST-- a=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --FILE-- diff --git a/tests/classes/bug63462.phpt b/tests/classes/bug63462.phpt index dc5edbd5e1..f425c1526b 100644 --- a/tests/classes/bug63462.phpt +++ b/tests/classes/bug63462.phpt @@ -2,8 +2,6 @@ Test script to verify that magic methods should be called only once when accessing an unset property. --CREDITS-- Marco Pivetta <ocramius@gmail.com> ---XFAIL-- -Bug 63462 is not yet fixed --FILE-- <?php class Test { @@ -20,7 +18,7 @@ class Test { } function __get($name) { - echo '__get ' . $name . "\n"; + echo '__get ' . $name; return $this->$name; } @@ -54,13 +52,13 @@ $test->privateProperty = 'value'; --EXPECTF-- __get nonExisting -Notice: Undefined index: nonExisting in %__set__get_006.php on line %d +Notice: Undefined property: Test::$nonExisting in %sbug63462.php on line %d __get publicProperty -Notice: Undefined index: publicProperty in %__set__get_006.php on line %d +Notice: Undefined property: Test::$publicProperty in %sbug63462.php on line %d __get protectedProperty -Notice: Undefined index: protectedProperty in %__set__get_006.php on line %d +Notice: Undefined property: Test::$protectedProperty in %sbug63462.php on line %d __get privateProperty -Notice: Undefined index: privateProperty in %__set__get_006.php on line %d +Notice: Undefined property: Test::$privateProperty in %sbug63462.php on line %d __isset nonExisting __isset publicProperty __isset protectedProperty diff --git a/tests/lang/constants/PHP_INT_32bit.phpt b/tests/lang/constants/PHP_INT_32bit.phpt new file mode 100644 index 0000000000..0c85d9719b --- /dev/null +++ b/tests/lang/constants/PHP_INT_32bit.phpt @@ -0,0 +1,17 @@ +--TEST-- +Test PHP_INT_MIN, PHP_INT_MAX and PHP_INT_SIZE (32-bit) +--SKIPIF-- +<?php if (PHP_INT_SIZE !== 4) + die("skip this test is for 32-bit platforms only"); ?> +--FILE-- +<?php + +var_dump(PHP_INT_MIN); +var_dump(PHP_INT_MAX); +var_dump(PHP_INT_SIZE); + +?> +--EXPECT-- +int(-2147483648) +int(2147483647) +int(4)
\ No newline at end of file diff --git a/tests/lang/constants/PHP_INT_64bit.phpt b/tests/lang/constants/PHP_INT_64bit.phpt new file mode 100644 index 0000000000..4b7da3a3e9 --- /dev/null +++ b/tests/lang/constants/PHP_INT_64bit.phpt @@ -0,0 +1,17 @@ +--TEST-- +Test PHP_INT_MIN, PHP_INT_MAX and PHP_INT_SIZE (64-bit) +--SKIPIF-- +<?php if (PHP_INT_SIZE !== 8) + die("skip this test is for 64-bit platforms only"); ?> +--FILE-- +<?php + +var_dump(PHP_INT_MIN); +var_dump(PHP_INT_MAX); +var_dump(PHP_INT_SIZE); + +?> +--EXPECT-- +int(-9223372036854775808) +int(9223372036854775807) +int(8)
\ No newline at end of file diff --git a/travis/compile.sh b/travis/compile.sh index 6ad3bfc396..52748c6db5 100755 --- a/travis/compile.sh +++ b/travis/compile.sh @@ -13,6 +13,7 @@ fi ./configure --quiet \ $DEBUG \ $TS \ +--enable-fpm \ --with-pdo-mysql=mysqlnd \ --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ @@ -48,5 +49,12 @@ $TS \ --with-openssl \ --with-gmp \ --enable-bcmath \ ---enable-phpdbg +--enable-phpdbg \ +--enable-calendar \ +--enable-ftp \ +--with-pspell=/usr \ +--with-recode=/usr \ +--with-enchant=/usr \ +--enable-wddx \ +--enable-sysvmsg make --quiet diff --git a/travis/de b/travis/de new file mode 100644 index 0000000000..ae49d969ee --- /dev/null +++ b/travis/de @@ -0,0 +1,2 @@ +de_DE.UTF-8 UTF-8 +de_DE ISO-8859-1 diff --git a/win32/build/Makefile b/win32/build/Makefile index 057b584549..7a3be93e87 100644 --- a/win32/build/Makefile +++ b/win32/build/Makefile @@ -183,7 +183,7 @@ msi-installer: dist # need to redirect, since INSTALL is a file in the root... install: really-install install-sdk -build-lib: +build-lib: build-ext-libs @if not exist $(BUILD_DIR_DEV)\lib mkdir $(BUILD_DIR_DEV)\lib >nul @copy $(BUILD_DIR)\$(PHPLIB) $(BUILD_DIR_DEV)\lib /y >nul diff --git a/win32/build/Makefile.phpize b/win32/build/Makefile.phpize index 17cfc90fbd..1f92f7716c 100644 --- a/win32/build/Makefile.phpize +++ b/win32/build/Makefile.phpize @@ -5,10 +5,8 @@ MT="$(MT)" PHPSDK_DIR=$(PHP_DIR)
PHPLIB=$(PHPSDK_DIR)\lib\$(PHPLIB)
-LDFLAGS=/libpath:"$(PHPSDK_DIR)\lib\;$(PHPSDK_DIR)"
-
-CFLAGS=/nologo /FD $(BASE_INCLUDES) /D _WINDOWS /D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D_USE_32BIT_TIME_T=1 /D ZEND_WIN32_FORCE_INLINE /GF /D ZEND_DEBUG=0 /D ZTS=1 /D FD_SETSIZE=256
-CFLAGS_PHP=/D _USRDLL /D PHP5DLLTS_EXPORTS /D PHP_EXPORTS /D TSRM_EXPORTS /D SAPI_EXPORTS /D WINVER=0x500 /D COMPILE_DL_AJAXMIN
+LDFLAGS=$(LDFLAGS) /libpath:"$(PHPSDK_DIR)\lib\;$(PHPSDK_DIR)"
+BUILD_DIR_DEV=$(PHPSDK_DIR)
all: $(EXT_TARGETS) $(PECL_TARGETS)
@@ -36,3 +34,5 @@ _VC_MANIFEST_EMBED_EXE= if exist $@.manifest $(MT) -nologo -manifest $@.manifest _VC_MANIFEST_EMBED_DLL= if exist $@.manifest $(MT) -nologo -manifest $@.manifest -outputresource:$@;2
!endif
+install: build-headers build-bins
+
diff --git a/win32/build/config.w32 b/win32/build/config.w32 index 3fe8469a90..564cea2dcc 100644 --- a/win32/build/config.w32 +++ b/win32/build/config.w32 @@ -474,5 +474,7 @@ if (PHP_ANALYZER == "vs") { pvscfg.WriteLine("preprocessor = visualcpp"); pvscfg.WriteLine("language = C"); } +} else { + PHP_ANALYZER = "no" } diff --git a/win32/build/config.w32.phpize.in b/win32/build/config.w32.phpize.in index 7b3b40633b..cfec2a28f1 100644 --- a/win32/build/config.w32.phpize.in +++ b/win32/build/config.w32.phpize.in @@ -105,6 +105,11 @@ if (PHP_DEBUG == "yes" && PHP_DEBUG_PACK == "yes") { ERROR("Use of both --enable-debug and --enable-debug-pack not allowed.");
}
+if (PHP_PREFIX == '') {
+ PHP_PREFIX = "C:\\php";
+ if (PHP_DEBUG == "yes")
+ PHP_PREFIX += "\\debug";
+}
DEFINE('PHP_PREFIX', PHP_PREFIX);
DEFINE("BASE_INCLUDES", "/I " + PHP_DIR + "/include /I " + PHP_DIR + "/include/main /I " + PHP_DIR + "/include/Zend /I " + PHP_DIR + "/include/TSRM /I " + PHP_DIR + "/include/ext ");
diff --git a/win32/build/confutils.js b/win32/build/confutils.js index 1dbc75b280..489adf34a8 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -1024,6 +1024,11 @@ function is_pgo_desired(mod) {
var varname = "PHP_" + mod.toUpperCase() + "_PGO";
+ /* XXX enable PGO in phpize mode */
+ if (MODE_PHPIZE) {
+ return false;
+ }
+
/* don't disable if there's no mention of the varname */
if (eval("typeof " + varname + " == 'undefined'")) {
return true;
@@ -1165,11 +1170,6 @@ function ADD_EXTENSION_DEP(extname, dependson, optional) var dep_present = false;
var dep_shared = false;
- if (MODE_PHPIZE) {
- ext_deps_js = file_get_contents(PHP_DIR + "\\script\\ext_deps.js");
- eval(ext_deps_js);
- }
-
try {
dep_present = eval("PHP_" + DEP);
@@ -1203,9 +1203,14 @@ function ADD_EXTENSION_DEP(extname, dependson, optional) ERROR("static " + extname + " cannot depend on shared " + dependson);
}
- ADD_FLAG("LDFLAGS_" + EXT, "/libpath:$(BUILD_DIR)");
ADD_FLAG("LIBS_" + EXT, "php_" + dependson + ".lib");
- ADD_FLAG("DEPS_" + EXT, "$(BUILD_DIR)\\php_" + dependson + ".lib");
+ if (MODE_PHPIZE) {
+ ADD_FLAG("LDFLAGS_" + EXT, "/libpath:$(BUILD_DIR_DEV)\\lib");
+ ADD_FLAG("DEPS_" + EXT, "$(BUILD_DIR_DEV)\\lib\\php_" + dependson + ".lib");
+ } else {
+ ADD_FLAG("LDFLAGS_" + EXT, "/libpath:$(BUILD_DIR)");
+ ADD_FLAG("DEPS_" + EXT, "$(BUILD_DIR)\\php_" + dependson + ".lib");
+ }
} else {
@@ -1356,6 +1361,9 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir) DEFINE('CFLAGS_' + EXT + '_OBJ', '$(CFLAGS_PHP) $(CFLAGS_' + EXT + ')');
}
+ if (MODE_PHPIZE && FSO.FileExists(PHP_DIR + "/include/main/config.pickle.h")) {
+ cflags = "/FI main/config.pickle.h " + cflags;
+ }
ADD_FLAG("CFLAGS_" + EXT, cflags);
if (PHP_DSP != "no") {
@@ -1520,7 +1528,7 @@ function output_as_table(header, ar_out) var min = new Array(l);
var max = new Array(l);
- if (l != ar_out[0].length) {
+ if (!!ar_out[0] && l != ar_out[0].length) {
STDOUT.WriteLine("Invalid header argument, can't output the table " + l + " " + ar_out[0].length );
return;
}
@@ -1672,6 +1680,9 @@ function generate_files() generate_internal_functions();
generate_config_h();
generate_phpize();
+ } else {
+ generate_config_pickle_h();
+ generate_ext_pickle();
}
STDOUT.WriteLine("Done.");
STDOUT.WriteBlankLines(1);
@@ -1684,6 +1695,140 @@ function generate_files() }
}
+function generate_ext_pickle()
+{
+ var content;
+ var DEPS = null;
+ var dest;
+ var deps_lines = new Array();
+
+ var build_var_name = function(name) {
+ return "PHP_" + name.toUpperCase();
+ }
+
+ STDOUT.WriteLine("Generating pickle deps");
+ dest = PHP_DIR + "/script/";
+
+ if (!FSO.FolderExists(dest)) {
+ FSO.CreateFolder(dest);
+ }
+
+ if (FSO.FileExists(dest + "/ext_pickle.js")) {
+ DEPS = FSO.OpenTextFile(dest + "/ext_pickle.js", 1);
+
+ while (!DEPS.AtEndOfStream) {
+ var ln = DEPS.ReadLine();
+ var found = false;
+
+ for (var i in extensions_enabled) {
+ var reg0 = new RegExp(build_var_name(extensions_enabled[i][0]) + "\s*=.+", "g");
+ var reg1 = new RegExp(build_var_name(extensions_enabled[i][0]) + "_SHARED" + "\s*=.+", "g");
+
+ if (ln.match(reg1) || ln.match(reg0)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ deps_lines.push(ln);
+ }
+ }
+ }
+
+ for (var i in extensions_enabled) {
+ deps_lines.push(build_var_name(extensions_enabled[i][0]) + "=true;");
+ deps_lines.push(build_var_name(extensions_enabled[i][0]) + "_SHARED=" + (extensions_enabled[i][1] == 'shared' ? 'true' : 'false') + ";");
+ }
+
+ if (!!DEPS) {
+ DEPS.Close();
+ DEPS = null;
+ }
+
+ /* Replace the ext_pickle.js with the new content */
+ DEPS = FSO.CreateTextFile(dest + "/ext_pickle.js", true);
+
+ for (var j in deps_lines) {
+ DEPS.WriteLine(deps_lines[j]);
+ }
+
+ DEPS.Close();
+}
+
+function generate_config_pickle_h()
+{
+ var outfile = null;
+ var lines = new Array();
+ var keys = (new VBArray(configure_hdr.Keys())).toArray();
+ dest = PHP_DIR + "/include/main";
+
+ var ignore_key = function(key) {
+ var ignores = [ "CONFIGURE_COMMAND", "PHP_COMPILER_ID", "COMPILER", "ARCHITECTURE", "HAVE_STRNLEN", "PHP_DIR" ];
+
+ for (var k in ignores) {
+ if (ignores[k] == key) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+
+ STDOUT.WriteLine("Generating main/config.pickle.h");
+
+ if (FSO.FileExists(dest + "/config.pickle.h")) {
+ outfile = FSO.OpenTextFile(dest + "/config.pickle.h", 1);
+
+ while (!outfile.AtEndOfStream) {
+ var found = false;
+ var ln = outfile.ReadLine();
+
+ for (var i in keys) {
+ var reg = new RegExp("#define[\s ]+" + keys[i] + "[\s ]*.*", "g");
+
+ if (ln.match(reg)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ lines.push(ln);
+ }
+ }
+ }
+
+ for (var i in keys) {
+ var item = configure_hdr.Item(keys[i]);
+
+ if (ignore_key(keys[i])) {
+ continue;
+ }
+
+ /* XXX fix comment handling */
+ /*if (!lines[j].match(/^#define.+/g)) {
+ continue;
+ }*/
+
+ lines.push("#define " + keys[i] + " " + item[0]);
+ }
+
+ if (outfile) {
+ outfile.Close();
+ outfile = null;
+ }
+
+ outfile = FSO.CreateTextFile(dest + "/config.pickle.h", true);
+
+ for (var k in lines) {
+ outfile.WriteLine(lines[k]);
+ }
+
+ outfile.Close();
+}
+
function generate_config_h()
{
var infile, outfile;
@@ -1757,6 +1902,7 @@ function generate_phpize() var MF = FSO.CreateTextFile(dest + "/phpize.js", true);
var DEPS = FSO.CreateTextFile(dest + "/ext_deps.js", true);
+
prefix = get_define("PHP_PREFIX");
prefix = prefix.replace(new RegExp("/", "g"), "\\");
prefix = prefix.replace(new RegExp("\\\\", "g"), "\\\\");
@@ -1836,13 +1982,38 @@ function generate_makefile() }
}
MF.WriteLine(" @for %D in ($(INSTALL_HEADERS_DIR)) do @copy %D*.h $(BUILD_DIR_DEV)\\include\\%D /y >nul");
+ if (MODE_PHPIZE) {
+ MF.WriteBlankLines(1);
+ MF.WriteLine("build-bins:");
+ for (var i in extensions_enabled) {
+ var lib = "php_" + extensions_enabled[i][0] + ".lib";
+ var dll = "php_" + extensions_enabled[i][0] + ".dll";
+ MF.WriteLine(" @copy $(BUILD_DIR)\\" + lib + " $(BUILD_DIR_DEV)\\lib");
+ MF.WriteLine(" @copy $(BUILD_DIR)\\" + dll + " $(PHP_PREFIX)");
+ }
+ } else {
+ MF.WriteBlankLines(1);
+ MF.WriteLine("build-ext-libs:");
+ MF.WriteLine(" @if not exist $(BUILD_DIR_DEV)\\lib mkdir $(BUILD_DIR_DEV)\\lib >nul");
+ for (var i in extensions_enabled) {
+ var lib;
+
+ lib = "php_" + extensions_enabled[i][0] + "*.lib";
+
+ if ('shared' == extensions_enabled[i][1]) {
+ MF.WriteLine(" @if exist $(BUILD_DIR)\\" + lib + " copy $(BUILD_DIR)\\" + lib + " $(BUILD_DIR_DEV)\\lib");
+ }
+ }
+ }
TF.Close();
MF.WriteBlankLines(2);
MFO.Close();
TF = FSO.OpenTextFile("Makefile.objects", 1);
- MF.Write(TF.ReadAll());
+ if (!TF.AtEndOfStream) {
+ MF.Write(TF.ReadAll());
+ }
TF.Close();
MF.Close();
diff --git a/win32/build/libs_version.txt b/win32/build/libs_version.txt index a22823d0a9..0ea0067a62 100644 --- a/win32/build/libs_version.txt +++ b/win32/build/libs_version.txt @@ -13,4 +13,4 @@ libssh2-1.4.3 libtidy-20090406 libxslt-1.1.27 libxml-2.9.1 -openssl-1.0.1g +openssl-1.0.1h diff --git a/win32/build/mkdist.php b/win32/build/mkdist.php index 23d26c9c53..640e9b3bd7 100644 --- a/win32/build/mkdist.php +++ b/win32/build/mkdist.php @@ -246,7 +246,8 @@ foreach ($text_files as $src => $dest) { /* general other files */ $general_files = array( - "php.gif" => "php.gif", + "php.gif" => "php.gif", + "$GLOBALS[build_dir]\\deplister.exe" => "deplister.exe", ); foreach ($general_files as $src => $dest) { diff --git a/win32/build/phpize.js.in b/win32/build/phpize.js.in index 4813ec0b5d..c99dece618 100644 --- a/win32/build/phpize.js.in +++ b/win32/build/phpize.js.in @@ -40,9 +40,13 @@ function ERROR(msg) function file_get_contents(filename)
{
+ var t = "";
var F = FSO.OpenTextFile(filename, 1);
- var t = F.ReadAll();
- F.Close();
+
+ if (!F.AtEndOfStream) {
+ t = F.ReadAll();
+ F.Close();
+ }
return t;
}
@@ -208,6 +212,12 @@ STDOUT.WriteLine(PHP_DIR); C.WriteLine("/* This file automatically generated from script/confutils.js */");
C.WriteLine("var MODE_PHPIZE = true;");
C.WriteLine("var PHP_DIR = " + '"' + PHP_DIR.replace(new RegExp('(["\\\\])', "g"), '\\$1') + '"');
+C.WriteLine("var PHP_PREFIX = " + '"' + PHP_PREFIX.replace(new RegExp('(["\\\\])', "g"), '\\$1') + '"');
+
+C.Write(file_get_contents(PHP_DIR + "//script//ext_deps.js"));
+if (FSO.FileExists(PHP_DIR + "/script/ext_pickle.js")) {
+ C.Write(file_get_contents(PHP_DIR + "//script//ext_pickle.js"));
+}
C.Write(file_get_contents(PHP_DIR + "/script/confutils.js"));
C.Write(file_get_contents(PHP_DIR + "/script/config.phpize.js"));
diff --git a/win32/build/template.rc b/win32/build/template.rc index 13e92e9a3b..f36f2c041c 100644 --- a/win32/build/template.rc +++ b/win32/build/template.rc @@ -65,7 +65,7 @@ BEGIN #endif VALUE "FileVersion", EXT_VERSION VALUE "InternalName", INTERNAL_NAME - VALUE "LegalCopyright", "Copyright © 1997-2013 The PHP Group" + VALUE "LegalCopyright", "Copyright © 1997-2014 The PHP Group" VALUE "LegalTrademarks", "PHP" VALUE "OriginalFilename", FILE_NAME VALUE "ProductName", "PHP" |