summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS5
-rw-r--r--README.GIT-RULES6
-rw-r--r--README.SUBMITTING_PATCH35
-rw-r--r--UPGRADING4
-rw-r--r--Zend/tests/constant_expressions_arrays.phpt35
-rw-r--r--Zend/tests/constant_expressions_self_referencing_array.phpt2
-rw-r--r--Zend/tests/errmsg_040.phpt12
-rw-r--r--Zend/tests/gc_029.phpt4
-rw-r--r--Zend/tests/ns_059.phpt5
-rw-r--r--Zend/zend.c63
-rw-r--r--Zend/zend.h2
-rw-r--r--Zend/zend_API.c4
-rw-r--r--Zend/zend_API.h261
-rw-r--r--Zend/zend_ast.c29
-rw-r--r--Zend/zend_compile.c39
-rw-r--r--Zend/zend_compile.h11
-rw-r--r--Zend/zend_constants.c6
-rw-r--r--Zend/zend_execute.c88
-rw-r--r--Zend/zend_execute.h5
-rw-r--r--Zend/zend_execute_API.c1
-rw-r--r--Zend/zend_gc.c129
-rw-r--r--Zend/zend_gc.h5
-rw-r--r--Zend/zend_hash.c5
-rw-r--r--Zend/zend_hash.h11
-rw-r--r--Zend/zend_ini.c4
-rw-r--r--Zend/zend_multibyte.c4
-rw-r--r--Zend/zend_object_handlers.c23
-rw-r--r--Zend/zend_operators.c24
-rw-r--r--Zend/zend_ts_hash.c33
-rw-r--r--Zend/zend_ts_hash.h35
-rw-r--r--Zend/zend_vm_def.h22
-rw-r--r--Zend/zend_vm_execute.h174
-rw-r--r--ext/com_dotnet/com_com.c102
-rw-r--r--ext/com_dotnet/com_dotnet.c37
-rw-r--r--ext/com_dotnet/com_handlers.c147
-rw-r--r--ext/com_dotnet/com_iterator.c56
-rw-r--r--ext/com_dotnet/com_misc.c13
-rw-r--r--ext/com_dotnet/com_persist.c60
-rw-r--r--ext/com_dotnet/com_saproxy.c205
-rw-r--r--ext/com_dotnet/com_typeinfo.c40
-rw-r--r--ext/com_dotnet/com_variant.c31
-rw-r--r--ext/com_dotnet/com_wrapper.c165
-rw-r--r--ext/com_dotnet/php_com_dotnet_internal.h24
-rw-r--r--ext/date/lib/parse_date.c23022
-rw-r--r--ext/date/lib/parse_date.re4
-rw-r--r--ext/date/lib/timezonedb.h2704
-rw-r--r--ext/date/php_date.c59
-rw-r--r--ext/date/tests/bug20382-2.phpt12
-rw-r--r--ext/date/tests/bug33415-2.phpt4
-rw-r--r--ext/date/tests/bug33532.phpt4
-rw-r--r--ext/fileinfo/data_file.c2
-rw-r--r--ext/fileinfo/libmagic/cdf.c2
-rw-r--r--ext/fileinfo/libmagic/softmagic.c29
-rw-r--r--ext/fileinfo/magicdata.patch56
-rw-r--r--ext/fileinfo/tests/cve-2014-3538.phpt35
-rw-r--r--ext/ftp/ftp.c2
-rw-r--r--ext/gd/libgd/gdxpm.c7
-rw-r--r--ext/hash/hash_md.c8
-rw-r--r--ext/hash/hash_sha.c8
-rw-r--r--ext/imap/php_imap.c138
-rw-r--r--ext/interbase/ibase_blobs.c41
-rw-r--r--ext/interbase/ibase_events.c90
-rw-r--r--ext/interbase/ibase_query.c178
-rw-r--r--ext/interbase/ibase_service.c44
-rw-r--r--ext/interbase/interbase.c176
-rw-r--r--ext/interbase/php_ibase_includes.h12
-rw-r--r--ext/interbase/php_ibase_udf.c50
-rw-r--r--ext/interbase/tests/ibase_close_001.phpt2
-rw-r--r--ext/interbase/tests/ibase_free_query_001.phpt2
-rw-r--r--ext/intl/collator/collator_convert.c10
-rw-r--r--ext/intl/collator/collator_sort.c2
-rw-r--r--ext/intl/transliterator/transliterator_methods.c2
-rw-r--r--ext/mysql/php_mysql.c17
-rw-r--r--ext/mysqli/mysqli_api.c10
-rw-r--r--ext/mysqli/mysqli_prop.c9
-rw-r--r--ext/mysqli/tests/066.phpt3
-rw-r--r--ext/mysqli/tests/mysqli_stmt_multires.phpt120
-rw-r--r--ext/mysqlnd/mysqlnd.c7
-rw-r--r--ext/mysqlnd/mysqlnd.h2
-rw-r--r--ext/mysqlnd/mysqlnd_net.c6
-rw-r--r--ext/mysqlnd/mysqlnd_ps.c54
-rw-r--r--ext/mysqlnd/mysqlnd_structs.h5
-rw-r--r--ext/mysqlnd/mysqlnd_wireprotocol.c2
-rw-r--r--ext/odbc/php_odbc.c413
-rw-r--r--ext/odbc/php_odbc_includes.h7
-rw-r--r--ext/odbc/tests/bug60616.phpt69
-rw-r--r--ext/odbc/tests/odbc_columns_001.phpt6
-rw-r--r--ext/odbc/tests/odbc_free_result_001.phpt6
-rw-r--r--ext/opcache/Optimizer/compact_literals.c4
-rw-r--r--ext/opcache/Optimizer/zend_optimizer.c3
-rw-r--r--ext/opcache/ZendAccelerator.c11
-rw-r--r--ext/opcache/zend_accelerator_util_funcs.c5
-rw-r--r--ext/opcache/zend_persist.c35
-rw-r--r--ext/opcache/zend_persist_calc.c4
-rwxr-xr-xext/openssl/openssl.c286
-rw-r--r--ext/openssl/tests/026.phpt12
-rw-r--r--ext/openssl/xp_ssl.c158
-rw-r--r--ext/pdo/tests/bug65946.phpt7
-rw-r--r--ext/pdo/tests/bug_38253.phpt6
-rw-r--r--ext/pdo_firebird/firebird_statement.c17
-rw-r--r--ext/pdo_mysql/mysql_driver.c9
-rw-r--r--ext/pdo_odbc/odbc_driver.c10
-rw-r--r--ext/pdo_odbc/odbc_stmt.c114
-rwxr-xr-x[-rw-r--r--]ext/phar/phar_object.c51
-rw-r--r--ext/phar/util.c5
-rw-r--r--ext/readline/readline_cli.c17
-rw-r--r--ext/reflection/php_reflection.c46
-rw-r--r--ext/reflection/tests/ReflectionClass_newInstanceWithoutConstructor.phpt7
-rw-r--r--ext/reflection/tests/bug64007.phpt2
-rw-r--r--ext/session/session.c7
-rw-r--r--ext/soap/php_http.c3
-rw-r--r--ext/soap/soap.c13
-rw-r--r--ext/sockets/conversions.c2
-rw-r--r--ext/spl/php_spl.c23
-rw-r--r--ext/spl/spl_directory.c95
-rw-r--r--ext/spl/spl_iterators.c123
-rw-r--r--ext/spl/tests/bug54281.phpt6
-rw-r--r--ext/spl/tests/spl_caching_iterator_constructor_flags.phpt2
-rw-r--r--ext/sqlite3/sqlite3.c41
-rw-r--r--ext/standard/array.c53
-rw-r--r--ext/standard/basic_functions.c8
-rw-r--r--ext/standard/config.m42
-rw-r--r--ext/standard/dl.c2
-rw-r--r--ext/standard/fsock.c12
-rw-r--r--ext/standard/http_fopen_wrapper.c9
-rw-r--r--ext/standard/info.c9
-rw-r--r--ext/standard/math.c47
-rw-r--r--ext/standard/php_math.h1
-rw-r--r--ext/standard/scanf.c2
-rw-r--r--ext/standard/streamsfuncs.c66
-rw-r--r--ext/standard/string.c56
-rw-r--r--ext/standard/tests/array/bug67064.phpt17
-rw-r--r--ext/standard/tests/array/bug67693.phpt25
-rw-r--r--ext/standard/tests/math/intdiv.phpt25
-rw-r--r--ext/standard/tests/math/intdiv_64bit.phpt15
-rw-r--r--ext/standard/type.c3
-rw-r--r--ext/standard/user_filters.c1
-rw-r--r--ext/standard/var_unserializer.c77
-rw-r--r--ext/standard/var_unserializer.re31
-rw-r--r--ext/sybase_ct/php_sybase_ct.c2
-rw-r--r--ext/xml/xml.c34
-rw-r--r--ext/zlib/tests/bug67724.gz.gzbin0 -> 171 bytes
-rw-r--r--ext/zlib/tests/bug67724.phpt26
-rw-r--r--ext/zlib/zlib_filter.c3
-rw-r--r--main/fopen_wrappers.c29
-rw-r--r--main/main.c22
-rw-r--r--main/network.c132
-rw-r--r--main/output.c49
-rw-r--r--main/php_network.h26
-rw-r--r--main/php_output.h3
-rw-r--r--main/php_streams.h16
-rw-r--r--main/snprintf.c10
-rw-r--r--main/spprintf.c6
-rw-r--r--main/streams/filter.c1
-rw-r--r--main/streams/php_stream_transport.h22
-rw-r--r--main/streams/streams.c21
-rw-r--r--main/streams/transports.c29
-rw-r--r--main/streams/userspace.c6
-rw-r--r--main/streams/xp_socket.c68
-rw-r--r--sapi/cgi/cgi_main.c1
-rw-r--r--sapi/cli/php_cli_server.c37
-rw-r--r--sapi/fpm/fpm/fpm_main.c28
-rw-r--r--sapi/milter/Makefile.frag4
-rw-r--r--sapi/milter/config.m44
-rw-r--r--sapi/milter/php_milter.c8
-rw-r--r--tests/classes/constants_error_002.phpt4
-rw-r--r--tests/lang/constants/PHP_INT_32bit.phpt17
-rw-r--r--tests/lang/constants/PHP_INT_64bit.phpt17
-rw-r--r--win32/php_stdint.h4
-rw-r--r--win32/sendmail.c3
170 files changed, 16461 insertions, 15163 deletions
diff --git a/NEWS b/NEWS
index 1badfb8579..a5912f397d 100644
--- a/NEWS
+++ b/NEWS
@@ -7,12 +7,17 @@ PHP NEWS
(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)
+ . Added intdiv() function. (Andrea)
+ . Improved precision of log() function for base 2 and 10. (Marc Bennewitz)
- XSL:
. Fixed bug #64776 (The XSLT extension is not thread safe). (Mike)
diff --git a/README.GIT-RULES b/README.GIT-RULES
index 3df9d17bcd..d966093f25 100644
--- a/README.GIT-RULES
+++ b/README.GIT-RULES
@@ -51,9 +51,7 @@ Currently we have the following branches in use::
PHP-5.4 Is used to release the PHP 5.4.x series. This is a current
stable version and is open for bugfixes only.
- PHP-5.3 Is used to release the PHP 5.3.x series. This is currently
- in extended support and open forsecurity fixes only. Triaged
- via security@php.net
+ PHP-5.3 This branch is closed.
PHP-5.2 This branch is closed.
@@ -63,7 +61,7 @@ Currently we have the following branches in use::
The next few rules are more of a technical nature::
- 1. All changes should first go to the lowest branch (i.e. 5.3) and then
+ 1. All changes should first go to the lowest branch (i.e. 5.4) and then
get merged up to all other branches. If a change is not needed for
later branches (i.e. fixes for features which where dropped from later
branches) an empty merge should be done.
diff --git a/README.SUBMITTING_PATCH b/README.SUBMITTING_PATCH
index 50a1664a71..bdd46a22f8 100644
--- a/README.SUBMITTING_PATCH
+++ b/README.SUBMITTING_PATCH
@@ -17,7 +17,7 @@ Online Forums
-------------
There are several IRC channels where PHP developers are often
available to discuss questions. They include #php.pecl and #php.doc
-on the EFNet network and #php-dev-win on FreeNode.
+on the EFNet network and #winphp-dev on FreeNode.
PHP Patches
@@ -33,27 +33,17 @@ and discuss it on the development mail list internals@lists.php.net.
RFC Wiki accounts can be requested on
http://wiki.php.net/start?do=register. PHP extension maintainers can
be found in the EXTENSIONS file in the PHP source. Mail list
-subscription is explained on http://www.php.net/mailing-lists.php.
+subscription is explained on http://php.net/mailing-lists.php.
Information on PHP internal C functions is at
-http://www.php.net/internals, though this is considered incomplete.
-Various external resources can be found on the web. A standard
+http://php.net/internals, though this is considered incomplete.
+Various external resources can be found on the web. See
+https://wiki.php.net/internals for some references. A standard
printed reference is the book "Extending and Embedding PHP" by Sara
Golemon.
-Attach the patch to the PHP bug and consider sending a notification
-email about the change to internals@lists.php.net. Also CC the
-extension maintainer. Explain what has been changed by your patch.
-Test scripts should be included.
-
-Please make the mail subject prefix "[PATCH]". If attaching a patch,
-ensure it has a file extension of ".txt". This is because only MIME
-attachments of type 'text/*' are accepted.
-
The preferred way to propose PHP patch is sending pull request from
-github.
-
-https://github.com/php/php-src
+GitHub: https://github.com/php/php-src
Fork the official PHP repository and send a pull request. A
notification will be sent to the pull request mailing list. Sending a
@@ -61,6 +51,17 @@ note to PHP Internals list (internals@lists.php.net) may help getting
more feedback and quicker turnaround. You can also add pull requests
to bug reports at http://bugs.php.net/.
+If you are not using GitHub, attach your patch to a PHP bug and
+consider sending a notification email about the change to
+internals@lists.php.net. If the bug is for an extension, also CC the
+extension maintainer. Explain what has been changed by your patch.
+Test scripts should be included.
+
+Please make the mail subject prefix "[PATCH]". If attaching a patch,
+ensure it has a file extension of ".txt". This is because only MIME
+attachments of type 'text/*' are accepted.
+
+
PHP Documentation Patches
-------------------------
@@ -71,7 +72,7 @@ the PHP mail archives.
If your change is large, then first discuss it with the mail list
phpdoc@lists.php.net. Subscription is explained on
-http://www.php.net/mailing-lists.php.
+http://php.net/mailing-lists.php.
Information on contributing to PHP documentation is at
http://php.net/dochowto and http://wiki.php.net/doc/howto
diff --git a/UPGRADING b/UPGRADING
index 740047a86a..df68cb1b4b 100644
--- a/UPGRADING
+++ b/UPGRADING
@@ -28,6 +28,8 @@ PHP X.Y UPGRADE NOTES
2. New Features
========================================
+- Standard
+ . intdiv() function for integer division added.
========================================
3. Changes in SAPI modules
@@ -68,6 +70,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/constant_expressions_arrays.phpt b/Zend/tests/constant_expressions_arrays.phpt
index 061fcc6a92..2ab03453de 100644
--- a/Zend/tests/constant_expressions_arrays.phpt
+++ b/Zend/tests/constant_expressions_arrays.phpt
@@ -22,7 +22,7 @@ class foo {
var_dump(foo::bar);
-var_dump(a); // Eventually allow that later with array dereferencing of constants
+var_dump(a, a[0], a[2], a[2][1], a[3]);
?>
--EXPECTF--
@@ -32,4 +32,35 @@ int(1)
int(4)
int(1)
-Fatal error: Arrays are not allowed in constants at run-time in %s on line %d
+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
index 09f862e048..ae76a08602 100644
--- a/Zend/tests/constant_expressions_self_referencing_array.phpt
+++ b/Zend/tests/constant_expressions_self_referencing_array.phpt
@@ -1,7 +1,5 @@
--TEST--
Self-referencing constant expression (part of a constant AST)
---XFAIL--
-Not yet fixed, to be fixed for PHP 5.6
--FILE--
<?php
class A {
diff --git a/Zend/tests/errmsg_040.phpt b/Zend/tests/errmsg_040.phpt
index f3d0afcf0a..d5d2bf38d3 100644
--- a/Zend/tests/errmsg_040.phpt
+++ b/Zend/tests/errmsg_040.phpt
@@ -6,8 +6,16 @@ errmsg: arrays are not allowed in class constants
class test {
const TEST = array(1,2,3);
}
-
+var_dump(test::TEST);
echo "Done\n";
?>
--EXPECTF--
-Fatal error: Arrays are not allowed in class constants in %s on line %d
+array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+}
+Done
diff --git a/Zend/tests/gc_029.phpt b/Zend/tests/gc_029.phpt
index 18fef3c7d7..3873d8becd 100644
--- a/Zend/tests/gc_029.phpt
+++ b/Zend/tests/gc_029.phpt
@@ -33,5 +33,5 @@ unset($foo);
unset($bar);
var_dump(gc_collect_cycles());
?>
---EXPECT--
-int(3)
+--EXPECTREGEX--
+int\([23]\)
diff --git a/Zend/tests/ns_059.phpt b/Zend/tests/ns_059.phpt
index ea66037b43..301a6fc830 100644
--- a/Zend/tests/ns_059.phpt
+++ b/Zend/tests/ns_059.phpt
@@ -3,6 +3,7 @@
--FILE--
<?php
const C = array();
+var_dump(C);
--EXPECTF--
-Fatal error: Arrays are not allowed as constants in %sns_059.php on line 2
-
+array(0) {
+}
diff --git a/Zend/zend.c b/Zend/zend.c
index 5ab8ee3eb4..8bcdbd82c2 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -212,7 +212,7 @@ static void print_flat_hash(HashTable *ht TSRMLS_DC) /* {{{ */
}
/* }}} */
-ZEND_API int zend_make_printable_zval(zval *expr, zval *expr_copy) /* {{{ */
+ZEND_API int zend_make_printable_zval(zval *expr, zval *expr_copy TSRMLS_DC) /* {{{ */
{
if (Z_TYPE_P(expr) == IS_STRING) {
return 0;
@@ -221,15 +221,16 @@ ZEND_API int zend_make_printable_zval(zval *expr, zval *expr_copy) /* {{{ */
again:
switch (Z_TYPE_P(expr)) {
case IS_NULL:
- case IS_FALSE: {
- TSRMLS_FETCH();
+ case IS_FALSE:
ZVAL_EMPTY_STRING(expr_copy);
- break;
- }
+ break;
case IS_TRUE:
- // TODO: use interned string ???
- ZVAL_NEW_STR(expr_copy, STR_INIT("1", 1, 0));
- break;
+ if (CG(one_char_string)['1']) {
+ ZVAL_INT_STR(expr_copy, CG(one_char_string)['1']);
+ } else {
+ ZVAL_NEW_STR(expr_copy, STR_INIT("1", 1, 0));
+ }
+ break;
case IS_RESOURCE: {
char buf[sizeof("Resource id #") + MAX_LENGTH_OF_LONG];
int len;
@@ -244,35 +245,31 @@ again:
ZVAL_NEW_STR(expr_copy, STR_INIT("Array", sizeof("Array") - 1, 0));
break;
case IS_OBJECT:
- {
- TSRMLS_FETCH();
-
- if (Z_OBJ_HANDLER_P(expr, cast_object)) {
- Z_ADDREF_P(expr);
- if (Z_OBJ_HANDLER_P(expr, cast_object)(expr, expr_copy, IS_STRING TSRMLS_CC) == SUCCESS) {
- zval_ptr_dtor(expr);
- break;
- }
+ if (Z_OBJ_HANDLER_P(expr, cast_object)) {
+ Z_ADDREF_P(expr);
+ if (Z_OBJ_HANDLER_P(expr, cast_object)(expr, expr_copy, IS_STRING TSRMLS_CC) == SUCCESS) {
zval_ptr_dtor(expr);
+ break;
}
- if (!Z_OBJ_HANDLER_P(expr, cast_object) && Z_OBJ_HANDLER_P(expr, get)) {
- zval rv;
- zval *z = Z_OBJ_HANDLER_P(expr, get)(expr, &rv TSRMLS_CC);
-
- Z_ADDREF_P(z);
- if (Z_TYPE_P(z) != IS_OBJECT) {
- if (zend_make_printable_zval(z, expr_copy)) {
- zval_ptr_dtor(z);
- } else {
- ZVAL_ZVAL(expr_copy, z, 0, 1);
- }
- return 1;
+ zval_ptr_dtor(expr);
+ }
+ if (!Z_OBJ_HANDLER_P(expr, cast_object) && Z_OBJ_HANDLER_P(expr, get)) {
+ zval rv;
+ zval *z = Z_OBJ_HANDLER_P(expr, get)(expr, &rv TSRMLS_CC);
+
+ Z_ADDREF_P(z);
+ if (Z_TYPE_P(z) != IS_OBJECT) {
+ if (zend_make_printable_zval(z, expr_copy TSRMLS_CC)) {
+ zval_ptr_dtor(z);
+ } else {
+ ZVAL_ZVAL(expr_copy, z, 0, 1);
}
- zval_ptr_dtor(z);
+ return 1;
}
- zend_error(EG(exception) ? E_ERROR : E_RECOVERABLE_ERROR, "Object of class %s could not be converted to string", Z_OBJCE_P(expr)->name->val);
- ZVAL_EMPTY_STRING(expr_copy);
+ zval_ptr_dtor(z);
}
+ zend_error(EG(exception) ? E_ERROR : E_RECOVERABLE_ERROR, "Object of class %s could not be converted to string", Z_OBJCE_P(expr)->name->val);
+ ZVAL_EMPTY_STRING(expr_copy);
break;
case IS_DOUBLE:
ZVAL_DUP(expr_copy, expr);
@@ -540,7 +537,7 @@ static void compiler_globals_dtor(zend_compiler_globals *compiler_globals TSRMLS
free(compiler_globals->static_members_table);
}
if (compiler_globals->script_encoding_list) {
- pefree(compiler_globals->script_encoding_list, 1);
+ pefree((char*)compiler_globals->script_encoding_list, 1);
}
compiler_globals->last_static_member = 0;
}
diff --git a/Zend/zend.h b/Zend/zend.h
index 5548c7be1b..0520d4dda1 100644
--- a/Zend/zend.h
+++ b/Zend/zend.h
@@ -609,7 +609,7 @@ END_EXTERN_C()
BEGIN_EXTERN_C()
ZEND_API char *get_zend_version(void);
-ZEND_API int zend_make_printable_zval(zval *expr, zval *expr_copy);
+ZEND_API int zend_make_printable_zval(zval *expr, zval *expr_copy TSRMLS_DC);
ZEND_API int zend_print_zval(zval *expr, int indent TSRMLS_DC);
ZEND_API int zend_print_zval_ex(zend_write_func_t write_func, zval *expr, int indent TSRMLS_DC);
ZEND_API void zend_print_zval_r(zval *expr, int indent TSRMLS_DC);
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 5baa26ea54..9881740c06 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -249,7 +249,7 @@ static int parse_arg_object_to_string(zval *arg, char **p, int *pl, int type TSR
if(Z_TYPE_P(z) != IS_OBJECT) {
zval_dtor(arg);
ZVAL_NULL(arg);
- if (!zend_make_printable_zval(z, arg)) {
+ if (!zend_make_printable_zval(z, arg TSRMLS_CC)) {
ZVAL_ZVAL(arg, z, 1, 1);
}
*pl = Z_STRLEN_P(arg);
@@ -288,7 +288,7 @@ ZEND_API int parse_arg_object_to_str(zval *arg, zend_string **str, int type TSRM
if(Z_TYPE_P(z) != IS_OBJECT) {
zval_dtor(arg);
ZVAL_NULL(arg);
- if (!zend_make_printable_zval(z, arg)) {
+ if (!zend_make_printable_zval(z, arg TSRMLS_CC)) {
ZVAL_ZVAL(arg, z, 1, 1);
}
*str = Z_STR_P(arg);
diff --git a/Zend/zend_API.h b/Zend/zend_API.h
index 3a242c249e..b40afc162f 100644
--- a/Zend/zend_API.h
+++ b/Zend/zend_API.h
@@ -248,7 +248,7 @@ ZEND_API int zend_copy_parameters_array(int param_count, zval *argument_array TS
/* Parameter parsing API -- andrei */
-#define ZEND_PARSE_PARAMS_QUIET 1<<1
+#define ZEND_PARSE_PARAMS_QUIET (1<<1)
ZEND_API int zend_parse_parameters(int num_args TSRMLS_DC, const char *type_spec, ...);
ZEND_API int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, const char *type_spec, ...);
ZEND_API char *zend_zval_type_name(const zval *arg);
@@ -646,6 +646,7 @@ END_EXTERN_C()
} \
} while (0)
#else // attempt to support calls to parent::__construct() ???
+ // see: ext/date/tests/bug67118.phpt
#define ZEND_CTOR_MAKE_NULL() do { \
if (EG(current_execute_data)->return_value) { \
zval_ptr_dtor(EG(current_execute_data)->return_value); \
@@ -716,53 +717,61 @@ ZEND_API void zend_wrong_paramer_class_error(int num, char *name, zval *arg TSRM
ZEND_API void zend_wrong_callback_error(int severity, int num, char *error TSRMLS_DC);
ZEND_API int _z_param_class(zval *arg, zend_class_entry **pce, int num, int check_null TSRMLS_DC);
+#define ZPP_ERROR_OK 0
+#define ZPP_ERROR_FAILURE 1
+#define ZPP_ERROR_WRONG_CALLBACK 2
+#define ZPP_ERROR_WRONG_CLASS 3
+#define ZPP_ERROR_WRONG_ARG 4
+#define ZPP_ERROR_WRONG_COUNT 5
+
#define ZEND_PARSE_PARAMETERS_START_EX(flags, min_num_args, max_num_args) do { \
const int _flags = (flags); \
int _min_num_args = (min_num_args); \
int _max_num_args = (max_num_args); \
int _num_args = EG(current_execute_data)->num_args; \
int _i; \
- zval *_real_arg, *_arg; \
- zend_expected_type _expected_type; \
- char *_error; \
+ zval *_real_arg, *_arg = NULL; \
+ zend_expected_type _expected_type = IS_UNDEF; \
+ char *_error = NULL; \
zend_bool _dummy; \
+ zend_bool _optional = 0; \
+ int error_code = ZPP_ERROR_OK; \
((void)_i); \
((void)_real_arg); \
((void)_arg); \
((void)_expected_type); \
((void)_error); \
((void)_dummy); \
- if (UNEXPECTED(_num_args < _min_num_args) || \
- (UNEXPECTED(_num_args > _max_num_args) && \
- EXPECTED(_max_num_args >= 0))) { \
- if (!(_flags & ZEND_PARSE_PARAMS_QUIET)) { \
- zend_wrong_paramers_count_error(_num_args, _min_num_args, _max_num_args TSRMLS_CC); \
+ ((void)_optional); \
+ \
+ do { \
+ if (UNEXPECTED(_num_args < _min_num_args) || \
+ (UNEXPECTED(_num_args > _max_num_args) && \
+ EXPECTED(_max_num_args >= 0))) { \
+ if (!(_flags & ZEND_PARSE_PARAMS_QUIET)) { \
+ zend_wrong_paramers_count_error(_num_args, _min_num_args, _max_num_args TSRMLS_CC); \
+ } \
+ error_code = ZPP_ERROR_FAILURE; \
+ break; \
} \
- goto zend_parse_params_failure; \
- } \
- _i = 0; \
- _real_arg = ZEND_CALL_ARG(EG(current_execute_data), 0);
+ _i = 0; \
+ _real_arg = ZEND_CALL_ARG(EG(current_execute_data), 0);
#define ZEND_PARSE_PARAMETERS_START(min_num_args, max_num_args) \
ZEND_PARSE_PARAMETERS_START_EX(0, min_num_args, max_num_args)
#define ZEND_PARSE_PARAMETERS_END_EX(failure) \
- if (0) { \
-zend_parse_params_wrong_callback: ZEND_ATTRIBUTE_UNUSED_LABEL \
- if (!(_flags & ZEND_PARSE_PARAMS_QUIET)) { \
- zend_wrong_callback_error(E_WARNING, _i, _error TSRMLS_CC); \
- } \
- goto zend_parse_params_failure; \
-zend_parse_params_wrong_class: ZEND_ATTRIBUTE_UNUSED_LABEL \
- if (!(_flags & ZEND_PARSE_PARAMS_QUIET)) { \
- zend_wrong_paramer_class_error(_i, _error, _arg TSRMLS_CC); \
- } \
- goto zend_parse_params_failure; \
-zend_parse_params_wrong_arg: ZEND_ATTRIBUTE_UNUSED_LABEL \
+ } while (0); \
+ if (UNEXPECTED(error_code != ZPP_ERROR_OK)) { \
if (!(_flags & ZEND_PARSE_PARAMS_QUIET)) { \
- zend_wrong_paramer_type_error(_i, _expected_type, _arg TSRMLS_CC); \
+ if (error_code == ZPP_ERROR_WRONG_CALLBACK) { \
+ zend_wrong_callback_error(E_WARNING, _i, _error TSRMLS_CC); \
+ } else if (error_code == ZPP_ERROR_WRONG_CLASS) { \
+ zend_wrong_paramer_class_error(_i, _error, _arg TSRMLS_CC); \
+ } else if (error_code == ZPP_ERROR_WRONG_ARG) { \
+ zend_wrong_paramer_type_error(_i, _expected_type, _arg TSRMLS_CC); \
+ } \
} \
-zend_parse_params_failure: ZEND_ATTRIBUTE_UNUSED_LABEL \
failure; \
} \
} while (0)
@@ -771,7 +780,10 @@ zend_parse_params_failure: ZEND_ATTRIBUTE_UNUSED_LABEL \
ZEND_PARSE_PARAMETERS_END_EX(return)
#define Z_PARAM_PROLOGUE(separate) \
- if (UNEXPECTED(++_i >_num_args)) break; \
+ ++_i; \
+ if (_optional) { \
+ if (UNEXPECTED(_i >_num_args)) break; \
+ } \
_real_arg++; \
_arg = _real_arg; \
ZVAL_DEREF(_arg); \
@@ -780,224 +792,227 @@ zend_parse_params_failure: ZEND_ATTRIBUTE_UNUSED_LABEL \
}
/* old "|" */
-#define Z_PARAM_OPTIONAL
+#define Z_PARAM_OPTIONAL \
+ _optional = 1;
/* old "a" */
-#define Z_PARAM_ARRAY_EX(dest, check_null, separate) do { \
+#define Z_PARAM_ARRAY_EX(dest, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_array(_arg, &dest, check_null, 0)) { \
+ if (UNEXPECTED(!_z_param_array(_arg, &dest, check_null, 0))) { \
_expected_type = Z_EXPECTED_ARRAY; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_ARRAY(dest) \
Z_PARAM_ARRAY_EX(dest, 0, 0)
/* old "A" */
-#define Z_PARAM_ARRAY_OR_OBJECT_EX(dest, check_null, separate) do { \
+#define Z_PARAM_ARRAY_OR_OBJECT_EX(dest, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_array(_arg, &dest, check_null, 1)) { \
+ if (UNEXPECTED(!_z_param_array(_arg, &dest, check_null, 1))) { \
_expected_type = Z_EXPECTED_ARRAY; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_ARRAY_OR_OBJECT(dest, check_null, separate) \
Z_PARAM_ARRAY_OR_OBJECT_EX(dest, 0, 0)
/* old "b" */
-#define Z_PARAM_BOOL_EX(dest, is_null, check_null, separate) do { \
+#define Z_PARAM_BOOL_EX(dest, is_null, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_bool(_arg, &dest, &is_null, check_null TSRMLS_CC)) { \
+ if (UNEXPECTED(!_z_param_bool(_arg, &dest, &is_null, check_null TSRMLS_CC))) { \
_expected_type = Z_EXPECTED_BOOL; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_BOOL(dest) \
Z_PARAM_BOOL_EX(dest, _dummy, 0, 0)
/* old "C" */
-#define Z_PARAM_CLASS_EX(dest, check_null, separate) do { \
+#define Z_PARAM_CLASS_EX(dest, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_class(_arg, &dest, _i, check_null TSRMLS_CC)) { \
- goto zend_parse_params_failure; \
- } \
- } while (0);
+ if (UNEXPECTED(!_z_param_class(_arg, &dest, _i, check_null TSRMLS_CC))) { \
+ error_code = ZPP_ERROR_FAILURE; \
+ break; \
+ }
#define Z_PARAM_CLASS(dest) \
Z_PARAM_CLASS_EX(dest, 0, 0)
/* old "d" */
-#define Z_PARAM_DOUBLE_EX(dest, is_null, check_null, separate) do { \
+#define Z_PARAM_DOUBLE_EX(dest, is_null, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_double(_arg, &dest, &is_null, check_null)) { \
+ if (UNEXPECTED(!_z_param_double(_arg, &dest, &is_null, check_null))) { \
_expected_type = Z_EXPECTED_DOUBLE; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_DOUBLE(dest) \
Z_PARAM_DOUBLE_EX(dest, _dummy, 0, 0)
/* old "f" */
-#define Z_PARAM_FUNC_EX(dest_fci, dest_fcc, check_null, separate) do { \
+#define Z_PARAM_FUNC_EX(dest_fci, dest_fcc, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_func(_arg, &dest_fci, &dest_fcc, check_null, &_error TSRMLS_CC)) { \
+ if (UNEXPECTED(!_z_param_func(_arg, &dest_fci, &dest_fcc, check_null, &_error TSRMLS_CC))) { \
if (!_error) { \
_expected_type = Z_EXPECTED_FUNC; \
- goto zend_parse_params_wrong_arg; \
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
} else { \
- goto zend_parse_params_wrong_callback; \
+ error_code = ZPP_ERROR_WRONG_CALLBACK; \
+ break; \
} \
- } else if (_error) { \
+ } else if (UNEXPECTED(_error != NULL)) { \
zend_wrong_callback_error(E_STRICT, _i, _error TSRMLS_CC); \
- } \
- } while (0);
+ }
#define Z_PARAM_FUNC(dest_fci, dest_fcc) \
Z_PARAM_FUNC_EX(dest_fci, dest_fcc, 0, 0)
/* old "h" */
-#define Z_PARAM_ARRAY_HT_EX(dest, check_null, separate) do { \
+#define Z_PARAM_ARRAY_HT_EX(dest, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_array_ht(_arg, &dest, check_null, 0 TSRMLS_CC)) { \
+ if (UNEXPECTED(!_z_param_array_ht(_arg, &dest, check_null, 0 TSRMLS_CC))) { \
_expected_type = Z_EXPECTED_ARRAY; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_ARRAY_HT(dest) \
Z_PARAM_ARRAY_HT_EX(dest, 0, 0)
/* old "H" */
-#define Z_PARAM_ARRAY_OR_OBJECT_HT_EX(dest, check_null, separate) do { \
+#define Z_PARAM_ARRAY_OR_OBJECT_HT_EX(dest, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_array_ht(_arg, &dest, check_null, 1 TSRMLS_CC)) { \
+ if (UNEXPECTED(!_z_param_array_ht(_arg, &dest, check_null, 1 TSRMLS_CC))) { \
_expected_type = Z_EXPECTED_ARRAY; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_ARRAY_OR_OBJECT_HT(dest) \
Z_PARAM_ARRAY_OR_OBJECT_HT_EX(dest, 0, 0)
/* old "l" */
-#define Z_PARAM_LONG_EX(dest, is_null, check_null, separate) do { \
+#define Z_PARAM_LONG_EX(dest, is_null, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_long(_arg, &dest, &is_null, check_null, 0)) { \
+ if (UNEXPECTED(!_z_param_long(_arg, &dest, &is_null, check_null, 0))) { \
_expected_type = Z_EXPECTED_LONG; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_LONG(dest) \
Z_PARAM_LONG_EX(dest, _dummy, 0, 0)
/* old "L" */
-#define Z_PARAM_STRICT_LONG_EX(dest, is_null, check_null, separate) do { \
+#define Z_PARAM_STRICT_LONG_EX(dest, is_null, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_long(_arg, &dest, &is_null, check_null, 1)) { \
+ if (UNEXPECTED(!_z_param_long(_arg, &dest, &is_null, check_null, 1))) { \
_expected_type = Z_EXPECTED_LONG; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_STRICT_LONG(dest) \
Z_PARAM_STRICT_LONG_EX(dest, _dummy, 0, 0)
/* old "o" */
-#define Z_PARAM_OBJECT_EX(dest, check_null, separate) do { \
+#define Z_PARAM_OBJECT_EX(dest, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_object(_arg, &dest, NULL, check_null TSRMLS_CC)) { \
+ if (UNEXPECTED(!_z_param_object(_arg, &dest, NULL, check_null TSRMLS_CC))) { \
_expected_type = Z_EXPECTED_OBJECT; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_OBJECT(dest) \
Z_PARAM_OBJECT_EX(dest, 0, 0)
/* old "O" */
-#define Z_PARAM_OBJECT_OF_CLASS_EX(dest, _ce, check_null, separate) do { \
+#define Z_PARAM_OBJECT_OF_CLASS_EX(dest, _ce, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_object(_arg, &dest, _ce, check_null TSRMLS_CC)) { \
+ if (UNEXPECTED(!_z_param_object(_arg, &dest, _ce, check_null TSRMLS_CC))) { \
if (_ce) { \
_error = (_ce)->name->val; \
- goto zend_parse_params_wrong_class; \
+ error_code = ZPP_ERROR_WRONG_CLASS; \
+ break; \
} else { \
_expected_type = Z_EXPECTED_OBJECT; \
- goto zend_parse_params_wrong_arg; \
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
} \
- } \
- } while (0);
+ }
#define Z_PARAM_OBJECT_OF_CLASS(dest, _ce) \
Z_PARAM_OBJECT_OF_CLASS_EX(dest, _ce, 0, 0)
/* old "p" */
-#define Z_PARAM_PATH_EX(dest, dest_len, check_null, separate) do { \
+#define Z_PARAM_PATH_EX(dest, dest_len, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_path(_arg, &dest, &dest_len, check_null TSRMLS_CC)) { \
+ if (UNEXPECTED(!_z_param_path(_arg, &dest, &dest_len, check_null TSRMLS_CC))) { \
_expected_type = Z_EXPECTED_PATH; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_PATH(dest, dest_len) \
Z_PARAM_PATH_EX(dest, dest_len, 0, 0)
/* old "P" */
-#define Z_PARAM_PATH_STR_EX(dest, check_null, separate) do { \
+#define Z_PARAM_PATH_STR_EX(dest, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_path_str(_arg, &dest, check_null TSRMLS_CC)) { \
+ if (UNEXPECTED(!_z_param_path_str(_arg, &dest, check_null TSRMLS_CC))) { \
_expected_type = Z_EXPECTED_PATH; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_PATH_STR(dest) \
Z_PARAM_PATH_STR_EX(dest, 0, 0)
/* old "r" */
-#define Z_PARAM_RESOURCE_EX(dest, check_null, separate) do { \
+#define Z_PARAM_RESOURCE_EX(dest, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_resource(_arg, &dest, check_null)) { \
+ if (UNEXPECTED(!_z_param_resource(_arg, &dest, check_null))) { \
_expected_type = Z_EXPECTED_RESOURCE; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_RESOURCE(dest) \
Z_PARAM_RESOURCE_EX(dest, 0, 0)
/* old "s" */
-#define Z_PARAM_STRING_EX(dest, dest_len, check_null, separate) do { \
+#define Z_PARAM_STRING_EX(dest, dest_len, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_string(_arg, &dest, &dest_len, check_null TSRMLS_CC)) { \
+ if (UNEXPECTED(!_z_param_string(_arg, &dest, &dest_len, check_null TSRMLS_CC))) { \
_expected_type = Z_EXPECTED_STRING; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_STRING(dest, dest_len) \
Z_PARAM_STRING_EX(dest, dest_len, 0, 0)
/* old "S" */
-#define Z_PARAM_STR_EX(dest, check_null, separate) do { \
+#define Z_PARAM_STR_EX(dest, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- if (!_z_param_str(_arg, &dest, check_null TSRMLS_CC)) { \
+ if (UNEXPECTED(!_z_param_str(_arg, &dest, check_null TSRMLS_CC))) { \
_expected_type = Z_EXPECTED_STRING; \
- goto zend_parse_params_wrong_arg; \
- } \
- } while (0);
+ error_code = ZPP_ERROR_WRONG_ARG; \
+ break; \
+ }
#define Z_PARAM_STR(dest) \
Z_PARAM_STR_EX(dest, 0, 0)
/* old "z" */
-#define Z_PARAM_ZVAL_EX(dest, check_null, separate) do { \
+#define Z_PARAM_ZVAL_EX(dest, check_null, separate) \
if (separate) { \
Z_PARAM_PROLOGUE(separate); \
_z_param_zval_deref(_arg, &dest, check_null); \
@@ -1005,17 +1020,15 @@ zend_parse_params_failure: ZEND_ATTRIBUTE_UNUSED_LABEL \
if (UNEXPECTED(++_i >_num_args)) break; \
_real_arg++; \
_z_param_zval(_real_arg, &dest, check_null); \
- } \
- } while (0);
+ }
#define Z_PARAM_ZVAL(dest) \
Z_PARAM_ZVAL_EX(dest, 0, 0)
/* old "z" (with dereference) */
-#define Z_PARAM_ZVAL_DEREF_EX(dest, check_null, separate) do { \
+#define Z_PARAM_ZVAL_DEREF_EX(dest, check_null, separate) \
Z_PARAM_PROLOGUE(separate); \
- _z_param_zval_deref(_arg, &dest, check_null); \
- } while (0);
+ _z_param_zval_deref(_arg, &dest, check_null);
#define Z_PARAM_ZVAL_DEREF(dest) \
Z_PARAM_ZVAL_DEREF_EX(dest, 0, 0)
@@ -1023,7 +1036,7 @@ zend_parse_params_failure: ZEND_ATTRIBUTE_UNUSED_LABEL \
/* old "+" and "*" */
#define Z_PARAM_VARIADIC_EX(spec, dest, dest_num, post_varargs) do { \
int _num_varargs = _num_args - _i - (post_varargs); \
- if (_num_varargs > 0) { \
+ if (EXPECTED(_num_varargs > 0)) { \
dest = _real_arg + 1; \
dest_num = _num_varargs; \
_i += _num_varargs; \
diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c
index 2dd5b16f44..8e1d970c41 100644
--- a/Zend/zend_ast.c
+++ b/Zend/zend_ast.c
@@ -173,7 +173,6 @@ static void zend_ast_add_array_element(zval *result, zval *offset, zval *expr TS
break;
case IS_STRING:
zend_symtable_update(Z_ARRVAL_P(result), Z_STR_P(offset), expr);
-//???
zval_dtor(offset);
break;
case IS_NULL:
@@ -234,11 +233,22 @@ ZEND_API void zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *s
break;
}
case ZEND_AST_ZVAL:
- ZVAL_DUP(result, zend_ast_get_zval(ast));
- if (Z_OPT_CONSTANT_P(result)) {
- zval_update_constant_ex(result, 1, scope TSRMLS_CC);
+ {
+ zval *zv = zend_ast_get_zval(ast);
+ if (scope) {
+ /* class constants may be updated in-place */
+ if (Z_OPT_CONSTANT_P(zv)) {
+ zval_update_constant_ex(zv, 1, scope TSRMLS_CC);
+ }
+ ZVAL_DUP(result, zv);
+ } else {
+ ZVAL_DUP(result, zv);
+ if (Z_OPT_CONSTANT_P(result)) {
+ zval_update_constant_ex(result, 1, scope TSRMLS_CC);
+ }
}
break;
+ }
case ZEND_AST_AND:
zend_ast_evaluate(&op1, ast->child[0], scope TSRMLS_CC);
if (zend_is_true(&op1 TSRMLS_CC)) {
@@ -304,20 +314,17 @@ ZEND_API void zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *s
}
}
break;
-//???
-#if 0
case ZEND_FETCH_DIM_R:
- zend_ast_evaluate(&op1, (&ast->u.child)[0], scope TSRMLS_CC);
- zend_ast_evaluate(&op2, (&ast->u.child)[1], scope TSRMLS_CC);
+ zend_ast_evaluate(&op1, ast->child[0], scope TSRMLS_CC);
+ zend_ast_evaluate(&op2, ast->child[1], scope TSRMLS_CC);
{
- zval *tmp;
+ zval tmp;
zend_fetch_dimension_by_zval(&tmp, &op1, &op2 TSRMLS_CC);
- ZVAL_ZVAL(result, tmp, 1, 1);
+ ZVAL_ZVAL(result, &tmp, 1, 1);
}
zval_dtor(&op1);
zval_dtor(&op2);
break;
-#endif
default:
zend_error(E_ERROR, "Unsupported constant expression");
}
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 5a3359efa7..5e0ed6cf7b 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -3149,44 +3149,6 @@ void zend_do_end_compilation(TSRMLS_D) /* {{{ */
}
/* }}} */
-ZEND_API void zend_make_immutable_array(zval *zv TSRMLS_DC) /* {{{ */
-{
- zend_constant *c;
-
- if (Z_IMMUTABLE_P(zv)) {
- return;
- }
-
- Z_TYPE_FLAGS_P(zv) = IS_TYPE_IMMUTABLE;
- GC_REFCOUNT(Z_COUNTED_P(zv)) = 2;
- Z_ARRVAL_P(zv)->u.flags &= ~HASH_FLAG_APPLY_PROTECTION;
-
- /* store as an anonymous constant */
- c = emalloc(sizeof(zend_constant));
- ZVAL_COPY_VALUE(&c->value, zv);
- c->flags = 0;
- c->name = NULL;
- c->module_number = PHP_USER_CONSTANT;
- zend_hash_next_index_insert_ptr(EG(zend_constants), c);
-}
-/* }}} */
-
-void zend_make_immutable_array_r(zval *zv TSRMLS_DC) /* {{{ */
-{
- zval *el;
-
- if (Z_IMMUTABLE_P(zv)) {
- return;
- }
- zend_make_immutable_array(zv TSRMLS_CC);
- ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(zv), el) {
- if (Z_TYPE_P(el) == IS_ARRAY) {
- zend_make_immutable_array_r(el TSRMLS_CC);
- }
- } ZEND_HASH_FOREACH_END();
-}
-/* }}} */
-
/* {{{ zend_dirname
Returns directory name component of path */
ZEND_API size_t zend_dirname(char *path, size_t len)
@@ -6542,7 +6504,6 @@ static zend_bool zend_try_ct_eval_array(zval *result, zend_ast *ast TSRMLS_DC) {
}
}
- zend_make_immutable_array(result TSRMLS_CC);
return 1;
}
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index d3d81d04d0..0d343f0b39 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -450,7 +450,6 @@ typedef int (*unary_op_type)(zval *, zval * TSRMLS_DC);
typedef int (*binary_op_type)(zval *, zval *, zval * TSRMLS_DC);
ZEND_API unary_op_type get_unary_op(int opcode);
ZEND_API binary_op_type get_binary_op(int opcode);
-ZEND_API void zend_make_immutable_array(zval *zv TSRMLS_DC);
void zend_stop_lexing(TSRMLS_D);
void zend_emit_final_return(zval *zv TSRMLS_DC);
@@ -562,12 +561,10 @@ int zend_add_literal(zend_op_array *op_array, zval *zv TSRMLS_DC);
#define ZEND_FETCH_CLASS_DEFAULT 0
#define ZEND_FETCH_CLASS_SELF 1
#define ZEND_FETCH_CLASS_PARENT 2
-#define ZEND_FETCH_CLASS_MAIN 3 /* unused ??? */
-#define ZEND_FETCH_CLASS_GLOBAL 4 /* unused ??? */
-#define ZEND_FETCH_CLASS_AUTO 5
-#define ZEND_FETCH_CLASS_INTERFACE 6
-#define ZEND_FETCH_CLASS_STATIC 7
-#define ZEND_FETCH_CLASS_TRAIT 14
+#define ZEND_FETCH_CLASS_STATIC 3
+#define ZEND_FETCH_CLASS_AUTO 4
+#define ZEND_FETCH_CLASS_INTERFACE 5
+#define ZEND_FETCH_CLASS_TRAIT 6
#define ZEND_FETCH_CLASS_MASK 0x0f
#define ZEND_FETCH_CLASS_NO_AUTOLOAD 0x80
#define ZEND_FETCH_CLASS_SILENT 0x0100
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c
index 650a566159..64ea7060fa 100644
--- a/Zend/zend_constants.c
+++ b/Zend/zend_constants.c
@@ -32,9 +32,7 @@ void free_zend_constant(zval *zv)
zend_constant *c = Z_PTR_P(zv);
if (!(c->flags & CONST_PERSISTENT)) {
- if (Z_REFCOUNTED(c->value) || Z_IMMUTABLE(c->value)) {
- _zval_dtor_func(Z_COUNTED(c->value) ZEND_FILE_LINE_CC);
- }
+ zval_dtor(&c->value);
} else {
zval_internal_dtor(&c->value);
}
@@ -398,7 +396,7 @@ ZEND_API zval *zend_get_constant_ex(zend_string *cname, zend_class_entry *scope,
ret_constant = Z_REFVAL_P(ret_constant);
}
}
- STR_FREE(class_name);
+ STR_RELEASE(class_name);
STR_FREE(constant_name);
if (ret_constant && Z_CONSTANT_P(ret_constant)) {
zval_update_constant_ex(ret_constant, 1, ce TSRMLS_CC);
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 7fca796137..f3e97d71d0 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -133,8 +133,7 @@ static const zend_internal_function zend_pass_function = {
/* End of zend_execute_locks.h */
-// TODO: avoid global variable usage ???
-#define CV_DEF_OF(i) (EG(current_execute_data)->func->op_array.vars[i])
+#define CV_DEF_OF(i) (EX(func)->op_array.vars[i])
#define CTOR_CALL_BIT 0x1
#define CTOR_USED_BIT 0x2
@@ -182,7 +181,7 @@ static zend_always_inline zval *_get_zval_ptr_var_deref(zend_uint var, const zen
return ret;
}
-static zend_never_inline zval *_get_zval_cv_lookup(zval *ptr, zend_uint var, int type TSRMLS_DC)
+static zend_never_inline zval *_get_zval_cv_lookup(zval *ptr, zend_uint var, int type, const zend_execute_data *execute_data TSRMLS_DC)
{
zend_string *cv;
@@ -206,7 +205,7 @@ static zend_never_inline zval *_get_zval_cv_lookup(zval *ptr, zend_uint var, int
return ptr;
}
-static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_R(zval *ptr, zend_uint var TSRMLS_DC)
+static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_R(zval *ptr, zend_uint var, const zend_execute_data *execute_data TSRMLS_DC)
{
zend_string *cv = CV_DEF_OF(EX_VAR_TO_NUM(var));
@@ -214,7 +213,7 @@ static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_R(zval *ptr, zend_uin
return &EG(uninitialized_zval);
}
-static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_UNSET(zval *ptr, zend_uint var TSRMLS_DC)
+static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_UNSET(zval *ptr, zend_uint var, const zend_execute_data *execute_data TSRMLS_DC)
{
zend_string *cv = CV_DEF_OF(EX_VAR_TO_NUM(var));
@@ -222,12 +221,12 @@ static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_UNSET(zval *ptr, zend
return &EG(uninitialized_zval);
}
-static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_IS(zval *ptr, zend_uint var TSRMLS_DC)
+static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_IS(zval *ptr, zend_uint var, const zend_execute_data *execute_data TSRMLS_DC)
{
return &EG(uninitialized_zval);
}
-static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_RW(zval *ptr, zend_uint var TSRMLS_DC)
+static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_RW(zval *ptr, zend_uint var, const zend_execute_data *execute_data TSRMLS_DC)
{
zend_string *cv = CV_DEF_OF(EX_VAR_TO_NUM(var));
@@ -236,7 +235,7 @@ static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_RW(zval *ptr, zend_ui
return ptr;
}
-static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_W(zval *ptr, zend_uint var TSRMLS_DC)
+static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_W(zval *ptr, zend_uint var, const zend_execute_data *execute_data TSRMLS_DC)
{
ZVAL_NULL(ptr);
return ptr;
@@ -247,7 +246,7 @@ static zend_always_inline zval *_get_zval_ptr_cv(const zend_execute_data *execut
zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
- return _get_zval_cv_lookup(ret, var, type TSRMLS_CC);
+ return _get_zval_cv_lookup(ret, var, type, execute_data TSRMLS_CC);
}
return ret;
}
@@ -257,7 +256,7 @@ static zend_always_inline zval *_get_zval_ptr_cv_deref(const zend_execute_data *
zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
- return _get_zval_cv_lookup(ret, var, type TSRMLS_CC);
+ return _get_zval_cv_lookup(ret, var, type, execute_data TSRMLS_CC);
}
ZVAL_DEREF(ret);
return ret;
@@ -268,7 +267,7 @@ static zend_always_inline zval *_get_zval_ptr_cv_BP_VAR_R(const zend_execute_dat
zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
- return _get_zval_cv_lookup_BP_VAR_R(ret, var TSRMLS_CC);
+ return _get_zval_cv_lookup_BP_VAR_R(ret, var, execute_data TSRMLS_CC);
}
return ret;
}
@@ -278,7 +277,7 @@ static zend_always_inline zval *_get_zval_ptr_cv_deref_BP_VAR_R(const zend_execu
zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
- return _get_zval_cv_lookup_BP_VAR_R(ret, var TSRMLS_CC);
+ return _get_zval_cv_lookup_BP_VAR_R(ret, var, execute_data TSRMLS_CC);
}
ZVAL_DEREF(ret);
return ret;
@@ -289,7 +288,7 @@ static zend_always_inline zval *_get_zval_ptr_cv_BP_VAR_UNSET(const zend_execute
zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
- return _get_zval_cv_lookup_BP_VAR_UNSET(ret, var TSRMLS_CC);
+ return _get_zval_cv_lookup_BP_VAR_UNSET(ret, var, execute_data TSRMLS_CC);
}
return ret;
}
@@ -299,7 +298,7 @@ static zend_always_inline zval *_get_zval_ptr_cv_deref_BP_VAR_UNSET(const zend_e
zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
- return _get_zval_cv_lookup_BP_VAR_UNSET(ret, var TSRMLS_CC);
+ return _get_zval_cv_lookup_BP_VAR_UNSET(ret, var, execute_data TSRMLS_CC);
}
ZVAL_DEREF(ret);
return ret;
@@ -310,7 +309,7 @@ static zend_always_inline zval *_get_zval_ptr_cv_BP_VAR_IS(const zend_execute_da
zval *ret = EX_VAR(var);
if (Z_TYPE_P(ret) == IS_UNDEF) {
- return _get_zval_cv_lookup_BP_VAR_IS(ret, var TSRMLS_CC);
+ return _get_zval_cv_lookup_BP_VAR_IS(ret, var, execute_data TSRMLS_CC);
}
return ret;
}
@@ -320,7 +319,7 @@ static zend_always_inline zval *_get_zval_ptr_cv_deref_BP_VAR_IS(const zend_exec
zval *ret = EX_VAR(var);
if (Z_TYPE_P(ret) == IS_UNDEF) {
- return _get_zval_cv_lookup_BP_VAR_IS(ret, var TSRMLS_CC);
+ return _get_zval_cv_lookup_BP_VAR_IS(ret, var, execute_data TSRMLS_CC);
}
ZVAL_DEREF(ret);
return ret;
@@ -331,7 +330,7 @@ static zend_always_inline zval *_get_zval_ptr_cv_BP_VAR_RW(const zend_execute_da
zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
- return _get_zval_cv_lookup_BP_VAR_RW(ret, var TSRMLS_CC);
+ return _get_zval_cv_lookup_BP_VAR_RW(ret, var, execute_data TSRMLS_CC);
}
return ret;
}
@@ -341,7 +340,7 @@ static zend_always_inline zval *_get_zval_ptr_cv_deref_BP_VAR_RW(const zend_exec
zval *ret = EX_VAR(var);
if (UNEXPECTED(Z_TYPE_P(ret) == IS_UNDEF)) {
- return _get_zval_cv_lookup_BP_VAR_RW(ret, var TSRMLS_CC);
+ return _get_zval_cv_lookup_BP_VAR_RW(ret, var, execute_data TSRMLS_CC);
}
ZVAL_DEREF(ret);
return ret;
@@ -352,7 +351,7 @@ static zend_always_inline zval *_get_zval_ptr_cv_BP_VAR_W(const zend_execute_dat
zval *ret = EX_VAR(var);
if (Z_TYPE_P(ret) == IS_UNDEF) {
- return _get_zval_cv_lookup_BP_VAR_W(ret, var TSRMLS_CC);
+ return _get_zval_cv_lookup_BP_VAR_W(ret, var, execute_data TSRMLS_CC);
}
return ret;
}
@@ -367,7 +366,7 @@ static zend_always_inline zval *_get_zval_ptr_cv_deref_BP_VAR_W(const zend_execu
zval *ret = EX_VAR(var);
if (Z_TYPE_P(ret) == IS_UNDEF) {
- return _get_zval_cv_lookup_BP_VAR_W(ret, var TSRMLS_CC);
+ return _get_zval_cv_lookup_BP_VAR_W(ret, var, execute_data TSRMLS_CC);
}
ZVAL_DEREF(ret);
return ret;
@@ -697,34 +696,23 @@ static inline void zend_assign_to_object(zval *retval, zval *object_ptr, zval *p
if (Z_TYPE_P(object) == IS_NULL ||
Z_TYPE_P(object) == IS_FALSE ||
(Z_TYPE_P(object) == IS_STRING && Z_STRLEN_P(object) == 0)) {
-//??? The following block may handle only non-interned empty string,
-//??? but it doesn't work anyway
-//??? see: Zend/tests/bug54265.phpt
-#if 0
- if (Z_REFCOUNTED_P(object)) {
- if (!Z_ISREF_P(object_ptr)) {
- SEPARATE_ZVAL(object);
- }
- Z_ADDREF_P(object);
- zend_error(E_WARNING, "Creating default object from empty value");
- if (Z_REFCOUNT_P(object) == 1) {
- /* object was removed by error handler, nothing to assign to */
- zval_ptr_dtor(object);
- if (retval) {
- ZVAL_NULL(retval);
- }
- FREE_OP(free_value);
- return;
+ zend_object *obj;
+
+ zval_ptr_dtor(object);
+ object_init(object);
+ Z_ADDREF_P(object);
+ obj = Z_OBJ_P(object);
+ zend_error(E_WARNING, "Creating default object from empty value");
+ if (GC_REFCOUNT(obj) == 1) {
+ /* the enclosing container was deleted, obj is unreferenced */
+ if (retval) {
+ ZVAL_NULL(retval);
}
- Z_DELREF_P(object);
- } else {
- zend_error(E_WARNING, "Creating default object from empty value");
+ FREE_OP(free_value);
+ OBJ_RELEASE(obj);
+ return;
}
-#else
- zend_error(E_WARNING, "Creating default object from empty value");
-#endif
- zval_dtor(object);
- object_init(object);
+ Z_DELREF_P(object);
} else {
zend_error(E_WARNING, "Attempt to assign property of non-object");
if (retval) {
@@ -945,6 +933,9 @@ static inline zval* zend_assign_to_variable(zval *variable_ptr, zval *value TSRM
value = Z_REFVAL_P(value);
}
if (Z_REFCOUNTED_P(value)) {
+ if (UNEXPECTED(variable_ptr == value)) {
+ return variable_ptr;
+ }
Z_ADDREF_P(value);
}
}
@@ -1364,6 +1355,11 @@ static zend_never_inline void zend_fetch_dimension_address_read_IS(zval *result,
zend_fetch_dimension_address_read(result, container, dim, dim_type, BP_VAR_IS TSRMLS_CC);
}
+ZEND_API void zend_fetch_dimension_by_zval(zval *result, zval *container, zval *dim TSRMLS_DC)
+{
+ zend_fetch_dimension_address_read_R(result, container, dim, IS_TMP_VAR TSRMLS_CC);
+}
+
static void zend_fetch_property_address(zval *result, zval *container_ptr, zval *prop_ptr, void **cache_slot, int type, int is_ref TSRMLS_DC)
{
zval *container = container_ptr;
diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h
index 812d4141b4..cb7ca70ef3 100644
--- a/Zend/zend_execute.h
+++ b/Zend/zend_execute.h
@@ -115,9 +115,6 @@ again:
result = Z_TYPE(tmp) == IS_TRUE;
break;
}
-
- // TODO: do we really need this warning ???
- // Nikita, add your comments here.
zend_error(E_RECOVERABLE_ERROR, "Object of class %s could not be converted to boolean", Z_OBJ_P(op)->ce->name->val);
} else if (Z_OBJ_HT_P(op)->get) {
zval rv;
@@ -289,6 +286,8 @@ ZEND_API zend_class_entry *zend_fetch_class(zend_string *class_name, int fetch_t
ZEND_API zend_class_entry *zend_fetch_class_by_name(zend_string *class_name, const zval *key, int fetch_type TSRMLS_DC);
void zend_verify_abstract_class(zend_class_entry *ce TSRMLS_DC);
+ZEND_API void zend_fetch_dimension_by_zval(zval *result, zval *container, zval *dim TSRMLS_DC);
+
#ifdef ZEND_WIN32
void zend_init_timeout_thread(void);
void zend_shutdown_timeout_thread(void);
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index bdf87bd440..947d051ddd 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -859,6 +859,7 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
EG(scope) = func->common.scope;
}
call->prev_execute_data = EG(current_execute_data);
+ call->return_value = NULL; /* this is not a constructor call */
EG(current_execute_data) = call;
if (EXPECTED(zend_execute_internal == NULL)) {
/* saves one function call if zend_execute_internal is not used */
diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c
index eea4de8653..adc02a3eb0 100644
--- a/Zend/zend_gc.c
+++ b/Zend/zend_gc.c
@@ -472,7 +472,7 @@ static int gc_collect_white(zend_refcounted *ref TSRMLS_DC)
Bucket *p;
tail_call:
- if (GC_INFO(ref) == GC_WHITE) {
+ if (GC_GET_COLOR(GC_INFO(ref)) == GC_WHITE) {
ht = NULL;
GC_SET_BLACK(GC_INFO(ref));
@@ -481,6 +481,30 @@ tail_call:
count++;
}
+#if 1
+ if ((GC_TYPE(ref) == IS_OBJECT || GC_TYPE(ref) == IS_ARRAY) &&
+ !GC_ADDRESS(GC_INFO(ref))) {
+ /* add garbage into list */
+ gc_root_buffer *buf = GC_G(unused);
+
+ if (buf) {
+ GC_G(unused) = buf->prev;
+ } else if (GC_G(first_unused) != GC_G(last_unused)) {
+ buf = GC_G(first_unused);
+ GC_G(first_unused)++;
+ }
+ /* TODO: what should we do if we don't have room ??? */
+ if (buf) {
+ buf->ref = ref;
+ buf->next = GC_G(roots).next;
+ buf->prev = &GC_G(roots);
+ GC_G(roots).next->prev = buf;
+ GC_G(roots).next = buf;
+ GC_SET_ADDRESS(GC_INFO(ref), buf - GC_G(buf));
+ }
+ }
+#endif
+
if (GC_TYPE(ref) == IS_OBJECT && EG(objects_store).object_buckets) {
zend_object_get_gc_t get_gc;
zend_object *obj = (zend_object*)ref;
@@ -568,16 +592,23 @@ static int gc_collect_roots(TSRMLS_D)
int count = 0;
gc_root_buffer *current = GC_G(roots).next;
+ /* remove non-garbage from the list */
while (current != &GC_G(roots)) {
- GC_SET_ADDRESS(GC_INFO(current->ref), 0);
- if (GC_INFO(current->ref) == GC_WHITE) {
- count += gc_collect_white(current->ref TSRMLS_CC);
- GC_SET_ADDRESS(GC_INFO(current->ref), current - GC_G(buf));
- } else {
+ if (GC_GET_COLOR(GC_INFO(current->ref)) != GC_WHITE) {
+ GC_SET_ADDRESS(GC_INFO(current->ref), 0);
GC_REMOVE_FROM_ROOTS(current);
}
current = current->next;
}
+
+ current = GC_G(roots).next;
+ while (current != &GC_G(roots)) {
+ if (GC_GET_COLOR(GC_INFO(current->ref)) == GC_WHITE) {
+ GC_REFCOUNT(current->ref)++;
+ count += gc_collect_white(current->ref TSRMLS_CC);
+ }
+ current = current->next;
+ }
/* relink remaining roots into list to free */
if (GC_G(roots).next != &GC_G(roots)) {
if (GC_G(to_free).next == &GC_G(to_free)) {
@@ -600,6 +631,73 @@ static int gc_collect_roots(TSRMLS_D)
return count;
}
+static void gc_remove_nested_data_from_buffer(zend_refcounted *ref TSRMLS_DC)
+{
+ HashTable *ht;
+ uint idx;
+ Bucket *p;
+
+tail_call:
+ if (GC_ADDRESS(GC_INFO(ref)) != 0) {
+ GC_REMOVE_FROM_BUFFER(ref);
+
+ if (GC_TYPE(ref) == IS_OBJECT && EG(objects_store).object_buckets) {
+ zend_object_get_gc_t get_gc;
+ zend_object *obj = (zend_object*)ref;
+
+ if (EXPECTED(IS_OBJ_VALID(EG(objects_store).object_buckets[obj->handle]) &&
+ (get_gc = obj->handlers->get_gc) != NULL)) {
+ int i, n;
+ zval *table;
+ zval tmp;
+ HashTable *props;
+
+ ZVAL_OBJ(&tmp, obj);
+ props = get_gc(&tmp, &table, &n TSRMLS_CC);
+
+ while (n > 0 && !Z_REFCOUNTED(table[n-1])) n--;
+ for (i = 0; i < n; i++) {
+ if (Z_REFCOUNTED(table[i])) {
+ ref = Z_COUNTED(table[i]);
+ if (!props && i == n - 1) {
+ goto tail_call;
+ } else {
+ gc_remove_nested_data_from_buffer(ref TSRMLS_CC);
+ }
+ }
+ }
+ if (!props) {
+ return;
+ }
+ ht = props;
+ }
+ } else if (GC_TYPE(ref) == IS_ARRAY) {
+ ht = &((zend_array*)ref)->ht;
+ } else if (GC_TYPE(ref) == IS_REFERENCE) {
+ if (Z_REFCOUNTED(((zend_reference*)ref)->val)) {
+ if (UNEXPECTED(!EG(objects_store).object_buckets) &&
+ Z_TYPE(((zend_reference*)ref)->val) == IS_OBJECT) {
+ return;
+ }
+ ref = Z_COUNTED(((zend_reference*)ref)->val);
+ goto tail_call;
+ }
+ return;
+ }
+ if (!ht) return;
+ for (idx = 0; idx < ht->nNumUsed; idx++) {
+ p = ht->arData + idx;
+ if (!Z_REFCOUNTED(p->val)) continue;
+ ref = Z_COUNTED(p->val);
+ if (idx == ht->nNumUsed-1) {
+ goto tail_call;
+ } else {
+ gc_remove_nested_data_from_buffer(ref TSRMLS_CC);
+ }
+ }
+ }
+}
+
ZEND_API int gc_collect_cycles(TSRMLS_D)
{
int count = 0;
@@ -636,7 +734,14 @@ ZEND_API int gc_collect_cycles(TSRMLS_D)
orig_next_to_free = GC_G(next_to_free);
- /* First call destructors */
+ /* Remember reference counters before calling destructors */
+ current = to_free.next;
+ while (current != &to_free) {
+ current->refcount = GC_REFCOUNT(current->ref);
+ current = current->next;
+ }
+
+ /* Call destructors */
current = to_free.next;
while (current != &to_free) {
p = current->ref;
@@ -659,6 +764,16 @@ ZEND_API int gc_collect_cycles(TSRMLS_D)
current = GC_G(next_to_free);
}
+ /* Remove values captured in destructors */
+ current = to_free.next;
+ while (current != &to_free) {
+ GC_G(next_to_free) = current->next;
+ if (GC_REFCOUNT(current->ref) > current->refcount) {
+ gc_remove_nested_data_from_buffer(current->ref TSRMLS_CC);
+ }
+ current = GC_G(next_to_free);
+ }
+
/* Destroy zvals */
current = to_free.next;
while (current != &to_free) {
diff --git a/Zend/zend_gc.h b/Zend/zend_gc.h
index d060fae9dd..8d619f2e5e 100644
--- a/Zend/zend_gc.h
+++ b/Zend/zend_gc.h
@@ -74,9 +74,10 @@
GC_SET_PURPLE(Z_GC_INFO_P(v))
typedef struct _gc_root_buffer {
- struct _gc_root_buffer *prev; /* double-linked list */
- struct _gc_root_buffer *next;
zend_refcounted *ref;
+ struct _gc_root_buffer *next; /* double-linked list */
+ struct _gc_root_buffer *prev;
+ zend_uint refcount;
} gc_root_buffer;
typedef struct _zend_gc_globals {
diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c
index e7aa255d78..78b38f7ea2 100644
--- a/Zend/zend_hash.c
+++ b/Zend/zend_hash.c
@@ -214,6 +214,7 @@ static zend_always_inline Bucket *zend_hash_str_find_bucket(const HashTable *ht,
nIndex = h & ht->nTableMask;
idx = ht->arHash[nIndex];
while (idx != INVALID_IDX) {
+ ZEND_ASSERT(idx < ht->nTableSize);
p = ht->arData + idx;
if ((p->h == h)
&& p->key
@@ -235,6 +236,7 @@ static zend_always_inline Bucket *zend_hash_index_find_bucket(const HashTable *h
nIndex = h & ht->nTableMask;
idx = ht->arHash[nIndex];
while (idx != INVALID_IDX) {
+ ZEND_ASSERT(idx < ht->nTableSize);
p = ht->arData + idx;
if (p->h == h && !p->key) {
return p;
@@ -579,6 +581,9 @@ ZEND_API int zend_hash_rehash(HashTable *ht)
IS_CONSISTENT(ht);
if (UNEXPECTED(ht->nNumOfElements == 0)) {
+ if (ht->nTableMask) {
+ memset(ht->arHash, INVALID_IDX, ht->nTableSize * sizeof(zend_uint));
+ }
return SUCCESS;
}
diff --git a/Zend/zend_hash.h b/Zend/zend_hash.h
index c196134657..d7b419225e 100644
--- a/Zend/zend_hash.h
+++ b/Zend/zend_hash.h
@@ -628,6 +628,17 @@ static inline void *zend_hash_index_find_ptr(const HashTable *ht, ulong h)
return zv ? Z_PTR_P(zv) : NULL;
}
+static inline void *zend_symtable_str_find_ptr(HashTable *ht, const char *str, int len)
+{
+ ulong idx;
+
+ if (ZEND_HANDLE_NUMERIC_STR(str, len, idx)) {
+ return zend_hash_index_find_ptr(ht, idx);
+ } else {
+ return zend_hash_str_find_ptr(ht, str, len);
+ }
+}
+
static inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht, HashPosition *pos)
{
zval *zv;
diff --git a/Zend/zend_ini.c b/Zend/zend_ini.c
index 6232b8e2f1..c3a02d53a3 100644
--- a/Zend/zend_ini.c
+++ b/Zend/zend_ini.c
@@ -231,9 +231,11 @@ ZEND_API void zend_unregister_ini_entries(int module_number TSRMLS_DC) /* {{{ */
/* }}} */
#ifdef ZTS
-static int zend_ini_refresh_cache(zval *el, int stage TSRMLS_DC) /* {{{ */
+static int zend_ini_refresh_cache(zval *el, void *arg TSRMLS_DC) /* {{{ */
{
zend_ini_entry *p = (zend_ini_entry *)Z_PTR_P(el);
+ int stage = (int)(zend_intptr_t)arg;
+
if (p->on_modify) {
p->on_modify(p, p->value, p->value_length, p->mh_arg1, p->mh_arg2, p->mh_arg3, stage TSRMLS_CC);
}
diff --git a/Zend/zend_multibyte.c b/Zend/zend_multibyte.c
index 08251dfa5e..49056cfad4 100644
--- a/Zend/zend_multibyte.c
+++ b/Zend/zend_multibyte.c
@@ -168,7 +168,7 @@ ZEND_API const zend_encoding *zend_multibyte_get_script_encoding(TSRMLS_D)
ZEND_API int zend_multibyte_set_script_encoding(const zend_encoding **encoding_list, size_t encoding_list_size TSRMLS_DC)
{
if (CG(script_encoding_list)) {
- free(CG(script_encoding_list));
+ free((char*)CG(script_encoding_list));
}
CG(script_encoding_list) = encoding_list;
CG(script_encoding_list_size) = encoding_list_size;
@@ -195,7 +195,7 @@ ZEND_API int zend_multibyte_set_script_encoding_by_string(const char *new_value,
}
if (size == 0) {
- pefree(list, 1);
+ pefree((void*)list, 1);
return FAILURE;
}
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c
index 30794a3054..d7d8bf0a52 100644
--- a/Zend/zend_object_handlers.c
+++ b/Zend/zend_object_handlers.c
@@ -593,11 +593,25 @@ found:
ZVAL_COPY_VALUE(&garbage, Z_REFVAL_P(variable_ptr)); /* old value should be destroyed */
/* To check: can't *variable_ptr be some system variable like error_zval here? */
- ZVAL_COPY_VALUE(Z_REFVAL_P(variable_ptr), value);
- if (Z_REFCOUNTED_P(value) && Z_REFCOUNT_P(value) > 0) {
- zval_copy_ctor(Z_REFVAL_P(variable_ptr));
+ if (UNEXPECTED(Z_REFCOUNTED_P(value))) {
+ if (EXPECTED(!Z_ISREF_P(value))) {
+ Z_ADDREF_P(value);
+ } else {
+ if (Z_REFCOUNT_P(value) == 1) {
+ ZVAL_UNREF(value);
+ } else {
+ value = Z_REFVAL_P(value);
+ }
+ if (Z_REFCOUNTED_P(value)) {
+ if (UNEXPECTED(Z_REFVAL_P(variable_ptr) == value)) {
+ goto exit;
+ }
+ Z_ADDREF_P(value);
+ }
+ }
}
- zval_dtor(&garbage);
+ ZVAL_COPY_VALUE(Z_REFVAL_P(variable_ptr), value);
+ zval_ptr_dtor(&garbage);
} else {
zval garbage;
@@ -1455,6 +1469,7 @@ static int zend_std_has_property(zval *object, zval *member, int has_set_exists,
found:
switch (has_set_exists) {
case 0:
+ ZVAL_DEREF(value);
result = (Z_TYPE_P(value) != IS_NULL);
break;
default:
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index dc2756fe09..921d71b685 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -819,6 +819,7 @@ try_again:
goto try_again;
EMPTY_SWITCH_DEFAULT_CASE()
}
+ return 0;
}
/* }}} */
@@ -859,6 +860,7 @@ try_again:
goto try_again;
EMPTY_SWITCH_DEFAULT_CASE()
}
+ return 0.0;
}
/* }}} */
@@ -912,6 +914,7 @@ try_again:
goto try_again;
EMPTY_SWITCH_DEFAULT_CASE()
}
+ return NULL;
}
/* }}} */
@@ -1552,10 +1555,10 @@ ZEND_API int concat_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {{
ZEND_TRY_BINARY_OBJECT_OPERATION(ZEND_CONCAT);
if (Z_TYPE_P(op1) != IS_STRING) {
- use_copy1 = zend_make_printable_zval(op1, &op1_copy);
+ use_copy1 = zend_make_printable_zval(op1, &op1_copy TSRMLS_CC);
}
if (Z_TYPE_P(op2) != IS_STRING) {
- use_copy2 = zend_make_printable_zval(op2, &op2_copy);
+ use_copy2 = zend_make_printable_zval(op2, &op2_copy TSRMLS_CC);
}
}
@@ -1783,6 +1786,14 @@ ZEND_API int compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {
return SUCCESS;
default:
+ if (Z_ISREF_P(op1)) {
+ op1 = Z_REFVAL_P(op1);
+ continue;
+ } else if (Z_ISREF_P(op2)) {
+ op2 = Z_REFVAL_P(op2);
+ continue;
+ }
+
if (Z_TYPE_P(op1) == IS_OBJECT && Z_OBJ_HANDLER_P(op1, compare)) {
return Z_OBJ_HANDLER_P(op1, compare)(result, op1, op2 TSRMLS_CC);
} else if (Z_TYPE_P(op2) == IS_OBJECT && Z_OBJ_HANDLER_P(op2, compare)) {
@@ -1841,11 +1852,7 @@ ZEND_API int compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {
return SUCCESS;
}
}
- if (Z_ISREF_P(op1)) {
- op1 = Z_REFVAL_P(op1);
- } else if (Z_ISREF_P(op2)) {
- op2 = Z_REFVAL_P(op2);
- } else if (!converted) {
+ if (!converted) {
if (Z_TYPE_P(op1) == IS_NULL || Z_TYPE_P(op1) == IS_FALSE) {
zendi_convert_to_boolean(op2, op2_copy, result);
ZVAL_LONG(result, (Z_TYPE_P(op2) == IS_TRUE) ? -1 : 0);
@@ -1888,10 +1895,9 @@ ZEND_API int compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {
}
/* }}} */
-static int hash_zval_identical_function(zval *z1, zval *z2) /* {{{ */
+static int hash_zval_identical_function(zval *z1, zval *z2 TSRMLS_DC) /* {{{ */
{
zval result;
- TSRMLS_FETCH();
/* is_identical_function() returns 1 in case of identity and 0 in case
* of a difference;
diff --git a/Zend/zend_ts_hash.c b/Zend/zend_ts_hash.c
index 92cd62128e..f6523574ae 100644
--- a/Zend/zend_ts_hash.c
+++ b/Zend/zend_ts_hash.c
@@ -333,6 +333,39 @@ ZEND_API int zend_ts_hash_rehash(TsHashTable *ht)
return retval;
}
+ZEND_API zval *zend_ts_hash_str_find(TsHashTable *ht, const char *key, int len)
+{
+ zval *retval;
+
+ begin_read(ht);
+ retval = zend_hash_str_find(TS_HASH(ht), key, len);
+ end_read(ht);
+
+ return retval;
+}
+
+ZEND_API zval *_zend_ts_hash_str_update(TsHashTable *ht, const char *key, int len, zval *pData ZEND_FILE_LINE_DC)
+{
+ zval *retval;
+
+ begin_write(ht);
+ retval = zend_hash_str_update(TS_HASH(ht), key, len, pData);
+ end_write(ht);
+
+ return retval;
+}
+
+ZEND_API zval *_zend_ts_hash_str_add(TsHashTable *ht, const char *key, int len, zval *pData ZEND_FILE_LINE_DC)
+{
+ zval *retval;
+
+ begin_write(ht);
+ retval = zend_hash_str_add(TS_HASH(ht), key, len, pData);
+ end_write(ht);
+
+ return retval;
+}
+
/*
* Local variables:
* tab-width: 4
diff --git a/Zend/zend_ts_hash.h b/Zend/zend_ts_hash.h
index 4b0a507368..fcf8c3cda1 100644
--- a/Zend/zend_ts_hash.h
+++ b/Zend/zend_ts_hash.h
@@ -102,6 +102,41 @@ void zend_ts_hash_display_pListTail(TsHashTable *ht);
void zend_ts_hash_display(TsHashTable *ht);
#endif
+ZEND_API zval *zend_ts_hash_str_find(TsHashTable *ht, const char *key, int len);
+ZEND_API zval *_zend_ts_hash_str_update(TsHashTable *ht, const char *key, int len, zval *pData ZEND_FILE_LINE_DC);
+ZEND_API zval *_zend_ts_hash_str_add(TsHashTable *ht, const char *key, int len, zval *pData ZEND_FILE_LINE_DC);
+
+#define zend_ts_hash_str_update(ht, key, len, pData) \
+ _zend_ts_hash_str_update(ht, key, len, pData ZEND_FILE_LINE_CC)
+#define zend_ts_hash_str_add(ht, key, len, pData) \
+ _zend_ts_hash_str_add(ht, key, len, pData ZEND_FILE_LINE_CC)
+
+static inline void *zend_ts_hash_str_find_ptr(TsHashTable *ht, const char *str, int len)
+{
+ zval *zv;
+
+ zv = zend_ts_hash_str_find(ht, str, len);
+ return zv ? Z_PTR_P(zv) : NULL;
+}
+
+static inline void *zend_ts_hash_str_update_ptr(TsHashTable *ht, const char *str, int len, void *pData)
+{
+ zval tmp, *zv;
+
+ ZVAL_PTR(&tmp, pData);
+ zv = zend_ts_hash_str_update(ht, str, len, &tmp);
+ return zv ? Z_PTR_P(zv) : NULL;
+}
+
+static inline void *zend_ts_hash_str_add_ptr(TsHashTable *ht, const char *str, int len, void *pData)
+{
+ zval tmp, *zv;
+
+ ZVAL_PTR(&tmp, pData);
+ zv = zend_ts_hash_str_add(ht, str, len, &tmp);
+ return zv ? Z_PTR_P(zv) : NULL;
+}
+
END_EXTERN_C()
#define ZEND_TS_INIT_SYMTABLE(ht) \
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index f45882e52f..3122119998 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -1203,6 +1203,9 @@ ZEND_VM_HELPER_EX(zend_fetch_var_address_helper, CONST|TMP|VAR|CV, UNUSED|CONST|
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -2127,7 +2130,7 @@ ZEND_VM_HANDLER(56, ZEND_ADD_VAR, TMP|UNUSED, TMP|VAR|CV)
if (Z_TYPE_P(var) != IS_STRING) {
ZVAL_DEREF(var);
if (Z_TYPE_P(var) != IS_STRING) {
- use_copy = zend_make_printable_zval(var, &var_copy);
+ use_copy = zend_make_printable_zval(var, &var_copy TSRMLS_CC);
if (use_copy) {
var = &var_copy;
@@ -3477,7 +3480,7 @@ ZEND_VM_HANDLER(120, ZEND_SEND_USER, VAR|CV, ANY)
// This solution breaks the following test (emit warning message) ???
// ext/pdo_sqlite/tests/pdo_005.phpt
#endif
- (!Z_ISREF_P(arg) && Z_REFCOUNT_P(arg) > 1)) {
+ (!Z_ISREF_P(arg) /*&& Z_REFCOUNT_P(arg) > 1???*/)) {
if (!ARG_MAY_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
@@ -3841,7 +3844,7 @@ ZEND_VM_HANDLER(99, ZEND_FETCH_CONSTANT, VAR|CONST|UNUSED, CONST)
retval = EX_VAR(opline->result.var);
ZVAL_COPY_VALUE(retval, &c->value);
if (Z_OPT_COPYABLE_P(retval) || Z_OPT_REFCOUNTED_P(retval)) {
- if (Z_OPT_COPYABLE_P(retval) && (c->flags & CONST_PERSISTENT)) {
+ if (Z_OPT_COPYABLE_P(retval)) {
zval_copy_ctor_func(retval);
} else {
Z_ADDREF_P(retval);
@@ -4484,6 +4487,8 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET, CONST|TMP|VAR|CV, ANY)
}
} else if (Z_IMMUTABLE_P(array_ptr)) {
zval_copy_ctor(array_ptr);
+ } else {
+ SEPARATE_ZVAL_NOREF(array_ptr);
}
if (Z_REFCOUNTED_P(array_ref)) Z_ADDREF_P(array_ref);
} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
@@ -4845,8 +4850,9 @@ ZEND_VM_HANDLER(114, ZEND_ISSET_ISEMPTY_VAR, CONST|TMP|VAR|CV, UNUSED|CONST|VAR)
FREE_OP1();
}
- if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (opline->extended_value & ZEND_ISSET) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -4924,7 +4930,8 @@ ZEND_VM_C_LABEL(num_index_prop):
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -4943,6 +4950,9 @@ ZEND_VM_C_LABEL(num_index_prop):
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (OP1_TYPE == IS_CV || OP1_TYPE == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 263f729962..8605333d05 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -3093,6 +3093,8 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_A
}
} else if (Z_IMMUTABLE_P(array_ptr)) {
zval_copy_ctor(array_ptr);
+ } else {
+ SEPARATE_ZVAL_NOREF(array_ptr);
}
if (Z_REFCOUNTED_P(array_ref)) Z_ADDREF_P(array_ref);
} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
@@ -3844,6 +3846,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_CONST(int type
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -4286,7 +4291,7 @@ static int ZEND_FASTCALL ZEND_FETCH_CONSTANT_SPEC_CONST_CONST_HANDLER(ZEND_OPCO
retval = EX_VAR(opline->result.var);
ZVAL_COPY_VALUE(retval, &c->value);
if (Z_OPT_COPYABLE_P(retval) || Z_OPT_REFCOUNTED_P(retval)) {
- if (Z_OPT_COPYABLE_P(retval) && (c->flags & CONST_PERSISTENT)) {
+ if (Z_OPT_COPYABLE_P(retval)) {
zval_copy_ctor_func(retval);
} else {
Z_ADDREF_P(retval);
@@ -4603,7 +4608,8 @@ static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_CONST_CONST_HANDLER(ZEND_O
}
if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -6343,6 +6349,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_VAR(int type,
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -6987,7 +6996,8 @@ static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_CONST_VAR_HANDLER(ZEND_OPC
}
if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -7395,6 +7405,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_UNUSED(int typ
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -7846,7 +7859,8 @@ static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_CONST_UNUSED_HANDLER(ZEND_
}
if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -9807,6 +9821,8 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARG
}
} else if (Z_IMMUTABLE_P(array_ptr)) {
zval_copy_ctor(array_ptr);
+ } else {
+ SEPARATE_ZVAL_NOREF(array_ptr);
}
if (Z_REFCOUNTED_P(array_ref)) Z_ADDREF_P(array_ref);
} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
@@ -10587,6 +10603,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_CONST(int type,
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -11200,7 +11219,8 @@ static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_TMP_CONST_HANDLER(ZEND_OPC
}
if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -11968,7 +11988,7 @@ static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HANDLER_
if (Z_TYPE_P(var) != IS_STRING) {
ZVAL_DEREF(var);
if (Z_TYPE_P(var) != IS_STRING) {
- use_copy = zend_make_printable_zval(var, &var_copy);
+ use_copy = zend_make_printable_zval(var, &var_copy TSRMLS_CC);
if (use_copy) {
var = &var_copy;
@@ -12864,6 +12884,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_VAR(int type, ZE
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -13101,7 +13124,7 @@ static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HANDLER_
if (Z_TYPE_P(var) != IS_STRING) {
ZVAL_DEREF(var);
if (Z_TYPE_P(var) != IS_STRING) {
- use_copy = zend_make_printable_zval(var, &var_copy);
+ use_copy = zend_make_printable_zval(var, &var_copy TSRMLS_CC);
if (use_copy) {
var = &var_copy;
@@ -13465,7 +13488,8 @@ static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_TMP_VAR_HANDLER(ZEND_OPCOD
}
if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -13873,6 +13897,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_UNUSED(int type,
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -14208,7 +14235,8 @@ static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_TMP_UNUSED_HANDLER(ZEND_OP
}
if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -14818,7 +14846,7 @@ static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HANDLER_A
if (Z_TYPE_P(var) != IS_STRING) {
ZVAL_DEREF(var);
if (Z_TYPE_P(var) != IS_STRING) {
- use_copy = zend_make_printable_zval(var, &var_copy);
+ use_copy = zend_make_printable_zval(var, &var_copy TSRMLS_CC);
if (use_copy) {
var = &var_copy;
@@ -16048,7 +16076,7 @@ static int ZEND_FASTCALL ZEND_SEND_USER_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_AR
// This solution breaks the following test (emit warning message) ???
// ext/pdo_sqlite/tests/pdo_005.phpt
#endif
- (!Z_ISREF_P(arg) && Z_REFCOUNT_P(arg) > 1)) {
+ (!Z_ISREF_P(arg) /*&& Z_REFCOUNT_P(arg) > 1???*/)) {
if (!ARG_MAY_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
@@ -16444,6 +16472,8 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG
}
} else if (Z_IMMUTABLE_P(array_ptr)) {
zval_copy_ctor(array_ptr);
+ } else {
+ SEPARATE_ZVAL_NOREF(array_ptr);
}
if (Z_REFCOUNTED_P(array_ref)) Z_ADDREF_P(array_ref);
} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
@@ -17875,6 +17905,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_CONST(int type,
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -18593,7 +18626,7 @@ static int ZEND_FASTCALL ZEND_FETCH_CONSTANT_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE
retval = EX_VAR(opline->result.var);
ZVAL_COPY_VALUE(retval, &c->value);
if (Z_OPT_COPYABLE_P(retval) || Z_OPT_REFCOUNTED_P(retval)) {
- if (Z_OPT_COPYABLE_P(retval) && (c->flags & CONST_PERSISTENT)) {
+ if (Z_OPT_COPYABLE_P(retval)) {
zval_copy_ctor_func(retval);
} else {
Z_ADDREF_P(retval);
@@ -19038,7 +19071,8 @@ static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_VAR_CONST_HANDLER(ZEND_OPC
}
if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -19116,7 +19150,8 @@ num_index_prop:
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -19135,6 +19170,9 @@ num_index_prop:
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (IS_VAR == IS_CV || IS_VAR == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
@@ -21105,7 +21143,8 @@ num_index_prop:
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -21124,6 +21163,9 @@ num_index_prop:
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (IS_VAR == IS_CV || IS_VAR == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
@@ -22248,6 +22290,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_VAR(int type, ZE
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -23383,7 +23428,8 @@ static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_VAR_VAR_HANDLER(ZEND_OPCOD
}
if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -23461,7 +23507,8 @@ num_index_prop:
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -23480,6 +23527,9 @@ num_index_prop:
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (IS_VAR == IS_CV || IS_VAR == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
@@ -24148,6 +24198,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_UNUSED(int type,
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -24710,7 +24763,8 @@ static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_VAR_UNUSED_HANDLER(ZEND_OP
}
if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -26693,7 +26747,8 @@ num_index_prop:
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -26712,6 +26767,9 @@ num_index_prop:
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (IS_VAR == IS_CV || IS_VAR == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
@@ -27869,7 +27927,7 @@ static int ZEND_FASTCALL ZEND_FETCH_CONSTANT_SPEC_UNUSED_CONST_HANDLER(ZEND_OPC
retval = EX_VAR(opline->result.var);
ZVAL_COPY_VALUE(retval, &c->value);
if (Z_OPT_COPYABLE_P(retval) || Z_OPT_REFCOUNTED_P(retval)) {
- if (Z_OPT_COPYABLE_P(retval) && (c->flags & CONST_PERSISTENT)) {
+ if (Z_OPT_COPYABLE_P(retval)) {
zval_copy_ctor_func(retval);
} else {
Z_ADDREF_P(retval);
@@ -28153,7 +28211,8 @@ num_index_prop:
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -28172,6 +28231,9 @@ num_index_prop:
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (IS_UNUSED == IS_CV || IS_UNUSED == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
@@ -29117,7 +29179,7 @@ static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_HANDL
if (Z_TYPE_P(var) != IS_STRING) {
ZVAL_DEREF(var);
if (Z_TYPE_P(var) != IS_STRING) {
- use_copy = zend_make_printable_zval(var, &var_copy);
+ use_copy = zend_make_printable_zval(var, &var_copy TSRMLS_CC);
if (use_copy) {
var = &var_copy;
@@ -29432,7 +29494,8 @@ num_index_prop:
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -29451,6 +29514,9 @@ num_index_prop:
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (IS_UNUSED == IS_CV || IS_UNUSED == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
@@ -30398,7 +30464,7 @@ static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_HANDL
if (Z_TYPE_P(var) != IS_STRING) {
ZVAL_DEREF(var);
if (Z_TYPE_P(var) != IS_STRING) {
- use_copy = zend_make_printable_zval(var, &var_copy);
+ use_copy = zend_make_printable_zval(var, &var_copy TSRMLS_CC);
if (use_copy) {
var = &var_copy;
@@ -30713,7 +30779,8 @@ num_index_prop:
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -30732,6 +30799,9 @@ num_index_prop:
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (IS_UNUSED == IS_CV || IS_UNUSED == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
@@ -32190,7 +32260,7 @@ static int ZEND_FASTCALL ZEND_ADD_VAR_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HANDLE
if (Z_TYPE_P(var) != IS_STRING) {
ZVAL_DEREF(var);
if (Z_TYPE_P(var) != IS_STRING) {
- use_copy = zend_make_printable_zval(var, &var_copy);
+ use_copy = zend_make_printable_zval(var, &var_copy TSRMLS_CC);
if (use_copy) {
var = &var_copy;
@@ -32503,7 +32573,8 @@ num_index_prop:
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -32522,6 +32593,9 @@ num_index_prop:
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (IS_UNUSED == IS_CV || IS_UNUSED == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
@@ -33414,7 +33488,7 @@ static int ZEND_FASTCALL ZEND_SEND_USER_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARG
// This solution breaks the following test (emit warning message) ???
// ext/pdo_sqlite/tests/pdo_005.phpt
#endif
- (!Z_ISREF_P(arg) && Z_REFCOUNT_P(arg) > 1)) {
+ (!Z_ISREF_P(arg) /*&& Z_REFCOUNT_P(arg) > 1???*/)) {
if (!ARG_MAY_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
@@ -33795,6 +33869,8 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS
}
} else if (Z_IMMUTABLE_P(array_ptr)) {
zval_copy_ctor(array_ptr);
+ } else {
+ SEPARATE_ZVAL_NOREF(array_ptr);
}
if (Z_REFCOUNTED_P(array_ref)) Z_ADDREF_P(array_ref);
} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
@@ -35075,6 +35151,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_CONST(int type, Z
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -36024,7 +36103,8 @@ static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_CV_CONST_HANDLER(ZEND_OPCO
}
if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -36102,7 +36182,8 @@ num_index_prop:
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -36121,6 +36202,9 @@ num_index_prop:
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (IS_CV == IS_CV || IS_CV == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
@@ -38002,7 +38086,8 @@ num_index_prop:
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -38021,6 +38106,9 @@ num_index_prop:
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (IS_CV == IS_CV || IS_CV == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
@@ -39143,6 +39231,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_VAR(int type, ZEN
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -40160,7 +40251,8 @@ static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_CV_VAR_HANDLER(ZEND_OPCODE
}
if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -40238,7 +40330,8 @@ num_index_prop:
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -40257,6 +40350,9 @@ num_index_prop:
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (IS_CV == IS_CV || IS_CV == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
@@ -40923,6 +41019,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_UNUSED(int type,
ZEND_ASSERT(retval != NULL);
if (type == BP_VAR_R || type == BP_VAR_IS) {
+ if (/*type == BP_VAR_R &&*/ Z_ISREF_P(retval) && Z_REFCOUNT_P(retval) == 1) {
+ ZVAL_UNREF(retval);
+ }
ZVAL_COPY(EX_VAR(opline->result.var), retval);
} else {
if (/*type == BP_VAR_W &&*/ (opline->extended_value & ZEND_FETCH_MAKE_REF)) {
@@ -41369,7 +41468,8 @@ static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_CV_UNUSED_HANDLER(ZEND_OPC
}
if (opline->extended_value & ZEND_ISSET) {
- if (isset && Z_TYPE_P(value) != IS_NULL) {
+ if (isset && Z_TYPE_P(value) != IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL)) {
ZVAL_BOOL(EX_VAR(opline->result.var), 1);
} else {
ZVAL_BOOL(EX_VAR(opline->result.var), 0);
@@ -43214,7 +43314,8 @@ num_index_prop:
if (opline->extended_value & ZEND_ISSET) {
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
- result = (value != NULL && Z_TYPE_P(value) > IS_NULL);
+ result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
+ (!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
result = (value == NULL || !i_zend_is_true(value TSRMLS_CC));
}
@@ -43233,6 +43334,9 @@ num_index_prop:
result = 0;
if (UNEXPECTED(Z_TYPE_P(offset) != IS_LONG)) {
+ if (IS_CV == IS_CV || IS_CV == IS_VAR) {
+ ZVAL_DEREF(offset);
+ }
if (Z_TYPE_P(offset) < IS_STRING /* simple scalar types */
|| (Z_TYPE_P(offset) == IS_STRING /* or numeric string */
&& IS_LONG == is_numeric_string(Z_STRVAL_P(offset), Z_STRLEN_P(offset), NULL, NULL, 0))) {
diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c
index f77779d691..6d3b15876f 100644
--- a/ext/com_dotnet/com_com.c
+++ b/ext/com_dotnet/com_com.c
@@ -66,50 +66,50 @@ PHP_FUNCTION(com_create_instance)
&typelib_name, &typelib_name_len)) {
php_com_throw_exception(E_INVALIDARG, "Could not create COM object - invalid arguments!" TSRMLS_CC);
- ZVAL_NULL(object);
+ ZEND_CTOR_MAKE_NULL();
return;
}
if (server_name) {
ctx = CLSCTX_REMOTE_SERVER;
} else if (server_params) {
- zval **tmp;
+ zval *tmp;
/* decode the data from the array */
- if (SUCCESS == zend_hash_find(HASH_OF(server_params),
- "Server", sizeof("Server"), (void**)&tmp)) {
+ if (NULL != (tmp = zend_hash_str_find(HASH_OF(server_params),
+ "Server", sizeof("Server")-1))) {
convert_to_string_ex(tmp);
- server_name = Z_STRVAL_PP(tmp);
- server_name_len = Z_STRLEN_PP(tmp);
+ server_name = Z_STRVAL_P(tmp);
+ server_name_len = Z_STRLEN_P(tmp);
ctx = CLSCTX_REMOTE_SERVER;
}
- if (SUCCESS == zend_hash_find(HASH_OF(server_params),
- "Username", sizeof("Username"), (void**)&tmp)) {
+ if (NULL != (tmp = zend_hash_str_find(HASH_OF(server_params),
+ "Username", sizeof("Username")-1))) {
convert_to_string_ex(tmp);
- user_name = Z_STRVAL_PP(tmp);
- user_name_len = Z_STRLEN_PP(tmp);
+ user_name = Z_STRVAL_P(tmp);
+ user_name_len = Z_STRLEN_P(tmp);
}
- if (SUCCESS == zend_hash_find(HASH_OF(server_params),
- "Password", sizeof("Password"), (void**)&tmp)) {
+ if (NULL != (tmp = zend_hash_str_find(HASH_OF(server_params),
+ "Password", sizeof("Password")-1))) {
convert_to_string_ex(tmp);
- password = Z_STRVAL_PP(tmp);
- password_len = Z_STRLEN_PP(tmp);
+ password = Z_STRVAL_P(tmp);
+ password_len = Z_STRLEN_P(tmp);
}
- if (SUCCESS == zend_hash_find(HASH_OF(server_params),
- "Domain", sizeof("Domain"), (void**)&tmp)) {
+ if (NULL != (tmp = zend_hash_str_find(HASH_OF(server_params),
+ "Domain", sizeof("Domain")-1))) {
convert_to_string_ex(tmp);
- domain_name = Z_STRVAL_PP(tmp);
- domain_name_len = Z_STRLEN_PP(tmp);
+ domain_name = Z_STRVAL_P(tmp);
+ domain_name_len = Z_STRLEN_P(tmp);
}
- if (SUCCESS == zend_hash_find(HASH_OF(server_params),
- "Flags", sizeof("Flags"), (void**)&tmp)) {
+ if (NULL != (tmp = zend_hash_str_find(HASH_OF(server_params),
+ "Flags", sizeof("Flags")-1))) {
convert_to_long_ex(tmp);
- ctx = (CLSCTX)Z_LVAL_PP(tmp);
+ ctx = (CLSCTX)Z_LVAL_P(tmp);
}
}
@@ -215,8 +215,8 @@ PHP_FUNCTION(com_create_instance)
}
if (server_name) {
- STR_FREE((char*)info.pwszName);
- STR_FREE((char*)authid.User);
+ if (info.pwszName) efree(info.pwszName);
+ if (authid.User) efree(authid.User);
}
efree(moniker);
@@ -230,7 +230,7 @@ PHP_FUNCTION(com_create_instance)
php_com_throw_exception(res, msg TSRMLS_CC);
efree(msg);
- ZVAL_NULL(object);
+ ZEND_CTOR_MAKE_NULL();
return;
}
@@ -263,7 +263,7 @@ PHP_FUNCTION(com_create_instance)
if (SUCCEEDED(ITypeLib_GetDocumentation(TL, -1, &name, NULL, NULL, NULL))) {
typelib_name = php_com_olestring_to_string(name, &typelib_name_len, obj->code_page TSRMLS_CC);
- if (SUCCESS == zend_ts_hash_add(&php_com_typelibraries, typelib_name, typelib_name_len+1, (void*)&TL, sizeof(ITypeLib*), NULL)) {
+ if (NULL != zend_ts_hash_str_add_ptr(&php_com_typelibraries, typelib_name, typelib_name_len, TL)) {
php_com_import_typelib(TL, mode, obj->code_page TSRMLS_CC);
/* add a reference for the hash */
@@ -420,14 +420,14 @@ HRESULT php_com_get_id_of_name(php_com_dotnet_object *obj, char *name,
{
OLECHAR *olename;
HRESULT hr;
- DISPID *dispid_ptr;
+ zval *tmp;
if (namelen == -1) {
namelen = strlen(name);
}
- if (obj->id_of_name_cache && SUCCESS == zend_hash_find(obj->id_of_name_cache, name, namelen, (void**)&dispid_ptr)) {
- *dispid = *dispid_ptr;
+ if (obj->id_of_name_cache && NULL != (tmp = zend_hash_str_find(obj->id_of_name_cache, name, namelen))) {
+ *dispid = Z_LVAL_P(tmp);
return S_OK;
}
@@ -449,12 +449,15 @@ HRESULT php_com_get_id_of_name(php_com_dotnet_object *obj, char *name,
efree(olename);
if (SUCCEEDED(hr)) {
+ zval tmp;
+
/* cache the mapping */
if (!obj->id_of_name_cache) {
ALLOC_HASHTABLE(obj->id_of_name_cache);
zend_hash_init(obj->id_of_name_cache, 2, NULL, NULL, 0);
}
- zend_hash_update(obj->id_of_name_cache, name, namelen, dispid, sizeof(*dispid), NULL);
+ ZVAL_LONG(&tmp, *dispid);
+ zend_hash_str_update(obj->id_of_name_cache, name, namelen, &tmp);
}
return hr;
@@ -462,14 +465,14 @@ HRESULT php_com_get_id_of_name(php_com_dotnet_object *obj, char *name,
/* the core of COM */
int php_com_do_invoke_byref(php_com_dotnet_object *obj, char *name, int namelen,
- WORD flags, VARIANT *v, int nargs, zval ***args TSRMLS_DC)
+ WORD flags, VARIANT *v, int nargs, zval *args TSRMLS_DC)
{
DISPID dispid, altdispid;
DISPPARAMS disp_params;
HRESULT hr;
VARIANT *vargs = NULL, *byref_vals = NULL;
int i, byref_count = 0, j;
- zend_internal_function *f = (zend_internal_function*)EG(current_execute_data)->function_state.function;
+ zend_internal_function *f = (zend_internal_function*)EG(current_execute_data)->func;
/* assumption: that the active function (f) is the function we generated for the engine */
if (!f || f->arg_info == NULL) {
@@ -507,7 +510,7 @@ int php_com_do_invoke_byref(php_com_dotnet_object *obj, char *name, int namelen,
for (j = 0, i = 0; i < nargs; i++) {
if (f->arg_info[nargs - i - 1].pass_by_reference) {
/* put the value into byref_vals instead */
- php_com_variant_from_zval(&byref_vals[j], *args[nargs - i - 1], obj->code_page TSRMLS_CC);
+ php_com_variant_from_zval(&byref_vals[j], &args[nargs - i - 1], obj->code_page TSRMLS_CC);
/* if it is already byref, "move" it into the vargs array, otherwise
* make vargs a reference to this value */
@@ -522,14 +525,14 @@ int php_com_do_invoke_byref(php_com_dotnet_object *obj, char *name, int namelen,
}
j++;
} else {
- php_com_variant_from_zval(&vargs[i], *args[nargs - i - 1], obj->code_page TSRMLS_CC);
+ php_com_variant_from_zval(&vargs[i], &args[nargs - i - 1], obj->code_page TSRMLS_CC);
}
}
} else {
/* Invoke'd args are in reverse order */
for (i = 0; i < nargs; i++) {
- php_com_variant_from_zval(&vargs[i], *args[nargs - i - 1], obj->code_page TSRMLS_CC);
+ php_com_variant_from_zval(&vargs[i], &args[nargs - i - 1], obj->code_page TSRMLS_CC);
}
}
@@ -552,7 +555,7 @@ int php_com_do_invoke_byref(php_com_dotnet_object *obj, char *name, int namelen,
for (i = 0, j = 0; i < nargs; i++) {
/* if this was byref, update the zval */
if (f && f->arg_info[nargs - i - 1].pass_by_reference) {
- SEPARATE_ZVAL_IF_NOT_REF(args[nargs - i - 1]);
+ SEPARATE_ZVAL_IF_NOT_REF(&args[nargs - i - 1]);
/* if the variant is pointing at the byref_vals, we need to map
* the pointee value as a zval; otherwise, the value is pointing
@@ -560,13 +563,13 @@ int php_com_do_invoke_byref(php_com_dotnet_object *obj, char *name, int namelen,
if (V_VT(&vargs[i]) & VT_BYREF) {
if (vargs[i].byref == &V_UINT(&byref_vals[j])) {
/* copy that value */
- php_com_zval_from_variant(*args[nargs - i - 1], &byref_vals[j],
+ php_com_zval_from_variant(&args[nargs - i - 1], &byref_vals[j],
obj->code_page TSRMLS_CC);
}
} else {
/* not sure if this can ever happen; the variant we marked as BYREF
* is no longer BYREF - copy its value */
- php_com_zval_from_variant(*args[nargs - i - 1], &vargs[i],
+ php_com_zval_from_variant(&args[nargs - i - 1], &vargs[i],
obj->code_page TSRMLS_CC);
}
VariantClear(&byref_vals[j]);
@@ -583,7 +586,7 @@ int php_com_do_invoke_byref(php_com_dotnet_object *obj, char *name, int namelen,
int php_com_do_invoke_by_id(php_com_dotnet_object *obj, DISPID dispid,
- WORD flags, VARIANT *v, int nargs, zval **args, int silent, int allow_noarg TSRMLS_DC)
+ WORD flags, VARIANT *v, int nargs, zval *args, int silent, int allow_noarg TSRMLS_DC)
{
DISPID altdispid;
DISPPARAMS disp_params;
@@ -597,7 +600,7 @@ int php_com_do_invoke_by_id(php_com_dotnet_object *obj, DISPID dispid,
/* Invoke'd args are in reverse order */
for (i = 0; i < nargs; i++) {
- php_com_variant_from_zval(&vargs[i], args[nargs - i - 1], obj->code_page TSRMLS_CC);
+ php_com_variant_from_zval(&vargs[i], &args[nargs - i - 1], obj->code_page TSRMLS_CC);
}
disp_params.cArgs = nargs;
@@ -630,7 +633,7 @@ int php_com_do_invoke_by_id(php_com_dotnet_object *obj, DISPID dispid,
}
int php_com_do_invoke(php_com_dotnet_object *obj, char *name, int namelen,
- WORD flags, VARIANT *v, int nargs, zval **args, int allow_noarg TSRMLS_DC)
+ WORD flags, VARIANT *v, int nargs, zval *args, int allow_noarg TSRMLS_DC)
{
DISPID dispid;
HRESULT hr;
@@ -664,8 +667,13 @@ PHP_FUNCTION(com_create_guid)
php_com_initialize(TSRMLS_C);
if (CoCreateGuid(&retval) == S_OK && StringFromCLSID(&retval, &guid_string) == S_OK) {
- Z_TYPE_P(return_value) = IS_STRING;
- Z_STRVAL_P(return_value) = php_com_olestring_to_string(guid_string, &Z_STRLEN_P(return_value), CP_ACP TSRMLS_CC);
+ int len;
+ char *str;
+
+ str = php_com_olestring_to_string(guid_string, &len, CP_ACP TSRMLS_CC);
+ RETVAL_STRINGL(str, len);
+ // TODO: avoid reallocation ???
+ efree(str);
CoTaskMemFree(guid_string);
} else {
@@ -696,12 +704,12 @@ PHP_FUNCTION(com_event_sink)
if (sink && Z_TYPE_P(sink) == IS_ARRAY) {
/* 0 => typelibname, 1 => dispname */
- zval **tmp;
+ zval *tmp;
- if (zend_hash_index_find(Z_ARRVAL_P(sink), 0, (void**)&tmp) == SUCCESS)
- typelibname = Z_STRVAL_PP(tmp);
- if (zend_hash_index_find(Z_ARRVAL_P(sink), 1, (void**)&tmp) == SUCCESS)
- dispname = Z_STRVAL_PP(tmp);
+ if ((tmp = zend_hash_index_find(Z_ARRVAL_P(sink), 0)) != NULL && Z_TYPE_P(tmp) == IS_STRING)
+ typelibname = Z_STRVAL_P(tmp);
+ if ((tmp = zend_hash_index_find(Z_ARRVAL_P(sink), 1)) != NULL && Z_TYPE_P(tmp) == IS_STRING)
+ dispname = Z_STRVAL_P(tmp);
} else if (sink != NULL) {
convert_to_string(sink);
dispname = Z_STRVAL_P(sink);
diff --git a/ext/com_dotnet/com_dotnet.c b/ext/com_dotnet/com_dotnet.c
index 0aa1a2a9c7..9698fb3419 100644
--- a/ext/com_dotnet/com_dotnet.c
+++ b/ext/com_dotnet/com_dotnet.c
@@ -198,7 +198,8 @@ PHP_FUNCTION(com_dotnet_create_instance)
IUnknown *unk = NULL;
php_com_initialize(TSRMLS_C);
- if (COMG(dotnet_runtime_stuff) == NULL) {
+ stuff = (struct dotnet_runtime_stuff*)COMG(dotnet_runtime_stuff);
+ if (stuff == NULL) {
hr = dotnet_init(&where TSRMLS_CC);
if (FAILED(hr)) {
char buf[1024];
@@ -207,12 +208,38 @@ PHP_FUNCTION(com_dotnet_create_instance)
if (err)
LocalFree(err);
php_com_throw_exception(hr, buf TSRMLS_CC);
+ ZEND_CTOR_MAKE_NULL();
+ return;
+ }
+ stuff = (struct dotnet_runtime_stuff*)COMG(dotnet_runtime_stuff);
+
+ } else if (stuff->dotnet_domain == NULL) {
+ where = "ICorRuntimeHost_GetDefaultDomain";
+ hr = ICorRuntimeHost_GetDefaultDomain(stuff->dotnet_host, &unk);
+ if (FAILED(hr)) {
+ char buf[1024];
+ char *err = php_win32_error_to_msg(hr);
+ snprintf(buf, sizeof(buf), "Failed to re-init .Net domain [%s] %s", where, err);
+ if (err)
+ LocalFree(err);
+ php_com_throw_exception(hr, buf TSRMLS_CC);
ZVAL_NULL(object);
return;
}
- }
- stuff = (struct dotnet_runtime_stuff*)COMG(dotnet_runtime_stuff);
+ where = "QI: System._AppDomain";
+ hr = IUnknown_QueryInterface(unk, &IID_mscorlib_System_AppDomain, (LPVOID*)&stuff->dotnet_domain);
+ if (FAILED(hr)) {
+ char buf[1024];
+ char *err = php_win32_error_to_msg(hr);
+ snprintf(buf, sizeof(buf), "Failed to re-init .Net domain [%s] %s", where, err);
+ if (err)
+ LocalFree(err);
+ php_com_throw_exception(hr, buf TSRMLS_CC);
+ ZVAL_NULL(object);
+ return;
+ }
+ }
obj = CDNO_FETCH(object);
@@ -221,7 +248,7 @@ PHP_FUNCTION(com_dotnet_create_instance)
&datatype_name, &datatype_name_len,
&obj->code_page)) {
php_com_throw_exception(E_INVALIDARG, "Could not create .Net object - invalid arguments!" TSRMLS_CC);
- ZVAL_NULL(object);
+ ZEND_CTOR_MAKE_NULL();
return;
}
@@ -287,7 +314,7 @@ PHP_FUNCTION(com_dotnet_create_instance)
LocalFree(err);
}
php_com_throw_exception(hr, buf TSRMLS_CC);
- ZVAL_NULL(object);
+ ZEND_CTOR_MAKE_NULL();
return;
}
}
diff --git a/ext/com_dotnet/com_handlers.c b/ext/com_dotnet/com_handlers.c
index c889c9a06a..0d83a86648 100644
--- a/ext/com_dotnet/com_handlers.c
+++ b/ext/com_dotnet/com_handlers.c
@@ -29,42 +29,38 @@
#include "php_com_dotnet_internal.h"
#include "Zend/zend_exceptions.h"
-static zval *com_property_read(zval *object, zval *member, int type, const zend_literal *key TSRMLS_DC)
+static zval *com_property_read(zval *object, zval *member, int type, void **cahce_slot, zval *rv TSRMLS_DC)
{
- zval *return_value;
php_com_dotnet_object *obj;
VARIANT v;
HRESULT res;
- MAKE_STD_ZVAL(return_value);
- ZVAL_NULL(return_value);
- Z_SET_REFCOUNT_P(return_value, 0);
- Z_UNSET_ISREF_P(return_value);
+ ZVAL_NULL(rv);
obj = CDNO_FETCH(object);
if (V_VT(&obj->v) == VT_DISPATCH) {
VariantInit(&v);
- convert_to_string_ex(&member);
+ convert_to_string_ex(member);
res = php_com_do_invoke(obj, Z_STRVAL_P(member), Z_STRLEN_P(member),
DISPATCH_METHOD|DISPATCH_PROPERTYGET, &v, 0, NULL, 1 TSRMLS_CC);
if (res == SUCCESS) {
- php_com_zval_from_variant(return_value, &v, obj->code_page TSRMLS_CC);
+ php_com_zval_from_variant(rv, &v, obj->code_page TSRMLS_CC);
VariantClear(&v);
} else if (res == DISP_E_BADPARAMCOUNT) {
- php_com_saproxy_create(object, return_value, member TSRMLS_CC);
+ php_com_saproxy_create(object, rv, member TSRMLS_CC);
}
} else {
php_com_throw_exception(E_INVALIDARG, "this variant has no properties" TSRMLS_CC);
}
- return return_value;
+ return rv;
}
-static void com_property_write(zval *object, zval *member, zval *value, const zend_literal *key TSRMLS_DC)
+static void com_property_write(zval *object, zval *member, zval *value, void **cache_slot TSRMLS_DC)
{
php_com_dotnet_object *obj;
VARIANT v;
@@ -74,9 +70,9 @@ static void com_property_write(zval *object, zval *member, zval *value, const ze
if (V_VT(&obj->v) == VT_DISPATCH) {
VariantInit(&v);
- convert_to_string_ex(&member);
+ convert_to_string_ex(member);
if (SUCCESS == php_com_do_invoke(obj, Z_STRVAL_P(member), Z_STRLEN_P(member),
- DISPATCH_PROPERTYPUT|DISPATCH_PROPERTYPUTREF, &v, 1, &value, 0 TSRMLS_CC)) {
+ DISPATCH_PROPERTYPUT|DISPATCH_PROPERTYPUTREF, &v, 1, value, 0 TSRMLS_CC)) {
VariantClear(&v);
}
} else {
@@ -84,16 +80,12 @@ static void com_property_write(zval *object, zval *member, zval *value, const ze
}
}
-static zval *com_read_dimension(zval *object, zval *offset, int type TSRMLS_DC)
+static zval *com_read_dimension(zval *object, zval *offset, int type, zval *rv TSRMLS_DC)
{
- zval *return_value;
php_com_dotnet_object *obj;
VARIANT v;
- MAKE_STD_ZVAL(return_value);
- ZVAL_NULL(return_value);
- Z_SET_REFCOUNT_P(return_value, 0);
- Z_UNSET_ISREF_P(return_value);
+ ZVAL_NULL(rv);
obj = CDNO_FETCH(object);
@@ -101,8 +93,8 @@ static zval *com_read_dimension(zval *object, zval *offset, int type TSRMLS_DC)
VariantInit(&v);
if (SUCCESS == php_com_do_invoke_by_id(obj, DISPID_VALUE,
- DISPATCH_METHOD|DISPATCH_PROPERTYGET, &v, 1, &offset, 0, 0 TSRMLS_CC)) {
- php_com_zval_from_variant(return_value, &v, obj->code_page TSRMLS_CC);
+ DISPATCH_METHOD|DISPATCH_PROPERTYGET, &v, 1, offset, 0, 0 TSRMLS_CC)) {
+ php_com_zval_from_variant(rv, &v, obj->code_page TSRMLS_CC);
VariantClear(&v);
}
} else if (V_ISARRAY(&obj->v)) {
@@ -110,32 +102,32 @@ static zval *com_read_dimension(zval *object, zval *offset, int type TSRMLS_DC)
if (SafeArrayGetDim(V_ARRAY(&obj->v)) == 1) {
if (php_com_safearray_get_elem(&obj->v, &v, Z_LVAL_P(offset) TSRMLS_CC)) {
- php_com_wrap_variant(return_value, &v, obj->code_page TSRMLS_CC);
+ php_com_wrap_variant(rv, &v, obj->code_page TSRMLS_CC);
VariantClear(&v);
}
} else {
- php_com_saproxy_create(object, return_value, offset TSRMLS_CC);
+ php_com_saproxy_create(object, rv, offset TSRMLS_CC);
}
} else {
php_com_throw_exception(E_INVALIDARG, "this variant is not an array type" TSRMLS_CC);
}
- return return_value;
+ return rv;
}
static void com_write_dimension(zval *object, zval *offset, zval *value TSRMLS_DC)
{
php_com_dotnet_object *obj;
- zval *args[2];
+ zval args[2];
VARIANT v;
HRESULT res;
obj = CDNO_FETCH(object);
if (V_VT(&obj->v) == VT_DISPATCH) {
- args[0] = offset;
- args[1] = value;
+ ZVAL_COPY_VALUE(&args[0], offset);
+ ZVAL_COPY_VALUE(&args[1], value);
VariantInit(&v);
@@ -196,7 +188,7 @@ static zval *com_object_get(zval *property TSRMLS_DC)
}
#endif
-static int com_property_exists(zval *object, zval *member, int check_empty, const zend_literal *key TSRMLS_DC)
+static int com_property_exists(zval *object, zval *member, int check_empty, void **cache_slot TSRMLS_DC)
{
DISPID dispid;
php_com_dotnet_object *obj;
@@ -204,7 +196,7 @@ static int com_property_exists(zval *object, zval *member, int check_empty, cons
obj = CDNO_FETCH(object);
if (V_VT(&obj->v) == VT_DISPATCH) {
- convert_to_string_ex(&member);
+ convert_to_string_ex(member);
if (SUCCEEDED(php_com_get_id_of_name(obj, Z_STRVAL_P(member), Z_STRLEN_P(member), &dispid TSRMLS_CC))) {
/* TODO: distinguish between property and method! */
return 1;
@@ -222,7 +214,7 @@ static int com_dimension_exists(zval *object, zval *member, int check_empty TSRM
return 0;
}
-static void com_property_delete(zval *object, zval *member, const zend_literal *key TSRMLS_DC)
+static void com_property_delete(zval *object, zval *member, void **cache_slot TSRMLS_DC)
{
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot delete properties from a COM object");
}
@@ -242,49 +234,50 @@ static HashTable *com_properties_get(zval *object TSRMLS_DC)
return NULL;
}
-static void function_dtor(void *pDest)
+static void function_dtor(zval *zv)
{
- zend_internal_function *f = (zend_internal_function*)pDest;
+ zend_internal_function *f = (zend_internal_function*)Z_PTR_P(zv);
- efree((char*)f->function_name);
+ STR_RELEASE(f->function_name);
if (f->arg_info) {
efree(f->arg_info);
}
+ efree(f);
}
static PHP_FUNCTION(com_method_handler)
{
- Z_OBJ_HANDLER_P(getThis(), call_method)(
- ((zend_internal_function*)EG(current_execute_data)->function_state.function)->function_name,
+ zval *object = getThis();
+
+ Z_OBJ_HANDLER_P(object, call_method)(
+ ((zend_internal_function*)EG(current_execute_data)->func)->function_name,
+ Z_OBJ_P(object),
INTERNAL_FUNCTION_PARAM_PASSTHRU);
}
-static union _zend_function *com_method_get(zval **object_ptr, char *name, int len, const zend_literal *key TSRMLS_DC)
+static union _zend_function *com_method_get(zend_object **object_ptr, zend_string *name, const zval *key TSRMLS_DC)
{
zend_internal_function f, *fptr = NULL;
- php_com_dotnet_object *obj;
union _zend_function *func;
DISPID dummy;
- zval *object = *object_ptr;
-
- obj = CDNO_FETCH(object);
+ php_com_dotnet_object *obj = (php_com_dotnet_object*)*object_ptr;
if (V_VT(&obj->v) != VT_DISPATCH) {
return NULL;
}
- if (FAILED(php_com_get_id_of_name(obj, name, len, &dummy TSRMLS_CC))) {
+ if (FAILED(php_com_get_id_of_name(obj, name->val, name->len, &dummy TSRMLS_CC))) {
return NULL;
}
/* check cache */
- if (obj->method_cache == NULL || FAILURE == zend_hash_find(obj->method_cache, name, len, (void**)&fptr)) {
+ if (obj->method_cache == NULL || NULL == (fptr = zend_hash_find_ptr(obj->method_cache, name))) {
f.type = ZEND_OVERLOADED_FUNCTION;
f.num_args = 0;
f.arg_info = NULL;
f.scope = obj->ce;
f.fn_flags = ZEND_ACC_CALL_VIA_HANDLER;
- f.function_name = estrndup(name, len);
+ f.function_name = STR_COPY(name);
f.handler = PHP_FN(com_method_handler);
fptr = &f;
@@ -300,7 +293,7 @@ static union _zend_function *com_method_get(zval **object_ptr, char *name, int l
int i;
if (SUCCEEDED(ITypeInfo_GetTypeComp(obj->typeinfo, &comp))) {
- olename = php_com_string_to_olestring(name, len, obj->code_page TSRMLS_CC);
+ olename = php_com_string_to_olestring(name->val, name->len, obj->code_page TSRMLS_CC);
lhash = LHashValOfNameSys(SYS_WIN32, LOCALE_SYSTEM_DEFAULT, olename);
if (SUCCEEDED(ITypeComp_Bind(comp, olename, lhash, INVOKE_FUNC, &TI, &kind, &bindptr))) {
@@ -348,7 +341,7 @@ static union _zend_function *com_method_get(zval **object_ptr, char *name, int l
zend_hash_init(obj->method_cache, 2, NULL, function_dtor, 0);
}
- zend_hash_update(obj->method_cache, name, len, &f, sizeof(f), (void**)&fptr);
+ zend_hash_update_mem(obj->method_cache, name, &f, sizeof(f));
}
}
@@ -364,15 +357,13 @@ static union _zend_function *com_method_get(zval **object_ptr, char *name, int l
return NULL;
}
-static int com_call_method(const char *method, INTERNAL_FUNCTION_PARAMETERS)
+static int com_call_method(zend_string *method, zend_object *object, INTERNAL_FUNCTION_PARAMETERS)
{
- zval ***args = NULL;
- php_com_dotnet_object *obj;
+ zval *args = NULL;
+ php_com_dotnet_object *obj = (php_com_dotnet_object*)object;
int nargs;
VARIANT v;
int ret = FAILURE;
-
- obj = CDNO_FETCH(getThis());
if (V_VT(&obj->v) != VT_DISPATCH) {
return FAILURE;
@@ -381,13 +372,13 @@ static int com_call_method(const char *method, INTERNAL_FUNCTION_PARAMETERS)
nargs = ZEND_NUM_ARGS();
if (nargs) {
- args = (zval ***)safe_emalloc(sizeof(zval *), nargs, 0);
+ args = (zval *)safe_emalloc(sizeof(zval), nargs, 0);
zend_get_parameters_array_ex(nargs, args);
}
VariantInit(&v);
- if (SUCCESS == php_com_do_invoke_byref(obj, (char*)method, -1, DISPATCH_METHOD|DISPATCH_PROPERTYGET, &v, nargs, args TSRMLS_CC)) {
+ if (SUCCESS == php_com_do_invoke_byref(obj, method->val, method->len, DISPATCH_METHOD|DISPATCH_PROPERTYGET, &v, nargs, args TSRMLS_CC)) {
php_com_zval_from_variant(return_value, &v, obj->code_page TSRMLS_CC);
ret = SUCCESS;
VariantClear(&v);
@@ -400,16 +391,14 @@ static int com_call_method(const char *method, INTERNAL_FUNCTION_PARAMETERS)
return ret;
}
-static union _zend_function *com_constructor_get(zval *object TSRMLS_DC)
+static union _zend_function *com_constructor_get(zend_object *object TSRMLS_DC)
{
- php_com_dotnet_object *obj;
+ php_com_dotnet_object *obj = (php_com_dotnet_object *) object;
static zend_internal_function c, d, v;
- obj = CDNO_FETCH(object);
-
#define POPULATE_CTOR(f, fn) \
f.type = ZEND_INTERNAL_FUNCTION; \
- f.function_name = (char *) obj->ce->name; \
+ f.function_name = obj->ce->name; \
f.scope = obj->ce; \
f.arg_info = NULL; \
f.num_args = 0; \
@@ -417,7 +406,7 @@ static union _zend_function *com_constructor_get(zval *object TSRMLS_DC)
f.handler = ZEND_FN(fn); \
return (union _zend_function*)&f;
- switch (obj->ce->name[0]) {
+ switch (obj->ce->name->val[0]) {
#if HAVE_MSCOREE_H
case 'd':
POPULATE_CTOR(d, com_dotnet_create_instance);
@@ -434,23 +423,18 @@ static union _zend_function *com_constructor_get(zval *object TSRMLS_DC)
}
}
-static zend_class_entry *com_class_entry_get(const zval *object TSRMLS_DC)
+static zend_class_entry *com_class_entry_get(const zend_object *object TSRMLS_DC)
{
- php_com_dotnet_object *obj;
- obj = CDNO_FETCH(object);
+ php_com_dotnet_object *obj = (php_com_dotnet_object *)object;
return obj->ce;
}
-static int com_class_name_get(const zval *object, const char **class_name, zend_uint *class_name_len, int parent TSRMLS_DC)
+static zend_string* com_class_name_get(const zend_object *object, int parent TSRMLS_DC)
{
- php_com_dotnet_object *obj;
- obj = CDNO_FETCH(object);
+ php_com_dotnet_object *obj = (php_com_dotnet_object *)object;
- *class_name = estrndup(obj->ce->name, obj->ce->name_length);
- *class_name_len = obj->ce->name_length;
-
- return 0;
+ return STR_COPY(obj->ce->name);
}
/* This compares two variants for equality */
@@ -513,7 +497,8 @@ static int com_object_cast(zval *readobj, zval *writeobj, int type TSRMLS_DC)
case IS_DOUBLE:
vt = VT_R8;
break;
- case IS_BOOL:
+ case IS_FALSE:
+ case IS_TRUE:
vt = VT_BOOL;
break;
case IS_STRING:
@@ -560,7 +545,10 @@ static int com_object_count(zval *object, long *count TSRMLS_DC)
}
zend_object_handlers php_com_object_handlers = {
- ZEND_OBJECTS_STORE_HANDLERS,
+ 0,
+ php_com_object_free_storage,
+ zend_objects_destroy_object,
+ php_com_object_clone,
com_property_read,
com_property_write,
com_read_dimension,
@@ -610,7 +598,7 @@ void php_com_object_enable_event_sink(php_com_dotnet_object *obj, int enable TSR
}
}
-void php_com_object_free_storage(void *object TSRMLS_DC)
+void php_com_object_free_storage(zend_object *object TSRMLS_DC)
{
php_com_dotnet_object *obj = (php_com_dotnet_object*)object;
@@ -635,14 +623,13 @@ void php_com_object_free_storage(void *object TSRMLS_DC)
zend_hash_destroy(obj->id_of_name_cache);
FREE_HASHTABLE(obj->id_of_name_cache);
}
- efree(obj);
}
-void php_com_object_clone(void *object, void **clone_ptr TSRMLS_DC)
+zend_object* php_com_object_clone(zval *object TSRMLS_DC)
{
php_com_dotnet_object *cloneobj, *origobject;
- origobject = (php_com_dotnet_object*)object;
+ origobject = (php_com_dotnet_object*)Z_OBJ_P(object);
cloneobj = (php_com_dotnet_object*)emalloc(sizeof(php_com_dotnet_object));
memcpy(cloneobj, origobject, sizeof(*cloneobj));
@@ -659,13 +646,12 @@ void php_com_object_clone(void *object, void **clone_ptr TSRMLS_DC)
ITypeInfo_AddRef(cloneobj->typeinfo);
}
- *clone_ptr = cloneobj;
+ return (zend_object*)cloneobj;
}
-zend_object_value php_com_object_new(zend_class_entry *ce TSRMLS_DC)
+zend_object* php_com_object_new(zend_class_entry *ce TSRMLS_DC)
{
php_com_dotnet_object *obj;
- zend_object_value retval;
php_com_initialize(TSRMLS_C);
obj = emalloc(sizeof(*obj));
@@ -674,10 +660,9 @@ zend_object_value php_com_object_new(zend_class_entry *ce TSRMLS_DC)
VariantInit(&obj->v);
obj->code_page = CP_ACP;
obj->ce = ce;
- obj->zo.ce = ce;
- retval.handle = zend_objects_store_put(obj, NULL, php_com_object_free_storage, php_com_object_clone TSRMLS_CC);
- retval.handlers = &php_com_object_handlers;
+ zend_object_std_init(&obj->zo, ce TSRMLS_CC);
+ obj->zo.handlers = &php_com_object_handlers;
- return retval;
+ return (zend_object*)obj;
}
diff --git a/ext/com_dotnet/com_iterator.c b/ext/com_dotnet/com_iterator.c
index d6f22efcdf..7da10f1b66 100644
--- a/ext/com_dotnet/com_iterator.c
+++ b/ext/com_dotnet/com_iterator.c
@@ -38,45 +38,42 @@ struct php_com_iterator {
VARIANT safe_array;
VARTYPE sa_type;
LONG sa_max;
- zval *zdata;
+ zval zdata;
};
static void com_iter_dtor(zend_object_iterator *iter TSRMLS_DC)
{
- struct php_com_iterator *I = (struct php_com_iterator*)iter->data;
+ struct php_com_iterator *I = (struct php_com_iterator*)Z_PTR(iter->data);
if (I->ev) {
IEnumVARIANT_Release(I->ev);
}
VariantClear(&I->v);
VariantClear(&I->safe_array);
- if (I->zdata) {
- zval_ptr_dtor((zval**)&I->zdata);
- }
- efree(I);
+ zval_ptr_dtor(&I->zdata);
}
static int com_iter_valid(zend_object_iterator *iter TSRMLS_DC)
{
- struct php_com_iterator *I = (struct php_com_iterator*)iter->data;
+ struct php_com_iterator *I = (struct php_com_iterator*)Z_PTR(iter->data);
- if (I->zdata) {
+ if (Z_TYPE(I->zdata) != IS_UNDEF) {
return SUCCESS;
}
return FAILURE;
}
-static void com_iter_get_data(zend_object_iterator *iter, zval ***data TSRMLS_DC)
+static zval* com_iter_get_data(zend_object_iterator *iter TSRMLS_DC)
{
- struct php_com_iterator *I = (struct php_com_iterator*)iter->data;
+ struct php_com_iterator *I = (struct php_com_iterator*)Z_PTR(iter->data);
- *data = &I->zdata;
+ return &I->zdata;
}
static void com_iter_get_key(zend_object_iterator *iter, zval *key TSRMLS_DC)
{
- struct php_com_iterator *I = (struct php_com_iterator*)iter->data;
+ struct php_com_iterator *I = (struct php_com_iterator*)Z_PTR(iter->data);
if (I->key == (ulong)-1) {
ZVAL_NULL(key);
@@ -87,16 +84,16 @@ static void com_iter_get_key(zend_object_iterator *iter, zval *key TSRMLS_DC)
static int com_iter_move_forwards(zend_object_iterator *iter TSRMLS_DC)
{
- struct php_com_iterator *I = (struct php_com_iterator*)iter->data;
+ struct php_com_iterator *I = (struct php_com_iterator*)Z_PTR(iter->data);
unsigned long n_fetched;
- zval *ptr;
+ zval ptr;
/* release current cached element */
VariantClear(&I->v);
- if (I->zdata) {
- zval_ptr_dtor((zval**)&I->zdata);
- I->zdata = NULL;
+ if (Z_TYPE(I->zdata) != IS_UNDEF) {
+ zval_ptr_dtor(&I->zdata);
+ ZVAL_UNDEF(&I->zdata);
}
if (I->ev) {
@@ -121,10 +118,10 @@ static int com_iter_move_forwards(zend_object_iterator *iter TSRMLS_DC)
}
}
- MAKE_STD_ZVAL(ptr);
- php_com_zval_from_variant(ptr, &I->v, I->code_page TSRMLS_CC);
+ ZVAL_NULL(&ptr);
+ php_com_zval_from_variant(&ptr, &I->v, I->code_page TSRMLS_CC);
/* php_com_wrap_variant(ptr, &I->v, I->code_page TSRMLS_CC); */
- I->zdata = ptr;
+ ZVAL_COPY_VALUE(&I->zdata, &ptr);
return SUCCESS;
}
@@ -146,7 +143,7 @@ zend_object_iterator *php_com_iter_get(zend_class_entry *ce, zval *object, int b
DISPPARAMS dp;
VARIANT v;
unsigned long n_fetched;
- zval *ptr;
+ zval ptr;
if (by_ref) {
zend_error(E_ERROR, "An iterator cannot be used with foreach by reference");
@@ -163,10 +160,11 @@ zend_object_iterator *php_com_iter_get(zend_class_entry *ce, zval *object, int b
VariantInit(&v);
I = (struct php_com_iterator*)ecalloc(1, sizeof(*I));
+ zend_iterator_init(&I->iter TSRMLS_CC);
I->iter.funcs = &com_iter_funcs;
- I->iter.data = I;
+ Z_PTR(I->iter.data) = I;
I->code_page = obj->code_page;
- I->zdata = NULL;
+ ZVAL_UNDEF(&I->zdata);
VariantInit(&I->safe_array);
VariantInit(&I->v);
@@ -193,9 +191,9 @@ zend_object_iterator *php_com_iter_get(zend_class_entry *ce, zval *object, int b
/* pre-fetch the element */
if (php_com_safearray_get_elem(&I->safe_array, &I->v, bound TSRMLS_CC)) {
I->key = bound;
- MAKE_STD_ZVAL(ptr);
- php_com_zval_from_variant(ptr, &I->v, I->code_page TSRMLS_CC);
- I->zdata = ptr;
+ ZVAL_NULL(&ptr);
+ php_com_zval_from_variant(&ptr, &I->v, I->code_page TSRMLS_CC);
+ ZVAL_COPY_VALUE(&I->zdata, &ptr);
} else {
I->key = (ulong)-1;
}
@@ -227,9 +225,9 @@ zend_object_iterator *php_com_iter_get(zend_class_entry *ce, zval *object, int b
if (SUCCEEDED(IEnumVARIANT_Next(I->ev, 1, &I->v, &n_fetched)) && n_fetched > 0) {
/* indicate that we have element 0 */
I->key = 0;
- MAKE_STD_ZVAL(ptr);
- php_com_zval_from_variant(ptr, &I->v, I->code_page TSRMLS_CC);
- I->zdata = ptr;
+ ZVAL_NULL(&ptr);
+ php_com_zval_from_variant(&ptr, &I->v, I->code_page TSRMLS_CC);
+ ZVAL_COPY_VALUE(&I->zdata, &ptr);
} else {
/* indicate that there are no more items */
I->key = (ulong)-1;
diff --git a/ext/com_dotnet/com_misc.c b/ext/com_dotnet/com_misc.c
index b65a6be85d..5cd6808b36 100644
--- a/ext/com_dotnet/com_misc.c
+++ b/ext/com_dotnet/com_misc.c
@@ -60,9 +60,9 @@ PHP_COM_DOTNET_API void php_com_wrap_dispatch(zval *z, IDispatch *disp,
IDispatch_AddRef(V_DISPATCH(&obj->v));
IDispatch_GetTypeInfo(V_DISPATCH(&obj->v), 0, LANG_NEUTRAL, &obj->typeinfo);
- Z_TYPE_P(z) = IS_OBJECT;
- z->value.obj.handle = zend_objects_store_put(obj, NULL, php_com_object_free_storage, php_com_object_clone TSRMLS_CC);
- z->value.obj.handlers = &php_com_object_handlers;
+ zend_object_std_init(&obj->zo, php_com_variant_class_entry TSRMLS_CC);
+ obj->zo.handlers = &php_com_object_handlers;
+ ZVAL_OBJ(z, &obj->zo);
}
PHP_COM_DOTNET_API void php_com_wrap_variant(zval *z, VARIANT *v,
@@ -84,10 +84,9 @@ PHP_COM_DOTNET_API void php_com_wrap_variant(zval *z, VARIANT *v,
IDispatch_GetTypeInfo(V_DISPATCH(&obj->v), 0, LANG_NEUTRAL, &obj->typeinfo);
}
- Z_TYPE_P(z) = IS_OBJECT;
-
- z->value.obj.handle = zend_objects_store_put(obj, NULL, php_com_object_free_storage, php_com_object_clone TSRMLS_CC);
- z->value.obj.handlers = &php_com_object_handlers;
+ zend_object_std_init(&obj->zo, php_com_variant_class_entry TSRMLS_CC);
+ obj->zo.handlers = &php_com_object_handlers;
+ ZVAL_OBJ(z, &obj->zo);
}
/* this is a convenience function for fetching a particular
diff --git a/ext/com_dotnet/com_persist.c b/ext/com_dotnet/com_persist.c
index aaddf9ce9a..66e3dec640 100644
--- a/ext/com_dotnet/com_persist.c
+++ b/ext/com_dotnet/com_persist.c
@@ -41,13 +41,13 @@ typedef struct {
DWORD engine_thread;
LONG refcount;
php_stream *stream;
- int id;
+ zend_resource *res;
} php_istream;
static int le_istream;
static void istream_destructor(php_istream *stm TSRMLS_DC);
-static void istream_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
+static void istream_dtor(zend_resource *rsrc TSRMLS_DC)
{
php_istream *stm = (php_istream *)rsrc->ptr;
istream_destructor(stm TSRMLS_CC);
@@ -97,8 +97,8 @@ static ULONG STDMETHODCALLTYPE stm_release(IStream *This)
ret = InterlockedDecrement(&stm->refcount);
if (ret == 0) {
/* destroy it */
- if (stm->id)
- zend_list_delete(stm->id);
+ if (stm->res)
+ zend_list_delete(stm->res);
}
return ret;
}
@@ -251,10 +251,10 @@ static struct IStreamVtbl php_istream_vtbl = {
static void istream_destructor(php_istream *stm TSRMLS_DC)
{
- if (stm->id) {
- int id = stm->id;
- stm->id = 0;
- zend_list_delete(id);
+ if (stm->res) {
+ zend_resource *res = stm->res;
+ stm->res = NULL;
+ zend_list_delete(res);
return;
}
@@ -262,7 +262,7 @@ static void istream_destructor(php_istream *stm TSRMLS_DC)
CoDisconnectObject((IUnknown*)stm, 0);
}
- zend_list_delete(stm->stream->rsrc_id);
+ zend_list_delete(stm->stream->res);
CoTaskMemFree(stm);
}
@@ -271,6 +271,7 @@ static void istream_destructor(php_istream *stm TSRMLS_DC)
PHP_COM_DOTNET_API IStream *php_com_wrapper_export_stream(php_stream *stream TSRMLS_DC)
{
php_istream *stm = (php_istream*)CoTaskMemAlloc(sizeof(*stm));
+ zval *tmp;
if (stm == NULL)
return NULL;
@@ -281,8 +282,9 @@ PHP_COM_DOTNET_API IStream *php_com_wrapper_export_stream(php_stream *stream TSR
stm->refcount = 1;
stm->stream = stream;
- zend_list_addref(stream->rsrc_id);
- stm->id = zend_list_insert(stm, le_istream TSRMLS_CC);
+ GC_REFCOUNT(stream->res)++;
+ tmp = zend_list_insert(stm, le_istream TSRMLS_CC);
+ stm->res = Z_RES_P(tmp);
return (IStream*)stm;
}
@@ -291,7 +293,7 @@ PHP_COM_DOTNET_API IStream *php_com_wrapper_export_stream(php_stream *stream TSR
#define CPH_SME(fname, arginfo) PHP_ME(com_persist, fname, arginfo, ZEND_ACC_ALLOW_STATIC|ZEND_ACC_PUBLIC)
#define CPH_METHOD(fname) static PHP_METHOD(com_persist, fname)
-#define CPH_FETCH() php_com_persist_helper *helper = (php_com_persist_helper*)zend_object_store_get_object(getThis() TSRMLS_CC);
+#define CPH_FETCH() php_com_persist_helper *helper = (php_com_persist_helper*)Z_OBJ_P(getThis());
#define CPH_NO_OBJ() if (helper->unk == NULL) { php_com_throw_exception(E_INVALIDARG, "No COM object is associated with this helper instance" TSRMLS_CC); return; }
@@ -347,9 +349,12 @@ CPH_METHOD(GetCurFileName)
res = IPersistFile_GetCurFile(helper->ipf, &olename);
if (res == S_OK) {
- Z_TYPE_P(return_value) = IS_STRING;
- Z_STRVAL_P(return_value) = php_com_olestring_to_string(olename,
- &Z_STRLEN_P(return_value), helper->codepage TSRMLS_CC);
+ int len;
+ char *str = php_com_olestring_to_string(olename,
+ &len, helper->codepage TSRMLS_CC);
+ RETVAL_STRINGL(str, len);
+ // TODO: avoid reallocarion???
+ efree(str);
CoTaskMemFree(olename);
return;
} else if (res == S_FALSE) {
@@ -545,7 +550,7 @@ CPH_METHOD(LoadFromStream)
return;
}
- php_stream_from_zval_no_verify(stream, &zstm);
+ php_stream_from_zval_no_verify(stream, zstm);
if (stream == NULL) {
php_com_throw_exception(E_INVALIDARG, "expected a stream" TSRMLS_CC);
@@ -607,7 +612,7 @@ CPH_METHOD(SaveToStream)
return;
}
- php_stream_from_zval_no_verify(stream, &zstm);
+ php_stream_from_zval_no_verify(stream, zstm);
if (stream == NULL) {
php_com_throw_exception(E_INVALIDARG, "expected a stream" TSRMLS_CC);
@@ -688,7 +693,7 @@ static const zend_function_entry com_persist_helper_methods[] = {
PHP_FE_END
};
-static void helper_free_storage(void *obj TSRMLS_DC)
+static void helper_free_storage(zend_object *obj TSRMLS_DC)
{
php_com_persist_helper *object = (php_com_persist_helper*)obj;
@@ -705,17 +710,15 @@ static void helper_free_storage(void *obj TSRMLS_DC)
IUnknown_Release(object->unk);
}
zend_object_std_dtor(&object->std TSRMLS_CC);
- efree(object);
}
-static void helper_clone(void *obj, void **clone_ptr TSRMLS_DC)
+static zend_object* helper_clone(zval *obj TSRMLS_DC)
{
- php_com_persist_helper *clone, *object = (php_com_persist_helper*)obj;
+ php_com_persist_helper *clone, *object = (php_com_persist_helper*)Z_OBJ_P(obj);
clone = emalloc(sizeof(*object));
memcpy(clone, object, sizeof(*object));
- *clone_ptr = clone;
zend_object_std_init(&clone->std, object->std.ce TSRMLS_CC);
@@ -731,22 +734,20 @@ static void helper_clone(void *obj, void **clone_ptr TSRMLS_DC)
if (clone->unk) {
IUnknown_AddRef(clone->unk);
}
+ return (zend_object*)clone;
}
-static zend_object_value helper_new(zend_class_entry *ce TSRMLS_DC)
+static zend_object* helper_new(zend_class_entry *ce TSRMLS_DC)
{
php_com_persist_helper *helper;
- zend_object_value retval;
helper = emalloc(sizeof(*helper));
memset(helper, 0, sizeof(*helper));
zend_object_std_init(&helper->std, helper_ce TSRMLS_CC);
-
- retval.handle = zend_objects_store_put(helper, NULL, helper_free_storage, helper_clone TSRMLS_CC);
- retval.handlers = &helper_handlers;
+ helper->std.handlers = &helper_handlers;
- return retval;
+ return &helper->std;
}
int php_com_persist_minit(INIT_FUNC_ARGS)
@@ -754,7 +755,8 @@ int php_com_persist_minit(INIT_FUNC_ARGS)
zend_class_entry ce;
memcpy(&helper_handlers, zend_get_std_object_handlers(), sizeof(helper_handlers));
- helper_handlers.clone_obj = NULL;
+ helper_handlers.free_obj = helper_free_storage;
+ helper_handlers.clone_obj = helper_clone;
INIT_CLASS_ENTRY(ce, "COMPersistHelper", com_persist_helper_methods);
ce.create_object = helper_new;
diff --git a/ext/com_dotnet/com_saproxy.c b/ext/com_dotnet/com_saproxy.c
index 0d557e60ee..9b3716f43a 100644
--- a/ext/com_dotnet/com_saproxy.c
+++ b/ext/com_dotnet/com_saproxy.c
@@ -37,6 +37,7 @@
#include "Zend/zend_exceptions.h"
typedef struct {
+ zend_object std;
/* the object we a proxying for; we hold a refcount to it */
zval *zobj;
php_com_dotnet_object *obj;
@@ -45,95 +46,89 @@ typedef struct {
LONG dimensions;
/* this is an array whose size_is(dimensions) */
- zval **indices;
+ zval *indices;
} php_com_saproxy;
typedef struct {
zend_object_iterator iter;
- zval *proxy_obj;
+ zval proxy_obj;
+ zval data;
php_com_saproxy *proxy;
LONG key;
LONG imin, imax;
LONG *indices;
} php_com_saproxy_iter;
-#define SA_FETCH(zv) (php_com_saproxy*)zend_object_store_get_object(zv TSRMLS_CC)
+#define SA_FETCH(zv) (php_com_saproxy*)Z_OBJ_P(zv)
static inline void clone_indices(php_com_saproxy *dest, php_com_saproxy *src, int ndims)
{
int i;
for (i = 0; i < ndims; i++) {
- MAKE_STD_ZVAL(dest->indices[i]);
- *dest->indices[i] = *src->indices[i];
- zval_copy_ctor(dest->indices[i]);
+ ZVAL_DUP(&dest->indices[i], &src->indices[i]);
}
}
-static zval *saproxy_property_read(zval *object, zval *member, int type, const zend_literal *key TSRMLS_DC)
+static zval *saproxy_property_read(zval *object, zval *member, int type, void **cahce_slot, zval *rv TSRMLS_DC)
{
- zval *return_value;
-
- MAKE_STD_ZVAL(return_value);
- ZVAL_NULL(return_value);
+ ZVAL_NULL(rv);
php_com_throw_exception(E_INVALIDARG, "safearray has no properties" TSRMLS_CC);
- return return_value;
+ return rv;
}
-static void saproxy_property_write(zval *object, zval *member, zval *value, const zend_literal *key TSRMLS_DC)
+static void saproxy_property_write(zval *object, zval *member, zval *value, void **cache_slot TSRMLS_DC)
{
php_com_throw_exception(E_INVALIDARG, "safearray has no properties" TSRMLS_CC);
}
-static zval *saproxy_read_dimension(zval *object, zval *offset, int type TSRMLS_DC)
+static zval *saproxy_read_dimension(zval *object, zval *offset, int type, zval *rv TSRMLS_DC)
{
php_com_saproxy *proxy = SA_FETCH(object);
- zval *return_value;
UINT dims, i;
SAFEARRAY *sa;
LONG ubound, lbound;
HRESULT res;
- MAKE_STD_ZVAL(return_value);
- ZVAL_NULL(return_value);
+ ZVAL_NULL(rv);
if (V_VT(&proxy->obj->v) == VT_DISPATCH) {
VARIANT v;
- zval **args;
+ zval *args;
/* prop-get using first dimension as the property name,
* all subsequent dimensions and the offset as parameters */
- args = safe_emalloc(proxy->dimensions + 1, sizeof(zval *), 0);
+ args = safe_emalloc(proxy->dimensions + 1, sizeof(zval), 0);
for (i = 1; i < (UINT) proxy->dimensions; i++) {
args[i-1] = proxy->indices[i];
}
- args[i-1] = offset;
+ ZVAL_COPY_VALUE(&args[i-1], offset);
- convert_to_string(proxy->indices[0]);
+ convert_to_string(&proxy->indices[0]);
VariantInit(&v);
- res = php_com_do_invoke(proxy->obj, Z_STRVAL_P(proxy->indices[0]),
- Z_STRLEN_P(proxy->indices[0]), DISPATCH_METHOD|DISPATCH_PROPERTYGET, &v,
+ res = php_com_do_invoke(proxy->obj, Z_STRVAL(proxy->indices[0]),
+ Z_STRLEN(proxy->indices[0]), DISPATCH_METHOD|DISPATCH_PROPERTYGET, &v,
proxy->dimensions, args, 0 TSRMLS_CC);
if (res == SUCCESS) {
- php_com_zval_from_variant(return_value, &v, proxy->obj->code_page TSRMLS_CC);
+ php_com_zval_from_variant(rv, &v, proxy->obj->code_page TSRMLS_CC);
VariantClear(&v);
} else if (res == DISP_E_BADPARAMCOUNT) {
/* return another proxy */
- php_com_saproxy_create(object, return_value, offset TSRMLS_CC);
+ php_com_saproxy_create(object, rv, offset TSRMLS_CC);
}
- return return_value;
+ return rv;
} else if (!V_ISARRAY(&proxy->obj->v)) {
php_com_throw_exception(E_INVALIDARG, "invalid read from com proxy object" TSRMLS_CC);
- return return_value;
+ return rv;
}
/* the SafeArray case */
@@ -147,7 +142,7 @@ static zval *saproxy_read_dimension(zval *object, zval *offset, int type TSRMLS_
if ((UINT) proxy->dimensions >= dims) {
/* too many dimensions */
php_com_throw_exception(E_INVALIDARG, "too many dimensions!" TSRMLS_CC);
- return return_value;
+ return rv;
}
/* bounds check */
@@ -156,7 +151,7 @@ static zval *saproxy_read_dimension(zval *object, zval *offset, int type TSRMLS_
if (Z_LVAL_P(offset) < lbound || Z_LVAL_P(offset) > ubound) {
php_com_throw_exception(DISP_E_BADINDEX, "index out of bounds" TSRMLS_CC);
- return return_value;
+ return rv;
}
if (dims - 1 == proxy->dimensions) {
@@ -171,8 +166,8 @@ static zval *saproxy_read_dimension(zval *object, zval *offset, int type TSRMLS_
/* copy indices from proxy */
for (i = 0; i < dims; i++) {
- convert_to_long(proxy->indices[i]);
- indices[i] = Z_LVAL_P(proxy->indices[i]);
+ convert_to_long(&proxy->indices[i]);
+ indices[i] = Z_LVAL(proxy->indices[i]);
}
/* add user-supplied index */
@@ -193,7 +188,7 @@ static zval *saproxy_read_dimension(zval *object, zval *offset, int type TSRMLS_
efree(indices);
if (SUCCEEDED(res)) {
- php_com_wrap_variant(return_value, &v, proxy->obj->code_page TSRMLS_CC);
+ php_com_wrap_variant(rv, &v, proxy->obj->code_page TSRMLS_CC);
} else {
php_com_throw_exception(res, NULL TSRMLS_CC);
}
@@ -202,10 +197,10 @@ static zval *saproxy_read_dimension(zval *object, zval *offset, int type TSRMLS_
} else {
/* return another proxy */
- php_com_saproxy_create(object, return_value, offset TSRMLS_CC);
+ php_com_saproxy_create(object, rv, offset TSRMLS_CC);
}
- return return_value;
+ return rv;
}
static void saproxy_write_dimension(zval *object, zval *offset, zval *value TSRMLS_DC)
@@ -219,18 +214,18 @@ static void saproxy_write_dimension(zval *object, zval *offset, zval *value TSRM
/* We do a prop-set using the first dimension as the property name,
* all subsequent dimensions and offset as parameters, with value as
* the final value */
- zval **args = safe_emalloc(proxy->dimensions + 2, sizeof(zval *), 0);
+ zval *args = safe_emalloc(proxy->dimensions + 2, sizeof(zval), 0);
for (i = 1; i < (UINT) proxy->dimensions; i++) {
- args[i-1] = proxy->indices[i];
+ ZVAL_COPY_VALUE(&args[i-1], &proxy->indices[i]);
}
- args[i-1] = offset;
- args[i] = value;
+ ZVAL_COPY_VALUE(&args[i-1], offset);
+ ZVAL_COPY_VALUE(&args[i], value);
- convert_to_string(proxy->indices[0]);
+ convert_to_string(&proxy->indices[0]);
VariantInit(&v);
- if (SUCCESS == php_com_do_invoke(proxy->obj, Z_STRVAL_P(proxy->indices[0]),
- Z_STRLEN_P(proxy->indices[0]), DISPATCH_PROPERTYPUT, &v, proxy->dimensions + 1,
+ if (SUCCESS == php_com_do_invoke(proxy->obj, Z_STRVAL(proxy->indices[0]),
+ Z_STRLEN(proxy->indices[0]), DISPATCH_PROPERTYPUT, &v, proxy->dimensions + 1,
args, 0 TSRMLS_CC)) {
VariantClear(&v);
}
@@ -245,8 +240,8 @@ static void saproxy_write_dimension(zval *object, zval *offset, zval *value TSRM
indices = safe_emalloc(dims, sizeof(LONG), 0);
/* copy indices from proxy */
for (i = 0; i < dims; i++) {
- convert_to_long(proxy->indices[i]);
- indices[i] = Z_LVAL_P(proxy->indices[i]);
+ convert_to_long(&proxy->indices[i]);
+ indices[i] = Z_LVAL(proxy->indices[i]);
}
/* add user-supplied index */
@@ -293,7 +288,7 @@ static zval *saproxy_object_get(zval *property TSRMLS_DC)
}
#endif
-static int saproxy_property_exists(zval *object, zval *member, int check_empty, const zend_literal *key TSRMLS_DC)
+static int saproxy_property_exists(zval *object, zval *member, int check_empty, void **cache_slot TSRMLS_DC)
{
/* no properties */
return 0;
@@ -305,7 +300,7 @@ static int saproxy_dimension_exists(zval *object, zval *member, int check_empty
return 0;
}
-static void saproxy_property_delete(zval *object, zval *member, const zend_literal *key TSRMLS_DC)
+static void saproxy_property_delete(zval *object, zval *member, void **cache_slot TSRMLS_DC)
{
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot delete properties from a COM object");
}
@@ -321,33 +316,31 @@ static HashTable *saproxy_properties_get(zval *object TSRMLS_DC)
return NULL;
}
-static union _zend_function *saproxy_method_get(zval **object, const char *name, int len, const zend_literal *key TSRMLS_DC)
+static union _zend_function *saproxy_method_get(zend_object **object, zend_string *name, const zval *key TSRMLS_DC)
{
/* no methods */
return NULL;
}
-static int saproxy_call_method(const char *method, INTERNAL_FUNCTION_PARAMETERS)
+static int saproxy_call_method(zend_string *method, zend_object *object, INTERNAL_FUNCTION_PARAMETERS)
{
return FAILURE;
}
-static union _zend_function *saproxy_constructor_get(zval *object TSRMLS_DC)
+static union _zend_function *saproxy_constructor_get(zend_object *object TSRMLS_DC)
{
/* user cannot instantiate */
return NULL;
}
-static zend_class_entry *saproxy_class_entry_get(const zval *object TSRMLS_DC)
+static zend_class_entry *saproxy_class_entry_get(const zend_object *object TSRMLS_DC)
{
return php_com_saproxy_class_entry;
}
-static int saproxy_class_name_get(const zval *object, const char **class_name, zend_uint *class_name_len, int parent TSRMLS_DC)
+static zend_string* saproxy_class_name_get(const zend_object *object, int parent TSRMLS_DC)
{
- *class_name = estrndup(php_com_saproxy_class_entry->name, php_com_saproxy_class_entry->name_length);
- *class_name_len = php_com_saproxy_class_entry->name_length;
- return 0;
+ return STR_COPY(php_com_saproxy_class_entry->name);
}
static int saproxy_objects_compare(zval *object1, zval *object2 TSRMLS_DC)
@@ -377,8 +370,41 @@ static int saproxy_count_elements(zval *object, long *count TSRMLS_DC)
return SUCCESS;
}
+static void saproxy_free_storage(zend_object *object TSRMLS_DC)
+{
+ php_com_saproxy *proxy = (php_com_saproxy *)object;
+//??? int i;
+//???
+//??? for (i = 0; i < proxy->dimensions; i++) {
+//??? if (proxy->indices) {
+//??? FREE_ZVAL(proxy->indices[i]);
+//??? }
+//??? }
+
+ zval_ptr_dtor(proxy->zobj);
+ efree(proxy->indices);
+}
+
+static zend_object* saproxy_clone(zval *object TSRMLS_DC)
+{
+ php_com_saproxy *proxy = (php_com_saproxy *)Z_OBJ_P(object);
+ php_com_saproxy *cloneproxy;
+
+ cloneproxy = emalloc(sizeof(*cloneproxy));
+ memcpy(cloneproxy, proxy, sizeof(*cloneproxy));
+
+ Z_ADDREF_P(cloneproxy->zobj);
+ cloneproxy->indices = safe_emalloc(cloneproxy->dimensions, sizeof(zval *), 0);
+ clone_indices(cloneproxy, proxy, proxy->dimensions);
+
+ return &cloneproxy->std;
+}
+
zend_object_handlers php_com_saproxy_handlers = {
- ZEND_OBJECTS_STORE_HANDLERS,
+ 0,
+ saproxy_free_storage,
+ zend_objects_destroy_object,
+ saproxy_clone,
saproxy_property_read,
saproxy_property_write,
saproxy_read_dimension,
@@ -401,37 +427,6 @@ zend_object_handlers php_com_saproxy_handlers = {
saproxy_count_elements
};
-static void saproxy_free_storage(void *object TSRMLS_DC)
-{
- php_com_saproxy *proxy = (php_com_saproxy *)object;
- int i;
-
- for (i = 0; i < proxy->dimensions; i++) {
- if (proxy->indices) {
- FREE_ZVAL(proxy->indices[i]);
- }
- }
-
- zval_ptr_dtor(&proxy->zobj);
- efree(proxy->indices);
- efree(proxy);
-}
-
-static void saproxy_clone(void *object, void **clone_ptr TSRMLS_DC)
-{
- php_com_saproxy *proxy = (php_com_saproxy *)object;
- php_com_saproxy *cloneproxy;
-
- cloneproxy = emalloc(sizeof(*cloneproxy));
- memcpy(cloneproxy, proxy, sizeof(*cloneproxy));
-
- Z_ADDREF_P(cloneproxy->zobj);
- cloneproxy->indices = safe_emalloc(cloneproxy->dimensions, sizeof(zval *), 0);
- clone_indices(cloneproxy, proxy, proxy->dimensions);
-
- *clone_ptr = cloneproxy;
-}
-
int php_com_saproxy_create(zval *com_object, zval *proxy_out, zval *index TSRMLS_DC)
{
php_com_saproxy *proxy, *rel = NULL;
@@ -456,13 +451,11 @@ int php_com_saproxy_create(zval *com_object, zval *proxy_out, zval *index TSRMLS
clone_indices(proxy, rel, rel->dimensions);
}
- MAKE_STD_ZVAL(proxy->indices[proxy->dimensions-1]);
- *proxy->indices[proxy->dimensions-1] = *index;
- zval_copy_ctor(proxy->indices[proxy->dimensions-1]);
+ ZVAL_DUP(&proxy->indices[proxy->dimensions-1], index);
- Z_TYPE_P(proxy_out) = IS_OBJECT;
- Z_OBJ_HANDLE_P(proxy_out) = zend_objects_store_put(proxy, NULL, saproxy_free_storage, saproxy_clone TSRMLS_CC);
- Z_OBJ_HT_P(proxy_out) = &php_com_saproxy_handlers;
+ zend_object_std_init(&proxy->std, php_com_saproxy_class_entry TSRMLS_CC);
+ proxy->std.handlers = &php_com_saproxy_handlers;
+ ZVAL_OBJ(proxy_out, &proxy->std);
return 1;
}
@@ -471,7 +464,7 @@ int php_com_saproxy_create(zval *com_object, zval *proxy_out, zval *index TSRMLS
static void saproxy_iter_dtor(zend_object_iterator *iter TSRMLS_DC)
{
- php_com_saproxy_iter *I = (php_com_saproxy_iter*)iter->data;
+ php_com_saproxy_iter *I = (php_com_saproxy_iter*)Z_PTR(iter->data);
zval_ptr_dtor(&I->proxy_obj);
@@ -481,17 +474,16 @@ static void saproxy_iter_dtor(zend_object_iterator *iter TSRMLS_DC)
static int saproxy_iter_valid(zend_object_iterator *iter TSRMLS_DC)
{
- php_com_saproxy_iter *I = (php_com_saproxy_iter*)iter->data;
+ php_com_saproxy_iter *I = (php_com_saproxy_iter*)Z_PTR(iter->data);
return (I->key < I->imax) ? SUCCESS : FAILURE;
}
-static void saproxy_iter_get_data(zend_object_iterator *iter, zval ***data TSRMLS_DC)
+static zval* saproxy_iter_get_data(zend_object_iterator *iter TSRMLS_DC)
{
- php_com_saproxy_iter *I = (php_com_saproxy_iter*)iter->data;
+ php_com_saproxy_iter *I = (php_com_saproxy_iter*)Z_PTR(iter->data);
VARIANT v;
VARTYPE vt;
- zval *return_value, **ptr_ptr;
SAFEARRAY *sa;
I->indices[I->proxy->dimensions-1] = I->key;
@@ -510,18 +502,16 @@ static void saproxy_iter_get_data(zend_object_iterator *iter, zval ***data TSRML
SafeArrayGetElement(sa, I->indices, &v.lVal);
}
- MAKE_STD_ZVAL(return_value);
- php_com_wrap_variant(return_value, &v, I->proxy->obj->code_page TSRMLS_CC);
+ ZVAL_NULL(&I->data);
+ php_com_wrap_variant(&I->data, &v, I->proxy->obj->code_page TSRMLS_CC);
VariantClear(&v);
- ptr_ptr = emalloc(sizeof(*ptr_ptr));
- *ptr_ptr = return_value;
- *data = ptr_ptr;
+ return &I->data;
}
static void saproxy_iter_get_key(zend_object_iterator *iter, zval *key TSRMLS_DC)
{
- php_com_saproxy_iter *I = (php_com_saproxy_iter*)iter->data;
+ php_com_saproxy_iter *I = (php_com_saproxy_iter*)Z_PTR(iter->data);
if (I->key == -1) {
ZVAL_NULL(key);
@@ -532,7 +522,7 @@ static void saproxy_iter_get_key(zend_object_iterator *iter, zval *key TSRMLS_DC
static int saproxy_iter_move_forwards(zend_object_iterator *iter TSRMLS_DC)
{
- php_com_saproxy_iter *I = (php_com_saproxy_iter*)iter->data;
+ php_com_saproxy_iter *I = (php_com_saproxy_iter*)Z_PTR(iter->data);
if (++I->key >= I->imax) {
I->key = -1;
@@ -563,16 +553,15 @@ zend_object_iterator *php_com_saproxy_iter_get(zend_class_entry *ce, zval *objec
I = ecalloc(1, sizeof(*I));
I->iter.funcs = &saproxy_iter_funcs;
- I->iter.data = I;
+ Z_PTR(I->iter.data) = I;
I->proxy = proxy;
- I->proxy_obj = object;
- Z_ADDREF_P(I->proxy_obj);
+ ZVAL_COPY(&I->proxy_obj, object);
I->indices = safe_emalloc(proxy->dimensions + 1, sizeof(LONG), 0);
for (i = 0; i < proxy->dimensions; i++) {
- convert_to_long(proxy->indices[i]);
- I->indices[i] = Z_LVAL_P(proxy->indices[i]);
+ convert_to_long(&proxy->indices[i]);
+ I->indices[i] = Z_LVAL(proxy->indices[i]);
}
SafeArrayGetLBound(V_ARRAY(&proxy->obj->v), proxy->dimensions, &I->imin);
diff --git a/ext/com_dotnet/com_typeinfo.c b/ext/com_dotnet/com_typeinfo.c
index 4ec448e2e3..46a3cbd5a1 100644
--- a/ext/com_dotnet/com_typeinfo.c
+++ b/ext/com_dotnet/com_typeinfo.c
@@ -162,8 +162,9 @@ PHP_COM_DOTNET_API int php_com_import_typelib(ITypeLib *TL, int mode, int codepa
UINT NameCount;
BSTR bstr_ids;
zend_constant c;
- zval exists, results, value;
+ zval *exists, results, value;
char *const_name;
+ int len;
if (TL == NULL) {
return FAILURE;
@@ -184,22 +185,23 @@ PHP_COM_DOTNET_API int php_com_import_typelib(ITypeLib *TL, int mode, int codepa
continue;
}
- const_name = php_com_olestring_to_string(bstr_ids, &c.name_len, codepage TSRMLS_CC);
- c.name = zend_strndup(const_name, c.name_len);
+ const_name = php_com_olestring_to_string(bstr_ids, &len, codepage TSRMLS_CC);
+ c.name = STR_INIT(const_name, len, 1);
+ // TODO: avoid reallocation???
efree(const_name);
if(c.name == NULL) {
ITypeInfo_ReleaseVarDesc(TypeInfo, pVarDesc);
continue;
}
- c.name_len++; /* include NUL */
+//??? c.name_len++; /* include NUL */
SysFreeString(bstr_ids);
/* sanity check for the case where the constant is already defined */
- if (zend_get_constant(c.name, c.name_len - 1, &exists TSRMLS_CC)) {
- if (COMG(autoreg_verbose) && !compare_function(&results, &c.value, &exists TSRMLS_CC)) {
+ if ((exists = zend_get_constant(c.name TSRMLS_CC)) != NULL) {
+ if (COMG(autoreg_verbose) && !compare_function(&results, &c.value, exists TSRMLS_CC)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Type library constant %s is already defined", c.name);
}
- free(c.name);
+ STR_RELEASE(c.name);
ITypeInfo_ReleaseVarDesc(TypeInfo, pVarDesc);
continue;
}
@@ -208,8 +210,7 @@ PHP_COM_DOTNET_API int php_com_import_typelib(ITypeLib *TL, int mode, int codepa
php_com_zval_from_variant(&value, pVarDesc->lpvarValue, codepage TSRMLS_CC);
if (Z_TYPE(value) == IS_LONG) {
c.flags = mode;
- c.value.type = IS_LONG;
- c.value.value.lval = Z_LVAL(value);
+ ZVAL_LONG(&c.value, Z_LVAL(value));
c.module_number = 0;
zend_register_constant(&c TSRMLS_CC);
}
@@ -231,19 +232,17 @@ void php_com_typelibrary_dtor(void *pDest)
PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib_via_cache(char *search_string,
int codepage, int *cached TSRMLS_DC)
{
- ITypeLib **TLp;
ITypeLib *TL;
char *name_dup;
int l;
l = strlen(search_string);
- if (zend_ts_hash_find(&php_com_typelibraries, search_string, l+1,
- (void**)&TLp) == SUCCESS) {
+ if ((TL = zend_ts_hash_str_find_ptr(&php_com_typelibraries, search_string, l)) != NULL) {
*cached = 1;
/* add a reference for the caller */
- ITypeLib_AddRef(*TLp);
- return *TLp;
+ ITypeLib_AddRef(TL);
+ return TL;
}
*cached = 0;
@@ -252,8 +251,8 @@ PHP_COM_DOTNET_API ITypeLib *php_com_load_typelib_via_cache(char *search_string,
efree(name_dup);
if (TL) {
- if (SUCCESS == zend_ts_hash_update(&php_com_typelibraries,
- search_string, l+1, (void*)&TL, sizeof(ITypeLib*), NULL)) {
+ if (NULL != zend_ts_hash_str_update_ptr(&php_com_typelibraries,
+ search_string, l, TL)) {
/* add a reference for the hash table */
ITypeLib_AddRef(TL);
}
@@ -472,7 +471,7 @@ int php_com_process_typeinfo(ITypeInfo *typeinfo, HashTable *id_to_name, int pri
/* So we've got the dispatch interface; lets list the event methods */
for (i = 0; i < attr->cFuncs; i++) {
- zval *tmp;
+ zval tmp;
DISPID lastid = 0; /* for props */
int isprop;
@@ -582,9 +581,10 @@ int php_com_process_typeinfo(ITypeInfo *typeinfo, HashTable *id_to_name, int pri
if (id_to_name) {
zend_str_tolower(ansiname, ansinamelen);
- MAKE_STD_ZVAL(tmp);
- ZVAL_STRINGL(tmp, ansiname, ansinamelen, 0);
- zend_hash_index_update(id_to_name, func->memid, (void*)&tmp, sizeof(zval *), NULL);
+ ZVAL_STRINGL(&tmp, ansiname, ansinamelen);
+ zend_hash_index_update(id_to_name, func->memid, &tmp);
+ // TODO: avoid reallocation???
+ efree(ansiname);
}
}
ITypeInfo_ReleaseFuncDesc(typeinfo, func);
diff --git a/ext/com_dotnet/com_variant.c b/ext/com_dotnet/com_variant.c
index 3cc057127a..f7dbdd5efa 100644
--- a/ext/com_dotnet/com_variant.c
+++ b/ext/com_dotnet/com_variant.c
@@ -38,18 +38,17 @@ static void safe_array_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_DC)
SAFEARRAYBOUND bound;
HashPosition pos;
int keytype;
- char *strindex;
- int strindexlen;
+ zend_string *strindex;
long intindex = -1;
long max_index = 0;
VARIANT *va;
- zval **item;
+ zval *item;
/* find the largest array index, and assert that all keys are integers */
zend_hash_internal_pointer_reset_ex(HASH_OF(z), &pos);
for (;; zend_hash_move_forward_ex(HASH_OF(z), &pos)) {
- keytype = zend_hash_get_current_key_ex(HASH_OF(z), &strindex, &strindexlen, &intindex, 0, &pos);
+ keytype = zend_hash_get_current_key_ex(HASH_OF(z), &strindex, &intindex, 0, &pos);
if (HASH_KEY_IS_STRING == keytype) {
goto bogus;
@@ -73,11 +72,11 @@ static void safe_array_from_zval(VARIANT *v, zval *z, int codepage TSRMLS_DC)
/* now fill it in */
zend_hash_internal_pointer_reset_ex(HASH_OF(z), &pos);
for (;; zend_hash_move_forward_ex(HASH_OF(z), &pos)) {
- if (FAILURE == zend_hash_get_current_data_ex(HASH_OF(z), (void**)&item, &pos)) {
+ if (NULL == (item = zend_hash_get_current_data_ex(HASH_OF(z), &pos))) {
break;
}
- zend_hash_get_current_key_ex(HASH_OF(z), &strindex, &strindexlen, &intindex, 0, &pos);
- php_com_variant_from_zval(&va[intindex], *item, codepage TSRMLS_CC);
+ zend_hash_get_current_key_ex(HASH_OF(z), &strindex, &intindex, 0, &pos);
+ php_com_variant_from_zval(&va[intindex], item, codepage TSRMLS_CC);
}
/* Unlock it and stuff it into our variant */
@@ -109,9 +108,14 @@ PHP_COM_DOTNET_API void php_com_variant_from_zval(VARIANT *v, zval *z, int codep
V_VT(v) = VT_NULL;
break;
- case IS_BOOL:
+ case IS_FALSE:
V_VT(v) = VT_BOOL;
- V_BOOL(v) = Z_BVAL_P(z) ? VARIANT_TRUE : VARIANT_FALSE;
+ V_BOOL(v) = VARIANT_FALSE;
+ break;
+
+ case IS_TRUE:
+ V_VT(v) = VT_BOOL;
+ V_BOOL(v) = VARIANT_TRUE;
break;
case IS_OBJECT:
@@ -218,9 +222,12 @@ PHP_COM_DOTNET_API int php_com_zval_from_variant(zval *z, VARIANT *v, int codepa
case VT_BSTR:
olestring = V_BSTR(v);
if (olestring) {
- Z_TYPE_P(z) = IS_STRING;
- Z_STRVAL_P(z) = php_com_olestring_to_string(olestring,
- &Z_STRLEN_P(z), codepage TSRMLS_CC);
+ int len;
+ char *str = php_com_olestring_to_string(olestring,
+ &len, codepage TSRMLS_CC);
+ ZVAL_STRINGL(z, str, len);
+ // TODO: avoid reallocation???
+ efree(str);
olestring = NULL;
}
break;
diff --git a/ext/com_dotnet/com_wrapper.c b/ext/com_dotnet/com_wrapper.c
index 54b6fb9ae7..a55c767423 100644
--- a/ext/com_dotnet/com_wrapper.c
+++ b/ext/com_dotnet/com_wrapper.c
@@ -39,7 +39,7 @@ typedef struct {
/* now the PHP stuff */
DWORD engine_thread; /* for sanity checking */
- zval *object; /* the object exported */
+ zval object; /* the object exported */
LONG refcount; /* COM reference count */
HashTable *dispid_to_name; /* keep track of dispid -> name mappings */
@@ -47,14 +47,14 @@ typedef struct {
GUID sinkid; /* iid that we "implement" for event sinking */
- int id;
+ zend_resource *res;
} php_dispatchex;
static int le_dispatch;
static void disp_destructor(php_dispatchex *disp TSRMLS_DC);
-static void dispatch_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
+static void dispatch_dtor(zend_resource *rsrc TSRMLS_DC)
{
php_dispatchex *disp = (php_dispatchex *)rsrc->ptr;
disp_destructor(disp TSRMLS_CC);
@@ -90,9 +90,9 @@ static inline void trace(char *fmt, ...)
php_dispatchex *disp = (php_dispatchex*)This; \
TSRMLS_FETCH(); \
if (COMG(rshutdown_started)) { \
- trace(" PHP Object:%p (name:unknown) %s\n", disp->object, methname); \
+ trace(" PHP Object:%p (name:unknown) %s\n", Z_OBJ(disp->object), methname); \
} else { \
- trace(" PHP Object:%p (name:%s) %s\n", disp->object, Z_OBJCE_P(disp->object)->name, methname); \
+ trace(" PHP Object:%p (name:%s) %s\n", Z_OBJ(disp->object), Z_OBJCE(disp->object)->name->val, methname); \
} \
if (GetCurrentThreadId() != disp->engine_thread) { \
return RPC_E_WRONG_THREAD; \
@@ -134,8 +134,8 @@ static ULONG STDMETHODCALLTYPE disp_release(IDispatchEx *This)
trace("-- refcount now %d\n", ret);
if (ret == 0) {
/* destroy it */
- if (disp->id)
- zend_list_delete(disp->id);
+ if (disp->res)
+ zend_list_delete(disp->res);
}
return ret;
}
@@ -177,16 +177,16 @@ static HRESULT STDMETHODCALLTYPE disp_getidsofnames(
for (i = 0; i < cNames; i++) {
char *name;
unsigned int namelen;
- zval **tmp;
+ zval *tmp;
name = php_com_olestring_to_string(rgszNames[i], &namelen, COMG(code_page) TSRMLS_CC);
/* Lookup the name in the hash */
- if (zend_hash_find(disp->name_to_dispid, name, namelen+1, (void**)&tmp) == FAILURE) {
+ if ((tmp = zend_hash_str_find(disp->name_to_dispid, name, namelen)) == NULL) {
ret = DISP_E_UNKNOWNNAME;
rgDispId[i] = 0;
} else {
- rgDispId[i] = Z_LVAL_PP(tmp);
+ rgDispId[i] = Z_LVAL_P(tmp);
}
efree(name);
@@ -221,7 +221,7 @@ static HRESULT STDMETHODCALLTYPE disp_getdispid(
HRESULT ret = DISP_E_UNKNOWNNAME;
char *name;
unsigned int namelen;
- zval **tmp;
+ zval *tmp;
FETCH_DISP("GetDispID");
name = php_com_olestring_to_string(bstrName, &namelen, COMG(code_page) TSRMLS_CC);
@@ -229,9 +229,9 @@ static HRESULT STDMETHODCALLTYPE disp_getdispid(
trace("Looking for %s, namelen=%d in %p\n", name, namelen, disp->name_to_dispid);
/* Lookup the name in the hash */
- if (zend_hash_find(disp->name_to_dispid, name, namelen+1, (void**)&tmp) == SUCCESS) {
+ if ((tmp = zend_hash_str_find(disp->name_to_dispid, name, namelen)) != NULL) {
trace("found it\n");
- *pid = Z_LVAL_PP(tmp);
+ *pid = Z_LVAL_P(tmp);
ret = S_OK;
}
@@ -250,34 +250,30 @@ static HRESULT STDMETHODCALLTYPE disp_invokeex(
/* [out] */ EXCEPINFO *pei,
/* [unique][in] */ IServiceProvider *pspCaller)
{
- zval **name;
+ zval *name;
UINT i;
- zval *retval = NULL;
- zval ***params = NULL;
+ zval rv, *retval = NULL;
+ zval *params = NULL;
HRESULT ret = DISP_E_MEMBERNOTFOUND;
FETCH_DISP("InvokeEx");
- if (SUCCESS == zend_hash_index_find(disp->dispid_to_name, id, (void**)&name)) {
+ if (NULL != (name = zend_hash_index_find(disp->dispid_to_name, id))) {
/* TODO: add support for overloaded objects */
- trace("-- Invoke: %d %20s [%d] flags=%08x args=%d\n", id, Z_STRVAL_PP(name), Z_STRLEN_PP(name), wFlags, pdp->cArgs);
+ trace("-- Invoke: %d %20s [%d] flags=%08x args=%d\n", id, Z_STRVAL_P(name), Z_STRLEN_P(name), wFlags, pdp->cArgs);
/* convert args into zvals.
* Args are in reverse order */
if (pdp->cArgs) {
- params = (zval ***)safe_emalloc(sizeof(zval **), pdp->cArgs, 0);
+ params = (zval *)safe_emalloc(sizeof(zval), pdp->cArgs, 0);
for (i = 0; i < pdp->cArgs; i++) {
VARIANT *arg;
- zval *zarg;
arg = &pdp->rgvarg[ pdp->cArgs - 1 - i];
trace("alloc zval for arg %d VT=%08x\n", i, V_VT(arg));
- ALLOC_INIT_ZVAL(zarg);
- php_com_wrap_variant(zarg, arg, COMG(code_page) TSRMLS_CC);
- params[i] = (zval**)emalloc(sizeof(zval**));
- *params[i] = zarg;
+ php_com_wrap_variant(&params[i], arg, COMG(code_page) TSRMLS_CC);
}
}
@@ -287,19 +283,20 @@ static HRESULT STDMETHODCALLTYPE disp_invokeex(
* and expose it as a COM exception */
if (wFlags & DISPATCH_PROPERTYGET) {
- retval = zend_read_property(Z_OBJCE_P(disp->object), disp->object, Z_STRVAL_PP(name), Z_STRLEN_PP(name)+1, 1 TSRMLS_CC);
+ retval = zend_read_property(Z_OBJCE(disp->object), &disp->object, Z_STRVAL_P(name), Z_STRLEN_P(name)+1, 1 TSRMLS_CC);
} else if (wFlags & DISPATCH_PROPERTYPUT) {
- zend_update_property(Z_OBJCE_P(disp->object), disp->object, Z_STRVAL_PP(name), Z_STRLEN_PP(name)+1, *params[0] TSRMLS_CC);
+ zend_update_property(Z_OBJCE(disp->object), &disp->object, Z_STRVAL_P(name), Z_STRLEN_P(name), &params[0] TSRMLS_CC);
} else if (wFlags & DISPATCH_METHOD) {
zend_try {
- if (SUCCESS == call_user_function_ex(EG(function_table), &disp->object, *name,
- &retval, pdp->cArgs, params, 1, NULL TSRMLS_CC)) {
+ retval = &rv;
+ if (SUCCESS == call_user_function_ex(EG(function_table), &disp->object, name,
+ retval, pdp->cArgs, params, 1, NULL TSRMLS_CC)) {
ret = S_OK;
trace("function called ok\n");
/* Copy any modified values to callers copy of variant*/
for (i = 0; i < pdp->cArgs; i++) {
- php_com_dotnet_object *obj = CDNO_FETCH(*params[i]);
+ php_com_dotnet_object *obj = CDNO_FETCH(&params[i]);
VARIANT *srcvar = &obj->v;
VARIANT *dstvar = &pdp->rgvarg[ pdp->cArgs - 1 - i];
if ((V_VT(dstvar) & VT_BYREF) && obj->modified ) {
@@ -322,8 +319,7 @@ static HRESULT STDMETHODCALLTYPE disp_invokeex(
/* release arguments */
if (params) {
for (i = 0; i < pdp->cArgs; i++) {
- zval_ptr_dtor(params[i]);
- efree(params[i]);
+ zval_ptr_dtor(&params[i]);
}
efree(params);
}
@@ -334,7 +330,7 @@ static HRESULT STDMETHODCALLTYPE disp_invokeex(
VariantInit(pvarRes);
php_com_variant_from_zval(pvarRes, retval, COMG(code_page) TSRMLS_CC);
}
- zval_ptr_dtor(&retval);
+ zval_ptr_dtor(retval);
} else if (pvarRes) {
VariantInit(pvarRes);
}
@@ -388,7 +384,7 @@ static HRESULT STDMETHODCALLTYPE disp_getmembername(
zval *name;
FETCH_DISP("GetMemberName");
- if (SUCCESS == zend_hash_index_find(disp->dispid_to_name, id, (void**)&name)) {
+ if (NULL != (name = zend_hash_index_find(disp->dispid_to_name, id))) {
OLECHAR *olestr = php_com_string_to_olestring(Z_STRVAL_P(name), Z_STRLEN_P(name), COMG(code_page) TSRMLS_CC);
*pbstrName = SysAllocString(olestr);
efree(olestr);
@@ -451,9 +447,8 @@ static struct IDispatchExVtbl php_dispatch_vtbl = {
static void generate_dispids(php_dispatchex *disp TSRMLS_DC)
{
HashPosition pos;
- char *name = NULL;
- zval *tmp;
- int namelen;
+ zend_string *name = NULL;
+ zval *tmp, tmp2;
int keytype;
ulong pid;
@@ -465,65 +460,71 @@ static void generate_dispids(php_dispatchex *disp TSRMLS_DC)
}
/* properties */
- if (Z_OBJPROP_P(disp->object)) {
- zend_hash_internal_pointer_reset_ex(Z_OBJPROP_P(disp->object), &pos);
+ if (Z_OBJPROP(disp->object)) {
+ zend_hash_internal_pointer_reset_ex(Z_OBJPROP(disp->object), &pos);
while (HASH_KEY_NON_EXISTENT != (keytype =
- zend_hash_get_current_key_ex(Z_OBJPROP_P(disp->object), &name,
- &namelen, &pid, 0, &pos))) {
+ zend_hash_get_current_key_ex(Z_OBJPROP(disp->object), &name,
+ &pid, 0, &pos))) {
char namebuf[32];
if (keytype == HASH_KEY_IS_LONG) {
snprintf(namebuf, sizeof(namebuf), "%d", pid);
- name = namebuf;
- namelen = strlen(namebuf)+1;
+ name = STR_INIT(namebuf, strlen(namebuf), 0);
+ } else {
+ STR_ADDREF(name);
}
- zend_hash_move_forward_ex(Z_OBJPROP_P(disp->object), &pos);
+ zend_hash_move_forward_ex(Z_OBJPROP(disp->object), &pos);
/* Find the existing id */
- if (zend_hash_find(disp->name_to_dispid, name, namelen, (void**)&tmp) == SUCCESS)
+ if ((tmp = zend_hash_find(disp->name_to_dispid, name)) != NULL) {
+ STR_RELEASE(name);
continue;
+ }
/* add the mappings */
- MAKE_STD_ZVAL(tmp);
- ZVAL_STRINGL(tmp, name, namelen-1, 1);
+ ZVAL_STR(&tmp2, STR_COPY(name));
pid = zend_hash_next_free_element(disp->dispid_to_name);
- zend_hash_index_update(disp->dispid_to_name, pid, (void*)&tmp, sizeof(zval *), NULL);
+ zend_hash_index_update(disp->dispid_to_name, pid, &tmp2);
+
+ ZVAL_LONG(&tmp2, pid);
+ zend_hash_update(disp->name_to_dispid, name, &tmp2);
- MAKE_STD_ZVAL(tmp);
- ZVAL_LONG(tmp, pid);
- zend_hash_update(disp->name_to_dispid, name, namelen, (void*)&tmp, sizeof(zval *), NULL);
+ STR_RELEASE(name);
}
}
/* functions */
- if (Z_OBJCE_P(disp->object)) {
- zend_hash_internal_pointer_reset_ex(&Z_OBJCE_P(disp->object)->function_table, &pos);
+ if (Z_OBJCE(disp->object)) {
+ zend_hash_internal_pointer_reset_ex(&Z_OBJCE(disp->object)->function_table, &pos);
while (HASH_KEY_NON_EXISTENT != (keytype =
- zend_hash_get_current_key_ex(&Z_OBJCE_P(disp->object)->function_table,
- &name, &namelen, &pid, 0, &pos))) {
+ zend_hash_get_current_key_ex(&Z_OBJCE(disp->object)->function_table,
+ &name, &pid, 0, &pos))) {
char namebuf[32];
if (keytype == HASH_KEY_IS_LONG) {
snprintf(namebuf, sizeof(namebuf), "%d", pid);
- name = namebuf;
- namelen = strlen(namebuf) + 1;
+ name = STR_INIT(namebuf, strlen(namebuf), 0);
+ } else {
+ STR_ADDREF(name);
}
- zend_hash_move_forward_ex(Z_OBJPROP_P(disp->object), &pos);
+ zend_hash_move_forward_ex(&Z_OBJCE(disp->object)->function_table, &pos);
/* Find the existing id */
- if (zend_hash_find(disp->name_to_dispid, name, namelen, (void**)&tmp) == SUCCESS)
+ if ((tmp = zend_hash_find(disp->name_to_dispid, name)) != NULL) {
+ STR_RELEASE(name);
continue;
+ }
/* add the mappings */
- MAKE_STD_ZVAL(tmp);
- ZVAL_STRINGL(tmp, name, namelen-1, 1);
+ ZVAL_STR(&tmp2, STR_COPY(name));
pid = zend_hash_next_free_element(disp->dispid_to_name);
- zend_hash_index_update(disp->dispid_to_name, pid, (void*)&tmp, sizeof(zval *), NULL);
+ zend_hash_index_update(disp->dispid_to_name, pid, &tmp2);
+
+ ZVAL_LONG(&tmp2, pid);
+ zend_hash_update(disp->name_to_dispid, name, &tmp2);
- MAKE_STD_ZVAL(tmp);
- ZVAL_LONG(tmp, pid);
- zend_hash_update(disp->name_to_dispid, name, namelen, (void*)&tmp, sizeof(zval *), NULL);
+ STR_RELEASE(name);
}
}
}
@@ -531,6 +532,7 @@ static void generate_dispids(php_dispatchex *disp TSRMLS_DC)
static php_dispatchex *disp_constructor(zval *object TSRMLS_DC)
{
php_dispatchex *disp = (php_dispatchex*)CoTaskMemAlloc(sizeof(php_dispatchex));
+ zval *tmp;
trace("constructing a COM wrapper for PHP object %p (%s)\n", object, Z_OBJCE_P(object)->name);
@@ -544,11 +546,14 @@ static php_dispatchex *disp_constructor(zval *object TSRMLS_DC)
disp->refcount = 1;
- if (object)
- Z_ADDREF_P(object);
- disp->object = object;
+ if (object) {
+ ZVAL_COPY(&disp->object, object);
+ } else {
+ ZVAL_UNDEF(&disp->object);
+ }
- disp->id = zend_list_insert(disp, le_dispatch TSRMLS_CC);
+ tmp = zend_list_insert(disp, le_dispatch TSRMLS_CC);
+ disp->res = Z_RES_P(tmp);
return disp;
}
@@ -557,12 +562,12 @@ static void disp_destructor(php_dispatchex *disp TSRMLS_DC)
{
/* Object store not available during request shutdown */
if (COMG(rshutdown_started)) {
- trace("destroying COM wrapper for PHP object %p (name:unknown)\n", disp->object);
+ trace("destroying COM wrapper for PHP object %p (name:unknown)\n", Z_OBJ(disp->object));
} else {
- trace("destroying COM wrapper for PHP object %p (name:%s)\n", disp->object, Z_OBJCE_P(disp->object)->name);
+ trace("destroying COM wrapper for PHP object %p (name:%s)\n", Z_OBJ(disp->object), Z_OBJCE(disp->object)->name->val);
}
- disp->id = 0;
+ disp->res = NULL;
if (disp->refcount > 0)
CoDisconnectObject((IUnknown*)disp, 0);
@@ -572,8 +577,7 @@ static void disp_destructor(php_dispatchex *disp TSRMLS_DC)
FREE_HASHTABLE(disp->dispid_to_name);
FREE_HASHTABLE(disp->name_to_dispid);
- if (disp->object)
- zval_ptr_dtor(&disp->object);
+ zval_ptr_dtor(&disp->object);
CoTaskMemFree(disp);
}
@@ -583,9 +587,8 @@ PHP_COM_DOTNET_API IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *si
{
php_dispatchex *disp = disp_constructor(val TSRMLS_CC);
HashPosition pos;
- char *name = NULL;
- zval *tmp, **ntmp;
- int namelen;
+ zend_string *name = NULL;
+ zval tmp, *ntmp;
int keytype;
ulong pid;
@@ -599,16 +602,14 @@ PHP_COM_DOTNET_API IDispatch *php_com_wrapper_export_as_sink(zval *val, GUID *si
zend_hash_internal_pointer_reset_ex(id_to_name, &pos);
while (HASH_KEY_NON_EXISTENT != (keytype =
- zend_hash_get_current_key_ex(id_to_name, &name, &namelen, &pid, 0, &pos))) {
+ zend_hash_get_current_key_ex(id_to_name, &name, &pid, 0, &pos))) {
if (keytype == HASH_KEY_IS_LONG) {
- zend_hash_get_current_data_ex(id_to_name, (void**)&ntmp, &pos);
+ ntmp = zend_hash_get_current_data_ex(id_to_name, &pos);
- MAKE_STD_ZVAL(tmp);
- ZVAL_LONG(tmp, pid);
- zend_hash_update(disp->name_to_dispid, Z_STRVAL_PP(ntmp),
- Z_STRLEN_PP(ntmp)+1, (void*)&tmp, sizeof(zval *), NULL);
+ ZVAL_LONG(&tmp, pid);
+ zend_hash_update(disp->name_to_dispid, Z_STR_P(ntmp), &tmp);
}
zend_hash_move_forward_ex(id_to_name, &pos);
diff --git a/ext/com_dotnet/php_com_dotnet_internal.h b/ext/com_dotnet/php_com_dotnet_internal.h
index 5dabdfb213..d093e3c37b 100644
--- a/ext/com_dotnet/php_com_dotnet_internal.h
+++ b/ext/com_dotnet/php_com_dotnet_internal.h
@@ -29,6 +29,8 @@
#include <dispex.h>
#include "win32/winutil.h"
+#include "zend_ts_hash.h"
+
typedef struct _php_com_dotnet_object {
zend_object zo;
@@ -54,18 +56,18 @@ typedef struct _php_com_dotnet_object {
static inline int php_com_is_valid_object(zval *zv TSRMLS_DC)
{
zend_class_entry *ce = Z_OBJCE_P(zv);
- return strcmp("com", ce->name) == 0 ||
- strcmp("dotnet", ce->name) == 0 ||
- strcmp("variant", ce->name) == 0;
+ return strcmp("com", ce->name->val) == 0 ||
+ strcmp("dotnet", ce->name->val) == 0 ||
+ strcmp("variant", ce->name->val) == 0;
}
-#define CDNO_FETCH(zv) (php_com_dotnet_object*)zend_object_store_get_object(zv TSRMLS_CC)
+#define CDNO_FETCH(zv) (php_com_dotnet_object*)Z_OBJ_P(zv)
#define CDNO_FETCH_VERIFY(obj, zv) do { \
if (!php_com_is_valid_object(zv TSRMLS_CC)) { \
php_com_throw_exception(E_UNEXPECTED, "expected a variant object" TSRMLS_CC); \
return; \
} \
- obj = (php_com_dotnet_object*)zend_object_store_get_object(zv TSRMLS_CC); \
+ obj = (php_com_dotnet_object*)Z_OBJ_P(zv); \
} while(0)
/* com_extension.c */
@@ -73,9 +75,9 @@ TsHashTable php_com_typelibraries;
zend_class_entry *php_com_variant_class_entry, *php_com_exception_class_entry, *php_com_saproxy_class_entry;
/* com_handlers.c */
-zend_object_value php_com_object_new(zend_class_entry *ce TSRMLS_DC);
-void php_com_object_clone(void *object, void **clone_ptr TSRMLS_DC);
-void php_com_object_free_storage(void *object TSRMLS_DC);
+zend_object* php_com_object_new(zend_class_entry *ce TSRMLS_DC);
+zend_object* php_com_object_clone(zval *object TSRMLS_DC);
+void php_com_object_free_storage(zend_object *object TSRMLS_DC);
zend_object_handlers php_com_object_handlers;
void php_com_object_enable_event_sink(php_com_dotnet_object *obj, int enable TSRMLS_DC);
@@ -104,11 +106,11 @@ HRESULT php_com_invoke_helper(php_com_dotnet_object *obj, DISPID id_member,
HRESULT php_com_get_id_of_name(php_com_dotnet_object *obj, char *name,
int namelen, DISPID *dispid TSRMLS_DC);
int php_com_do_invoke_by_id(php_com_dotnet_object *obj, DISPID dispid,
- WORD flags, VARIANT *v, int nargs, zval **args, int silent, int allow_noarg TSRMLS_DC);
+ WORD flags, VARIANT *v, int nargs, zval *args, int silent, int allow_noarg TSRMLS_DC);
int php_com_do_invoke(php_com_dotnet_object *obj, char *name, int namelen,
- WORD flags, VARIANT *v, int nargs, zval **args, int allow_noarg TSRMLS_DC);
+ WORD flags, VARIANT *v, int nargs, zval *args, int allow_noarg TSRMLS_DC);
int php_com_do_invoke_byref(php_com_dotnet_object *obj, char *name, int namelen,
- WORD flags, VARIANT *v, int nargs, zval ***args TSRMLS_DC);
+ WORD flags, VARIANT *v, int nargs, zval *args TSRMLS_DC);
/* com_wrapper.c */
int php_com_wrapper_minit(INIT_FUNC_ARGS);
diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c
index 6174756881..015da88914 100644
--- a/ext/date/lib/parse_date.c
+++ b/ext/date/lib/parse_date.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on 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"
/*
+----------------------------------------------------------------------+
@@ -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 c270eeb807..5423a58d26 100644
--- a/ext/date/lib/timezonedb.h
+++ b/ext/date/lib/timezonedb.h
@@ -1,587 +1,589 @@
-const timelib_tzdb_index_entry timezonedb_idx_builtin[580] = {
+const timelib_tzdb_index_entry timezonedb_idx_builtin[582] = {
{ "Africa/Abidjan" , 0x000000 },
{ "Africa/Accra" , 0x000055 },
- { "Africa/Addis_Ababa" , 0x0000FD },
- { "Africa/Algiers" , 0x000153 },
- { "Africa/Asmara" , 0x00027E },
- { "Africa/Asmera" , 0x0002D4 },
- { "Africa/Bamako" , 0x00032A },
- { "Africa/Bangui" , 0x000395 },
- { "Africa/Banjul" , 0x0003EA },
- { "Africa/Bissau" , 0x000461 },
- { "Africa/Blantyre" , 0x0004C7 },
- { "Africa/Brazzaville" , 0x00051C },
- { "Africa/Bujumbura" , 0x000571 },
- { "Africa/Cairo" , 0x0005B5 },
- { "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 },
+ { "Africa/Addis_Ababa" , 0x00019D },
+ { "Africa/Algiers" , 0x0001F3 },
+ { "Africa/Asmara" , 0x00031E },
+ { "Africa/Asmera" , 0x000374 },
+ { "Africa/Bamako" , 0x0003CA },
+ { "Africa/Bangui" , 0x00041F },
+ { "Africa/Banjul" , 0x000474 },
+ { "Africa/Bissau" , 0x0004C9 },
+ { "Africa/Blantyre" , 0x00052F },
+ { "Africa/Brazzaville" , 0x000584 },
+ { "Africa/Bujumbura" , 0x0005D9 },
+ { "Africa/Cairo" , 0x00061D },
+ { "Africa/Casablanca" , 0x000A04 },
+ { "Africa/Ceuta" , 0x000C66 },
+ { "Africa/Conakry" , 0x000F6D },
+ { "Africa/Dakar" , 0x000FC2 },
+ { "Africa/Dar_es_Salaam" , 0x001017 },
+ { "Africa/Djibouti" , 0x001084 },
+ { "Africa/Douala" , 0x0010D9 },
+ { "Africa/El_Aaiun" , 0x00112E },
+ { "Africa/Freetown" , 0x001359 },
+ { "Africa/Gaborone" , 0x0013AE },
+ { "Africa/Harare" , 0x00141B },
+ { "Africa/Johannesburg" , 0x001470 },
+ { "Africa/Juba" , 0x0014DE },
+ { "Africa/Kampala" , 0x0015F1 },
+ { "Africa/Khartoum" , 0x001670 },
+ { "Africa/Kigali" , 0x001783 },
+ { "Africa/Kinshasa" , 0x0017D8 },
+ { "Africa/Lagos" , 0x001833 },
+ { "Africa/Libreville" , 0x001888 },
+ { "Africa/Lome" , 0x0018DD },
+ { "Africa/Luanda" , 0x001932 },
+ { "Africa/Lubumbashi" , 0x001987 },
+ { "Africa/Lusaka" , 0x0019E2 },
+ { "Africa/Malabo" , 0x001A37 },
+ { "Africa/Maputo" , 0x001A9D },
+ { "Africa/Maseru" , 0x001AF2 },
+ { "Africa/Mbabane" , 0x001B5A },
+ { "Africa/Mogadishu" , 0x001BB0 },
+ { "Africa/Monrovia" , 0x001C0B },
+ { "Africa/Nairobi" , 0x001C71 },
+ { "Africa/Ndjamena" , 0x001CF0 },
+ { "Africa/Niamey" , 0x001D5C },
+ { "Africa/Nouakchott" , 0x001DCF },
+ { "Africa/Ouagadougou" , 0x001E24 },
+ { "Africa/Porto-Novo" , 0x001E79 },
+ { "Africa/Sao_Tome" , 0x001EDF },
+ { "Africa/Timbuktu" , 0x001F34 },
+ { "Africa/Tripoli" , 0x001F89 },
+ { "Africa/Tunis" , 0x002092 },
+ { "Africa/Windhoek" , 0x0021A4 },
+ { "America/Adak" , 0x0023EB },
+ { "America/Anchorage" , 0x002761 },
+ { "America/Anguilla" , 0x002AD5 },
+ { "America/Antigua" , 0x002B2A },
+ { "America/Araguaina" , 0x002B90 },
+ { "America/Argentina/Buenos_Aires" , 0x002CF5 },
+ { "America/Argentina/Catamarca" , 0x002EA3 },
+ { "America/Argentina/ComodRivadavia" , 0x003064 },
+ { "America/Argentina/Cordoba" , 0x00320A },
+ { "America/Argentina/Jujuy" , 0x0033DF },
+ { "America/Argentina/La_Rioja" , 0x003593 },
+ { "America/Argentina/Mendoza" , 0x00374B },
+ { "America/Argentina/Rio_Gallegos" , 0x00390B },
+ { "America/Argentina/Salta" , 0x003AC0 },
+ { "America/Argentina/San_Juan" , 0x003C6C },
+ { "America/Argentina/San_Luis" , 0x003E24 },
+ { "America/Argentina/Tucuman" , 0x003FEA },
+ { "America/Argentina/Ushuaia" , 0x0041A6 },
+ { "America/Aruba" , 0x004361 },
+ { "America/Asuncion" , 0x0043C7 },
+ { "America/Atikokan" , 0x0046AC },
+ { "America/Atka" , 0x004782 },
+ { "America/Bahia" , 0x004AE8 },
+ { "America/Bahia_Banderas" , 0x004C7B },
+ { "America/Barbados" , 0x004EF4 },
+ { "America/Belem" , 0x004F8E },
+ { "America/Belize" , 0x005089 },
+ { "America/Blanc-Sablon" , 0x005205 },
+ { "America/Boa_Vista" , 0x0052B9 },
+ { "America/Bogota" , 0x0053C2 },
+ { "America/Boise" , 0x00542E },
+ { "America/Buenos_Aires" , 0x0057C5 },
+ { "America/Cambridge_Bay" , 0x00595E },
+ { "America/Campo_Grande" , 0x005C86 },
+ { "America/Cancun" , 0x005F75 },
+ { "America/Caracas" , 0x0061B7 },
+ { "America/Catamarca" , 0x00621E },
+ { "America/Cayenne" , 0x0063C4 },
+ { "America/Cayman" , 0x006426 },
+ { "America/Chicago" , 0x00647B },
+ { "America/Chihuahua" , 0x006992 },
+ { "America/Coral_Harbour" , 0x006BFD },
+ { "America/Cordoba" , 0x006C8F },
+ { "America/Costa_Rica" , 0x006E35 },
+ { "America/Creston" , 0x006EBF },
+ { "America/Cuiaba" , 0x006F4B },
+ { "America/Curacao" , 0x007229 },
+ { "America/Danmarkshavn" , 0x00728F },
+ { "America/Dawson" , 0x0073D3 },
+ { "America/Dawson_Creek" , 0x0076F0 },
+ { "America/Denver" , 0x0078CA },
+ { "America/Detroit" , 0x007C50 },
+ { "America/Dominica" , 0x007FAF },
+ { "America/Edmonton" , 0x008004 },
+ { "America/Eirunepe" , 0x0083BC },
+ { "America/El_Salvador" , 0x0084D4 },
+ { "America/Ensenada" , 0x008549 },
+ { "America/Fort_Wayne" , 0x0089F0 },
+ { "America/Fortaleza" , 0x0088B2 },
+ { "America/Glace_Bay" , 0x008C5A },
+ { "America/Godthab" , 0x008FD1 },
+ { "America/Goose_Bay" , 0x009295 },
+ { "America/Grand_Turk" , 0x009752 },
+ { "America/Grenada" , 0x009A01 },
+ { "America/Guadeloupe" , 0x009A56 },
+ { "America/Guatemala" , 0x009AAB },
+ { "America/Guayaquil" , 0x009B34 },
+ { "America/Guyana" , 0x009B91 },
+ { "America/Halifax" , 0x009C12 },
+ { "America/Havana" , 0x00A128 },
+ { "America/Hermosillo" , 0x00A49B },
+ { "America/Indiana/Indianapolis" , 0x00A579 },
+ { "America/Indiana/Knox" , 0x00A80A },
+ { "America/Indiana/Marengo" , 0x00ABA1 },
+ { "America/Indiana/Petersburg" , 0x00AE47 },
+ { "America/Indiana/Tell_City" , 0x00B394 },
+ { "America/Indiana/Vevay" , 0x00B62D },
+ { "America/Indiana/Vincennes" , 0x00B868 },
+ { "America/Indiana/Winamac" , 0x00BB1C },
+ { "America/Indianapolis" , 0x00B12A },
+ { "America/Inuvik" , 0x00BDD5 },
+ { "America/Iqaluit" , 0x00C0CC },
+ { "America/Jamaica" , 0x00C3EE },
+ { "America/Jujuy" , 0x00C4B3 },
+ { "America/Juneau" , 0x00C65D },
+ { "America/Kentucky/Louisville" , 0x00C9DB },
+ { "America/Kentucky/Monticello" , 0x00CDF9 },
+ { "America/Knox_IN" , 0x00D17E },
+ { "America/Kralendijk" , 0x00D4EF },
+ { "America/La_Paz" , 0x00D555 },
+ { "America/Lima" , 0x00D5BC },
+ { "America/Los_Angeles" , 0x00D664 },
+ { "America/Louisville" , 0x00DA75 },
+ { "America/Lower_Princes" , 0x00DE6A },
+ { "America/Maceio" , 0x00DED0 },
+ { "America/Managua" , 0x00E00A },
+ { "America/Manaus" , 0x00E0BD },
+ { "America/Marigot" , 0x00E1BF },
+ { "America/Martinique" , 0x00E214 },
+ { "America/Matamoros" , 0x00E280 },
+ { "America/Mazatlan" , 0x00E4D9 },
+ { "America/Mendoza" , 0x00E746 },
+ { "America/Menominee" , 0x00E8FA },
+ { "America/Merida" , 0x00EC7B },
+ { "America/Metlakatla" , 0x00EEB6 },
+ { "America/Mexico_City" , 0x00EFF1 },
+ { "America/Miquelon" , 0x00F26C },
+ { "America/Moncton" , 0x00F4DE },
+ { "America/Monterrey" , 0x00F975 },
+ { "America/Montevideo" , 0x00FBD8 },
+ { "America/Montreal" , 0x00FEEA },
+ { "America/Montserrat" , 0x0103DA },
+ { "America/Nassau" , 0x01042F },
+ { "America/New_York" , 0x010774 },
+ { "America/Nipigon" , 0x010C7F },
+ { "America/Nome" , 0x010FD0 },
+ { "America/Noronha" , 0x01134E },
+ { "America/North_Dakota/Beulah" , 0x01147E },
+ { "America/North_Dakota/Center" , 0x011812 },
+ { "America/North_Dakota/New_Salem" , 0x011BA6 },
+ { "America/Ojinaga" , 0x011F4F },
+ { "America/Panama" , 0x0121B0 },
+ { "America/Pangnirtung" , 0x012205 },
+ { "America/Paramaribo" , 0x01253B },
+ { "America/Phoenix" , 0x0125CD },
+ { "America/Port-au-Prince" , 0x01268B },
+ { "America/Port_of_Spain" , 0x0129AF },
+ { "America/Porto_Acre" , 0x0128AB },
+ { "America/Porto_Velho" , 0x012A04 },
+ { "America/Puerto_Rico" , 0x012AFA },
+ { "America/Rainy_River" , 0x012B65 },
+ { "America/Rankin_Inlet" , 0x012E9D },
+ { "America/Recife" , 0x013183 },
+ { "America/Regina" , 0x0132AD },
+ { "America/Resolute" , 0x01346B },
+ { "America/Rio_Branco" , 0x013753 },
+ { "America/Rosario" , 0x01385B },
+ { "America/Santa_Isabel" , 0x013A01 },
+ { "America/Santarem" , 0x013DA4 },
+ { "America/Santiago" , 0x013EA9 },
+ { "America/Santo_Domingo" , 0x014252 },
+ { "America/Sao_Paulo" , 0x014318 },
+ { "America/Scoresbysund" , 0x014627 },
+ { "America/Shiprock" , 0x014915 },
+ { "America/Sitka" , 0x014C8E },
+ { "America/St_Barthelemy" , 0x015016 },
+ { "America/St_Johns" , 0x01506B },
+ { "America/St_Kitts" , 0x0155BE },
+ { "America/St_Lucia" , 0x015613 },
+ { "America/St_Thomas" , 0x015668 },
+ { "America/St_Vincent" , 0x0156BD },
+ { "America/Swift_Current" , 0x015712 },
+ { "America/Tegucigalpa" , 0x015833 },
+ { "America/Thule" , 0x0158B2 },
+ { "America/Thunder_Bay" , 0x015AF9 },
+ { "America/Tijuana" , 0x015E42 },
+ { "America/Toronto" , 0x0161DB },
+ { "America/Tortola" , 0x0166FB },
+ { "America/Vancouver" , 0x016750 },
+ { "America/Virgin" , 0x016B8D },
+ { "America/Whitehorse" , 0x016BE2 },
+ { "America/Winnipeg" , 0x016EFF },
+ { "America/Yakutat" , 0x01733F },
+ { "America/Yellowknife" , 0x0176AA },
+ { "Antarctica/Casey" , 0x0179BA },
+ { "Antarctica/Davis" , 0x017A58 },
+ { "Antarctica/DumontDUrville" , 0x017AF9 },
+ { "Antarctica/Macquarie" , 0x017B8B },
+ { "Antarctica/Mawson" , 0x017DD8 },
+ { "Antarctica/McMurdo" , 0x017E54 },
+ { "Antarctica/Palmer" , 0x0181FF },
+ { "Antarctica/Rothera" , 0x01851B },
+ { "Antarctica/South_Pole" , 0x018591 },
+ { "Antarctica/Syowa" , 0x01890F },
+ { "Antarctica/Troll" , 0x01897D },
+ { "Antarctica/Vostok" , 0x018B4F },
+ { "Arctic/Longyearbyen" , 0x018BC0 },
+ { "Asia/Aden" , 0x018EF2 },
+ { "Asia/Almaty" , 0x018F47 },
+ { "Asia/Amman" , 0x0190C6 },
+ { "Asia/Anadyr" , 0x01937C },
+ { "Asia/Aqtau" , 0x01957E },
+ { "Asia/Aqtobe" , 0x01977D },
+ { "Asia/Ashgabat" , 0x019935 },
+ { "Asia/Ashkhabad" , 0x019A52 },
+ { "Asia/Baghdad" , 0x019B6F },
+ { "Asia/Bahrain" , 0x019CE4 },
+ { "Asia/Baku" , 0x019D4A },
+ { "Asia/Bangkok" , 0x01A032 },
+ { "Asia/Beirut" , 0x01A087 },
+ { "Asia/Bishkek" , 0x01A394 },
+ { "Asia/Brunei" , 0x01A540 },
+ { "Asia/Calcutta" , 0x01A5A2 },
+ { "Asia/Chita" , 0x01A61B },
+ { "Asia/Choibalsan" , 0x01A830 },
+ { "Asia/Chongqing" , 0x01A9A9 },
+ { "Asia/Chungking" , 0x01AA49 },
+ { "Asia/Colombo" , 0x01AAE9 },
+ { "Asia/Dacca" , 0x01AB85 },
+ { "Asia/Damascus" , 0x01AC2B },
+ { "Asia/Dhaka" , 0x01AF7B },
+ { "Asia/Dili" , 0x01B021 },
+ { "Asia/Dubai" , 0x01B0AB },
+ { "Asia/Dushanbe" , 0x01B100 },
+ { "Asia/Gaza" , 0x01B203 },
+ { "Asia/Harbin" , 0x01B556 },
+ { "Asia/Hebron" , 0x01B5F6 },
+ { "Asia/Ho_Chi_Minh" , 0x01B952 },
+ { "Asia/Hong_Kong" , 0x01B9CA },
+ { "Asia/Hovd" , 0x01BB8C },
+ { "Asia/Irkutsk" , 0x01BD04 },
+ { "Asia/Istanbul" , 0x01BEEF },
+ { "Asia/Jakarta" , 0x01C2DC },
+ { "Asia/Jayapura" , 0x01C386 },
+ { "Asia/Jerusalem" , 0x01C423 },
+ { "Asia/Kabul" , 0x01C752 },
+ { "Asia/Kamchatka" , 0x01C7A3 },
+ { "Asia/Karachi" , 0x01C99C },
+ { "Asia/Kashgar" , 0x01CA51 },
+ { "Asia/Kathmandu" , 0x01CAA6 },
+ { "Asia/Katmandu" , 0x01CB0C },
+ { "Asia/Khandyga" , 0x01CB72 },
+ { "Asia/Kolkata" , 0x01CD9C },
+ { "Asia/Krasnoyarsk" , 0x01CE15 },
+ { "Asia/Kuala_Lumpur" , 0x01D002 },
+ { "Asia/Kuching" , 0x01D0BF },
+ { "Asia/Kuwait" , 0x01D1AD },
+ { "Asia/Macao" , 0x01D202 },
+ { "Asia/Macau" , 0x01D33D },
+ { "Asia/Magadan" , 0x01D478 },
+ { "Asia/Makassar" , 0x01D67C },
+ { "Asia/Manila" , 0x01D741 },
+ { "Asia/Muscat" , 0x01D7C6 },
+ { "Asia/Nicosia" , 0x01D81B },
+ { "Asia/Novokuznetsk" , 0x01DB03 },
+ { "Asia/Novosibirsk" , 0x01DD23 },
+ { "Asia/Omsk" , 0x01DF13 },
+ { "Asia/Oral" , 0x01E0FF },
+ { "Asia/Phnom_Penh" , 0x01E2CF },
+ { "Asia/Pontianak" , 0x01E347 },
+ { "Asia/Pyongyang" , 0x01E409 },
+ { "Asia/Qatar" , 0x01E499 },
+ { "Asia/Qyzylorda" , 0x01E4FF },
+ { "Asia/Rangoon" , 0x01E6D5 },
+ { "Asia/Riyadh" , 0x01E74D },
+ { "Asia/Saigon" , 0x01E7A2 },
+ { "Asia/Sakhalin" , 0x01E81A },
+ { "Asia/Samarkand" , 0x01EA17 },
+ { "Asia/Seoul" , 0x01EB4D },
+ { "Asia/Shanghai" , 0x01EC14 },
+ { "Asia/Singapore" , 0x01ECC0 },
+ { "Asia/Srednekolymsk" , 0x01ED77 },
+ { "Asia/Taipei" , 0x01EF77 },
+ { "Asia/Tashkent" , 0x01F0A8 },
+ { "Asia/Tbilisi" , 0x01F1D9 },
+ { "Asia/Tehran" , 0x01F393 },
+ { "Asia/Tel_Aviv" , 0x01F601 },
+ { "Asia/Thimbu" , 0x01F930 },
+ { "Asia/Thimphu" , 0x01F996 },
+ { "Asia/Tokyo" , 0x01F9FC },
+ { "Asia/Ujung_Pandang" , 0x01FA86 },
+ { "Asia/Ulaanbaatar" , 0x01FB03 },
+ { "Asia/Ulan_Bator" , 0x01FC5E },
+ { "Asia/Urumqi" , 0x01FDAB },
+ { "Asia/Ust-Nera" , 0x01FE0D },
+ { "Asia/Vientiane" , 0x02001F },
+ { "Asia/Vladivostok" , 0x020097 },
+ { "Asia/Yakutsk" , 0x020281 },
+ { "Asia/Yekaterinburg" , 0x02046B },
+ { "Asia/Yerevan" , 0x02067B },
+ { "Atlantic/Azores" , 0x02087B },
+ { "Atlantic/Bermuda" , 0x020D7E },
+ { "Atlantic/Canary" , 0x02105F },
+ { "Atlantic/Cape_Verde" , 0x021335 },
+ { "Atlantic/Faeroe" , 0x0213AE },
+ { "Atlantic/Faroe" , 0x021652 },
+ { "Atlantic/Jan_Mayen" , 0x0218F6 },
+ { "Atlantic/Madeira" , 0x021C28 },
+ { "Atlantic/Reykjavik" , 0x022131 },
+ { "Atlantic/South_Georgia" , 0x0222EA },
+ { "Atlantic/St_Helena" , 0x0224FC },
+ { "Atlantic/Stanley" , 0x02232E },
+ { "Australia/ACT" , 0x022551 },
+ { "Australia/Adelaide" , 0x022874 },
+ { "Australia/Brisbane" , 0x022BA6 },
+ { "Australia/Broken_Hill" , 0x022C73 },
+ { "Australia/Canberra" , 0x022FB7 },
+ { "Australia/Currie" , 0x0232DA },
+ { "Australia/Darwin" , 0x023613 },
+ { "Australia/Eucla" , 0x02369F },
+ { "Australia/Hobart" , 0x02377B },
+ { "Australia/LHI" , 0x023ADF },
+ { "Australia/Lindeman" , 0x023D80 },
+ { "Australia/Lord_Howe" , 0x023E67 },
+ { "Australia/Melbourne" , 0x024118 },
+ { "Australia/North" , 0x024443 },
+ { "Australia/NSW" , 0x0244BD },
+ { "Australia/Perth" , 0x0247E0 },
+ { "Australia/Queensland" , 0x0248BE },
+ { "Australia/South" , 0x024970 },
+ { "Australia/Sydney" , 0x024C93 },
+ { "Australia/Tasmania" , 0x024FD6 },
+ { "Australia/Victoria" , 0x025321 },
+ { "Australia/West" , 0x025644 },
+ { "Australia/Yancowinna" , 0x025700 },
+ { "Brazil/Acre" , 0x025A28 },
+ { "Brazil/DeNoronha" , 0x025B2C },
+ { "Brazil/East" , 0x025C4C },
+ { "Brazil/West" , 0x025F29 },
+ { "Canada/Atlantic" , 0x026021 },
+ { "Canada/Central" , 0x026509 },
+ { "Canada/East-Saskatchewan" , 0x026E13 },
+ { "Canada/Eastern" , 0x026923 },
+ { "Canada/Mountain" , 0x026F9C },
+ { "Canada/Newfoundland" , 0x027312 },
+ { "Canada/Pacific" , 0x02783D },
+ { "Canada/Saskatchewan" , 0x027C56 },
+ { "Canada/Yukon" , 0x027DDF },
+ { "CET" , 0x0280E2 },
+ { "Chile/Continental" , 0x0283EB },
+ { "Chile/EasterIsland" , 0x028786 },
+ { "CST6CDT" , 0x028AC8 },
+ { "Cuba" , 0x028E19 },
+ { "EET" , 0x02918C },
+ { "Egypt" , 0x02943F },
+ { "Eire" , 0x029826 },
+ { "EST" , 0x029D37 },
+ { "EST5EDT" , 0x029D7B },
+ { "Etc/GMT" , 0x02A0CC },
+ { "Etc/GMT+0" , 0x02A198 },
+ { "Etc/GMT+1" , 0x02A222 },
+ { "Etc/GMT+10" , 0x02A2AF },
+ { "Etc/GMT+11" , 0x02A33D },
+ { "Etc/GMT+12" , 0x02A3CB },
+ { "Etc/GMT+2" , 0x02A4E6 },
+ { "Etc/GMT+3" , 0x02A572 },
+ { "Etc/GMT+4" , 0x02A5FE },
+ { "Etc/GMT+5" , 0x02A68A },
+ { "Etc/GMT+6" , 0x02A716 },
+ { "Etc/GMT+7" , 0x02A7A2 },
+ { "Etc/GMT+8" , 0x02A82E },
+ { "Etc/GMT+9" , 0x02A8BA },
+ { "Etc/GMT-0" , 0x02A154 },
+ { "Etc/GMT-1" , 0x02A1DC },
+ { "Etc/GMT-10" , 0x02A268 },
+ { "Etc/GMT-11" , 0x02A2F6 },
+ { "Etc/GMT-12" , 0x02A384 },
+ { "Etc/GMT-13" , 0x02A412 },
+ { "Etc/GMT-14" , 0x02A459 },
+ { "Etc/GMT-2" , 0x02A4A0 },
+ { "Etc/GMT-3" , 0x02A52C },
+ { "Etc/GMT-4" , 0x02A5B8 },
+ { "Etc/GMT-5" , 0x02A644 },
+ { "Etc/GMT-6" , 0x02A6D0 },
+ { "Etc/GMT-7" , 0x02A75C },
+ { "Etc/GMT-8" , 0x02A7E8 },
+ { "Etc/GMT-9" , 0x02A874 },
+ { "Etc/GMT0" , 0x02A110 },
+ { "Etc/Greenwich" , 0x02A900 },
+ { "Etc/UCT" , 0x02A944 },
+ { "Etc/Universal" , 0x02A988 },
+ { "Etc/UTC" , 0x02A9CC },
+ { "Etc/Zulu" , 0x02AA10 },
+ { "Europe/Amsterdam" , 0x02AA54 },
+ { "Europe/Andorra" , 0x02AE92 },
+ { "Europe/Athens" , 0x02B10E },
+ { "Europe/Belfast" , 0x02B451 },
+ { "Europe/Belgrade" , 0x02B988 },
+ { "Europe/Berlin" , 0x02BC51 },
+ { "Europe/Bratislava" , 0x02BFB5 },
+ { "Europe/Brussels" , 0x02C2E7 },
+ { "Europe/Bucharest" , 0x02C71E },
+ { "Europe/Budapest" , 0x02CA48 },
+ { "Europe/Busingen" , 0x02CDB1 },
+ { "Europe/Chisinau" , 0x02D068 },
+ { "Europe/Copenhagen" , 0x02D3F6 },
+ { "Europe/Dublin" , 0x02D700 },
+ { "Europe/Gibraltar" , 0x02DC11 },
+ { "Europe/Guernsey" , 0x02E068 },
+ { "Europe/Helsinki" , 0x02E59F },
+ { "Europe/Isle_of_Man" , 0x02E855 },
+ { "Europe/Istanbul" , 0x02ED8C },
+ { "Europe/Jersey" , 0x02F179 },
+ { "Europe/Kaliningrad" , 0x02F6B0 },
+ { "Europe/Kiev" , 0x02F91B },
+ { "Europe/Lisbon" , 0x02FC37 },
+ { "Europe/Ljubljana" , 0x03013B },
+ { "Europe/London" , 0x030404 },
+ { "Europe/Luxembourg" , 0x03093B },
+ { "Europe/Madrid" , 0x030D91 },
+ { "Europe/Malta" , 0x031157 },
+ { "Europe/Mariehamn" , 0x031510 },
+ { "Europe/Minsk" , 0x0317C6 },
+ { "Europe/Monaco" , 0x0319D4 },
+ { "Europe/Moscow" , 0x031E0F },
+ { "Europe/Nicosia" , 0x032069 },
+ { "Europe/Oslo" , 0x032351 },
+ { "Europe/Paris" , 0x032683 },
+ { "Europe/Podgorica" , 0x032AC9 },
+ { "Europe/Prague" , 0x032D92 },
+ { "Europe/Riga" , 0x0330C4 },
+ { "Europe/Rome" , 0x033409 },
+ { "Europe/Samara" , 0x0337CC },
+ { "Europe/San_Marino" , 0x033A35 },
+ { "Europe/Sarajevo" , 0x033DF8 },
+ { "Europe/Simferopol" , 0x0340C1 },
+ { "Europe/Skopje" , 0x034312 },
+ { "Europe/Sofia" , 0x0345DB },
+ { "Europe/Stockholm" , 0x0348E3 },
+ { "Europe/Tallinn" , 0x034B92 },
+ { "Europe/Tirane" , 0x034ECC },
+ { "Europe/Tiraspol" , 0x0351D2 },
+ { "Europe/Uzhgorod" , 0x035560 },
+ { "Europe/Vaduz" , 0x035877 },
+ { "Europe/Vatican" , 0x035B26 },
+ { "Europe/Vienna" , 0x035EE9 },
+ { "Europe/Vilnius" , 0x036216 },
+ { "Europe/Volgograd" , 0x036555 },
+ { "Europe/Warsaw" , 0x036776 },
+ { "Europe/Zagreb" , 0x036B57 },
+ { "Europe/Zaporozhye" , 0x036E20 },
+ { "Europe/Zurich" , 0x037161 },
+ { "Factory" , 0x037410 },
+ { "GB" , 0x037481 },
+ { "GB-Eire" , 0x0379B8 },
+ { "GMT" , 0x037EEF },
+ { "GMT+0" , 0x037FBB },
+ { "GMT-0" , 0x037F77 },
+ { "GMT0" , 0x037F33 },
+ { "Greenwich" , 0x037FFF },
+ { "Hongkong" , 0x038043 },
+ { "HST" , 0x038205 },
+ { "Iceland" , 0x038249 },
+ { "Indian/Antananarivo" , 0x038402 },
+ { "Indian/Chagos" , 0x038476 },
+ { "Indian/Christmas" , 0x0384D8 },
+ { "Indian/Cocos" , 0x03851C },
+ { "Indian/Comoro" , 0x038560 },
+ { "Indian/Kerguelen" , 0x0385B5 },
+ { "Indian/Mahe" , 0x03860A },
+ { "Indian/Maldives" , 0x03865F },
+ { "Indian/Mauritius" , 0x0386B4 },
+ { "Indian/Mayotte" , 0x03872A },
+ { "Indian/Reunion" , 0x03877F },
+ { "Iran" , 0x0387D4 },
+ { "Israel" , 0x038A42 },
+ { "Jamaica" , 0x038D71 },
+ { "Japan" , 0x038E36 },
+ { "Kwajalein" , 0x038EC0 },
+ { "Libya" , 0x038F23 },
+ { "MET" , 0x03902C },
+ { "Mexico/BajaNorte" , 0x039335 },
+ { "Mexico/BajaSur" , 0x03969E },
+ { "Mexico/General" , 0x0398E3 },
+ { "MST" , 0x039B41 },
+ { "MST7MDT" , 0x039B85 },
+ { "Navajo" , 0x039ED6 },
+ { "NZ" , 0x03A24F },
+ { "NZ-CHAT" , 0x03A5CD },
+ { "Pacific/Apia" , 0x03A8B1 },
+ { "Pacific/Auckland" , 0x03AA4D },
+ { "Pacific/Chatham" , 0x03ADD9 },
+ { "Pacific/Chuuk" , 0x03B0CC },
+ { "Pacific/Easter" , 0x03B125 },
+ { "Pacific/Efate" , 0x03B474 },
+ { "Pacific/Enderbury" , 0x03B53A },
+ { "Pacific/Fakaofo" , 0x03B5A8 },
+ { "Pacific/Fiji" , 0x03B5F9 },
+ { "Pacific/Funafuti" , 0x03B78C },
+ { "Pacific/Galapagos" , 0x03B7D0 },
+ { "Pacific/Gambier" , 0x03B848 },
+ { "Pacific/Guadalcanal" , 0x03B8AD },
+ { "Pacific/Guam" , 0x03B902 },
+ { "Pacific/Honolulu" , 0x03B958 },
+ { "Pacific/Johnston" , 0x03B9CF },
+ { "Pacific/Kiritimati" , 0x03BA4E },
+ { "Pacific/Kosrae" , 0x03BAB9 },
+ { "Pacific/Kwajalein" , 0x03BB16 },
+ { "Pacific/Majuro" , 0x03BB82 },
+ { "Pacific/Marquesas" , 0x03BBE1 },
+ { "Pacific/Midway" , 0x03BC48 },
+ { "Pacific/Nauru" , 0x03BCD2 },
+ { "Pacific/Niue" , 0x03BD4A },
+ { "Pacific/Norfolk" , 0x03BDA8 },
+ { "Pacific/Noumea" , 0x03BDFD },
+ { "Pacific/Pago_Pago" , 0x03BE8D },
+ { "Pacific/Palau" , 0x03BF04 },
+ { "Pacific/Pitcairn" , 0x03BF48 },
+ { "Pacific/Pohnpei" , 0x03BF9D },
+ { "Pacific/Ponape" , 0x03BFF2 },
+ { "Pacific/Port_Moresby" , 0x03C037 },
+ { "Pacific/Rarotonga" , 0x03C07B },
+ { "Pacific/Saipan" , 0x03C157 },
+ { "Pacific/Samoa" , 0x03C1BA },
+ { "Pacific/Tahiti" , 0x03C231 },
+ { "Pacific/Tarawa" , 0x03C296 },
+ { "Pacific/Tongatapu" , 0x03C2EA },
+ { "Pacific/Truk" , 0x03C376 },
+ { "Pacific/Wake" , 0x03C3BB },
+ { "Pacific/Wallis" , 0x03C40B },
+ { "Pacific/Yap" , 0x03C44F },
+ { "Poland" , 0x03C494 },
+ { "Portugal" , 0x03C875 },
+ { "PRC" , 0x03CD71 },
+ { "PST8PDT" , 0x03CE11 },
+ { "ROC" , 0x03D162 },
+ { "ROK" , 0x03D293 },
+ { "Singapore" , 0x03D35A },
+ { "Turkey" , 0x03D411 },
+ { "UCT" , 0x03D7FE },
+ { "Universal" , 0x03D842 },
+ { "US/Alaska" , 0x03D886 },
+ { "US/Aleutian" , 0x03DBEF },
+ { "US/Arizona" , 0x03DF55 },
+ { "US/Central" , 0x03DFE3 },
+ { "US/East-Indiana" , 0x03E9ED },
+ { "US/Eastern" , 0x03E4EE },
+ { "US/Hawaii" , 0x03EC57 },
+ { "US/Indiana-Starke" , 0x03ECC8 },
+ { "US/Michigan" , 0x03F039 },
+ { "US/Mountain" , 0x03F370 },
+ { "US/Pacific" , 0x03F6E9 },
+ { "US/Pacific-New" , 0x03FAEE },
+ { "US/Samoa" , 0x03FEF3 },
+ { "UTC" , 0x03FF6A },
+ { "W-SU" , 0x040261 },
+ { "WET" , 0x03FFAE },
+ { "Zulu" , 0x0404A4 },
};
/* This is a generated file, do not modify */
-const unsigned char timelib_timezone_db_data_builtin[262465] = {
+const unsigned char timelib_timezone_db_data_builtin[263400] = {
/* Africa/Abidjan */
@@ -595,11 +597,21 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Africa/Accra */
0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x9E, 0x30, 0x66, 0xB4,
+0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0x9E, 0x30, 0x66, 0xB4,
+0xA3, 0x34, 0x7B, 0x80, 0xA3, 0xD3, 0xFC, 0x50, 0xA5, 0x15, 0xAF, 0x00, 0xA5, 0xB5, 0x2F, 0xD0,
+0xA6, 0xF6, 0xE2, 0x80, 0xA7, 0x96, 0x63, 0x50, 0xA8, 0xD8, 0x16, 0x00, 0xA9, 0x77, 0x96, 0xD0,
+0xAA, 0xBA, 0x9B, 0x00, 0xAB, 0x5A, 0x1B, 0xD0, 0xAC, 0x9B, 0xCE, 0x80, 0xAD, 0x3B, 0x4F, 0x50,
+0xAE, 0x7D, 0x02, 0x00, 0xAF, 0x1C, 0x82, 0xD0, 0xB0, 0x5E, 0x35, 0x80, 0xB0, 0xFD, 0xB6, 0x50,
+0xB2, 0x40, 0xBA, 0x80, 0xB2, 0xE0, 0x3B, 0x50, 0xB4, 0x21, 0xEE, 0x00, 0xB4, 0xC1, 0x6E, 0xD0,
+0xB6, 0x03, 0x21, 0x80, 0xB6, 0xA2, 0xA2, 0x50, 0xB7, 0xE4, 0x55, 0x00, 0xB8, 0x83, 0xD5, 0xD0,
+0xB9, 0xC6, 0xDA, 0x00, 0xBA, 0x66, 0x5A, 0xD0, 0xBB, 0xA8, 0x0D, 0x80, 0xBC, 0x47, 0x8E, 0x50,
+0xBD, 0x89, 0x41, 0x00, 0xBE, 0x28, 0xC1, 0xD0, 0xBF, 0x6A, 0x74, 0x80, 0xC0, 0x09, 0xF5, 0x50,
0xC1, 0x4C, 0xF9, 0x80, 0xC1, 0xEC, 0x7A, 0x50, 0xC3, 0x2E, 0x2D, 0x00, 0xC3, 0xCD, 0xAD, 0xD0,
0xC5, 0x0F, 0x60, 0x80, 0xC5, 0xAE, 0xE1, 0x50, 0xC6, 0xF0, 0x94, 0x00, 0xC7, 0x90, 0x14, 0xD0,
0xC8, 0xD3, 0x19, 0x00, 0xC9, 0x72, 0x99, 0xD0, 0xCA, 0xB4, 0x4C, 0x80, 0xCB, 0x53, 0xCD, 0x50,
0xCC, 0x95, 0x80, 0x00, 0xCD, 0x35, 0x00, 0xD0, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xFF, 0xFF, 0xFF, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x04,
0xB0, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x47, 0x48, 0x53,
0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xCC, 0x38,
@@ -652,12 +664,11 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Africa/Bamako */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x96, 0x00,
-0xBC, 0x92, 0xB8, 0x80, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54,
-0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x9C, 0xA1, 0xA8, 0x01, 0x06, 0x73, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48,
+0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
+0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA1, 0xA8, 0x01, 0x06, 0x73,
+0x80, 0x00, 0x00, 0x00, 0x00,
/* Africa/Bangui */
0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -669,13 +680,11 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Africa/Banjul */
0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x4D, 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, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x92, 0xE6, 0x9E, 0x1C,
-0xBE, 0x2A, 0x27, 0x9C, 0xF4, 0xB6, 0x36, 0x10, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0xF0, 0x64, 0x00,
-0x00, 0xFF, 0xFF, 0xF0, 0x64, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x47,
-0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xE0, 0xAA, 0x00,
-0xF9, 0x40, 0x98, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48,
+0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
+0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xE0, 0xAA, 0x00, 0xF9, 0x40,
+0x98, 0x00, 0x00, 0x00, 0x00,
/* Africa/Bissau */
0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -868,21 +877,19 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Africa/Conakry */
0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9B, 0x5C,
-0xBC, 0x92, 0xB8, 0x80, 0xED, 0x30, 0x16, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF3, 0x24, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54,
-0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x97, 0xD9, 0xB2, 0x00, 0xFD, 0xBA, 0x6D, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48,
+0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
+0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xD9, 0xB2, 0x00, 0xFD, 0xBA,
+0x6D, 0x00, 0x00, 0x00, 0x00,
/* Africa/Dakar */
0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9E, 0xD8,
-0xCA, 0x3B, 0x10, 0x90, 0x01, 0x02, 0xFF, 0xFF, 0xEF, 0xA8, 0x00, 0x00, 0xFF, 0xFF, 0xF1, 0xF0,
-0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00,
-0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8,
-0x0E, 0x9A, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48,
+0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
+0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0xB5, 0x6A, 0x00, 0xF8, 0x0E,
+0x9A, 0x00, 0x00, 0x00, 0x00,
/* Africa/Dar_es_Salaam */
0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -948,22 +955,11 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Africa/Freetown */
0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, 0x95, 0x90, 0x32, 0x6C,
-0xBE, 0xF1, 0x38, 0x90, 0xBF, 0x92, 0x06, 0x30, 0xC0, 0xD3, 0xBD, 0x90, 0xC1, 0x74, 0x8B, 0x30,
-0xC2, 0xB4, 0xF1, 0x10, 0xC3, 0x55, 0xBE, 0xB0, 0xC4, 0x96, 0x24, 0x90, 0xC5, 0x36, 0xF2, 0x30,
-0xC6, 0x77, 0x58, 0x10, 0xC7, 0x18, 0x25, 0xB0, 0xC8, 0x59, 0xDD, 0x10, 0xC8, 0xFA, 0xAA, 0xB0,
-0xCA, 0x3B, 0x10, 0x90, 0xCA, 0xDB, 0xDE, 0x30, 0xCC, 0x1C, 0x44, 0x10, 0xCC, 0xBD, 0x11, 0xB0,
-0xE7, 0x8C, 0x7C, 0x10, 0xE8, 0x53, 0x80, 0x80, 0xE8, 0xCC, 0xBC, 0x70, 0xEA, 0x34, 0xB4, 0x00,
-0xEA, 0xAD, 0xEF, 0xF0, 0xEC, 0x15, 0xE7, 0x80, 0xEC, 0x8F, 0x23, 0x70, 0xED, 0xF8, 0x6C, 0x80,
-0xEE, 0x71, 0xA8, 0x70, 0xEF, 0xD9, 0xA0, 0x00, 0xF0, 0x52, 0xDB, 0xF0, 0xF1, 0xBA, 0xD3, 0x80,
-0xF2, 0x34, 0x0F, 0x70, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x05, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04,
-0x03, 0x04, 0xFF, 0xFF, 0xF3, 0x94, 0x00, 0x00, 0xFF, 0xFF, 0xFB, 0x50, 0x01, 0x04, 0xFF, 0xFF,
-0xF1, 0xF0, 0x00, 0x09, 0x00, 0x00, 0x0E, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x46, 0x4D, 0x54, 0x00, 0x53, 0x4C, 0x53, 0x54, 0x00, 0x57,
-0x41, 0x54, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFE, 0x70, 0xB8, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48,
+0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
+0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x4C, 0x90, 0x00, 0xFE, 0x70,
+0xB8, 0x00, 0x00, 0x00, 0x00,
/* Africa/Gaborone */
0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -1075,10 +1071,11 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Africa/Lome */
0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x92, 0xB0, 0x15, 0x01, 0x14, 0x83, 0xC2,
-0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48,
+0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
+0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0xB0, 0x15, 0x01, 0x14, 0x83,
+0xC2, 0x00, 0x00, 0x00, 0x00,
/* Africa/Luanda */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -1186,18 +1183,17 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Africa/Nouakchott */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x9D, 0x74,
-0xBC, 0x92, 0xB8, 0x80, 0xEE, 0xE5, 0xC8, 0x90, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF1, 0x0C, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54,
-0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0xA4, 0xF2, 0x90, 0x00, 0xFA, 0x52, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48,
+0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
+0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xF2, 0x90, 0x00, 0xFA, 0x52,
+0x08, 0x00, 0x00, 0x00, 0x00,
/* Africa/Ouagadougou */
0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x8F, 0xEC,
-0x01, 0xFF, 0xFF, 0xFE, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48,
+0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x32, 0xFA, 0x01, 0x10, 0x58,
0x0D, 0x00, 0x00, 0x00, 0x00,
@@ -1213,19 +1209,18 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Africa/Sao_Tome */
0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x97, 0x10,
-0x01, 0xFF, 0xFF, 0xF7, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48,
+0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0xD6, 0x75, 0x01, 0x1C, 0xEE,
0xB5, 0x00, 0x00, 0x00, 0x00,
/* Africa/Timbuktu */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x92, 0xE6, 0x96, 0x00,
-0xBC, 0x92, 0xB8, 0x80, 0xEE, 0x11, 0x87, 0x10, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xF8, 0x80, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xF1, 0xF0, 0x00, 0x08, 0x4C, 0x4D, 0x54,
-0x00, 0x47, 0x4D, 0x54, 0x00, 0x57, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48,
+0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
+0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8,
+0x80, 0x00, 0x00, 0x00, 0x00,
/* Africa/Tripoli */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4C, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -4816,8 +4811,8 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* America/Metlakatla */
0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xCB, 0x89, 0x1A, 0xA0,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xCB, 0x89, 0x1A, 0xA0,
0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x26, 0x10, 0xFE, 0xB8, 0x47, 0x20, 0xFF, 0xA8, 0x2A, 0x10,
0x00, 0x98, 0x29, 0x20, 0x01, 0x88, 0x0C, 0x10, 0x02, 0x78, 0x0B, 0x20, 0x03, 0x71, 0x28, 0x90,
0x04, 0x61, 0x27, 0xA0, 0x05, 0x51, 0x0A, 0x90, 0x06, 0x41, 0x09, 0xA0, 0x07, 0x30, 0xEC, 0x90,
@@ -4828,13 +4823,13 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x17, 0x29, 0x36, 0x20, 0x18, 0x22, 0x53, 0x90, 0x19, 0x09, 0x18, 0x20, 0x1A, 0x02, 0x35, 0x90,
0x01, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03,
0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03,
-0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x04, 0xFF, 0xFF, 0x9D,
-0x90, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x0C, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x10, 0x50,
-0x53, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x4D,
-0x65, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDD,
-0x72, 0x36, 0x00, 0x49, 0xE3, 0x79, 0x00, 0x00, 0x00, 0x20, 0x4D, 0x65, 0x74, 0x6C, 0x61, 0x6B,
-0x61, 0x74, 0x6C, 0x61, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x41, 0x6E, 0x6E, 0x65,
-0x74, 0x74, 0x65, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64,
+0x00, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x04, 0xFF, 0xFF, 0x9D,
+0x90, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x0C, 0x50, 0x53, 0x54, 0x00, 0x50, 0x57, 0x54,
+0x00, 0x50, 0x50, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0xDD, 0x72, 0x36, 0x00, 0x49, 0xE3, 0x79, 0x00, 0x00, 0x00, 0x2E, 0x50, 0x61, 0x63,
+0x69, 0x66, 0x69, 0x63, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69,
+0x6D, 0x65, 0x20, 0x2D, 0x20, 0x41, 0x6E, 0x6E, 0x65, 0x74, 0x74, 0x65, 0x20, 0x49, 0x73, 0x6C,
+0x61, 0x6E, 0x64, 0x2C, 0x20, 0x41, 0x6C, 0x61, 0x73, 0x6B, 0x61,
/* America/Mexico_City */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -6053,10 +6048,9 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0x7A, 0x7A, 0x7A,
0x00, 0x43, 0x44, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53,
0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0x4E, 0x33,
-0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x29, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20,
-0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20,
-0x52, 0x65, 0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 0x2C, 0x20, 0x4E, 0x75, 0x6E, 0x61, 0x76, 0x75,
-0x74,
+0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20,
+0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x52, 0x65, 0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 0x2C,
+0x20, 0x4E, 0x75, 0x6E, 0x61, 0x76, 0x75, 0x74,
/* America/Rio_Branco */
0x50, 0x48, 0x50, 0x31, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -7198,14 +7192,14 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Antarctica/Casey */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x51, 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, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0D, 0xFE, 0x1E, 0xCC, 0x80,
+0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0xFE, 0x1E, 0xCC, 0x80,
0x4A, 0xDA, 0x06, 0x20, 0x4B, 0x8F, 0xCA, 0xF0, 0x4E, 0xA9, 0x9C, 0x20, 0x4F, 0x43, 0xCD, 0x90,
0x01, 0x02, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00,
-0x04, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x08, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x7A, 0x7A, 0x7A,
-0x00, 0x57, 0x53, 0x54, 0x00, 0x43, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-0x00, 0x01, 0x00, 0x24, 0x30, 0x52, 0x01, 0xBB, 0x4B, 0x12, 0x00, 0x00, 0x00, 0x1F, 0x43, 0x61,
-0x73, 0x65, 0x79, 0x20, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x42, 0x61, 0x69,
-0x6C, 0x65, 0x79, 0x20, 0x50, 0x65, 0x6E, 0x69, 0x6E, 0x73, 0x75, 0x6C, 0x61,
+0x04, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x7A, 0x7A, 0x7A,
+0x00, 0x41, 0x57, 0x53, 0x54, 0x00, 0x43, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x24, 0x30, 0x52, 0x01, 0xBB, 0x4B, 0x12, 0x00, 0x00, 0x00, 0x1F, 0x43,
+0x61, 0x73, 0x65, 0x79, 0x20, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2C, 0x20, 0x42, 0x61,
+0x69, 0x6C, 0x65, 0x79, 0x20, 0x50, 0x65, 0x6E, 0x69, 0x6E, 0x73, 0x75, 0x6C, 0x61,
/* Antarctica/Davis */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -7235,7 +7229,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Antarctica/Macquarie */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x9B, 0xD5, 0x78, 0x80,
+0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13, 0x9B, 0xD5, 0x78, 0x80,
0x9C, 0xBC, 0x20, 0xF0, 0xA0, 0x87, 0xB4, 0x60, 0xD7, 0x0C, 0x68, 0x00, 0xFB, 0xC2, 0x8D, 0x00,
0xFC, 0xB2, 0x7E, 0x00, 0xFD, 0xC7, 0x59, 0x00, 0xFE, 0x76, 0xB0, 0x80, 0xFF, 0xA7, 0x3B, 0x00,
0x00, 0x56, 0x92, 0x80, 0x01, 0x87, 0x1D, 0x00, 0x02, 0x3F, 0xAF, 0x00, 0x03, 0x70, 0x39, 0x80,
@@ -7264,12 +7258,12 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04,
0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04,
0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x00, 0x00,
-0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
-0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0,
-0x00, 0x08, 0x45, 0x53, 0x54, 0x00, 0x7A, 0x7A, 0x7A, 0x00, 0x4D, 0x49, 0x53, 0x54, 0x00, 0x00,
-0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x2B, 0x30, 0x02,
-0x05, 0x32, 0x58, 0x00, 0x00, 0x00, 0x10, 0x4D, 0x61, 0x63, 0x71, 0x75, 0x61, 0x72, 0x69, 0x65,
-0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64,
+0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A,
+0x00, 0x00, 0x9A, 0xB0, 0x01, 0x05, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0,
+0x00, 0x0E, 0x41, 0x45, 0x53, 0x54, 0x00, 0x41, 0x45, 0x44, 0x54, 0x00, 0x7A, 0x7A, 0x7A, 0x00,
+0x4D, 0x49, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x36, 0x2B, 0x30, 0x02, 0x05, 0x32, 0x58, 0x00, 0x00, 0x00, 0x10, 0x4D, 0x61, 0x63,
+0x71, 0x75, 0x61, 0x72, 0x69, 0x65, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64,
/* Antarctica/Mawson */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -7676,9 +7670,11 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x00, 0x00, 0xB6, 0xD0, 0x01, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x09, 0x00, 0x00, 0x9A, 0xB0,
0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x41, 0x4E, 0x41, 0x54, 0x00, 0x41, 0x4E, 0x41, 0x53, 0x54,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xEC, 0x21, 0x38, 0x02, 0x21, 0x79, 0xED, 0x00, 0x00, 0x00, 0x16, 0x4D,
-0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x38, 0x20, 0x2D, 0x20, 0x42, 0x65, 0x72, 0x69, 0x6E,
-0x67, 0x20, 0x53, 0x65, 0x61,
+0x00, 0x00, 0x00, 0x00, 0xEC, 0x21, 0x38, 0x02, 0x21, 0x79, 0xED, 0x00, 0x00, 0x00, 0x33, 0x4D,
+0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x38, 0x20, 0x28, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77,
+0x2B, 0x30, 0x39, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x32, 0x30, 0x31, 0x34, 0x2D, 0x31,
+0x30, 0x2D, 0x32, 0x36, 0x29, 0x20, 0x2D, 0x20, 0x42, 0x65, 0x72, 0x69, 0x6E, 0x67, 0x20, 0x53,
+0x65, 0x61,
/* Asia/Aqtau */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -7975,6 +7971,42 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54,
0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+/* Asia/Chita */
+0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x14, 0xA1, 0xDB, 0xF9, 0xA0,
+0xB5, 0xA3, 0xC5, 0x00, 0x15, 0x27, 0x53, 0x70, 0x16, 0x18, 0x87, 0xE0, 0x17, 0x08, 0x86, 0xF0,
+0x17, 0xF9, 0xBB, 0x60, 0x18, 0xE9, 0xBA, 0x70, 0x19, 0xDA, 0xEE, 0xE0, 0x1A, 0xCC, 0x3F, 0x70,
+0x1B, 0xBC, 0x4C, 0x90, 0x1C, 0xAC, 0x3D, 0x90, 0x1D, 0x9C, 0x2E, 0x90, 0x1E, 0x8C, 0x1F, 0x90,
+0x1F, 0x7C, 0x10, 0x90, 0x20, 0x6C, 0x01, 0x90, 0x21, 0x5B, 0xF2, 0x90, 0x22, 0x4B, 0xE3, 0x90,
+0x23, 0x3B, 0xD4, 0x90, 0x24, 0x2B, 0xC5, 0x90, 0x25, 0x1B, 0xB6, 0x90, 0x26, 0x0B, 0xA7, 0x90,
+0x27, 0x04, 0xD3, 0x10, 0x27, 0xF4, 0xC4, 0x10, 0x28, 0xE4, 0xC3, 0x20, 0x29, 0x78, 0x6B, 0x20,
+0x29, 0xD4, 0x7B, 0xE0, 0x2A, 0xC4, 0x5E, 0xD0, 0x2B, 0xB4, 0x88, 0x10, 0x2C, 0xA4, 0x79, 0x10,
+0x2D, 0x94, 0x6A, 0x10, 0x2E, 0x84, 0x5B, 0x10, 0x2F, 0x74, 0x4C, 0x10, 0x30, 0x64, 0x3D, 0x10,
+0x31, 0x5D, 0x68, 0x90, 0x32, 0x72, 0x43, 0x90, 0x33, 0x3D, 0x4A, 0x90, 0x34, 0x52, 0x25, 0x90,
+0x35, 0x1D, 0x2C, 0x90, 0x36, 0x32, 0x07, 0x90, 0x36, 0xFD, 0x0E, 0x90, 0x38, 0x1B, 0x24, 0x10,
+0x38, 0xDC, 0xF0, 0x90, 0x39, 0xFB, 0x06, 0x10, 0x3A, 0xBC, 0xD2, 0x90, 0x3B, 0xDA, 0xE8, 0x10,
+0x3C, 0xA5, 0xEF, 0x10, 0x3D, 0xBA, 0xCA, 0x10, 0x3E, 0x85, 0xD1, 0x10, 0x3F, 0x9A, 0xAC, 0x10,
+0x40, 0x65, 0xB3, 0x10, 0x41, 0x83, 0xC8, 0x90, 0x42, 0x45, 0x95, 0x10, 0x43, 0x63, 0xAA, 0x90,
+0x44, 0x25, 0x77, 0x10, 0x45, 0x43, 0x8C, 0x90, 0x46, 0x05, 0x59, 0x10, 0x47, 0x23, 0x6E, 0x90,
+0x47, 0xEE, 0x75, 0x90, 0x49, 0x03, 0x50, 0x90, 0x49, 0xCE, 0x57, 0x90, 0x4A, 0xE3, 0x32, 0x90,
+0x4B, 0xAE, 0x39, 0x90, 0x4C, 0xCC, 0x4F, 0x10, 0x4D, 0x8E, 0x1B, 0x90, 0x54, 0x4B, 0xC9, 0x00,
+0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08,
+0x09, 0x00, 0x00, 0x6A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x8C,
+0xA0, 0x01, 0x09, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00,
+0x00, 0x8C, 0xA0, 0x01, 0x09, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00,
+0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0F, 0x4C, 0x4D, 0x54,
+0x00, 0x59, 0x41, 0x4B, 0x54, 0x00, 0x59, 0x41, 0x4B, 0x53, 0x54, 0x00, 0x49, 0x52, 0x4B, 0x54,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xC0, 0x48, 0x01, 0xBF, 0xCB, 0x6A, 0x00, 0x00, 0x00,
+0x34, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x36, 0x20, 0x28, 0x4D, 0x6F, 0x73, 0x63,
+0x6F, 0x77, 0x2B, 0x30, 0x35, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x32, 0x30, 0x31, 0x34,
+0x2D, 0x31, 0x30, 0x2D, 0x32, 0x36, 0x29, 0x20, 0x2D, 0x20, 0x5A, 0x61, 0x62, 0x61, 0x79, 0x6B,
+0x61, 0x6C, 0x73, 0x6B, 0x79,
+
/* Asia/Choibalsan */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
@@ -8002,34 +8034,30 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x75, 0x6B, 0x68, 0x62, 0x61, 0x61, 0x74, 0x61, 0x72,
/* Asia/Chongqing */
-0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xB0, 0xFE, 0xA8, 0x94,
-0x13, 0x6D, 0xC9, 0x10, 0x1E, 0xBA, 0x36, 0x00, 0x1F, 0x69, 0x7F, 0x70, 0x20, 0x7E, 0x68, 0x80,
-0x21, 0x49, 0x61, 0x70, 0x22, 0x5E, 0x4A, 0x80, 0x23, 0x29, 0x43, 0x70, 0x24, 0x47, 0x67, 0x00,
-0x25, 0x12, 0x5F, 0xF0, 0x26, 0x27, 0x49, 0x00, 0x26, 0xF2, 0x41, 0xF0, 0x28, 0x07, 0x2B, 0x00,
-0x28, 0xD2, 0x23, 0xF0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x00, 0x00, 0x63, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00, 0x00,
-0x7E, 0x90, 0x01, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x4C, 0x4F,
-0x4E, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xB6, 0x71, 0xBA, 0x01, 0xB5, 0x4A, 0x9D, 0x00, 0x00, 0x00, 0x40, 0x63,
-0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x43, 0x68, 0x69, 0x6E, 0x61, 0x20, 0x2D, 0x20, 0x53,
-0x69, 0x63, 0x68, 0x75, 0x61, 0x6E, 0x2C, 0x20, 0x59, 0x75, 0x6E, 0x6E, 0x61, 0x6E, 0x2C, 0x20,
-0x47, 0x75, 0x61, 0x6E, 0x67, 0x78, 0x69, 0x2C, 0x20, 0x53, 0x68, 0x61, 0x61, 0x6E, 0x78, 0x69,
-0x2C, 0x20, 0x47, 0x75, 0x69, 0x7A, 0x68, 0x6F, 0x75, 0x2C, 0x20, 0x65, 0x74, 0x63, 0x2E,
+0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xC8, 0x5C, 0x01, 0x80,
+0xC8, 0xFA, 0x27, 0x70, 0xC9, 0xD5, 0x0E, 0x80, 0xCA, 0xDB, 0x5A, 0xF0, 0x1E, 0xBA, 0x36, 0x00,
+0x1F, 0x69, 0x7F, 0x70, 0x20, 0x7E, 0x68, 0x80, 0x21, 0x49, 0x61, 0x70, 0x22, 0x5E, 0x4A, 0x80,
+0x23, 0x29, 0x43, 0x70, 0x24, 0x47, 0x67, 0x00, 0x25, 0x12, 0x5F, 0xF0, 0x26, 0x27, 0x49, 0x00,
+0x26, 0xF2, 0x41, 0xF0, 0x28, 0x07, 0x2B, 0x00, 0x28, 0xD2, 0x23, 0xF0, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7E, 0x90,
+0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+
/* Asia/Chungking */
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, 0x0E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xB0, 0xFE, 0xA8, 0x94,
-0x13, 0x6D, 0xC9, 0x10, 0x1E, 0xBA, 0x36, 0x00, 0x1F, 0x69, 0x7F, 0x70, 0x20, 0x7E, 0x68, 0x80,
-0x21, 0x49, 0x61, 0x70, 0x22, 0x5E, 0x4A, 0x80, 0x23, 0x29, 0x43, 0x70, 0x24, 0x47, 0x67, 0x00,
-0x25, 0x12, 0x5F, 0xF0, 0x26, 0x27, 0x49, 0x00, 0x26, 0xF2, 0x41, 0xF0, 0x28, 0x07, 0x2B, 0x00,
-0x28, 0xD2, 0x23, 0xF0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x00, 0x00, 0x63, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00, 0x00,
-0x7E, 0x90, 0x01, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x4C, 0x4F,
-0x4E, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xC8, 0x5C, 0x01, 0x80,
+0xC8, 0xFA, 0x27, 0x70, 0xC9, 0xD5, 0x0E, 0x80, 0xCA, 0xDB, 0x5A, 0xF0, 0x1E, 0xBA, 0x36, 0x00,
+0x1F, 0x69, 0x7F, 0x70, 0x20, 0x7E, 0x68, 0x80, 0x21, 0x49, 0x61, 0x70, 0x22, 0x5E, 0x4A, 0x80,
+0x23, 0x29, 0x43, 0x70, 0x24, 0x47, 0x67, 0x00, 0x25, 0x12, 0x5F, 0xF0, 0x26, 0x27, 0x49, 0x00,
+0x26, 0xF2, 0x41, 0xF0, 0x28, 0x07, 0x2B, 0x00, 0x28, 0xD2, 0x23, 0xF0, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7E, 0x90,
+0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+
/* Asia/Colombo */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4C, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -8220,21 +8248,17 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x72, 0x69, 0x70,
/* Asia/Harbin */
-0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xB0, 0xFE, 0x95, 0xBC,
-0xB8, 0xD3, 0xCE, 0x78, 0xC7, 0x90, 0xFA, 0x80, 0xF9, 0x17, 0x95, 0xF0, 0x13, 0x6D, 0xB3, 0xF8,
-0x1E, 0xBA, 0x36, 0x00, 0x1F, 0x69, 0x7F, 0x70, 0x20, 0x7E, 0x68, 0x80, 0x21, 0x49, 0x61, 0x70,
-0x22, 0x5E, 0x4A, 0x80, 0x23, 0x29, 0x43, 0x70, 0x24, 0x47, 0x67, 0x00, 0x25, 0x12, 0x5F, 0xF0,
-0x26, 0x27, 0x49, 0x00, 0x26, 0xF2, 0x41, 0xF0, 0x28, 0x07, 0x2B, 0x00, 0x28, 0xD2, 0x23, 0xF0,
-0x01, 0x02, 0x03, 0x01, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04,
-0x02, 0x00, 0x00, 0x76, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x77, 0x88, 0x00, 0x04, 0x00, 0x00, 0x70,
-0x80, 0x00, 0x09, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x0D, 0x4C,
-0x4D, 0x54, 0x00, 0x43, 0x48, 0x41, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x23, 0x58, 0x01, 0xD3,
-0xF6, 0x2D, 0x00, 0x00, 0x00, 0x21, 0x48, 0x65, 0x69, 0x6C, 0x6F, 0x6E, 0x67, 0x6A, 0x69, 0x61,
-0x6E, 0x67, 0x20, 0x28, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x4D, 0x6F, 0x68, 0x65, 0x29,
-0x2C, 0x20, 0x4A, 0x69, 0x6C, 0x69, 0x6E,
+0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xC8, 0x5C, 0x01, 0x80,
+0xC8, 0xFA, 0x27, 0x70, 0xC9, 0xD5, 0x0E, 0x80, 0xCA, 0xDB, 0x5A, 0xF0, 0x1E, 0xBA, 0x36, 0x00,
+0x1F, 0x69, 0x7F, 0x70, 0x20, 0x7E, 0x68, 0x80, 0x21, 0x49, 0x61, 0x70, 0x22, 0x5E, 0x4A, 0x80,
+0x23, 0x29, 0x43, 0x70, 0x24, 0x47, 0x67, 0x00, 0x25, 0x12, 0x5F, 0xF0, 0x26, 0x27, 0x49, 0x00,
+0x26, 0xF2, 0x41, 0xF0, 0x28, 0x07, 0x2B, 0x00, 0x28, 0xD2, 0x23, 0xF0, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7E, 0x90,
+0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+
/* Asia/Hebron */
0x50, 0x48, 0x50, 0x31, 0x01, 0x50, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -8362,7 +8386,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Irkutsk */
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, 0x0F, 0xA2, 0x12, 0x0F, 0xB0,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0xA2, 0x12, 0x0F, 0xB5,
0xB5, 0xA3, 0xD3, 0x10, 0x15, 0x27, 0x61, 0x80, 0x16, 0x18, 0x95, 0xF0, 0x17, 0x08, 0x95, 0x00,
0x17, 0xF9, 0xC9, 0x70, 0x18, 0xE9, 0xC8, 0x80, 0x19, 0xDA, 0xFC, 0xF0, 0x1A, 0xCC, 0x4D, 0x80,
0x1B, 0xBC, 0x5A, 0xA0, 0x1C, 0xAC, 0x4B, 0xA0, 0x1D, 0x9C, 0x3C, 0xA0, 0x1E, 0x8C, 0x2D, 0xA0,
@@ -8378,19 +8402,19 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x40, 0x65, 0xC1, 0x20, 0x41, 0x83, 0xD6, 0xA0, 0x42, 0x45, 0xA3, 0x20, 0x43, 0x63, 0xB8, 0xA0,
0x44, 0x25, 0x85, 0x20, 0x45, 0x43, 0x9A, 0xA0, 0x46, 0x05, 0x67, 0x20, 0x47, 0x23, 0x7C, 0xA0,
0x47, 0xEE, 0x83, 0xA0, 0x49, 0x03, 0x5E, 0xA0, 0x49, 0xCE, 0x65, 0xA0, 0x4A, 0xE3, 0x40, 0xA0,
-0x4B, 0xAE, 0x47, 0xA0, 0x4C, 0xCC, 0x5D, 0x20, 0x4D, 0x8E, 0x29, 0xA0, 0x01, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x4B, 0xAE, 0x47, 0xA0, 0x4C, 0xCC, 0x5D, 0x20, 0x4D, 0x8E, 0x29, 0xA0, 0x54, 0x4B, 0xD7, 0x10,
+0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05,
0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08, 0x00, 0x00, 0x61, 0xD0,
-0x00, 0x00, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x09, 0x00, 0x00,
-0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x09,
-0x00, 0x00, 0x70, 0x80, 0x01, 0x09, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90,
-0x00, 0x04, 0x49, 0x4D, 0x54, 0x00, 0x49, 0x52, 0x4B, 0x54, 0x00, 0x49, 0x52, 0x4B, 0x53, 0x54,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xD9, 0x14, 0xEA, 0x01, 0xB1, 0xDB, 0xB5, 0x00, 0x00, 0x00, 0x17, 0x4D,
-0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x35, 0x20, 0x2D, 0x20, 0x4C, 0x61, 0x6B, 0x65, 0x20,
-0x42, 0x61, 0x69, 0x6B, 0x61, 0x6C,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08,
+0x04, 0x00, 0x00, 0x61, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00, 0x00, 0x7E,
+0x90, 0x01, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00,
+0x00, 0x7E, 0x90, 0x01, 0x09, 0x00, 0x00, 0x70, 0x80, 0x01, 0x09, 0x00, 0x00, 0x62, 0x70, 0x00,
+0x04, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x49, 0x4D, 0x54, 0x00, 0x49, 0x52, 0x4B, 0x54, 0x00,
+0x49, 0x52, 0x4B, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0x14, 0xEA, 0x01, 0xB1, 0xDB, 0xB5,
+0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x35, 0x20, 0x2D, 0x20,
+0x4C, 0x61, 0x6B, 0x65, 0x20, 0x42, 0x61, 0x69, 0x6B, 0x61, 0x6C,
/* Asia/Istanbul */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -8473,14 +8497,14 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Jayapura */
0x50, 0x48, 0x50, 0x31, 0x01, 0x49, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xBA, 0x16, 0xC1, 0x98,
+0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xBA, 0x16, 0xC1, 0x98,
0xD0, 0x58, 0xB9, 0xF0, 0xF4, 0xB5, 0xA2, 0x68, 0x01, 0x02, 0x01, 0x00, 0x00, 0x83, 0xE8, 0x00,
0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x85, 0x98, 0x00, 0x08, 0x4C, 0x4D, 0x54,
-0x00, 0x57, 0x49, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x85, 0x76, 0xAA, 0x01, 0xE9, 0x59, 0x70, 0x00, 0x00, 0x00, 0x31, 0x77, 0x65, 0x73, 0x74, 0x20,
-0x4E, 0x65, 0x77, 0x20, 0x47, 0x75, 0x69, 0x6E, 0x65, 0x61, 0x20, 0x28, 0x49, 0x72, 0x69, 0x61,
-0x6E, 0x20, 0x4A, 0x61, 0x79, 0x61, 0x29, 0x20, 0x26, 0x20, 0x4D, 0x61, 0x6C, 0x75, 0x6B, 0x75,
-0x73, 0x20, 0x28, 0x4D, 0x6F, 0x6C, 0x75, 0x63, 0x63, 0x61, 0x73, 0x29,
+0x00, 0x57, 0x49, 0x54, 0x00, 0x41, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x85, 0x76, 0xAA, 0x01, 0xE9, 0x59, 0x70, 0x00, 0x00, 0x00, 0x31, 0x77, 0x65, 0x73, 0x74,
+0x20, 0x4E, 0x65, 0x77, 0x20, 0x47, 0x75, 0x69, 0x6E, 0x65, 0x61, 0x20, 0x28, 0x49, 0x72, 0x69,
+0x61, 0x6E, 0x20, 0x4A, 0x61, 0x79, 0x61, 0x29, 0x20, 0x26, 0x20, 0x4D, 0x61, 0x6C, 0x75, 0x6B,
+0x75, 0x73, 0x20, 0x28, 0x4D, 0x6F, 0x6C, 0x75, 0x63, 0x63, 0x61, 0x73, 0x29,
/* Asia/Jerusalem */
0x50, 0x48, 0x50, 0x31, 0x01, 0x49, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -8572,8 +8596,10 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x00, 0x00, 0xA8, 0xC0, 0x01, 0x09, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00,
0x50, 0x45, 0x54, 0x54, 0x00, 0x50, 0x45, 0x54, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDA, 0x39, 0xE2, 0x02,
-0x04, 0xBD, 0x28, 0x00, 0x00, 0x00, 0x15, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x38,
-0x20, 0x2D, 0x20, 0x4B, 0x61, 0x6D, 0x63, 0x68, 0x61, 0x74, 0x6B, 0x61,
+0x04, 0xBD, 0x28, 0x00, 0x00, 0x00, 0x32, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x38,
+0x20, 0x28, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x39, 0x20, 0x61, 0x66, 0x74, 0x65,
+0x72, 0x20, 0x32, 0x30, 0x31, 0x34, 0x2D, 0x31, 0x30, 0x2D, 0x32, 0x36, 0x29, 0x20, 0x2D, 0x20,
+0x4B, 0x61, 0x6D, 0x63, 0x68, 0x61, 0x74, 0x6B, 0x61,
/* Asia/Karachi */
0x50, 0x48, 0x50, 0x31, 0x01, 0x50, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -8590,20 +8616,12 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0xE8, 0x00, 0x00, 0x00, 0x00,
/* Asia/Kashgar */
-0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0xB0, 0xFE, 0xC5, 0x44,
-0xC7, 0x91, 0x1D, 0xA8, 0x13, 0x6D, 0xE5, 0x30, 0x1E, 0xBA, 0x36, 0x00, 0x1F, 0x69, 0x7F, 0x70,
-0x20, 0x7E, 0x68, 0x80, 0x21, 0x49, 0x61, 0x70, 0x22, 0x5E, 0x4A, 0x80, 0x23, 0x29, 0x43, 0x70,
-0x24, 0x47, 0x67, 0x00, 0x25, 0x12, 0x5F, 0xF0, 0x26, 0x27, 0x49, 0x00, 0x26, 0xF2, 0x41, 0xF0,
-0x28, 0x07, 0x2B, 0x00, 0x28, 0xD2, 0x23, 0xF0, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03,
-0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, 0x00, 0x47, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x4D,
-0x58, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x09, 0x00,
-0x00, 0x70, 0x80, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x41, 0x53, 0x54, 0x00, 0x43, 0x44,
-0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0xC5, 0x93, 0x6D, 0x01, 0x86, 0x99, 0x7D, 0x00, 0x00, 0x00, 0x15, 0x77, 0x65, 0x73, 0x74,
-0x20, 0x54, 0x69, 0x62, 0x65, 0x74, 0x20, 0x26, 0x20, 0x58, 0x69, 0x6E, 0x6A, 0x69, 0x61, 0x6E,
-0x67,
+0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xB0, 0xFE, 0xBA, 0x64,
+0x01, 0x00, 0x00, 0x52, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x4C, 0x4D, 0x54,
+0x00, 0x58, 0x4A, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8,
+0x80, 0x00, 0x00, 0x00, 0x00,
/* Asia/Kathmandu */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -8626,7 +8644,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Khandyga */
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, 0x42, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x1A, 0xA1, 0xDB, 0xE4, 0xEB,
+0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x1A, 0xA1, 0xDB, 0xE4, 0xEB,
0xB5, 0xA3, 0xC5, 0x00, 0x15, 0x27, 0x53, 0x70, 0x16, 0x18, 0x87, 0xE0, 0x17, 0x08, 0x86, 0xF0,
0x17, 0xF9, 0xBB, 0x60, 0x18, 0xE9, 0xBA, 0x70, 0x19, 0xDA, 0xEE, 0xE0, 0x1A, 0xCC, 0x3F, 0x70,
0x1B, 0xBC, 0x4C, 0x90, 0x1C, 0xAC, 0x3D, 0x90, 0x1D, 0x9C, 0x2E, 0x90, 0x1E, 0x8C, 0x1F, 0x90,
@@ -8643,22 +8661,22 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x43, 0x63, 0x9C, 0x80, 0x44, 0x25, 0x69, 0x00, 0x45, 0x43, 0x7E, 0x80, 0x46, 0x05, 0x4B, 0x00,
0x47, 0x23, 0x60, 0x80, 0x47, 0xEE, 0x67, 0x80, 0x49, 0x03, 0x42, 0x80, 0x49, 0xCE, 0x49, 0x80,
0x4A, 0xE3, 0x24, 0x80, 0x4B, 0xAE, 0x2B, 0x80, 0x4C, 0xCC, 0x41, 0x00, 0x4D, 0x8E, 0x0D, 0x80,
-0x4E, 0x6E, 0x02, 0x50, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x0A, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09,
-0x08, 0x09, 0x08, 0x09, 0x0B, 0x0C, 0x00, 0x00, 0x7F, 0x15, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80,
-0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x01, 0x09, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00,
-0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x01, 0x09, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x09,
-0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x0F, 0x00, 0x00, 0x8C, 0xA0,
-0x00, 0x15, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x15, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x15, 0x00, 0x00,
-0x8C, 0xA0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x59, 0x41, 0x4B, 0x54, 0x00, 0x59, 0x41, 0x4B,
-0x53, 0x54, 0x00, 0x56, 0x4C, 0x41, 0x53, 0x54, 0x00, 0x56, 0x4C, 0x41, 0x54, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE8, 0xEF, 0x66, 0x01, 0xE1, 0x7F, 0x3C,
-0x00, 0x00, 0x00, 0x21, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x36, 0x20, 0x2D, 0x20,
-0x54, 0x6F, 0x6D, 0x70, 0x6F, 0x6E, 0x73, 0x6B, 0x79, 0x2C, 0x20, 0x55, 0x73, 0x74, 0x2D, 0x4D,
-0x61, 0x79, 0x73, 0x6B, 0x79,
+0x4E, 0x6E, 0x02, 0x50, 0x54, 0x4B, 0xC9, 0x00, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07,
+0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x0A, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09,
+0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x0B, 0x0C, 0x04, 0x00, 0x00, 0x7F, 0x15, 0x00,
+0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x01, 0x09, 0x00, 0x00, 0x7E,
+0x90, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x01, 0x09, 0x00,
+0x00, 0x7E, 0x90, 0x01, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x01,
+0x0F, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x15, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x15, 0x00, 0x00, 0x9A,
+0xB0, 0x00, 0x15, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x59, 0x41, 0x4B,
+0x54, 0x00, 0x59, 0x41, 0x4B, 0x53, 0x54, 0x00, 0x56, 0x4C, 0x41, 0x53, 0x54, 0x00, 0x56, 0x4C,
+0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE8, 0xEF,
+0x66, 0x01, 0xE1, 0x7F, 0x3C, 0x00, 0x00, 0x00, 0x21, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B,
+0x30, 0x36, 0x20, 0x2D, 0x20, 0x54, 0x6F, 0x6D, 0x70, 0x6F, 0x6E, 0x73, 0x6B, 0x79, 0x2C, 0x20,
+0x55, 0x73, 0x74, 0x2D, 0x4D, 0x61, 0x79, 0x73, 0x6B, 0x79,
/* Asia/Kolkata */
0x50, 0x48, 0x50, 0x31, 0x01, 0x49, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -8673,7 +8691,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Krasnoyarsk */
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, 0x0F, 0xA1, 0xF9, 0x0D, 0xF8,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0xA1, 0xF9, 0x0D, 0xF8,
0xB5, 0xA3, 0xE1, 0x20, 0x15, 0x27, 0x6F, 0x90, 0x16, 0x18, 0xA4, 0x00, 0x17, 0x08, 0xA3, 0x10,
0x17, 0xF9, 0xD7, 0x80, 0x18, 0xE9, 0xD6, 0x90, 0x19, 0xDB, 0x0B, 0x00, 0x1A, 0xCC, 0x5B, 0x90,
0x1B, 0xBC, 0x68, 0xB0, 0x1C, 0xAC, 0x59, 0xB0, 0x1D, 0x9C, 0x4A, 0xB0, 0x1E, 0x8C, 0x3B, 0xB0,
@@ -8689,19 +8707,19 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x40, 0x65, 0xCF, 0x30, 0x41, 0x83, 0xE4, 0xB0, 0x42, 0x45, 0xB1, 0x30, 0x43, 0x63, 0xC6, 0xB0,
0x44, 0x25, 0x93, 0x30, 0x45, 0x43, 0xA8, 0xB0, 0x46, 0x05, 0x75, 0x30, 0x47, 0x23, 0x8A, 0xB0,
0x47, 0xEE, 0x91, 0xB0, 0x49, 0x03, 0x6C, 0xB0, 0x49, 0xCE, 0x73, 0xB0, 0x4A, 0xE3, 0x4E, 0xB0,
-0x4B, 0xAE, 0x55, 0xB0, 0x4C, 0xCC, 0x6B, 0x30, 0x4D, 0x8E, 0x37, 0xB0, 0x01, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x4B, 0xAE, 0x55, 0xB0, 0x4C, 0xCC, 0x6B, 0x30, 0x4D, 0x8E, 0x37, 0xB0, 0x54, 0x4B, 0xE5, 0x20,
+0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05,
0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08, 0x00, 0x00, 0x57, 0x08,
-0x00, 0x00, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x70, 0x80, 0x01, 0x09, 0x00, 0x00,
-0x62, 0x70, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00, 0x00, 0x70, 0x80, 0x01, 0x09,
-0x00, 0x00, 0x62, 0x70, 0x01, 0x09, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x70, 0x80,
-0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x52, 0x41, 0x54, 0x00, 0x4B, 0x52, 0x41, 0x53, 0x54,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xDE, 0xCD, 0xC2, 0x01, 0xA0, 0x4F, 0x85, 0x00, 0x00, 0x00, 0x19, 0x4D,
-0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x34, 0x20, 0x2D, 0x20, 0x59, 0x65, 0x6E, 0x69, 0x73,
-0x65, 0x69, 0x20, 0x52, 0x69, 0x76, 0x65, 0x72,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08,
+0x04, 0x00, 0x00, 0x57, 0x08, 0x00, 0x00, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x70,
+0x80, 0x01, 0x09, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00,
+0x00, 0x70, 0x80, 0x01, 0x09, 0x00, 0x00, 0x62, 0x70, 0x01, 0x09, 0x00, 0x00, 0x54, 0x60, 0x00,
+0x04, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4B, 0x52, 0x41, 0x54, 0x00,
+0x4B, 0x52, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0xCD, 0xC2, 0x01, 0xA0, 0x4F, 0x85,
+0x00, 0x00, 0x00, 0x19, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x34, 0x20, 0x2D, 0x20,
+0x59, 0x65, 0x6E, 0x69, 0x73, 0x65, 0x69, 0x20, 0x52, 0x69, 0x76, 0x65, 0x72,
/* Asia/Kuala_Lumpur */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -8789,7 +8807,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Magadan */
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, 0x0F, 0xAA, 0x19, 0x36, 0xA0,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0xAA, 0x19, 0x36, 0xA0,
0xB5, 0xA3, 0xA8, 0xE0, 0x15, 0x27, 0x37, 0x50, 0x16, 0x18, 0x6B, 0xC0, 0x17, 0x08, 0x6A, 0xD0,
0x17, 0xF9, 0x9F, 0x40, 0x18, 0xE9, 0x9E, 0x50, 0x19, 0xDA, 0xD2, 0xC0, 0x1A, 0xCC, 0x23, 0x50,
0x1B, 0xBC, 0x30, 0x70, 0x1C, 0xAC, 0x21, 0x70, 0x1D, 0x9C, 0x12, 0x70, 0x1E, 0x8C, 0x03, 0x70,
@@ -8805,19 +8823,21 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x40, 0x65, 0x96, 0xF0, 0x41, 0x83, 0xAC, 0x70, 0x42, 0x45, 0x78, 0xF0, 0x43, 0x63, 0x8E, 0x70,
0x44, 0x25, 0x5A, 0xF0, 0x45, 0x43, 0x70, 0x70, 0x46, 0x05, 0x3C, 0xF0, 0x47, 0x23, 0x52, 0x70,
0x47, 0xEE, 0x59, 0x70, 0x49, 0x03, 0x34, 0x70, 0x49, 0xCE, 0x3B, 0x70, 0x4A, 0xE3, 0x16, 0x70,
-0x4B, 0xAE, 0x1D, 0x70, 0x4C, 0xCC, 0x32, 0xF0, 0x4D, 0x8D, 0xFF, 0x70, 0x01, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x4B, 0xAE, 0x1D, 0x70, 0x4C, 0xCC, 0x32, 0xF0, 0x4D, 0x8D, 0xFF, 0x70, 0x54, 0x4B, 0xAC, 0xE0,
+0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05,
0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08, 0x00, 0x00, 0x8D, 0x60,
-0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x09, 0x00, 0x00,
-0x9A, 0xB0, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x09,
-0x00, 0x00, 0x9A, 0xB0, 0x01, 0x09, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0xA8, 0xC0,
-0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x41, 0x47, 0x54, 0x00, 0x4D, 0x41, 0x47, 0x53, 0x54,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xE4, 0x38, 0x7A, 0x01, 0xF8, 0xC2, 0xC0, 0x00, 0x00, 0x00, 0x13, 0x4D,
-0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x38, 0x20, 0x2D, 0x20, 0x4D, 0x61, 0x67, 0x61, 0x64,
-0x61, 0x6E,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08,
+0x07, 0x00, 0x00, 0x8D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0xA8,
+0xC0, 0x01, 0x09, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x04, 0x00,
+0x00, 0xA8, 0xC0, 0x01, 0x09, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x09, 0x00, 0x00, 0x8C, 0xA0, 0x00,
+0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x41, 0x47, 0x54, 0x00,
+0x4D, 0x41, 0x47, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, 0x38, 0x7A, 0x01, 0xF8, 0xC2, 0xC0,
+0x00, 0x00, 0x00, 0x30, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x38, 0x20, 0x28, 0x4D,
+0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x37, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x32,
+0x30, 0x31, 0x34, 0x2D, 0x31, 0x30, 0x2D, 0x32, 0x36, 0x29, 0x20, 0x2D, 0x20, 0x4D, 0x61, 0x67,
+0x61, 0x64, 0x61, 0x6E,
/* Asia/Makassar */
0x50, 0x48, 0x50, 0x31, 0x01, 0x49, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -8905,7 +8925,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Novokuznetsk */
0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1A, 0xA1, 0xF9, 0x13, 0x40,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1A, 0xA1, 0xF9, 0x13, 0x40,
0xB5, 0xA3, 0xE1, 0x20, 0x15, 0x27, 0x6F, 0x90, 0x16, 0x18, 0xA4, 0x00, 0x17, 0x08, 0xA3, 0x10,
0x17, 0xF9, 0xD7, 0x80, 0x18, 0xE9, 0xD6, 0x90, 0x19, 0xDB, 0x0B, 0x00, 0x1A, 0xCC, 0x5B, 0x90,
0x1B, 0xBC, 0x68, 0xB0, 0x1C, 0xAC, 0x59, 0xB0, 0x1D, 0x9C, 0x4A, 0xB0, 0x1E, 0x8C, 0x3B, 0xB0,
@@ -8921,26 +8941,28 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x40, 0x65, 0xCF, 0x30, 0x41, 0x83, 0xE4, 0xB0, 0x42, 0x45, 0xB1, 0x30, 0x43, 0x63, 0xC6, 0xB0,
0x44, 0x25, 0x93, 0x30, 0x45, 0x43, 0xA8, 0xB0, 0x46, 0x05, 0x75, 0x30, 0x47, 0x23, 0x8A, 0xB0,
0x47, 0xEE, 0x91, 0xB0, 0x49, 0x03, 0x6C, 0xB0, 0x49, 0xCE, 0x73, 0xB0, 0x4A, 0xE3, 0x4E, 0xB0,
-0x4B, 0xAE, 0x55, 0xB0, 0x4C, 0xCC, 0x79, 0x40, 0x4D, 0x8E, 0x45, 0xC0, 0x01, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x4B, 0xAE, 0x55, 0xB0, 0x4C, 0xCC, 0x79, 0x40, 0x4D, 0x8E, 0x45, 0xC0, 0x54, 0x4B, 0xF3, 0x30,
+0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05,
0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08, 0x09, 0x0A, 0x00, 0x00, 0x51, 0xC0,
-0x00, 0x00, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x70, 0x80, 0x01, 0x09, 0x00, 0x00,
-0x62, 0x70, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00, 0x00, 0x70, 0x80, 0x01, 0x09,
-0x00, 0x00, 0x62, 0x70, 0x01, 0x09, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70,
-0x01, 0x0F, 0x00, 0x00, 0x54, 0x60, 0x00, 0x15, 0x00, 0x00, 0x62, 0x70, 0x00, 0x15, 0x4E, 0x4D,
-0x54, 0x00, 0x4B, 0x52, 0x41, 0x54, 0x00, 0x4B, 0x52, 0x41, 0x53, 0x54, 0x00, 0x4E, 0x4F, 0x56,
-0x53, 0x54, 0x00, 0x4E, 0x4F, 0x56, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB,
-0x58, 0x58, 0x01, 0x97, 0x96, 0x72, 0x00, 0x00, 0x00, 0x18, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77,
-0x2B, 0x30, 0x33, 0x20, 0x2D, 0x20, 0x4E, 0x6F, 0x76, 0x6F, 0x6B, 0x75, 0x7A, 0x6E, 0x65, 0x74,
-0x73, 0x6B,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08, 0x09, 0x0A,
+0x04, 0x00, 0x00, 0x51, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x70,
+0x80, 0x01, 0x09, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00,
+0x00, 0x70, 0x80, 0x01, 0x09, 0x00, 0x00, 0x62, 0x70, 0x01, 0x09, 0x00, 0x00, 0x54, 0x60, 0x00,
+0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x0F, 0x00, 0x00, 0x54, 0x60, 0x00, 0x15, 0x00, 0x00, 0x62,
+0x70, 0x00, 0x15, 0x4E, 0x4D, 0x54, 0x00, 0x4B, 0x52, 0x41, 0x54, 0x00, 0x4B, 0x52, 0x41, 0x53,
+0x54, 0x00, 0x4E, 0x4F, 0x56, 0x53, 0x54, 0x00, 0x4E, 0x4F, 0x56, 0x54, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xDB, 0x58, 0x58, 0x01, 0x97, 0x96, 0x72, 0x00, 0x00, 0x00, 0x31, 0x4D,
+0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x33, 0x20, 0x28, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77,
+0x2B, 0x30, 0x34, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x32, 0x30, 0x31, 0x34, 0x2D, 0x31,
+0x30, 0x2D, 0x32, 0x36, 0x29, 0x20, 0x2D, 0x20, 0x4B, 0x65, 0x6D, 0x65, 0x72, 0x6F, 0x76, 0x6F,
+
/* Asia/Novosibirsk */
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, 0x41, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0xA1, 0xDB, 0x19, 0x24,
+0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0xA1, 0xDB, 0x19, 0x24,
0xB5, 0xA3, 0xE1, 0x20, 0x15, 0x27, 0x6F, 0x90, 0x16, 0x18, 0xA4, 0x00, 0x17, 0x08, 0xA3, 0x10,
0x17, 0xF9, 0xD7, 0x80, 0x18, 0xE9, 0xD6, 0x90, 0x19, 0xDB, 0x0B, 0x00, 0x1A, 0xCC, 0x5B, 0x90,
0x1B, 0xBC, 0x68, 0xB0, 0x1C, 0xAC, 0x59, 0xB0, 0x1D, 0x9C, 0x4A, 0xB0, 0x1E, 0x8C, 0x3B, 0xB0,
@@ -8957,23 +8979,24 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x43, 0x63, 0xD4, 0xC0, 0x44, 0x25, 0xA1, 0x40, 0x45, 0x43, 0xB6, 0xC0, 0x46, 0x05, 0x83, 0x40,
0x47, 0x23, 0x98, 0xC0, 0x47, 0xEE, 0x9F, 0xC0, 0x49, 0x03, 0x7A, 0xC0, 0x49, 0xCE, 0x81, 0xC0,
0x4A, 0xE3, 0x5C, 0xC0, 0x4B, 0xAE, 0x63, 0xC0, 0x4C, 0xCC, 0x79, 0x40, 0x4D, 0x8E, 0x45, 0xC0,
-0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x08, 0x07, 0x06, 0x07,
-0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07,
+0x54, 0x4B, 0xF3, 0x30, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05,
+0x08, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07,
0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07,
-0x04, 0x00, 0x00, 0x4D, 0xBC, 0x00, 0x00, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x70,
-0x80, 0x01, 0x09, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00,
-0x00, 0x70, 0x80, 0x01, 0x09, 0x00, 0x00, 0x62, 0x70, 0x01, 0x09, 0x00, 0x00, 0x54, 0x60, 0x00,
-0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x4F, 0x56, 0x54, 0x00,
-0x4E, 0x4F, 0x56, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x4D, 0xA5, 0x01, 0x91, 0x2D, 0xD2,
-0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x33, 0x20, 0x2D, 0x20,
-0x4E, 0x6F, 0x76, 0x6F, 0x73, 0x69, 0x62, 0x69, 0x72, 0x73, 0x6B,
+0x06, 0x07, 0x06, 0x07, 0x04, 0x07, 0x00, 0x00, 0x4D, 0xBC, 0x00, 0x00, 0x00, 0x00, 0x54, 0x60,
+0x00, 0x04, 0x00, 0x00, 0x70, 0x80, 0x01, 0x09, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x00, 0x00,
+0x62, 0x70, 0x00, 0x04, 0x00, 0x00, 0x70, 0x80, 0x01, 0x09, 0x00, 0x00, 0x62, 0x70, 0x01, 0x09,
+0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x09, 0x4C, 0x4D, 0x54, 0x00,
+0x4E, 0x4F, 0x56, 0x54, 0x00, 0x4E, 0x4F, 0x56, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x4D,
+0xA5, 0x01, 0x91, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B,
+0x30, 0x33, 0x20, 0x2D, 0x20, 0x4E, 0x6F, 0x76, 0x6F, 0x73, 0x69, 0x62, 0x69, 0x72, 0x73, 0x6B,
+
/* Asia/Omsk */
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, 0x0F, 0xA1, 0xB3, 0x40, 0xB0,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0xA1, 0xB3, 0x40, 0xB0,
0xB5, 0xA3, 0xEF, 0x30, 0x15, 0x27, 0x7D, 0xA0, 0x16, 0x18, 0xB2, 0x10, 0x17, 0x08, 0xB1, 0x20,
0x17, 0xF9, 0xE5, 0x90, 0x18, 0xE9, 0xE4, 0xA0, 0x19, 0xDB, 0x19, 0x10, 0x1A, 0xCC, 0x69, 0xA0,
0x1B, 0xBC, 0x76, 0xC0, 0x1C, 0xAC, 0x67, 0xC0, 0x1D, 0x9C, 0x58, 0xC0, 0x1E, 0x8C, 0x49, 0xC0,
@@ -8989,19 +9012,19 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x40, 0x65, 0xDD, 0x40, 0x41, 0x83, 0xF2, 0xC0, 0x42, 0x45, 0xBF, 0x40, 0x43, 0x63, 0xD4, 0xC0,
0x44, 0x25, 0xA1, 0x40, 0x45, 0x43, 0xB6, 0xC0, 0x46, 0x05, 0x83, 0x40, 0x47, 0x23, 0x98, 0xC0,
0x47, 0xEE, 0x9F, 0xC0, 0x49, 0x03, 0x7A, 0xC0, 0x49, 0xCE, 0x81, 0xC0, 0x4A, 0xE3, 0x5C, 0xC0,
-0x4B, 0xAE, 0x63, 0xC0, 0x4C, 0xCC, 0x79, 0x40, 0x4D, 0x8E, 0x45, 0xC0, 0x01, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x4B, 0xAE, 0x63, 0xC0, 0x4C, 0xCC, 0x79, 0x40, 0x4D, 0x8E, 0x45, 0xC0, 0x54, 0x4B, 0xF3, 0x30,
+0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05,
0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08, 0x00, 0x00, 0x44, 0xD0,
-0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x09, 0x00, 0x00,
-0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x09,
-0x00, 0x00, 0x54, 0x60, 0x01, 0x09, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70,
-0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4F, 0x4D, 0x53, 0x54, 0x00, 0x4F, 0x4D, 0x53, 0x53, 0x54,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xDD, 0x40, 0xA0, 0x01, 0x82, 0xA8, 0x60, 0x00, 0x00, 0x00, 0x18, 0x4D,
-0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x33, 0x20, 0x2D, 0x20, 0x77, 0x65, 0x73, 0x74, 0x20,
-0x53, 0x69, 0x62, 0x65, 0x72, 0x69, 0x61,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08,
+0x04, 0x00, 0x00, 0x44, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62,
+0x70, 0x01, 0x09, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00,
+0x00, 0x62, 0x70, 0x01, 0x09, 0x00, 0x00, 0x54, 0x60, 0x01, 0x09, 0x00, 0x00, 0x46, 0x50, 0x00,
+0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x4F, 0x4D, 0x53, 0x54, 0x00,
+0x4F, 0x4D, 0x53, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDD, 0x40, 0xA0, 0x01, 0x82, 0xA8, 0x60,
+0x00, 0x00, 0x00, 0x18, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x33, 0x20, 0x2D, 0x20,
+0x77, 0x65, 0x73, 0x74, 0x20, 0x53, 0x69, 0x62, 0x65, 0x72, 0x69, 0x61,
/* Asia/Oral */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -9062,12 +9085,15 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Pyongyang */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4B, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x85, 0x93, 0x7E, 0x78,
-0xB0, 0xFE, 0x8D, 0xF0, 0xB8, 0x84, 0xB4, 0x78, 0xE2, 0x4F, 0x29, 0xF0, 0xF0, 0x35, 0x78, 0x80,
-0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x00, 0x77, 0x88, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x00,
-0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x4B, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0xC4, 0xDD, 0x22, 0x01, 0xD2, 0x89, 0x98, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0D, 0x85, 0x93, 0x7E, 0x78,
+0xB0, 0xFE, 0x8D, 0xF0, 0xB8, 0x84, 0xB4, 0x78, 0xC3, 0x55, 0x3B, 0x70, 0xD2, 0x2F, 0x61, 0x70,
+0xE2, 0x4F, 0x29, 0xF0, 0xF0, 0x35, 0x78, 0x80, 0x01, 0x00, 0x01, 0x02, 0x03, 0x04, 0x03, 0x00,
+0x00, 0x77, 0x88, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x00,
+0x09, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x4B, 0x53, 0x54,
+0x00, 0x4A, 0x43, 0x53, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xDD, 0x22, 0x01, 0xD2, 0x89, 0x98, 0x00, 0x00, 0x00, 0x00,
+
/* Asia/Qatar */
0x50, 0x48, 0x50, 0x31, 0x01, 0x51, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -9123,7 +9149,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Riyadh */
0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xDA, 0x61, 0x36, 0xB4,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD5, 0x1B, 0x36, 0xB4,
0x01, 0x00, 0x00, 0x2B, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54,
0x00, 0x41, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAE, 0xEA, 0xA5, 0x01, 0x59, 0xF1,
0x32, 0x00, 0x00, 0x00, 0x00,
@@ -9141,8 +9167,8 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Sakhalin */
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, 0x41, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x17, 0x86, 0xF0, 0xCD, 0xB8,
-0xC3, 0xCE, 0x85, 0x70, 0xD2, 0x30, 0xB2, 0xF0, 0x15, 0x27, 0x37, 0x50, 0x16, 0x18, 0x6B, 0xC0,
+0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x18, 0x86, 0xF0, 0xCD, 0xB8,
+0xC3, 0x55, 0x3B, 0x70, 0xD2, 0x30, 0xB2, 0xF0, 0x15, 0x27, 0x37, 0x50, 0x16, 0x18, 0x6B, 0xC0,
0x17, 0x08, 0x6A, 0xD0, 0x17, 0xF9, 0x9F, 0x40, 0x18, 0xE9, 0x9E, 0x50, 0x19, 0xDA, 0xD2, 0xC0,
0x1A, 0xCC, 0x23, 0x50, 0x1B, 0xBC, 0x30, 0x70, 0x1C, 0xAC, 0x21, 0x70, 0x1D, 0x9C, 0x12, 0x70,
0x1E, 0x8C, 0x03, 0x70, 0x1F, 0x7B, 0xF4, 0x70, 0x20, 0x6B, 0xE5, 0x70, 0x21, 0x5B, 0xD6, 0x70,
@@ -9158,19 +9184,19 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x43, 0x63, 0x9C, 0x80, 0x44, 0x25, 0x69, 0x00, 0x45, 0x43, 0x7E, 0x80, 0x46, 0x05, 0x4B, 0x00,
0x47, 0x23, 0x60, 0x80, 0x47, 0xEE, 0x67, 0x80, 0x49, 0x03, 0x42, 0x80, 0x49, 0xCE, 0x49, 0x80,
0x4A, 0xE3, 0x24, 0x80, 0x4B, 0xAE, 0x2B, 0x80, 0x4C, 0xCC, 0x41, 0x00, 0x4D, 0x8E, 0x0D, 0x80,
-0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06,
-0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x05, 0x03, 0x04, 0x06, 0x05, 0x06, 0x05,
-0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08,
+0x54, 0x4B, 0xBA, 0xF0, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x06,
+0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x05, 0x03, 0x04,
+0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08,
0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08,
-0x05, 0x00, 0x00, 0x85, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x7E,
-0x90, 0x00, 0x08, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x0C, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x12, 0x00,
-0x00, 0x9A, 0xB0, 0x00, 0x12, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x0C, 0x00, 0x00, 0x9A, 0xB0, 0x01,
-0x0C, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x12, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x4A, 0x54, 0x00, 0x4A,
-0x53, 0x54, 0x00, 0x53, 0x41, 0x4B, 0x53, 0x54, 0x00, 0x53, 0x41, 0x4B, 0x54, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0xD0, 0xFE, 0x9A, 0x01, 0xEC, 0x66, 0xB0, 0x00, 0x00, 0x00, 0x1B, 0x4D, 0x6F, 0x73, 0x63,
-0x6F, 0x77, 0x2B, 0x30, 0x37, 0x20, 0x2D, 0x20, 0x53, 0x61, 0x6B, 0x68, 0x61, 0x6C, 0x69, 0x6E,
-0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64,
+0x07, 0x08, 0x07, 0x08, 0x05, 0x08, 0x00, 0x00, 0x85, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90,
+0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x0D, 0x00, 0x00,
+0x9A, 0xB0, 0x00, 0x13, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x13, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x0D,
+0x00, 0x00, 0x9A, 0xB0, 0x01, 0x0D, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x13, 0x4C, 0x4D, 0x54, 0x00,
+0x4A, 0x43, 0x53, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x53, 0x41, 0x4B, 0x53, 0x54, 0x00, 0x53,
+0x41, 0x4B, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xFE, 0x9A, 0x01, 0xEC, 0x66, 0xB0, 0x00, 0x00,
+0x00, 0x1B, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x37, 0x20, 0x2D, 0x20, 0x53, 0x61,
+0x6B, 0x68, 0x61, 0x6C, 0x69, 0x6E, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64,
/* Asia/Samarkand */
0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -9196,33 +9222,31 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Seoul */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4B, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x85, 0x93, 0x7E, 0x78,
-0xB0, 0xFE, 0x8D, 0xF0, 0xB8, 0x84, 0xB4, 0x78, 0xE2, 0x4F, 0x29, 0xF0, 0xED, 0xE1, 0x92, 0x80,
-0xEE, 0x81, 0x09, 0xF0, 0xF0, 0x35, 0x78, 0x80, 0xFD, 0xA5, 0x0A, 0xF8, 0x20, 0xA3, 0x44, 0x70,
-0x21, 0x6E, 0x3D, 0x60, 0x22, 0x83, 0x26, 0x70, 0x23, 0x4E, 0x1F, 0x60, 0x01, 0x00, 0x01, 0x03,
-0x02, 0x03, 0x00, 0x01, 0x04, 0x01, 0x04, 0x01, 0x00, 0x00, 0x77, 0x88, 0x00, 0x00, 0x00, 0x00,
-0x7E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x04, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00,
-0x00, 0x00, 0x8C, 0xA0, 0x01, 0x04, 0x4B, 0x53, 0x54, 0x00, 0x4B, 0x44, 0x54, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xA0, 0x38, 0x01, 0xD4, 0x64, 0xDA,
-0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x85, 0x93, 0x7E, 0x78,
+0xB0, 0xFE, 0x8D, 0xF0, 0xB8, 0x84, 0xB4, 0x78, 0xC3, 0x55, 0x3B, 0x70, 0xD2, 0x43, 0x27, 0xF0,
+0xE2, 0x4F, 0x29, 0xF0, 0xED, 0xE1, 0x92, 0x80, 0xEE, 0x81, 0x09, 0xF0, 0xF0, 0x35, 0x78, 0x80,
+0xFD, 0xA5, 0x0A, 0xF8, 0x20, 0xA3, 0x44, 0x70, 0x21, 0x6E, 0x3D, 0x60, 0x22, 0x83, 0x26, 0x70,
+0x23, 0x4E, 0x1F, 0x60, 0x01, 0x00, 0x01, 0x02, 0x03, 0x05, 0x04, 0x05, 0x00, 0x03, 0x06, 0x03,
+0x06, 0x03, 0x00, 0x00, 0x77, 0x88, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00,
+0x7E, 0x90, 0x00, 0x09, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x0D,
+0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x01, 0x0D, 0x4B, 0x53, 0x54, 0x00,
+0x4A, 0x43, 0x53, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x4B, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xA0, 0x38, 0x01,
+0xD4, 0x64, 0xDA, 0x00, 0x00, 0x00, 0x00,
/* Asia/Shanghai */
0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xB0, 0xFE, 0x9A, 0x9B,
-0xC8, 0x5C, 0x01, 0x80, 0xC8, 0xFA, 0x27, 0x70, 0xC9, 0xD5, 0x0E, 0x80, 0xCA, 0xDB, 0x5A, 0xF0,
-0x1E, 0xBA, 0x36, 0x00, 0x1F, 0x69, 0x7F, 0x70, 0x20, 0x7E, 0x68, 0x80, 0x21, 0x49, 0x61, 0x70,
-0x22, 0x5E, 0x4A, 0x80, 0x23, 0x29, 0x43, 0x70, 0x24, 0x47, 0x67, 0x00, 0x25, 0x12, 0x5F, 0xF0,
-0x26, 0x27, 0x49, 0x00, 0x26, 0xF2, 0x41, 0xF0, 0x28, 0x07, 0x2B, 0x00, 0x28, 0xD2, 0x23, 0xF0,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x00, 0x00, 0x71, 0xE5, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x04, 0x00, 0x00, 0x70,
-0x80, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xFC, 0xC5, 0x01, 0xCC, 0x00, 0x6A, 0x00, 0x00, 0x00,
-0x2F, 0x65, 0x61, 0x73, 0x74, 0x20, 0x43, 0x68, 0x69, 0x6E, 0x61, 0x20, 0x2D, 0x20, 0x42, 0x65,
-0x69, 0x6A, 0x69, 0x6E, 0x67, 0x2C, 0x20, 0x47, 0x75, 0x61, 0x6E, 0x67, 0x64, 0x6F, 0x6E, 0x67,
-0x2C, 0x20, 0x53, 0x68, 0x61, 0x6E, 0x67, 0x68, 0x61, 0x69, 0x2C, 0x20, 0x65, 0x74, 0x63, 0x2E,
-
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xC8, 0x5C, 0x01, 0x80,
+0xC8, 0xFA, 0x27, 0x70, 0xC9, 0xD5, 0x0E, 0x80, 0xCA, 0xDB, 0x5A, 0xF0, 0x1E, 0xBA, 0x36, 0x00,
+0x1F, 0x69, 0x7F, 0x70, 0x20, 0x7E, 0x68, 0x80, 0x21, 0x49, 0x61, 0x70, 0x22, 0x5E, 0x4A, 0x80,
+0x23, 0x29, 0x43, 0x70, 0x24, 0x47, 0x67, 0x00, 0x25, 0x12, 0x5F, 0xF0, 0x26, 0x27, 0x49, 0x00,
+0x26, 0xF2, 0x41, 0xF0, 0x28, 0x07, 0x2B, 0x00, 0x28, 0xD2, 0x23, 0xF0, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7E, 0x90,
+0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xFC, 0xC5, 0x01, 0xCC, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x0C,
+0x42, 0x65, 0x69, 0x6A, 0x69, 0x6E, 0x67, 0x20, 0x54, 0x69, 0x6D, 0x65,
/* Asia/Singapore */
0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -9238,12 +9262,47 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x49, 0x8D, 0x01,
0xB1, 0x1E, 0xE8, 0x00, 0x00, 0x00, 0x00,
+/* Asia/Srednekolymsk */
+0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x14, 0xAA, 0x19, 0x33, 0xE4,
+0xB5, 0xA3, 0xA8, 0xE0, 0x15, 0x27, 0x37, 0x50, 0x16, 0x18, 0x6B, 0xC0, 0x17, 0x08, 0x6A, 0xD0,
+0x17, 0xF9, 0x9F, 0x40, 0x18, 0xE9, 0x9E, 0x50, 0x19, 0xDA, 0xD2, 0xC0, 0x1A, 0xCC, 0x23, 0x50,
+0x1B, 0xBC, 0x30, 0x70, 0x1C, 0xAC, 0x21, 0x70, 0x1D, 0x9C, 0x12, 0x70, 0x1E, 0x8C, 0x03, 0x70,
+0x1F, 0x7B, 0xF4, 0x70, 0x20, 0x6B, 0xE5, 0x70, 0x21, 0x5B, 0xD6, 0x70, 0x22, 0x4B, 0xC7, 0x70,
+0x23, 0x3B, 0xB8, 0x70, 0x24, 0x2B, 0xA9, 0x70, 0x25, 0x1B, 0x9A, 0x70, 0x26, 0x0B, 0x8B, 0x70,
+0x27, 0x04, 0xB6, 0xF0, 0x27, 0xF4, 0xA7, 0xF0, 0x28, 0xE4, 0xA7, 0x00, 0x29, 0x78, 0x4F, 0x00,
+0x29, 0xD4, 0x5F, 0xC0, 0x2A, 0xC4, 0x42, 0xB0, 0x2B, 0xB4, 0x6B, 0xF0, 0x2C, 0xA4, 0x5C, 0xF0,
+0x2D, 0x94, 0x4D, 0xF0, 0x2E, 0x84, 0x3E, 0xF0, 0x2F, 0x74, 0x2F, 0xF0, 0x30, 0x64, 0x20, 0xF0,
+0x31, 0x5D, 0x4C, 0x70, 0x32, 0x72, 0x27, 0x70, 0x33, 0x3D, 0x2E, 0x70, 0x34, 0x52, 0x09, 0x70,
+0x35, 0x1D, 0x10, 0x70, 0x36, 0x31, 0xEB, 0x70, 0x36, 0xFC, 0xF2, 0x70, 0x38, 0x1B, 0x07, 0xF0,
+0x38, 0xDC, 0xD4, 0x70, 0x39, 0xFA, 0xE9, 0xF0, 0x3A, 0xBC, 0xB6, 0x70, 0x3B, 0xDA, 0xCB, 0xF0,
+0x3C, 0xA5, 0xD2, 0xF0, 0x3D, 0xBA, 0xAD, 0xF0, 0x3E, 0x85, 0xB4, 0xF0, 0x3F, 0x9A, 0x8F, 0xF0,
+0x40, 0x65, 0x96, 0xF0, 0x41, 0x83, 0xAC, 0x70, 0x42, 0x45, 0x78, 0xF0, 0x43, 0x63, 0x8E, 0x70,
+0x44, 0x25, 0x5A, 0xF0, 0x45, 0x43, 0x70, 0x70, 0x46, 0x05, 0x3C, 0xF0, 0x47, 0x23, 0x52, 0x70,
+0x47, 0xEE, 0x59, 0x70, 0x49, 0x03, 0x34, 0x70, 0x49, 0xCE, 0x3B, 0x70, 0x4A, 0xE3, 0x16, 0x70,
+0x4B, 0xAE, 0x1D, 0x70, 0x4C, 0xCC, 0x32, 0xF0, 0x4D, 0x8D, 0xFF, 0x70, 0x54, 0x4B, 0xAC, 0xE0,
+0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08,
+0x09, 0x00, 0x00, 0x90, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0xA8,
+0xC0, 0x01, 0x09, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x04, 0x00,
+0x00, 0xA8, 0xC0, 0x01, 0x09, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x09, 0x00, 0x00, 0x8C, 0xA0, 0x00,
+0x04, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x0F, 0x4C, 0x4D, 0x54,
+0x00, 0x4D, 0x41, 0x47, 0x54, 0x00, 0x4D, 0x41, 0x47, 0x53, 0x54, 0x00, 0x53, 0x52, 0x45, 0x54,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x46, 0x6A, 0x01, 0xFD, 0x36, 0x12, 0x00, 0x00, 0x00,
+0x1F, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x38, 0x20, 0x2D, 0x20, 0x45, 0x20, 0x53,
+0x61, 0x6B, 0x68, 0x61, 0x2C, 0x20, 0x4E, 0x20, 0x4B, 0x75, 0x72, 0x69, 0x6C, 0x20, 0x49, 0x73,
+
+
/* Asia/Taipei */
0x50, 0x48, 0x50, 0x31, 0x01, 0x54, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD1, 0x97, 0xD3, 0x00,
-0xD2, 0x61, 0x7A, 0x70, 0xD3, 0x79, 0x06, 0x80, 0xD4, 0x42, 0xAD, 0xF0, 0xD5, 0x5A, 0x3A, 0x00,
-0xD6, 0x23, 0xE1, 0x70, 0xD7, 0x3C, 0xBF, 0x00, 0xD8, 0x06, 0x66, 0x70, 0xD9, 0x1D, 0xF2, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xC3, 0x55, 0x49, 0x80,
+0xD2, 0x54, 0x59, 0x80, 0xD3, 0x8B, 0x7B, 0x80, 0xD4, 0x42, 0xAD, 0xF0, 0xD5, 0x45, 0x22, 0x00,
+0xD6, 0x4C, 0xBF, 0xF0, 0xD7, 0x3C, 0xBF, 0x00, 0xD8, 0x06, 0x66, 0x70, 0xD9, 0x1D, 0xF2, 0x80,
0xD9, 0xE7, 0x99, 0xF0, 0xDA, 0xFF, 0x26, 0x00, 0xDB, 0xC8, 0xCD, 0x70, 0xDC, 0xE0, 0x59, 0x80,
0xDD, 0xAA, 0x00, 0xF0, 0xDE, 0x72, 0x73, 0x00, 0xDF, 0xB5, 0x64, 0x70, 0xE0, 0x7C, 0x85, 0x00,
0xE1, 0x96, 0x97, 0xF0, 0xE2, 0x5D, 0xB8, 0x80, 0xE3, 0x77, 0xCB, 0x70, 0xE4, 0x3E, 0xEC, 0x00,
@@ -9251,17 +9310,19 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0xE8, 0xF3, 0xD8, 0xF0, 0xE9, 0xE3, 0xD8, 0x00, 0xEA, 0xD5, 0x0C, 0x70, 0xEB, 0xC5, 0x0B, 0x80,
0xEC, 0xB6, 0x3F, 0xF0, 0xED, 0xF7, 0xFC, 0x00, 0xEE, 0x98, 0xC4, 0xF0, 0xEF, 0xD9, 0x2F, 0x80,
0xF0, 0x79, 0xF8, 0x70, 0x07, 0xFC, 0x56, 0x00, 0x08, 0xED, 0x8A, 0x70, 0x09, 0xDD, 0x89, 0x80,
-0x0A, 0xCE, 0xBD, 0xF0, 0x11, 0xDA, 0x50, 0x00, 0x12, 0x53, 0x8B, 0xF0, 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, 0x00, 0x7E, 0x90, 0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04,
-0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x8D, 0x68,
-0x01, 0xCC, 0x0D, 0x70, 0x00, 0x00, 0x00, 0x00,
+0x0A, 0xCE, 0xBD, 0xF0, 0x11, 0xDB, 0xA1, 0x80, 0x12, 0x54, 0xDD, 0x70, 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, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x05,
+0x00, 0x00, 0x7E, 0x90, 0x01, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x4A, 0x57, 0x53, 0x54,
+0x00, 0x4A, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x8D, 0x68, 0x01, 0xCC, 0x0D, 0x70, 0x00, 0x00, 0x00,
+0x00,
/* Asia/Tashkent */
0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x18, 0xAA, 0x19, 0x83, 0x08,
+0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x18, 0xAA, 0x19, 0x83, 0x09,
0xB5, 0xA3, 0xEF, 0x30, 0x15, 0x27, 0x7D, 0xA0, 0x16, 0x18, 0xB2, 0x10, 0x17, 0x08, 0xB1, 0x20,
0x17, 0xF9, 0xE5, 0x90, 0x18, 0xE9, 0xE4, 0xA0, 0x19, 0xDB, 0x19, 0x10, 0x1A, 0xCC, 0x69, 0xA0,
0x1B, 0xBC, 0x76, 0xC0, 0x1C, 0xAC, 0x67, 0xC0, 0x1D, 0x9C, 0x58, 0xC0, 0x1E, 0x8C, 0x49, 0xC0,
@@ -9270,7 +9331,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x27, 0x04, 0xFD, 0x40, 0x27, 0xF4, 0xEE, 0x40, 0x28, 0xBF, 0xD9, 0x20, 0x28, 0xE4, 0xED, 0x50,
0x29, 0x60, 0xBE, 0x30, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04,
0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x08, 0x07, 0x09, 0x00, 0x00,
-0x40, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x09,
+0x40, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x09,
0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70,
0x01, 0x09, 0x00, 0x00, 0x54, 0x60, 0x01, 0x09, 0x00, 0x00, 0x46, 0x50, 0x00, 0x0F, 0x00, 0x00,
0x54, 0x60, 0x01, 0x13, 0x00, 0x00, 0x46, 0x50, 0x00, 0x0F, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x41,
@@ -9283,7 +9344,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Tbilisi */
0x50, 0x48, 0x50, 0x31, 0x01, 0x47, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x19, 0xAA, 0x19, 0x99, 0xFC,
+0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x19, 0xAA, 0x19, 0x9A, 0x06,
0xE7, 0xDA, 0x0C, 0x50, 0x15, 0x27, 0x99, 0xC0, 0x16, 0x18, 0xCE, 0x30, 0x17, 0x08, 0xCD, 0x40,
0x17, 0xFA, 0x01, 0xB0, 0x18, 0xEA, 0x00, 0xC0, 0x19, 0xDB, 0x35, 0x30, 0x1A, 0xCC, 0x85, 0xC0,
0x1B, 0xBC, 0x92, 0xE0, 0x1C, 0xAC, 0x83, 0xE0, 0x1D, 0x9C, 0x74, 0xE0, 0x1E, 0x8C, 0x65, 0xE0,
@@ -9300,7 +9361,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x08, 0x07, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0B,
0x0A, 0x0B, 0x0A, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A,
-0x0B, 0x0A, 0x08, 0x07, 0x0B, 0x00, 0x00, 0x2A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00,
+0x0B, 0x0A, 0x08, 0x07, 0x0B, 0x00, 0x00, 0x29, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00,
0x05, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0A, 0x00, 0x00, 0x38, 0x40, 0x00, 0x05, 0x00, 0x00, 0x38,
0x40, 0x00, 0x05, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0A, 0x00, 0x00, 0x38, 0x40, 0x01, 0x0A, 0x00,
0x00, 0x2A, 0x30, 0x00, 0x10, 0x00, 0x00, 0x38, 0x40, 0x01, 0x14, 0x00, 0x00, 0x2A, 0x30, 0x00,
@@ -9425,13 +9486,13 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Tokyo */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4A, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xC3, 0xCE, 0x85, 0x70,
+0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xC3, 0x55, 0x3B, 0x70,
0xD7, 0x3E, 0x1E, 0x90, 0xD7, 0xEC, 0x16, 0x80, 0xD8, 0xF9, 0x16, 0x90, 0xD9, 0xCB, 0xF8, 0x80,
0xDB, 0x07, 0x1D, 0x10, 0xDB, 0xAB, 0xDA, 0x80, 0xDC, 0xE6, 0xFF, 0x10, 0xDD, 0x8B, 0xBC, 0x80,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x00, 0x00,
-0x00, 0x8C, 0xA0, 0x01, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x08, 0x43, 0x4A, 0x54, 0x00, 0x4A,
-0x44, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0xBB,
-0xC4, 0x01, 0xE7, 0xE4, 0x48, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x8C, 0xA0, 0x01, 0x05, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x09, 0x4A, 0x43, 0x53, 0x54, 0x00,
+0x4A, 0x44, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF,
+0xBB, 0xC4, 0x01, 0xE7, 0xE4, 0x48, 0x00, 0x00, 0x00, 0x00,
/* Asia/Ujung_Pandang */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -9492,23 +9553,17 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Asia/Urumqi */
0x50, 0x48, 0x50, 0x31, 0x01, 0x43, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xB0, 0xFE, 0xBA, 0x64,
-0x13, 0x6D, 0xD7, 0x20, 0x1E, 0xBA, 0x36, 0x00, 0x1F, 0x69, 0x7F, 0x70, 0x20, 0x7E, 0x68, 0x80,
-0x21, 0x49, 0x61, 0x70, 0x22, 0x5E, 0x4A, 0x80, 0x23, 0x29, 0x43, 0x70, 0x24, 0x47, 0x67, 0x00,
-0x25, 0x12, 0x5F, 0xF0, 0x26, 0x27, 0x49, 0x00, 0x26, 0xF2, 0x41, 0xF0, 0x28, 0x07, 0x2B, 0x00,
-0x28, 0xD2, 0x23, 0xF0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x00, 0x00, 0x52, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x00, 0x00,
-0x7E, 0x90, 0x01, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x55, 0x52,
-0x55, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xCC, 0x29, 0xA0, 0x01, 0x98, 0x4C, 0xBD, 0x00, 0x00, 0x00, 0x18, 0x6D,
-0x6F, 0x73, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x54, 0x69, 0x62, 0x65, 0x74, 0x20, 0x26, 0x20, 0x58,
-0x69, 0x6E, 0x6A, 0x69, 0x61, 0x6E, 0x67,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xB0, 0xFE, 0xBA, 0x64,
+0x01, 0x00, 0x00, 0x52, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x54, 0x60, 0x00, 0x04, 0x4C, 0x4D, 0x54,
+0x00, 0x58, 0x4A, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x29, 0xA0, 0x01, 0x98, 0x4C,
+0xBD, 0x00, 0x00, 0x00, 0x0D, 0x58, 0x69, 0x6E, 0x6A, 0x69, 0x61, 0x6E, 0x67, 0x20, 0x54, 0x69,
+0x6D, 0x65,
/* Asia/Ust-Nera */
0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0xA1, 0xDB, 0xDD, 0xBA,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x19, 0xA1, 0xDB, 0xDD, 0xBA,
0xB5, 0xA3, 0xC5, 0x00, 0x15, 0x27, 0x53, 0x70, 0x16, 0x18, 0x6B, 0xC0, 0x17, 0x08, 0x6A, 0xD0,
0x17, 0xF9, 0x9F, 0x40, 0x18, 0xE9, 0x9E, 0x50, 0x19, 0xDA, 0xD2, 0xC0, 0x1A, 0xCC, 0x23, 0x50,
0x1B, 0xBC, 0x30, 0x70, 0x1C, 0xAC, 0x21, 0x70, 0x1D, 0x9C, 0x12, 0x70, 0x1E, 0x8C, 0x03, 0x70,
@@ -9525,20 +9580,21 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x44, 0x25, 0x5A, 0xF0, 0x45, 0x43, 0x70, 0x70, 0x46, 0x05, 0x3C, 0xF0, 0x47, 0x23, 0x52, 0x70,
0x47, 0xEE, 0x59, 0x70, 0x49, 0x03, 0x34, 0x70, 0x49, 0xCE, 0x3B, 0x70, 0x4A, 0xE3, 0x16, 0x70,
0x4B, 0xAE, 0x1D, 0x70, 0x4C, 0xCC, 0x32, 0xF0, 0x4D, 0x8D, 0xFF, 0x70, 0x4E, 0x6D, 0xF4, 0x40,
-0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05,
-0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x05, 0x04, 0x03, 0x06, 0x05, 0x06, 0x05, 0x06,
+0x54, 0x4B, 0xBA, 0xF0, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x05, 0x06, 0x05,
+0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x05, 0x04, 0x03, 0x06,
+0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06,
0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06,
-0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x09,
-0x0A, 0x00, 0x00, 0x86, 0x46, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x7E,
-0x90, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x0E, 0x00,
-0x00, 0x9A, 0xB0, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x0E, 0x00, 0x00, 0x9A, 0xB0, 0x01,
-0x0E, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x00, 0x09, 0x00, 0x00, 0x9A,
-0xB0, 0x00, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x59, 0x41, 0x4B, 0x54, 0x00, 0x4D, 0x41, 0x47, 0x54,
-0x00, 0x4D, 0x41, 0x47, 0x53, 0x54, 0x00, 0x56, 0x4C, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0xEB, 0xD7, 0x1B, 0x01, 0xED, 0x34, 0x6A, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F,
-0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x37, 0x20, 0x2D, 0x20, 0x4F, 0x79, 0x6D, 0x79, 0x61, 0x6B,
-0x6F, 0x6E, 0x73, 0x6B, 0x79,
+0x05, 0x06, 0x05, 0x09, 0x0A, 0x0B, 0x00, 0x00, 0x86, 0x46, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80,
+0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x09, 0x00, 0x00,
+0xA8, 0xC0, 0x01, 0x0E, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0, 0x01, 0x0E,
+0x00, 0x00, 0x9A, 0xB0, 0x01, 0x0E, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x09, 0x00, 0x00, 0xA8, 0xC0,
+0x00, 0x09, 0x00, 0x00, 0x9A, 0xB0, 0x00, 0x14, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x14, 0x4C, 0x4D,
+0x54, 0x00, 0x59, 0x41, 0x4B, 0x54, 0x00, 0x4D, 0x41, 0x47, 0x54, 0x00, 0x4D, 0x41, 0x47, 0x53,
+0x54, 0x00, 0x56, 0x4C, 0x41, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
+0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xEB, 0xD7, 0x1B, 0x01, 0xED, 0x34, 0x6A, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x73, 0x63, 0x6F,
+0x77, 0x2B, 0x30, 0x37, 0x20, 0x2D, 0x20, 0x4F, 0x79, 0x6D, 0x79, 0x61, 0x6B, 0x6F, 0x6E, 0x73,
+0x6B, 0x79,
/* Asia/Vientiane */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4C, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -9553,7 +9609,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* 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, 0x0F, 0xA7, 0x59, 0x47, 0x50,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0xA7, 0x59, 0x47, 0x5A,
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,
@@ -9569,24 +9625,24 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x40, 0x65, 0xA5, 0x00, 0x41, 0x83, 0xBA, 0x80, 0x42, 0x45, 0x87, 0x00, 0x43, 0x63, 0x9C, 0x80,
0x44, 0x25, 0x69, 0x00, 0x45, 0x43, 0x7E, 0x80, 0x46, 0x05, 0x4B, 0x00, 0x47, 0x23, 0x60, 0x80,
0x47, 0xEE, 0x67, 0x80, 0x49, 0x03, 0x42, 0x80, 0x49, 0xCE, 0x49, 0x80, 0x4A, 0xE3, 0x24, 0x80,
-0x4B, 0xAE, 0x2B, 0x80, 0x4C, 0xCC, 0x41, 0x00, 0x4D, 0x8E, 0x0D, 0x80, 0x01, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x4B, 0xAE, 0x2B, 0x80, 0x4C, 0xCC, 0x41, 0x00, 0x4D, 0x8E, 0x0D, 0x80, 0x54, 0x4B, 0xBA, 0xF0,
+0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05,
0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 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, 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, 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,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08,
+0x04, 0x00, 0x00, 0x7B, 0xA6, 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, 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, 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,
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, 0x0F, 0xA1, 0xDB, 0xEA, 0x70,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0xA1, 0xDB, 0xEA, 0x70,
0xB5, 0xA3, 0xC5, 0x00, 0x15, 0x27, 0x53, 0x70, 0x16, 0x18, 0x87, 0xE0, 0x17, 0x08, 0x86, 0xF0,
0x17, 0xF9, 0xBB, 0x60, 0x18, 0xE9, 0xBA, 0x70, 0x19, 0xDA, 0xEE, 0xE0, 0x1A, 0xCC, 0x3F, 0x70,
0x1B, 0xBC, 0x4C, 0x90, 0x1C, 0xAC, 0x3D, 0x90, 0x1D, 0x9C, 0x2E, 0x90, 0x1E, 0x8C, 0x1F, 0x90,
@@ -9602,24 +9658,24 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x40, 0x65, 0xB3, 0x10, 0x41, 0x83, 0xC8, 0x90, 0x42, 0x45, 0x95, 0x10, 0x43, 0x63, 0xAA, 0x90,
0x44, 0x25, 0x77, 0x10, 0x45, 0x43, 0x8C, 0x90, 0x46, 0x05, 0x59, 0x10, 0x47, 0x23, 0x6E, 0x90,
0x47, 0xEE, 0x75, 0x90, 0x49, 0x03, 0x50, 0x90, 0x49, 0xCE, 0x57, 0x90, 0x4A, 0xE3, 0x32, 0x90,
-0x4B, 0xAE, 0x39, 0x90, 0x4C, 0xCC, 0x4F, 0x10, 0x4D, 0x8E, 0x1B, 0x90, 0x01, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x4B, 0xAE, 0x39, 0x90, 0x4C, 0xCC, 0x4F, 0x10, 0x4D, 0x8E, 0x1B, 0x90, 0x54, 0x4B, 0xC9, 0x00,
+0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05,
0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08, 0x00, 0x00, 0x79, 0x90,
-0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x01, 0x09, 0x00, 0x00,
-0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x01, 0x09,
-0x00, 0x00, 0x7E, 0x90, 0x01, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0,
-0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x59, 0x41, 0x4B, 0x54, 0x00, 0x59, 0x41, 0x4B, 0x53, 0x54,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xE7, 0xEF, 0x00, 0x01, 0xD8, 0x83, 0x8A, 0x00, 0x00, 0x00, 0x16, 0x4D,
-0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x36, 0x20, 0x2D, 0x20, 0x4C, 0x65, 0x6E, 0x61, 0x20,
-0x52, 0x69, 0x76, 0x65, 0x72,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08,
+0x04, 0x00, 0x00, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x00, 0x00, 0x8C,
+0xA0, 0x01, 0x09, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00,
+0x00, 0x8C, 0xA0, 0x01, 0x09, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00,
+0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x59, 0x41, 0x4B, 0x54, 0x00,
+0x59, 0x41, 0x4B, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0xEF, 0x00, 0x01, 0xD8, 0x83, 0x8A,
+0x00, 0x00, 0x00, 0x16, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x36, 0x20, 0x2D, 0x20,
+0x4C, 0x65, 0x6E, 0x61, 0x20, 0x52, 0x69, 0x76, 0x65, 0x72,
/* Asia/Yekaterinburg */
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, 0x40, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x1A, 0xA1, 0x12, 0xAD, 0xF0,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x1A, 0xA1, 0x12, 0xAD, 0xE7,
0xB5, 0xA3, 0xFD, 0x40, 0x15, 0x27, 0x8B, 0xB0, 0x16, 0x18, 0xC0, 0x20, 0x17, 0x08, 0xBF, 0x30,
0x17, 0xF9, 0xF3, 0xA0, 0x18, 0xE9, 0xF2, 0xB0, 0x19, 0xDB, 0x27, 0x20, 0x1A, 0xCC, 0x77, 0xB0,
0x1B, 0xBC, 0x84, 0xD0, 0x1C, 0xAC, 0x75, 0xD0, 0x1D, 0x9C, 0x66, 0xD0, 0x1E, 0x8C, 0x57, 0xD0,
@@ -9635,21 +9691,22 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x40, 0x65, 0xEB, 0x50, 0x41, 0x84, 0x00, 0xD0, 0x42, 0x45, 0xCD, 0x50, 0x43, 0x63, 0xE2, 0xD0,
0x44, 0x25, 0xAF, 0x50, 0x45, 0x43, 0xC4, 0xD0, 0x46, 0x05, 0x91, 0x50, 0x47, 0x23, 0xA6, 0xD0,
0x47, 0xEE, 0xAD, 0xD0, 0x49, 0x03, 0x88, 0xD0, 0x49, 0xCE, 0x8F, 0xD0, 0x4A, 0xE3, 0x6A, 0xD0,
-0x4B, 0xAE, 0x71, 0xD0, 0x4C, 0xCC, 0x87, 0x50, 0x4D, 0x8E, 0x53, 0xD0, 0x01, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x06, 0x07, 0x0B, 0x08, 0x09, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A,
+0x4B, 0xAE, 0x71, 0xD0, 0x4C, 0xCC, 0x87, 0x50, 0x4D, 0x8E, 0x53, 0xD0, 0x54, 0x4C, 0x01, 0x40,
+0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x0B, 0x08, 0x09, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A,
0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A,
-0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0C, 0x00, 0x00, 0x38, 0xD0,
-0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x01, 0x09, 0x00, 0x00,
-0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x01, 0x09,
-0x00, 0x00, 0x46, 0x50, 0x01, 0x09, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60,
-0x01, 0x0F, 0x00, 0x00, 0x46, 0x50, 0x00, 0x15, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0F, 0x00, 0x00,
-0x46, 0x50, 0x00, 0x15, 0x00, 0x00, 0x54, 0x60, 0x00, 0x15, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x56,
-0x45, 0x54, 0x00, 0x53, 0x56, 0x45, 0x53, 0x54, 0x00, 0x59, 0x45, 0x4B, 0x53, 0x54, 0x00, 0x59,
-0x45, 0x4B, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01,
-0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
-0x13, 0x48, 0x01, 0x6F, 0x20, 0x60, 0x00, 0x00, 0x00, 0x11, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77,
-0x2B, 0x30, 0x32, 0x20, 0x2D, 0x20, 0x55, 0x72, 0x61, 0x6C, 0x73,
+0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0C,
+0x0B, 0x00, 0x00, 0x38, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54,
+0x60, 0x01, 0x09, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00,
+0x00, 0x54, 0x60, 0x01, 0x09, 0x00, 0x00, 0x46, 0x50, 0x01, 0x09, 0x00, 0x00, 0x38, 0x40, 0x00,
+0x04, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0F, 0x00, 0x00, 0x46, 0x50, 0x00, 0x15, 0x00, 0x00, 0x54,
+0x60, 0x01, 0x0F, 0x00, 0x00, 0x46, 0x50, 0x00, 0x15, 0x00, 0x00, 0x54, 0x60, 0x00, 0x15, 0x4C,
+0x4D, 0x54, 0x00, 0x53, 0x56, 0x45, 0x54, 0x00, 0x53, 0x56, 0x45, 0x53, 0x54, 0x00, 0x59, 0x45,
+0x4B, 0x53, 0x54, 0x00, 0x59, 0x45, 0x4B, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
+0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xE0, 0x13, 0x48, 0x01, 0x6F, 0x20, 0x60, 0x00, 0x00, 0x00, 0x11, 0x4D,
+0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x32, 0x20, 0x2D, 0x20, 0x55, 0x72, 0x61, 0x6C, 0x73,
+
/* Asia/Yerevan */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -10174,15 +10231,15 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Atlantic/St_Helena */
0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xDC, 0x42, 0x9B, 0x58,
-0x01, 0xFF, 0xFF, 0xFA, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4A, 0x4D, 0x54,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x92, 0xE6, 0x92, 0x48,
+0x01, 0xFF, 0xFF, 0xFC, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x4D, 0x54,
0x00, 0x47, 0x4D, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x0A, 0xCD, 0x01, 0x09, 0xF5,
0xF0, 0x00, 0x00, 0x00, 0x00,
/* Australia/ACT */
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, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xA6, 0x9C,
+0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xA6, 0x9C,
0x9C, 0xBC, 0x20, 0xF0, 0xCB, 0x54, 0xB3, 0x00, 0xCB, 0xC7, 0x57, 0x70, 0xCC, 0xB7, 0x56, 0x80,
0xCD, 0xA7, 0x39, 0x70, 0xCE, 0xA0, 0x73, 0x00, 0xCF, 0x87, 0x1B, 0x70, 0x03, 0x70, 0x39, 0x80,
0x04, 0x0D, 0x1C, 0x00, 0x05, 0x50, 0x1B, 0x80, 0x05, 0xF6, 0x38, 0x80, 0x07, 0x2F, 0xFD, 0x80,
@@ -10227,14 +10284,15 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x9A,
-0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
-0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x05, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
+0x00, 0x8C, 0xA0, 0x00, 0x05, 0x41, 0x45, 0x44, 0x54, 0x00, 0x41, 0x45, 0x53, 0x54, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00,
+0x00, 0x00, 0x00,
/* Australia/Adelaide */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 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, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xAD, 0xA4,
+0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xAD, 0xA4,
0x9C, 0xBC, 0x27, 0xF8, 0xCB, 0x54, 0xBA, 0x08, 0xCB, 0xC7, 0x5E, 0x78, 0xCC, 0xB7, 0x5D, 0x88,
0xCD, 0xA7, 0x40, 0x78, 0xCE, 0xA0, 0x7A, 0x08, 0xCF, 0x87, 0x22, 0x78, 0x03, 0x70, 0x40, 0x88,
0x04, 0x0D, 0x23, 0x08, 0x05, 0x50, 0x22, 0x88, 0x05, 0xF6, 0x3F, 0x88, 0x07, 0x30, 0x04, 0x88,
@@ -10279,30 +10337,31 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x93,
-0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x00, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00,
-0x00, 0x85, 0x98, 0x00, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x54, 0x0C, 0xED, 0x01, 0xE6, 0x1E, 0x9D, 0x00, 0x00, 0x00, 0x0F, 0x53, 0x6F, 0x75,
-0x74, 0x68, 0x20, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6C, 0x69, 0x61,
+0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x05, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00,
+0x00, 0x85, 0x98, 0x00, 0x05, 0x41, 0x43, 0x44, 0x54, 0x00, 0x41, 0x43, 0x53, 0x54, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x0C, 0xED, 0x01, 0xE6, 0x1E, 0x9D, 0x00,
+0x00, 0x00, 0x0F, 0x53, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6C,
+0x69, 0x61,
/* Australia/Brisbane */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 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, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xA6, 0x9C,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xA6, 0x9C,
0x9C, 0xBC, 0x20, 0xF0, 0xCB, 0x54, 0xB3, 0x00, 0xCB, 0xC7, 0x57, 0x70, 0xCC, 0xB7, 0x56, 0x80,
0xCD, 0xA7, 0x39, 0x70, 0xCE, 0xA0, 0x73, 0x00, 0xCF, 0x87, 0x1B, 0x70, 0x03, 0x70, 0x39, 0x80,
0x04, 0x0D, 0x1C, 0x00, 0x25, 0x49, 0xCD, 0x00, 0x25, 0xEF, 0xEA, 0x00, 0x27, 0x29, 0xAF, 0x00,
0x27, 0xCF, 0xCC, 0x00, 0x29, 0x09, 0x91, 0x00, 0x29, 0xAF, 0xAE, 0x00, 0x00, 0x01, 0x00, 0x01,
0x00, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x9A, 0xB0,
-0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00,
-0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x5F, 0x6B, 0x15, 0x01, 0xFC, 0x2B, 0x25, 0x00, 0x00, 0x00, 0x1B, 0x51, 0x75, 0x65, 0x65,
-0x6E, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x2D, 0x20, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F,
-0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73,
+0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x05, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00,
+0x8C, 0xA0, 0x00, 0x05, 0x41, 0x45, 0x44, 0x54, 0x00, 0x41, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00,
+0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x6B, 0x15, 0x01, 0xFC, 0x2B, 0x25, 0x00, 0x00,
+0x00, 0x1B, 0x51, 0x75, 0x65, 0x65, 0x6E, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x2D, 0x20, 0x6D,
+0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73,
/* Australia/Broken_Hill */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 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, 0x8E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xAD, 0xA4,
+0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xAD, 0xA4,
0x9C, 0xBC, 0x27, 0xF8, 0xCB, 0x54, 0xBA, 0x08, 0xCB, 0xC7, 0x5E, 0x78, 0xCC, 0xB7, 0x5D, 0x88,
0xCD, 0xA7, 0x40, 0x78, 0xCE, 0xA0, 0x7A, 0x08, 0xCF, 0x87, 0x22, 0x78, 0x03, 0x70, 0x40, 0x88,
0x04, 0x0D, 0x23, 0x08, 0x05, 0x50, 0x22, 0x88, 0x05, 0xF6, 0x3F, 0x88, 0x07, 0x30, 0x04, 0x88,
@@ -10347,16 +10406,17 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02,
0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02,
0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02,
-0x03, 0x02, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x00, 0x00, 0x00,
-0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00,
-0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x93, 0xC8, 0x01, 0xEA, 0x7E, 0x68, 0x00, 0x00,
-0x00, 0x1C, 0x4E, 0x65, 0x77, 0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x57, 0x61, 0x6C, 0x65,
-0x73, 0x20, 0x2D, 0x20, 0x59, 0x61, 0x6E, 0x63, 0x6F, 0x77, 0x69, 0x6E, 0x6E, 0x61,
+0x03, 0x02, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x05, 0x00, 0x00,
+0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x05, 0x41, 0x43, 0x44, 0x54, 0x00, 0x41,
+0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x93, 0xC8,
+0x01, 0xEA, 0x7E, 0x68, 0x00, 0x00, 0x00, 0x1C, 0x4E, 0x65, 0x77, 0x20, 0x53, 0x6F, 0x75, 0x74,
+0x68, 0x20, 0x57, 0x61, 0x6C, 0x65, 0x73, 0x20, 0x2D, 0x20, 0x59, 0x61, 0x6E, 0x63, 0x6F, 0x77,
+0x69, 0x6E, 0x6E, 0x61,
/* Australia/Canberra */
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, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xA6, 0x9C,
+0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xA6, 0x9C,
0x9C, 0xBC, 0x20, 0xF0, 0xCB, 0x54, 0xB3, 0x00, 0xCB, 0xC7, 0x57, 0x70, 0xCC, 0xB7, 0x56, 0x80,
0xCD, 0xA7, 0x39, 0x70, 0xCE, 0xA0, 0x73, 0x00, 0xCF, 0x87, 0x1B, 0x70, 0x03, 0x70, 0x39, 0x80,
0x04, 0x0D, 0x1C, 0x00, 0x05, 0x50, 0x1B, 0x80, 0x05, 0xF6, 0x38, 0x80, 0x07, 0x2F, 0xFD, 0x80,
@@ -10401,14 +10461,15 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x9A,
-0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
-0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x05, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
+0x00, 0x8C, 0xA0, 0x00, 0x05, 0x41, 0x45, 0x44, 0x54, 0x00, 0x41, 0x45, 0x53, 0x54, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00,
+0x00, 0x00, 0x00,
/* Australia/Currie */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 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, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9B, 0xD5, 0x78, 0x80,
+0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9B, 0xD5, 0x78, 0x80,
0x9C, 0xBC, 0x20, 0xF0, 0xCB, 0x54, 0xB3, 0x00, 0xCB, 0xC7, 0x57, 0x70, 0xCC, 0xB7, 0x56, 0x80,
0xCD, 0xA7, 0x39, 0x70, 0xCE, 0xA0, 0x73, 0x00, 0xCF, 0x87, 0x1B, 0x70, 0x03, 0x70, 0x39, 0x80,
0x04, 0x0D, 0x1C, 0x00, 0x05, 0x50, 0x1B, 0x80, 0x05, 0xF6, 0x38, 0x80, 0x07, 0x2F, 0xFD, 0x80,
@@ -10453,43 +10514,43 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x8C,
-0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
-0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x4C, 0x65, 0x4A, 0x01, 0xEE, 0x2E, 0x6A, 0x00, 0x00, 0x00, 0x16, 0x54, 0x61, 0x73,
-0x6D, 0x61, 0x6E, 0x69, 0x61, 0x20, 0x2D, 0x20, 0x4B, 0x69, 0x6E, 0x67, 0x20, 0x49, 0x73, 0x6C,
-0x61, 0x6E, 0x64,
+0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x05, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x05, 0x00,
+0x00, 0x8C, 0xA0, 0x00, 0x00, 0x41, 0x45, 0x53, 0x54, 0x00, 0x41, 0x45, 0x44, 0x54, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x65, 0x4A, 0x01, 0xEE, 0x2E, 0x6A, 0x00,
+0x00, 0x00, 0x16, 0x54, 0x61, 0x73, 0x6D, 0x61, 0x6E, 0x69, 0x61, 0x20, 0x2D, 0x20, 0x4B, 0x69,
+0x6E, 0x67, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64,
/* Australia/Darwin */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xAD, 0xA4,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xAD, 0xA4,
0x9C, 0xBC, 0x27, 0xF8, 0xCB, 0x54, 0xBA, 0x08, 0xCB, 0xC7, 0x5E, 0x78, 0xCC, 0xB7, 0x5D, 0x88,
0xCD, 0xA7, 0x40, 0x78, 0xCE, 0xA0, 0x7A, 0x08, 0xCF, 0x87, 0x22, 0x78, 0x00, 0x01, 0x00, 0x01,
-0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x00,
-0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x4E, 0x75, 0x01, 0xDA, 0x4B, 0x45,
-0x00, 0x00, 0x00, 0x12, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x65, 0x72, 0x6E, 0x20, 0x54, 0x65, 0x72,
-0x72, 0x69, 0x74, 0x6F, 0x72, 0x79,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x05,
+0x41, 0x43, 0x44, 0x54, 0x00, 0x41, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76,
+0x4E, 0x75, 0x01, 0xDA, 0x4B, 0x45, 0x00, 0x00, 0x00, 0x12, 0x4E, 0x6F, 0x72, 0x74, 0x68, 0x65,
+0x72, 0x6E, 0x20, 0x54, 0x65, 0x72, 0x72, 0x69, 0x74, 0x6F, 0x72, 0x79,
/* Australia/Eucla */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 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, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x9C, 0x4E, 0xB8, 0x30,
+0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x9C, 0x4E, 0xB8, 0x30,
0x9C, 0xBC, 0x32, 0x84, 0xCB, 0x54, 0xC4, 0x94, 0xCB, 0xC7, 0x69, 0x04, 0xCC, 0xB7, 0x68, 0x14,
0xCD, 0xA7, 0x4B, 0x04, 0x09, 0x0F, 0xF1, 0x14, 0x09, 0xB6, 0x0E, 0x14, 0x1A, 0x01, 0x58, 0x14,
0x1A, 0xA7, 0x75, 0x14, 0x29, 0x25, 0x52, 0x14, 0x29, 0xAF, 0xBF, 0x94, 0x45, 0x71, 0xB4, 0x94,
0x46, 0x05, 0x5C, 0x94, 0x47, 0x23, 0x72, 0x14, 0x47, 0xEE, 0x79, 0x14, 0x49, 0x03, 0x54, 0x14,
0x49, 0xCE, 0x5B, 0x14, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x89, 0x1C, 0x01, 0x00, 0x00, 0x00, 0x7B, 0x0C,
-0x00, 0x00, 0x00, 0x00, 0x89, 0x1C, 0x01, 0x00, 0x00, 0x00, 0x7B, 0x0C, 0x00, 0x00, 0x43, 0x57,
-0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xEE, 0xED, 0x01,
-0xD7, 0x4B, 0x0A, 0x00, 0x00, 0x00, 0x1E, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x41,
-0x75, 0x73, 0x74, 0x72, 0x61, 0x6C, 0x69, 0x61, 0x20, 0x2D, 0x20, 0x45, 0x75, 0x63, 0x6C, 0x61,
-0x20, 0x61, 0x72, 0x65, 0x61,
+0x00, 0x06, 0x00, 0x00, 0x89, 0x1C, 0x01, 0x00, 0x00, 0x00, 0x7B, 0x0C, 0x00, 0x06, 0x41, 0x43,
+0x57, 0x44, 0x54, 0x00, 0x41, 0x43, 0x57, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x58, 0xEE, 0xED, 0x01, 0xD7, 0x4B, 0x0A, 0x00, 0x00, 0x00, 0x1E, 0x57, 0x65,
+0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6C, 0x69, 0x61, 0x20,
+0x2D, 0x20, 0x45, 0x75, 0x63, 0x6C, 0x61, 0x20, 0x61, 0x72, 0x65, 0x61,
/* Australia/Hobart */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 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, 0x95, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9B, 0xD5, 0x78, 0x80,
+0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9B, 0xD5, 0x78, 0x80,
0x9C, 0xBC, 0x20, 0xF0, 0xCB, 0x54, 0xB3, 0x00, 0xCB, 0xC7, 0x57, 0x70, 0xCC, 0xB7, 0x56, 0x80,
0xCD, 0xA7, 0x39, 0x70, 0xCE, 0xA0, 0x73, 0x00, 0xCF, 0x87, 0x1B, 0x70, 0xFB, 0xC2, 0x8D, 0x00,
0xFC, 0xB2, 0x7E, 0x00, 0xFD, 0xC7, 0x59, 0x00, 0xFE, 0x76, 0xB0, 0x80, 0xFF, 0xA7, 0x3B, 0x00,
@@ -10537,15 +10598,16 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01,
-0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54,
-0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xE4, 0xF2, 0x01, 0xF3, 0x72,
-0x12, 0x00, 0x00, 0x00, 0x19, 0x54, 0x61, 0x73, 0x6D, 0x61, 0x6E, 0x69, 0x61, 0x20, 0x2D, 0x20,
-0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73,
+0x05, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x05, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x41, 0x45, 0x53,
+0x54, 0x00, 0x41, 0x45, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x47, 0xE4, 0xF2, 0x01, 0xF3, 0x72, 0x12, 0x00, 0x00, 0x00, 0x19, 0x54, 0x61, 0x73, 0x6D, 0x61,
+0x6E, 0x69, 0x61, 0x20, 0x2D, 0x20, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74,
+0x69, 0x6F, 0x6E, 0x73,
/* Australia/LHI */
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, 0x72, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x14, 0xFE, 0x66, 0xE0,
+0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x14, 0xFE, 0x66, 0xE0,
0x16, 0x38, 0x40, 0xF8, 0x16, 0xE7, 0x8A, 0x68, 0x18, 0x21, 0x5D, 0x78, 0x18, 0xC7, 0x6C, 0x68,
0x1A, 0x01, 0x3F, 0x78, 0x1A, 0xA7, 0x4E, 0x68, 0x1B, 0xE1, 0x21, 0x78, 0x1C, 0x87, 0x30, 0x68,
0x1D, 0xC1, 0x03, 0x78, 0x1E, 0x79, 0x8E, 0x70, 0x1F, 0x97, 0xAA, 0xF8, 0x20, 0x59, 0x70, 0x70,
@@ -10582,14 +10644,15 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
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, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0xA1, 0xB8,
-0x01, 0x04, 0x00, 0x00, 0x93, 0xA8, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x04, 0x45, 0x53,
-0x54, 0x00, 0x4C, 0x48, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x05, 0x00, 0x00, 0x93, 0xA8, 0x00, 0x0A, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x05, 0x41, 0x45,
+0x53, 0x54, 0x00, 0x4C, 0x48, 0x44, 0x54, 0x00, 0x4C, 0x48, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00,
+0x00,
/* Australia/Lindeman */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 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, 0x15, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xA6, 0x9C,
+0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xA6, 0x9C,
0x9C, 0xBC, 0x20, 0xF0, 0xCB, 0x54, 0xB3, 0x00, 0xCB, 0xC7, 0x57, 0x70, 0xCC, 0xB7, 0x56, 0x80,
0xCD, 0xA7, 0x39, 0x70, 0xCE, 0xA0, 0x73, 0x00, 0xCF, 0x87, 0x1B, 0x70, 0x03, 0x70, 0x39, 0x80,
0x04, 0x0D, 0x1C, 0x00, 0x25, 0x49, 0xCD, 0x00, 0x25, 0xEF, 0xEA, 0x00, 0x27, 0x29, 0xAF, 0x00,
@@ -10597,16 +10660,16 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x2A, 0xE9, 0x73, 0x00, 0x2B, 0x98, 0xCA, 0x80, 0x2C, 0xD2, 0x8F, 0x80, 0x2D, 0x78, 0xAC, 0x80,
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x01, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00,
-0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54,
-0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0x67, 0x95, 0x01, 0xF6, 0x03,
-0xA0, 0x00, 0x00, 0x00, 0x1C, 0x51, 0x75, 0x65, 0x65, 0x6E, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x20,
-0x2D, 0x20, 0x48, 0x6F, 0x6C, 0x69, 0x64, 0x61, 0x79, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64,
-0x73,
+0x05, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x05, 0x41, 0x45, 0x44,
+0x54, 0x00, 0x41, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x6A, 0x67, 0x95, 0x01, 0xF6, 0x03, 0xA0, 0x00, 0x00, 0x00, 0x1C, 0x51, 0x75, 0x65, 0x65, 0x6E,
+0x73, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x2D, 0x20, 0x48, 0x6F, 0x6C, 0x69, 0x64, 0x61, 0x79, 0x20,
+0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73,
/* Australia/Lord_Howe */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 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, 0x72, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x14, 0xFE, 0x66, 0xE0,
+0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x14, 0xFE, 0x66, 0xE0,
0x16, 0x38, 0x40, 0xF8, 0x16, 0xE7, 0x8A, 0x68, 0x18, 0x21, 0x5D, 0x78, 0x18, 0xC7, 0x6C, 0x68,
0x1A, 0x01, 0x3F, 0x78, 0x1A, 0xA7, 0x4E, 0x68, 0x1B, 0xE1, 0x21, 0x78, 0x1C, 0x87, 0x30, 0x68,
0x1D, 0xC1, 0x03, 0x78, 0x1E, 0x79, 0x8E, 0x70, 0x1F, 0x97, 0xAA, 0xF8, 0x20, 0x59, 0x70, 0x70,
@@ -10643,15 +10706,16 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
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, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0xA1, 0xB8,
-0x01, 0x04, 0x00, 0x00, 0x93, 0xA8, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x04, 0x45, 0x53,
-0x54, 0x00, 0x4C, 0x48, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x59, 0x30, 0x08, 0x02, 0x05, 0x66, 0x6D, 0x00, 0x00, 0x00, 0x10, 0x4C, 0x6F, 0x72, 0x64, 0x20,
-0x48, 0x6F, 0x77, 0x65, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64,
+0x01, 0x05, 0x00, 0x00, 0x93, 0xA8, 0x00, 0x0A, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x05, 0x41, 0x45,
+0x53, 0x54, 0x00, 0x4C, 0x48, 0x44, 0x54, 0x00, 0x4C, 0x48, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x30, 0x08, 0x02, 0x05, 0x66, 0x6D, 0x00, 0x00, 0x00,
+0x10, 0x4C, 0x6F, 0x72, 0x64, 0x20, 0x48, 0x6F, 0x77, 0x65, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E,
+0x64,
/* Australia/Melbourne */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 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, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xA6, 0x9C,
+0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xA6, 0x9C,
0x9C, 0xBC, 0x20, 0xF0, 0xCB, 0x54, 0xB3, 0x00, 0xCB, 0xC7, 0x57, 0x70, 0xCC, 0xB7, 0x56, 0x80,
0xCD, 0xA7, 0x39, 0x70, 0xCE, 0xA0, 0x73, 0x00, 0xCF, 0x87, 0x1B, 0x70, 0x03, 0x70, 0x39, 0x80,
0x04, 0x0D, 0x1C, 0x00, 0x05, 0x50, 0x1B, 0x80, 0x05, 0xF6, 0x38, 0x80, 0x07, 0x2F, 0xFD, 0x80,
@@ -10696,25 +10760,25 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x9A,
-0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
-0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x4F, 0xA0, 0x1D, 0x01, 0xEF, 0xDC, 0x1A, 0x00, 0x00, 0x00, 0x08, 0x56, 0x69, 0x63,
-0x74, 0x6F, 0x72, 0x69, 0x61,
+0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x05, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
+0x00, 0x8C, 0xA0, 0x00, 0x05, 0x41, 0x45, 0x44, 0x54, 0x00, 0x41, 0x45, 0x53, 0x54, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0xA0, 0x1D, 0x01, 0xEF, 0xDC, 0x1A, 0x00,
+0x00, 0x00, 0x08, 0x56, 0x69, 0x63, 0x74, 0x6F, 0x72, 0x69, 0x61,
/* Australia/North */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xAD, 0xA4,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xAD, 0xA4,
0x9C, 0xBC, 0x27, 0xF8, 0xCB, 0x54, 0xBA, 0x08, 0xCB, 0xC7, 0x5E, 0x78, 0xCC, 0xB7, 0x5D, 0x88,
0xCD, 0xA7, 0x40, 0x78, 0xCE, 0xA0, 0x7A, 0x08, 0xCF, 0x87, 0x22, 0x78, 0x00, 0x01, 0x00, 0x01,
-0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x00,
-0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80,
-0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x05,
+0x41, 0x43, 0x44, 0x54, 0x00, 0x41, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89,
+0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
/* Australia/NSW */
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, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xA6, 0x9C,
+0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xA6, 0x9C,
0x9C, 0xBC, 0x20, 0xF0, 0xCB, 0x54, 0xB3, 0x00, 0xCB, 0xC7, 0x57, 0x70, 0xCC, 0xB7, 0x56, 0x80,
0xCD, 0xA7, 0x39, 0x70, 0xCE, 0xA0, 0x73, 0x00, 0xCF, 0x87, 0x1B, 0x70, 0x03, 0x70, 0x39, 0x80,
0x04, 0x0D, 0x1C, 0x00, 0x05, 0x50, 0x1B, 0x80, 0x05, 0xF6, 0x38, 0x80, 0x07, 0x2F, 0xFD, 0x80,
@@ -10759,43 +10823,45 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x9A,
-0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
-0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x05, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
+0x00, 0x8C, 0xA0, 0x00, 0x05, 0x41, 0x45, 0x44, 0x54, 0x00, 0x41, 0x45, 0x53, 0x54, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00,
+0x00, 0x00, 0x00,
/* Australia/Perth */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 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, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xC2, 0xBC,
+0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xC2, 0xBC,
0x9C, 0xBC, 0x3D, 0x10, 0xCB, 0x54, 0xCF, 0x20, 0xCB, 0xC7, 0x73, 0x90, 0xCC, 0xB7, 0x72, 0xA0,
0xCD, 0xA7, 0x55, 0x90, 0x09, 0x0F, 0xFB, 0xA0, 0x09, 0xB6, 0x18, 0xA0, 0x1A, 0x01, 0x62, 0xA0,
0x1A, 0xA7, 0x7F, 0xA0, 0x29, 0x25, 0x5C, 0xA0, 0x29, 0xAF, 0xCA, 0x20, 0x45, 0x71, 0xBF, 0x20,
0x46, 0x05, 0x67, 0x20, 0x47, 0x23, 0x7C, 0xA0, 0x47, 0xEE, 0x83, 0xA0, 0x49, 0x03, 0x5E, 0xA0,
0x49, 0xCE, 0x65, 0xA0, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x00, 0x00, 0x00, 0x70, 0x80,
-0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x57, 0x53,
-0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x93, 0xC8, 0x01, 0xC3,
-0x6E, 0x68, 0x00, 0x00, 0x00, 0x22, 0x57, 0x65, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x41, 0x75,
-0x73, 0x74, 0x72, 0x61, 0x6C, 0x69, 0x61, 0x20, 0x2D, 0x20, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C,
-0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73,
+0x00, 0x05, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x05, 0x41, 0x57,
+0x44, 0x54, 0x00, 0x41, 0x57, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x58, 0x93, 0xC8, 0x01, 0xC3, 0x6E, 0x68, 0x00, 0x00, 0x00, 0x22, 0x57, 0x65, 0x73, 0x74,
+0x65, 0x72, 0x6E, 0x20, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6C, 0x69, 0x61, 0x20, 0x2D, 0x20,
+0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73,
/* Australia/Queensland */
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, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xA6, 0x9C,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xA6, 0x9C,
0x9C, 0xBC, 0x20, 0xF0, 0xCB, 0x54, 0xB3, 0x00, 0xCB, 0xC7, 0x57, 0x70, 0xCC, 0xB7, 0x56, 0x80,
0xCD, 0xA7, 0x39, 0x70, 0xCE, 0xA0, 0x73, 0x00, 0xCF, 0x87, 0x1B, 0x70, 0x03, 0x70, 0x39, 0x80,
0x04, 0x0D, 0x1C, 0x00, 0x25, 0x49, 0xCD, 0x00, 0x25, 0xEF, 0xEA, 0x00, 0x27, 0x29, 0xAF, 0x00,
0x27, 0xCF, 0xCC, 0x00, 0x29, 0x09, 0x91, 0x00, 0x29, 0xAF, 0xAE, 0x00, 0x00, 0x01, 0x00, 0x01,
0x00, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x9A, 0xB0,
-0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00,
-0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x05, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00,
+0x8C, 0xA0, 0x00, 0x05, 0x41, 0x45, 0x44, 0x54, 0x00, 0x41, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00,
+0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00,
+0x00, 0x00,
/* Australia/South */
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, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xAD, 0xA4,
+0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xAD, 0xA4,
0x9C, 0xBC, 0x27, 0xF8, 0xCB, 0x54, 0xBA, 0x08, 0xCB, 0xC7, 0x5E, 0x78, 0xCC, 0xB7, 0x5D, 0x88,
0xCD, 0xA7, 0x40, 0x78, 0xCE, 0xA0, 0x7A, 0x08, 0xCF, 0x87, 0x22, 0x78, 0x03, 0x70, 0x40, 0x88,
0x04, 0x0D, 0x23, 0x08, 0x05, 0x50, 0x22, 0x88, 0x05, 0xF6, 0x3F, 0x88, 0x07, 0x30, 0x04, 0x88,
@@ -10840,14 +10906,15 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x93,
-0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x00, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00,
-0x00, 0x85, 0x98, 0x00, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x05, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00,
+0x00, 0x85, 0x98, 0x00, 0x05, 0x41, 0x43, 0x44, 0x54, 0x00, 0x41, 0x43, 0x53, 0x54, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00,
+0x00, 0x00, 0x00,
/* Australia/Sydney */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x55, 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, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xA6, 0x9C,
+0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xA6, 0x9C,
0x9C, 0xBC, 0x20, 0xF0, 0xCB, 0x54, 0xB3, 0x00, 0xCB, 0xC7, 0x57, 0x70, 0xCC, 0xB7, 0x56, 0x80,
0xCD, 0xA7, 0x39, 0x70, 0xCE, 0xA0, 0x73, 0x00, 0xCF, 0x87, 0x1B, 0x70, 0x03, 0x70, 0x39, 0x80,
0x04, 0x0D, 0x1C, 0x00, 0x05, 0x50, 0x1B, 0x80, 0x05, 0xF6, 0x38, 0x80, 0x07, 0x2F, 0xFD, 0x80,
@@ -10892,16 +10959,17 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x9A,
-0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
-0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x55, 0xA7, 0x15, 0x01, 0xF9, 0x65, 0x82, 0x00, 0x00, 0x00, 0x20, 0x4E, 0x65, 0x77,
-0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x57, 0x61, 0x6C, 0x65, 0x73, 0x20, 0x2D, 0x20, 0x6D,
-0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73,
+0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x05, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
+0x00, 0x8C, 0xA0, 0x00, 0x05, 0x41, 0x45, 0x44, 0x54, 0x00, 0x41, 0x45, 0x53, 0x54, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xA7, 0x15, 0x01, 0xF9, 0x65, 0x82, 0x00,
+0x00, 0x00, 0x20, 0x4E, 0x65, 0x77, 0x20, 0x53, 0x6F, 0x75, 0x74, 0x68, 0x20, 0x57, 0x61, 0x6C,
+0x65, 0x73, 0x20, 0x2D, 0x20, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6C, 0x6F, 0x63, 0x61, 0x74, 0x69,
+0x6F, 0x6E, 0x73,
/* Australia/Tasmania */
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, 0x95, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9B, 0xD5, 0x78, 0x80,
+0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9B, 0xD5, 0x78, 0x80,
0x9C, 0xBC, 0x20, 0xF0, 0xCB, 0x54, 0xB3, 0x00, 0xCB, 0xC7, 0x57, 0x70, 0xCC, 0xB7, 0x56, 0x80,
0xCD, 0xA7, 0x39, 0x70, 0xCE, 0xA0, 0x73, 0x00, 0xCF, 0x87, 0x1B, 0x70, 0xFB, 0xC2, 0x8D, 0x00,
0xFC, 0xB2, 0x7E, 0x00, 0xFD, 0xC7, 0x59, 0x00, 0xFE, 0x76, 0xB0, 0x80, 0xFF, 0xA7, 0x3B, 0x00,
@@ -10949,14 +11017,14 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01,
-0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54,
-0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8,
-0x80, 0x00, 0x00, 0x00, 0x00,
+0x05, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x05, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x41, 0x45, 0x53,
+0x54, 0x00, 0x41, 0x45, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
/* Australia/Victoria */
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, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xA6, 0x9C,
+0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xA6, 0x9C,
0x9C, 0xBC, 0x20, 0xF0, 0xCB, 0x54, 0xB3, 0x00, 0xCB, 0xC7, 0x57, 0x70, 0xCC, 0xB7, 0x56, 0x80,
0xCD, 0xA7, 0x39, 0x70, 0xCE, 0xA0, 0x73, 0x00, 0xCF, 0x87, 0x1B, 0x70, 0x03, 0x70, 0x39, 0x80,
0x04, 0x0D, 0x1C, 0x00, 0x05, 0x50, 0x1B, 0x80, 0x05, 0xF6, 0x38, 0x80, 0x07, 0x2F, 0xFD, 0x80,
@@ -11001,28 +11069,29 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x9A,
-0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
-0x00, 0x8C, 0xA0, 0x00, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0xB0, 0x01, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x05, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x00, 0x00,
+0x00, 0x8C, 0xA0, 0x00, 0x05, 0x41, 0x45, 0x44, 0x54, 0x00, 0x41, 0x45, 0x53, 0x54, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00,
+0x00, 0x00, 0x00,
/* Australia/West */
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, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xC2, 0xBC,
+0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xC2, 0xBC,
0x9C, 0xBC, 0x3D, 0x10, 0xCB, 0x54, 0xCF, 0x20, 0xCB, 0xC7, 0x73, 0x90, 0xCC, 0xB7, 0x72, 0xA0,
0xCD, 0xA7, 0x55, 0x90, 0x09, 0x0F, 0xFB, 0xA0, 0x09, 0xB6, 0x18, 0xA0, 0x1A, 0x01, 0x62, 0xA0,
0x1A, 0xA7, 0x7F, 0xA0, 0x29, 0x25, 0x5C, 0xA0, 0x29, 0xAF, 0xCA, 0x20, 0x45, 0x71, 0xBF, 0x20,
0x46, 0x05, 0x67, 0x20, 0x47, 0x23, 0x7C, 0xA0, 0x47, 0xEE, 0x83, 0xA0, 0x49, 0x03, 0x5E, 0xA0,
0x49, 0xCE, 0x65, 0xA0, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x00, 0x00, 0x00, 0x70, 0x80,
-0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x57, 0x53,
-0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12,
-0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x05, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x05, 0x41, 0x57,
+0x44, 0x54, 0x00, 0x41, 0x57, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
/* Australia/Yancowinna */
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, 0x8E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x9C, 0x4E, 0xAD, 0xA4,
+0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0A, 0x9C, 0x4E, 0xAD, 0xA4,
0x9C, 0xBC, 0x27, 0xF8, 0xCB, 0x54, 0xBA, 0x08, 0xCB, 0xC7, 0x5E, 0x78, 0xCC, 0xB7, 0x5D, 0x88,
0xCD, 0xA7, 0x40, 0x78, 0xCE, 0xA0, 0x7A, 0x08, 0xCF, 0x87, 0x22, 0x78, 0x03, 0x70, 0x40, 0x88,
0x04, 0x0D, 0x23, 0x08, 0x05, 0x50, 0x22, 0x88, 0x05, 0xF6, 0x3F, 0x88, 0x07, 0x30, 0x04, 0x88,
@@ -11067,10 +11136,10 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02,
0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02,
0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02,
-0x03, 0x02, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x00, 0x00, 0x00,
-0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00,
-0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00,
-0x00, 0x00,
+0x03, 0x02, 0x00, 0x00, 0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x05, 0x00, 0x00,
+0x93, 0xA8, 0x01, 0x00, 0x00, 0x00, 0x85, 0x98, 0x00, 0x05, 0x41, 0x43, 0x44, 0x54, 0x00, 0x41,
+0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40,
+0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
/* Brazil/Acre */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -13045,60 +13114,59 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Europe/Budapest */
0x50, 0x48, 0x50, 0x31, 0x01, 0x48, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x9B, 0x0C, 0x17, 0x60,
+0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x9B, 0x0C, 0x17, 0x60,
0x9B, 0xD5, 0xDA, 0xF0, 0x9C, 0xD9, 0xAE, 0x90, 0x9D, 0xA4, 0xB5, 0x90, 0x9E, 0x30, 0x58, 0x70,
-0x9E, 0xA7, 0x29, 0xA0, 0x9F, 0x95, 0xBB, 0x10, 0xA0, 0x9A, 0xD2, 0x20, 0xA1, 0x64, 0x79, 0x90,
-0xA2, 0x70, 0x28, 0x20, 0xA3, 0x5A, 0xC5, 0x10, 0xC9, 0xF1, 0x3C, 0x90, 0xCC, 0xE7, 0x4B, 0x10,
-0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10, 0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10,
-0xD0, 0xFA, 0x01, 0x70, 0xD1, 0x99, 0x78, 0xE0, 0xD2, 0x8D, 0x5E, 0x60, 0xD3, 0x50, 0xA6, 0x90,
-0xD4, 0x49, 0xD2, 0x10, 0xD5, 0x39, 0xC3, 0x10, 0xD6, 0x29, 0xB4, 0x10, 0xD7, 0x19, 0xA5, 0x10,
-0xD8, 0x09, 0x96, 0x10, 0xD9, 0x02, 0xC1, 0x90, 0xD9, 0xE9, 0x78, 0x10, 0xDA, 0xED, 0x2F, 0x90,
-0xDB, 0xE6, 0x5B, 0x10, 0xE2, 0xA2, 0xA8, 0xF0, 0xE3, 0x51, 0xF2, 0x60, 0xE4, 0x83, 0xDC, 0x70,
-0xE5, 0x33, 0x25, 0xE0, 0xE6, 0x74, 0xE1, 0xF0, 0xE7, 0x11, 0xB6, 0x60, 0xE8, 0x54, 0xD2, 0x00,
-0xE8, 0xF1, 0xC2, 0x90, 0x13, 0x4D, 0x36, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x15, 0x23, 0xEB, 0x90,
-0x16, 0x13, 0xDC, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x17, 0xF3, 0xBE, 0x90, 0x18, 0xE3, 0xAF, 0x90,
-0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10,
-0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10,
-0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10, 0x23, 0x3C, 0x45, 0x10, 0x24, 0x2C, 0x36, 0x10,
-0x25, 0x1C, 0x27, 0x10, 0x26, 0x0C, 0x18, 0x10, 0x27, 0x05, 0x43, 0x90, 0x27, 0xF5, 0x34, 0x90,
-0x28, 0xE5, 0x25, 0x90, 0x29, 0xD5, 0x16, 0x90, 0x2A, 0xC5, 0x07, 0x90, 0x2B, 0xB4, 0xF8, 0x90,
-0x2C, 0xA4, 0xE9, 0x90, 0x2D, 0x94, 0xDA, 0x90, 0x2E, 0x84, 0xCB, 0x90, 0x2F, 0x74, 0xBC, 0x90,
-0x30, 0x64, 0xAD, 0x90, 0x31, 0x5D, 0xD9, 0x10, 0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10,
-0x34, 0x52, 0x96, 0x10, 0x35, 0x1D, 0x9D, 0x10, 0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10,
-0x38, 0x1B, 0x94, 0x90, 0x38, 0xDD, 0x61, 0x10, 0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10,
-0x3B, 0xDB, 0x58, 0x90, 0x3C, 0xA6, 0x5F, 0x90, 0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90,
-0x3F, 0x9B, 0x1C, 0x90, 0x40, 0x66, 0x23, 0x90, 0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90,
-0x43, 0x64, 0x1B, 0x10, 0x44, 0x25, 0xE7, 0x90, 0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90,
-0x47, 0x23, 0xDF, 0x10, 0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10,
-0x4A, 0xE3, 0xA3, 0x10, 0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10,
-0x4E, 0xAC, 0xA1, 0x90, 0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90,
-0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x6C, 0x90, 0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90,
-0x56, 0x2C, 0x29, 0x90, 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90,
-0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10,
-0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10,
-0x61, 0x7D, 0xEA, 0x90, 0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10,
-0x65, 0x3D, 0xAE, 0x90, 0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90,
-0x68, 0xFD, 0x72, 0x90, 0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90,
-0x6C, 0xC6, 0x71, 0x10, 0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90,
-0x70, 0x86, 0x35, 0x10, 0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10,
-0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10,
-0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10,
-0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90,
-0x7F, 0x8E, 0x7F, 0x90, 0x00, 0x01, 0x02, 0x03, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
-0x03, 0x02, 0x03, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x9E, 0xA7, 0x29, 0xA0, 0x9F, 0x84, 0x97, 0x90, 0xA0, 0x9A, 0xD2, 0x20, 0xA1, 0xC0, 0xC2, 0x90,
+0xC9, 0xF3, 0xC3, 0x70, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90, 0xCE, 0xA2, 0x43, 0x10,
+0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD0, 0xFA, 0x01, 0x70, 0xD1, 0x99, 0x78, 0xE0,
+0xD2, 0x8A, 0xBB, 0x60, 0xD3, 0x50, 0xA6, 0x90, 0xD4, 0x49, 0xD2, 0x10, 0xD5, 0x39, 0xC3, 0x10,
+0xD6, 0x29, 0xB4, 0x10, 0xD7, 0x19, 0xA5, 0x10, 0xD8, 0x09, 0x96, 0x10, 0xD9, 0x02, 0xC1, 0x90,
+0xD9, 0xE9, 0x78, 0x10, 0xDA, 0xED, 0x2F, 0x90, 0xDB, 0xE6, 0x5B, 0x10, 0xE2, 0xA2, 0xA8, 0xF0,
+0xE3, 0x51, 0xF2, 0x60, 0xE4, 0x83, 0xDC, 0x70, 0xE5, 0x33, 0x25, 0xE0, 0xE6, 0x74, 0xE1, 0xF0,
+0xE7, 0x11, 0xB6, 0x60, 0xE8, 0x54, 0xD2, 0x00, 0xE8, 0xF1, 0xC2, 0x90, 0x13, 0x4D, 0x36, 0x00,
+0x14, 0x33, 0xFA, 0x90, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x13, 0xDC, 0x90, 0x17, 0x03, 0xCD, 0x90,
+0x17, 0xF3, 0xBE, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90,
+0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, 0x1E, 0x8C, 0x90, 0x10,
+0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10, 0x22, 0x4C, 0x54, 0x10,
+0x23, 0x3C, 0x45, 0x10, 0x24, 0x2C, 0x36, 0x10, 0x25, 0x1C, 0x27, 0x10, 0x26, 0x0C, 0x18, 0x10,
+0x27, 0x05, 0x43, 0x90, 0x27, 0xF5, 0x34, 0x90, 0x28, 0xE5, 0x25, 0x90, 0x29, 0xD5, 0x16, 0x90,
+0x2A, 0xC5, 0x07, 0x90, 0x2B, 0xB4, 0xF8, 0x90, 0x2C, 0xA4, 0xE9, 0x90, 0x2D, 0x94, 0xDA, 0x90,
+0x2E, 0x84, 0xCB, 0x90, 0x2F, 0x74, 0xBC, 0x90, 0x30, 0x64, 0xAD, 0x90, 0x31, 0x5D, 0xD9, 0x10,
+0x32, 0x72, 0xB4, 0x10, 0x33, 0x3D, 0xBB, 0x10, 0x34, 0x52, 0x96, 0x10, 0x35, 0x1D, 0x9D, 0x10,
+0x36, 0x32, 0x78, 0x10, 0x36, 0xFD, 0x7F, 0x10, 0x38, 0x1B, 0x94, 0x90, 0x38, 0xDD, 0x61, 0x10,
+0x39, 0xFB, 0x76, 0x90, 0x3A, 0xBD, 0x43, 0x10, 0x3B, 0xDB, 0x58, 0x90, 0x3C, 0xA6, 0x5F, 0x90,
+0x3D, 0xBB, 0x3A, 0x90, 0x3E, 0x86, 0x41, 0x90, 0x3F, 0x9B, 0x1C, 0x90, 0x40, 0x66, 0x23, 0x90,
+0x41, 0x84, 0x39, 0x10, 0x42, 0x46, 0x05, 0x90, 0x43, 0x64, 0x1B, 0x10, 0x44, 0x25, 0xE7, 0x90,
+0x45, 0x43, 0xFD, 0x10, 0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, 0x47, 0xEE, 0xE6, 0x10,
+0x49, 0x03, 0xC1, 0x10, 0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, 0x4B, 0xAE, 0xAA, 0x10,
+0x4C, 0xCC, 0xBF, 0x90, 0x4D, 0x8E, 0x8C, 0x10, 0x4E, 0xAC, 0xA1, 0x90, 0x4F, 0x6E, 0x6E, 0x10,
+0x50, 0x8C, 0x83, 0x90, 0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x6C, 0x90,
+0x54, 0x4C, 0x47, 0x90, 0x55, 0x17, 0x4E, 0x90, 0x56, 0x2C, 0x29, 0x90, 0x56, 0xF7, 0x30, 0x90,
+0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90,
+0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10,
+0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, 0x62, 0x3F, 0xB7, 0x10,
+0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, 0x66, 0x08, 0xB5, 0x90,
+0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, 0x69, 0xC8, 0x79, 0x90,
+0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, 0x6D, 0x88, 0x3D, 0x90,
+0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, 0x71, 0x51, 0x3C, 0x10,
+0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, 0x75, 0x11, 0x00, 0x10,
+0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, 0x78, 0xD0, 0xC4, 0x10,
+0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, 0x7C, 0x99, 0xC2, 0x90,
+0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, 0x00, 0x01, 0x02, 0x03,
+0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x03, 0x02, 0x03, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00,
-0x1C, 0x20, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x00,
-0x00, 0x00, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x1C, 0x20,
-0x01, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
-0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xD1, 0xCE, 0xF0, 0x01, 0x2F, 0xC6, 0xED, 0x00,
-0x00, 0x00, 0x00,
+0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x05,
+0x00, 0x00, 0x1C, 0x20, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x0E, 0x10,
+0x00, 0x05, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54,
+0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xD1, 0xCE,
+0xF0, 0x01, 0x2F, 0xC6, 0xED, 0x00, 0x00, 0x00, 0x00,
/* Europe/Busingen */
0x50, 0x48, 0x50, 0x31, 0x01, 0x44, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -13501,8 +13569,8 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Europe/Helsinki */
0x50, 0x48, 0x50, 0x31, 0x01, 0x46, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0D, 0xA4, 0x73, 0x6F, 0x18,
-0xCB, 0xCE, 0x51, 0x60, 0xCC, 0xBF, 0x85, 0xD0, 0x15, 0x23, 0xDD, 0x80, 0x16, 0x13, 0xCE, 0x80,
+0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0D, 0xA4, 0x73, 0x6F, 0x1B,
+0xCB, 0xCE, 0x51, 0x60, 0xCC, 0xC0, 0xE5, 0x60, 0x15, 0x23, 0xDD, 0x80, 0x16, 0x13, 0xCE, 0x80,
0x17, 0x03, 0xBF, 0x80, 0x17, 0xF3, 0xB0, 0x80, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90,
0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10,
0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10,
@@ -13538,7 +13606,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03,
0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03,
0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03,
-0x04, 0x03, 0x04, 0x03, 0x04, 0x00, 0x00, 0x17, 0x68, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01,
+0x04, 0x03, 0x04, 0x03, 0x04, 0x00, 0x00, 0x17, 0x65, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01,
0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C,
0x20, 0x00, 0x09, 0x48, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00,
0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xE5, 0x22, 0xDA, 0x01, 0x38,
@@ -13784,7 +13852,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Europe/Kaliningrad */
0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x9B, 0x0C, 0x17, 0x60,
+0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x9B, 0x0C, 0x17, 0x60,
0x9B, 0xD5, 0xDA, 0xF0, 0x9C, 0xD9, 0xAE, 0x90, 0x9D, 0xA4, 0xB5, 0x90, 0x9E, 0xB9, 0x90, 0x90,
0x9F, 0x84, 0x97, 0x90, 0xC8, 0x09, 0x71, 0x90, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90,
0xCE, 0xA2, 0x43, 0x10, 0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD0, 0xFA, 0x01, 0x70,
@@ -13804,23 +13872,23 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x43, 0x64, 0x0D, 0x00, 0x44, 0x25, 0xD9, 0x80, 0x45, 0x43, 0xEF, 0x00, 0x46, 0x05, 0xBB, 0x80,
0x47, 0x23, 0xD1, 0x00, 0x47, 0xEE, 0xD8, 0x00, 0x49, 0x03, 0xB3, 0x00, 0x49, 0xCE, 0xBA, 0x00,
0x4A, 0xE3, 0x95, 0x00, 0x4B, 0xAE, 0x9C, 0x00, 0x4C, 0xCC, 0xB1, 0x80, 0x4D, 0x8E, 0x7E, 0x00,
-0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x04, 0x05, 0x07,
-0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08,
-0x09, 0x08, 0x09, 0x08, 0x0A, 0x0B, 0x0C, 0x0D, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B,
+0x54, 0x4C, 0x2B, 0x70, 0x00, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x05, 0x04, 0x05, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x08, 0x09, 0x08, 0x09, 0x08,
+0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0A, 0x0B, 0x0C, 0x0D, 0x0A, 0x0B, 0x0A, 0x0B,
0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B,
-0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0E, 0x00, 0x00, 0x1C,
-0x20, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x00, 0x00,
-0x00, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00,
-0x05, 0x00, 0x00, 0x38, 0x40, 0x01, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, 0x2A,
-0x30, 0x00, 0x0D, 0x00, 0x00, 0x38, 0x40, 0x01, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x11, 0x00,
-0x00, 0x1C, 0x20, 0x00, 0x16, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00,
-0x16, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x1A, 0x43, 0x45, 0x53, 0x54, 0x00, 0x43, 0x45, 0x54, 0x00,
-0x4D, 0x53, 0x44, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54,
-0x00, 0x46, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
-0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xDC, 0xD1, 0xF2, 0x01, 0x31, 0xF0, 0x50, 0x00, 0x00, 0x00, 0x17, 0x4D,
-0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2D, 0x30, 0x31, 0x20, 0x2D, 0x20, 0x4B, 0x61, 0x6C, 0x69, 0x6E,
-0x69, 0x6E, 0x67, 0x72, 0x61, 0x64,
+0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B,
+0x0E, 0x0B, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00,
+0x1C, 0x20, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x05, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00,
+0x00, 0x00, 0x1C, 0x20, 0x00, 0x05, 0x00, 0x00, 0x38, 0x40, 0x01, 0x09, 0x00, 0x00, 0x2A, 0x30,
+0x00, 0x0D, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, 0x38, 0x40, 0x01, 0x09, 0x00, 0x00,
+0x2A, 0x30, 0x01, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x16, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x11,
+0x00, 0x00, 0x1C, 0x20, 0x00, 0x16, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x1A, 0x43, 0x45, 0x53, 0x54,
+0x00, 0x43, 0x45, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x45, 0x45, 0x53,
+0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x46, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0xD1, 0xF2, 0x01, 0x31, 0xF0, 0x50,
+0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2D, 0x30, 0x31, 0x20, 0x2D, 0x20,
+0x4B, 0x61, 0x6C, 0x69, 0x6E, 0x69, 0x6E, 0x67, 0x72, 0x61, 0x64,
/* Europe/Kiev */
0x50, 0x48, 0x50, 0x31, 0x01, 0x55, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -14290,8 +14358,8 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Europe/Mariehamn */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0D, 0xA4, 0x73, 0x6F, 0x18,
-0xCB, 0xCE, 0x51, 0x60, 0xCC, 0xBF, 0x85, 0xD0, 0x15, 0x23, 0xDD, 0x80, 0x16, 0x13, 0xCE, 0x80,
+0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0D, 0xA4, 0x73, 0x6F, 0x1B,
+0xCB, 0xCE, 0x51, 0x60, 0xCC, 0xC0, 0xE5, 0x60, 0x15, 0x23, 0xDD, 0x80, 0x16, 0x13, 0xCE, 0x80,
0x17, 0x03, 0xBF, 0x80, 0x17, 0xF3, 0xB0, 0x80, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90,
0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10,
0x1E, 0x8C, 0x90, 0x10, 0x1F, 0x7C, 0x81, 0x10, 0x20, 0x6C, 0x72, 0x10, 0x21, 0x5C, 0x63, 0x10,
@@ -14327,7 +14395,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03,
0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03,
0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03,
-0x04, 0x03, 0x04, 0x03, 0x04, 0x00, 0x00, 0x17, 0x68, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01,
+0x04, 0x03, 0x04, 0x03, 0x04, 0x00, 0x00, 0x17, 0x65, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01,
0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C,
0x20, 0x00, 0x09, 0x48, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00,
0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xE5, 0x08, 0xD0, 0x01, 0x31,
@@ -14441,9 +14509,9 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* 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, 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,
+0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x22, 0x9B, 0x5F, 0x1E, 0xC7,
+0x9D, 0x3E, 0xF2, 0x79, 0x9E, 0x2A, 0xEE, 0xF9, 0x9E, 0xF7, 0x39, 0x69, 0x9F, 0x84, 0x57, 0xF9,
+0xA0, 0xD8, 0x6C, 0xE9, 0xA1, 0x00, 0x16, 0x09, 0xA1, 0x3C, 0xA6, 0x40, 0xA4, 0x10, 0x6D, 0xC0,
0xA4, 0x3D, 0x32, 0xB0, 0xA5, 0x15, 0x68, 0xB0, 0xA5, 0x3D, 0x03, 0xC0, 0xA7, 0x1E, 0x45, 0x50,
0xB5, 0xA4, 0x19, 0x60, 0x15, 0x27, 0xA7, 0xD0, 0x16, 0x18, 0xDC, 0x40, 0x17, 0x08, 0xDB, 0x50,
0x17, 0xFA, 0x0F, 0xC0, 0x18, 0xEA, 0x0E, 0xD0, 0x19, 0xDB, 0x43, 0x40, 0x1A, 0xCC, 0x93, 0xD0,
@@ -14460,23 +14528,23 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x40, 0x66, 0x07, 0x70, 0x41, 0x84, 0x1C, 0xF0, 0x42, 0x45, 0xE9, 0x70, 0x43, 0x63, 0xFE, 0xF0,
0x44, 0x25, 0xCB, 0x70, 0x45, 0x43, 0xE0, 0xF0, 0x46, 0x05, 0xAD, 0x70, 0x47, 0x23, 0xC2, 0xF0,
0x47, 0xEE, 0xC9, 0xF0, 0x49, 0x03, 0xA4, 0xF0, 0x49, 0xCE, 0xAB, 0xF0, 0x4A, 0xE3, 0x86, 0xF0,
-0x4B, 0xAE, 0x8D, 0xF0, 0x4C, 0xCC, 0xA3, 0x70, 0x4D, 0x8E, 0x6F, 0xF0, 0x02, 0x01, 0x02, 0x03,
-0x01, 0x03, 0x05, 0x04, 0x05, 0x06, 0x05, 0x04, 0x07, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0A, 0x0B,
-0x08, 0x05, 0x04, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09,
+0x4B, 0xAE, 0x8D, 0xF0, 0x4C, 0xCC, 0xA3, 0x70, 0x4D, 0x8E, 0x6F, 0xF0, 0x54, 0x4C, 0x1D, 0x60,
+0x02, 0x01, 0x02, 0x03, 0x01, 0x03, 0x05, 0x04, 0x05, 0x06, 0x05, 0x04, 0x07, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08,
+0x09, 0x08, 0x0A, 0x0B, 0x08, 0x05, 0x04, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09,
0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09,
-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, 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, 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,
+0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0C, 0x08, 0x00, 0x00, 0x23,
+0x39, 0x00, 0x00, 0x00, 0x00, 0x31, 0x87, 0x01, 0x04, 0x00, 0x00, 0x23, 0x77, 0x00, 0x00, 0x00,
+0x00, 0x3F, 0x97, 0x01, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, 0x38, 0x40, 0x01,
+0x11, 0x00, 0x00, 0x46, 0x50, 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,
+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, 0x67, 0xDF, 0x01, 0x4C, 0x0E, 0xF1, 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,
@@ -14756,8 +14824,8 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Europe/Riga */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4C, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x22, 0x9E, 0xB9, 0x88, 0x08,
-0x9F, 0x84, 0x8F, 0x08, 0xA0, 0x88, 0x46, 0x88, 0xA0, 0xCB, 0x83, 0x08, 0xAD, 0xE7, 0xF1, 0xE8,
+0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x22, 0x9E, 0xB9, 0x88, 0x04,
+0x9F, 0x84, 0x8F, 0x04, 0xA0, 0x88, 0x46, 0x84, 0xA0, 0xCB, 0x83, 0x04, 0xAD, 0xE7, 0xF1, 0xE4,
0xC8, 0xAF, 0x64, 0x60, 0xCA, 0x62, 0x65, 0x50, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90,
0xCE, 0xA2, 0x43, 0x10, 0xCF, 0x92, 0x34, 0x10, 0xD0, 0x82, 0x25, 0x10, 0xD0, 0x90, 0x89, 0x70,
0x15, 0x27, 0xA7, 0xD0, 0x16, 0x18, 0xDC, 0x40, 0x17, 0x08, 0xDB, 0x50, 0x17, 0xFA, 0x0F, 0xC0,
@@ -14796,8 +14864,8 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C,
0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C,
0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C,
-0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x00, 0x00, 0x16, 0x98, 0x00, 0x00, 0x00, 0x00, 0x24,
-0xA8, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00,
+0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x00, 0x00, 0x16, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x24,
+0xAC, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00,
0x00, 0x0E, 0x10, 0x00, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x14, 0x00, 0x00, 0x1C, 0x20, 0x01,
0x14, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0C, 0x00, 0x00, 0x38,
0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x08, 0x00,
@@ -14873,8 +14941,8 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Europe/Samara */
0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1A, 0xA1, 0x00, 0x26, 0x9C,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2B, 0xA1, 0x00, 0x26, 0x9C,
0xB5, 0xA4, 0x0B, 0x50, 0xBE, 0x4C, 0x26, 0xC0, 0x15, 0x27, 0x99, 0xC0, 0x16, 0x18, 0xCE, 0x30,
0x17, 0x08, 0xCD, 0x40, 0x17, 0xFA, 0x01, 0xB0, 0x18, 0xEA, 0x00, 0xC0, 0x19, 0xDB, 0x35, 0x30,
0x1A, 0xCC, 0x85, 0xC0, 0x1B, 0xBC, 0x92, 0xE0, 0x1C, 0xAC, 0x83, 0xE0, 0x1D, 0x9C, 0x74, 0xE0,
@@ -14892,22 +14960,25 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x47, 0x23, 0xB4, 0xE0, 0x47, 0xEE, 0xBB, 0xE0, 0x49, 0x03, 0x96, 0xE0, 0x49, 0xCE, 0x9D, 0xE0,
0x4A, 0xE3, 0x78, 0xE0, 0x4B, 0xAE, 0x7F, 0xE0, 0x4C, 0xCC, 0xA3, 0x70, 0x4D, 0x8E, 0x6F, 0xF0,
0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06,
-0x05, 0x06, 0x05, 0x07, 0x08, 0x07, 0x08, 0x09, 0x08, 0x02, 0x0B, 0x02, 0x0C, 0x0D, 0x0C, 0x0D,
-0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D,
-0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0C, 0x0D, 0x0E, 0x0F,
-0x0D, 0x00, 0x00, 0x2F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x38,
+0x05, 0x06, 0x05, 0x07, 0x08, 0x07, 0x08, 0x09, 0x0B, 0x02, 0x0C, 0x02, 0x0D, 0x0E, 0x0D, 0x0E,
+0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E,
+0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0D, 0x0E, 0x0F, 0x10,
+0x0E, 0x00, 0x00, 0x2F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x38,
0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x01, 0x09, 0x00, 0x00, 0x38, 0x40, 0x00, 0x0F, 0x00,
0x00, 0x38, 0x40, 0x00, 0x0F, 0x00, 0x00, 0x46, 0x50, 0x01, 0x09, 0x00, 0x00, 0x38, 0x40, 0x01,
-0x09, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0F, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x09, 0x00, 0x00, 0x1C,
-0x20, 0x00, 0x0F, 0x00, 0x00, 0x46, 0x50, 0x01, 0x14, 0x00, 0x00, 0x46, 0x50, 0x01, 0x14, 0x00,
-0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x01, 0x14, 0x00, 0x00, 0x2A, 0x30, 0x00,
-0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x4D, 0x54, 0x00, 0x4B, 0x55, 0x59, 0x53, 0x54, 0x00,
-0x4B, 0x55, 0x59, 0x54, 0x00, 0x53, 0x41, 0x4D, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDA, 0x81, 0x7F, 0x01,
-0x5F, 0x2E, 0x58, 0x00, 0x00, 0x00, 0x1C, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x30,
-0x20, 0x2D, 0x20, 0x53, 0x61, 0x6D, 0x61, 0x72, 0x61, 0x2C, 0x20, 0x55, 0x64, 0x6D, 0x75, 0x72,
-0x74, 0x69, 0x61,
+0x14, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x18, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1C, 0x00, 0x00, 0x1C,
+0x20, 0x00, 0x21, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0F, 0x00, 0x00, 0x46, 0x50, 0x01, 0x25, 0x00,
+0x00, 0x46, 0x50, 0x01, 0x25, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x01,
+0x25, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x4D, 0x54, 0x00,
+0x4B, 0x55, 0x59, 0x53, 0x54, 0x00, 0x4B, 0x55, 0x59, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x4D,
+0x53, 0x4B, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x53, 0x41, 0x4D, 0x53,
+0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01,
+0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x5F, 0x2E, 0x58, 0x00, 0x00, 0x00, 0x39,
+0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x30, 0x20, 0x28, 0x4D, 0x6F, 0x73, 0x63, 0x6F,
+0x77, 0x2B, 0x30, 0x31, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x32, 0x30, 0x31, 0x34, 0x2D,
+0x31, 0x30, 0x2D, 0x32, 0x36, 0x29, 0x20, 0x2D, 0x20, 0x53, 0x61, 0x6D, 0x61, 0x72, 0x61, 0x2C,
+0x20, 0x55, 0x64, 0x6D, 0x75, 0x72, 0x74, 0x69, 0x61,
/* Europe/San_Marino */
0x50, 0x48, 0x50, 0x31, 0x01, 0x53, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -15022,7 +15093,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Europe/Simferopol */
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, 0xAA, 0x19, 0xA4, 0x20,
+0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x1E, 0xAA, 0x19, 0xA4, 0x20,
0xB5, 0xA4, 0x19, 0x60, 0xCB, 0x04, 0x8D, 0xD0, 0xCC, 0xE7, 0x4B, 0x10, 0xCD, 0xA9, 0x17, 0x90,
0xCE, 0xA2, 0x43, 0x10, 0xCF, 0x92, 0x34, 0x10, 0xCF, 0x9F, 0x38, 0xE0, 0x15, 0x27, 0xA7, 0xD0,
0x16, 0x18, 0xDC, 0x40, 0x17, 0x08, 0xDB, 0x50, 0x17, 0xFA, 0x0F, 0xC0, 0x18, 0xEA, 0x0E, 0xD0,
@@ -15041,22 +15112,23 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x46, 0x05, 0xC9, 0x90, 0x47, 0x23, 0xDF, 0x10, 0x47, 0xEE, 0xE6, 0x10, 0x49, 0x03, 0xC1, 0x10,
0x49, 0xCE, 0xC8, 0x10, 0x4A, 0xE3, 0xA3, 0x10, 0x4B, 0xAE, 0xAA, 0x10, 0x4C, 0xCC, 0xBF, 0x90,
0x4D, 0x8E, 0x8C, 0x10, 0x4E, 0xAC, 0xA1, 0x90, 0x4F, 0x6E, 0x6E, 0x10, 0x50, 0x8C, 0x83, 0x90,
-0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x5E, 0x80, 0x01, 0x02, 0x05, 0x03,
-0x04, 0x03, 0x04, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x07, 0x08, 0x07, 0x08, 0x07,
-0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x02, 0x01, 0x09, 0x01, 0x09, 0x01, 0x09, 0x06, 0x02, 0x06,
-0x02, 0x06, 0x08, 0x07, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A,
+0x51, 0x57, 0x8A, 0x90, 0x52, 0x6C, 0x65, 0x90, 0x53, 0x37, 0x5E, 0x80, 0x54, 0x4C, 0x1D, 0x60,
+0x01, 0x02, 0x05, 0x03, 0x04, 0x03, 0x04, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x02, 0x06, 0x07,
+0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x08, 0x07, 0x02, 0x01, 0x09, 0x01, 0x09, 0x01,
+0x09, 0x06, 0x02, 0x06, 0x02, 0x06, 0x08, 0x07, 0x02, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A,
0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A,
-0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0C, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x00, 0x00,
-0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x08, 0x00, 0x00, 0x0E, 0x10, 0x00, 0x0C,
-0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x38, 0x40,
-0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x08, 0x00, 0x00, 0x38, 0x40, 0x01, 0x15, 0x00, 0x00,
-0x2A, 0x30, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x19, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04,
-0x00, 0x00, 0x38, 0x40, 0x00, 0x08, 0x53, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x4D, 0x53,
-0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45,
-0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xCD,
-0xEA, 0xD7, 0x01, 0x46, 0xB0, 0xD0, 0x00, 0x00, 0x00, 0x12, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77,
-0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x43, 0x72, 0x69, 0x6D, 0x65, 0x61,
+0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0A, 0x0B, 0x0C, 0x07, 0x00, 0x00, 0x1F,
+0xE0, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x08, 0x00,
+0x00, 0x0E, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x20, 0x01, 0x10, 0x00, 0x00, 0x1C, 0x20, 0x01,
+0x10, 0x00, 0x00, 0x38, 0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x08, 0x00, 0x00, 0x38,
+0x40, 0x01, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x19, 0x00,
+0x00, 0x1C, 0x20, 0x00, 0x04, 0x00, 0x00, 0x38, 0x40, 0x00, 0x08, 0x53, 0x4D, 0x54, 0x00, 0x45,
+0x45, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x43, 0x45, 0x54, 0x00, 0x43, 0x45, 0x53, 0x54, 0x00,
+0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
+0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x01, 0x00, 0x00, 0xCD, 0xEA, 0xD7, 0x01, 0x46, 0xB0, 0xD0, 0x00, 0x00, 0x00, 0x12, 0x4D,
+0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x43, 0x72, 0x69, 0x6D, 0x65,
+0x61,
/* Europe/Skopje */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -15634,8 +15706,8 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Europe/Volgograd */
0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x19, 0xA1, 0xF5, 0x46, 0xDC,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1D, 0xA1, 0xF5, 0x46, 0xDC,
0xAB, 0xD8, 0x86, 0x50, 0xB5, 0xA4, 0x0B, 0x50, 0xF0, 0xB0, 0x4C, 0x40, 0x15, 0x27, 0x99, 0xC0,
0x16, 0x18, 0xCE, 0x30, 0x17, 0x08, 0xCD, 0x40, 0x17, 0xFA, 0x01, 0xB0, 0x18, 0xEA, 0x00, 0xC0,
0x19, 0xDB, 0x35, 0x30, 0x1A, 0xCC, 0x85, 0xC0, 0x1B, 0xBC, 0x92, 0xE0, 0x1C, 0xAC, 0x83, 0xE0,
@@ -15651,21 +15723,23 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x40, 0x66, 0x07, 0x70, 0x41, 0x84, 0x1C, 0xF0, 0x42, 0x45, 0xE9, 0x70, 0x43, 0x63, 0xFE, 0xF0,
0x44, 0x25, 0xCB, 0x70, 0x45, 0x43, 0xE0, 0xF0, 0x46, 0x05, 0xAD, 0x70, 0x47, 0x23, 0xC2, 0xF0,
0x47, 0xEE, 0xC9, 0xF0, 0x49, 0x03, 0xA4, 0xF0, 0x49, 0xCE, 0xAB, 0xF0, 0x4A, 0xE3, 0x86, 0xF0,
-0x4B, 0xAE, 0x8D, 0xF0, 0x4C, 0xCC, 0xA3, 0x70, 0x4D, 0x8E, 0x6F, 0xF0, 0x01, 0x02, 0x03, 0x05,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06,
-0x08, 0x09, 0x08, 0x09, 0x06, 0x08, 0x0A, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08,
-0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08,
-0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x06, 0x00, 0x00, 0x29, 0xA4,
-0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x09, 0x00, 0x00,
-0x38, 0x40, 0x00, 0x09, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40, 0x00, 0x14,
-0x00, 0x00, 0x38, 0x40, 0x00, 0x14, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00, 0x00, 0x38, 0x40,
-0x01, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x14, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x14, 0x4C, 0x4D,
-0x54, 0x00, 0x54, 0x53, 0x41, 0x54, 0x00, 0x53, 0x54, 0x41, 0x54, 0x00, 0x56, 0x4F, 0x4C, 0x53,
-0x54, 0x00, 0x56, 0x4F, 0x4C, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
-0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0xB0,
-0xB5, 0x01, 0x56, 0x6E, 0xC2, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B,
-0x30, 0x30, 0x20, 0x2D, 0x20, 0x43, 0x61, 0x73, 0x70, 0x69, 0x61, 0x6E, 0x20, 0x53, 0x65, 0x61,
-
+0x4B, 0xAE, 0x8D, 0xF0, 0x4C, 0xCC, 0xA3, 0x70, 0x4D, 0x8E, 0x6F, 0xF0, 0x54, 0x4C, 0x1D, 0x60,
+0x01, 0x02, 0x03, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x06, 0x07, 0x06,
+0x07, 0x06, 0x07, 0x06, 0x08, 0x09, 0x08, 0x09, 0x06, 0x0B, 0x0A, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B,
+0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B,
+0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0B, 0x0C, 0x0D,
+0x0C, 0x00, 0x00, 0x29, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x04, 0x00, 0x00, 0x2A,
+0x30, 0x00, 0x09, 0x00, 0x00, 0x38, 0x40, 0x00, 0x09, 0x00, 0x00, 0x46, 0x50, 0x01, 0x0E, 0x00,
+0x00, 0x38, 0x40, 0x00, 0x14, 0x00, 0x00, 0x38, 0x40, 0x00, 0x14, 0x00, 0x00, 0x46, 0x50, 0x01,
+0x0E, 0x00, 0x00, 0x38, 0x40, 0x01, 0x0E, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x14, 0x00, 0x00, 0x2A,
+0x30, 0x00, 0x19, 0x00, 0x00, 0x38, 0x40, 0x01, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x19, 0x00,
+0x00, 0x38, 0x40, 0x00, 0x19, 0x4C, 0x4D, 0x54, 0x00, 0x54, 0x53, 0x41, 0x54, 0x00, 0x53, 0x54,
+0x41, 0x54, 0x00, 0x56, 0x4F, 0x4C, 0x53, 0x54, 0x00, 0x56, 0x4F, 0x4C, 0x54, 0x00, 0x4D, 0x53,
+0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3,
+0xB0, 0xB5, 0x01, 0x56, 0x6E, 0xC2, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77,
+0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x43, 0x61, 0x73, 0x70, 0x69, 0x61, 0x6E, 0x20, 0x53, 0x65,
+0x61,
/* Europe/Warsaw */
0x50, 0x48, 0x50, 0x31, 0x01, 0x50, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -16367,13 +16441,13 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Japan */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xC3, 0xCE, 0x85, 0x70,
+0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0D, 0xC3, 0x55, 0x3B, 0x70,
0xD7, 0x3E, 0x1E, 0x90, 0xD7, 0xEC, 0x16, 0x80, 0xD8, 0xF9, 0x16, 0x90, 0xD9, 0xCB, 0xF8, 0x80,
0xDB, 0x07, 0x1D, 0x10, 0xDB, 0xAB, 0xDA, 0x80, 0xDC, 0xE6, 0xFF, 0x10, 0xDD, 0x8B, 0xBC, 0x80,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x00, 0x00,
-0x00, 0x8C, 0xA0, 0x01, 0x04, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x08, 0x43, 0x4A, 0x54, 0x00, 0x4A,
-0x44, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54,
-0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x8C, 0xA0, 0x01, 0x05, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x09, 0x4A, 0x43, 0x53, 0x54, 0x00,
+0x4A, 0x44, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89,
+0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
/* Kwajalein */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -16772,7 +16846,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* NZ-CHAT */
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, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xE7, 0x8B, 0xC2, 0x04,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xD2, 0xDA, 0x96, 0xBC,
0x09, 0x18, 0xFD, 0xE0, 0x09, 0xAC, 0xA5, 0xE0, 0x0A, 0xEF, 0xA5, 0x60, 0x0B, 0x9E, 0xFC, 0xE0,
0x0C, 0xD8, 0xC1, 0xE0, 0x0D, 0x7E, 0xDE, 0xE0, 0x0E, 0xB8, 0xA3, 0xE0, 0x0F, 0x5E, 0xC0, 0xE0,
0x10, 0x98, 0x85, 0xE0, 0x11, 0x3E, 0xA2, 0xE0, 0x12, 0x78, 0x67, 0xE0, 0x13, 0x1E, 0x84, 0xE0,
@@ -16812,11 +16886,11 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0xAB, 0xFC,
-0x00, 0x00, 0x00, 0x00, 0xC1, 0x5C, 0x01, 0x04, 0x00, 0x00, 0xB3, 0x4C, 0x00, 0x0A, 0x00, 0x00,
-0xB3, 0x4C, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x48, 0x41, 0x44, 0x54, 0x00, 0x43, 0x48,
-0x41, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40,
-0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0xAC, 0x44,
+0x00, 0x00, 0x00, 0x00, 0xC1, 0x5C, 0x01, 0x06, 0x00, 0x00, 0xB3, 0x4C, 0x00, 0x00, 0x00, 0x00,
+0xB3, 0x4C, 0x00, 0x00, 0x43, 0x48, 0x41, 0x53, 0x54, 0x00, 0x43, 0x48, 0x41, 0x44, 0x54, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80,
+0x00, 0x00, 0x00, 0x00,
/* Pacific/Apia */
0x50, 0x48, 0x50, 0x31, 0x01, 0x57, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -16836,13 +16910,13 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x74, 0x20, 0x74, 0x60, 0x75, 0x19, 0x9F, 0xE0, 0x76, 0x00, 0x56, 0x60, 0x76, 0xF9, 0x81, 0xE0,
0x77, 0xE0, 0x38, 0x60, 0x78, 0xD9, 0x63, 0xE0, 0x79, 0xC0, 0x1A, 0x60, 0x7A, 0xB9, 0x45, 0xE0,
0x7B, 0xA9, 0x36, 0xE0, 0x7C, 0xA2, 0x62, 0x60, 0x7D, 0x89, 0x18, 0xE0, 0x7E, 0x82, 0x44, 0x60,
-0x7F, 0x68, 0xFA, 0xE0, 0x01, 0x02, 0x03, 0x02, 0x03, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0xFF, 0xFF,
-0x5F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x5E, 0x48, 0x00, 0x04, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x09,
-0xFF, 0xFF, 0x73, 0x60, 0x01, 0x0D, 0x00, 0x00, 0xC4, 0xE0, 0x01, 0x0D, 0x00, 0x00, 0xB6, 0xD0,
-0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x41, 0x4D, 0x54, 0x00, 0x57, 0x53, 0x54, 0x00, 0x57,
+0x7F, 0x68, 0xFA, 0xE0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0xFF, 0xFF,
+0x5F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x5E, 0x48, 0x00, 0x04, 0xFF, 0xFF, 0x73, 0x60, 0x01, 0x09,
+0xFF, 0xFF, 0x65, 0x50, 0x00, 0x05, 0x00, 0x00, 0xB6, 0xD0, 0x00, 0x04, 0x00, 0x00, 0xC4, 0xE0,
+0x01, 0x0D, 0x4C, 0x4D, 0x54, 0x00, 0x57, 0x53, 0x53, 0x54, 0x00, 0x53, 0x44, 0x54, 0x00, 0x57,
0x53, 0x44, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x74, 0x38, 0x9A, 0x00, 0x0C, 0x9D, 0x2A, 0x00, 0x00, 0x00, 0x00,
@@ -16908,7 +16982,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Pacific/Chatham */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4E, 0x5A, 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, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xE7, 0x8B, 0xC2, 0x04,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xD2, 0xDA, 0x96, 0xBC,
0x09, 0x18, 0xFD, 0xE0, 0x09, 0xAC, 0xA5, 0xE0, 0x0A, 0xEF, 0xA5, 0x60, 0x0B, 0x9E, 0xFC, 0xE0,
0x0C, 0xD8, 0xC1, 0xE0, 0x0D, 0x7E, 0xDE, 0xE0, 0x0E, 0xB8, 0xA3, 0xE0, 0x0F, 0x5E, 0xC0, 0xE0,
0x10, 0x98, 0x85, 0xE0, 0x11, 0x3E, 0xA2, 0xE0, 0x12, 0x78, 0x67, 0xE0, 0x13, 0x1E, 0x84, 0xE0,
@@ -16948,12 +17022,12 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0xAB, 0xFC,
-0x00, 0x00, 0x00, 0x00, 0xC1, 0x5C, 0x01, 0x04, 0x00, 0x00, 0xB3, 0x4C, 0x00, 0x0A, 0x00, 0x00,
-0xB3, 0x4C, 0x00, 0x0A, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x48, 0x41, 0x44, 0x54, 0x00, 0x43, 0x48,
-0x41, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x44, 0x48,
-0x00, 0x05, 0x43, 0xA7, 0x00, 0x00, 0x00, 0x0F, 0x43, 0x68, 0x61, 0x74, 0x68, 0x61, 0x6D, 0x20,
-0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x73,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0xAC, 0x44,
+0x00, 0x00, 0x00, 0x00, 0xC1, 0x5C, 0x01, 0x06, 0x00, 0x00, 0xB3, 0x4C, 0x00, 0x00, 0x00, 0x00,
+0xB3, 0x4C, 0x00, 0x00, 0x43, 0x48, 0x41, 0x53, 0x54, 0x00, 0x43, 0x48, 0x41, 0x44, 0x54, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x44, 0x48, 0x00, 0x05, 0x43, 0xA7,
+0x00, 0x00, 0x00, 0x0F, 0x43, 0x68, 0x61, 0x74, 0x68, 0x61, 0x6D, 0x20, 0x49, 0x73, 0x6C, 0x61,
+0x6E, 0x64, 0x73,
/* Pacific/Chuuk */
0x50, 0x48, 0x50, 0x31, 0x01, 0x46, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -17016,8 +17090,7 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x09, 0x45, 0x4D, 0x54, 0x00, 0x45,
0x41, 0x53, 0x54, 0x00, 0x45, 0x41, 0x53, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01,
0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x5F, 0xE6, 0xC8, 0x00, 0x6B, 0xAD, 0x1A, 0x00, 0x00,
-0x00, 0x1C, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64, 0x20,
-0x26, 0x20, 0x53, 0x61, 0x6C, 0x61, 0x20, 0x79, 0x20, 0x47, 0x6F, 0x6D, 0x65, 0x7A,
+0x00, 0x0D, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x73, 0x6C, 0x61, 0x6E, 0x64,
/* Pacific/Efate */
0x50, 0x48, 0x50, 0x31, 0x01, 0x56, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -17235,14 +17308,13 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Pacific/Pago_Pago */
0x50, 0x48, 0x50, 0x31, 0x01, 0x41, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0x91, 0x05, 0xFB, 0x08,
-0xDA, 0x62, 0x04, 0x38, 0xFA, 0xD2, 0x55, 0xB0, 0x1A, 0x2B, 0x30, 0x30, 0x01, 0x02, 0x03, 0x04,
-0xFF, 0xFF, 0x5F, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0x5E, 0x48, 0x00, 0x04, 0xFF, 0xFF, 0x65, 0x50,
-0x00, 0x09, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x0D, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x11, 0x4C, 0x4D,
-0x54, 0x00, 0x53, 0x41, 0x4D, 0x54, 0x00, 0x4E, 0x53, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x53,
-0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x8F,
-0x55, 0x00, 0x0E, 0x30, 0xD0, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x91, 0x05, 0xFB, 0x08,
+0xFA, 0xD2, 0x55, 0xB0, 0x1A, 0x2B, 0x30, 0x30, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0x5F, 0xF8, 0x00,
+0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x08, 0xFF, 0xFF, 0x65,
+0x50, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x53, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x53,
+0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x8F, 0x55, 0x00,
+0x0E, 0x30, 0xD0, 0x00, 0x00, 0x00, 0x00,
/* Pacific/Palau */
0x50, 0x48, 0x50, 0x31, 0x01, 0x50, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -17308,14 +17380,13 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Pacific/Samoa */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0x91, 0x05, 0xFB, 0x08,
-0xDA, 0x62, 0x04, 0x38, 0xFA, 0xD2, 0x55, 0xB0, 0x1A, 0x2B, 0x30, 0x30, 0x01, 0x02, 0x03, 0x04,
-0xFF, 0xFF, 0x5F, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0x5E, 0x48, 0x00, 0x04, 0xFF, 0xFF, 0x65, 0x50,
-0x00, 0x09, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x0D, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x11, 0x4C, 0x4D,
-0x54, 0x00, 0x53, 0x41, 0x4D, 0x54, 0x00, 0x4E, 0x53, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x53,
-0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54,
-0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x91, 0x05, 0xFB, 0x08,
+0xFA, 0xD2, 0x55, 0xB0, 0x1A, 0x2B, 0x30, 0x30, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0x5F, 0xF8, 0x00,
+0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x08, 0xFF, 0xFF, 0x65,
+0x50, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x53, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x53,
+0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01,
+0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
/* Pacific/Tahiti */
0x50, 0x48, 0x50, 0x31, 0x01, 0x50, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -17523,17 +17594,16 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* PRC */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xB0, 0xFE, 0x9A, 0x9B,
-0xC8, 0x5C, 0x01, 0x80, 0xC8, 0xFA, 0x27, 0x70, 0xC9, 0xD5, 0x0E, 0x80, 0xCA, 0xDB, 0x5A, 0xF0,
-0x1E, 0xBA, 0x36, 0x00, 0x1F, 0x69, 0x7F, 0x70, 0x20, 0x7E, 0x68, 0x80, 0x21, 0x49, 0x61, 0x70,
-0x22, 0x5E, 0x4A, 0x80, 0x23, 0x29, 0x43, 0x70, 0x24, 0x47, 0x67, 0x00, 0x25, 0x12, 0x5F, 0xF0,
-0x26, 0x27, 0x49, 0x00, 0x26, 0xF2, 0x41, 0xF0, 0x28, 0x07, 0x2B, 0x00, 0x28, 0xD2, 0x23, 0xF0,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x00, 0x00, 0x71, 0xE5, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x04, 0x00, 0x00, 0x70,
-0x80, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00,
-0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xC8, 0x5C, 0x01, 0x80,
+0xC8, 0xFA, 0x27, 0x70, 0xC9, 0xD5, 0x0E, 0x80, 0xCA, 0xDB, 0x5A, 0xF0, 0x1E, 0xBA, 0x36, 0x00,
+0x1F, 0x69, 0x7F, 0x70, 0x20, 0x7E, 0x68, 0x80, 0x21, 0x49, 0x61, 0x70, 0x22, 0x5E, 0x4A, 0x80,
+0x23, 0x29, 0x43, 0x70, 0x24, 0x47, 0x67, 0x00, 0x25, 0x12, 0x5F, 0xF0, 0x26, 0x27, 0x49, 0x00,
+0x26, 0xF2, 0x41, 0xF0, 0x28, 0x07, 0x2B, 0x00, 0x28, 0xD2, 0x23, 0xF0, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x7E, 0x90,
+0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+
/* PST8PDT */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -17593,10 +17663,10 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* ROC */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0xD1, 0x97, 0xD3, 0x00,
-0xD2, 0x61, 0x7A, 0x70, 0xD3, 0x79, 0x06, 0x80, 0xD4, 0x42, 0xAD, 0xF0, 0xD5, 0x5A, 0x3A, 0x00,
-0xD6, 0x23, 0xE1, 0x70, 0xD7, 0x3C, 0xBF, 0x00, 0xD8, 0x06, 0x66, 0x70, 0xD9, 0x1D, 0xF2, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0xC3, 0x55, 0x49, 0x80,
+0xD2, 0x54, 0x59, 0x80, 0xD3, 0x8B, 0x7B, 0x80, 0xD4, 0x42, 0xAD, 0xF0, 0xD5, 0x45, 0x22, 0x00,
+0xD6, 0x4C, 0xBF, 0xF0, 0xD7, 0x3C, 0xBF, 0x00, 0xD8, 0x06, 0x66, 0x70, 0xD9, 0x1D, 0xF2, 0x80,
0xD9, 0xE7, 0x99, 0xF0, 0xDA, 0xFF, 0x26, 0x00, 0xDB, 0xC8, 0xCD, 0x70, 0xDC, 0xE0, 0x59, 0x80,
0xDD, 0xAA, 0x00, 0xF0, 0xDE, 0x72, 0x73, 0x00, 0xDF, 0xB5, 0x64, 0x70, 0xE0, 0x7C, 0x85, 0x00,
0xE1, 0x96, 0x97, 0xF0, 0xE2, 0x5D, 0xB8, 0x80, 0xE3, 0x77, 0xCB, 0x70, 0xE4, 0x3E, 0xEC, 0x00,
@@ -17604,25 +17674,29 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0xE8, 0xF3, 0xD8, 0xF0, 0xE9, 0xE3, 0xD8, 0x00, 0xEA, 0xD5, 0x0C, 0x70, 0xEB, 0xC5, 0x0B, 0x80,
0xEC, 0xB6, 0x3F, 0xF0, 0xED, 0xF7, 0xFC, 0x00, 0xEE, 0x98, 0xC4, 0xF0, 0xEF, 0xD9, 0x2F, 0x80,
0xF0, 0x79, 0xF8, 0x70, 0x07, 0xFC, 0x56, 0x00, 0x08, 0xED, 0x8A, 0x70, 0x09, 0xDD, 0x89, 0x80,
-0x0A, 0xCE, 0xBD, 0xF0, 0x11, 0xDA, 0x50, 0x00, 0x12, 0x53, 0x8B, 0xF0, 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, 0x00, 0x7E, 0x90, 0x01, 0x00, 0x00, 0x00, 0x70, 0x80, 0x00, 0x04,
-0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40,
-0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x0A, 0xCE, 0xBD, 0xF0, 0x11, 0xDB, 0xA1, 0x80, 0x12, 0x54, 0xDD, 0x70, 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, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x05,
+0x00, 0x00, 0x7E, 0x90, 0x01, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x4A, 0x57, 0x53, 0x54,
+0x00, 0x4A, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00,
+0x00,
/* ROK */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x85, 0x93, 0x7E, 0x78,
-0xB0, 0xFE, 0x8D, 0xF0, 0xB8, 0x84, 0xB4, 0x78, 0xE2, 0x4F, 0x29, 0xF0, 0xED, 0xE1, 0x92, 0x80,
-0xEE, 0x81, 0x09, 0xF0, 0xF0, 0x35, 0x78, 0x80, 0xFD, 0xA5, 0x0A, 0xF8, 0x20, 0xA3, 0x44, 0x70,
-0x21, 0x6E, 0x3D, 0x60, 0x22, 0x83, 0x26, 0x70, 0x23, 0x4E, 0x1F, 0x60, 0x01, 0x00, 0x01, 0x03,
-0x02, 0x03, 0x00, 0x01, 0x04, 0x01, 0x04, 0x01, 0x00, 0x00, 0x77, 0x88, 0x00, 0x00, 0x00, 0x00,
-0x7E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x04, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00,
-0x00, 0x00, 0x8C, 0xA0, 0x01, 0x04, 0x4B, 0x53, 0x54, 0x00, 0x4B, 0x44, 0x54, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80,
-0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x85, 0x93, 0x7E, 0x78,
+0xB0, 0xFE, 0x8D, 0xF0, 0xB8, 0x84, 0xB4, 0x78, 0xC3, 0x55, 0x3B, 0x70, 0xD2, 0x43, 0x27, 0xF0,
+0xE2, 0x4F, 0x29, 0xF0, 0xED, 0xE1, 0x92, 0x80, 0xEE, 0x81, 0x09, 0xF0, 0xF0, 0x35, 0x78, 0x80,
+0xFD, 0xA5, 0x0A, 0xF8, 0x20, 0xA3, 0x44, 0x70, 0x21, 0x6E, 0x3D, 0x60, 0x22, 0x83, 0x26, 0x70,
+0x23, 0x4E, 0x1F, 0x60, 0x01, 0x00, 0x01, 0x02, 0x03, 0x05, 0x04, 0x05, 0x00, 0x03, 0x06, 0x03,
+0x06, 0x03, 0x00, 0x00, 0x77, 0x88, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00,
+0x7E, 0x90, 0x00, 0x09, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x01, 0x0D,
+0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xA0, 0x01, 0x0D, 0x4B, 0x53, 0x54, 0x00,
+0x4A, 0x43, 0x53, 0x54, 0x00, 0x4A, 0x53, 0x54, 0x00, 0x4B, 0x44, 0x54, 0x00, 0x00, 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,
/* Singapore */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -18364,14 +18438,13 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* US/Samoa */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0x91, 0x05, 0xFB, 0x08,
-0xDA, 0x62, 0x04, 0x38, 0xFA, 0xD2, 0x55, 0xB0, 0x1A, 0x2B, 0x30, 0x30, 0x01, 0x02, 0x03, 0x04,
-0xFF, 0xFF, 0x5F, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0x5E, 0x48, 0x00, 0x04, 0xFF, 0xFF, 0x65, 0x50,
-0x00, 0x09, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x0D, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x11, 0x4C, 0x4D,
-0x54, 0x00, 0x53, 0x41, 0x4D, 0x54, 0x00, 0x4E, 0x53, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x53,
-0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54,
-0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x91, 0x05, 0xFB, 0x08,
+0xFA, 0xD2, 0x55, 0xB0, 0x1A, 0x2B, 0x30, 0x30, 0x01, 0x02, 0x03, 0xFF, 0xFF, 0x5F, 0xF8, 0x00,
+0x00, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x04, 0xFF, 0xFF, 0x65, 0x50, 0x00, 0x08, 0xFF, 0xFF, 0x65,
+0x50, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4E, 0x53, 0x54, 0x00, 0x42, 0x53, 0x54, 0x00, 0x53,
+0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01,
+0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
/* UTC */
0x50, 0x48, 0x50, 0x31, 0x01, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -18429,9 +18502,9 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* 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, 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,
+0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x22, 0x9B, 0x5F, 0x1E, 0xC7,
+0x9D, 0x3E, 0xF2, 0x79, 0x9E, 0x2A, 0xEE, 0xF9, 0x9E, 0xF7, 0x39, 0x69, 0x9F, 0x84, 0x57, 0xF9,
+0xA0, 0xD8, 0x6C, 0xE9, 0xA1, 0x00, 0x16, 0x09, 0xA1, 0x3C, 0xA6, 0x40, 0xA4, 0x10, 0x6D, 0xC0,
0xA4, 0x3D, 0x32, 0xB0, 0xA5, 0x15, 0x68, 0xB0, 0xA5, 0x3D, 0x03, 0xC0, 0xA7, 0x1E, 0x45, 0x50,
0xB5, 0xA4, 0x19, 0x60, 0x15, 0x27, 0xA7, 0xD0, 0x16, 0x18, 0xDC, 0x40, 0x17, 0x08, 0xDB, 0x50,
0x17, 0xFA, 0x0F, 0xC0, 0x18, 0xEA, 0x0E, 0xD0, 0x19, 0xDB, 0x43, 0x40, 0x1A, 0xCC, 0x93, 0xD0,
@@ -18448,21 +18521,22 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
0x40, 0x66, 0x07, 0x70, 0x41, 0x84, 0x1C, 0xF0, 0x42, 0x45, 0xE9, 0x70, 0x43, 0x63, 0xFE, 0xF0,
0x44, 0x25, 0xCB, 0x70, 0x45, 0x43, 0xE0, 0xF0, 0x46, 0x05, 0xAD, 0x70, 0x47, 0x23, 0xC2, 0xF0,
0x47, 0xEE, 0xC9, 0xF0, 0x49, 0x03, 0xA4, 0xF0, 0x49, 0xCE, 0xAB, 0xF0, 0x4A, 0xE3, 0x86, 0xF0,
-0x4B, 0xAE, 0x8D, 0xF0, 0x4C, 0xCC, 0xA3, 0x70, 0x4D, 0x8E, 0x6F, 0xF0, 0x02, 0x01, 0x02, 0x03,
-0x01, 0x03, 0x05, 0x04, 0x05, 0x06, 0x05, 0x04, 0x07, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0A, 0x0B,
-0x08, 0x05, 0x04, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09,
+0x4B, 0xAE, 0x8D, 0xF0, 0x4C, 0xCC, 0xA3, 0x70, 0x4D, 0x8E, 0x6F, 0xF0, 0x54, 0x4C, 0x1D, 0x60,
+0x02, 0x01, 0x02, 0x03, 0x01, 0x03, 0x05, 0x04, 0x05, 0x06, 0x05, 0x04, 0x07, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08,
+0x09, 0x08, 0x0A, 0x0B, 0x08, 0x05, 0x04, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09,
0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09,
-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, 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, 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,
+0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0C, 0x08, 0x00, 0x00, 0x23,
+0x39, 0x00, 0x00, 0x00, 0x00, 0x31, 0x87, 0x01, 0x04, 0x00, 0x00, 0x23, 0x77, 0x00, 0x00, 0x00,
+0x00, 0x3F, 0x97, 0x01, 0x08, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, 0x38, 0x40, 0x01,
+0x11, 0x00, 0x00, 0x46, 0x50, 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,
+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 +18545,4 @@ const unsigned char timelib_timezone_db_data_builtin[262465] = {
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.5", 580, timezonedb_idx_builtin, timelib_timezone_db_data_builtin };
+const timelib_tzdb timezonedb_builtin = { "2014.6", 582, timezonedb_idx_builtin, timelib_timezone_db_data_builtin };
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index 78251383e1..6cea2af048 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -2147,8 +2147,6 @@ static zend_object *date_object_clone_date(zval *this_ptr TSRMLS_DC) /* {{{ */
static void date_clone_immutable(zval *object, zval *new_object TSRMLS_DC) /* {{{ */
{
ZVAL_OBJ(new_object, date_object_clone_date(object TSRMLS_CC));
-//??? Z_SET_REFCOUNT_P(new_object, 1);
-//??? Z_SET_ISREF_P(new_object);
} /* }}} */
static int date_object_compare_date(zval *d1, zval *d2 TSRMLS_DC) /* {{{ */
@@ -2416,7 +2414,7 @@ static inline zend_object *date_object_new_period_ex(zend_class_entry *class_typ
if (init_props) {
object_properties_init(&intern->std, class_type);
}
-//??? date_object_free_storage_period, NULL TSRMLS_CC);
+
intern->std.handlers = &date_object_handlers_period;
return &intern->std;
@@ -2598,16 +2596,18 @@ PHP_FUNCTION(date_create)
zval *timezone_object = NULL;
char *time_str = NULL;
int time_str_len = 0;
+ zval datetime_object;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO!", &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
RETURN_FALSE;
}
- php_date_instantiate(date_ce_date, return_value TSRMLS_CC);
- if (!php_date_initialize(Z_PHPDATE_P(return_value), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
- zval_dtor(return_value);
+ php_date_instantiate(date_ce_date, &datetime_object TSRMLS_CC);
+ if (!php_date_initialize(Z_PHPDATE_P(&datetime_object), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
+ zval_dtor(&datetime_object);
RETURN_FALSE;
}
+ RETVAL_ZVAL(&datetime_object, 0, 0);
}
/* }}} */
@@ -2619,16 +2619,18 @@ PHP_FUNCTION(date_create_immutable)
zval *timezone_object = NULL;
char *time_str = NULL;
int time_str_len = 0;
+ zval datetime_object;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sO!", &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
RETURN_FALSE;
}
- php_date_instantiate(date_ce_immutable, return_value TSRMLS_CC);
- if (!php_date_initialize(Z_PHPDATE_P(return_value), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
- zval_dtor(return_value);
+ php_date_instantiate(date_ce_immutable, &datetime_object TSRMLS_CC);
+ if (!php_date_initialize(Z_PHPDATE_P(&datetime_object), time_str, time_str_len, NULL, timezone_object, 0 TSRMLS_CC)) {
+ zval_dtor(&datetime_object);
RETURN_FALSE;
}
+ RETVAL_ZVAL(&datetime_object, 0, 0);
}
/* }}} */
@@ -2640,16 +2642,18 @@ PHP_FUNCTION(date_create_from_format)
zval *timezone_object = NULL;
char *time_str = NULL, *format_str = NULL;
int time_str_len = 0, format_str_len = 0;
+ zval datetime_object;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|O", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
RETURN_FALSE;
}
- php_date_instantiate(date_ce_date, return_value TSRMLS_CC);
- if (!php_date_initialize(Z_PHPDATE_P(return_value), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
- zval_dtor(return_value);
+ php_date_instantiate(date_ce_date, &datetime_object TSRMLS_CC);
+ if (!php_date_initialize(Z_PHPDATE_P(&datetime_object), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
+ zval_dtor(&datetime_object);
RETURN_FALSE;
}
+ RETVAL_ZVAL(&datetime_object, 0, 0);
}
/* }}} */
@@ -2661,16 +2665,18 @@ PHP_FUNCTION(date_create_immutable_from_format)
zval *timezone_object = NULL;
char *time_str = NULL, *format_str = NULL;
int time_str_len = 0, format_str_len = 0;
+ zval datetime_object;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|O", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
RETURN_FALSE;
}
- php_date_instantiate(date_ce_immutable, return_value TSRMLS_CC);
- if (!php_date_initialize(Z_PHPDATE_P(return_value), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
- zval_dtor(return_value);
+ php_date_instantiate(date_ce_immutable, &datetime_object TSRMLS_CC);
+ if (!php_date_initialize(Z_PHPDATE_P(&datetime_object), time_str, time_str_len, format_str, timezone_object, 0 TSRMLS_CC)) {
+ zval_dtor(&datetime_object);
RETURN_FALSE;
}
+ RETVAL_ZVAL(&datetime_object, 0, 0);
}
/* }}} */
@@ -2740,7 +2746,7 @@ PHP_METHOD(DateTimeImmutable, createFromMutable)
}
/* }}} */
-static int php_date_initialize_from_hash(zval *return_value, php_date_obj **dateobj, HashTable *myht TSRMLS_DC) /* {{{ */
+static int php_date_initialize_from_hash(php_date_obj **dateobj, HashTable *myht TSRMLS_DC)
{
zval *z_date;
zval *z_timezone;
@@ -2812,7 +2818,7 @@ PHP_METHOD(DateTime, __set_state)
php_date_instantiate(date_ce_date, return_value TSRMLS_CC);
dateobj = Z_PHPDATE_P(return_value);
- if (!php_date_initialize_from_hash(return_value, &dateobj, myht TSRMLS_CC)) {
+ if (!php_date_initialize_from_hash(&dateobj, myht TSRMLS_CC)) {
php_error(E_ERROR, "Invalid serialization data for DateTime object");
}
}
@@ -2834,7 +2840,7 @@ PHP_METHOD(DateTimeImmutable, __set_state)
php_date_instantiate(date_ce_immutable, return_value TSRMLS_CC);
dateobj = Z_PHPDATE_P(return_value);
- if (!php_date_initialize_from_hash(return_value, &dateobj, myht TSRMLS_CC)) {
+ if (!php_date_initialize_from_hash(&dateobj, myht TSRMLS_CC)) {
php_error(E_ERROR, "Invalid serialization data for DateTimeImmutable object");
}
}
@@ -2852,7 +2858,7 @@ PHP_METHOD(DateTime, __wakeup)
myht = Z_OBJPROP_P(object);
- if (!php_date_initialize_from_hash(return_value, &dateobj, myht TSRMLS_CC)) {
+ if (!php_date_initialize_from_hash(&dateobj, myht TSRMLS_CC)) {
php_error(E_ERROR, "Invalid serialization data for DateTime object");
}
}
@@ -3672,7 +3678,7 @@ PHP_METHOD(DateTimeZone, __construct)
if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &tz, &tz_len)) {
tzobj = Z_PHPTIMEZONE_P(getThis());
if (FAILURE == timezone_initialize(tzobj, tz TSRMLS_CC)) {
-//??? ZVAL_NULL(getThis());
+ ZEND_CTOR_MAKE_NULL();
}
}
zend_restore_error_handling(&error_handling TSRMLS_CC);
@@ -4096,8 +4102,8 @@ PHP_METHOD(DateInterval, __construct)
diobj = Z_PHPINTERVAL_P(getThis());
diobj->diff = reltime;
diobj->initialized = 1;
-//??? } else {
-//??? ZVAL_NULL(getThis());
+ } else {
+ ZEND_CTOR_MAKE_NULL();
}
}
zend_restore_error_handling(&error_handling TSRMLS_CC);
@@ -4556,7 +4562,7 @@ static void php_do_date_sunrise_sunset(INTERNAL_FUNCTION_PARAMETERS, int calc_su
int rs;
timelib_time *t;
timelib_tzinfo *tzi;
- char *retstr;
+ zend_string *retstr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l|ldddd", &time, &retformat, &latitude, &longitude, &zenith, &gmt_offset) == FAILURE) {
RETURN_FALSE;
@@ -4621,11 +4627,8 @@ static void php_do_date_sunrise_sunset(INTERNAL_FUNCTION_PARAMETERS, int calc_su
switch (retformat) {
case SUNFUNCS_RET_STRING:
- spprintf(&retstr, 0, "%02d:%02d", (int) N, (int) (60 * (N - (int) N)));
- // TODO: avoid reallocation ???
- RETVAL_STRINGL(retstr, 5);
- efree(retstr);
- return;
+ retstr = strpprintf(0, "%02d:%02d", (int) N, (int) (60 * (N - (int) N)));
+ RETURN_STR(retstr);
break;
case SUNFUNCS_RET_DOUBLE:
RETURN_DOUBLE(N);
diff --git a/ext/date/tests/bug20382-2.phpt b/ext/date/tests/bug20382-2.phpt
index 5e075686e3..cc2d967895 100644
--- a/ext/date/tests/bug20382-2.phpt
+++ b/ext/date/tests/bug20382-2.phpt
@@ -95,18 +95,18 @@ result = Monday 2037-10-05 00:00:00 NZDT
wanted = Monday 00:00:00
Australia/Adelaide
-ts = Friday 1971-01-01 17:17:17 CST
-result = Monday 1971-01-04 00:00:00 CST
+ts = Friday 1971-01-01 17:17:17 ACST
+result = Monday 1971-01-04 00:00:00 ACST
wanted = Monday 00:00:00
Australia/Darwin
-ts = Monday 1971-03-29 17:17:17 CST
-result = Monday 1971-04-05 00:00:00 CST
+ts = Monday 1971-03-29 17:17:17 ACST
+result = Monday 1971-04-05 00:00:00 ACST
wanted = Monday 00:00:00
Australia/Perth
-ts = Friday 1971-01-01 17:17:17 WST
-result = Monday 1971-01-04 00:00:00 WST
+ts = Friday 1971-01-01 17:17:17 AWST
+result = Monday 1971-01-04 00:00:00 AWST
wanted = Monday 00:00:00
America/Aruba
diff --git a/ext/date/tests/bug33415-2.phpt b/ext/date/tests/bug33415-2.phpt
index 424be76fc4..c284f2503e 100644
--- a/ext/date/tests/bug33415-2.phpt
+++ b/ext/date/tests/bug33415-2.phpt
@@ -233,8 +233,8 @@ result=Saturday 1970-01-03 00:00:00 CAT 0
wanted=Saturday 00:00:00
TZ=Asia/Kashgar - Is it OK for this to be 3 AM? yes
-tStamp=Thursday 1980-04-24 17:17:17 KAST 0
-result=Thursday 1980-05-01 03:00:00 CST 0
+tStamp=Thursday 1980-04-24 17:17:17 XJT 0
+result=Thursday 1980-05-01 00:00:00 XJT 0
wanted=Thursday 03:00:00
TZ=Indian/Christmas - Is it OK for this to be 7 AM? Note: does
diff --git a/ext/date/tests/bug33532.phpt b/ext/date/tests/bug33532.phpt
index 148630855d..5323e8c8db 100644
--- a/ext/date/tests/bug33532.phpt
+++ b/ext/date/tests/bug33532.phpt
@@ -39,5 +39,5 @@ datestr 10:00:00 AM July 1 2005 UTC
Setting TZ
input 10:00:00 AM July 1 2005
-strftime 10:00:00 AM July 1 2005 EST +1000
-datestr 10:00:00 AM July 1 2005 EST
+strftime 10:00:00 AM July 1 2005 AEST +1000
+datestr 10:00:00 AM July 1 2005 AEST
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/cdf.c b/ext/fileinfo/libmagic/cdf.c
index ad285cfe18..c86763faa0 100644
--- a/ext/fileinfo/libmagic/cdf.c
+++ b/ext/fileinfo/libmagic/cdf.c
@@ -823,7 +823,7 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h,
q = (const uint8_t *)(const void *)
((const char *)(const void *)p + ofs
- 2 * sizeof(uint32_t));
- if (q > e) {
+ if (q < p || q > e) {
DPRINTF(("Ran of the end %p > %p\n", q, e));
goto out;
}
diff --git a/ext/fileinfo/libmagic/softmagic.c b/ext/fileinfo/libmagic/softmagic.c
index 9432d55f21..ef0cbb3891 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 *);
@@ -1041,7 +1041,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
@@ -1061,15 +1061,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 *,
@@ -1082,7 +1091,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;
@@ -1153,7 +1162,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;
@@ -1165,13 +1173,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));
}
@@ -1664,7 +1671,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;
@@ -2092,7 +2099,9 @@ magiccheck(struct magic_set *ms, struct magic *m)
zval subpats;
char *haystack;
+ ZVAL_NULL(&retval);
ZVAL_NULL(&subpats);
+
/* Cut the search len from haystack, equals to REG_STARTEND */
haystack = estrndup(ms->search.s, ms->search.s_len);
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/ftp/ftp.c b/ext/ftp/ftp.c
index a6b1c7ad5e..30f8e1d1bb 100644
--- a/ext/ftp/ftp.c
+++ b/ext/ftp/ftp.c
@@ -136,7 +136,7 @@ ftp_open(const char *host, short port, long timeout_sec TSRMLS_DC)
ftp->fd = php_network_connect_socket_to_host(host,
(unsigned short) (port ? port : 21), SOCK_STREAM,
- 0, &tv, NULL, NULL, NULL, 0 TSRMLS_CC);
+ 0, &tv, NULL, NULL, NULL, 0, STREAM_SOCKOP_NONE TSRMLS_CC);
if (ftp->fd == -1) {
goto bail;
}
diff --git a/ext/gd/libgd/gdxpm.c b/ext/gd/libgd/gdxpm.c
index 73f86e5df7..b69414e60d 100644
--- a/ext/gd/libgd/gdxpm.c
+++ b/ext/gd/libgd/gdxpm.c
@@ -31,12 +31,17 @@ gdImagePtr gdImageCreateFromXpm (char *filename)
if (ret != XpmSuccess) {
return 0;
}
+ number = image.ncolors;
+ for(i = 0; i < number; i++) {
+ if (!image.colorTable[i].c_color) {
+ goto done;
+ }
+ }
if (!(im = gdImageCreate(image.width, image.height))) {
goto done;
}
- number = image.ncolors;
colors = (int *) safe_emalloc(number, sizeof(int), 0);
for (i = 0; i < number; i++) {
switch (strlen (image.colorTable[i].c_color)) {
diff --git a/ext/hash/hash_md.c b/ext/hash/hash_md.c
index f13f594452..ebd357d2f7 100644
--- a/ext/hash/hash_md.c
+++ b/ext/hash/hash_md.c
@@ -121,10 +121,10 @@ PHP_NAMED_FUNCTION(php_if_md5)
PHP_MD5Update(&context, arg, arg_len);
PHP_MD5Final(digest, &context);
if (raw_output) {
- RETURN_STRINGL(digest, 16, 1);
+ RETURN_STRINGL(digest, 16);
} else {
make_digest(md5str, digest);
- RETVAL_STRING(md5str, 1);
+ RETVAL_STRING(md5str);
}
}
@@ -168,10 +168,10 @@ PHP_NAMED_FUNCTION(php_if_md5_file)
}
if (raw_output) {
- RETURN_STRINGL(digest, 16, 1);
+ RETURN_STRINGL(digest, 16);
} else {
make_digest(md5str, digest);
- RETVAL_STRING(md5str, 1);
+ RETVAL_STRING(md5str);
}
}
/* }}} */
diff --git a/ext/hash/hash_sha.c b/ext/hash/hash_sha.c
index a784c102d7..f39567e6dd 100644
--- a/ext/hash/hash_sha.c
+++ b/ext/hash/hash_sha.c
@@ -104,10 +104,10 @@ PHP_FUNCTION(sha1)
PHP_SHA1Update(&context, arg, arg_len);
PHP_SHA1Final(digest, &context);
if (raw_output) {
- RETURN_STRINGL(digest, 20, 1);
+ RETURN_STRINGL(digest, 20);
} else {
make_sha1_digest(sha1str, digest);
- RETVAL_STRING(sha1str, 1);
+ RETVAL_STRING(sha1str);
}
}
@@ -152,10 +152,10 @@ PHP_FUNCTION(sha1_file)
}
if (raw_output) {
- RETURN_STRINGL(digest, 20, 1);
+ RETURN_STRINGL(digest, 20);
} else {
make_sha1_digest(sha1str, digest);
- RETVAL_STRING(sha1str, 1);
+ RETVAL_STRING(sha1str);
}
}
/* }}} */
diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c
index fddcad5730..09295a87f3 100644
--- a/ext/imap/php_imap.c
+++ b/ext/imap/php_imap.c
@@ -76,8 +76,8 @@ MAILSTREAM DEFAULTPROTO;
static void _php_make_header_object(zval *myzvalue, ENVELOPE *en TSRMLS_DC);
static void _php_imap_add_body(zval *arg, BODY *body TSRMLS_DC);
-static char* _php_imap_parse_address(ADDRESS *addresslist, zval *paddress TSRMLS_DC);
-static char* _php_rfc822_write_address(ADDRESS *addresslist TSRMLS_DC);
+static zend_string* _php_imap_parse_address(ADDRESS *addresslist, zval *paddress TSRMLS_DC);
+static zend_string* _php_rfc822_write_address(ADDRESS *addresslist TSRMLS_DC);
/* the gets we use */
static char *php_mail_gets(readfn_t f, void *stream, unsigned long size, GETS_DATA *md);
@@ -1482,7 +1482,7 @@ PHP_FUNCTION(imap_set_quota)
ZEND_FETCH_RESOURCE(imap_le_struct, pils *, streamind, -1, "imap", le_imap);
- limits.text.data = "STORAGE";
+ limits.text.data = (unsigned char*)"STORAGE";
limits.text.size = mailbox_size;
limits.next = NIL;
@@ -1864,7 +1864,7 @@ PHP_FUNCTION(imap_list)
array_init(return_value);
cur=IMAPG(imap_folders);
while (cur != NIL) {
- add_next_index_string(return_value, cur->LTEXT);
+ add_next_index_string(return_value, (char*)cur->LTEXT);
cur=cur->next;
}
mail_free_stringlist (&IMAPG(imap_folders));
@@ -1905,7 +1905,7 @@ PHP_FUNCTION(imap_list_full)
cur=IMAPG(imap_folder_objects);
while (cur != NIL) {
object_init(&mboxob);
- add_property_string(&mboxob, "name", cur->LTEXT);
+ add_property_string(&mboxob, "name", (char*)cur->LTEXT);
add_property_long(&mboxob, "attributes", cur->attributes);
#ifdef IMAP41
delim[0] = (char)cur->delimiter;
@@ -1948,7 +1948,7 @@ PHP_FUNCTION(imap_listscan)
array_init(return_value);
cur=IMAPG(imap_folders);
while (cur != NIL) {
- add_next_index_string(return_value, cur->LTEXT);
+ add_next_index_string(return_value, (char*)cur->LTEXT);
cur=cur->next;
}
mail_free_stringlist (&IMAPG(imap_folders));
@@ -2170,7 +2170,7 @@ PHP_FUNCTION(imap_lsub)
array_init(return_value);
cur=IMAPG(imap_sfolders);
while (cur != NIL) {
- add_next_index_string(return_value, cur->LTEXT);
+ add_next_index_string(return_value, (char*)cur->LTEXT);
cur=cur->next;
}
mail_free_stringlist (&IMAPG(imap_sfolders));
@@ -2210,7 +2210,7 @@ PHP_FUNCTION(imap_lsub_full)
cur=IMAPG(imap_sfolder_objects);
while (cur != NIL) {
object_init(&mboxob);
- add_property_string(&mboxob, "name", cur->LTEXT);
+ add_property_string(&mboxob, "name", (char*)cur->LTEXT);
add_property_long(&mboxob, "attributes", cur->attributes);
#ifdef IMAP41
delim[0] = (char)cur->delimiter;
@@ -2535,7 +2535,7 @@ PHP_FUNCTION(imap_binary)
return;
}
- decode = rfc822_binary(text, text_len, &newlength);
+ decode = (char*)rfc822_binary(text, text_len, &newlength);
if (decode == NULL) {
RETURN_FALSE;
@@ -2600,7 +2600,7 @@ PHP_FUNCTION(imap_rfc822_write_address)
char *mailbox, *host, *personal;
int mailbox_len, host_len, personal_len;
ADDRESS *addr;
- char *string;
+ zend_string *string;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss", &mailbox, &mailbox_len, &host, &host_len, &personal, &personal_len) == FAILURE) {
return;
@@ -2626,8 +2626,7 @@ PHP_FUNCTION(imap_rfc822_write_address)
string = _php_rfc822_write_address(addr TSRMLS_CC);
if (string) {
- RETVAL_STRING(string);
- efree(string);
+ RETVAL_STR(string);
} else {
RETURN_FALSE;
}
@@ -2704,7 +2703,7 @@ PHP_FUNCTION(imap_utf8)
#else
utf8_mime2text(&src, &dest, U8T_DECOMPOSE);
#endif
- RETVAL_STRINGL(dest.data, dest.size);
+ RETVAL_STRINGL((char*)dest.data, dest.size);
if (dest.data) {
free(dest.data);
}
@@ -2869,7 +2868,7 @@ PHP_FUNCTION(imap_utf7_decode)
}
#endif
- RETURN_STRINGL(out, outlen);
+ RETURN_STRINGL((char*)out, outlen);
}
/* }}} */
@@ -2933,7 +2932,7 @@ PHP_FUNCTION(imap_utf7_encode)
out = STR_ALLOC(outlen, 0);
/* encode input string */
- outp = out->val;
+ outp = (unsigned char*)out->val;
state = ST_NORMAL;
endp = (inp = in) + inlen;
while (inp < endp || state != ST_NORMAL) {
@@ -3283,7 +3282,7 @@ PHP_FUNCTION(imap_bodystruct)
object_init(return_value);
- body=mail_body(imap_le_struct->imap_stream, msg, section);
+ body=mail_body(imap_le_struct->imap_stream, msg, (unsigned char*)section);
if (body == NULL) {
zval_dtor(return_value);
RETURN_FALSE;
@@ -3378,7 +3377,7 @@ PHP_FUNCTION(imap_fetch_overview)
int sequence_len;
pils *imap_le_struct;
zval myoverview;
- char *address;
+ zend_string *address;
long status, flags = 0L;
int argc = ZEND_NUM_ARGS();
@@ -3396,8 +3395,8 @@ PHP_FUNCTION(imap_fetch_overview)
array_init(return_value);
status = (flags & FT_UID)
- ? mail_uid_sequence(imap_le_struct->imap_stream, sequence)
- : mail_sequence(imap_le_struct->imap_stream, sequence);
+ ? mail_uid_sequence(imap_le_struct->imap_stream, (unsigned char*)sequence)
+ : mail_sequence(imap_le_struct->imap_stream, (unsigned char*)sequence);
if (status) {
MESSAGECACHE *elt;
@@ -3415,22 +3414,18 @@ PHP_FUNCTION(imap_fetch_overview)
env->from->next=NULL;
address =_php_rfc822_write_address(env->from TSRMLS_CC);
if (address) {
- // TODO: avoid reallocation ???
- add_property_string(&myoverview, "from", address);
- efree(address);
+ add_property_str(&myoverview, "from", address);
}
}
if (env->to) {
env->to->next = NULL;
address = _php_rfc822_write_address(env->to TSRMLS_CC);
if (address) {
- // TODO: avoid reallocation ???
- add_property_string(&myoverview, "to", address);
- efree(address);
+ add_property_str(&myoverview, "to", address);
}
}
if (env->date) {
- add_property_string(&myoverview, "date", env->date);
+ add_property_string(&myoverview, "date", (char*)env->date);
}
if (env->message_id) {
add_property_string(&myoverview, "message_id", env->message_id);
@@ -3494,7 +3489,7 @@ PHP_FUNCTION(imap_mail_compose)
}
if ((pvalue = zend_hash_str_find(Z_ARRVAL_P(envelope), "date", sizeof("date") - 1)) != NULL) {
convert_to_string_ex(pvalue);
- env->date = cpystr(Z_STRVAL_P(pvalue));
+ env->date = (unsigned char*)cpystr(Z_STRVAL_P(pvalue));
}
if ((pvalue = zend_hash_str_find(Z_ARRVAL_P(envelope), "from", sizeof("from") - 1)) != NULL) {
convert_to_string_ex(pvalue);
@@ -3622,11 +3617,11 @@ PHP_FUNCTION(imap_mail_compose)
}
if ((pvalue = zend_hash_str_find(Z_ARRVAL_P(data), "contents.data", sizeof("contents.data") - 1)) != NULL) {
convert_to_string_ex(pvalue);
- bod->contents.text.data = (char *) fs_get(Z_STRLEN_P(pvalue) + 1);
+ bod->contents.text.data = fs_get(Z_STRLEN_P(pvalue) + 1);
memcpy(bod->contents.text.data, Z_STRVAL_P(pvalue), Z_STRLEN_P(pvalue)+1);
bod->contents.text.size = Z_STRLEN_P(pvalue);
} else {
- bod->contents.text.data = (char *) fs_get(1);
+ bod->contents.text.data = fs_get(1);
memcpy(bod->contents.text.data, "", 1);
bod->contents.text.size = 0;
}
@@ -3726,11 +3721,11 @@ PHP_FUNCTION(imap_mail_compose)
}
if ((pvalue = zend_hash_str_find(Z_ARRVAL_P(data), "contents.data", sizeof("contents.data") - 1)) != NULL) {
convert_to_string_ex(pvalue);
- bod->contents.text.data = (char *) fs_get(Z_STRLEN_P(pvalue) + 1);
+ bod->contents.text.data = fs_get(Z_STRLEN_P(pvalue) + 1);
memcpy(bod->contents.text.data, Z_STRVAL_P(pvalue), Z_STRLEN_P(pvalue) + 1);
bod->contents.text.size = Z_STRLEN_P(pvalue);
} else {
- bod->contents.text.data = (char *) fs_get(1);
+ bod->contents.text.data = fs_get(1);
memcpy(bod->contents.text.data, "", 1);
bod->contents.text.size = 0;
}
@@ -4133,7 +4128,7 @@ PHP_FUNCTION(imap_alerts)
cur = IMAPG(imap_alertstack);
while (cur != NIL) {
- add_next_index_string(return_value, cur->LTEXT);
+ add_next_index_string(return_value, (char*)cur->LTEXT);
cur = cur->next;
}
mail_free_stringlist(&IMAPG(imap_alertstack));
@@ -4160,7 +4155,7 @@ PHP_FUNCTION(imap_errors)
cur = IMAPG(imap_errorstack);
while (cur != NIL) {
- add_next_index_string(return_value, cur->LTEXT);
+ add_next_index_string(return_value, (char*)cur->LTEXT);
cur = cur->next;
}
mail_free_errorlist(&IMAPG(imap_errorstack));
@@ -4186,7 +4181,7 @@ PHP_FUNCTION(imap_last_error)
cur = IMAPG(imap_errorstack);
while (cur != NIL) {
if (cur->next == NIL) {
- RETURN_STRING(cur->LTEXT);
+ RETURN_STRING((char*)cur->LTEXT);
}
cur = cur->next;
}
@@ -4305,10 +4300,9 @@ static long _php_rfc822_soutr (void *stream, char *string)
/* {{{ _php_rfc822_write_address
*/
-static char* _php_rfc822_write_address(ADDRESS *addresslist TSRMLS_DC)
+static zend_string* _php_rfc822_write_address(ADDRESS *addresslist TSRMLS_DC)
{
char address[MAILTMPLEN];
- char *str;
smart_str ret = {0};
RFC822BUFFER buf;
@@ -4320,11 +4314,7 @@ static char* _php_rfc822_write_address(ADDRESS *addresslist TSRMLS_DC)
rfc822_output_address_list(&buf, addresslist, 0, NULL);
rfc822_output_flush(&buf);
smart_str_0(&ret);
- /* avoide dup? */
- str = estrndup(ret.s->val, ret.s->len);
- smart_str_free(&ret);
-
- return str;
+ return ret.s;
}
/* }}} */
@@ -4390,7 +4380,7 @@ static int _php_imap_address_size (ADDRESS *addresslist)
/* {{{ _php_rfc822_write_address
*/
-static char* _php_rfc822_write_address(ADDRESS *addresslist TSRMLS_DC)
+static zend_string* _php_rfc822_write_address(ADDRESS *addresslist TSRMLS_DC)
{
char address[SENDBUFLEN];
@@ -4400,15 +4390,15 @@ static char* _php_rfc822_write_address(ADDRESS *addresslist TSRMLS_DC)
}
address[0] = 0;
rfc822_write_address(address, addresslist);
- return estrdup(address);
+ return STR_INIT(address, strlen(address), 0);
}
/* }}} */
#endif
/* {{{ _php_imap_parse_address
*/
-static char* _php_imap_parse_address (ADDRESS *addresslist, zval *paddress TSRMLS_DC)
+static zend_string* _php_imap_parse_address (ADDRESS *addresslist, zval *paddress TSRMLS_DC)
{
- char *fulladdress;
+ zend_string *fulladdress;
ADDRESS *addresstmp;
zval tmpvals;
@@ -4434,13 +4424,13 @@ static char* _php_imap_parse_address (ADDRESS *addresslist, zval *paddress TSRML
static void _php_make_header_object(zval *myzvalue, ENVELOPE *en TSRMLS_DC)
{
zval paddress;
- char *fulladdress=NULL;
+ zend_string *fulladdress=NULL;
object_init(myzvalue);
if (en->remail) add_property_string(myzvalue, "remail", en->remail);
- if (en->date) add_property_string(myzvalue, "date", en->date);
- if (en->date) add_property_string(myzvalue, "Date", en->date);
+ if (en->date) add_property_string(myzvalue, "date", (char*)en->date);
+ if (en->date) add_property_string(myzvalue, "Date", (char*)en->date);
if (en->subject) add_property_string(myzvalue, "subject", en->subject);
if (en->subject) add_property_string(myzvalue, "Subject", en->subject);
if (en->in_reply_to) add_property_string(myzvalue, "in_reply_to", en->in_reply_to);
@@ -4453,9 +4443,7 @@ static void _php_make_header_object(zval *myzvalue, ENVELOPE *en TSRMLS_DC)
array_init(&paddress);
fulladdress = _php_imap_parse_address(en->to, &paddress TSRMLS_CC);
if (fulladdress) {
- // TODO: avoid reallocation ???
- add_property_string(myzvalue, "toaddress", fulladdress);
- efree(fulladdress);
+ add_property_str(myzvalue, "toaddress", fulladdress);
}
add_assoc_object(myzvalue, "to", &paddress TSRMLS_CC);
}
@@ -4464,9 +4452,7 @@ static void _php_make_header_object(zval *myzvalue, ENVELOPE *en TSRMLS_DC)
array_init(&paddress);
fulladdress = _php_imap_parse_address(en->from, &paddress TSRMLS_CC);
if (fulladdress) {
- // TODO: avoid reallocation ???
- add_property_string(myzvalue, "fromaddress", fulladdress);
- efree(fulladdress);
+ add_property_str(myzvalue, "fromaddress", fulladdress);
}
add_assoc_object(myzvalue, "from", &paddress TSRMLS_CC);
}
@@ -4475,9 +4461,7 @@ static void _php_make_header_object(zval *myzvalue, ENVELOPE *en TSRMLS_DC)
array_init(&paddress);
fulladdress = _php_imap_parse_address(en->cc, &paddress TSRMLS_CC);
if (fulladdress) {
- // TODO: avoid reallocation ???
- add_property_string(myzvalue, "ccaddress", fulladdress);
- efree(fulladdress);
+ add_property_str(myzvalue, "ccaddress", fulladdress);
}
add_assoc_object(myzvalue, "cc", &paddress TSRMLS_CC);
}
@@ -4486,9 +4470,7 @@ static void _php_make_header_object(zval *myzvalue, ENVELOPE *en TSRMLS_DC)
array_init(&paddress);
fulladdress = _php_imap_parse_address(en->bcc, &paddress TSRMLS_CC);
if (fulladdress) {
- // TODO: avoid reallocation ???
- add_property_string(myzvalue, "bccaddress", fulladdress);
- efree(fulladdress);
+ add_property_str(myzvalue, "bccaddress", fulladdress);
}
add_assoc_object(myzvalue, "bcc", &paddress TSRMLS_CC);
}
@@ -4497,9 +4479,7 @@ static void _php_make_header_object(zval *myzvalue, ENVELOPE *en TSRMLS_DC)
array_init(&paddress);
fulladdress = _php_imap_parse_address(en->reply_to, &paddress TSRMLS_CC);
if (fulladdress) {
- // TODO: avoid reallocation ???
- add_property_string(myzvalue, "reply_toaddress", fulladdress);
- efree(fulladdress);
+ add_property_str(myzvalue, "reply_toaddress", fulladdress);
}
add_assoc_object(myzvalue, "reply_to", &paddress TSRMLS_CC);
}
@@ -4508,9 +4488,7 @@ static void _php_make_header_object(zval *myzvalue, ENVELOPE *en TSRMLS_DC)
array_init(&paddress);
fulladdress = _php_imap_parse_address(en->sender, &paddress TSRMLS_CC);
if (fulladdress) {
- // TODO: avoid reallocation ???
- add_property_string(myzvalue, "senderaddress", fulladdress);
- efree(fulladdress);
+ add_property_str(myzvalue, "senderaddress", fulladdress);
}
add_assoc_object(myzvalue, "sender", &paddress TSRMLS_CC);
}
@@ -4519,9 +4497,7 @@ static void _php_make_header_object(zval *myzvalue, ENVELOPE *en TSRMLS_DC)
array_init(&paddress);
fulladdress = _php_imap_parse_address(en->return_path, &paddress TSRMLS_CC);
if (fulladdress) {
- // TODO: avoid reallocation ???
- add_property_string(myzvalue, "return_pathaddress", fulladdress);
- efree(fulladdress);
+ add_property_str(myzvalue, "return_pathaddress", fulladdress);
}
add_assoc_object(myzvalue, "return_path", &paddress TSRMLS_CC);
}
@@ -4873,7 +4849,7 @@ PHP_IMAP_EXPORT void mm_notify(MAILSTREAM *stream, char *str, long errflg)
if (strncmp(str, "[ALERT] ", 8) == 0) {
if (IMAPG(imap_alertstack) == NIL) {
IMAPG(imap_alertstack) = mail_newstringlist();
- IMAPG(imap_alertstack)->LSIZE = strlen(IMAPG(imap_alertstack)->LTEXT = cpystr(str));
+ IMAPG(imap_alertstack)->LSIZE = strlen((char*)(IMAPG(imap_alertstack)->LTEXT = (unsigned char*)cpystr(str)));
IMAPG(imap_alertstack)->next = NIL;
} else {
cur = IMAPG(imap_alertstack);
@@ -4882,7 +4858,7 @@ PHP_IMAP_EXPORT void mm_notify(MAILSTREAM *stream, char *str, long errflg)
}
cur->next = mail_newstringlist ();
cur = cur->next;
- cur->LSIZE = strlen(cur->LTEXT = cpystr(str));
+ cur->LSIZE = strlen((char*)(cur->LTEXT = (unsigned char*)cpystr(str)));
cur->next = NIL;
}
}
@@ -4899,7 +4875,7 @@ PHP_IMAP_EXPORT void mm_list(MAILSTREAM *stream, DTYPE delimiter, char *mailbox,
/* Author: CJH */
if (IMAPG(imap_folder_objects) == NIL) {
IMAPG(imap_folder_objects) = mail_newfolderobjectlist();
- IMAPG(imap_folder_objects)->LSIZE=strlen(IMAPG(imap_folder_objects)->LTEXT=cpystr(mailbox));
+ IMAPG(imap_folder_objects)->LSIZE=strlen((char*)(IMAPG(imap_folder_objects)->LTEXT = (unsigned char*)cpystr(mailbox)));
IMAPG(imap_folder_objects)->delimiter = delimiter;
IMAPG(imap_folder_objects)->attributes = attributes;
IMAPG(imap_folder_objects)->next = NIL;
@@ -4908,7 +4884,7 @@ PHP_IMAP_EXPORT void mm_list(MAILSTREAM *stream, DTYPE delimiter, char *mailbox,
ocur=IMAPG(imap_folder_objects_tail);
ocur->next=mail_newfolderobjectlist();
ocur=ocur->next;
- ocur->LSIZE = strlen(ocur->LTEXT = cpystr(mailbox));
+ ocur->LSIZE = strlen((char*)(ocur->LTEXT = (unsigned char*)cpystr(mailbox)));
ocur->delimiter = delimiter;
ocur->attributes = attributes;
ocur->next = NIL;
@@ -4920,14 +4896,14 @@ PHP_IMAP_EXPORT void mm_list(MAILSTREAM *stream, DTYPE delimiter, char *mailbox,
if (!(attributes & LATT_NOSELECT)) {
if (IMAPG(imap_folders) == NIL) {
IMAPG(imap_folders)=mail_newstringlist();
- IMAPG(imap_folders)->LSIZE=strlen(IMAPG(imap_folders)->LTEXT=cpystr(mailbox));
+ IMAPG(imap_folders)->LSIZE=strlen((char*)(IMAPG(imap_folders)->LTEXT = (unsigned char*)cpystr(mailbox)));
IMAPG(imap_folders)->next=NIL;
IMAPG(imap_folders_tail) = IMAPG(imap_folders);
} else {
cur=IMAPG(imap_folders_tail);
cur->next=mail_newstringlist ();
cur=cur->next;
- cur->LSIZE = strlen (cur->LTEXT = cpystr (mailbox));
+ cur->LSIZE = strlen((char*)(cur->LTEXT = (unsigned char*)cpystr(mailbox)));
cur->next = NIL;
IMAPG(imap_folders_tail) = cur;
}
@@ -4946,7 +4922,7 @@ PHP_IMAP_EXPORT void mm_lsub(MAILSTREAM *stream, DTYPE delimiter, char *mailbox,
/* Author: CJH */
if (IMAPG(imap_sfolder_objects) == NIL) {
IMAPG(imap_sfolder_objects) = mail_newfolderobjectlist();
- IMAPG(imap_sfolder_objects)->LSIZE=strlen(IMAPG(imap_sfolder_objects)->LTEXT=cpystr(mailbox));
+ IMAPG(imap_sfolder_objects)->LSIZE = strlen((char*)(IMAPG(imap_sfolder_objects)->LTEXT = (unsigned char*)cpystr(mailbox)));
IMAPG(imap_sfolder_objects)->delimiter = delimiter;
IMAPG(imap_sfolder_objects)->attributes = attributes;
IMAPG(imap_sfolder_objects)->next = NIL;
@@ -4955,7 +4931,7 @@ PHP_IMAP_EXPORT void mm_lsub(MAILSTREAM *stream, DTYPE delimiter, char *mailbox,
ocur=IMAPG(imap_sfolder_objects_tail);
ocur->next=mail_newfolderobjectlist();
ocur=ocur->next;
- ocur->LSIZE=strlen(ocur->LTEXT = cpystr(mailbox));
+ ocur->LSIZE=strlen((char*)(ocur->LTEXT = (unsigned char*)cpystr(mailbox)));
ocur->delimiter = delimiter;
ocur->attributes = attributes;
ocur->next = NIL;
@@ -4965,14 +4941,14 @@ PHP_IMAP_EXPORT void mm_lsub(MAILSTREAM *stream, DTYPE delimiter, char *mailbox,
/* build the old simple array for imap_listsubscribed() */
if (IMAPG(imap_sfolders) == NIL) {
IMAPG(imap_sfolders)=mail_newstringlist();
- IMAPG(imap_sfolders)->LSIZE=strlen(IMAPG(imap_sfolders)->LTEXT=cpystr(mailbox));
+ IMAPG(imap_sfolders)->LSIZE=strlen((char*)(IMAPG(imap_sfolders)->LTEXT = (unsigned char*)cpystr(mailbox)));
IMAPG(imap_sfolders)->next=NIL;
IMAPG(imap_sfolders_tail) = IMAPG(imap_sfolders);
} else {
cur=IMAPG(imap_sfolders_tail);
cur->next=mail_newstringlist ();
cur=cur->next;
- cur->LSIZE = strlen (cur->LTEXT = cpystr (mailbox));
+ cur->LSIZE = strlen((char*)(cur->LTEXT = (unsigned char*)cpystr(mailbox)));
cur->next = NIL;
IMAPG(imap_sfolders_tail) = cur;
}
@@ -5010,7 +4986,7 @@ PHP_IMAP_EXPORT void mm_log(char *str, long errflg)
if (errflg != NIL) { /* CJH: maybe put these into a more comprehensive log for debugging purposes? */
if (IMAPG(imap_errorstack) == NIL) {
IMAPG(imap_errorstack) = mail_newerrorlist();
- IMAPG(imap_errorstack)->LSIZE = strlen(IMAPG(imap_errorstack)->LTEXT = cpystr(str));
+ IMAPG(imap_errorstack)->LSIZE = strlen((char*)(IMAPG(imap_errorstack)->LTEXT = (unsigned char*)cpystr(str)));
IMAPG(imap_errorstack)->errflg = errflg;
IMAPG(imap_errorstack)->next = NIL;
} else {
@@ -5020,7 +4996,7 @@ PHP_IMAP_EXPORT void mm_log(char *str, long errflg)
}
cur->next = mail_newerrorlist();
cur = cur->next;
- cur->LSIZE = strlen(cur->LTEXT = cpystr(str));
+ cur->LSIZE = strlen((char*)(cur->LTEXT = (unsigned char*)cpystr(str)));
cur->errflg = errflg;
cur->next = NIL;
}
diff --git a/ext/interbase/ibase_blobs.c b/ext/interbase/ibase_blobs.c
index 94f32f87ed..8b8d731d7b 100644
--- a/ext/interbase/ibase_blobs.c
+++ b/ext/interbase/ibase_blobs.c
@@ -32,7 +32,7 @@
static int le_blob;
-static void _php_ibase_free_blob(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ */
+static void _php_ibase_free_blob(zend_resource *rsrc TSRMLS_DC) /* {{{ */
{
ibase_blob *ib_blob = (ibase_blob *)rsrc->ptr;
@@ -118,26 +118,28 @@ int _php_ibase_blob_get(zval *return_value, ibase_blob *ib_blob, unsigned long m
_php_ibase_error(TSRMLS_C);
return FAILURE;
}
- RETVAL_STRINGL(bl_data, cur_len, 0);
+ // TODO: avoid double reallocation???
+ RETVAL_STRINGL(bl_data, cur_len);
+ efree(bl_data);
} else { /* null blob */
- RETVAL_STRING("", 1); /* empty string */
+ RETVAL_EMPTY_STRING(); /* empty string */
}
return SUCCESS;
}
/* }}} */
-int _php_ibase_blob_add(zval **string_arg, ibase_blob *ib_blob TSRMLS_DC) /* {{{ */
+int _php_ibase_blob_add(zval *string_arg, ibase_blob *ib_blob TSRMLS_DC) /* {{{ */
{
unsigned long put_cnt = 0, rem_cnt;
unsigned short chunk_size;
convert_to_string_ex(string_arg);
- for (rem_cnt = Z_STRLEN_PP(string_arg); rem_cnt > 0; rem_cnt -= chunk_size) {
+ for (rem_cnt = Z_STRLEN_P(string_arg); rem_cnt > 0; rem_cnt -= chunk_size) {
chunk_size = rem_cnt > USHRT_MAX ? USHRT_MAX : (unsigned short)rem_cnt;
- if (isc_put_segment(IB_STATUS, &ib_blob->bl_handle, chunk_size, &Z_STRVAL_PP(string_arg)[put_cnt] )) {
+ if (isc_put_segment(IB_STATUS, &ib_blob->bl_handle, chunk_size, &Z_STRVAL_P(string_arg)[put_cnt] )) {
_php_ibase_error(TSRMLS_C);
return FAILURE;
}
@@ -228,6 +230,7 @@ PHP_FUNCTION(ibase_blob_create)
}
ZEND_REGISTER_RESOURCE(return_value, ib_blob, le_blob);
+ Z_ADDREF_P(return_value);
}
/* }}} */
@@ -278,6 +281,7 @@ PHP_FUNCTION(ibase_blob_open)
}
ZEND_REGISTER_RESOURCE(return_value, ib_blob, le_blob);
+ Z_ADDREF_P(return_value);
return;
} while (0);
@@ -291,7 +295,7 @@ PHP_FUNCTION(ibase_blob_open)
Add data into created blob */
PHP_FUNCTION(ibase_blob_add)
{
- zval **blob_arg, **string_arg;
+ zval *blob_arg, *string_arg;
ibase_blob *ib_blob;
RESET_ERRMSG;
@@ -317,7 +321,7 @@ PHP_FUNCTION(ibase_blob_add)
Get len bytes data from open blob */
PHP_FUNCTION(ibase_blob_get)
{
- zval **blob_arg, **len_arg;
+ zval *blob_arg, *len_arg;
ibase_blob *ib_blob;
RESET_ERRMSG;
@@ -335,7 +339,7 @@ PHP_FUNCTION(ibase_blob_get)
convert_to_long_ex(len_arg);
- if (_php_ibase_blob_get(return_value, ib_blob, Z_LVAL_PP(len_arg) TSRMLS_CC) != SUCCESS) {
+ if (_php_ibase_blob_get(return_value, ib_blob, Z_LVAL_P(len_arg) TSRMLS_CC) != SUCCESS) {
RETURN_FALSE;
}
}
@@ -343,8 +347,9 @@ PHP_FUNCTION(ibase_blob_get)
static void _php_ibase_blob_end(INTERNAL_FUNCTION_PARAMETERS, int bl_end) /* {{{ */
{
- zval **blob_arg;
+ zval *blob_arg;
ibase_blob *ib_blob;
+ char *s;
RESET_ERRMSG;
@@ -364,7 +369,10 @@ static void _php_ibase_blob_end(INTERNAL_FUNCTION_PARAMETERS, int bl_end) /* {{{
}
ib_blob->bl_handle = NULL;
- RETVAL_STRINGL(_php_ibase_quad_to_string(ib_blob->bl_qd), BLOB_ID_LEN, 0);
+ s = _php_ibase_quad_to_string(ib_blob->bl_qd);
+ // TODO: avoid double reallocation???
+ RETVAL_STRINGL(s, BLOB_ID_LEN);
+ efree(s);
} else { /* discard created blob */
if (isc_cancel_blob(IB_STATUS, &ib_blob->bl_handle)) {
_php_ibase_error(TSRMLS_C);
@@ -373,7 +381,7 @@ static void _php_ibase_blob_end(INTERNAL_FUNCTION_PARAMETERS, int bl_end) /* {{{
ib_blob->bl_handle = NULL;
RETVAL_TRUE;
}
- zend_list_delete(Z_LVAL_PP(blob_arg));
+ zend_list_delete(Z_RES_P(blob_arg));
}
/* }}} */
@@ -544,6 +552,7 @@ PHP_FUNCTION(ibase_blob_import)
ibase_trans *trans = NULL;
char bl_data[IBASE_BLOB_SEG];
php_stream *stream;
+ char *s;
RESET_ERRMSG;
@@ -554,7 +563,7 @@ PHP_FUNCTION(ibase_blob_import)
PHP_IBASE_LINK_TRANS(link, ib_link, trans);
- php_stream_from_zval(stream, &file);
+ php_stream_from_zval(stream, file);
do {
if (isc_create_blob(IB_STATUS, &ib_link->handle, &trans->handle, &ib_blob.bl_handle,
@@ -571,7 +580,11 @@ PHP_FUNCTION(ibase_blob_import)
if (isc_close_blob(IB_STATUS, &ib_blob.bl_handle)) {
break;
}
- RETURN_STRINGL( _php_ibase_quad_to_string(ib_blob.bl_qd), BLOB_ID_LEN, 0);
+ s = _php_ibase_quad_to_string(ib_blob.bl_qd);
+ // TODO: avoid double reallocation???
+ RETVAL_STRINGL(s, BLOB_ID_LEN);
+ efree(s);
+ return;
} while (0);
_php_ibase_error(TSRMLS_C);
diff --git a/ext/interbase/ibase_events.c b/ext/interbase/ibase_events.c
index ac3c328a0b..ab1a791d37 100644
--- a/ext/interbase/ibase_events.c
+++ b/ext/interbase/ibase_events.c
@@ -55,10 +55,9 @@ void _php_ibase_free_event(ibase_event *event TSRMLS_DC) /* {{{ */
*node = event->event_next;
}
- if (event->callback) {
- zval_dtor(event->callback);
- FREE_ZVAL(event->callback);
- event->callback = NULL;
+ if (Z_TYPE(event->callback) != IS_UNDEF) {
+ zval_dtor(&event->callback);
+ ZVAL_UNDEF(&event->callback);
_php_ibase_event_free(event->event_buffer,event->result_buffer);
@@ -70,7 +69,7 @@ void _php_ibase_free_event(ibase_event *event TSRMLS_DC) /* {{{ */
}
/* }}} */
-static void _php_ibase_free_event_rsrc(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ */
+static void _php_ibase_free_event_rsrc(zend_resource *rsrc TSRMLS_DC) /* {{{ */
{
ibase_event *e = (ibase_event *) rsrc->ptr;
@@ -124,7 +123,7 @@ static void _php_ibase_event_block(ibase_db_link *ib_link, unsigned short count,
Waits for any one of the passed Interbase events to be posted by the database, and returns its name */
PHP_FUNCTION(ibase_wait_event)
{
- zval ***args;
+ zval *args;
ibase_db_link *ib_link;
int num_args;
char *event_buffer, *result_buffer, *events[15];
@@ -142,8 +141,8 @@ PHP_FUNCTION(ibase_wait_event)
return;
}
- if (Z_TYPE_PP(args[0]) == IS_RESOURCE) {
- if (!ZEND_FETCH_RESOURCE2_NO_RETURN(ib_link, ibase_db_link *, args[0], -1, "InterBase link", le_link, le_plink)) {
+ if (Z_TYPE(args[0]) == IS_RESOURCE) {
+ if (!ZEND_FETCH_RESOURCE2_NO_RETURN(ib_link, ibase_db_link *, &args[0], -1, "InterBase link", le_link, le_plink)) {
efree(args);
RETURN_FALSE;
}
@@ -160,8 +159,8 @@ PHP_FUNCTION(ibase_wait_event)
}
for (; i < ZEND_NUM_ARGS(); ++i) {
- convert_to_string_ex(args[i]);
- events[event_count++] = Z_STRVAL_PP(args[i]);
+ convert_to_string_ex(&args[i]);
+ events[event_count++] = Z_STRVAL(args[i]);
}
/* fills the required data structure with information about the events */
@@ -179,10 +178,10 @@ PHP_FUNCTION(ibase_wait_event)
isc_event_counts(occurred_event, buffer_size, event_buffer, result_buffer);
for (i = 0; i < event_count; ++i) {
if (occurred_event[i]) {
- char *result = estrdup(events[i]);
+ zend_string *result = STR_INIT(events[i], strlen(events[i]), 0);
_php_ibase_event_free(event_buffer,result_buffer);
efree(args);
- RETURN_STRING(result,0);
+ RETURN_STR(result);
}
}
@@ -197,6 +196,8 @@ PHP_FUNCTION(ibase_wait_event)
static isc_callback _php_ibase_callback(ibase_event *event, /* {{{ */
unsigned short buffer_size, char *result_buf)
{
+ zval *res;
+
/* this function is called asynchronously by the Interbase client library. */
TSRMLS_FETCH_FROM_CTX(event->thread_ctx);
@@ -208,38 +209,35 @@ static isc_callback _php_ibase_callback(ibase_event *event, /* {{{ */
switch (event->state) {
unsigned short i;
unsigned long occurred_event[15];
- zval event_name, link_id, return_value, *args[2];
+ zval return_value, args[2];
default: /* == DEAD */
break;
case ACTIVE:
- args[0] = &event_name;
- args[1] = &link_id;
-
/* copy the updated results into the result buffer */
memcpy(event->result_buffer, result_buf, buffer_size);
- INIT_ZVAL(event_name);
- INIT_ZVAL(link_id);
- ZVAL_RESOURCE(&link_id, event->link_res_id);
+ res = zend_hash_index_find(&EG(regular_list), event->link_res_id);
+ ZVAL_RES(&args[1], Z_RES_P(res));
/* find out which event occurred */
isc_event_counts(occurred_event, buffer_size, event->event_buffer, event->result_buffer);
for (i = 0; i < event->event_count; ++i) {
if (occurred_event[i]) {
- ZVAL_STRING(&event_name,event->events[i],0);
+ ZVAL_STRING(&args[0], event->events[i]);
+ efree(event->events[i]);
break;
}
}
/* call the callback provided by the user */
if (SUCCESS != call_user_function(EG(function_table), NULL,
- event->callback, &return_value, 2, args TSRMLS_CC)) {
- _php_ibase_module_error("Error calling callback %s" TSRMLS_CC, Z_STRVAL_P(event->callback));
+ &event->callback, &return_value, 2, args TSRMLS_CC)) {
+ _php_ibase_module_error("Error calling callback %s" TSRMLS_CC, Z_STRVAL(event->callback));
break;
}
- if (Z_TYPE(return_value) == IS_BOOL && !Z_BVAL(return_value)) {
+ if (Z_TYPE(return_value) == IS_FALSE) {
event->state = DEAD;
break;
}
@@ -265,8 +263,8 @@ PHP_FUNCTION(ibase_set_event_handler)
* link resource id (int) as arguments. The value returned from the function is
* used to determine if the event handler should remain set.
*/
- char *cb_name;
- zval ***args, **cb_arg;
+ zend_string *cb_name;
+ zval *args, *cb_arg;
ibase_db_link *ib_link;
ibase_event *event;
unsigned short i = 1, buffer_size;
@@ -284,52 +282,47 @@ PHP_FUNCTION(ibase_set_event_handler)
}
/* get a working link */
- if (Z_TYPE_PP(args[0]) != IS_STRING) {
+ if (Z_TYPE(args[0]) != IS_STRING) {
/* resource, callback, event_1 [, ... event_15]
* No more than 15 events
*/
if (ZEND_NUM_ARGS() < 3 || ZEND_NUM_ARGS() > 17) {
- efree(args);
WRONG_PARAM_COUNT;
}
- cb_arg = args[1];
+ cb_arg = &args[1];
i = 2;
- if (!ZEND_FETCH_RESOURCE2_NO_RETURN(ib_link, ibase_db_link *, args[0], -1, "InterBase link", le_link, le_plink)) {
- efree(args);
+ if (!ZEND_FETCH_RESOURCE2_NO_RETURN(ib_link, ibase_db_link *, &args[0], -1, "InterBase link", le_link, le_plink)) {
RETURN_FALSE;
}
- convert_to_long_ex(args[0]);
- link_res_id = Z_LVAL_PP(args[0]);
+ convert_to_long_ex(&args[0]);
+ link_res_id = Z_LVAL(args[0]);
} else {
/* callback, event_1 [, ... event_15]
* No more than 15 events
*/
if (ZEND_NUM_ARGS() < 2 || ZEND_NUM_ARGS() > 16) {
- efree(args);
WRONG_PARAM_COUNT;
}
- cb_arg = args[0];
+ cb_arg = &args[0];
if (!ZEND_FETCH_RESOURCE2_NO_RETURN(ib_link, ibase_db_link *, NULL, IBG(default_link), "InterBase link", le_link, le_plink)) {
- efree(args);
RETURN_FALSE;
}
link_res_id = IBG(default_link);
}
/* get the callback */
- if (!zend_is_callable(*cb_arg, 0, &cb_name TSRMLS_CC)) {
- _php_ibase_module_error("Callback argument %s is not a callable function" TSRMLS_CC, cb_name);
- efree(cb_name);
- efree(args);
+ if (!zend_is_callable(cb_arg, 0, &cb_name TSRMLS_CC)) {
+ _php_ibase_module_error("Callback argument %s is not a callable function" TSRMLS_CC, cb_name->val);
+ STR_RELEASE(cb_name);
RETURN_FALSE;
}
- efree(cb_name);
+ STR_RELEASE(cb_name);
/* allocate the event resource */
event = (ibase_event *) safe_emalloc(sizeof(ibase_event), 1, 0);
@@ -340,14 +333,11 @@ PHP_FUNCTION(ibase_set_event_handler)
event->state = NEW;
event->events = (char **) safe_emalloc(sizeof(char *),ZEND_NUM_ARGS()-i,0);
- ALLOC_ZVAL(event->callback);
- *event->callback = **cb_arg;
- INIT_PZVAL(event->callback);
- zval_copy_ctor(event->callback);
+ ZVAL_DUP(&event->callback, cb_arg);
for (; i < ZEND_NUM_ARGS(); ++i) {
- convert_to_string_ex(args[i]);
- event->events[event->event_count++] = estrdup(Z_STRVAL_PP(args[i]));
+ convert_to_string_ex(&args[i]);
+ event->events[event->event_count++] = estrdup(Z_STRVAL(args[i]));
}
/* fills the required data structure with information about the events */
@@ -360,7 +350,6 @@ PHP_FUNCTION(ibase_set_event_handler)
_php_ibase_error(TSRMLS_C);
efree(event);
- efree(args);
RETURN_FALSE;
}
@@ -368,8 +357,7 @@ PHP_FUNCTION(ibase_set_event_handler)
ib_link->event_head = event;
ZEND_REGISTER_RESOURCE(return_value, event, le_event);
- zend_list_addref(Z_LVAL_P(return_value));
- efree(args);
+ Z_ADDREF_P(return_value);
}
/* }}} */
@@ -384,11 +372,11 @@ PHP_FUNCTION(ibase_free_event_handler)
if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &event_arg)) {
ibase_event *event;
- ZEND_FETCH_RESOURCE(event, ibase_event *, &event_arg, -1, "Interbase event", le_event);
+ ZEND_FETCH_RESOURCE(event, ibase_event *, event_arg, -1, "Interbase event", le_event);
event->state = DEAD;
- zend_list_delete(Z_LVAL_P(event_arg));
+ zend_list_delete(Z_RES_P(event_arg));
RETURN_TRUE;
} else {
RETURN_FALSE;
diff --git a/ext/interbase/ibase_query.c b/ext/interbase/ibase_query.c
index 4914dcd596..1899e5aae1 100644
--- a/ext/interbase/ibase_query.c
+++ b/ext/interbase/ibase_query.c
@@ -134,7 +134,7 @@ static void _php_ibase_free_stmt_handle(ibase_db_link *link, isc_stmt_handle stm
}
/* }}} */
-static void _php_ibase_free_result(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ */
+static void _php_ibase_free_result(zend_resource *rsrc TSRMLS_DC) /* {{{ */
{
ibase_result *ib_result = (ibase_result *) rsrc->ptr;
@@ -180,7 +180,7 @@ static void _php_ibase_free_query(ibase_query *ib_query TSRMLS_DC) /* {{{ */
}
/* }}} */
-static void php_ibase_free_query_rsrc(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ */
+static void php_ibase_free_query_rsrc(zend_resource *rsrc TSRMLS_DC) /* {{{ */
{
ibase_query *ib_query = (ibase_query *)rsrc->ptr;
@@ -443,7 +443,7 @@ static int _php_ibase_bind_array(zval *val, char *buf, unsigned long buf_size, /
if (dim < array->ar_desc.array_desc_dimensions) {
unsigned long slice_size = buf_size / dim_len;
unsigned short i;
- zval **subval = &val;
+ zval *subval = val;
if (Z_TYPE_P(val) == IS_ARRAY) {
zend_hash_internal_pointer_reset(Z_ARRVAL_P(val));
@@ -452,12 +452,12 @@ static int _php_ibase_bind_array(zval *val, char *buf, unsigned long buf_size, /
for (i = 0; i < dim_len; ++i) {
if (Z_TYPE_P(val) == IS_ARRAY &&
- zend_hash_get_current_data(Z_ARRVAL_P(val), (void *) &subval) == FAILURE)
+ (subval = zend_hash_get_current_data(Z_ARRVAL_P(val))) == NULL)
{
- subval = &pnull_val;
+ subval = pnull_val;
}
- if (_php_ibase_bind_array(*subval, buf, slice_size, array, dim+1 TSRMLS_CC) == FAILURE)
+ if (_php_ibase_bind_array(subval, buf, slice_size, array, dim+1 TSRMLS_CC) == FAILURE)
{
return FAILURE;
}
@@ -634,14 +634,14 @@ static int _php_ibase_bind_array(zval *val, char *buf, unsigned long buf_size, /
}
/* }}} */
-static int _php_ibase_bind(XSQLDA *sqlda, zval ***b_vars, BIND_BUF *buf, /* {{{ */
+static int _php_ibase_bind(XSQLDA *sqlda, zval *b_vars, BIND_BUF *buf, /* {{{ */
ibase_query *ib_query TSRMLS_DC)
{
int i, array_cnt = 0, rv = SUCCESS;
for (i = 0; i < sqlda->sqld; ++i) { /* bound vars */
- zval *b_var = *b_vars[i];
+ zval *b_var = &b_vars[i];
XSQLVAR *var = &sqlda->sqlvar[i];
var->sqlind = &buf[i].sqlind;
@@ -745,7 +745,7 @@ static int _php_ibase_bind(XSQLDA *sqlda, zval ***b_vars, BIND_BUF *buf, /* {{{
return FAILURE;
}
- if (_php_ibase_blob_add(&b_var, &ib_blob TSRMLS_CC) != SUCCESS) {
+ if (_php_ibase_blob_add(b_var, &ib_blob TSRMLS_CC) != SUCCESS) {
return FAILURE;
}
@@ -860,7 +860,7 @@ static void _php_ibase_alloc_xsqlda(XSQLDA *sqlda) /* {{{ */
/* }}} */
static int _php_ibase_exec(INTERNAL_FUNCTION_PARAMETERS, ibase_result **ib_resultp, /* {{{ */
- ibase_query *ib_query, zval ***args)
+ ibase_query *ib_query, zval *args)
{
XSQLDA *in_sqlda = NULL, *out_sqlda = NULL;
BIND_BUF *bind_buf = NULL;
@@ -873,7 +873,7 @@ static int _php_ibase_exec(INTERNAL_FUNCTION_PARAMETERS, ibase_result **ib_resul
RESET_ERRMSG;
for (i = 0; i < argc; ++i) {
- SEPARATE_ZVAL(args[i]);
+ SEPARATE_ZVAL(&args[i]);
}
switch (ib_query->statement_type) {
@@ -911,6 +911,7 @@ static int _php_ibase_exec(INTERNAL_FUNCTION_PARAMETERS, ibase_result **ib_resul
(*l)->next = NULL;
ZEND_REGISTER_RESOURCE(return_value, trans, le_trans);
+ Z_ADDREF_P(return_value);
return SUCCESS;
@@ -926,7 +927,8 @@ static int _php_ibase_exec(INTERNAL_FUNCTION_PARAMETERS, ibase_result **ib_resul
if (ib_query->trans->handle == NULL && ib_query->trans_res_id != 0) {
/* transaction was released by the query and was a registered resource,
so we have to release it */
- zend_list_delete(ib_query->trans_res_id);
+ zval *res = zend_hash_index_find(&EG(regular_list), ib_query->trans_res_id);
+ zend_list_delete(Z_RES_P(res));
}
RETVAL_TRUE;
@@ -1058,7 +1060,7 @@ _php_ibase_exec_error:
Execute a query */
PHP_FUNCTION(ibase_query)
{
- zval *zlink, *ztrans, ***bind_args = NULL;
+ zval *zlink, *ztrans, *bind_args = NULL;
char *query;
int bind_i, query_len, bind_num;
long trans_res_id = 0;
@@ -1078,20 +1080,20 @@ PHP_FUNCTION(ibase_query)
if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, 3 TSRMLS_CC, "rrs",
&zlink, &ztrans, &query, &query_len)) {
- ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link*, &zlink, -1, LE_LINK, le_link, le_plink);
- ZEND_FETCH_RESOURCE(trans, ibase_trans*, &ztrans, -1, LE_TRANS, le_trans);
+ ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link*, zlink, -1, LE_LINK, le_link, le_plink);
+ ZEND_FETCH_RESOURCE(trans, ibase_trans*, ztrans, -1, LE_TRANS, le_trans);
- trans_res_id = Z_LVAL_P(ztrans);
+ trans_res_id = Z_RES_P(ztrans)->handle;
bind_i = 3;
break;
}
case 2:
if (SUCCESS == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, 2 TSRMLS_CC, "rs",
&zlink, &query, &query_len)) {
- _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, &zlink, &ib_link, &trans);
+ _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, zlink, &ib_link, &trans);
if (trans != NULL) {
- trans_res_id = Z_LVAL_P(zlink);
+ trans_res_id = Z_RES_P(zlink)->handle;
}
bind_i = 2;
break;
@@ -1130,8 +1132,8 @@ PHP_FUNCTION(ibase_query)
ib_link->event_head = NULL;
ZEND_REGISTER_RESOURCE(return_value, ib_link, le_link);
- zend_list_addref(Z_LVAL_P(return_value));
- IBG(default_link) = Z_LVAL_P(return_value);
+ Z_ADDREF_P(return_value);
+ IBG(default_link) = Z_RES_P(return_value)->handle;
++IBG(num_links);
}
return;
@@ -1185,14 +1187,12 @@ PHP_FUNCTION(ibase_query)
ib_query.stmt = NULL; /* keep stmt when free query */
}
ZEND_REGISTER_RESOURCE(return_value, result, le_result);
+ Z_ADDREF_P(return_value);
}
} while (0);
_php_ibase_free_query(&ib_query TSRMLS_CC);
- if (bind_args) {
- efree(bind_args);
- }
}
/* }}} */
@@ -1218,9 +1218,9 @@ PHP_FUNCTION(ibase_affected_rows)
trans = ib_link->tr_list->trans;
} else {
/* one id was passed, could be db or trans id */
- _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, &arg, &ib_link, &trans);
+ _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, arg, &ib_link, &trans);
if (trans == NULL) {
- ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, &arg, -1, LE_LINK, le_link, le_plink);
+ ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, arg, -1, LE_LINK, le_link, le_plink);
if (ib_link->tr_list == NULL || ib_link->tr_list->trans == NULL) {
RETURN_FALSE;
@@ -1323,7 +1323,7 @@ static int _php_ibase_var_zval(zval *val, void *data, int type, int len, /* {{{
data = ((IBVARY *) data)->vary_string;
/* no break */
case SQL_TEXT:
- ZVAL_STRINGL(val,(char *) data,len,1);
+ ZVAL_STRINGL(val, (char*)data, len);
break;
case SQL_SHORT:
n = *(short *) data;
@@ -1365,7 +1365,7 @@ static int _php_ibase_var_zval(zval *val, void *data, int type, int len, /* {{{
} else {
l = slprintf(string_data, sizeof(string_data), "-0.%0*ld", -scale, -n % f);
}
- ZVAL_STRINGL(val,string_data,l,1);
+ ZVAL_STRINGL(val, string_data, l);
}
break;
case SQL_FLOAT:
@@ -1414,7 +1414,7 @@ format_date_time:
break;
}
#endif
- ZVAL_STRINGL(val,string_data,l,1);
+ ZVAL_STRINGL(val, string_data, l);
break;
}
} /* switch (type) */
@@ -1440,17 +1440,16 @@ static int _php_ibase_arr_zval(zval *ar_zval, char *data, unsigned long data_siz
array_init(ar_zval);
for (i = 0; i < dim_len; ++i) {
- zval *slice_zval;
- ALLOC_INIT_ZVAL(slice_zval);
+ zval slice_zval;
/* recursion here */
- if (FAILURE == _php_ibase_arr_zval(slice_zval, data, slice_size, ib_array, dim + 1,
+ if (FAILURE == _php_ibase_arr_zval(&slice_zval, data, slice_size, ib_array, dim + 1,
flag TSRMLS_CC)) {
return FAILURE;
}
data += slice_size;
- add_index_zval(ar_zval,l_bound+i,slice_zval);
+ add_index_zval(ar_zval, l_bound + i, &slice_zval);
}
} else { /* data at last */
@@ -1483,7 +1482,7 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
return;
}
- ZEND_FETCH_RESOURCE(ib_result, ibase_result *, &result_arg, -1, LE_RESULT, le_result);
+ ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, LE_RESULT, le_result);
if (ib_result->out_sqlda == NULL || !ib_result->has_more_rows) {
RETURN_FALSE;
@@ -1522,8 +1521,8 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
i = 1;
base = alias;
- while (SUCCESS == zend_symtable_find(
- Z_ARRVAL_P(return_value),alias,strlen(alias)+1,&p)) {
+ while ((p = zend_symtable_str_find_ptr(
+ Z_ARRVAL_P(return_value), alias, strlen(alias))) != NULL) {
case '\0':
snprintf(alias = buf, sizeof(buf), "%s_%02d", base, i++);
@@ -1532,13 +1531,12 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
}
if (((var->sqltype & 1) == 0) || *var->sqlind != -1) {
- zval *result;
- ALLOC_INIT_ZVAL(result);
+ zval result;
switch (var->sqltype & ~1) {
default:
- _php_ibase_var_zval(result, var->sqldata, var->sqltype, var->sqllen,
+ _php_ibase_var_zval(&result, var->sqldata, var->sqltype, var->sqllen,
var->sqlscale, flag TSRMLS_CC);
break;
case SQL_BLOB:
@@ -1588,8 +1586,8 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
}
if (max_len == 0) {
- ZVAL_STRING(result, "", 1);
- } else if (SUCCESS != _php_ibase_blob_get(result, &blob_handle,
+ ZVAL_STRING(&result, "");
+ } else if (SUCCESS != _php_ibase_blob_get(&result, &blob_handle,
max_len TSRMLS_CC)) {
goto _php_ibase_fetch_error;
}
@@ -1600,8 +1598,11 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
}
} else { /* blob id only */
+ char *s;
ISC_QUAD bl_qd = *(ISC_QUAD *) var->sqldata;
- ZVAL_STRINGL(result,_php_ibase_quad_to_string(bl_qd), BLOB_ID_LEN, 0);
+ s = _php_ibase_quad_to_string(bl_qd);
+ ZVAL_STRINGL(&result, s, BLOB_ID_LEN);
+ efree(s);
}
break;
case SQL_ARRAY:
@@ -1618,7 +1619,7 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
goto _php_ibase_fetch_error;
}
- if (FAILURE == _php_ibase_arr_zval(result, ar_data, ib_array->ar_size, ib_array,
+ if (FAILURE == _php_ibase_arr_zval(&result, ar_data, ib_array->ar_size, ib_array,
0, flag TSRMLS_CC)) {
efree(ar_data);
goto _php_ibase_fetch_error;
@@ -1626,20 +1627,21 @@ static void _php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int fetch_type)
efree(ar_data);
} else { /* blob id only */
+ char *s;
ISC_QUAD ar_qd = *(ISC_QUAD *) var->sqldata;
- ZVAL_STRINGL(result,_php_ibase_quad_to_string(ar_qd), BLOB_ID_LEN, 0);
+ s = _php_ibase_quad_to_string(ar_qd);
+ ZVAL_STRINGL(&result, s, BLOB_ID_LEN);
}
break;
_php_ibase_fetch_error:
- zval_dtor(result);
- FREE_ZVAL(result);
+ zval_dtor(&result);
RETURN_FALSE;
} /* switch */
if (fetch_type & FETCH_ROW) {
- add_index_zval(return_value, i, result);
+ add_index_zval(return_value, i, &result);
} else {
- add_assoc_zval(return_value, alias, result);
+ add_assoc_zval(return_value, alias, &result);
}
} else {
if (fetch_type & FETCH_ROW) {
@@ -1675,7 +1677,7 @@ PHP_FUNCTION(ibase_fetch_object)
_php_ibase_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, FETCH_ARRAY);
if (Z_TYPE_P(return_value) == IS_ARRAY) {
- object_and_properties_init(return_value, ZEND_STANDARD_CLASS_DEF_PTR, Z_ARRVAL_P(return_value));
+ convert_to_object(return_value);
}
}
/* }}} */
@@ -1696,7 +1698,7 @@ PHP_FUNCTION(ibase_name_result)
return;
}
- ZEND_FETCH_RESOURCE(ib_result, ibase_result *, &result_arg, -1, LE_RESULT, le_result);
+ ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, LE_RESULT, le_result);
if (isc_dsql_set_cursor_name(IB_STATUS, &ib_result->stmt, name_arg, 0)) {
_php_ibase_error(TSRMLS_C);
@@ -1720,8 +1722,8 @@ PHP_FUNCTION(ibase_free_result)
return;
}
- ZEND_FETCH_RESOURCE(ib_result, ibase_result *, &result_arg, -1, LE_RESULT, le_result);
- zend_list_delete(Z_RESVAL_P(result_arg));
+ ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, LE_RESULT, le_result);
+ zend_list_delete(Z_RES_P(result_arg));
RETURN_TRUE;
}
/* }}} */
@@ -1748,18 +1750,18 @@ PHP_FUNCTION(ibase_prepare)
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &link_arg, &query, &query_len) == FAILURE) {
return;
}
- _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, &link_arg, &ib_link, &trans);
+ _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, link_arg, &ib_link, &trans);
if (trans != NULL) {
- trans_res_id = Z_RESVAL_P(link_arg);
+ trans_res_id = Z_RES_P(link_arg)->handle;
}
} else {
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rrs", &link_arg, &trans_arg, &query, &query_len) == FAILURE) {
return;
}
- ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, &link_arg, -1, LE_LINK, le_link, le_plink);
- ZEND_FETCH_RESOURCE(trans, ibase_trans *, &trans_arg, -1, LE_TRANS, le_trans);
- trans_res_id = Z_RESVAL_P(trans_arg);
+ ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, link_arg, -1, LE_LINK, le_link, le_plink);
+ ZEND_FETCH_RESOURCE(trans, ibase_trans *, trans_arg, -1, LE_TRANS, le_trans);
+ trans_res_id = Z_RES_P(trans_arg)->handle;
}
if (FAILURE == _php_ibase_def_trans(ib_link, &trans TSRMLS_CC)) {
@@ -1773,6 +1775,7 @@ PHP_FUNCTION(ibase_prepare)
RETURN_FALSE;
}
ZEND_REGISTER_RESOURCE(return_value, ib_query, le_query);
+ Z_ADDREF_P(return_value);
}
/* }}} */
@@ -1780,24 +1783,23 @@ PHP_FUNCTION(ibase_prepare)
Execute a previously prepared query */
PHP_FUNCTION(ibase_execute)
{
- zval *query, ***args = NULL;
+ zval *query, *args = NULL;
ibase_query *ib_query;
ibase_result *result = NULL;
- ALLOCA_FLAG(use_heap)
+ int bind_n = 0;
RESET_ERRMSG;
RETVAL_FALSE;
- if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() ? 1 : 0 TSRMLS_CC, "r", &query)) {
+ if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r*", &query, &args, &bind_n)) {
return;
}
- ZEND_FETCH_RESOURCE(ib_query, ibase_query *, &query, -1, LE_QUERY, le_query);
+ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, query, -1, LE_QUERY, le_query);
do {
- int bind_n = ZEND_NUM_ARGS() - 1,
- expected_n = ib_query->in_sqlda ? ib_query->in_sqlda->sqld : 0;
+ int expected_n = ib_query->in_sqlda ? ib_query->in_sqlda->sqld : 0;
if (bind_n != expected_n) {
php_error_docref(NULL TSRMLS_CC, (bind_n < expected_n) ? E_WARNING : E_NOTICE,
@@ -1808,16 +1810,11 @@ PHP_FUNCTION(ibase_execute)
}
}
- /* have variables to bind */
- args = (zval ***) do_alloca((expected_n + 1) * sizeof(zval **), use_heap);
-
- if (FAILURE == zend_get_parameters_array_ex((expected_n + 1), args)) {
- break;
- }
-
/* Have we used this cursor before and it's still open (exec proc has no cursor) ? */
if (ib_query->result_res_id != 0
&& ib_query->statement_type != isc_info_sql_stmt_exec_procedure) {
+ zval *res;
+
IBDEBUG("Implicitly closing a cursor");
if (isc_dsql_free_statement(IB_STATUS, &ib_query->stmt, DSQL_close)) {
@@ -1825,32 +1822,37 @@ PHP_FUNCTION(ibase_execute)
break;
}
/* invalidate previous results returned by this query (not necessary for exec proc) */
- zend_list_delete(ib_query->result_res_id);
+ res = zend_hash_index_find(&EG(regular_list), ib_query->result_res_id);
+ if (res) {
+ zend_list_delete(Z_RES_P(res));
+ }
}
if (FAILURE == _php_ibase_exec(INTERNAL_FUNCTION_PARAM_PASSTHRU, &result, ib_query,
- &args[1])) {
+ args)) {
break;
}
/* free the query if trans handle was released */
if (ib_query->trans->handle == NULL) {
- zend_list_delete(Z_LVAL_P(query));
+ zend_list_delete(Z_RES_P(query));
}
if (result != NULL) {
+ zval *ret;
+
result->type = EXECUTE_RESULT;
if (ib_query->statement_type == isc_info_sql_stmt_exec_procedure) {
result->stmt = NULL;
}
- ib_query->result_res_id = zend_list_insert(result, le_result TSRMLS_CC);
- RETVAL_RESOURCE(ib_query->result_res_id);
+
+ ret = zend_list_insert(result, le_result TSRMLS_CC);
+ ib_query->result_res_id = Z_RES_HANDLE_P(ret);
+ ZVAL_COPY_VALUE(return_value, ret);
+ Z_ADDREF_P(return_value);
+ Z_ADDREF_P(return_value);
}
} while (0);
-
- if (args) {
- free_alloca(args, use_heap);
- }
}
/* }}} */
@@ -1867,8 +1869,8 @@ PHP_FUNCTION(ibase_free_query)
return;
}
- ZEND_FETCH_RESOURCE(ib_query, ibase_query *, &query_arg, -1, LE_QUERY, le_query);
- zend_list_delete(Z_RESVAL_P(query_arg));
+ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, query_arg, -1, LE_QUERY, le_query);
+ zend_list_close(Z_RES_P(query_arg));
RETURN_TRUE;
}
/* }}} */
@@ -1887,17 +1889,17 @@ PHP_FUNCTION(ibase_num_fields)
return;
}
- zend_list_find(Z_RESVAL_P(result), &type);
+ type = Z_RES_P(result)->type;
if (type == le_query) {
ibase_query *ib_query;
- ZEND_FETCH_RESOURCE(ib_query, ibase_query *, &result, -1, LE_QUERY, le_query);
+ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, result, -1, LE_QUERY, le_query);
sqlda = ib_query->out_sqlda;
} else {
ibase_result *ib_result;
- ZEND_FETCH_RESOURCE(ib_result, ibase_result *, &result, -1, LE_RESULT, le_result);
+ ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result, -1, LE_RESULT, le_result);
sqlda = ib_result->out_sqlda;
}
@@ -2011,17 +2013,17 @@ PHP_FUNCTION(ibase_field_info)
return;
}
- zend_list_find(Z_RESVAL_P(result_arg), &type);
+ type = Z_RES_P(result_arg)->type;
if (type == le_query) {
ibase_query *ib_query;
- ZEND_FETCH_RESOURCE(ib_query, ibase_query *, &result_arg, -1, LE_QUERY, le_query);
+ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, result_arg, -1, LE_QUERY, le_query);
sqlda = ib_query->out_sqlda;
} else {
ibase_result *ib_result;
- ZEND_FETCH_RESOURCE(ib_result, ibase_result *, &result_arg, -1, LE_RESULT, le_result);
+ ZEND_FETCH_RESOURCE(ib_result, ibase_result *, result_arg, -1, LE_RESULT, le_result);
sqlda = ib_result->out_sqlda;
}
@@ -2050,7 +2052,7 @@ PHP_FUNCTION(ibase_num_params)
return;
}
- ZEND_FETCH_RESOURCE(ib_query, ibase_query *, &result, -1, LE_QUERY, le_query);
+ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, result, -1, LE_QUERY, le_query);
if (ib_query->in_sqlda == NULL) {
RETURN_LONG(0);
@@ -2074,7 +2076,7 @@ PHP_FUNCTION(ibase_param_info)
return;
}
- ZEND_FETCH_RESOURCE(ib_query, ibase_query *, &result_arg, -1, LE_QUERY, le_query);
+ ZEND_FETCH_RESOURCE(ib_query, ibase_query *, result_arg, -1, LE_QUERY, le_query);
if (ib_query->in_sqlda == NULL) {
RETURN_FALSE;
diff --git a/ext/interbase/ibase_service.c b/ext/interbase/ibase_service.c
index 2de77bc353..95f068e7ff 100644
--- a/ext/interbase/ibase_service.c
+++ b/ext/interbase/ibase_service.c
@@ -31,12 +31,12 @@ typedef struct {
isc_svc_handle handle;
char *hostname;
char *username;
- long res_id;
+ zend_resource *res;
} ibase_service;
static int le_service;
-static void _php_ibase_free_service(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ */
+static void _php_ibase_free_service(zend_resource *rsrc TSRMLS_DC) /* {{{ */
{
ibase_service *sv = (ibase_service *) rsrc->ptr;
@@ -58,7 +58,7 @@ static void _php_ibase_free_service(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{
/* the svc api seems to get confused after an error has occurred,
so invalidate the handle on errors */
#define IBASE_SVC_ERROR(svm) \
- do { zend_list_delete(svm->res_id); _php_ibase_error(TSRMLS_C); } while (0)
+ do { zend_list_delete(svm->res); _php_ibase_error(TSRMLS_C); } while (0)
void php_ibase_service_minit(INIT_FUNC_ARGS) /* {{{ */
@@ -151,7 +151,7 @@ static void _php_ibase_user(INTERNAL_FUNCTION_PARAMETERS, char operation) /* {{{
RETURN_FALSE;
}
- ZEND_FETCH_RESOURCE(svm, ibase_service *, &res, -1, "Interbase service manager handle",
+ ZEND_FETCH_RESOURCE(svm, ibase_service *, res, -1, "Interbase service manager handle",
le_service);
buf[0] = operation;
@@ -246,7 +246,8 @@ PHP_FUNCTION(ibase_service_attach)
svm->username = estrdup(user);
ZEND_REGISTER_RESOURCE(return_value, svm, le_service);
- svm->res_id = Z_LVAL_P(return_value);
+ Z_ADDREF_P(return_value);
+ svm->res = Z_RES_P(return_value);
}
/* }}} */
@@ -262,7 +263,7 @@ PHP_FUNCTION(ibase_service_detach)
RETURN_FALSE;
}
- zend_list_delete(Z_LVAL_P(res));
+ zend_list_delete(Z_RES_P(res));
RETURN_TRUE;
}
@@ -304,7 +305,9 @@ query_loop:
if (! (line_len = isc_vax_integer(result, 2))) {
/* done */
if (heap_buf) {
- RETURN_STRING(heap_buf,0);
+ RETVAL_STRING(heap_buf);
+ efree(heap_buf);
+ return;
} else {
RETURN_TRUE;
}
@@ -330,7 +333,7 @@ query_loop:
case isc_info_svc_get_env_lock:
case isc_info_svc_get_env_msg:
case isc_info_svc_user_dbpath:
- RETURN_STRINGL(result + 2, isc_vax_integer(result, 2), 1);
+ RETURN_STRINGL(result + 2, isc_vax_integer(result, 2));
case isc_info_svc_svr_db_info:
array_init(return_value);
@@ -358,7 +361,7 @@ query_loop:
return;
case isc_info_svc_get_users: {
- zval *user;
+ zval user;
array_init(return_value);
while (*result != isc_info_end) {
@@ -368,40 +371,39 @@ query_loop:
case isc_spb_sec_username:
/* it appears that the username is always first */
- ALLOC_INIT_ZVAL(user);
- array_init(user);
- add_next_index_zval(return_value, user);
+ array_init(&user);
+ add_next_index_zval(return_value, &user);
len = isc_vax_integer(result,2);
- add_assoc_stringl(user, "user_name", result +2, len);
+ add_assoc_stringl(&user, "user_name", result +2, len);
result += len+2;
break;
case isc_spb_sec_firstname:
len = isc_vax_integer(result,2);
- add_assoc_stringl(user, "first_name", result +2, len);
+ add_assoc_stringl(&user, "first_name", result +2, len);
result += len+2;
break;
case isc_spb_sec_middlename:
len = isc_vax_integer(result,2);
- add_assoc_stringl(user, "middle_name", result +2, len);
+ add_assoc_stringl(&user, "middle_name", result +2, len);
result += len+2;
break;
case isc_spb_sec_lastname:
len = isc_vax_integer(result,2);
- add_assoc_stringl(user, "last_name", result +2, len);
+ add_assoc_stringl(&user, "last_name", result +2, len);
result += len+2;
break;
case isc_spb_sec_userid:
- add_assoc_long(user, "user_id", isc_vax_integer(result, 4));
+ add_assoc_long(&user, "user_id", isc_vax_integer(result, 4));
result += 4;
break;
case isc_spb_sec_groupid:
- add_assoc_long(user, "group_id", isc_vax_integer(result, 4));
+ add_assoc_long(&user, "group_id", isc_vax_integer(result, 4));
result += 4;
break;
}
@@ -435,7 +437,7 @@ static void _php_ibase_backup_restore(INTERNAL_FUNCTION_PARAMETERS, char operati
RETURN_FALSE;
}
- ZEND_FETCH_RESOURCE(svm, ibase_service *, &res, -1,
+ ZEND_FETCH_RESOURCE(svm, ibase_service *, res, -1,
"Interbase service manager handle", le_service);
/* fill the param buffer */
@@ -498,7 +500,7 @@ static void _php_ibase_service_action(INTERNAL_FUNCTION_PARAMETERS, char svc_act
RETURN_FALSE;
}
- ZEND_FETCH_RESOURCE(svm, ibase_service *, &res, -1,
+ ZEND_FETCH_RESOURCE(svm, ibase_service *, res, -1,
"Interbase service manager handle", le_service);
if (svc_action == isc_action_svc_db_stats) {
@@ -604,7 +606,7 @@ PHP_FUNCTION(ibase_server_info)
RETURN_FALSE;
}
- ZEND_FETCH_RESOURCE(svm, ibase_service *, &res, -1,
+ ZEND_FETCH_RESOURCE(svm, ibase_service *, res, -1,
"Interbase service manager handle", le_service);
_php_ibase_service_query(INTERNAL_FUNCTION_PARAM_PASSTHRU, svm, (char)action);
diff --git a/ext/interbase/interbase.c b/ext/interbase/interbase.c
index 19f061b17f..c6c108f377 100644
--- a/ext/interbase/interbase.c
+++ b/ext/interbase/interbase.c
@@ -479,7 +479,7 @@ PHP_FUNCTION(ibase_errmsg)
}
if (IBG(sql_code) != 0) {
- RETURN_STRING(IBG(errmsg), 1);
+ RETURN_STRING(IBG(errmsg));
}
RETURN_FALSE;
@@ -550,25 +550,21 @@ typedef struct {
/* Fill ib_link and trans with the correct database link and transaction. */
void _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAMETERS, /* {{{ */
- zval **link_id, ibase_db_link **ib_link, ibase_trans **trans)
+ zval *link_id, ibase_db_link **ib_link, ibase_trans **trans)
{
- int type;
-
IBDEBUG("Transaction or database link?");
- if (zend_list_find(Z_LVAL_PP(link_id), &type)) {
- if (type == le_trans) {
- /* Transaction resource: make sure it refers to one link only, then
- fetch it; database link is stored in ib_trans->db_link[]. */
- IBDEBUG("Type is le_trans");
- ZEND_FETCH_RESOURCE(*trans, ibase_trans *, link_id, -1, LE_TRANS, le_trans);
- if ((*trans)->link_cnt > 1) {
- _php_ibase_module_error("Link id is ambiguous: transaction spans multiple connections."
- TSRMLS_CC);
- return;
- }
- *ib_link = (*trans)->db_link[0];
+ if (Z_RES_P(link_id)->type == le_trans) {
+ /* Transaction resource: make sure it refers to one link only, then
+ fetch it; database link is stored in ib_trans->db_link[]. */
+ IBDEBUG("Type is le_trans");
+ ZEND_FETCH_RESOURCE(*trans, ibase_trans *, link_id, -1, LE_TRANS, le_trans);
+ if ((*trans)->link_cnt > 1) {
+ _php_ibase_module_error("Link id is ambiguous: transaction spans multiple connections."
+ TSRMLS_CC);
return;
- }
+ }
+ *ib_link = (*trans)->db_link[0];
+ return;
}
IBDEBUG("Type is le_[p]link or id not found");
/* Database link resource, use default transaction. */
@@ -627,7 +623,7 @@ static void _php_ibase_commit_link(ibase_db_link *link TSRMLS_DC) /* {{{ */
/* }}} */
-static void php_ibase_commit_link_rsrc(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ */
+static void php_ibase_commit_link_rsrc(zend_resource *rsrc TSRMLS_DC) /* {{{ */
{
ibase_db_link *link = (ibase_db_link *) rsrc->ptr;
@@ -635,7 +631,7 @@ static void php_ibase_commit_link_rsrc(zend_rsrc_list_entry *rsrc TSRMLS_DC) /*
}
/* }}} */
-static void _php_ibase_close_link(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ */
+static void _php_ibase_close_link(zend_resource *rsrc TSRMLS_DC) /* {{{ */
{
ibase_db_link *link = (ibase_db_link *) rsrc->ptr;
@@ -649,7 +645,7 @@ static void _php_ibase_close_link(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ *
}
/* }}} */
-static void _php_ibase_close_plink(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ */
+static void _php_ibase_close_plink(zend_resource *rsrc TSRMLS_DC) /* {{{ */
{
ibase_db_link *link = (ibase_db_link *) rsrc->ptr;
@@ -664,7 +660,7 @@ static void _php_ibase_close_plink(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{
}
/* }}} */
-static void _php_ibase_free_trans(zend_rsrc_list_entry *rsrc TSRMLS_DC) /* {{{ */
+static void _php_ibase_free_trans(zend_resource *rsrc TSRMLS_DC) /* {{{ */
{
ibase_trans *trans = (ibase_trans *)rsrc->ptr;
unsigned short i;
@@ -781,8 +777,8 @@ PHP_MSHUTDOWN_FUNCTION(ibase)
* be unloaded automatically when the process exits.
*/
zend_module_entry *ibase_entry;
- if (SUCCESS == zend_hash_find(&module_registry, ibase_module_entry.name,
- strlen(ibase_module_entry.name) +1, (void*) &ibase_entry)) {
+ if ((ibase_entry = zend_hash_str_find_ptr(&module_registry, ibase_module_entry.name,
+ strlen(ibase_module_entry.name))) != NULL) {
ibase_entry->handle = NULL;
}
#endif
@@ -890,7 +886,7 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) /*
int i, len[] = { 0, 0, 0, 0, 0 };
long largs[] = { 0, 0, 0 };
PHP_MD5_CTX hash_context;
- zend_rsrc_list_entry new_index_ptr, *le;
+ zend_resource new_index_ptr, *le;
isc_db_handle db_handle = NULL;
ibase_db_link *ib_link;
@@ -929,48 +925,52 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) /*
for (i = 0; i < sizeof(largs)/sizeof(long); ++i) {
PHP_MD5Update(&hash_context,(char*)&largs[i],sizeof(long));
}
- PHP_MD5Final(hash, &hash_context);
+ PHP_MD5Final((unsigned char*)hash, &hash_context);
/* try to reuse a connection */
- if (SUCCESS == zend_hash_find(&EG(regular_list), hash, sizeof(hash), (void *) &le)) {
- long xlink;
- int type;
+ if ((le = zend_hash_str_find_ptr(&EG(regular_list), hash, sizeof(hash)-1)) != NULL) {
+ zend_resource *xlink;
- if (Z_TYPE_P(le) != le_index_ptr) {
+ if (le->type != le_index_ptr) {
RETURN_FALSE;
}
- xlink = (long) le->ptr;
- if (zend_list_find(xlink, &type) && ((!persistent && type == le_link) || type == le_plink)) {
- zend_list_addref(xlink);
- RETURN_RESOURCE(IBG(default_link) = xlink);
+ xlink = (zend_resource*) le->ptr;
+ if ((!persistent && xlink->type == le_link) || xlink->type == le_plink) {
+ if (IBG(default_link) > 0) {
+ zval *link = zend_hash_index_find(&EG(regular_list), IBG(default_link));
+ if (link) {
+ zend_list_delete(Z_RES_P(link));
+ }
+ }
+ xlink->gc.refcount++;
+ xlink->gc.refcount++;
+ IBG(default_link) = xlink->handle;
+ RETURN_RES(xlink);
} else {
- zend_hash_del(&EG(regular_list), hash, sizeof(hash));
+ zend_hash_str_del(&EG(regular_list), hash, sizeof(hash)-1);
}
}
/* ... or a persistent one */
- switch (zend_hash_find(&EG(persistent_list), hash, sizeof(hash), (void *) &le)) {
+ do {
long l;
-
static char info[] = { isc_info_base_level, isc_info_end };
char result[8];
ISC_STATUS status[20];
- case SUCCESS:
-
- if (Z_TYPE_P(le) != le_plink) {
- RETURN_FALSE;
- }
- /* check if connection has timed out */
- ib_link = (ibase_db_link *) le->ptr;
- if (!isc_database_info(status, &ib_link->handle, sizeof(info), info, sizeof(result), result)) {
- ZEND_REGISTER_RESOURCE(return_value, ib_link, le_plink);
- break;
+ if ((le = zend_hash_str_find_ptr(&EG(persistent_list), hash, sizeof(hash)-1)) != NULL) {
+ if (le->type != le_plink) {
+ RETURN_FALSE;
+ }
+ /* check if connection has timed out */
+ ib_link = (ibase_db_link *) le->ptr;
+ if (!isc_database_info(status, &ib_link->handle, sizeof(info), info, sizeof(result), result)) {
+ ZEND_REGISTER_RESOURCE(return_value, ib_link, le_plink);
+ break;
+ }
+ zend_hash_str_del(&EG(persistent_list), hash, sizeof(hash)-1);
}
- zend_hash_del(&EG(persistent_list), hash, sizeof(hash));
-
- default:
/* no link found, so we have to open one */
@@ -989,7 +989,7 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) /*
ib_link = (ibase_db_link *) emalloc(sizeof(ibase_db_link));
ZEND_REGISTER_RESOURCE(return_value, ib_link, le_link);
} else {
- zend_rsrc_list_entry new_le;
+ zend_resource new_le;
ib_link = (ibase_db_link *) malloc(sizeof(ibase_db_link));
if (!ib_link) {
@@ -997,10 +997,10 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) /*
}
/* hash it up */
- Z_TYPE(new_le) = le_plink;
+ new_le.type = le_plink;
new_le.ptr = ib_link;
- if (FAILURE == zend_hash_update(&EG(persistent_list), hash, sizeof(hash),
- (void *) &new_le, sizeof(zend_rsrc_list_entry), NULL)) {
+ if (zend_hash_str_update_mem(&EG(persistent_list), hash, sizeof(hash)-1,
+ (void *) &new_le, sizeof(zend_resource)) == NULL) {
free(ib_link);
RETURN_FALSE;
}
@@ -1013,16 +1013,24 @@ static void _php_ibase_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) /*
ib_link->event_head = NULL;
++IBG(num_links);
- }
+ } while (0);
/* add it to the hash */
- new_index_ptr.ptr = (void *) Z_LVAL_P(return_value);
- Z_TYPE(new_index_ptr) = le_index_ptr;
- if (FAILURE == zend_hash_update(&EG(regular_list), hash, sizeof(hash),
- (void *) &new_index_ptr, sizeof(zend_rsrc_list_entry), NULL)) {
+ new_index_ptr.ptr = (void *) Z_RES_P(return_value);
+ new_index_ptr.type = le_index_ptr;
+ if (zend_hash_str_update_mem(&EG(regular_list), hash, sizeof(hash)-1,
+ (void *) &new_index_ptr, sizeof(zend_resource)) == NULL) {
RETURN_FALSE;
}
- zend_list_addref(IBG(default_link) = Z_LVAL_P(return_value));
+ if (IBG(default_link) > 0) {
+ zval *link = zend_hash_index_find(&EG(regular_list), IBG(default_link));
+ if (link) {
+ zend_list_delete(Z_RES_P(link));
+ }
+ }
+ IBG(default_link) = Z_RES_P(return_value)->handle;
+ Z_ADDREF_P(return_value);
+ Z_ADDREF_P(return_value);
}
/* }}} */
@@ -1061,11 +1069,20 @@ PHP_FUNCTION(ibase_close)
CHECK_LINK(link_id);
IBG(default_link) = -1;
} else {
- link_id = Z_RESVAL_P(link_arg);
+ link_id = Z_RES_P(link_arg)->handle;
}
- ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, &link_arg, link_id, LE_LINK, le_link, le_plink);
- zend_list_delete(link_id);
+ ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, link_arg, link_id, LE_LINK, le_link, le_plink);
+ if (!link_arg) {
+ link_arg = zend_hash_index_find(&EG(regular_list), link_id);
+ zend_list_delete(Z_RES_P(link_arg));
+ }
+ /* we have at least 3 additional references to this resource ??? */
+ if (GC_REFCOUNT(Z_RES_P(link_arg)) < 4) {
+ zend_list_close(Z_RES_P(link_arg));
+ } else {
+ zend_list_delete(Z_RES_P(link_arg));
+ }
RETURN_TRUE;
}
/* }}} */
@@ -1090,10 +1107,10 @@ PHP_FUNCTION(ibase_drop_db)
CHECK_LINK(link_id);
IBG(default_link) = -1;
} else {
- link_id = Z_RESVAL_P(link_arg);
+ link_id = Z_RES_P(link_arg)->handle;
}
- ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, &link_arg, link_id, LE_LINK, le_link, le_plink);
+ ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, link_arg, link_id, LE_LINK, le_link, le_plink);
if (isc_drop_database(IB_STATUS, &ib_link->handle)) {
_php_ibase_error(TSRMLS_C);
@@ -1105,7 +1122,11 @@ PHP_FUNCTION(ibase_drop_db)
if (l->trans != NULL) l->trans->handle = NULL;
}
- zend_list_delete(link_id);
+ if (!link_arg) {
+ link_arg = zend_hash_index_find(&EG(regular_list), link_id);
+ zend_list_delete(Z_RES_P(link_arg));
+ }
+ zend_list_delete(Z_RES_P(link_arg));
RETURN_TRUE;
}
/* }}} */
@@ -1136,10 +1157,9 @@ PHP_FUNCTION(ibase_trans)
long trans_argl = 0;
char *tpb;
ISC_TEB *teb;
- zval ***args = NULL;
+ zval *args = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "+", &args, &argn) == FAILURE) {
- efree(args);
efree(ib_link);
RETURN_FALSE;
}
@@ -1151,13 +1171,12 @@ PHP_FUNCTION(ibase_trans)
specifies modifiers for the link ids that follow it */
for (i = 0; i < argn; ++i) {
- if (Z_TYPE_PP(args[i]) == IS_RESOURCE) {
+ if (Z_TYPE(args[i]) == IS_RESOURCE) {
- if (!ZEND_FETCH_RESOURCE2_NO_RETURN(ib_link[link_cnt], ibase_db_link *, args[i], -1, LE_LINK, le_link, le_plink)) {
+ if (!ZEND_FETCH_RESOURCE2_NO_RETURN(ib_link[link_cnt], ibase_db_link *, &args[i], -1, LE_LINK, le_link, le_plink)) {
efree(teb);
efree(tpb);
efree(ib_link);
- efree(args);
RETURN_FALSE;
}
@@ -1175,8 +1194,8 @@ PHP_FUNCTION(ibase_trans)
tpb_len = 0;
- convert_to_long_ex(args[i]);
- trans_argl = Z_LVAL_PP(args[i]);
+ convert_to_long_ex(&args[i]);
+ trans_argl = Z_LVAL(args[i]);
if (trans_argl != PHP_IBASE_DEFAULT) {
last_tpb[tpb_len++] = isc_tpb_version3;
@@ -1216,7 +1235,6 @@ PHP_FUNCTION(ibase_trans)
result = isc_start_multiple(IB_STATUS, &tr_handle, link_cnt, teb);
}
- efree(args);
efree(tpb);
efree(teb);
}
@@ -1261,6 +1279,7 @@ PHP_FUNCTION(ibase_trans)
}
efree(ib_link);
ZEND_REGISTER_RESOURCE(return_value, ib_trans, le_trans);
+ Z_ADDREF_P(return_value);
}
/* }}} */
@@ -1308,7 +1327,6 @@ static void _php_ibase_trans_end(INTERNAL_FUNCTION_PARAMETERS, int commit) /* {{
ISC_STATUS result;
ibase_db_link *ib_link;
zval *arg = NULL;
- int type;
RESET_ERRMSG;
@@ -1326,11 +1344,11 @@ static void _php_ibase_trans_end(INTERNAL_FUNCTION_PARAMETERS, int commit) /* {{
trans = ib_link->tr_list->trans;
} else {
/* one id was passed, could be db or trans id */
- if (zend_list_find(Z_RESVAL_P(arg), &type) && type == le_trans) {
- ZEND_FETCH_RESOURCE(trans, ibase_trans *, &arg, -1, LE_TRANS, le_trans);
- res_id = Z_RESVAL_P(arg);
+ if (Z_RES_P(arg)->type == le_trans) {
+ ZEND_FETCH_RESOURCE(trans, ibase_trans *, arg, -1, LE_TRANS, le_trans);
+ res_id = Z_RES_P(arg)->handle;
} else {
- ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, &arg, -1, LE_LINK, le_link, le_plink);
+ ZEND_FETCH_RESOURCE2(ib_link, ibase_db_link *, arg, -1, LE_LINK, le_link, le_plink);
if (ib_link->tr_list == NULL || ib_link->tr_list->trans == NULL) {
/* this link doesn't have a default transaction */
@@ -1363,7 +1381,7 @@ static void _php_ibase_trans_end(INTERNAL_FUNCTION_PARAMETERS, int commit) /* {{
/* Don't try to destroy implicitly opened transaction from list... */
if ((commit & RETAIN) == 0 && res_id != 0) {
- zend_list_delete(res_id);
+ zend_list_delete(Z_RES_P(arg));
}
RETURN_TRUE;
}
diff --git a/ext/interbase/php_ibase_includes.h b/ext/interbase/php_ibase_includes.h
index 6671c9162d..72eb0702a6 100644
--- a/ext/interbase/php_ibase_includes.h
+++ b/ext/interbase/php_ibase_includes.h
@@ -101,7 +101,7 @@ typedef struct event {
unsigned short event_count;
char **events;
char *event_buffer, *result_buffer;
- zval *callback;
+ zval callback;
void **thread_ctx;
struct event *event_next;
enum event_state { NEW, ACTIVE, DEAD } state;
@@ -155,17 +155,17 @@ void _php_ibase_module_error(char * TSRMLS_DC, ...)
PHP_ATTRIBUTE_FORMAT(printf,1,PHP_ATTR_FMT_OFFSET +2);
/* determine if a resource is a link or transaction handle */
-#define PHP_IBASE_LINK_TRANS(pzval, lh, th) \
- do { if (!pzval) { \
+#define PHP_IBASE_LINK_TRANS(zv, lh, th) \
+ do { if (!zv) { \
ZEND_FETCH_RESOURCE2(lh, ibase_db_link *, NULL, IBG(default_link), \
"InterBase link", le_link, le_plink) } \
else \
- _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, &pzval, &lh, &th); \
+ _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAM_PASSTHRU, zv, &lh, &th); \
if (SUCCESS != _php_ibase_def_trans(lh, &th TSRMLS_CC)) { RETURN_FALSE; } \
} while (0)
int _php_ibase_def_trans(ibase_db_link *ib_link, ibase_trans **trans TSRMLS_DC);
-void _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAMETERS, zval **link_id,
+void _php_ibase_get_link_trans(INTERNAL_FUNCTION_PARAMETERS, zval *link_id,
ibase_db_link **ib_link, ibase_trans **trans);
/* provided by ibase_query.c */
@@ -176,7 +176,7 @@ void php_ibase_blobs_minit(INIT_FUNC_ARGS);
int _php_ibase_string_to_quad(char const *id, ISC_QUAD *qd);
char *_php_ibase_quad_to_string(ISC_QUAD const qd);
int _php_ibase_blob_get(zval *return_value, ibase_blob *ib_blob, unsigned long max_len TSRMLS_DC);
-int _php_ibase_blob_add(zval **string_arg, ibase_blob *ib_blob TSRMLS_DC);
+int _php_ibase_blob_add(zval *string_arg, ibase_blob *ib_blob TSRMLS_DC);
/* provided by ibase_events.c */
void php_ibase_events_minit(INIT_FUNC_ARGS);
diff --git a/ext/interbase/php_ibase_udf.c b/ext/interbase/php_ibase_udf.c
index e96b734291..5a53df8b6b 100644
--- a/ext/interbase/php_ibase_udf.c
+++ b/ext/interbase/php_ibase_udf.c
@@ -183,12 +183,11 @@ static ISC_INT64 const scales[] = { 1, 10, 100, 1000, 10000, 100000, 1000000, 10
static void call_php(char *name, PARAMDSC *r, int argc, PARAMDSC **argv)
{
do {
- zval callback, args[4], *argp[4], return_value;
+ zval callback, args[4], return_value;
PARAMVARY *res = (PARAMVARY*)r->dsc_address;
int i;
- INIT_ZVAL(callback);
- ZVAL_STRING(&callback,name,0);
+ ZVAL_STRING(&callback, name);
LOCK();
@@ -202,12 +201,9 @@ static void call_php(char *name, PARAMDSC *r, int argc, PARAMDSC **argv)
/* create the argument array */
for (i = 0; i < argc; ++i) {
- INIT_ZVAL(args[i]);
- argp[i] = &args[i];
-
/* test arg for null */
if (argv[i]->dsc_flags & DSC_null) {
- ZVAL_NULL(argp[i]);
+ ZVAL_NULL(&args[i]);
continue;
}
@@ -218,32 +214,35 @@ static void call_php(char *name, PARAMDSC *r, int argc, PARAMDSC **argv)
char d[64];
case dtype_cstring:
- ZVAL_STRING(argp[i], (char*)argv[i]->dsc_address,0);
+//???
+ ZVAL_STRING(&args[i], (char*)argv[i]->dsc_address);
break;
case dtype_text:
- ZVAL_STRINGL(argp[i], (char*)argv[i]->dsc_address, argv[i]->dsc_length,0);
+//???
+ ZVAL_STRINGL(&args[i], (char*)argv[i]->dsc_address, argv[i]->dsc_length);
break;
case dtype_varying:
- ZVAL_STRINGL(argp[i], ((PARAMVARY*)argv[i]->dsc_address)->vary_string,
- ((PARAMVARY*)argv[i]->dsc_address)->vary_length,0);
+//???
+ ZVAL_STRINGL(&args[i], ((PARAMVARY*)argv[i]->dsc_address)->vary_string,
+ ((PARAMVARY*)argv[i]->dsc_address)->vary_length);
break;
case dtype_short:
if (argv[i]->dsc_scale == 0) {
- ZVAL_LONG(argp[i], *(short*)argv[i]->dsc_address);
+ ZVAL_LONG(&args[i], *(short*)argv[i]->dsc_address);
} else {
- ZVAL_DOUBLE(argp[i],
+ ZVAL_DOUBLE(&args[i],
((double)*(short*)argv[i]->dsc_address)/scales[-argv[i]->dsc_scale]);
}
break;
case dtype_long:
if (argv[i]->dsc_scale == 0) {
- ZVAL_LONG(argp[i], *(ISC_LONG*)argv[i]->dsc_address);
+ ZVAL_LONG(&args[i], *(ISC_LONG*)argv[i]->dsc_address);
} else {
- ZVAL_DOUBLE(argp[i],
+ ZVAL_DOUBLE(&args[i],
((double)*(ISC_LONG*)argv[i]->dsc_address)/scales[-argv[i]->dsc_scale]);
}
break;
@@ -252,33 +251,33 @@ static void call_php(char *name, PARAMDSC *r, int argc, PARAMDSC **argv)
l = *(ISC_INT64*)argv[i]->dsc_address;
if (argv[i]->dsc_scale == 0 && l <= LONG_MAX && l >= LONG_MIN) {
- ZVAL_LONG(argp[i], (long)l);
+ ZVAL_LONG(&args[i], (long)l);
} else {
- ZVAL_DOUBLE(argp[i], ((double)l)/scales[-argv[i]->dsc_scale]);
+ ZVAL_DOUBLE(&args[i], ((double)l)/scales[-argv[i]->dsc_scale]);
}
break;
case dtype_real:
- ZVAL_DOUBLE(argp[i], *(float*)argv[i]->dsc_address);
+ ZVAL_DOUBLE(&args[i], *(float*)argv[i]->dsc_address);
break;
case dtype_double:
- ZVAL_DOUBLE(argp[i], *(double*)argv[i]->dsc_address);
+ ZVAL_DOUBLE(&args[i], *(double*)argv[i]->dsc_address);
break;
case dtype_sql_date:
isc_decode_sql_date((ISC_DATE*)argv[i]->dsc_address, &t);
- ZVAL_STRINGL(argp[i], d, strftime(d, sizeof(d), INI_STR("ibase.dateformat"), &t),1);
+ ZVAL_STRINGL(&args[i], d, strftime(d, sizeof(d), INI_STR("ibase.dateformat"), &t),1);
break;
case dtype_sql_time:
isc_decode_sql_time((ISC_TIME*)argv[i]->dsc_address, &t);
- ZVAL_STRINGL(argp[i], d, strftime(d, sizeof(d), INI_STR("ibase.timeformat"), &t),1);
+ ZVAL_STRINGL(&args[i], d, strftime(d, sizeof(d), INI_STR("ibase.timeformat"), &t),1);
break;
case dtype_timestamp:
isc_decode_timestamp((ISC_TIMESTAMP*)argv[i]->dsc_address, &t);
- ZVAL_STRINGL(argp[i], d, strftime(d, sizeof(d), INI_STR("ibase.timestampformat"), &t),1);
+ ZVAL_STRINGL(&args[i], d, strftime(d, sizeof(d), INI_STR("ibase.timestampformat"), &t));
break;
}
}
@@ -287,7 +286,7 @@ static void call_php(char *name, PARAMDSC *r, int argc, PARAMDSC **argv)
/* now call the function */
if (FAILURE == call_user_function(EG(function_table), NULL,
- &callback, &return_value, argc, argp TSRMLS_CC)) {
+ &callback, &return_value, argc, args TSRMLS_CC)) {
UNLOCK();
break;
}
@@ -299,11 +298,12 @@ static void call_php(char *name, PARAMDSC *r, int argc, PARAMDSC **argv)
case dtype_sql_date:
case dtype_sql_time:
case dtype_timestamp:
- zval_dtor(argp[i]);
-
+ zval_dtor(&args[i]);
}
}
+ zval_dtor(&callback);
+
/* return whatever type we got back from the callback: let DB handle conversion */
switch (Z_TYPE(return_value)) {
diff --git a/ext/interbase/tests/ibase_close_001.phpt b/ext/interbase/tests/ibase_close_001.phpt
index 6e31916abe..f74d109109 100644
--- a/ext/interbase/tests/ibase_close_001.phpt
+++ b/ext/interbase/tests/ibase_close_001.phpt
@@ -18,7 +18,7 @@ var_dump(ibase_close('foo'));
bool(true)
bool(true)
-Warning: ibase_close(): %d is not a valid Firebird/InterBase link resource in %s on line %d
+Warning: ibase_close(): supplied resource is not a valid Firebird/InterBase link resource in %s on line %d
bool(false)
Warning: ibase_close() expects parameter 1 to be resource,%string given in %s on line %d
diff --git a/ext/interbase/tests/ibase_free_query_001.phpt b/ext/interbase/tests/ibase_free_query_001.phpt
index bedec71731..069f0f0424 100644
--- a/ext/interbase/tests/ibase_free_query_001.phpt
+++ b/ext/interbase/tests/ibase_free_query_001.phpt
@@ -21,7 +21,7 @@ var_dump(ibase_free_query($x));
--EXPECTF--
bool(true)
-Warning: ibase_free_query(): 11 is not a valid Firebird/InterBase query resource in %s on line %d
+Warning: ibase_free_query(): supplied resource is not a valid Firebird/InterBase query resource in %s on line %d
bool(false)
Warning: ibase_free_query(): supplied resource is not a valid Firebird/InterBase query resource in %s on line %d
diff --git a/ext/intl/collator/collator_convert.c b/ext/intl/collator/collator_convert.c
index 3f5dd3ae66..1d8681582c 100644
--- a/ext/intl/collator/collator_convert.c
+++ b/ext/intl/collator/collator_convert.c
@@ -63,9 +63,11 @@ static void collator_convert_hash_item_from_utf8_to_utf16(
return;
/* Update current hash item with the converted value. */
- ZVAL_STRINGL( &znew_val, (char*)new_val, UBYTES(new_val_len) );
+ ZVAL_STRINGL( &znew_val, (char*)new_val, UBYTES(new_val_len + 1) );
//???
efree(new_val);
+ /* hack to fix use of initialized value */
+ Z_STRLEN(znew_val) = Z_STRLEN(znew_val) - UBYTES(1);
if( hashKey)
{
@@ -390,7 +392,7 @@ zval* collator_convert_string_to_number_if_possible( zval* str, zval *rv )
*
* @return zval* UTF16 string.
*/
-zval* collator_make_printable_zval( zval* arg, zval *rv )
+zval* collator_make_printable_zval( zval* arg, zval *rv)
{
zval arg_copy;
int use_copy = 0;
@@ -398,7 +400,9 @@ zval* collator_make_printable_zval( zval* arg, zval *rv )
if( Z_TYPE_P(arg) != IS_STRING )
{
- use_copy = zend_make_printable_zval(arg, &arg_copy);
+ TSRMLS_FETCH();
+
+ use_copy = zend_make_printable_zval(arg, &arg_copy TSRMLS_CC);
if( use_copy )
{
diff --git a/ext/intl/collator/collator_sort.c b/ext/intl/collator/collator_sort.c
index 8bf5449e14..43140b2f41 100644
--- a/ext/intl/collator/collator_sort.c
+++ b/ext/intl/collator/collator_sort.c
@@ -498,7 +498,7 @@ PHP_FUNCTION( collator_sort_with_sort_keys )
/* sort it */
zend_qsort( sortKeyIndxBuf, sortKeyCount, sortKeyIndxSize, collator_cmp_sort_keys TSRMLS_CC );
- zval_dtor( array );
+ zval_ptr_dtor( array );
/* for resulting hash we'll assign new hash keys rather then reordering */
array_init(array);
diff --git a/ext/intl/transliterator/transliterator_methods.c b/ext/intl/transliterator/transliterator_methods.c
index 25edd005ef..4403de08aa 100644
--- a/ext/intl/transliterator/transliterator_methods.c
+++ b/ext/intl/transliterator/transliterator_methods.c
@@ -463,7 +463,7 @@ cleanup:
RETVAL_FALSE;
}
- zval_ptr_dtor( &tmp_object );
+ /* zval_ptr_dtor( &tmp_object ); */
}
/* }}} */
diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c
index 6518f8d36a..f4124d306b 100644
--- a/ext/mysql/php_mysql.c
+++ b/ext/mysql/php_mysql.c
@@ -641,10 +641,9 @@ PHP_RINIT_FUNCTION(mysql)
/* }}} */
#if defined(A0) && defined(MYSQL_USE_MYSQLND)
-static int php_mysql_persistent_helper(zval *el;zend_rsrc_list_entry *le TSRMLS_DC)
+static int php_mysql_persistent_helper(zval *el TSRMLS_DC)
{
- //???
- //zend_rsrc_list_entry *le = (zend_rsrc_list_entry*)Z_PTR_P(el);
+ zend_resource *le = (zend_resource *)Z_PTR_P(el);
if (le->type == le_plink) {
mysqlnd_end_psession(((php_mysql_conn *) le->ptr)->conn);
}
@@ -1310,11 +1309,13 @@ PHP_FUNCTION(mysql_stat)
{
php_mysql_conn *mysql;
zval *mysql_link = NULL;
+#ifndef MYSQL_USE_MYSQLND
char *stat;
-#ifdef MYSQL_USE_MYSQLND
- uint stat_len;
+#else
+ zend_string *stat;
#endif
+
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &mysql_link) == FAILURE) {
return;
}
@@ -1332,10 +1333,8 @@ PHP_FUNCTION(mysql_stat)
if ((stat = (char *)mysql_stat(mysql->conn))) {
RETURN_STRING(stat);
#else
- if (mysqlnd_stat(mysql->conn, &stat, &stat_len) == PASS) {
- // TODO: avoid reallocation ???
- RETVAL_STRINGL(stat, stat_len);
- efree(stat);
+ if (mysqlnd_stat(mysql->conn, &stat) == PASS) {
+ RETURN_STR(stat);
#endif
} else {
RETURN_FALSE;
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
index 195eb41b5c..19f12417fe 100644
--- a/ext/mysqli/mysqli_api.c
+++ b/ext/mysqli/mysqli_api.c
@@ -2262,9 +2262,10 @@ PHP_FUNCTION(mysqli_stat)
{
MY_MYSQL *mysql;
zval *mysql_link;
- char *stat;
#if defined(MYSQLI_USE_MYSQLND)
- uint stat_len;
+ zend_string *stat;
+#else
+ char *stat;
#endif
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &mysql_link, mysqli_link_class_entry) == FAILURE) {
@@ -2277,10 +2278,9 @@ PHP_FUNCTION(mysqli_stat)
{
RETURN_STRING(stat);
#else
- if (mysqlnd_stat(mysql->mysql, &stat, &stat_len) == PASS)
+ if (mysqlnd_stat(mysql->mysql, &stat) == PASS)
{
- RETVAL_STRINGL(stat, stat_len);
- efree(stat);
+ RETURN_STR(stat);
#endif
} else {
RETURN_FALSE;
diff --git a/ext/mysqli/mysqli_prop.c b/ext/mysqli/mysqli_prop.c
index b772511647..cd0639d98f 100644
--- a/ext/mysqli/mysqli_prop.c
+++ b/ext/mysqli/mysqli_prop.c
@@ -250,14 +250,13 @@ static zval *link_stat_read(mysqli_object *obj, zval *retval TSRMLS_DC)
mysql = (MY_MYSQL *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr;
if (mysql) {
- char * stat_msg;
#if defined(MYSQLI_USE_MYSQLND)
- uint stat_msg_len;
- if (mysqlnd_stat(mysql->mysql, &stat_msg, &stat_msg_len) == PASS) {
- ZVAL_STRINGL(retval, stat_msg, stat_msg_len);
- efree(stat_msg);
+ zend_string * stat_msg;
+ if (mysqlnd_stat(mysql->mysql, &stat_msg) == PASS) {
+ ZVAL_STR(retval, stat_msg);
}
#else
+ char * stat_msg;
if ((stat_msg = (char *)mysql_stat(mysql->mysql))) {
ZVAL_STRING(retval, stat_msg);
}
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_stmt_multires.phpt b/ext/mysqli/tests/mysqli_stmt_multires.phpt
new file mode 100644
index 0000000000..28cf5e38f4
--- /dev/null
+++ b/ext/mysqli/tests/mysqli_stmt_multires.phpt
@@ -0,0 +1,120 @@
+--TEST--
+Multiple result set with PS
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once("connect.inc");
+if (!$IS_MYSQLND) {
+ die("skip mysqlnd only test");
+}
+require_once('skipifconnectfailure.inc');
+?>
+--FILE--
+<?php
+ require_once("connect.inc");
+ require('table.inc');
+
+ $stmt = mysqli_stmt_init($link);
+ if (!$link->query('DROP PROCEDURE IF EXISTS p123')) {
+ printf("[001] [%d] %s\n", $link->error, $link->errno);
+ }
+
+ if (!$link->query("CREATE PROCEDURE p123() BEGIN SELECT id+12, CONCAT_WS('-',label,'ahoi') FROM test ORDER BY id LIMIT 1; SELECT id + 42, CONCAT_WS('---',label, label) FROM test ORDER BY id LIMIT 1; END")) {
+ printf("[002] [%d] %s\n", $link->error, $link->errno);
+ }
+
+ if (!($stmt = $link->prepare("CALL p123"))) {
+ printf("[003] [%d] %s\n", $stmt->error, $stmt->errno);
+ }
+
+ if (!$stmt->execute()) {
+ printf("[005] [%d] %s\n", $stmt->error, $stmt->errno);
+ }
+
+ $c_id = NULL;
+ $c_label = NULL;
+ if (!$stmt->bind_result($c_id, $c_label)) {
+ printf("[004] [%d] %s\n", $stmt->error, $stmt->errno);
+ }
+ var_dump("pre:",$c_id, $c_label);
+
+ if (!$stmt->fetch()) {
+ printf("[006] [%d] %s\n", $stmt->error, $stmt->errno);
+ }
+
+ var_dump("post:",$c_id, $c_label);
+
+ if ($stmt->fetch()) {
+ printf("[007] Shouldn't have fetched anything\n");
+ var_dump($c_id, $c_label);
+ }
+
+ if ($stmt->fetch()) {
+ printf("[008] No more rows expected\n");
+ }
+
+ if (!$stmt->more_results()) {
+ printf("[009] Expected more results\n");
+ } else {
+ var_dump("[009] next_result:", $stmt->next_result());
+ }
+
+ if (!$stmt->bind_result($c_id, $c_label)) {
+ printf("[010] [%d] %s\n", $stmt->error, $stmt->errno);
+ }
+ var_dump("pre:",$c_id, $c_label);
+
+ if (!$stmt->fetch()) {
+ printf("[011] [%d] %s\n", $stmt->error, $stmt->errno);
+ }
+
+ var_dump("post:",$c_id, $c_label);
+
+ if ($stmt->fetch()) {
+ printf("[012] No more rows expected\n");
+ }
+
+ if (!$stmt->more_results()) {
+ printf("[013] Expected more results\n");
+ } else {
+ var_dump("[013] next_result:", $stmt->next_result());
+ }
+
+ if ($stmt->more_results()) {
+ printf("[014] No more results expected\n");
+ } else {
+ printf("[014] No result, as expected\n");
+ }
+
+ $stmt->close();
+ $link->close();
+
+
+ echo "done";
+?>
+--CLEAN--
+<?php
+ require_once("connect.inc");
+ if (!$link->query('DROP PROCEDURE IF EXISTS p123')) {
+ printf("[001] [%d] %s\n", $link->error, $link->errno);
+ }
+?>
+--EXPECTF--
+string(4) "pre:"
+NULL
+NULL
+string(5) "post:"
+int(13)
+string(6) "a-ahoi"
+string(18) "[009] next_result:"
+bool(true)
+string(4) "pre:"
+int(13)
+string(6) "a-ahoi"
+string(5) "post:"
+int(43)
+string(5) "a---a"
+string(18) "[013] next_result:"
+bool(true)
+[014] No result, as expected
+done \ No newline at end of file
diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c
index e3f52c1d0d..e05d6844bc 100644
--- a/ext/mysqlnd/mysqlnd.c
+++ b/ext/mysqlnd/mysqlnd.c
@@ -1727,7 +1727,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, ping)(MYSQLND_CONN_DATA * const conn TSRMLS_DC
/* {{{ mysqlnd_conn_data::statistic */
static enum_func_status
-MYSQLND_METHOD(mysqlnd_conn_data, statistic)(MYSQLND_CONN_DATA * conn, char **message, unsigned int * message_len TSRMLS_DC)
+MYSQLND_METHOD(mysqlnd_conn_data, statistic)(MYSQLND_CONN_DATA * conn, zend_string **message TSRMLS_DC)
{
size_t this_func = STRUCT_OFFSET(struct st_mysqlnd_conn_data_methods, get_server_statistics);
enum_func_status ret = FAIL;
@@ -1750,9 +1750,8 @@ MYSQLND_METHOD(mysqlnd_conn_data, statistic)(MYSQLND_CONN_DATA * conn, char **me
if (PASS == (ret = PACKET_READ(stats_header, conn))) {
/* will be freed by Zend, thus don't use the mnd_ allocator */
- *message = estrndup(stats_header->message, stats_header->message_len);
- *message_len = stats_header->message_len;
- DBG_INF(*message);
+ *message = STR_INIT(stats_header->message, stats_header->message_len, 0);
+ DBG_INF((*message)->val);
}
PACKET_FREE(stats_header);
} while (0);
diff --git a/ext/mysqlnd/mysqlnd.h b/ext/mysqlnd/mysqlnd.h
index a4e54f2408..94620d9369 100644
--- a/ext/mysqlnd/mysqlnd.h
+++ b/ext/mysqlnd/mysqlnd.h
@@ -208,7 +208,7 @@ void mysqlnd_local_infile_default(MYSQLND_CONN_DATA * conn);
#define mysqlnd_refresh(conn, options) ((conn)->data)->m->refresh_server((conn)->data, (options) TSRMLS_CC)
#define mysqlnd_shutdown(conn, level) ((conn)->data)->m->shutdown_server((conn)->data, (level) TSRMLS_CC)
#define mysqlnd_set_character_set(conn, cs) ((conn)->data)->m->set_charset((conn)->data, (cs) TSRMLS_CC)
-#define mysqlnd_stat(conn, msg, msg_len) ((conn)->data)->m->get_server_statistics(((conn)->data), (msg), (msg_len) TSRMLS_CC)
+#define mysqlnd_stat(conn, msg) ((conn)->data)->m->get_server_statistics(((conn)->data), (msg) TSRMLS_CC)
#define mysqlnd_options(conn, opt, value) ((conn)->data)->m->set_client_option((conn)->data, (opt), (value) TSRMLS_CC)
#define mysqlnd_options4(conn, opt, k, v) ((conn)->data)->m->set_client_option_2d((conn)->data, (opt), (k), (v) TSRMLS_CC)
#define mysqlnd_set_server_option(conn, op) ((conn)->data)->m->set_server_option((conn)->data, (op) TSRMLS_CC)
diff --git a/ext/mysqlnd/mysqlnd_net.c b/ext/mysqlnd/mysqlnd_net.c
index 76e49a5d9d..84757f88c1 100644
--- a/ext/mysqlnd/mysqlnd_net.c
+++ b/ext/mysqlnd/mysqlnd_net.c
@@ -160,7 +160,7 @@ MYSQLND_METHOD(mysqlnd_net, open_tcp_or_unix)(MYSQLND_NET * const net, const cha
unsigned int streams_flags = STREAM_XPORT_CLIENT | STREAM_XPORT_CONNECT;
char * hashed_details = NULL;
int hashed_details_len = 0;
- char * errstr = NULL;
+ zend_string *errstr = NULL;
int errcode = 0;
struct timeval tv;
dtor_func_t origin_dtor;
@@ -190,10 +190,10 @@ MYSQLND_METHOD(mysqlnd_net, open_tcp_or_unix)(MYSQLND_NET * const net, const cha
mnd_sprintf_free(hashed_details);
}
errcode = CR_CONNECTION_ERROR;
- SET_CLIENT_ERROR(*error_info, errcode? errcode:CR_CONNECTION_ERROR, UNKNOWN_SQLSTATE, errstr);
+ SET_CLIENT_ERROR(*error_info, errcode? errcode:CR_CONNECTION_ERROR, UNKNOWN_SQLSTATE, errstr->val);
if (errstr) {
/* no mnd_ since we don't allocate it */
- efree(errstr);
+ STR_RELEASE(errstr);
}
DBG_RETURN(NULL);
}
diff --git a/ext/mysqlnd/mysqlnd_ps.c b/ext/mysqlnd/mysqlnd_ps.c
index adb9578fc8..986a664410 100644
--- a/ext/mysqlnd/mysqlnd_ps.c
+++ b/ext/mysqlnd/mysqlnd_ps.c
@@ -43,7 +43,6 @@ enum_func_status mysqlnd_stmt_execute_batch_generate_request(MYSQLND_STMT * cons
static void mysqlnd_stmt_separate_result_bind(MYSQLND_STMT * const stmt TSRMLS_DC);
static void mysqlnd_stmt_separate_one_result_bind(MYSQLND_STMT * const stmt, unsigned int param_no TSRMLS_DC);
-
/* {{{ mysqlnd_stmt::store_result */
static MYSQLND_RES *
MYSQLND_METHOD(mysqlnd_stmt, store_result)(MYSQLND_STMT * const s TSRMLS_DC)
@@ -246,7 +245,7 @@ MYSQLND_METHOD(mysqlnd_stmt, next_result)(MYSQLND_STMT * s TSRMLS_DC)
DBG_INF_FMT("server_status=%u cursor=%u", stmt->upsert_status->server_status, stmt->upsert_status->server_status & SERVER_STATUS_CURSOR_EXISTS);
/* Free space for next result */
- s->m->free_stmt_content(s TSRMLS_CC);
+ s->m->free_stmt_result(s TSRMLS_CC);
{
enum_func_status ret = s->m->parse_execute_response(s TSRMLS_CC);
DBG_RETURN(ret);
@@ -2069,6 +2068,37 @@ mysqlnd_stmt_separate_one_result_bind(MYSQLND_STMT * const s, unsigned int param
/* }}} */
+/* {{{ mysqlnd_stmt::free_stmt_result */
+static void
+MYSQLND_METHOD(mysqlnd_stmt, free_stmt_result)(MYSQLND_STMT * const s TSRMLS_DC)
+{
+ MYSQLND_STMT_DATA * stmt = s? s->data:NULL;
+ DBG_ENTER("mysqlnd_stmt::free_stmt_result");
+ if (!stmt) {
+ DBG_VOID_RETURN;
+ }
+
+ /*
+ First separate the bound variables, which point to the result set, then
+ destroy the set.
+ */
+ mysqlnd_stmt_separate_result_bind(s TSRMLS_CC);
+ /* Not every statement has a result set attached */
+ if (stmt->result) {
+ stmt->result->m.free_result_internal(stmt->result TSRMLS_CC);
+ stmt->result = NULL;
+ }
+ if (stmt->error_info->error_list) {
+ zend_llist_clean(stmt->error_info->error_list);
+ mnd_pefree(stmt->error_info->error_list, s->persistent);
+ stmt->error_info->error_list = NULL;
+ }
+
+ DBG_VOID_RETURN;
+}
+/* }}} */
+
+
/* {{{ mysqlnd_stmt::free_stmt_content */
static void
MYSQLND_METHOD(mysqlnd_stmt, free_stmt_content)(MYSQLND_STMT * const s TSRMLS_DC)
@@ -2099,22 +2129,7 @@ MYSQLND_METHOD(mysqlnd_stmt, free_stmt_content)(MYSQLND_STMT * const s TSRMLS_DC
stmt->param_bind = NULL;
}
- /*
- First separate the bound variables, which point to the result set, then
- destroy the set.
- */
- mysqlnd_stmt_separate_result_bind(s TSRMLS_CC);
- /* Not every statement has a result set attached */
- if (stmt->result) {
- stmt->result->m.free_result_internal(stmt->result TSRMLS_CC);
- stmt->result = NULL;
- }
- if (stmt->error_info->error_list) {
- zend_llist_clean(stmt->error_info->error_list);
- mnd_pefree(stmt->error_info->error_list, s->persistent);
- stmt->error_info->error_list = NULL;
- }
-
+ s->m->free_stmt_result(s TSRMLS_CC);
DBG_VOID_RETURN;
}
/* }}} */
@@ -2333,7 +2348,8 @@ MYSQLND_CLASS_METHODS_START(mysqlnd_stmt)
mysqlnd_stmt_execute_generate_request,
mysqlnd_stmt_execute_parse_response,
MYSQLND_METHOD(mysqlnd_stmt, free_stmt_content),
- MYSQLND_METHOD(mysqlnd_stmt, flush)
+ MYSQLND_METHOD(mysqlnd_stmt, flush),
+ MYSQLND_METHOD(mysqlnd_stmt, free_stmt_result)
MYSQLND_CLASS_METHODS_END;
diff --git a/ext/mysqlnd/mysqlnd_structs.h b/ext/mysqlnd/mysqlnd_structs.h
index f8e69986fe..9ec924ead6 100644
--- a/ext/mysqlnd/mysqlnd_structs.h
+++ b/ext/mysqlnd/mysqlnd_structs.h
@@ -443,7 +443,7 @@ typedef void (*func_mysqlnd_conn_data__get_statistics)(const MYSQLND_CONN_DAT
typedef unsigned long (*func_mysqlnd_conn_data__get_server_version)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC);
typedef const char * (*func_mysqlnd_conn_data__get_server_information)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC);
-typedef enum_func_status (*func_mysqlnd_conn_data__get_server_statistics)(MYSQLND_CONN_DATA * conn, char **message, unsigned int * message_len TSRMLS_DC);
+typedef enum_func_status (*func_mysqlnd_conn_data__get_server_statistics)(MYSQLND_CONN_DATA * conn, zend_string **message TSRMLS_DC);
typedef const char * (*func_mysqlnd_conn_data__get_host_information)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC);
typedef unsigned int (*func_mysqlnd_conn_data__get_protocol_information)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC);
typedef const char * (*func_mysqlnd_conn_data__get_last_message)(const MYSQLND_CONN_DATA * const conn TSRMLS_DC);
@@ -786,6 +786,7 @@ typedef enum_func_status (*func_mysqlnd_stmt__generate_execute_request)(MYSQLND
typedef enum_func_status (*func_mysqlnd_stmt__parse_execute_response)(MYSQLND_STMT * const s TSRMLS_DC);
typedef void (*func_mysqlnd_stmt__free_stmt_content)(MYSQLND_STMT * const s TSRMLS_DC);
typedef enum_func_status (*func_mysqlnd_stmt__flush)(MYSQLND_STMT * const stmt TSRMLS_DC);
+typedef void (*func_mysqlnd_stmt__free_stmt_result)(MYSQLND_STMT * const s TSRMLS_DC);
struct st_mysqlnd_stmt_methods
{
@@ -841,6 +842,8 @@ struct st_mysqlnd_stmt_methods
func_mysqlnd_stmt__free_stmt_content free_stmt_content;
func_mysqlnd_stmt__flush flush;
+
+ func_mysqlnd_stmt__free_stmt_result free_stmt_result;
};
diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.c b/ext/mysqlnd/mysqlnd_wireprotocol.c
index 35b56cc5e5..2aa7afde0d 100644
--- a/ext/mysqlnd/mysqlnd_wireprotocol.c
+++ b/ext/mysqlnd/mysqlnd_wireprotocol.c
@@ -224,7 +224,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/odbc/php_odbc.c b/ext/odbc/php_odbc.c
index bc3f4c9520..10384da2ad 100644
--- a/ext/odbc/php_odbc.c
+++ b/ext/odbc/php_odbc.c
@@ -416,7 +416,7 @@ ZEND_GET_MODULE(odbc)
/* {{{ _free_odbc_result
*/
-static void _free_odbc_result(zend_rsrc_list_entry *rsrc TSRMLS_DC)
+static void _free_odbc_result(zend_resource *rsrc TSRMLS_DC)
{
odbc_result *res = (odbc_result *)rsrc->ptr;
int i;
@@ -465,24 +465,21 @@ static void safe_odbc_disconnect( void *handle )
/* {{{ _close_odbc_conn
*/
-static void _close_odbc_conn(zend_rsrc_list_entry *rsrc TSRMLS_DC)
+static void _close_odbc_conn(zend_resource *rsrc TSRMLS_DC)
{
- int i, nument, type;
- void *ptr;
+ zend_resource *p;
odbc_result *res;
odbc_connection *conn = (odbc_connection *)rsrc->ptr;
- nument = zend_hash_next_free_element(&EG(regular_list));
- for(i = 1; i < nument; i++) {
- ptr = zend_list_find(i, &type);
- if (ptr && (type == le_result)) {
- res = (odbc_result *)ptr;
+ ZEND_HASH_FOREACH_PTR(&EG(regular_list), p) {
+ if (p->ptr && (p->type == le_result)) {
+ res = (odbc_result *)p->ptr;
if (res->conn_ptr == conn) {
- zend_list_delete(i);
+ zend_list_close(p);
}
}
- }
+ } ZEND_HASH_FOREACH_END();
safe_odbc_disconnect(conn->hdbc);
SQLFreeConnect(conn->hdbc);
@@ -494,24 +491,21 @@ static void _close_odbc_conn(zend_rsrc_list_entry *rsrc TSRMLS_DC)
/* {{{ void _close_odbc_pconn
*/
-static void _close_odbc_pconn(zend_rsrc_list_entry *rsrc TSRMLS_DC)
+static void _close_odbc_pconn(zend_resource *rsrc TSRMLS_DC)
{
- int i, nument, type;
- void *ptr;
+ zend_resource *p;
odbc_result *res;
odbc_connection *conn = (odbc_connection *)rsrc->ptr;
- nument = zend_hash_next_free_element(&EG(persistent_list));
- for(i = 1; i < nument; i++) {
- ptr = zend_list_find(i, &type);
- if (ptr && (type == le_result)) {
- res = (odbc_result *)ptr;
+ ZEND_HASH_FOREACH_PTR(&EG(regular_list), p) {
+ if (p->ptr && (p->type == le_result)) {
+ res = (odbc_result *)p->ptr;
if (res->conn_ptr == conn) {
- zend_list_delete(i);
+ zend_list_close(p);
}
}
- }
-
+ } ZEND_HASH_FOREACH_END();
+
safe_odbc_disconnect(conn->hdbc);
SQLFreeConnect(conn->hdbc);
SQLFreeEnv(conn->henv);
@@ -721,7 +715,7 @@ PHP_MINIT_FUNCTION(odbc)
le_result = zend_register_list_destructors_ex(_free_odbc_result, NULL, "odbc result", module_number);
le_conn = zend_register_list_destructors_ex(_close_odbc_conn, NULL, "odbc link", module_number);
le_pconn = zend_register_list_destructors_ex(NULL, _close_odbc_pconn, "odbc link persistent", module_number);
- Z_TYPE(odbc_module_entry) = type;
+ odbc_module_entry.type = type;
REGISTER_STRING_CONSTANT("ODBC_TYPE", PHP_ODBC_TYPE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("ODBC_BINMODE_PASSTHRU", 0, CONST_CS | CONST_PERSISTENT);
@@ -780,6 +774,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
@@ -921,7 +918,7 @@ void php_odbc_fetch_attribs(INTERNAL_FUNCTION_PARAMETERS, int mode)
}
if (Z_LVAL_P(pv_res)) {
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
if (mode) {
result->longreadlen = flag;
} else {
@@ -943,9 +940,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 +967,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 +980,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);
@@ -1006,7 +1022,7 @@ void odbc_transact(INTERNAL_FUNCTION_PARAMETERS, int type)
return;
}
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
rc = SQLTransact(conn->henv, conn->hdbc, (SQLUSMALLINT)((type)?SQL_COMMIT:SQL_ROLLBACK));
if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) {
@@ -1018,10 +1034,10 @@ void odbc_transact(INTERNAL_FUNCTION_PARAMETERS, int type)
}
/* }}} */
-/* {{{ _close_pconn_with_id */
-static int _close_pconn_with_id(zend_rsrc_list_entry *le, int *id TSRMLS_DC)
+/* {{{ _close_pconn_with_res */
+static int _close_pconn_with_res(zend_resource *le, zend_resource *res TSRMLS_DC)
{
- if(Z_TYPE_P(le) == le_pconn && (((odbc_connection *)(le->ptr))->id == *id)){
+ if (le->type == le_pconn && (((odbc_connection *)(le->ptr))->res == res)){
return 1;
}else{
return 0;
@@ -1051,7 +1067,7 @@ void odbc_column_lengths(INTERNAL_FUNCTION_PARAMETERS, int type)
return;
}
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
if (result->numcols == 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No tuples available at this result index");
@@ -1080,41 +1096,32 @@ void odbc_column_lengths(INTERNAL_FUNCTION_PARAMETERS, int type)
Close all ODBC connections */
PHP_FUNCTION(odbc_close_all)
{
- void *ptr;
- int type;
- int i;
- int nument;
+ zend_resource *p;
if (zend_parse_parameters_none() == FAILURE) {
return;
}
- nument = zend_hash_next_free_element(&EG(regular_list));
-
/* Loop through list and close all statements */
- for(i = 1; i < nument; i++) {
- ptr = zend_list_find(i, &type);
- if (ptr && (type == le_result)){
- zend_list_delete(i);
+ ZEND_HASH_FOREACH_PTR(&EG(regular_list), p) {
+ if (p->ptr && (p->type == le_result)) {
+ zend_list_close(p);
}
- }
+ } ZEND_HASH_FOREACH_END();
/* Second loop through list, now close all connections */
- nument = zend_hash_next_free_element(&EG(regular_list));
-
- for(i = 1; i < nument; i++) {
- ptr = zend_list_find(i, &type);
- if (ptr){
- if(type == le_conn){
- zend_list_delete(i);
- }else if(type == le_pconn){
- zend_list_delete(i);
+ ZEND_HASH_FOREACH_PTR(&EG(regular_list), p) {
+ if (p->ptr) {
+ if (p->type == le_conn){
+ zend_list_close(p);
+ } else if (p->type == le_pconn){
+ zend_list_close(p);
/* Delete the persistent connection */
zend_hash_apply_with_argument(&EG(persistent_list),
- (apply_func_arg_t) _close_pconn_with_id, (void *) &i TSRMLS_CC);
+ (apply_func_arg_t) _close_pconn_with_res, (void *)p TSRMLS_CC);
}
}
- }
+ } ZEND_HASH_FOREACH_END();
}
/* }}} */
@@ -1152,7 +1159,7 @@ PHP_FUNCTION(odbc_prepare)
return;
}
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
@@ -1210,7 +1217,7 @@ PHP_FUNCTION(odbc_prepare)
} else {
result->values = NULL;
}
- zend_list_addref(conn->id);
+ Z_ADDREF_P(pv_conn);
result->conn_ptr = conn;
result->fetched = 0;
ZEND_REGISTER_RESOURCE(return_value, result, le_result);
@@ -1225,7 +1232,7 @@ PHP_FUNCTION(odbc_prepare)
Execute a prepared statement */
PHP_FUNCTION(odbc_execute)
{
- zval *pv_res, *pv_param_arr, **tmp;
+ zval *pv_res, *pv_param_arr, *tmp;
typedef struct params_t {
SQLLEN vallen;
int fp;
@@ -1246,7 +1253,7 @@ PHP_FUNCTION(odbc_execute)
return;
}
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
/* XXX check for already bound parameters*/
if (result->numparams > 0 && numArgs == 1) {
@@ -1267,7 +1274,7 @@ PHP_FUNCTION(odbc_execute)
}
for(i = 1; i <= result->numparams; i++) {
- if (zend_hash_get_current_data(Z_ARRVAL_P(pv_param_arr), (void **) &tmp) == FAILURE) {
+ if ((tmp = zend_hash_get_current_data(Z_ARRVAL_P(pv_param_arr))) == NULL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,"Error getting parameter");
SQLFreeStmt(result->stmt,SQL_RESET_PARAMS);
for (i = 0; i < result->numparams; i++) {
@@ -1279,9 +1286,9 @@ PHP_FUNCTION(odbc_execute)
RETURN_FALSE;
}
- otype = (*tmp)->type;
+ otype = Z_TYPE_P(tmp);
convert_to_string_ex(tmp);
- if (Z_TYPE_PP(tmp) != IS_STRING) {
+ if (Z_TYPE_P(tmp) != IS_STRING) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,"Error converting parameter");
SQLFreeStmt(result->stmt, SQL_RESET_PARAMS);
for (i = 0; i < result->numparams; i++) {
@@ -1294,7 +1301,7 @@ PHP_FUNCTION(odbc_execute)
}
rc = SQLDescribeParam(result->stmt, (SQLUSMALLINT)i, &sqltype, &precision, &scale, &nullable);
- params[i-1].vallen = Z_STRLEN_PP(tmp);
+ params[i-1].vallen = Z_STRLEN_P(tmp);
params[i-1].fp = -1;
if (rc == SQL_ERROR) {
odbc_sql_error(result->conn_ptr, result->stmt, "SQLDescribeParameter");
@@ -1314,14 +1321,14 @@ PHP_FUNCTION(odbc_execute)
ctype = SQL_C_CHAR;
}
- if (Z_STRLEN_PP(tmp) > 2 &&
- Z_STRVAL_PP(tmp)[0] == '\'' &&
- Z_STRVAL_PP(tmp)[Z_STRLEN_PP(tmp) - 1] == '\'') {
+ if (Z_STRLEN_P(tmp) > 2 &&
+ Z_STRVAL_P(tmp)[0] == '\'' &&
+ Z_STRVAL_P(tmp)[Z_STRLEN_P(tmp) - 1] == '\'') {
- if (CHECK_ZVAL_NULL_PATH(*tmp)) {
+ if (CHECK_ZVAL_NULL_PATH(tmp)) {
RETURN_FALSE;
}
- filename = estrndup(&Z_STRVAL_PP(tmp)[1], Z_STRLEN_PP(tmp) - 2);
+ filename = estrndup(&Z_STRVAL_P(tmp)[1], Z_STRLEN_P(tmp) - 2);
filename[strlen(filename)] = '\0';
/* Check the basedir */
@@ -1368,7 +1375,7 @@ PHP_FUNCTION(odbc_execute)
rc = SQLBindParameter(result->stmt, (SQLUSMALLINT)i, SQL_PARAM_INPUT,
ctype, sqltype, precision, scale,
- Z_STRVAL_PP(tmp), 0,
+ Z_STRVAL_P(tmp), 0,
&params[i-1].vallen);
}
if (rc == SQL_ERROR) {
@@ -1464,7 +1471,7 @@ PHP_FUNCTION(odbc_cursor)
return;
}
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
rc = SQLGetInfo(result->conn_ptr->hdbc,SQL_MAX_CURSOR_NAME_LEN, (void *)&max_len,sizeof(max_len),&len);
if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) {
@@ -1489,14 +1496,14 @@ PHP_FUNCTION(odbc_cursor)
odbc_sql_error(result->conn_ptr, result->stmt, "SQLSetCursorName");
RETVAL_FALSE;
} else {
- RETVAL_STRING(cursorname,1);
+ RETVAL_STRING(cursorname);
}
} else {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "SQL error: %s, SQL state %s", errormsg, state);
RETVAL_FALSE;
}
} else {
- RETVAL_STRING(cursorname,1);
+ RETVAL_STRING(cursorname);
}
efree(cursorname);
} else {
@@ -1528,7 +1535,7 @@ PHP_FUNCTION(odbc_data_source)
RETURN_FALSE;
}
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &zv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, zv_conn, -1, "ODBC-Link", le_conn, le_pconn);
/* now we have the "connection" lets call the DataSource object */
rc = SQLDataSources(conn->henv,
@@ -1582,7 +1589,7 @@ PHP_FUNCTION(odbc_exec)
return;
}
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
@@ -1637,7 +1644,7 @@ PHP_FUNCTION(odbc_exec)
} else {
result->values = NULL;
}
- zend_list_addref(conn->id);
+ Z_ADDREF_P(pv_conn);
result->conn_ptr = conn;
result->fetched = 0;
ZEND_REGISTER_RESOURCE(return_value, result, le_result);
@@ -1660,7 +1667,7 @@ static void php_odbc_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type)
SQLULEN crow;
SQLUSMALLINT RowStatus[1];
SQLLEN rownum;
- zval *pv_res, *tmp;
+ zval *pv_res, tmp;
long pv_row = -1;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|l", &pv_res, &pv_row) == FAILURE) {
@@ -1669,14 +1676,14 @@ static void php_odbc_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type)
rownum = pv_row;
#else
- zval *pv_res, *tmp;
+ zval *pv_res, tmp;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pv_res) == FAILURE) {
return;
}
#endif
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
if (result->numcols == 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No tuples available at this result index");
@@ -1708,9 +1715,6 @@ static void php_odbc_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type)
result->fetched++;
for(i = 0; i < result->numcols; i++) {
- ALLOC_INIT_ZVAL(tmp);
- Z_TYPE_P(tmp) = IS_STRING;
- Z_STRLEN_P(tmp) = 0;
sql_c_type = SQL_C_CHAR;
switch(result->values[i].coltype) {
@@ -1718,15 +1722,18 @@ static void php_odbc_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type)
case SQL_VARBINARY:
case SQL_LONGVARBINARY:
if (result->binmode <= 0) {
- Z_STRVAL_P(tmp) = STR_EMPTY_ALLOC();
+ ZVAL_EMPTY_STRING(&tmp);
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();
+ ZVAL_EMPTY_STRING(&tmp);
break;
}
if (buf == NULL) {
@@ -1742,33 +1749,31 @@ static void php_odbc_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type)
}
if (rc == SQL_SUCCESS_WITH_INFO) {
- Z_STRLEN_P(tmp) = result->longreadlen;
+ ZVAL_STRINGL(&tmp, buf, result->longreadlen);
} else if (result->values[i].vallen == SQL_NULL_DATA) {
- ZVAL_NULL(tmp);
+ ZVAL_NULL(&tmp);
break;
} else {
- Z_STRLEN_P(tmp) = result->values[i].vallen;
+ ZVAL_STRINGL(&tmp, buf, result->values[i].vallen);
}
- Z_STRVAL_P(tmp) = estrndup(buf, Z_STRLEN_P(tmp));
break;
default:
if (result->values[i].vallen == SQL_NULL_DATA) {
- ZVAL_NULL(tmp);
+ ZVAL_NULL(&tmp);
break;
}
- Z_STRLEN_P(tmp) = result->values[i].vallen;
- Z_STRVAL_P(tmp) = estrndup(result->values[i].value,Z_STRLEN_P(tmp));
+ ZVAL_STRINGL(&tmp, result->values[i].value, result->values[i].vallen);
break;
}
if (result_type & ODBC_NUM) {
- zend_hash_index_update(Z_ARRVAL_P(return_value), i, &tmp, sizeof(zval *), NULL);
+ zend_hash_index_update(Z_ARRVAL_P(return_value), i, &tmp);
} else {
- if (!*(result->values[i].name) && Z_TYPE_P(tmp) == IS_STRING) {
- zend_hash_update(Z_ARRVAL_P(return_value), Z_STRVAL_P(tmp), Z_STRLEN_P(tmp)+1, &tmp, sizeof(zval *), NULL);
+ if (!*(result->values[i].name) && Z_TYPE(tmp) == IS_STRING) {
+ zend_hash_update(Z_ARRVAL_P(return_value), Z_STR(tmp), &tmp);
} else {
- zend_hash_update(Z_ARRVAL_P(return_value), result->values[i].name, strlen(result->values[i].name)+1, &tmp, sizeof(zval *), NULL);
+ zend_hash_str_update(Z_ARRVAL_P(return_value), result->values[i].name, strlen(result->values[i].name), &tmp);
}
}
}
@@ -1808,7 +1813,7 @@ PHP_FUNCTION(odbc_fetch_into)
RETCODE rc;
SQLSMALLINT sql_c_type;
char *buf = NULL;
- zval *pv_res, **pv_res_arr, *tmp;
+ zval *pv_res, *pv_res_arr, tmp;
#ifdef HAVE_SQL_EXTENDED_FETCH
long pv_row = 0;
SQLULEN crow;
@@ -1817,26 +1822,26 @@ PHP_FUNCTION(odbc_fetch_into)
#endif /* HAVE_SQL_EXTENDED_FETCH */
#ifdef HAVE_SQL_EXTENDED_FETCH
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rZ|l", &pv_res, &pv_res_arr, &pv_row) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rz/|l", &pv_res, &pv_res_arr, &pv_row) == FAILURE) {
return;
}
rownum = pv_row;
#else
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rZ", &pv_res, &pv_res_arr) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rz/", &pv_res, &pv_res_arr) == FAILURE) {
return;
}
#endif /* HAVE_SQL_EXTENDED_FETCH */
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
if (result->numcols == 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No tuples available at this result index");
RETURN_FALSE;
}
- if (Z_TYPE_PP(pv_res_arr) != IS_ARRAY) {
- array_init(*pv_res_arr);
+ if (Z_TYPE_P(pv_res_arr) != IS_ARRAY) {
+ array_init(pv_res_arr);
}
#ifdef HAVE_SQL_EXTENDED_FETCH
@@ -1862,9 +1867,6 @@ PHP_FUNCTION(odbc_fetch_into)
result->fetched++;
for(i = 0; i < result->numcols; i++) {
- MAKE_STD_ZVAL(tmp);
- Z_TYPE_P(tmp) = IS_STRING;
- Z_STRLEN_P(tmp) = 0;
sql_c_type = SQL_C_CHAR;
switch(result->values[i].coltype) {
@@ -1872,13 +1874,17 @@ PHP_FUNCTION(odbc_fetch_into)
case SQL_VARBINARY:
case SQL_LONGVARBINARY:
if (result->binmode <= 0) {
- Z_STRVAL_P(tmp) = STR_EMPTY_ALLOC();
+ ZVAL_EMPTY_STRING(&tmp);
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();
+ ZVAL_EMPTY_STRING(&tmp);
break;
}
@@ -1893,26 +1899,24 @@ PHP_FUNCTION(odbc_fetch_into)
RETURN_FALSE;
}
if (rc == SQL_SUCCESS_WITH_INFO) {
- Z_STRLEN_P(tmp) = result->longreadlen;
+ ZVAL_STRINGL(&tmp, buf, result->longreadlen);
} else if (result->values[i].vallen == SQL_NULL_DATA) {
- ZVAL_NULL(tmp);
+ ZVAL_NULL(&tmp);
break;
} else {
- Z_STRLEN_P(tmp) = result->values[i].vallen;
+ ZVAL_STRINGL(&tmp, buf, result->values[i].vallen);
}
- Z_STRVAL_P(tmp) = estrndup(buf, Z_STRLEN_P(tmp));
break;
default:
if (result->values[i].vallen == SQL_NULL_DATA) {
- ZVAL_NULL(tmp);
+ ZVAL_NULL(&tmp);
break;
}
- Z_STRLEN_P(tmp) = result->values[i].vallen;
- Z_STRVAL_P(tmp) = estrndup(result->values[i].value,Z_STRLEN_P(tmp));
+ ZVAL_STRINGL(&tmp, result->values[i].value, result->values[i].vallen);
break;
}
- zend_hash_index_update(Z_ARRVAL_PP(pv_res_arr), i, &tmp, sizeof(zval *), NULL);
+ zend_hash_index_update(Z_ARRVAL_P(pv_res_arr), i, &tmp);
}
if (buf) efree(buf);
RETURN_LONG(result->numcols);
@@ -1972,7 +1976,7 @@ PHP_FUNCTION(odbc_fetch_row)
rownum = pv_row;
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
if (result->numcols == 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No tuples available at this result index");
@@ -2015,7 +2019,7 @@ PHP_FUNCTION(odbc_result)
int i = 0;
RETCODE rc;
SQLLEN fieldsize;
- zval *pv_res, **pv_field;
+ zval *pv_res, *pv_field;
#ifdef HAVE_SQL_EXTENDED_FETCH
SQLULEN crow;
SQLUSMALLINT RowStatus[1];
@@ -2024,18 +2028,18 @@ PHP_FUNCTION(odbc_result)
field_ind = -1;
field = NULL;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rZ", &pv_res, &pv_field) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rz", &pv_res, &pv_field) == FAILURE) {
return;
}
- if (Z_TYPE_PP(pv_field) == IS_STRING) {
- field = Z_STRVAL_PP(pv_field);
+ if (Z_TYPE_P(pv_field) == IS_STRING) {
+ field = Z_STRVAL_P(pv_field);
} else {
convert_to_long_ex(pv_field);
- field_ind = Z_LVAL_PP(pv_field) - 1;
+ field_ind = Z_LVAL_P(pv_field) - 1;
}
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
if ((result->numcols == 0)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No tuples available at this result index");
@@ -2095,6 +2099,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,20 +2139,27 @@ 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.
For SQL_SUCCESS, the length is in vallen.
*/
- RETURN_STRINGL(field, (rc == SQL_SUCCESS_WITH_INFO) ? fieldsize : result->values[field_ind].vallen, 0);
+ RETVAL_STRINGL(field, (rc == SQL_SUCCESS_WITH_INFO) ? fieldsize : result->values[field_ind].vallen);
+ // TODO: avoid dpouble reallocation ???
+ efree(field);
+ return;
break;
default:
if (result->values[field_ind].vallen == SQL_NULL_DATA) {
RETURN_NULL();
} else {
- RETURN_STRINGL(result->values[field_ind].value, result->values[field_ind].vallen, 1);
+ RETURN_STRINGL(result->values[field_ind].value, result->values[field_ind].vallen);
}
break;
}
@@ -2202,7 +2216,7 @@ PHP_FUNCTION(odbc_result_all)
return;
}
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
if (result->numcols == 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No tuples available at this result index");
@@ -2248,6 +2262,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>");
@@ -2314,7 +2331,7 @@ PHP_FUNCTION(odbc_free_result)
return;
}
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
if (result->values) {
for (i = 0; i < result->numcols; i++) {
if (result->values[i].value) {
@@ -2325,7 +2342,7 @@ PHP_FUNCTION(odbc_free_result)
result->values = NULL;
}
- zend_list_delete(Z_LVAL_P(pv_res));
+ zend_list_close(Z_RES_P(pv_res));
RETURN_TRUE;
}
@@ -2525,11 +2542,11 @@ void odbc_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
try_and_get_another_connection:
if (persistent) {
- zend_rsrc_list_entry *le;
+ zend_resource *le;
/* the link is not in the persistent list */
- if (zend_hash_find(&EG(persistent_list), hashed_details, hashed_len + 1, (void **) &le) == FAILURE) {
- zend_rsrc_list_entry new_le;
+ if ((le = zend_hash_str_find_ptr(&EG(persistent_list), hashed_details, hashed_len)) == NULL) {
+ zend_resource new_le;
if (ODBCG(max_links) != -1 && ODBCG(num_links) >= ODBCG(max_links)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Too many open links (%ld)", ODBCG(num_links));
@@ -2547,19 +2564,20 @@ try_and_get_another_connection:
RETURN_FALSE;
}
- Z_TYPE(new_le) = le_pconn;
+ new_le.type = le_pconn;
new_le.ptr = db_conn;
- if (zend_hash_update(&EG(persistent_list), hashed_details, hashed_len + 1, &new_le,
- sizeof(zend_rsrc_list_entry), NULL) == FAILURE) {
+ new_le.handle = -1;
+ if (zend_hash_str_update_mem(&EG(persistent_list), hashed_details, hashed_len, &new_le,
+ sizeof(zend_resource)) == NULL) {
free(db_conn);
efree(hashed_details);
RETURN_FALSE;
}
ODBCG(num_persistent)++;
ODBCG(num_links)++;
- db_conn->id = ZEND_REGISTER_RESOURCE(return_value, db_conn, le_pconn);
+ db_conn->res = ZEND_REGISTER_RESOURCE(return_value, db_conn, le_pconn);
} else { /* found connection */
- if (Z_TYPE_P(le) != le_pconn) {
+ if (le->type != le_pconn) {
RETURN_FALSE;
}
/*
@@ -2580,7 +2598,7 @@ try_and_get_another_connection:
d_name, sizeof(d_name), &len);
if(ret != SQL_SUCCESS || len == 0) {
- zend_hash_del(&EG(persistent_list), hashed_details, hashed_len + 1);
+ zend_hash_str_del(&EG(persistent_list), hashed_details, hashed_len);
/* Commented out to fix a possible double closure error
* when working with persistent connections as submitted by
* bug #15758
@@ -2592,28 +2610,27 @@ try_and_get_another_connection:
}
}
}
- db_conn->id = ZEND_REGISTER_RESOURCE(return_value, db_conn, le_pconn);
+ db_conn->res = ZEND_REGISTER_RESOURCE(return_value, db_conn, le_pconn);
} else { /* non persistent */
- zend_rsrc_list_entry *index_ptr, new_index_ptr;
+ zend_resource *index_ptr, new_index_ptr;
- if (zend_hash_find(&EG(regular_list), hashed_details, hashed_len + 1, (void **) &index_ptr) == SUCCESS) {
- int type, conn_id;
- void *ptr;
+ if ((index_ptr = zend_hash_str_find_ptr(&EG(regular_list), hashed_details, hashed_len)) != NULL) {
+ int conn_id;
+ zend_resource *p;
- if (Z_TYPE_P(index_ptr) != le_index_ptr) {
+ if (index_ptr->type != le_index_ptr) {
RETURN_FALSE;
}
conn_id = (int)index_ptr->ptr;
- ptr = zend_list_find(conn_id, &type); /* check if the connection is still there */
+ p = zend_hash_index_find_ptr(&EG(regular_list), conn_id); /* check if the connection is still there */
- if (ptr && (type == le_conn || type == le_pconn)) {
- zend_list_addref(conn_id);
- Z_LVAL_P(return_value) = conn_id;
- Z_TYPE_P(return_value) = IS_RESOURCE;
+ if (p && p->ptr && (p->type == le_conn || p->type == le_pconn)) {
+ GC_REFCOUNT(p)++;
+ RETVAL_RES(p);
efree(hashed_details);
return;
} else {
- zend_hash_del(&EG(regular_list), hashed_details, hashed_len + 1);
+ zend_hash_str_del(&EG(regular_list), hashed_details, hashed_len);
}
}
if (ODBCG(max_links) != -1 && ODBCG(num_links) >= ODBCG(max_links)) {
@@ -2626,12 +2643,12 @@ try_and_get_another_connection:
efree(hashed_details);
RETURN_FALSE;
}
- db_conn->id = ZEND_REGISTER_RESOURCE(return_value, db_conn, le_conn);
- new_index_ptr.ptr = (void *) Z_LVAL_P(return_value);
- Z_TYPE(new_index_ptr) = le_index_ptr;
+ db_conn->res = ZEND_REGISTER_RESOURCE(return_value, db_conn, le_conn);
+ new_index_ptr.ptr = (void *) Z_RES_HANDLE_P(return_value);
+ new_index_ptr.type = le_index_ptr;
- if (zend_hash_update(&EG(regular_list), hashed_details, hashed_len + 1, (void *) &new_index_ptr,
- sizeof(zend_rsrc_list_entry), NULL) == FAILURE) {
+ if (zend_hash_str_update_mem(&EG(regular_list), hashed_details, hashed_len, (void *) &new_index_ptr,
+ sizeof(zend_resource)) == NULL) {
efree(hashed_details);
RETURN_FALSE;
/* XXX Free Connection */
@@ -2647,12 +2664,9 @@ try_and_get_another_connection:
PHP_FUNCTION(odbc_close)
{
zval *pv_conn;
- void *ptr;
+ zend_resource *p;
odbc_connection *conn;
odbc_result *res;
- int nument;
- int i;
- int type;
int is_pconn = 0;
int found_resource_type = le_conn;
@@ -2660,27 +2674,24 @@ PHP_FUNCTION(odbc_close)
return;
}
- conn = (odbc_connection *) zend_fetch_resource(&pv_conn TSRMLS_CC, -1, "ODBC-Link", &found_resource_type, 2, le_conn, le_pconn);
+ conn = (odbc_connection *) zend_fetch_resource(pv_conn TSRMLS_CC, -1, "ODBC-Link", &found_resource_type, 2, le_conn, le_pconn);
if (found_resource_type==le_pconn) {
is_pconn = 1;
}
- nument = zend_hash_next_free_element(&EG(regular_list));
-
- for(i = 1; i < nument; i++){
- ptr = zend_list_find(i, &type);
- if(ptr && (type == le_result)){
- res = (odbc_result *)ptr;
- if(res->conn_ptr == conn){
- zend_list_delete(i);
+ ZEND_HASH_FOREACH_PTR(&EG(regular_list), p) {
+ if (p->ptr && (p->type == le_result)) {
+ res = (odbc_result *)p->ptr;
+ if (res->conn_ptr == conn) {
+ zend_list_close(p);
}
}
- }
+ } ZEND_HASH_FOREACH_END();
- zend_list_delete(Z_LVAL_P(pv_conn));
+ zend_list_close(Z_RES_P(pv_conn));
if(is_pconn){
- zend_hash_apply_with_argument(&EG(persistent_list), (apply_func_arg_t) _close_pconn_with_id, (void *) &(Z_LVAL_P(pv_conn)) TSRMLS_CC);
+ zend_hash_apply_with_argument(&EG(persistent_list), (apply_func_arg_t) _close_pconn_with_res, (void *) Z_RES_P(pv_conn) TSRMLS_CC);
}
}
/* }}} */
@@ -2696,7 +2707,7 @@ PHP_FUNCTION(odbc_num_rows)
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pv_res) == FAILURE) {
return;
}
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
SQLRowCount(result->stmt, &rows);
RETURN_LONG(rows);
}
@@ -2714,7 +2725,7 @@ PHP_FUNCTION(odbc_next_result)
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pv_res) == FAILURE) {
return;
}
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
if (result->values) {
for(i = 0; i < result->numcols; i++) {
@@ -2762,7 +2773,7 @@ PHP_FUNCTION(odbc_num_fields)
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &pv_res) == FAILURE) {
return;
}
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
RETURN_LONG(result->numcols);
}
/* }}} */
@@ -2779,7 +2790,7 @@ PHP_FUNCTION(odbc_field_name)
return;
}
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
if (result->numcols == 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No tuples available at this result index");
@@ -2796,7 +2807,7 @@ PHP_FUNCTION(odbc_field_name)
RETURN_FALSE;
}
- RETURN_STRING(result->values[pv_num - 1].name, 1);
+ RETURN_STRING(result->values[pv_num - 1].name);
}
/* }}} */
@@ -2814,7 +2825,7 @@ PHP_FUNCTION(odbc_field_type)
return;
}
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
if (result->numcols == 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No tuples available at this result index");
@@ -2832,7 +2843,7 @@ PHP_FUNCTION(odbc_field_type)
}
SQLColAttributes(result->stmt, (SQLUSMALLINT)pv_num, SQL_COLUMN_TYPE_NAME, tmp, 31, &tmplen, NULL);
- RETURN_STRING(tmp,1)
+ RETURN_STRING(tmp)
}
/* }}} */
@@ -2865,7 +2876,7 @@ PHP_FUNCTION(odbc_field_num)
return;
}
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_res, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_res, -1, "ODBC result", le_result);
if (result->numcols == 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "No tuples available at this result index");
@@ -2900,7 +2911,7 @@ PHP_FUNCTION(odbc_autocommit)
return;
}
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
if (ZEND_NUM_ARGS() > 1) {
rc = SQLSetConnectOption(conn->hdbc, SQL_AUTOCOMMIT, (pv_onoff) ? SQL_AUTOCOMMIT_ON : SQL_AUTOCOMMIT_OFF);
@@ -2943,7 +2954,7 @@ static void php_odbc_lasterror(INTERNAL_FUNCTION_PARAMETERS, int mode)
{
odbc_connection *conn;
zval *pv_handle;
- char *ptr;
+ zend_string *ptr;
int len;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|r", &pv_handle) == FAILURE) {
@@ -2957,22 +2968,22 @@ static void php_odbc_lasterror(INTERNAL_FUNCTION_PARAMETERS, int mode)
}
if (ZEND_NUM_ARGS() == 1) {
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_handle, -1, "ODBC-Link", le_conn, le_pconn);
- ptr = ecalloc(len + 1, 1);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_handle, -1, "ODBC-Link", le_conn, le_pconn);
+ ptr = STR_ALLOC(len + 1, 0);
if (mode == 0) {
- strlcpy(ptr, conn->laststate, len+1);
+ strlcpy(ptr->val, conn->laststate, len+1);
} else {
- strlcpy(ptr, conn->lasterrormsg, len+1);
+ strlcpy(ptr->val, conn->lasterrormsg, len+1);
}
} else {
- ptr = ecalloc(len + 1, 1);
+ ptr = STR_ALLOC(len, 0);
if (mode == 0) {
- strlcpy(ptr, ODBCG(laststate), len+1);
+ strlcpy(ptr->val, ODBCG(laststate), len+1);
} else {
- strlcpy(ptr, ODBCG(lasterrormsg), len+1);
+ strlcpy(ptr->val, ODBCG(lasterrormsg), len+1);
}
}
- RETVAL_STRING(ptr, 0);
+ RETVAL_STR(ptr);
}
/* }}} */
@@ -3014,7 +3025,7 @@ PHP_FUNCTION(odbc_setoption)
switch (pv_which) {
case 1: /* SQLSetConnectOption */
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_handle, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_handle, -1, "ODBC-Link", le_conn, le_pconn);
if (conn->persistent) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to set option for persistent connection");
@@ -3027,7 +3038,7 @@ PHP_FUNCTION(odbc_setoption)
}
break;
case 2: /* SQLSetStmtOption */
- ZEND_FETCH_RESOURCE(result, odbc_result *, &pv_handle, -1, "ODBC result", le_result);
+ ZEND_FETCH_RESOURCE(result, odbc_result *, pv_handle, -1, "ODBC result", le_result);
rc = SQLSetStmtOption(result->stmt, (unsigned short) pv_opt, pv_val);
@@ -3066,7 +3077,7 @@ PHP_FUNCTION(odbc_tables)
return;
}
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
@@ -3133,7 +3144,7 @@ PHP_FUNCTION(odbc_columns)
return;
}
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
@@ -3203,7 +3214,7 @@ PHP_FUNCTION(odbc_columnprivileges)
return;
}
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
@@ -3279,7 +3290,7 @@ PHP_FUNCTION(odbc_foreignkeys)
EMPTY_TO_NULL(ftable);
#endif
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
@@ -3345,7 +3356,7 @@ PHP_FUNCTION(odbc_gettypeinfo)
data_type = (SQLSMALLINT) pv_data_type;
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
@@ -3402,7 +3413,7 @@ PHP_FUNCTION(odbc_primarykeys)
return;
}
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
@@ -3468,7 +3479,7 @@ PHP_FUNCTION(odbc_procedurecolumns)
return;
}
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
@@ -3535,7 +3546,7 @@ PHP_FUNCTION(odbc_procedures)
return;
}
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
@@ -3603,7 +3614,7 @@ PHP_FUNCTION(odbc_specialcolumns)
scope = (SQLUSMALLINT) vscope;
nullable = (SQLUSMALLINT) vnullable;
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
@@ -3672,7 +3683,7 @@ PHP_FUNCTION(odbc_statistics)
unique = (SQLUSMALLINT) vunique;
reserved = (SQLUSMALLINT) vreserved;
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
@@ -3735,7 +3746,7 @@ PHP_FUNCTION(odbc_tableprivileges)
return;
}
- ZEND_FETCH_RESOURCE2(conn, odbc_connection *, &pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
+ ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);
result = (odbc_result *)ecalloc(1, sizeof(odbc_result));
diff --git a/ext/odbc/php_odbc_includes.h b/ext/odbc/php_odbc_includes.h
index a9b0acfa0c..8e9eec0f8f 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
@@ -227,7 +228,7 @@ typedef struct odbc_connection {
ODBC_SQL_CONN_T hdbc;
char laststate[6];
char lasterrormsg[SQL_MAX_MESSAGE_LENGTH];
- int id;
+ zend_resource *res;
int persistent;
} odbc_connection;
@@ -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..812ae7778d 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)');
@@ -43,8 +43,8 @@ bool(false)
Warning: odbc_free_result() expects parameter 1 to be resource, null given in %s on line %d
NULL
-Warning: odbc_fetch_row(): %d is not a valid ODBC result resource in %s on line %d
+Warning: odbc_fetch_row(): supplied resource is not a valid ODBC result resource in %s on line %d
bool(false)
-Warning: odbc_result(): %d is not a valid ODBC result resource in %s on line %d
+Warning: odbc_result(): supplied resource is not a valid ODBC result resource in %s on line %d
bool(false)
diff --git a/ext/opcache/Optimizer/compact_literals.c b/ext/opcache/Optimizer/compact_literals.c
index b97fda9ab1..f13bf50699 100644
--- a/ext/opcache/Optimizer/compact_literals.c
+++ b/ext/opcache/Optimizer/compact_literals.c
@@ -273,7 +273,7 @@ static void optimizer_compact_literals(zend_op_array *op_array, zend_optimizer_c
for (i = 0; i < op_array->last_literal; i++) {
zval zv = op_array->literals[i].constant;
- use_copy = zend_make_printable_zval(&op_array->literals[i].constant, &zv);
+ use_copy = zend_make_printable_zval(&op_array->literals[i].constant, &zv TSRMLS_CC);
fprintf(stderr, "Literal %d, val (%d):%s\n", i, Z_STRLEN(zv), Z_STRVAL(zv));
if (use_copy) {
zval_dtor(&zv);
@@ -454,7 +454,7 @@ static void optimizer_compact_literals(zend_op_array *op_array, zend_optimizer_c
for (i = 0; i < op_array->last_literal; i++) {
zval zv = op_array->literals[i].constant;
- use_copy = zend_make_printable_zval(&op_array->literals[i].constant, &zv);
+ use_copy = zend_make_printable_zval(&op_array->literals[i].constant, &zv TSRMLS_CC);
fprintf(stderr, "Literal %d, val (%d):%s\n", i, Z_STRLEN(zv), Z_STRVAL(zv));
if (use_copy) {
zval_dtor(&zv);
diff --git a/ext/opcache/Optimizer/zend_optimizer.c b/ext/opcache/Optimizer/zend_optimizer.c
index e4e1f74acc..fd711cb9ee 100644
--- a/ext/opcache/Optimizer/zend_optimizer.c
+++ b/ext/opcache/Optimizer/zend_optimizer.c
@@ -110,9 +110,6 @@ int zend_optimizer_add_literal(zend_op_array *op_array, zval *zv TSRMLS_DC)
int i = op_array->last_literal;
op_array->last_literal++;
op_array->literals = (zval*)erealloc(op_array->literals, op_array->last_literal * sizeof(zval));
- if (Z_TYPE_P(zv) == IS_ARRAY) {
- zend_make_immutable_array(zv TSRMLS_CC);
- }
ZVAL_COPY_VALUE(&op_array->literals[i], zv);
Z_CACHE_SLOT(op_array->literals[i]) = -1;
//??? Z_SET_REFCOUNT(op_array->literals[i].constant, 2);
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index df36b55b62..6228c827c9 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -719,7 +719,7 @@ static accel_time_t zend_get_file_handle_timestamp_win(zend_file_handle *file_ha
ftime /= 10000000L;
if (size) {
- *size = (size_t)(((unsigned __int64)fdata.nFileSizeHigh) << 32 + (unsigned __int64)fdata.nFileSizeLow);
+ *size = (size_t)((((unsigned __int64)fdata.nFileSizeHigh) << 32) + (unsigned __int64)fdata.nFileSizeLow);
}
return (accel_time_t)ftime;
}
@@ -1650,6 +1650,7 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type T
/* If script was not found or invalidated by validate_timestamps */
if (!persistent_script) {
+ zend_uint old_const_num = zend_hash_next_free_element(EG(zend_constants));
zend_op_array *op_array;
/* Cache miss.. */
@@ -1674,6 +1675,14 @@ zend_op_array *persistent_compile_file(zend_file_handle *file_handle, int type T
SHM_PROTECT();
return op_array;
}
+ if (from_shared_memory) {
+ /* Delete immutable arrays moved into SHM */
+ zend_uint new_const_num = zend_hash_next_free_element(EG(zend_constants));
+ while (new_const_num > old_const_num) {
+ new_const_num--;
+ zend_hash_index_del(EG(zend_constants), new_const_num);
+ }
+ }
} else {
#if !ZEND_WIN32
diff --git a/ext/opcache/zend_accelerator_util_funcs.c b/ext/opcache/zend_accelerator_util_funcs.c
index 0c3b808c63..7c59d01254 100644
--- a/ext/opcache/zend_accelerator_util_funcs.c
+++ b/ext/opcache/zend_accelerator_util_funcs.c
@@ -988,7 +988,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
@@ -1000,6 +999,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/opcache/zend_persist.c b/ext/opcache/zend_persist.c
index 09bca802c6..d703235a5c 100644
--- a/ext/opcache/zend_persist.c
+++ b/ext/opcache/zend_persist.c
@@ -86,11 +86,18 @@ static void zend_hash_persist(HashTable *ht, zend_persist_func_t pPersistElement
return;
}
if (ht->u.flags & HASH_FLAG_PACKED) {
- zend_accel_store(ht->arData, sizeof(Bucket) * ht->nTableSize);
+ zend_accel_store(ht->arData, sizeof(Bucket) * ht->nNumUsed);
ht->arHash = (zend_uint*)&uninitialized_bucket;
} else {
- zend_accel_store(ht->arData, (sizeof(Bucket) + sizeof(zend_uint)) * ht->nTableSize);
- ht->arHash = (zend_uint*)(ht->arData + ht->nTableSize);
+ Bucket *d = (Bucket*)ZCG(mem);
+ zend_uint *h = (zend_uint*)(d + ht->nNumUsed);
+
+ ZCG(mem) = (void*)(h + ht->nTableSize);
+ memcpy(d, ht->arData, sizeof(Bucket) * ht->nNumUsed);
+ memcpy(h, ht->arHash, sizeof(zend_uint) * ht->nTableSize);
+ efree(ht->arData);
+ ht->arData = d;
+ ht->arHash = h;
}
for (idx = 0; idx < ht->nNumUsed; idx++) {
p = ht->arData + idx;
@@ -116,11 +123,17 @@ static void zend_hash_persist_immutable(HashTable *ht TSRMLS_DC)
return;
}
if (ht->u.flags & HASH_FLAG_PACKED) {
- ht->arData = zend_accel_memdup(ht->arData, sizeof(Bucket) * ht->nTableSize);
+ ht->arData = zend_accel_memdup(ht->arData, sizeof(Bucket) * ht->nNumUsed);
ht->arHash = (zend_uint*)&uninitialized_bucket;
} else {
- ht->arData = zend_accel_memdup(ht->arData, (sizeof(Bucket) + sizeof(zend_uint)) * ht->nTableSize);
- ht->arHash = (zend_uint*)(ht->arData + ht->nTableSize);
+ Bucket *d = (Bucket*)ZCG(mem);
+ zend_uint *h = (zend_uint*)(d + ht->nNumUsed);
+
+ ZCG(mem) = (void*)(h + ht->nTableSize);
+ memcpy(d, ht->arData, sizeof(Bucket) * ht->nNumUsed);
+ memcpy(h, ht->arHash, sizeof(zend_uint) * ht->nTableSize);
+ ht->arData = d;
+ ht->arHash = h;
}
for (idx = 0; idx < ht->nNumUsed; idx++) {
p = ht->arData + idx;
@@ -195,6 +208,7 @@ static void zend_persist_zval(zval *z TSRMLS_DC)
new_ptr = zend_shared_alloc_get_xlat_entry(Z_ARR_P(z));
if (new_ptr) {
Z_ARR_P(z) = new_ptr;
+ Z_TYPE_FLAGS_P(z) = IS_TYPE_IMMUTABLE;
} else {
if (Z_IMMUTABLE_P(z)) {
Z_ARR_P(z) = zend_accel_memdup(Z_ARR_P(z), sizeof(zend_array));
@@ -202,6 +216,10 @@ static void zend_persist_zval(zval *z TSRMLS_DC)
} else {
zend_accel_store(Z_ARR_P(z), sizeof(zend_array));
zend_hash_persist(Z_ARRVAL_P(z), zend_persist_zval TSRMLS_CC);
+ /* make immutable array */
+ Z_TYPE_FLAGS_P(z) = IS_TYPE_IMMUTABLE;
+ GC_REFCOUNT(Z_COUNTED_P(z)) = 2;
+ Z_ARRVAL_P(z)->u.flags &= ~HASH_FLAG_APPLY_PROTECTION;
}
}
break;
@@ -252,6 +270,7 @@ static void zend_persist_zval_const(zval *z TSRMLS_DC)
new_ptr = zend_shared_alloc_get_xlat_entry(Z_ARR_P(z));
if (new_ptr) {
Z_ARR_P(z) = new_ptr;
+ Z_TYPE_FLAGS_P(z) = IS_TYPE_IMMUTABLE;
} else {
if (Z_IMMUTABLE_P(z)) {
Z_ARR_P(z) = zend_accel_memdup(Z_ARR_P(z), sizeof(zend_array));
@@ -259,6 +278,10 @@ static void zend_persist_zval_const(zval *z TSRMLS_DC)
} else {
zend_accel_store(Z_ARR_P(z), sizeof(zend_array));
zend_hash_persist(Z_ARRVAL_P(z), zend_persist_zval TSRMLS_CC);
+ /* make immutable array */
+ Z_TYPE_FLAGS_P(z) = IS_TYPE_IMMUTABLE;
+ GC_REFCOUNT(Z_COUNTED_P(z)) = 2;
+ Z_ARRVAL_P(z)->u.flags &= ~HASH_FLAG_APPLY_PROTECTION;
}
}
break;
diff --git a/ext/opcache/zend_persist_calc.c b/ext/opcache/zend_persist_calc.c
index dc7f96727c..f26a6fe195 100644
--- a/ext/opcache/zend_persist_calc.c
+++ b/ext/opcache/zend_persist_calc.c
@@ -63,9 +63,9 @@ static uint zend_hash_persist_calc(HashTable *ht, uint (*pPersistElement)(zval *
RETURN_SIZE();
}
if (ht->u.flags & HASH_FLAG_PACKED) {
- ADD_DUP_SIZE(ht->arData, sizeof(Bucket) * ht->nTableSize);
+ ADD_SIZE(sizeof(Bucket) * ht->nNumUsed);
} else {
- ADD_DUP_SIZE(ht->arData, (sizeof(Bucket) + sizeof(zend_uint)) * ht->nTableSize);
+ ADD_SIZE(sizeof(Bucket) * ht->nNumUsed + sizeof(zend_uint) * ht->nTableSize);
}
for (idx = 0; idx < ht->nNumUsed; idx++) {
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index ed13bae12c..1d75ff08fc 100755
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -838,13 +838,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 && (item = zend_hash_str_find(Z_ARRVAL_P(optional_args), key, sizeof(key)-1)) != NULL) \
+ if (optional_args && (item = zend_hash_str_find(Z_ARRVAL_P(optional_args), key, sizeof(key)-1)) != NULL && Z_TYPE_P(item) == IS_STRING) \
varname = Z_STRVAL_P(item); \
else \
varname = defval
#define SET_OPTIONAL_LONG_ARG(key, varname, defval) \
- if (optional_args && (item = zend_hash_str_find(Z_ARRVAL_P(optional_args), key, sizeof(key)-1)) != NULL) \
+ if (optional_args && (item = zend_hash_str_find(Z_ARRVAL_P(optional_args), key, sizeof(key)-1)) != NULL && Z_TYPE_P(item) == IS_LONG) \
varname = Z_LVAL_P(item); \
else \
varname = defval
@@ -904,7 +904,8 @@ static int php_openssl_parse_config(struct php_x509_request * req, zval * option
}
}
- if (req->priv_key_encrypt && optional_args && (item = zend_hash_str_find(Z_ARRVAL_P(optional_args), "encrypt_key_cipher", sizeof("encrypt_key_cipher")-1)) != NULL) {
+ if (req->priv_key_encrypt && optional_args && (item = zend_hash_str_find(Z_ARRVAL_P(optional_args), "encrypt_key_cipher", sizeof("encrypt_key_cipher")-1)) != NULL
+ && Z_TYPE_P(item) == IS_LONG) {
long cipher_algo = Z_LVAL_P(item);
const EVP_CIPHER* cipher = php_openssl_get_evp_cipher_from_algo(cipher_algo);
if (cipher == NULL) {
@@ -1759,77 +1760,30 @@ 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)
+zend_string* php_openssl_x509_fingerprint(X509 *peer, const char *method, zend_bool raw TSRMLS_DC)
{
unsigned char md[EVP_MAX_MD_SIZE];
const EVP_MD *mdtype;
unsigned int n;
+ zend_string *ret;
if (!(mdtype = EVP_get_digestbyname(method))) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown signature algorithm");
- return FAILURE;
+ return NULL;
} else if (!X509_digest(peer, mdtype, md, &n)) {
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Could not generate signature");
- return FAILURE;
+ return NULL;
}
if (raw) {
- *out_len = n;
- *out = estrndup((char *) md, n);
+ ret = STR_INIT((char*)md, n, 0);
} else {
- *out_len = n * 2;
- *out = emalloc(*out_len + 1);
-
- make_digest_ex(*out, md, n);
- }
-
- 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);
+ ret = STR_ALLOC(n * 2, 0);
+ make_digest_ex(ret->val, md, n);
+ ret->val[n * 2] = '\0';
}
- 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) {
- zval *current;
- zend_string *key;
-
- ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(val), key, current) {
- if (Z_TYPE_P(current) == IS_STRING
- && php_x509_fingerprint_cmp(peer, key->val, Z_STRVAL_P(current) TSRMLS_CC) != 0
- ) {
- return 0;
- }
- } ZEND_HASH_FOREACH_END();
- return 1;
- }
- return 0;
+ return ret;
}
PHP_FUNCTION(openssl_x509_fingerprint)
@@ -1840,9 +1794,7 @@ PHP_FUNCTION(openssl_x509_fingerprint)
zend_bool raw_output = 0;
char *method = "sha1";
int method_len;
-
- char *fingerprint;
- int fingerprint_len;
+ zend_string *fingerprint;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|sb", &zcert, &method, &method_len, &raw_output) == FAILURE) {
return;
@@ -1854,10 +1806,9 @@ PHP_FUNCTION(openssl_x509_fingerprint)
RETURN_FALSE;
}
- if (php_openssl_x509_fingerprint(cert, method, raw_output, &fingerprint, &fingerprint_len TSRMLS_CC) == SUCCESS) {
- // TODO: avoid reallocation ???
- RETVAL_STRINGL(fingerprint, fingerprint_len);
- efree(fingerprint);
+ fingerprint = php_openssl_x509_fingerprint(cert, method, raw_output TSRMLS_CC);
+ if (fingerprint) {
+ RETVAL_STR(fingerprint);
} else {
RETVAL_FALSE;
}
@@ -2435,7 +2386,7 @@ PHP_FUNCTION(openssl_pkcs12_export_to_file)
}
/* parse extra config from args array, promote this to an extra function */
- if (args && (item = zend_hash_str_find(Z_ARRVAL_P(args), "friendly_name", sizeof("friendly_name")-1)) != NULL)
+ if (args && (item = zend_hash_str_find(Z_ARRVAL_P(args), "friendly_name", sizeof("friendly_name")-1)) != NULL && Z_TYPE_P(item) == IS_STRING)
friendly_name = Z_STRVAL_P(item);
/* certpbe (default RC2-40)
keypbe (default 3DES)
@@ -2513,7 +2464,7 @@ PHP_FUNCTION(openssl_pkcs12_export)
}
/* parse extra config from args array, promote this to an extra function */
- if (args && (item = zend_hash_str_find(Z_ARRVAL_P(args), "friendly_name", sizeof("friendly_name")-1)) != NULL)
+ if (args && (item = zend_hash_str_find(Z_ARRVAL_P(args), "friendly_name", sizeof("friendly_name")-1)) != NULL && Z_TYPE_P(item) == IS_STRING)
friendly_name = Z_STRVAL_P(item);
if (args && (item = zend_hash_str_find(Z_ARRVAL_P(args), "extracerts", sizeof("extracerts")-1)) != NULL)
@@ -3503,12 +3454,10 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
#define OPENSSL_PKEY_GET_BN(_type, _name) do { \
if (pkey->pkey._type->_name != NULL) { \
int len = BN_num_bytes(pkey->pkey._type->_name); \
- char *str = emalloc(len + 1); \
- BN_bn2bin(pkey->pkey._type->_name, (unsigned char*)str); \
- str[len] = 0; \
- /* TODO: avoid reallocation ??? */ \
- add_assoc_stringl(&_type, #_name, str, len); \
- efree(str); \
+ zend_string *str = STR_ALLOC(len, 0); \
+ BN_bn2bin(pkey->pkey._type->_name, (unsigned char*)str->val); \
+ str->val[len] = 0; \
+ add_assoc_str(&_type, #_name, str); \
} \
} while (0)
@@ -3922,7 +3871,7 @@ PHP_FUNCTION(openssl_pbkdf2)
char *password; int password_len;
char *salt; int salt_len;
char *method; int method_len = 0;
- unsigned char *out_buffer;
+ zend_string *out_buffer;
const EVP_MD *digest;
@@ -3949,15 +3898,13 @@ PHP_FUNCTION(openssl_pbkdf2)
RETURN_FALSE;
}
- out_buffer = emalloc(key_length + 1);
- out_buffer[key_length] = '\0';
+ out_buffer = STR_ALLOC(key_length, 0);
- if (PKCS5_PBKDF2_HMAC(password, password_len, (unsigned char *)salt, salt_len, iterations, digest, key_length, out_buffer) == 1) {
- // TODO: avoid reallocation ???
- RETVAL_STRINGL((char *)out_buffer, key_length);
- efree(out_buffer);
+ if (PKCS5_PBKDF2_HMAC(password, password_len, (unsigned char *)salt, salt_len, iterations, digest, key_length, (unsigned char*)out_buffer->val) == 1) {
+ out_buffer->val[key_length] = 0;
+ RETURN_STR(out_buffer);
} else {
- efree(out_buffer);
+ STR_RELEASE(out_buffer);
RETURN_FALSE;
}
}
@@ -4381,7 +4328,7 @@ PHP_FUNCTION(openssl_private_encrypt)
zval *key, *crypted;
EVP_PKEY *pkey;
int cryptedlen;
- unsigned char *cryptedbuf = NULL;
+ zend_string *cryptedbuf = NULL;
int successful = 0;
zend_resource *keyresource = NULL;
char * data;
@@ -4401,14 +4348,14 @@ PHP_FUNCTION(openssl_private_encrypt)
}
cryptedlen = EVP_PKEY_size(pkey);
- cryptedbuf = emalloc(cryptedlen + 1);
+ cryptedbuf = STR_ALLOC(cryptedlen, 0);
switch (pkey->type) {
case EVP_PKEY_RSA:
case EVP_PKEY_RSA2:
successful = (RSA_private_encrypt(data_len,
(unsigned char *)data,
- cryptedbuf,
+ (unsigned char *)cryptedbuf->val,
pkey->pkey.rsa,
padding) == cryptedlen);
break;
@@ -4418,15 +4365,13 @@ PHP_FUNCTION(openssl_private_encrypt)
if (successful) {
zval_dtor(crypted);
- cryptedbuf[cryptedlen] = '\0';
- // TODO: avoid reallocation ???
- ZVAL_STRINGL(crypted, (char *)cryptedbuf, cryptedlen);
- efree(cryptedbuf);
+ cryptedbuf->val[cryptedlen] = '\0';
+ ZVAL_STR(crypted, cryptedbuf);
cryptedbuf = NULL;
RETVAL_TRUE;
}
if (cryptedbuf) {
- efree(cryptedbuf);
+ STR_RELEASE(cryptedbuf);
}
if (keyresource == NULL) {
EVP_PKEY_free(pkey);
@@ -4441,7 +4386,7 @@ PHP_FUNCTION(openssl_private_decrypt)
zval *key, *crypted;
EVP_PKEY *pkey;
int cryptedlen;
- unsigned char *cryptedbuf = NULL;
+ zend_string *cryptedbuf = NULL;
unsigned char *crypttemp;
int successful = 0;
long padding = RSA_PKCS1_PADDING;
@@ -4472,8 +4417,8 @@ PHP_FUNCTION(openssl_private_decrypt)
pkey->pkey.rsa,
padding);
if (cryptedlen != -1) {
- cryptedbuf = emalloc(cryptedlen + 1);
- memcpy(cryptedbuf, crypttemp, cryptedlen);
+ cryptedbuf = STR_ALLOC(cryptedlen, 0);
+ memcpy(cryptedbuf->val, crypttemp, cryptedlen);
successful = 1;
}
break;
@@ -4485,10 +4430,8 @@ PHP_FUNCTION(openssl_private_decrypt)
if (successful) {
zval_dtor(crypted);
- cryptedbuf[cryptedlen] = '\0';
- // TODO: avoid reallocation ???
- ZVAL_STRINGL(crypted, (char *)cryptedbuf, cryptedlen);
- efree(cryptedbuf);
+ cryptedbuf->val[cryptedlen] = '\0';
+ ZVAL_STR(crypted, cryptedbuf);
cryptedbuf = NULL;
RETVAL_TRUE;
}
@@ -4497,7 +4440,7 @@ PHP_FUNCTION(openssl_private_decrypt)
EVP_PKEY_free(pkey);
}
if (cryptedbuf) {
- efree(cryptedbuf);
+ STR_RELEASE(cryptedbuf);
}
}
/* }}} */
@@ -4509,7 +4452,7 @@ PHP_FUNCTION(openssl_public_encrypt)
zval *key, *crypted;
EVP_PKEY *pkey;
int cryptedlen;
- unsigned char *cryptedbuf;
+ zend_string *cryptedbuf;
int successful = 0;
zend_resource *keyresource = NULL;
long padding = RSA_PKCS1_PADDING;
@@ -4527,14 +4470,14 @@ PHP_FUNCTION(openssl_public_encrypt)
}
cryptedlen = EVP_PKEY_size(pkey);
- cryptedbuf = emalloc(cryptedlen + 1);
+ cryptedbuf = STR_ALLOC(cryptedlen, 0);
switch (pkey->type) {
case EVP_PKEY_RSA:
case EVP_PKEY_RSA2:
successful = (RSA_public_encrypt(data_len,
(unsigned char *)data,
- cryptedbuf,
+ (unsigned char *)cryptedbuf->val,
pkey->pkey.rsa,
padding) == cryptedlen);
break;
@@ -4545,10 +4488,8 @@ PHP_FUNCTION(openssl_public_encrypt)
if (successful) {
zval_dtor(crypted);
- cryptedbuf[cryptedlen] = '\0';
- // TODO: avoid reallocation ???
- ZVAL_STRINGL(crypted, (char *)cryptedbuf, cryptedlen);
- efree(cryptedbuf);
+ cryptedbuf->val[cryptedlen] = '\0';
+ ZVAL_STR(crypted, cryptedbuf);
cryptedbuf = NULL;
RETVAL_TRUE;
}
@@ -4556,7 +4497,7 @@ PHP_FUNCTION(openssl_public_encrypt)
EVP_PKEY_free(pkey);
}
if (cryptedbuf) {
- efree(cryptedbuf);
+ STR_RELEASE(cryptedbuf);
}
}
/* }}} */
@@ -4568,7 +4509,7 @@ PHP_FUNCTION(openssl_public_decrypt)
zval *key, *crypted;
EVP_PKEY *pkey;
int cryptedlen;
- unsigned char *cryptedbuf = NULL;
+ zend_string *cryptedbuf = NULL;
unsigned char *crypttemp;
int successful = 0;
zend_resource *keyresource = NULL;
@@ -4599,8 +4540,8 @@ PHP_FUNCTION(openssl_public_decrypt)
pkey->pkey.rsa,
padding);
if (cryptedlen != -1) {
- cryptedbuf = emalloc(cryptedlen + 1);
- memcpy(cryptedbuf, crypttemp, cryptedlen);
+ cryptedbuf = STR_ALLOC(cryptedlen, 0);
+ memcpy(cryptedbuf->val, crypttemp, cryptedlen);
successful = 1;
}
break;
@@ -4614,16 +4555,14 @@ PHP_FUNCTION(openssl_public_decrypt)
if (successful) {
zval_dtor(crypted);
- cryptedbuf[cryptedlen] = '\0';
- // TODO: avoid reallocation ???
- ZVAL_STRINGL(crypted, (char *)cryptedbuf, cryptedlen);
- efree(cryptedbuf);
+ cryptedbuf->val[cryptedlen] = '\0';
+ ZVAL_STR(crypted, cryptedbuf);
cryptedbuf = NULL;
RETVAL_TRUE;
}
if (cryptedbuf) {
- efree(cryptedbuf);
+ STR_RELEASE(cryptedbuf);
}
if (keyresource == NULL) {
EVP_PKEY_free(pkey);
@@ -4657,8 +4596,8 @@ PHP_FUNCTION(openssl_sign)
{
zval *key, *signature;
EVP_PKEY *pkey;
- int siglen;
- unsigned char *sigbuf;
+ unsigned int siglen;
+ zend_string *sigbuf;
zend_resource *keyresource = NULL;
char * data;
int data_len;
@@ -4693,16 +4632,15 @@ PHP_FUNCTION(openssl_sign)
}
siglen = EVP_PKEY_size(pkey);
- sigbuf = emalloc(siglen + 1);
+ sigbuf = STR_ALLOC(siglen, 0);
EVP_SignInit(&md_ctx, mdtype);
EVP_SignUpdate(&md_ctx, data, data_len);
- if (EVP_SignFinal (&md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) {
+ if (EVP_SignFinal (&md_ctx, (unsigned char*)sigbuf->val, &siglen, pkey)) {
zval_dtor(signature);
- sigbuf[siglen] = '\0';
- // TODO: avoid reallocation ???
- ZVAL_STRINGL(signature, (char *)sigbuf, siglen);
- efree(sigbuf);
+ sigbuf->val[siglen] = '\0';
+ sigbuf->len = siglen;
+ ZVAL_STR(signature, sigbuf);
RETVAL_TRUE;
} else {
efree(sigbuf);
@@ -4867,7 +4805,8 @@ PHP_FUNCTION(openssl_seal)
zval_dtor(*ivec);
if (ivlen) {
iv[ivlen] = '\0';
- ZVAL_STRINGL(*ivec, erealloc(iv, ivlen + 1), ivlen, 0);
+ ZVAL_STRINGL(*ivec, iv, ivlen);
+ efree(iv);
} else {
ZVAL_EMPTY_STRING(*ivec);
}
@@ -5009,8 +4948,8 @@ PHP_FUNCTION(openssl_digest)
int data_len, method_len;
const EVP_MD *mdtype;
EVP_MD_CTX md_ctx;
- int siglen;
- unsigned char *sigbuf;
+ unsigned int siglen;
+ zend_string *sigbuf;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|b", &data, &data_len, &method, &method_len, &raw_output) == FAILURE) {
return;
@@ -5022,28 +4961,26 @@ PHP_FUNCTION(openssl_digest)
}
siglen = EVP_MD_size(mdtype);
- sigbuf = emalloc(siglen + 1);
+ sigbuf = STR_ALLOC(siglen, 0);
EVP_DigestInit(&md_ctx, mdtype);
EVP_DigestUpdate(&md_ctx, (unsigned char *)data, data_len);
- if (EVP_DigestFinal (&md_ctx, (unsigned char *)sigbuf, (unsigned int *)&siglen)) {
+ if (EVP_DigestFinal (&md_ctx, (unsigned char *)sigbuf->val, &siglen)) {
if (raw_output) {
- sigbuf[siglen] = '\0';
- // TODO: avoid reallocation ???
- RETVAL_STRINGL((char *)sigbuf, siglen);
- efree(sigbuf);
+ sigbuf->val[siglen] = '\0';
+ sigbuf->len = siglen;
+ RETVAL_STR(sigbuf);
} else {
int digest_str_len = siglen * 2;
- char *digest_str = emalloc(digest_str_len + 1);
+ zend_string *digest_str = STR_ALLOC(digest_str_len, 0);
- make_digest_ex(digest_str, sigbuf, siglen);
- efree(sigbuf);
- // TODO: avid reallocation ???
- RETVAL_STRINGL(digest_str, digest_str_len);
- efree(digest_str);
+ make_digest_ex(digest_str->val, (unsigned char*)sigbuf->val, siglen);
+ digest_str->val[digest_str_len] = '\0';
+ STR_RELEASE(sigbuf);
+ RETVAL_STR(digest_str);
}
} else {
- efree(sigbuf);
+ STR_RELEASE(sigbuf);
RETVAL_FALSE;
}
}
@@ -5093,7 +5030,8 @@ PHP_FUNCTION(openssl_encrypt)
const EVP_CIPHER *cipher_type;
EVP_CIPHER_CTX cipher_ctx;
int i=0, outlen, keylen;
- unsigned char *outbuf, *key;
+ zend_string *outbuf;
+ unsigned char *key;
zend_bool free_iv;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss|ls", &data, &data_len, &method, &method_len, &password, &password_len, &options, &iv, &iv_len) == FAILURE) {
@@ -5121,7 +5059,7 @@ PHP_FUNCTION(openssl_encrypt)
free_iv = php_openssl_validate_iv(&iv, &iv_len, max_iv_len TSRMLS_CC);
outlen = data_len + EVP_CIPHER_block_size(cipher_type);
- outbuf = emalloc(outlen + 1);
+ outbuf = STR_ALLOC(outlen, 0);
EVP_EncryptInit(&cipher_ctx, cipher_type, NULL, NULL);
if (password_len > keylen) {
@@ -5132,25 +5070,24 @@ PHP_FUNCTION(openssl_encrypt)
EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0);
}
if (data_len > 0) {
- EVP_EncryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len);
+ EVP_EncryptUpdate(&cipher_ctx, (unsigned char*)outbuf->val, &i, (unsigned char *)data, data_len);
}
outlen = i;
- if (EVP_EncryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) {
+ if (EVP_EncryptFinal(&cipher_ctx, (unsigned char *)outbuf->val + i, &i)) {
outlen += i;
if (options & OPENSSL_RAW_DATA) {
- outbuf[outlen] = '\0';
- // TODO: avoid reallocation ???
- RETVAL_STRINGL((char *)outbuf, outlen);
- efree(outbuf);
+ outbuf->val[outlen] = '\0';
+ outbuf->len = outlen;
+ RETVAL_STR(outbuf);
} else {
zend_string *base64_str;
- base64_str = php_base64_encode(outbuf, outlen);
- efree(outbuf);
+ base64_str = php_base64_encode((unsigned char*)outbuf->val, outlen);
+ STR_RELEASE(outbuf);
RETVAL_STR(base64_str);
}
} else {
- efree(outbuf);
+ STR_RELEASE(outbuf);
RETVAL_FALSE;
}
if (key != (unsigned char*)password) {
@@ -5173,7 +5110,8 @@ PHP_FUNCTION(openssl_decrypt)
const EVP_CIPHER *cipher_type;
EVP_CIPHER_CTX cipher_ctx;
int i, outlen, keylen;
- unsigned char *outbuf, *key;
+ zend_string *outbuf;
+ unsigned char *key;
zend_string *base64_str = NULL;
zend_bool free_iv;
@@ -5214,7 +5152,7 @@ PHP_FUNCTION(openssl_decrypt)
free_iv = php_openssl_validate_iv(&iv, &iv_len, EVP_CIPHER_iv_length(cipher_type) TSRMLS_CC);
outlen = data_len + EVP_CIPHER_block_size(cipher_type);
- outbuf = emalloc(outlen + 1);
+ outbuf = STR_ALLOC(outlen, 0);
EVP_DecryptInit(&cipher_ctx, cipher_type, NULL, NULL);
if (password_len > keylen) {
@@ -5224,16 +5162,15 @@ PHP_FUNCTION(openssl_decrypt)
if (options & OPENSSL_ZERO_PADDING) {
EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0);
}
- EVP_DecryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len);
+ EVP_DecryptUpdate(&cipher_ctx, (unsigned char*)outbuf->val, &i, (unsigned char *)data, data_len);
outlen = i;
- if (EVP_DecryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) {
+ if (EVP_DecryptFinal(&cipher_ctx, (unsigned char *)outbuf->val + i, &i)) {
outlen += i;
- outbuf[outlen] = '\0';
- // TODO: avoid reallocation ???
- RETVAL_STRINGL((char *)outbuf, outlen);
- efree(outbuf);
+ outbuf->val[outlen] = '\0';
+ outbuf->len = outlen;
+ RETVAL_STR(outbuf);
} else {
- efree(outbuf);
+ STR_RELEASE(outbuf);
RETVAL_FALSE;
}
if (key != (unsigned char*)password) {
@@ -5285,7 +5222,7 @@ PHP_FUNCTION(openssl_dh_compute_key)
int pub_len;
EVP_PKEY *pkey;
BIGNUM *pub;
- char *data;
+ zend_string *data;
int len;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sr", &pub_str, &pub_len, &key) == FAILURE) {
@@ -5298,16 +5235,15 @@ PHP_FUNCTION(openssl_dh_compute_key)
pub = BN_bin2bn((unsigned char*)pub_str, pub_len, NULL);
- data = emalloc(DH_size(pkey->pkey.dh) + 1);
- len = DH_compute_key((unsigned char*)data, pub, pkey->pkey.dh);
+ data = STR_ALLOC(DH_size(pkey->pkey.dh), 0);
+ len = DH_compute_key((unsigned char*)data->val, pub, pkey->pkey.dh);
if (len >= 0) {
- data[len] = 0;
- // TODO: avoid reallocation ???
- RETVAL_STRINGL(data, len);
- efree(data);
+ data->len = len;
+ data->val[len] = 0;
+ RETVAL_STR(data);
} else {
- efree(data);
+ STR_RELEASE(data);
RETVAL_FALSE;
}
@@ -5320,7 +5256,7 @@ PHP_FUNCTION(openssl_dh_compute_key)
PHP_FUNCTION(openssl_random_pseudo_bytes)
{
long buffer_length;
- unsigned char *buffer = NULL;
+ zend_string *buffer = NULL;
zval *zstrong_result_returned = NULL;
int strong_result = 0;
@@ -5337,21 +5273,21 @@ PHP_FUNCTION(openssl_random_pseudo_bytes)
ZVAL_BOOL(zstrong_result_returned, 0);
}
- buffer = emalloc(buffer_length + 1);
+ buffer = STR_ALLOC(buffer_length, 0);
#ifdef PHP_WIN32
strong_result = 1;
/* random/urandom equivalent on Windows */
- if (php_win32_get_random_bytes(buffer, (size_t) buffer_length) == FAILURE){
- efree(buffer);
+ if (php_win32_get_random_bytes((unsigned char*)buffer->val, (size_t) buffer_length) == FAILURE){
+ STR_RELEASE(buffer);
if (zstrong_result_returned) {
ZVAL_BOOL(zstrong_result_returned, 0);
}
RETURN_FALSE;
}
#else
- if ((strong_result = RAND_pseudo_bytes(buffer, buffer_length)) < 0) {
- efree(buffer);
+ if ((strong_result = RAND_pseudo_bytes((unsigned char*)buffer->val, buffer_length)) < 0) {
+ STR_RELEASE(buffer);
if (zstrong_result_returned) {
ZVAL_BOOL(zstrong_result_returned, 0);
}
@@ -5359,10 +5295,8 @@ PHP_FUNCTION(openssl_random_pseudo_bytes)
}
#endif
- buffer[buffer_length] = 0;
- // TODO: avoid reallocation ???
- RETVAL_STRINGL((char *)buffer, buffer_length);
- efree(buffer);
+ buffer->val[buffer_length] = 0;
+ RETVAL_STR(buffer);
if (zstrong_result_returned) {
ZVAL_BOOL(zstrong_result_returned, strong_result);
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/xp_ssl.c b/ext/openssl/xp_ssl.c
index bf72fed434..f706e0d5a2 100644
--- a/ext/openssl/xp_ssl.c
+++ b/ext/openssl/xp_ssl.c
@@ -67,7 +67,7 @@
#define STREAM_CRYPTO_METHOD_TLSv1_2 (1<<5)
/* Simplify ssl context option retrieval */
-#define GET_VER_OPT(name) (stream->context && (val = php_stream_context_get_option(stream->context, "ssl", name)) != NULL)
+#define GET_VER_OPT(name) (PHP_STREAM_CONTEXT(stream) && (val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "ssl", name)) != NULL)
#define GET_VER_OPT_STRING(name, str) if (GET_VER_OPT(name)) { convert_to_string_ex(val); str = Z_STRVAL_P(val); }
#define GET_VER_OPT_LONG(name, num) if (GET_VER_OPT(name)) { convert_to_long_ex(val); num = Z_LVAL_P(val); }
@@ -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 zend_string* php_openssl_x509_fingerprint(X509 *peer, const char *method, zend_bool raw TSRMLS_DC);
extern int php_openssl_get_ssl_stream_data_index();
extern int php_openssl_get_x509_list_id(void);
@@ -263,6 +263,52 @@ 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)
+{
+ zend_string *fingerprint;
+ int result = -1;
+
+ fingerprint = php_openssl_x509_fingerprint(peer, method, 0 TSRMLS_CC);
+ if (fingerprint) {
+ result = strcmp(expected, fingerprint->val);
+ STR_RELEASE(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) {
+ zval *current;
+ zend_string *key;
+
+ ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(val), key, current) {
+ if (key && Z_TYPE_P(current) == IS_STRING
+ && php_x509_fingerprint_cmp(peer, key->val, Z_STRVAL_P(current) TSRMLS_CC) != 0
+ ) {
+ return 0;
+ }
+ } ZEND_HASH_FOREACH_END();
+ return 1;
+ }
+ return 0;
+}
+
static zend_bool matches_wildcard_name(const char *subjectname, const char *certname) /* {{{ */
{
char *wildcard = NULL;
@@ -272,11 +318,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;
@@ -319,7 +366,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);
@@ -938,7 +985,7 @@ static void limit_handshake_reneg(const SSL *ssl) /* {{{ */
sslsock->reneg->should_close = 1;
- if (stream->context && (val = php_stream_context_get_option(stream->context,
+ if (PHP_STREAM_CONTEXT(stream) && (val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream),
"ssl", "reneg_limit_callback")) != NULL
) {
zval param, retval;
@@ -981,8 +1028,8 @@ static void init_server_reneg_limit(php_stream *stream, php_openssl_netstream_da
long limit = OPENSSL_DEFAULT_RENEG_LIMIT;
long window = OPENSSL_DEFAULT_RENEG_WINDOW;
- if (stream->context &&
- NULL != (val = php_stream_context_get_option(stream->context,
+ if (PHP_STREAM_CONTEXT(stream) &&
+ NULL != (val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream),
"ssl", "reneg_limit"))
) {
convert_to_long(val);
@@ -994,8 +1041,8 @@ static void init_server_reneg_limit(php_stream *stream, php_openssl_netstream_da
return;
}
- if (stream->context &&
- NULL != (val = php_stream_context_get_option(stream->context,
+ if (PHP_STREAM_CONTEXT(stream) &&
+ NULL != (val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream),
"ssl", "reneg_window"))
) {
convert_to_long(val);
@@ -1022,7 +1069,7 @@ static int set_server_rsa_key(php_stream *stream, SSL_CTX *ctx TSRMLS_DC) /* {{{
int rsa_key_size;
RSA* rsa;
- if ((val = php_stream_context_get_option(stream->context, "ssl", "rsa_key_size")) != NULL) {
+ if ((val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "ssl", "rsa_key_size")) != NULL) {
rsa_key_size = (int) Z_LVAL_P(val);
if ((rsa_key_size != 1) && (rsa_key_size & (rsa_key_size - 1))) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "RSA key size requires a power of 2: %d", rsa_key_size);
@@ -1086,7 +1133,7 @@ static int set_server_ecdh_curve(php_stream *stream, SSL_CTX *ctx TSRMLS_DC) /*
char *curve_str;
EC_KEY *ecdh;
- if ((val = php_stream_context_get_option(stream->context, "ssl", "ecdh_curve")) != NULL) {
+ if ((val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "ssl", "ecdh_curve")) != NULL) {
convert_to_string_ex(val);
curve_str = Z_STRVAL_P(val);
curve_nid = OBJ_sn2nid(curve_str);
@@ -1124,7 +1171,7 @@ static int set_server_specific_opts(php_stream *stream, SSL_CTX *ctx TSRMLS_DC)
return FAILURE;
}
#else
- if (SUCCESS == php_stream_context_get_option(stream->context, "ssl", "ecdh_curve", &val)) {
+ if (SUCCESS == php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "ssl", "ecdh_curve", &val)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,
"ECDH curve support not compiled into the OpenSSL lib against which PHP is linked");
@@ -1132,7 +1179,7 @@ static int set_server_specific_opts(php_stream *stream, SSL_CTX *ctx TSRMLS_DC)
}
#endif
- if ((val = php_stream_context_get_option(stream->context, "ssl", "dh_param")) != NULL) {
+ if ((val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "ssl", "dh_param")) != NULL) {
convert_to_string_ex(val);
if (FAILURE == set_server_dh_param(ctx, Z_STRVAL_P(val) TSRMLS_CC)) {
return FAILURE;
@@ -1144,14 +1191,14 @@ static int set_server_specific_opts(php_stream *stream, SSL_CTX *ctx TSRMLS_DC)
}
if (NULL != (val = php_stream_context_get_option(
- stream->context, "ssl", "honor_cipher_order")) &&
+ PHP_STREAM_CONTEXT(stream), "ssl", "honor_cipher_order")) &&
zend_is_true(val TSRMLS_CC)
) {
ssl_ctx_options |= SSL_OP_CIPHER_SERVER_PREFERENCE;
}
if (NULL != (val = php_stream_context_get_option(
- stream->context, "ssl", "single_dh_use")) &&
+ PHP_STREAM_CONTEXT(stream), "ssl", "single_dh_use")) &&
zend_is_true(val TSRMLS_CC)
) {
ssl_ctx_options |= SSL_OP_SINGLE_DH_USE;
@@ -1159,7 +1206,7 @@ static int set_server_specific_opts(php_stream *stream, SSL_CTX *ctx TSRMLS_DC)
#ifdef HAVE_ECDH
if (NULL != (val = php_stream_context_get_option(
- stream->context, "ssl", "single_ecdh_use")) &&
+ PHP_STREAM_CONTEXT(stream), "ssl", "single_ecdh_use")) &&
zend_is_true(val TSRMLS_CC)) {
ssl_ctx_options |= SSL_OP_SINGLE_ECDH_USE;
}
@@ -1413,7 +1460,7 @@ int php_openssl_setup_crypto(php_stream *stream,
SSL_CTX_set_options(sslsock->ctx, ssl_ctx_options);
if (sslsock->is_client == 0 &&
- stream->context &&
+ PHP_STREAM_CONTEXT(stream) &&
FAILURE == set_server_specific_opts(stream, sslsock->ctx TSRMLS_CC)
) {
return FAILURE;
@@ -1499,16 +1546,16 @@ static int capture_peer_certs(php_stream *stream, php_openssl_netstream_data_t *
zval *val, zcert;
int cert_captured = 0;
- if (NULL != (val = php_stream_context_get_option(stream->context,
+ if (NULL != (val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream),
"ssl", "capture_peer_cert")) &&
zend_is_true(val TSRMLS_CC)
) {
zend_register_resource(&zcert, peer_cert, php_openssl_get_x509_list_id() TSRMLS_CC);
- php_stream_context_set_option(stream->context, "ssl", "peer_certificate", &zcert);
+ php_stream_context_set_option(PHP_STREAM_CONTEXT(stream), "ssl", "peer_certificate", &zcert);
cert_captured = 1;
}
- if (NULL != (val = php_stream_context_get_option(stream->context,
+ if (NULL != (val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream),
"ssl", "capture_peer_cert_chain")) &&
zend_is_true(val TSRMLS_CC)
) {
@@ -1531,7 +1578,7 @@ static int capture_peer_certs(php_stream *stream, php_openssl_netstream_data_t *
ZVAL_NULL(&arr);
}
- php_stream_context_set_option(stream->context, "ssl", "peer_certificate_chain", &arr);
+ php_stream_context_set_option(PHP_STREAM_CONTEXT(stream), "ssl", "peer_certificate_chain", &arr);
zval_dtor(&arr);
}
@@ -1639,7 +1686,7 @@ static int php_openssl_enable_crypto(php_stream *stream,
if (n == 1) {
peer_cert = SSL_get_peer_certificate(sslsock->ssl_handle);
- if (peer_cert && stream->context) {
+ if (peer_cert && PHP_STREAM_CONTEXT(stream)) {
cert_captured = capture_peer_certs(stream, sslsock, peer_cert TSRMLS_CC);
}
@@ -1649,16 +1696,16 @@ static int php_openssl_enable_crypto(php_stream *stream,
} else {
sslsock->ssl_active = 1;
- if (stream->context) {
+ if (PHP_STREAM_CONTEXT(stream)) {
zval *val;
- if (NULL != (val = php_stream_context_get_option(stream->context,
+ if (NULL != (val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream),
"ssl", "capture_session_meta")) &&
zend_is_true(val TSRMLS_CC)
) {
zval meta_arr;
ZVAL_ARR(&meta_arr, capture_session_meta(sslsock->ssl_handle));
- php_stream_context_set_option(stream->context, "ssl", "session_meta", &meta_arr);
+ php_stream_context_set_option(PHP_STREAM_CONTEXT(stream), "ssl", "session_meta", &meta_arr);
zval_dtor(&meta_arr);
}
}
@@ -1668,7 +1715,7 @@ static int php_openssl_enable_crypto(php_stream *stream,
} else {
n = -1;
peer_cert = SSL_get_peer_certificate(sslsock->ssl_handle);
- if (peer_cert && stream->context) {
+ if (peer_cert && PHP_STREAM_CONTEXT(stream)) {
cert_captured = capture_peer_certs(stream, sslsock, peer_cert TSRMLS_CC);
}
}
@@ -1707,7 +1754,7 @@ static size_t php_openssl_sockop_write(php_stream *stream, const char *buf, size
} while(retry);
if (didwrite > 0) {
- php_stream_notify_progress_increment(stream->context, didwrite, 0);
+ php_stream_notify_progress_increment(PHP_STREAM_CONTEXT(stream), didwrite, 0);
}
} else {
didwrite = php_stream_socket_ops.write(stream, buf, count TSRMLS_CC);
@@ -1721,13 +1768,59 @@ static size_t php_openssl_sockop_write(php_stream *stream, const char *buf, size
}
/* }}} */
+static void php_openssl_stream_wait_for_data(php_netstream_data_t *sock)
+{
+ int retval;
+ struct timeval *ptimeout;
+
+ if (sock->socket == -1) {
+ return;
+ }
+
+ sock->timeout_event = 0;
+
+ if (sock->timeout.tv_sec == -1)
+ ptimeout = NULL;
+ else
+ ptimeout = &sock->timeout;
+
+ while(1) {
+ retval = php_pollfd_for(sock->socket, PHP_POLLREADABLE, ptimeout);
+
+ if (retval == 0)
+ sock->timeout_event = 1;
+
+ if (retval >= 0)
+ break;
+
+ if (php_socket_errno() != EINTR)
+ break;
+ }
+}
+
static size_t php_openssl_sockop_read(php_stream *stream, char *buf, size_t count TSRMLS_DC) /* {{{ */
{
php_openssl_netstream_data_t *sslsock = (php_openssl_netstream_data_t*)stream->abstract;
+ php_netstream_data_t *sock;
int nr_bytes = 0;
if (sslsock->ssl_active) {
int retry = 1;
+ sock = (php_netstream_data_t*)stream->abstract;
+
+ /* The SSL_read() function will block indefinitely waiting for data on a blocking
+ socket. If we don't poll for readability first this operation has the potential
+ to hang forever. To avoid this scenario we poll with a timeout before performing
+ the actual read. If it times out we're finished.
+ */
+ if (sock->is_blocked) {
+ php_openssl_stream_wait_for_data(sock);
+ if (sock->timeout_event) {
+ stream->eof = 1;
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "SSL read operation timed out");
+ return nr_bytes;
+ }
+ }
do {
nr_bytes = SSL_read(sslsock->ssl_handle, buf, count);
@@ -1749,7 +1842,7 @@ static size_t php_openssl_sockop_read(php_stream *stream, char *buf, size_t coun
} while (retry);
if (nr_bytes > 0) {
- php_stream_notify_progress_increment(stream->context, nr_bytes, 0);
+ php_stream_notify_progress_increment(PHP_STREAM_CONTEXT(stream), nr_bytes, 0);
}
}
else
@@ -1854,7 +1947,6 @@ static inline int php_openssl_tcp_sockop_accept(php_stream *stream, php_openssl_
clisock = php_network_accept_incoming(sock->s.socket,
xparam->want_textaddr ? &xparam->outputs.textaddr : NULL,
- xparam->want_textaddr ? &xparam->outputs.textaddrlen : NULL,
xparam->want_addr ? &xparam->outputs.addr : NULL,
xparam->want_addr ? &xparam->outputs.addrlen : NULL,
xparam->inputs.timeout,
@@ -1879,9 +1971,9 @@ static inline int php_openssl_tcp_sockop_accept(php_stream *stream, php_openssl_
xparam->outputs.client = php_stream_alloc_rel(stream->ops, clisockdata, NULL, "r+");
if (xparam->outputs.client) {
- xparam->outputs.client->context = stream->context;
- if (stream->context) {
- stream->context->res->gc.refcount++;
+ xparam->outputs.client->ctx = stream->ctx;
+ if (stream->ctx) {
+ GC_REFCOUNT(stream->ctx)++;
}
}
}
diff --git a/ext/pdo/tests/bug65946.phpt b/ext/pdo/tests/bug65946.phpt
index 1c4bd8d6c4..4b63a14bb5 100644
--- a/ext/pdo/tests/bug65946.phpt
+++ b/ext/pdo/tests/bug65946.phpt
@@ -16,7 +16,12 @@ $db = PDOTest::factory();
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
$db->exec('CREATE TABLE test(id int)');
$db->exec('INSERT INTO test VALUES(1)');
-$stmt = $db->prepare('SELECT * FROM test LIMIT :limit');
+if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'firebird') {
+ $sql = 'SELECT FIRST :limit * FROM test';
+} else {
+ $sql = 'SELECT * FROM test LIMIT :limit';
+}
+$stmt = $db->prepare($sql);
$stmt->bindValue('limit', 1, PDO::PARAM_INT);
if(!($res = $stmt->execute())) var_dump($stmt->errorInfo());
if(!($res = $stmt->execute())) var_dump($stmt->errorInfo());
diff --git a/ext/pdo/tests/bug_38253.phpt b/ext/pdo/tests/bug_38253.phpt
index 4453c3bb23..e749970a5f 100644
--- a/ext/pdo/tests/bug_38253.phpt
+++ b/ext/pdo/tests/bug_38253.phpt
@@ -22,11 +22,11 @@ $stmt = $pdo->prepare ("SELECT * FROM test");
$stmt->execute();
var_dump($stmt->fetchAll());
-$pdo = PDOTest::factory();
-
if ($pdo->getAttribute(PDO::ATTR_DRIVER_NAME) == 'oci') {
$type = "clob";
-} else{
+} else if ($pdo->getAttribute(PDO::ATTR_DRIVER_NAME) == 'firebird') {
+ $type = 'BLOB SUB_TYPE TEXT';
+} else {
$type = "text";
}
diff --git a/ext/pdo_firebird/firebird_statement.c b/ext/pdo_firebird/firebird_statement.c
index 586960cbf7..d21273366b 100644
--- a/ext/pdo_firebird/firebird_statement.c
+++ b/ext/pdo_firebird/firebird_statement.c
@@ -437,7 +437,7 @@ static int firebird_bind_blob(pdo_stmt_t *stmt, ISC_QUAD *blob_id, zval *param T
put_cnt += chunk_size;
}
- zval_ptr_dtor(param);
+ zval_dtor(param);
if (isc_close_blob(H->isc_status, &h)) {
RECORD_ERROR(stmt);
@@ -521,6 +521,19 @@ static int firebird_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_dat
} else {
parameter = &param->parameter;
}
+
+ if (Z_TYPE_P(parameter) == IS_RESOURCE) {
+ php_stream *stm;
+
+ php_stream_from_zval_no_verify(stm, parameter);
+ if (stm) {
+ zval_ptr_dtor(parameter);
+ ZVAL_STR(parameter, php_stream_copy_to_mem(stm, PHP_STREAM_COPY_ALL, 0));
+ } else {
+ pdo_raise_impl_error(stmt->dbh, stmt, "HY105", "Expected a stream resource" TSRMLS_CC);
+ return 0;
+ }
+ }
switch (var->sqltype & ~1) {
case SQL_ARRAY:
@@ -601,6 +614,8 @@ static int firebird_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_dat
} else {
parameter = &param->parameter;
}
+ zval_ptr_dtor(parameter);
+ ZVAL_NULL(parameter);
if (firebird_stmt_get_col(stmt, param->paramno, &value, &value_len, &caller_frees TSRMLS_CC)) {
switch (PDO_PARAM_TYPE(param->param_type)) {
diff --git a/ext/pdo_mysql/mysql_driver.c b/ext/pdo_mysql/mysql_driver.c
index d7c993509f..b39fdfaaa2 100644
--- a/ext/pdo_mysql/mysql_driver.c
+++ b/ext/pdo_mysql/mysql_driver.c
@@ -439,14 +439,13 @@ static int pdo_mysql_get_attribute(pdo_dbh_t *dbh, long attr, zval *return_value
ZVAL_STRING(return_value, (char *)mysql_get_host_info(H->server));
break;
case PDO_ATTR_SERVER_INFO: {
- char *tmp;
#if defined(PDO_USE_MYSQLND)
- unsigned int tmp_len;
+ zend_string *tmp;
- if (mysqlnd_stat(H->server, &tmp, &tmp_len) == PASS) {
- ZVAL_STRINGL(return_value, tmp, tmp_len);
- efree(tmp);
+ if (mysqlnd_stat(H->server, &tmp) == PASS) {
+ ZVAL_STR(return_value, tmp);
#else
+ char *tmp;
if ((tmp = (char *)mysql_stat(H->server))) {
ZVAL_STRING(return_value, tmp);
#endif
diff --git a/ext/pdo_odbc/odbc_driver.c b/ext/pdo_odbc/odbc_driver.c
index d4bf234689..2828b96e81 100644
--- a/ext/pdo_odbc/odbc_driver.c
+++ b/ext/pdo_odbc/odbc_driver.c
@@ -36,22 +36,20 @@ static int pdo_odbc_fetch_error_func(pdo_dbh_t *dbh, pdo_stmt_t *stmt, zval *inf
pdo_odbc_db_handle *H = (pdo_odbc_db_handle *)dbh->driver_data;
pdo_odbc_errinfo *einfo = &H->einfo;
pdo_odbc_stmt *S = NULL;
- char *message = NULL;
+ zend_string *message = NULL;
if (stmt) {
S = (pdo_odbc_stmt*)stmt->driver_data;
einfo = &S->einfo;
}
- spprintf(&message, 0, "%s (%s[%ld] at %s:%d)",
+ message = strpprintf(0, "%s (%s[%ld] at %s:%d)",
einfo->last_err_msg,
einfo->what, einfo->last_error,
einfo->file, einfo->line);
add_next_index_long(info, einfo->last_error);
- // TODO: avoid reallocation ???
- add_next_index_string(info, message);
- efree(message);
+ add_next_index_str(info, message);
add_next_index_string(info, einfo->last_state);
return 1;
@@ -358,7 +356,7 @@ static int odbc_handle_get_attr(pdo_dbh_t *dbh, long attr, zval *val TSRMLS_DC)
pdo_odbc_db_handle *H = (pdo_odbc_db_handle *)dbh->driver_data;
switch (attr) {
case PDO_ATTR_CLIENT_VERSION:
- ZVAL_STRING(val, "ODBC-" PDO_ODBC_TYPE, 1);
+ ZVAL_STRING(val, "ODBC-" PDO_ODBC_TYPE);
return 1;
case PDO_ATTR_SERVER_VERSION:
diff --git a/ext/pdo_odbc/odbc_stmt.c b/ext/pdo_odbc/odbc_stmt.c
index 1d275cd654..ea5650923c 100644
--- a/ext/pdo_odbc/odbc_stmt.c
+++ b/ext/pdo_odbc/odbc_stmt.c
@@ -180,20 +180,26 @@ static int odbc_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC)
php_stream *stm;
int len;
pdo_odbc_param *P;
+ zval *parameter;
P = (pdo_odbc_param*)param->driver_data;
- if (Z_TYPE_P(param->parameter) != IS_RESOURCE) {
+ if (Z_ISREF(param->parameter)) {
+ parameter = Z_REFVAL(param->parameter);
+ } else {
+ parameter = &param->parameter;
+ }
+ if (Z_TYPE_P(parameter) != IS_RESOURCE) {
/* they passed in a string */
unsigned long ulen;
- convert_to_string(param->parameter);
+ convert_to_string(parameter);
switch (pdo_odbc_utf82ucs2(stmt, P->is_unicode,
- Z_STRVAL_P(param->parameter),
- Z_STRLEN_P(param->parameter),
+ Z_STRVAL_P(parameter),
+ Z_STRLEN_P(parameter),
&ulen)) {
case PDO_ODBC_CONV_NOT_REQUIRED:
- SQLPutData(S->stmt, Z_STRVAL_P(param->parameter),
- Z_STRLEN_P(param->parameter));
+ SQLPutData(S->stmt, Z_STRVAL_P(parameter),
+ Z_STRLEN_P(parameter));
break;
case PDO_ODBC_CONV_OK:
SQLPutData(S->stmt, S->convbuf, ulen);
@@ -212,7 +218,7 @@ static int odbc_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC)
/* we assume that LOBs are binary and don't need charset
* conversion */
- php_stream_from_zval_no_verify(stm, &param->parameter);
+ php_stream_from_zval_no_verify(stm, parameter);
if (!stm) {
/* shouldn't happen either */
pdo_odbc_stmt_error("input LOB is no longer a stream");
@@ -281,6 +287,7 @@ static int odbc_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_data *p
SWORD sqltype = 0, ctype = 0, scale = 0, nullable = 0;
SQLULEN precision = 0;
pdo_odbc_param *P;
+ zval *parameter;
/* we're only interested in parameters for prepared SQL right now */
if (param->is_param) {
@@ -388,12 +395,18 @@ static int odbc_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_data *p
case PDO_PARAM_EVT_EXEC_PRE:
P = param->driver_data;
+ if (!Z_ISREF(param->parameter)) {
+ parameter = &param->parameter;
+ } else {
+ parameter = Z_REFVAL(param->parameter);
+ }
+
if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_LOB) {
- if (Z_TYPE_P(param->parameter) == IS_RESOURCE) {
+ if (Z_TYPE_P(parameter) == IS_RESOURCE) {
php_stream *stm;
php_stream_statbuf sb;
- php_stream_from_zval_no_verify(stm, &param->parameter);
+ php_stream_from_zval_no_verify(stm, parameter);
if (!stm) {
return 0;
@@ -432,28 +445,28 @@ static int odbc_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_data *p
}
}
} else {
- convert_to_string(param->parameter);
+ convert_to_string(parameter);
if (P->outbuf) {
- P->len = Z_STRLEN_P(param->parameter);
- memcpy(P->outbuf, Z_STRVAL_P(param->parameter), P->len);
+ P->len = Z_STRLEN_P(parameter);
+ memcpy(P->outbuf, Z_STRVAL_P(parameter), P->len);
} else {
- P->len = SQL_LEN_DATA_AT_EXEC(Z_STRLEN_P(param->parameter));
+ P->len = SQL_LEN_DATA_AT_EXEC(Z_STRLEN_P(parameter));
}
}
- } else if (Z_TYPE_P(param->parameter) == IS_NULL || PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_NULL) {
+ } else if (Z_TYPE_P(parameter) == IS_NULL || PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_NULL) {
P->len = SQL_NULL_DATA;
} else {
- convert_to_string(param->parameter);
+ convert_to_string(parameter);
if (P->outbuf) {
unsigned long ulen;
switch (pdo_odbc_utf82ucs2(stmt, P->is_unicode,
- Z_STRVAL_P(param->parameter),
- Z_STRLEN_P(param->parameter),
+ Z_STRVAL_P(parameter),
+ Z_STRLEN_P(parameter),
&ulen)) {
case PDO_ODBC_CONV_FAIL:
case PDO_ODBC_CONV_NOT_REQUIRED:
- P->len = Z_STRLEN_P(param->parameter);
- memcpy(P->outbuf, Z_STRVAL_P(param->parameter), P->len);
+ P->len = Z_STRLEN_P(parameter);
+ memcpy(P->outbuf, Z_STRVAL_P(parameter), P->len);
break;
case PDO_ODBC_CONV_OK:
P->len = ulen;
@@ -461,44 +474,47 @@ static int odbc_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_data *p
break;
}
} else {
- P->len = SQL_LEN_DATA_AT_EXEC(Z_STRLEN_P(param->parameter));
+ P->len = SQL_LEN_DATA_AT_EXEC(Z_STRLEN_P(parameter));
}
}
return 1;
case PDO_PARAM_EVT_EXEC_POST:
P = param->driver_data;
+
if (P->outbuf) {
- if (P->outbuf) {
- unsigned long ulen;
- char *srcbuf;
- unsigned long srclen = 0;
+ unsigned long ulen;
+ char *srcbuf;
+ unsigned long srclen = 0;
- switch (P->len) {
- case SQL_NULL_DATA:
- zval_dtor(param->parameter);
- ZVAL_NULL(param->parameter);
- break;
- default:
- convert_to_string(param->parameter);
- switch (pdo_odbc_ucs22utf8(stmt, P->is_unicode, P->outbuf, P->len, &ulen)) {
- case PDO_ODBC_CONV_FAIL:
- /* something fishy, but allow it to come back as binary */
- case PDO_ODBC_CONV_NOT_REQUIRED:
- srcbuf = P->outbuf;
- srclen = P->len;
- break;
- case PDO_ODBC_CONV_OK:
- srcbuf = S->convbuf;
- srclen = ulen;
- break;
- }
+ if (Z_ISREF(param->parameter)) {
+ parameter = Z_REFVAL(param->parameter);
+ } else {
+ parameter = &param->parameter;
+ }
+ zval_ptr_dtor(parameter);
+ ZVAL_NULL(parameter);
+
+ switch (P->len) {
+ case SQL_NULL_DATA:
+ break;
+ default:
+ switch (pdo_odbc_ucs22utf8(stmt, P->is_unicode, P->outbuf, P->len, &ulen)) {
+ case PDO_ODBC_CONV_FAIL:
+ /* something fishy, but allow it to come back as binary */
+ case PDO_ODBC_CONV_NOT_REQUIRED:
+ srcbuf = P->outbuf;
+ srclen = P->len;
+ break;
+ case PDO_ODBC_CONV_OK:
+ srcbuf = S->convbuf;
+ srclen = ulen;
+ break;
+ }
- Z_STRVAL_P(param->parameter) = erealloc(Z_STRVAL_P(param->parameter), srclen+1);
- memcpy(Z_STRVAL_P(param->parameter), srcbuf, srclen);
- Z_STRLEN_P(param->parameter) = srclen;
- Z_STRVAL_P(param->parameter)[srclen] = '\0';
- }
+ ZVAL_NEW_STR(parameter, STR_ALLOC(srclen, 0));
+ memcpy(Z_STRVAL_P(parameter), srcbuf, srclen);
+ Z_STRVAL_P(parameter)[Z_STRLEN_P(parameter)] = '\0';
}
}
return 1;
@@ -779,7 +795,7 @@ static int odbc_stmt_get_attr(pdo_stmt_t *stmt, long attr, zval *val TSRMLS_DC)
rc = SQLGetCursorName(S->stmt, buf, sizeof(buf), &len);
if (rc == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO) {
- ZVAL_STRINGL(val, buf, len, 1);
+ ZVAL_STRINGL(val, buf, len);
return 1;
}
pdo_odbc_stmt_error("SQLGetCursorName");
diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c
index bfe17e6a13..3d403fff57 100644..100755
--- a/ext/phar/phar_object.c
+++ b/ext/phar/phar_object.c
@@ -84,17 +84,12 @@ static void phar_mung_server_vars(char *fname, char *entry, int entry_len, char
}
if (NULL != (stuff = zend_hash_str_find(_SERVER, "PATH_TRANSLATED", sizeof("PATH_TRANSLATED")-1))) {
- char *str = NULL;
- int len;
-
- // TODO: avoid reallocation ???
- len = spprintf(&str, 4096, "phar://%s%s", fname, entry);
+ zend_string *str = strpprintf(4096, "phar://%s%s", fname, entry);
ZVAL_STR(&temp, Z_STR_P(stuff));
- ZVAL_STRINGL(stuff, str, len);
- efree(str);
+ ZVAL_STR(stuff, str);
- zend_hash_str_update(_SERVER, "PHAR_PATH_TRANSLATED", sizeof("PHAR_PATH_TRANSLATED")-1, (void *) &temp);
+ zend_hash_str_update(_SERVER, "PHAR_PATH_TRANSLATED", sizeof("PHAR_PATH_TRANSLATED")-1, &temp);
}
if (!PHAR_GLOBALS->phar_SERVER_mung_list) {
@@ -136,15 +131,10 @@ static void phar_mung_server_vars(char *fname, char *entry, int entry_len, char
if (PHAR_GLOBALS->phar_SERVER_mung_list & PHAR_MUNG_SCRIPT_FILENAME) {
if (NULL != (stuff = zend_hash_str_find(_SERVER, "SCRIPT_FILENAME", sizeof("SCRIPT_FILENAME")-1))) {
- char *str = NULL;
- int len;
-
- // TODO: avoid reallocation ???
- len = spprintf(&str, 4096, "phar://%s%s", fname, entry);
+ zend_string *str = strpprintf(4096, "phar://%s%s", fname, entry);
ZVAL_STR(&temp, Z_STR_P(stuff));
- ZVAL_STRINGL(stuff, str, len);
- efree(str);
+ ZVAL_STR(stuff, str);
zend_hash_str_update(_SERVER, "PHAR_SCRIPT_FILENAME", sizeof("PHAR_SCRIPT_FILENAME")-1, &temp);
}
@@ -3033,8 +3023,7 @@ PHP_METHOD(Phar, getSignature)
}
if (phar_obj->archive->signature) {
- char *unknown;
- int unknown_len;
+ zend_string *unknown;
array_init(return_value);
add_assoc_stringl(return_value, "hash", phar_obj->archive->signature, phar_obj->archive->sig_len);
@@ -3055,10 +3044,8 @@ PHP_METHOD(Phar, getSignature)
add_assoc_stringl(return_value, "hash_type", "OpenSSL", 7);
break;
default:
- unknown_len = spprintf(&unknown, 0, "Unknown (%u)", phar_obj->archive->sig_flags);
- // TODO: avoid reallocation ???
- add_assoc_stringl(return_value, "hash_type", unknown, unknown_len);
- efree(unknown);
+ unknown = strpprintf(0, "Unknown (%u)", phar_obj->archive->sig_flags);
+ add_assoc_str(return_value, "hash_type", unknown);
break;
}
} else {
@@ -3519,6 +3506,7 @@ PHP_METHOD(Phar, offsetGet)
int fname_len;
zval zfname;
phar_entry_info *entry;
+ zend_string *sfname;
PHAR_ARCHIVE_OBJECT();
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &fname, &fname_len) == FAILURE) {
@@ -3549,10 +3537,8 @@ PHP_METHOD(Phar, offsetGet)
efree(entry);
}
- fname_len = spprintf(&fname, 0, "phar://%s/%s", phar_obj->archive->fname, fname);
- /* TODO: avoid reallocation ??? */
- ZVAL_STRINGL(&zfname, fname, fname_len);
- efree(fname);
+ sfname = strpprintf(0, "phar://%s/%s", phar_obj->archive->fname, fname);
+ ZVAL_STR(&zfname, sfname);
spl_instantiate_arg_ex1(phar_obj->spl.info_class, return_value, &zfname TSRMLS_CC);
zval_ptr_dtor(&zfname);
}
@@ -3837,7 +3823,7 @@ PHP_METHOD(Phar, addFromString)
PHP_METHOD(Phar, getStub)
{
size_t len;
- char *buf;
+ zend_string *buf;
php_stream *fp;
php_stream_filter *filter = NULL;
phar_entry_info *stub;
@@ -3903,15 +3889,15 @@ PHP_METHOD(Phar, getStub)
php_stream_rewind(fp);
carry_on:
- buf = safe_emalloc(len, 1, 1);
+ buf = STR_ALLOC(len, 0);
- if (len != php_stream_read(fp, buf, len)) {
+ if (len != php_stream_read(fp, buf->val, len)) {
if (fp != phar_obj->archive->fp) {
php_stream_close(fp);
}
zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC,
"Unable to read stub");
- efree(buf);
+ STR_RELEASE(buf);
return;
}
@@ -3924,10 +3910,9 @@ carry_on:
php_stream_close(fp);
}
- buf[len] = '\0';
- // TODO: avoid reallocation ???
- RETVAL_STRINGL(buf, len);
- efree(buf);
+ buf->val[len] = '\0';
+ buf->len = len;
+ RETVAL_STR(buf);
}
/* }}}*/
diff --git a/ext/phar/util.c b/ext/phar/util.c
index 4d260a4c13..4bac776511 100644
--- a/ext/phar/util.c
+++ b/ext/phar/util.c
@@ -1510,11 +1510,6 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ
pfp = php_stream_open_wrapper(pfile, "rb", 0, NULL);
efree(pfile);
-//???#if PHP_MAJOR_VERSION > 5
-//??? if (!pfp || !(pubkey_len = php_stream_copy_to_mem(pfp, (void **) &pubkey, PHP_STREAM_COPY_ALL, 0)) || !pubkey) {
-//???#else
-//??? if (!pfp || !(pubkey_len = php_stream_copy_to_mem(pfp, &pubkey, PHP_STREAM_COPY_ALL, 0)) || !pubkey) {
-//???#endif
if (!pfp || !(pubkey = php_stream_copy_to_mem(pfp, PHP_STREAM_COPY_ALL, 0)) || !pubkey->len) {
if (pfp) {
php_stream_close(pfp);
diff --git a/ext/readline/readline_cli.c b/ext/readline/readline_cli.c
index 84d27ca046..0ca9daf8ff 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;
}
@@ -589,6 +592,7 @@ static int readline_shell_run(TSRMLS_D) /* {{{ */
char *code = emalloc(size);
zend_string *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);
STR_RELEASE(prompt);
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index 7247542951..4248de834d 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -722,9 +722,14 @@ static void _parameter_string(string *str, zend_function *fptr, struct _zend_arg
zend_op *precv = _get_recv_op((zend_op_array*)fptr, offset);
if (precv && precv->opcode == ZEND_RECV_INIT && precv->op2_type != IS_UNUSED) {
zval zv;
+ zend_class_entry *old_scope;
+
string_write(str, " = ", sizeof(" = ")-1);
ZVAL_DUP(&zv, precv->op2.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(zv) == IS_TRUE) {
string_write(str, "true", sizeof("true")-1);
} else if (Z_TYPE(zv) == IS_FALSE) {
@@ -1794,8 +1799,7 @@ ZEND_METHOD(reflection_function, getFileName)
}
GET_REFLECTION_OBJECT_PTR(fptr);
if (fptr->type == ZEND_USER_FUNCTION) {
-// TODO: we have to duplicate it, becaise it may be in opcache SHM ???
- RETURN_STR(STR_DUP(fptr->op_array.filename, 0));
+ RETURN_STR(STR_COPY(fptr->op_array.filename));
}
RETURN_FALSE;
}
@@ -1849,8 +1853,7 @@ ZEND_METHOD(reflection_function, getDocComment)
}
GET_REFLECTION_OBJECT_PTR(fptr);
if (fptr->type == ZEND_USER_FUNCTION && fptr->op_array.doc_comment) {
-// TODO: we have to duplicate it, becaise it may be stored in opcache SHM ???
- RETURN_STR(STR_DUP(fptr->op_array.doc_comment, 0));
+ RETURN_STR(STR_COPY(fptr->op_array.doc_comment));
}
RETURN_FALSE;
}
@@ -2578,7 +2581,11 @@ ZEND_METHOD(reflection_parameter, getDefaultValue)
ZVAL_COPY_VALUE(return_value, precv->op2.zv);
if (Z_CONSTANT_P(return_value)) {
- zval_update_constant_ex(return_value, 0, param->fptr->common.scope TSRMLS_CC);
+ zend_class_entry *old_scope = EG(scope);
+
+ EG(scope) = param->fptr->common.scope;
+ zval_update_constant_ex(return_value, 0, NULL TSRMLS_CC);
+ EG(scope) = old_scope;
} else {
zval_copy_ctor(return_value);
}
@@ -3342,16 +3349,12 @@ ZEND_METHOD(reflection_class, __construct)
/* {{{ add_class_vars */
static void add_class_vars(zend_class_entry *ce, int statics, zval *return_value TSRMLS_DC)
{
- HashPosition pos;
zend_property_info *prop_info;
zval *prop, prop_copy;
zend_string *key;
ulong num_index;
- zend_hash_internal_pointer_reset_ex(&ce->properties_info, &pos);
- while ((prop_info = zend_hash_get_current_data_ptr_ex(&ce->properties_info, &pos)) != NULL) {
- zend_hash_get_current_key_ex(&ce->properties_info, &key, &num_index, 0, &pos);
- zend_hash_move_forward_ex(&ce->properties_info, &pos);
+ ZEND_HASH_FOREACH_KEY_PTR(&ce->properties_info, num_index, key, prop_info) {
if (((prop_info->flags & ZEND_ACC_SHADOW) &&
prop_info->ce != ce) ||
((prop_info->flags & ZEND_ACC_PROTECTED) &&
@@ -3373,6 +3376,7 @@ static void add_class_vars(zend_class_entry *ce, int statics, zval *return_value
}
/* copy: enforce read only access */
+ ZVAL_DEREF(prop);
ZVAL_DUP(&prop_copy, prop);
/* this is necessary to make it able to work with default array
@@ -3382,7 +3386,7 @@ static void add_class_vars(zend_class_entry *ce, int statics, zval *return_value
}
zend_hash_update(Z_ARRVAL_P(return_value), key, &prop_copy);
- }
+ } ZEND_HASH_FOREACH_END();
}
/* }}} */
@@ -3445,8 +3449,6 @@ ZEND_METHOD(reflection_class, setStaticPropertyValue)
zend_class_entry *ce;
zend_string *name;
zval *variable_ptr, *value;
-//??? int refcount;
-//??? zend_uchar is_ref;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Sz", &name, &value) == FAILURE) {
return;
@@ -3461,13 +3463,8 @@ ZEND_METHOD(reflection_class, setStaticPropertyValue)
"Class %s does not have a property named %s", ce->name->val, name->val);
return;
}
-//??? refcount = Z_REFCOUNT_PP(variable_ptr);
-//??? is_ref = Z_ISREF_PP(variable_ptr);
- zval_dtor(variable_ptr);
- ZVAL_DUP(variable_ptr, value);
-//??? Z_SET_REFCOUNT_PP(variable_ptr, refcount);
-//??? Z_SET_ISREF_TO_PP(variable_ptr, is_ref);
-
+ zval_ptr_dtor(variable_ptr);
+ ZVAL_COPY(variable_ptr, value);
}
/* }}} */
@@ -3560,8 +3557,7 @@ ZEND_METHOD(reflection_class, getFileName)
}
GET_REFLECTION_OBJECT_PTR(ce);
if (ce->type == ZEND_USER_CLASS) {
-// TODO: we have to duplicate it, becaise it may be stored in opcache SHM ???
- RETURN_STR(STR_DUP(ce->info.user.filename, 0));
+ RETURN_STR(STR_COPY(ce->info.user.filename));
}
RETURN_FALSE;
}
@@ -4254,8 +4250,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->val);
+ 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->val);
}
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/session.c b/ext/session/session.c
index ff04462ca4..b03cfaa614 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -298,7 +298,8 @@ PHPAPI zend_string *php_session_create_id(PS_CREATE_SID_ARGS) /* {{{ */
if ((array = zend_hash_str_find(&EG(symbol_table).ht, "_SERVER", sizeof("_SERVER") - 1)) &&
Z_TYPE_P(array) == IS_ARRAY &&
- (token = zend_hash_str_find(Z_ARRVAL_P(array), "REMOTE_ADDR", sizeof("REMOTE_ADDR") - 1))
+ (token = zend_hash_str_find(Z_ARRVAL_P(array), "REMOTE_ADDR", sizeof("REMOTE_ADDR") - 1)) &&
+ Z_TYPE_P(token) == IS_STRING
) {
remote_addr = Z_STRVAL_P(token);
}
@@ -1934,8 +1935,8 @@ static PHP_FUNCTION(session_id)
}
if (PS(id)) {
- //??? keep compatibility for "\0" characters
- //??? see: ext/session/tests/session_id_error3.phpt
+ /* keep compatibility for "\0" characters ???
+ * see: ext/session/tests/session_id_error3.phpt */
int len = strlen(PS(id)->val);
if (UNEXPECTED(len != PS(id)->len)) {
RETVAL_STR(STR_INIT(PS(id)->val, len, 0));
diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c
index 1fa386043d..bb2a6c7a53 100644
--- a/ext/soap/php_http.c
+++ b/ext/soap/php_http.c
@@ -995,8 +995,7 @@ try_again:
add_index_string(&zcookie, 2, phpurl->host);
}
- // TODO: avoid reallocation ???
- add_assoc_zval_ex(cookies, name.s->val, name.s->len, &zcookie);
+ zend_symtable_update(Z_ARRVAL_P(cookies), name.s, &zcookie);
smart_str_free(&name);
}
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
index 4e5a2b35ea..a1d2ca4f48 100644
--- a/ext/soap/soap.c
+++ b/ext/soap/soap.c
@@ -149,7 +149,9 @@ static void soap_error_handler(int error_num, const char *error_filename, const
if ((tmp = zend_hash_str_find(Z_OBJPROP_P(getThis()),"service", sizeof("service")-1)) != NULL) { \
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; \
} \
}
@@ -926,8 +928,7 @@ PHP_METHOD(SoapFault, SoapFault)
PHP_METHOD(SoapFault, __toString)
{
zval *faultcode, *faultstring, *file, *line, trace;
- char *str;
- int len;
+ zend_string *str;
zend_fcall_info fci;
zval *this_ptr;
@@ -955,15 +956,13 @@ PHP_METHOD(SoapFault, __toString)
zval_ptr_dtor(&fci.function_name);
- len = spprintf(&str, 0, "SoapFault exception: [%s] %s in %s:%ld\nStack trace:\n%s",
+ str = strpprintf(0, "SoapFault exception: [%s] %s in %s:%ld\nStack trace:\n%s",
Z_STRVAL_P(faultcode), Z_STRVAL_P(faultstring), Z_STRVAL_P(file), Z_LVAL_P(line),
Z_STRLEN(trace) ? Z_STRVAL(trace) : "#0 {main}\n");
zval_ptr_dtor(&trace);
- // TODO: avoid reallocation ???
- RETVAL_STRINGL(str, len);
- efree(str);
+ RETVAL_STR(str);
}
/* }}} */
diff --git a/ext/sockets/conversions.c b/ext/sockets/conversions.c
index 05b3f9d51a..66d1938f07 100644
--- a/ext/sockets/conversions.c
+++ b/ext/sockets/conversions.c
@@ -990,7 +990,7 @@ static void to_zval_read_cmsg_data(const char *cmsghdr_c, zval *zv, res_context
}
len = (size_t)cmsg->cmsg_len; /* use another var because type of cmsg_len varies */
- //????? len_p point to stack value len
+
if (zend_hash_str_add_ptr(&ctx->params, KEY_CMSG_LEN, sizeof(KEY_CMSG_LEN) - 1, len_p) == NULL) {
do_to_zval_err(ctx, "%s", "could not set parameter " KEY_CMSG_LEN);
return;
diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c
index d765d6b754..62cf6ae144 100644
--- a/ext/spl/php_spl.c
+++ b/ext/spl/php_spl.c
@@ -441,24 +441,11 @@ PHP_FUNCTION(spl_autoload_call)
#define HT_MOVE_TAIL_TO_HEAD(ht) \
do { \
- uint first = 0; \
- uint last = (ht)->nNumUsed; \
- while (first < last) { \
- if (Z_TYPE((ht)->arData[first].val) != IS_UNDEF) \
- break; \
- first++; \
- } \
- while (last > first) { \
- last--; \
- if (Z_TYPE((ht)->arData[last].val) != IS_UNDEF) \
- break; \
- } \
- if (first != last) { \
- Bucket tmp = (ht)->arData[first]; \
- (ht)->arData[first] = (ht)->arData[last]; \
- (ht)->arData[last] = tmp; \
- zend_hash_rehash(ht); \
- } \
+ Bucket tmp = (ht)->arData[(ht)->nNumUsed-1]; \
+ memmove((ht)->arData + 1, (ht)->arData, \
+ sizeof(Bucket) * ((ht)->nNumUsed - 1)); \
+ (ht)->arData[0] = tmp; \
+ zend_hash_rehash(ht); \
} while (0)
/* {{{ proto bool spl_autoload_register([mixed autoload_function = "spl_autoload" [, throw = true [, prepend]]])
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c
index 9405dafa0d..f9fe83e26d 100644
--- a/ext/spl/spl_directory.c
+++ b/ext/spl/spl_directory.c
@@ -1596,7 +1596,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 */
@@ -2083,6 +2083,8 @@ static int spl_filesystem_file_call(spl_filesystem_object *intern, zend_function
zend_get_parameters_array_ex(pass_num_args, params + (arg2 ? 2 : 1));
+ ZVAL_UNDEF(&retval);
+
fci.size = sizeof(fci);
fci.function_table = EG(function_table);
fci.object = NULL;
@@ -2237,6 +2239,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 {
@@ -2368,6 +2374,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));
} /* }}} */
@@ -2384,6 +2395,9 @@ SPL_METHOD(SplFileObject, valid)
if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) {
RETURN_BOOL(intern->u.file.current_line || !Z_ISUNDEF(intern->u.file.current_zval));
} else {
+ if(!intern->u.file.stream) {
+ RETURN_FALSE;
+ }
RETVAL_BOOL(!php_stream_eof(intern->u.file.stream));
}
} /* }}} */
@@ -2398,6 +2412,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;
}
@@ -2414,6 +2433,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 && Z_ISUNDEF(intern->u.file.current_zval)) {
spl_filesystem_file_read_line(getThis(), intern, 1 TSRMLS_CC);
}
@@ -2556,6 +2580,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:
@@ -2697,6 +2727,11 @@ SPL_METHOD(SplFileObject, fflush)
{
spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(getThis());
+ 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));
} /* }}} */
@@ -2705,7 +2740,14 @@ SPL_METHOD(SplFileObject, fflush)
SPL_METHOD(SplFileObject, ftell)
{
spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(getThis());
- 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;
@@ -2725,6 +2767,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));
} /* }}} */
@@ -2737,6 +2784,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);
@@ -2761,6 +2813,11 @@ SPL_METHOD(SplFileObject, fgetss)
spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(getThis());
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 {
@@ -2779,6 +2836,11 @@ SPL_METHOD(SplFileObject, fpassthru)
{
spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(getThis());
+ 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));
} /* }}} */
@@ -2788,6 +2850,11 @@ SPL_METHOD(SplFileObject, fscanf)
{
spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(getThis());
+ 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++;
@@ -2808,6 +2875,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));
}
@@ -2827,6 +2899,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;
@@ -2855,6 +2932,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;
@@ -2869,15 +2951,20 @@ SPL_METHOD(SplFileObject, seek)
{
spl_filesystem_object *intern = Z_SPLFILESYSTEM_P(getThis());
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_iterators.c b/ext/spl/spl_iterators.c
index ac9b9bef83..e503f9b581 100644
--- a/ext/spl/spl_iterators.c
+++ b/ext/spl/spl_iterators.c
@@ -145,6 +145,29 @@ static inline spl_recursive_it_object *spl_recursive_it_from_obj(zend_object *ob
(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_ELEMENT_ADDR(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;
@@ -166,8 +189,11 @@ static int spl_recursive_it_valid_ex(spl_recursive_it_object *object, zval *zthi
{
zend_object_iterator *sub_iter;
int level = object->level;
-
- while (level >= 0) {
+
+ if(!object->iterators) {
+ return FAILURE;
+ }
+ while (level >=0) {
sub_iter = object->iterators[level].iterator;
if (sub_iter->funcs->valid(sub_iter TSRMLS_CC) == SUCCESS) {
return SUCCESS;
@@ -215,6 +241,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 +403,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->val);
- }
+ SPL_FETCH_SUB_ITERATOR(sub_iter, object);
while (object->level) {
sub_iter = object->iterators[object->level].iterator;
@@ -598,7 +624,7 @@ SPL_METHOD(RecursiveIteratorIterator, rewind)
SPL_METHOD(RecursiveIteratorIterator, valid)
{
spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(getThis());
-
+
if (zend_parse_parameters_none() == FAILURE) {
return;
}
@@ -611,12 +637,14 @@ SPL_METHOD(RecursiveIteratorIterator, valid)
SPL_METHOD(RecursiveIteratorIterator, key)
{
spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(getThis());
- 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 {
@@ -629,13 +657,15 @@ SPL_METHOD(RecursiveIteratorIterator, key)
SPL_METHOD(RecursiveIteratorIterator, current)
{
spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(getThis());
- 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);
+
data = iterator->funcs->get_current_data(iterator TSRMLS_CC);
if (data) {
RETURN_ZVAL(data, 1, 0);
@@ -681,6 +711,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);
} /* }}} */
@@ -689,13 +726,15 @@ SPL_METHOD(RecursiveIteratorIterator, getSubIterator)
SPL_METHOD(RecursiveIteratorIterator, getInnerIterator)
{
spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(getThis());
- 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_ADDR(zobject, object, zobject);
+
+ RETURN_ZVAL(zobject, 1, 0);
} /* }}} */
/* {{{ proto RecursiveIterator RecursiveIteratorIterator::beginIteration()
@@ -723,13 +762,19 @@ SPL_METHOD(RecursiveIteratorIterator, endIteration)
SPL_METHOD(RecursiveIteratorIterator, callHasChildren)
{
spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(getThis());
- zend_class_entry *ce = object->iterators[object->level].ce;
+ zend_class_entry *ce;
zval *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 (Z_TYPE_P(zobject) == IS_UNDEF) {
RETURN_FALSE;
@@ -746,13 +791,15 @@ SPL_METHOD(RecursiveIteratorIterator, callHasChildren)
SPL_METHOD(RecursiveIteratorIterator, callGetChildren)
{
spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(getThis());
- zend_class_entry *ce = object->iterators[object->level].ce;
+ zend_class_entry *ce;
zval *zobject;
if (zend_parse_parameters_none() == FAILURE) {
return;
}
+ SPL_FETCH_SUB_ELEMENT(ce, object, ce);
+
zobject = &object->iterators[object->level].zobject;
if (Z_TYPE_P(zobject) == IS_UNDEF) {
return;
@@ -1068,7 +1115,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);
} /* }}} */
@@ -1097,6 +1150,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);
} /* }}} */
@@ -1110,6 +1169,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);
} /* }}} */
@@ -1127,10 +1192,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;
zval *data;
+ SPL_FETCH_SUB_ITERATOR(iterator, object);
data = iterator->funcs->get_current_data(iterator TSRMLS_CC);
if (data) {
RETURN_ZVAL(data, 1, 0);
@@ -1173,7 +1245,7 @@ SPL_METHOD(RecursiveTreeIterator, current)
SPL_METHOD(RecursiveTreeIterator, key)
{
spl_recursive_it_object *object = Z_SPLRECURSIVE_IT_P(getThis());
- zend_object_iterator *iterator = object->iterators[object->level].iterator;
+ zend_object_iterator *iterator;
zval prefix, key, postfix, key_copy;
char *ptr;
zend_string *str;
@@ -1182,6 +1254,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 {
@@ -1196,7 +1270,7 @@ SPL_METHOD(RecursiveTreeIterator, key)
}
if (Z_TYPE(key) != IS_STRING) {
- if (zend_make_printable_zval(&key, &key_copy)) {
+ if (zend_make_printable_zval(&key, &key_copy TSRMLS_CC)) {
key = key_copy;
}
}
@@ -1407,7 +1481,7 @@ static spl_dual_it_object* spl_dual_it_construct(INTERNAL_FUNCTION_PARAMETERS, z
return NULL;
}
if (spl_cit_check_flags(flags) != SUCCESS) {
- zend_throw_exception(spl_ce_InvalidArgumentException, "Flags must contain only one of CALL_TOSTRING, TOSTRING_USE_KEY, TOSTRING_USE_CURRENT, TOSTRING_USE_CURRENT", 0 TSRMLS_CC);
+ zend_throw_exception(spl_ce_InvalidArgumentException, "Flags must contain only one of CALL_TOSTRING, TOSTRING_USE_KEY, TOSTRING_USE_CURRENT, TOSTRING_USE_INNER", 0 TSRMLS_CC);
zend_restore_error_handling(&error_handling TSRMLS_CC);
return NULL;
}
@@ -1884,7 +1958,7 @@ SPL_METHOD(RecursiveCallbackFilterIterator, getChildren)
return;
}
- intern = Z_SPLDUAL_IT_P(getThis());
+ 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) && Z_TYPE(retval) != IS_UNDEF) {
@@ -1972,7 +2046,7 @@ SPL_METHOD(RegexIterator, accept)
}
ZVAL_UNDEF(&subject_copy);
- use_copy = zend_make_printable_zval(subject_ptr, &subject_copy);
+ use_copy = zend_make_printable_zval(subject_ptr, &subject_copy TSRMLS_CC);
if (use_copy) {
subject = Z_STRVAL(subject_copy);
subject_len = Z_STRLEN(subject_copy);
@@ -2609,15 +2683,10 @@ static inline void spl_caching_it_next(spl_dual_it_object *intern TSRMLS_DC)
} else {
ZVAL_COPY_VALUE(&intern->u.caching.zstr, &intern->current.data);
}
- use_copy = zend_make_printable_zval(&intern->u.caching.zstr, &expr_copy);
+ use_copy = zend_make_printable_zval(&intern->u.caching.zstr, &expr_copy TSRMLS_CC);
if (use_copy) {
- ZVAL_COPY(&intern->u.caching.zstr, &expr_copy);
-//??? INIT_PZVAL(intern->u.caching.zstr);
- //zval_copy_ctor(&intern->u.caching.zstr);
- zval_dtor(&expr_copy);
+ ZVAL_COPY_VALUE(&intern->u.caching.zstr, &expr_copy);
} else if (Z_REFCOUNTED(intern->u.caching.zstr)) {
-//??? INIT_PZVAL(intern->u.caching.zstr);
- //zval_copy_ctor(&intern->u.caching.zstr);
Z_ADDREF(intern->u.caching.zstr);
}
}
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/spl_caching_iterator_constructor_flags.phpt b/ext/spl/tests/spl_caching_iterator_constructor_flags.phpt
index 499cd67559..dcb4287c45 100644
--- a/ext/spl/tests/spl_caching_iterator_constructor_flags.phpt
+++ b/ext/spl/tests/spl_caching_iterator_constructor_flags.phpt
@@ -21,5 +21,5 @@ $test = new CachingIterator($arrayIterator, 3); // this throws an exception
?>
===DONE===
--EXPECTF--
-Flags must contain only one of CALL_TOSTRING, TOSTRING_USE_KEY, TOSTRING_USE_CURRENT, TOSTRING_USE_CURRENT
+Flags must contain only one of CALL_TOSTRING, TOSTRING_USE_KEY, TOSTRING_USE_CURRENT, TOSTRING_USE_INNER
===DONE===
diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c
index c31ef3e1c1..54c80972c9 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;
}
@@ -1242,6 +1250,8 @@ PHP_METHOD(sqlite3stmt, paramCount)
return;
}
+ SQLITE3_CHECK_INITIALIZED_STMT(stmt_obj->stmt, SQLite3Stmt);
+
RETURN_LONG(sqlite3_bind_parameter_count(stmt_obj->stmt));
}
/* }}} */
@@ -1258,7 +1268,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;
}
@@ -1276,6 +1288,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;
@@ -1296,6 +1310,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;
@@ -1317,6 +1333,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;
@@ -1390,6 +1408,8 @@ PHP_METHOD(sqlite3stmt, bindParam)
}
}
+ SQLITE3_CHECK_INITIALIZED_STMT(stmt_obj->stmt, SQLite3Stmt);
+
ZVAL_COPY(&param.parameter, parameter);
if (!register_bound_parameter_to_sqlite(&param, stmt_obj TSRMLS_CC)) {
@@ -1422,6 +1442,8 @@ PHP_METHOD(sqlite3stmt, bindValue)
}
}
+ SQLITE3_CHECK_INITIALIZED_STMT(stmt_obj->stmt, SQLite3Stmt);
+
ZVAL_COPY(&param.parameter, parameter);
if (!register_bound_parameter_to_sqlite(&param, stmt_obj TSRMLS_CC)) {
@@ -1980,7 +2002,6 @@ static void php_sqlite3_free_list_dtor(void **item)
static int php_sqlite3_compare_stmt_zval_free(php_sqlite3_free_list **free_list, zval *statement ) /* {{{ */
{
- //????? return ((*free_list)->stmt_obj->initialised && statement == (*free_list)->stmt_obj_zval);
return ((*free_list)->stmt_obj->initialised && Z_PTR_P(statement) == Z_PTR((*free_list)->stmt_obj_zval));
}
/* }}} */
diff --git a/ext/standard/array.c b/ext/standard/array.c
index 0e01b2ec68..a177ee7e0f 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -332,14 +332,11 @@ 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;
- 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 (Z_TYPE(retval) != IS_UNDEF) {
RETVAL_LONG(zval_get_long(&retval));
zval_ptr_dtor(&retval);
}
- zval_ptr_dtor(&mode_zv);
return;
}
#endif
@@ -607,6 +604,7 @@ static int php_array_user_compare(const void *a, const void *b TSRMLS_DC) /* {{{
PHP_FUNCTION(usort)
{
zval *array;
+ zend_refcounted *arr;
unsigned int refcount;
PHP_ARRAY_CMP_FUNC_VARS;
@@ -617,30 +615,31 @@ PHP_FUNCTION(usort)
return;
}
- /* Clear the is_ref flag, so the attemts to modify the array in user
+ /* Increase reference counter, so the attemts to modify the array in user
* comparison function will create a copy of array and won't affect the
* original array. The fact of modification is detected using refcount
* comparison. The result of sorting in such case is undefined and the
* function returns FALSE.
*/
-//??? Z_UNSET_ISREF_P(array);
+ Z_ADDREF_P(array);
refcount = Z_REFCOUNT_P(array);
+ arr = Z_COUNTED_P(array);
if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_user_compare, 1 TSRMLS_CC) == FAILURE) {
RETVAL_FALSE;
} else {
if (refcount > Z_REFCOUNT_P(array)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Array was modified by the user comparison function");
+ if (--GC_REFCOUNT(arr) <= 0) {
+ _zval_dtor_func(arr ZEND_FILE_LINE_CC);
+ }
RETVAL_FALSE;
} else {
+ Z_DELREF_P(array);
RETVAL_TRUE;
}
}
- if (Z_REFCOUNT_P(array) > 1) {
-//??? Z_SET_ISREF_P(array);
- }
-
PHP_ARRAY_CMP_FUNC_RESTORE();
}
/* }}} */
@@ -650,6 +649,7 @@ PHP_FUNCTION(usort)
PHP_FUNCTION(uasort)
{
zval *array;
+ zend_refcounted *arr;
unsigned int refcount;
PHP_ARRAY_CMP_FUNC_VARS;
@@ -660,30 +660,31 @@ PHP_FUNCTION(uasort)
return;
}
- /* Clear the is_ref flag, so the attemts to modify the array in user
- * comaprison function will create a copy of array and won't affect the
+ /* Increase reference counter, so the attemts to modify the array in user
+ * comparison function will create a copy of array and won't affect the
* original array. The fact of modification is detected using refcount
* comparison. The result of sorting in such case is undefined and the
* function returns FALSE.
*/
-//??? Z_UNSET_ISREF_P(array);
+ Z_ADDREF_P(array);
refcount = Z_REFCOUNT_P(array);
+ arr = Z_COUNTED_P(array);
if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_user_compare, 0 TSRMLS_CC) == FAILURE) {
RETVAL_FALSE;
} else {
if (refcount > Z_REFCOUNT_P(array)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Array was modified by the user comparison function");
+ if (--GC_REFCOUNT(arr) <= 0) {
+ _zval_dtor_func(arr ZEND_FILE_LINE_CC);
+ }
RETVAL_FALSE;
} else {
+ Z_DELREF_P(array);
RETVAL_TRUE;
}
}
- if (Z_REFCOUNT_P(array) > 1) {
-//??? Z_SET_ISREF_P(array);
- }
-
PHP_ARRAY_CMP_FUNC_RESTORE();
}
/* }}} */
@@ -736,6 +737,7 @@ static int php_array_user_key_compare(const void *a, const void *b TSRMLS_DC) /*
PHP_FUNCTION(uksort)
{
zval *array;
+ zend_refcounted *arr;
unsigned int refcount;
PHP_ARRAY_CMP_FUNC_VARS;
@@ -746,30 +748,31 @@ PHP_FUNCTION(uksort)
return;
}
- /* Clear the is_ref flag, so the attemts to modify the array in user
- * comaprison function will create a copy of array and won't affect the
+ /* Increase reference counter, so the attemts to modify the array in user
+ * comparison function will create a copy of array and won't affect the
* original array. The fact of modification is detected using refcount
* comparison. The result of sorting in such case is undefined and the
* function returns FALSE.
*/
-//??? Z_UNSET_ISREF_P(array);
+ Z_ADDREF_P(array);
refcount = Z_REFCOUNT_P(array);
+ arr = Z_COUNTED_P(array);
if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_user_key_compare, 0 TSRMLS_CC) == FAILURE) {
RETVAL_FALSE;
} else {
if (refcount > Z_REFCOUNT_P(array)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Array was modified by the user comparison function");
+ if (--GC_REFCOUNT(arr) <= 0) {
+ _zval_dtor_func(arr ZEND_FILE_LINE_CC);
+ }
RETVAL_FALSE;
} else {
+ Z_DELREF_P(array);
RETVAL_TRUE;
}
}
- if (Z_REFCOUNT_P(array) > 1) {
-//??? Z_SET_ISREF_P(array);
- }
-
PHP_ARRAY_CMP_FUNC_RESTORE();
}
/* }}} */
@@ -2079,7 +2082,7 @@ static void _phpi_pop(INTERNAL_FUNCTION_PARAMETERS, int off_the_end)
zend_hash_rehash(Z_ARRVAL_P(stack));
}
}
- } else if (!key && index >= Z_ARRVAL_P(stack)->nNextFreeElement - 1) {
+ } else if (!key && 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 d4c4f3962f..17bdae5719 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -1758,6 +1758,11 @@ ZEND_BEGIN_ARG_INFO(arginfo_fmod, 0)
ZEND_ARG_INFO(0, x)
ZEND_ARG_INFO(0, y)
ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO(arginfo_intdiv, 0)
+ ZEND_ARG_INFO(0, numerator)
+ ZEND_ARG_INFO(0, divisor)
+ZEND_END_ARG_INFO()
/* }}} */
/* {{{ md5.c */
ZEND_BEGIN_ARG_INFO_EX(arginfo_md5, 0, 0, 1)
@@ -2635,7 +2640,7 @@ 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_END_ARG_INFO()
@@ -2894,6 +2899,7 @@ const zend_function_entry basic_functions[] = { /* {{{ */
PHP_FE(base_convert, arginfo_base_convert)
PHP_FE(number_format, arginfo_number_format)
PHP_FE(fmod, arginfo_fmod)
+ PHP_FE(intdiv, arginfo_intdiv)
#ifdef HAVE_INET_NTOP
PHP_RAW_NAMED_FE(inet_ntop, php_inet_ntop, arginfo_inet_ntop)
#endif
diff --git a/ext/standard/config.m4 b/ext/standard/config.m4
index 3d00d88dda..67952163aa 100644
--- a/ext/standard/config.m4
+++ b/ext/standard/config.m4
@@ -338,7 +338,7 @@ fi
dnl
dnl Check for available functions
dnl
-AC_CHECK_FUNCS(getcwd getwd asinh acosh atanh log1p hypot glob strfmon nice fpclass isinf isnan mempcpy strpncpy)
+AC_CHECK_FUNCS(getcwd getwd asinh acosh atanh log1p log2 hypot glob strfmon nice fpclass isinf isnan mempcpy strpncpy)
AC_FUNC_FNMATCH
dnl
diff --git a/ext/standard/dl.c b/ext/standard/dl.c
index 012592381b..19573d8e42 100644
--- a/ext/standard/dl.c
+++ b/ext/standard/dl.c
@@ -145,7 +145,7 @@ PHPAPI int php_load_extension(char *filename, int type, int start_now TSRMLS_DC)
if (!handle) {
#if PHP_WIN32
char *err = GET_DL_ERROR();
- if (err && (*err != "")) {
+ if (err && (*err != '\0')) {
php_error_docref(NULL TSRMLS_CC, error_type, "Unable to load dynamic library '%s' - %s", libpath, err);
LocalFree(err);
} else {
diff --git a/ext/standard/fsock.c b/ext/standard/fsock.c
index e11bb84056..300df8c1c0 100644
--- a/ext/standard/fsock.c
+++ b/ext/standard/fsock.c
@@ -43,7 +43,7 @@ static void php_fsockopen_stream(INTERNAL_FUNCTION_PARAMETERS, int persistent)
int err;
char *hostname = NULL;
long hostname_len;
- char *errstr = NULL;
+ zend_string *errstr = NULL;
RETVAL_FALSE;
@@ -83,7 +83,7 @@ static void php_fsockopen_stream(INTERNAL_FUNCTION_PARAMETERS, int persistent)
efree(hostname);
}
if (stream == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to connect to %s:%ld (%s)", host, port, errstr == NULL ? "Unknown error" : errstr);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to connect to %s:%ld (%s)", host, port, errstr == NULL ? "Unknown error" : errstr->val);
}
if (hashkey) {
@@ -98,18 +98,16 @@ static void php_fsockopen_stream(INTERNAL_FUNCTION_PARAMETERS, int persistent)
if (zerrstr && errstr) {
/* no need to dup; we need to efree buf anyway */
zval_dtor(zerrstr);
- // TODO: avoid reallocation ???
- ZVAL_STRING(zerrstr, errstr);
- efree(errstr);
+ ZVAL_STR(zerrstr, errstr);
} else if (!zerrstr && errstr) {
- efree(errstr);
+ STR_RELEASE(errstr);
}
RETURN_FALSE;
}
if (errstr) {
- efree(errstr);
+ STR_RELEASE(errstr);
}
php_stream_to_zval(stream, return_value);
diff --git a/ext/standard/http_fopen_wrapper.c b/ext/standard/http_fopen_wrapper.c
index d8f31960cc..73952dda31 100644
--- a/ext/standard/http_fopen_wrapper.c
+++ b/ext/standard/http_fopen_wrapper.c
@@ -130,7 +130,8 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper,
char tmp_line[128];
size_t chunk_size = 0, file_size = 0;
int eol_detect = 0;
- char *transport_string, *errstr = NULL;
+ char *transport_string;
+ zend_string *errstr = NULL;
int transport_len, have_header = 0, request_fulluri = 0, ignore_errors = 0;
char *protocol_version = NULL;
int protocol_version_len = 3; /* Default: "1.0" */
@@ -216,8 +217,8 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper,
}
if (errstr) {
- php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "%s", errstr);
- efree(errstr);
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "%s", errstr->val);
+ STR_RELEASE(errstr);
errstr = NULL;
}
@@ -229,7 +230,7 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper,
/* Set peer_name or name verification will try to use the proxy server name */
if (!context || (tmpzval = php_stream_context_get_option(context, "ssl", "peer_name")) == NULL) {
ZVAL_STRING(&ssl_proxy_peer_name, resource->host);
- php_stream_context_set_option(stream->context, "ssl", "peer_name", &ssl_proxy_peer_name);
+ php_stream_context_set_option(PHP_STREAM_CONTEXT(stream), "ssl", "peer_name", &ssl_proxy_peer_name);
}
smart_str_appendl(&header, "CONNECT ", sizeof("CONNECT ")-1);
diff --git a/ext/standard/info.c b/ext/standard/info.c
index 311b2f89e1..47249466b0 100644
--- a/ext/standard/info.c
+++ b/ext/standard/info.c
@@ -587,6 +587,14 @@ PHPAPI zend_string *php_get_uname(char mode)
php_get_windows_cpu(wincpu, sizeof(wincpu));
dwBuild = (DWORD)(HIWORD(dwVersion));
+
+ /* Windows "version" 6.2 could be Windows 8/Windows Server 2012, but also Windows 8.1/Windows Server 2012 R2 */
+ if (dwWindowsMajorVersion == 6 && dwWindowsMinorVersion == 2) {
+ if (strncmp(winver, "Windows 8.1", 11) == 0 || strncmp(winver, "Windows Server 2012 R2", 22) == 0) {
+ dwWindowsMinorVersion = 3;
+ }
+ }
+
snprintf(tmp_uname, sizeof(tmp_uname), "%s %s %d.%d build %d (%s) %s",
"Windows NT", ComputerName,
dwWindowsMajorVersion, dwWindowsMinorVersion, dwBuild, winver?winver:"unknown", wincpu);
@@ -847,7 +855,6 @@ PHPAPI void php_print_info(int flag TSRMLS_DC)
HashTable sorted_registry;
zend_hash_init(&sorted_registry, zend_hash_num_elements(&module_registry), NULL, NULL, 1);
-//??? zend_hash_copy(&sorted_registry, &module_registry, NULL, &tmp, sizeof(zend_module_entry));
zend_hash_copy(&sorted_registry, &module_registry, NULL);
zend_hash_sort(&sorted_registry, zend_qsort, module_name_cmp, 0 TSRMLS_CC);
diff --git a/ext/standard/math.c b/ext/standard/math.c
index 06723216c6..a392eb607c 100644
--- a/ext/standard/math.c
+++ b/ext/standard/math.c
@@ -792,15 +792,27 @@ PHP_FUNCTION(log)
if (ZEND_NUM_ARGS() == 1) {
RETURN_DOUBLE(log(num));
}
- if (base <= 0.0) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "base must be greater than 0");
- RETURN_FALSE;
+
+#ifdef HAVE_LOG2
+ if (base == 2.0) {
+ RETURN_DOUBLE(log2(num));
+ }
+#endif
+
+ if (base == 10.0) {
+ RETURN_DOUBLE(log10(num));
}
- if (base == 1) {
+
+ if (base == 1.0) {
RETURN_DOUBLE(php_get_nan());
- } else {
- RETURN_DOUBLE(log(num) / log(base));
}
+
+ if (base <= 0.0) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "base must be greater than 0");
+ RETURN_FALSE;
+ }
+
+ RETURN_DOUBLE(log(num) / log(base));
}
/* }}} */
@@ -1406,7 +1418,28 @@ PHP_FUNCTION(fmod)
}
/* }}} */
-
+/* {{{ proto int intdiv(int numerator, int divisor)
+ Returns the integer division of the numerator by the divisor */
+PHP_FUNCTION(intdiv)
+{
+ long numerator, divisor;
+
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &numerator, &divisor) == FAILURE) {
+ return;
+ }
+
+ if (divisor == 0) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Division by zero");
+ RETURN_BOOL(0);
+ } else if (divisor == -1 && numerator == LONG_MIN) {
+ /* Prevent overflow error/crash
+ We don't return a float here as that violates function contract */
+ RETURN_LONG(0);
+ }
+
+ RETURN_LONG(numerator/divisor);
+}
+/* }}} */
/*
* Local variables:
diff --git a/ext/standard/php_math.h b/ext/standard/php_math.h
index 0334ac40ce..a2dca282c5 100644
--- a/ext/standard/php_math.h
+++ b/ext/standard/php_math.h
@@ -66,6 +66,7 @@ PHP_FUNCTION(number_format);
PHP_FUNCTION(fmod);
PHP_FUNCTION(deg2rad);
PHP_FUNCTION(rad2deg);
+PHP_FUNCTION(intdiv);
/*
WARNING: these functions are expermental: they could change their names or
diff --git a/ext/standard/scanf.c b/ext/standard/scanf.c
index ef3fe2969c..f5f97161f2 100644
--- a/ext/standard/scanf.c
+++ b/ext/standard/scanf.c
@@ -925,7 +925,7 @@ literal:
__buf[1] = '\0';;
current = args[objIndex++];
zval_dtor(*current);
- ZVAL_STRINGL( *current, __buf, 1, 1);
+ ZVAL_STRINGL( *current, __buf, 1);
} else {
add_index_stringl(return_value, objIndex++, &sch, 1);
}
diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c
index fe51f48d52..652512ce07 100644
--- a/ext/standard/streamsfuncs.c
+++ b/ext/standard/streamsfuncs.c
@@ -40,7 +40,7 @@ typedef unsigned long long php_timeout_ull;
typedef unsigned __int64 php_timeout_ull;
#endif
-#define GET_CTX_OPT(stream, wrapper, name, val) (stream->context && NULL != (val = php_stream_context_get_option(stream->context, wrapper, name)))
+#define GET_CTX_OPT(stream, wrapper, name, val) (PHP_STREAM_CONTEXT(stream) && NULL != (val = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), wrapper, name)))
static php_stream_context *decode_context_param(zval *contextresource TSRMLS_DC);
@@ -97,7 +97,7 @@ PHP_FUNCTION(stream_socket_client)
php_stream *stream = NULL;
int err;
long flags = PHP_STREAM_CLIENT_CONNECT;
- char *errstr = NULL;
+ zend_string *errstr = NULL;
php_stream_context *context = NULL;
RETVAL_FALSE;
@@ -140,7 +140,7 @@ PHP_FUNCTION(stream_socket_client)
/* host might contain binary characters */
zend_string *quoted_host = php_addslashes(host, host_len, 0 TSRMLS_CC);
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to connect to %s (%s)", quoted_host->val, errstr == NULL ? "Unknown error" : errstr);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to connect to %s (%s)", quoted_host->val, errstr == NULL ? "Unknown error" : errstr->val);
STR_RELEASE(quoted_host);
}
@@ -154,19 +154,16 @@ PHP_FUNCTION(stream_socket_client)
ZVAL_LONG(zerrno, err);
}
if (zerrstr && errstr) {
- /* no need to dup; we need to efree buf anyway */
zval_dtor(zerrstr);
- // TODO: avoid reallocation ???
- ZVAL_STRING(zerrstr, errstr);
- efree(errstr);
+ ZVAL_STR(zerrstr, errstr);
} else if (errstr) {
- efree(errstr);
+ STR_RELEASE(errstr);
}
RETURN_FALSE;
}
if (errstr) {
- efree(errstr);
+ STR_RELEASE(errstr);
}
php_stream_to_zval(stream, return_value);
@@ -184,7 +181,7 @@ PHP_FUNCTION(stream_socket_server)
php_stream *stream = NULL;
int err = 0;
long flags = STREAM_XPORT_BIND | STREAM_XPORT_LISTEN;
- char *errstr = NULL;
+ zend_string *errstr = NULL;
php_stream_context *context = NULL;
RETVAL_FALSE;
@@ -213,7 +210,7 @@ PHP_FUNCTION(stream_socket_server)
NULL, NULL, context, &errstr, &err);
if (stream == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to connect to %s (%s)", host, errstr == NULL ? "Unknown error" : errstr);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "unable to connect to %s (%s)", host, errstr == NULL ? "Unknown error" : errstr->val);
}
if (stream == NULL) {
@@ -222,19 +219,16 @@ PHP_FUNCTION(stream_socket_server)
ZVAL_LONG(zerrno, err);
}
if (zerrstr && errstr) {
- /* no need to dup; we need to efree buf anyway */
zval_dtor(zerrstr);
- // TODO: avoid reallocation ???
- ZVAL_STRING(zerrstr, errstr);
- efree(errstr);
+ ZVAL_STR(zerrstr, errstr);
} else if (errstr) {
- efree(errstr);
+ STR_RELEASE(errstr);
}
RETURN_FALSE;
}
if (errstr) {
- efree(errstr);
+ STR_RELEASE(errstr);
}
php_stream_to_zval(stream, return_value);
@@ -247,14 +241,12 @@ PHP_FUNCTION(stream_socket_accept)
{
double timeout = FG(default_socket_timeout);
zval *zpeername = NULL;
- char *peername = NULL;
- int peername_len;
+ zend_string *peername = NULL;
php_timeout_ull conv;
struct timeval tv;
php_stream *stream = NULL, *clistream = NULL;
zval *zstream;
-
- char *errstr = NULL;
+ zend_string *errstr = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|dz/", &zstream, &timeout, &zpeername) == FAILURE) {
RETURN_FALSE;
@@ -278,24 +270,21 @@ PHP_FUNCTION(stream_socket_accept)
if (0 == php_stream_xport_accept(stream, &clistream,
zpeername ? &peername : NULL,
- zpeername ? &peername_len : NULL,
NULL, NULL,
&tv, &errstr
TSRMLS_CC) && clistream) {
if (peername) {
- // TODO: avoid reallocation ???
- ZVAL_STRINGL(zpeername, peername, peername_len);
- efree(peername);
+ ZVAL_STR(zpeername, peername);
}
php_stream_to_zval(clistream, return_value);
} else {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "accept failed: %s", errstr ? errstr : "Unknown error");
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "accept failed: %s", errstr ? errstr->val : "Unknown error");
RETVAL_FALSE;
}
if (errstr) {
- efree(errstr);
+ STR_RELEASE(errstr);
}
}
/* }}} */
@@ -307,8 +296,7 @@ PHP_FUNCTION(stream_socket_get_name)
php_stream *stream;
zval *zstream;
zend_bool want_peer;
- char *name = NULL;
- int name_len;
+ zend_string *name = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rb", &zstream, &want_peer) == FAILURE) {
RETURN_FALSE;
@@ -318,15 +306,12 @@ PHP_FUNCTION(stream_socket_get_name)
if (0 != php_stream_xport_get_name(stream, want_peer,
&name,
- &name_len,
NULL, NULL
TSRMLS_CC)) {
RETURN_FALSE;
}
- // TODO: avoid reallocation ???
- RETVAL_STRINGL(name, name_len);
- efree(name);
+ RETVAL_STR(name);
}
/* }}} */
@@ -365,8 +350,7 @@ PHP_FUNCTION(stream_socket_recvfrom)
{
php_stream *stream;
zval *zstream, *zremote = NULL;
- char *remote_addr = NULL;
- int remote_addr_len;
+ zend_string *remote_addr = NULL;
long to_read = 0;
zend_string *read_buf;
long flags = 0;
@@ -391,15 +375,12 @@ PHP_FUNCTION(stream_socket_recvfrom)
read_buf = STR_ALLOC(to_read, 0);
recvd = php_stream_xport_recvfrom(stream, read_buf->val, to_read, flags, NULL, NULL,
- zremote ? &remote_addr : NULL,
- zremote ? &remote_addr_len : NULL
+ zremote ? &remote_addr : NULL
TSRMLS_CC);
if (recvd >= 0) {
if (zremote) {
- // TODO: avoid reallocation ???
- ZVAL_STRINGL(zremote, remote_addr, remote_addr_len);
- efree(remote_addr);
+ ZVAL_STR(zremote, remote_addr);
}
read_buf->val[recvd] = '\0';
read_buf->len = recvd;
@@ -939,13 +920,14 @@ static php_stream_context *decode_context_param(zval *contextresource TSRMLS_DC)
stream = zend_fetch_resource(contextresource TSRMLS_CC, -1, NULL, NULL, 2, php_file_le_stream(), php_file_le_pstream);
if (stream) {
- context = stream->context;
+ context = PHP_STREAM_CONTEXT(stream);
if (context == NULL) {
/* Only way this happens is if file is opened with NO_DEFAULT_CONTEXT
param, but then something is called which requires a context.
Don't give them the default one though since they already said they
didn't want it. */
- context = stream->context = php_stream_context_alloc(TSRMLS_C);
+ context = php_stream_context_alloc(TSRMLS_C);
+ stream->ctx = context->res;
}
}
}
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 5f4f360ca6..82b98eb094 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -146,41 +146,43 @@ static zend_string *php_bin2hex(const unsigned char *old, const size_t oldlen)
/* {{{ php_hex2bin
*/
-static char *php_hex2bin(const unsigned char *old, const size_t oldlen, size_t *newlen)
+static zend_string *php_hex2bin(const unsigned char *old, const size_t oldlen)
{
size_t target_length = oldlen >> 1;
- register unsigned char *str = (unsigned char *)safe_emalloc(target_length, sizeof(char), 1);
+ zend_string *str = STR_ALLOC(target_length, 0);
+ unsigned char *ret = (unsigned char *)str->val;
size_t i, j;
+
for (i = j = 0; i < target_length; i++) {
- char c = old[j++];
+ unsigned char c = old[j++];
+ unsigned char d;
+
if (c >= '0' && c <= '9') {
- str[i] = (c - '0') << 4;
+ d = (c - '0') << 4;
} else if (c >= 'a' && c <= 'f') {
- str[i] = (c - 'a' + 10) << 4;
+ d = (c - 'a' + 10) << 4;
} else if (c >= 'A' && c <= 'F') {
- str[i] = (c - 'A' + 10) << 4;
+ d = (c - 'A' + 10) << 4;
} else {
- efree(str);
+ STR_FREE(str);
return NULL;
}
c = old[j++];
if (c >= '0' && c <= '9') {
- str[i] |= c - '0';
+ d |= c - '0';
} else if (c >= 'a' && c <= 'f') {
- str[i] |= c - 'a' + 10;
+ d |= c - 'a' + 10;
} else if (c >= 'A' && c <= 'F') {
- str[i] |= c - 'A' + 10;
+ d |= c - 'A' + 10;
} else {
- efree(str);
+ STR_FREE(str);
return NULL;
}
+ ret[i] = d;
}
- str[target_length] = '\0';
-
- if (newlen)
- *newlen = target_length;
+ ret[i] = '\0';
- return (char *)str;
+ return str;
}
/* }}} */
@@ -256,29 +258,25 @@ PHP_FUNCTION(bin2hex)
Converts the hex representation of data to binary */
PHP_FUNCTION(hex2bin)
{
- char *result, *data;
- size_t newlen;
- int datalen;
+ zend_string *result, *data;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &data, &datalen) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S", &data) == FAILURE) {
return;
}
- if (datalen % 2 != 0) {
+ if (data->len % 2 != 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Hexadecimal input string must have an even length");
RETURN_FALSE;
}
- result = php_hex2bin((unsigned char *)data, datalen, &newlen);
+ result = php_hex2bin((unsigned char *)data->val, data->len);
if (!result) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Input string must be hexadecimal string");
RETURN_FALSE;
}
- // TODO: avoid reallocation ???
- RETVAL_STRINGL(result, newlen);
- efree(result);
+ RETVAL_STR(result);
}
/* }}} */
@@ -2457,7 +2455,7 @@ PHP_FUNCTION(substr_replace)
orig_str = tmp_str;
}
- /*
+ /*???
refcount = Z_REFCOUNT_P(orig_str);
*/
@@ -2528,7 +2526,7 @@ PHP_FUNCTION(substr_replace)
} else {
repl_str = tmp_repl;
}
- /*
+ /*???
if (Z_REFCOUNT_P(orig_str) != refcount) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument was modified while replacing");
if (Z_TYPE_P(tmp_repl) != IS_STRING) {
@@ -3375,7 +3373,7 @@ PHPAPI zend_string *php_addcslashes(const char *str, int length, int should_free
new_str = STR_REALLOC(new_str, newlen, 0);
}
if (should_free) {
-//??? STR_FREE((char*)str);
+ efree((char*)str);
}
return new_str;
}
@@ -3420,7 +3418,7 @@ PHPAPI zend_string *php_addslashes(char *str, int length, int should_free TSRMLS
*target = 0;
if (should_free) {
-//??? STR_FREE(str);
+ efree(str);
}
new_str = STR_REALLOC(new_str, target - new_str->val, 0);
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/math/intdiv.phpt b/ext/standard/tests/math/intdiv.phpt
new file mode 100644
index 0000000000..d37d2e8004
--- /dev/null
+++ b/ext/standard/tests/math/intdiv.phpt
@@ -0,0 +1,25 @@
+--TEST--
+intdiv functionality
+--FILE--
+<?php
+var_dump(intdiv(3, 2));
+var_dump(intdiv(-3, 2));
+var_dump(intdiv(3, -2));
+var_dump(intdiv(-3, -2));
+var_dump(intdiv(PHP_INT_MAX, PHP_INT_MAX));
+var_dump(intdiv(-PHP_INT_MAX - 1, -PHP_INT_MAX - 1));
+var_dump(intdiv(-PHP_INT_MAX - 1, -1));
+var_dump(intdiv(1, 0));
+
+?>
+--EXPECTF--
+int(1)
+int(-1)
+int(-1)
+int(1)
+int(1)
+int(1)
+int(0)
+
+Warning: intdiv(): Division by zero in %s on line 9
+bool(false)
diff --git a/ext/standard/tests/math/intdiv_64bit.phpt b/ext/standard/tests/math/intdiv_64bit.phpt
new file mode 100644
index 0000000000..c674dd3b85
--- /dev/null
+++ b/ext/standard/tests/math/intdiv_64bit.phpt
@@ -0,0 +1,15 @@
+--TEST--
+intdiv functionality
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE !== 8) {
+ die("skip this test is for 64-bit platforms only");
+}
+?>
+--FILE--
+<?php
+// (int)(PHP_INT_MAX / 3) gives a different result
+var_dump(intdiv(PHP_INT_MAX, 3));
+?>
+--EXPECTF--
+int(3074457345618258602) \ No newline at end of file
diff --git a/ext/standard/type.c b/ext/standard/type.c
index ab3224628c..2a2988dee5 100644
--- a/ext/standard/type.c
+++ b/ext/standard/type.c
@@ -66,7 +66,8 @@ PHP_FUNCTION(gettype)
res_len = sizeof("object of type ")-1 + Z_OBJCE_P(arg)->name_length;
spprintf(&result, 0, "object of type %s", Z_OBJCE_P(arg)->name);
- RETVAL_STRINGL(result, res_len, 0);
+ RETVAL_STRINGL(result, res_len);
+ efree(result);
}
*/
break;
diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c
index e0b728c882..7dce126ac3 100644
--- a/ext/standard/user_filters.c
+++ b/ext/standard/user_filters.c
@@ -340,7 +340,6 @@ static php_stream_filter *user_filter_factory_create(const char *filtername,
/* create the object */
object_init_ex(&obj, fdat->ce);
-//??? Z_SET_ISREF_P(obj);
/* filtername */
add_property_string(&obj, "filtername", (char*)filtername);
diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c
index 0a5cbaa2cb..b6fcd79c2d 100644
--- a/ext/standard/var_unserializer.c
+++ b/ext/standard/var_unserializer.c
@@ -183,24 +183,24 @@ PHPAPI void var_destroy(php_unserialize_data_t *var_hashx)
/* }}} */
-static char *unserialize_str(const unsigned char **p, size_t *len, size_t maxlen)
+static zend_string *unserialize_str(const unsigned char **p, size_t len, size_t maxlen)
{
size_t i, j;
- char *str = safe_emalloc(*len, 1, 1);
+ zend_string *str = STR_ALLOC(len, 0);
unsigned char *end = *(unsigned char **)p+maxlen;
if (end < *p) {
- efree(str);
+ STR_FREE(str);
return NULL;
}
- for (i = 0; i < *len; i++) {
+ for (i = 0; i < len; i++) {
if (*p >= end) {
- efree(str);
+ STR_FREE(str);
return NULL;
}
if (**p != '\\') {
- str[i] = (char)**p;
+ str->val[i] = (char)**p;
} else {
unsigned char ch = 0;
@@ -213,16 +213,16 @@ static char *unserialize_str(const unsigned char **p, size_t *len, size_t maxlen
} else if (**p >= 'A' && **p <= 'F') {
ch = (ch << 4) + (**p -'A'+10);
} else {
- efree(str);
+ STR_FREE(str);
return NULL;
}
}
- str[i] = (char)ch;
+ str->val[i] = (char)ch;
}
(*p)++;
}
- str[i] = 0;
- *len = i;
+ str->val[i] = 0;
+ str->len = i;
return str;
}
@@ -541,7 +541,7 @@ yy2:
yych = *(YYMARKER = ++YYCURSOR);
if (yych == ':') goto yy95;
yy3:
-#line 829 "ext/standard/var_unserializer.re"
+#line 826 "ext/standard/var_unserializer.re"
{ return 0; }
#line 547 "ext/standard/var_unserializer.c"
yy4:
@@ -586,7 +586,7 @@ yy13:
goto yy3;
yy14:
++YYCURSOR;
-#line 823 "ext/standard/var_unserializer.re"
+#line 820 "ext/standard/var_unserializer.re"
{
/* this is the case where we have less data than planned */
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unexpected end of serialized data");
@@ -622,7 +622,7 @@ yy20:
yych = *++YYCURSOR;
if (yych != '"') goto yy18;
++YYCURSOR;
-#line 684 "ext/standard/var_unserializer.re"
+#line 681 "ext/standard/var_unserializer.re"
{
size_t len, len2, len3, maxlen;
long elements;
@@ -786,7 +786,7 @@ yy27:
yych = *++YYCURSOR;
if (yych != '"') goto yy18;
++YYCURSOR;
-#line 676 "ext/standard/var_unserializer.re"
+#line 673 "ext/standard/var_unserializer.re"
{
//??? INIT_PZVAL(rval);
@@ -815,7 +815,7 @@ yy34:
yych = *++YYCURSOR;
if (yych != '{') goto yy18;
++YYCURSOR;
-#line 655 "ext/standard/var_unserializer.re"
+#line 652 "ext/standard/var_unserializer.re"
{
long elements = parse_iv(start + 2);
/* use iv() not uiv() in order to check data range */
@@ -857,11 +857,10 @@ yy41:
yych = *++YYCURSOR;
if (yych != '"') goto yy18;
++YYCURSOR;
-#line 625 "ext/standard/var_unserializer.re"
+#line 624 "ext/standard/var_unserializer.re"
{
size_t len, maxlen;
-//??? TODO: use zend_string* instead of char*
- char *str;
+ zend_string *str;
len = parse_uiv(start + 2);
maxlen = max - YYCURSOR;
@@ -870,12 +869,12 @@ yy41:
return 0;
}
- if ((str = unserialize_str(&YYCURSOR, &len, maxlen)) == NULL) {
+ if ((str = unserialize_str(&YYCURSOR, len, maxlen)) == NULL) {
return 0;
}
if (*(YYCURSOR) != '"') {
- efree(str);
+ STR_FREE(str);
*p = YYCURSOR;
return 0;
}
@@ -883,11 +882,10 @@ yy41:
YYCURSOR += 2;
*p = YYCURSOR;
- ZVAL_STRINGL(rval, str, len);
- efree(str);
+ ZVAL_STR(rval, str);
return 1;
}
-#line 891 "ext/standard/var_unserializer.c"
+#line 889 "ext/standard/var_unserializer.c"
yy46:
yych = *++YYCURSOR;
if (yych == '+') goto yy47;
@@ -908,7 +906,7 @@ yy48:
yych = *++YYCURSOR;
if (yych != '"') goto yy18;
++YYCURSOR;
-#line 598 "ext/standard/var_unserializer.re"
+#line 597 "ext/standard/var_unserializer.re"
{
size_t len, maxlen;
char *str;
@@ -935,7 +933,7 @@ yy48:
ZVAL_STRINGL(rval, str, len);
return 1;
}
-#line 939 "ext/standard/var_unserializer.c"
+#line 937 "ext/standard/var_unserializer.c"
yy53:
yych = *++YYCURSOR;
if (yych <= '/') {
@@ -1023,7 +1021,7 @@ yy61:
}
yy63:
++YYCURSOR;
-#line 589 "ext/standard/var_unserializer.re"
+#line 588 "ext/standard/var_unserializer.re"
{
#if SIZEOF_LONG == 4
use_double:
@@ -1032,7 +1030,7 @@ use_double:
ZVAL_DOUBLE(rval, zend_strtod((const char *)start + 2, NULL));
return 1;
}
-#line 1036 "ext/standard/var_unserializer.c"
+#line 1034 "ext/standard/var_unserializer.c"
yy65:
yych = *++YYCURSOR;
if (yych <= ',') {
@@ -1091,7 +1089,7 @@ yy73:
yych = *++YYCURSOR;
if (yych != ';') goto yy18;
++YYCURSOR;
-#line 573 "ext/standard/var_unserializer.re"
+#line 572 "ext/standard/var_unserializer.re"
{
*p = YYCURSOR;
@@ -1107,7 +1105,7 @@ yy73:
return 1;
}
-#line 1111 "ext/standard/var_unserializer.c"
+#line 1109 "ext/standard/var_unserializer.c"
yy76:
yych = *++YYCURSOR;
if (yych == 'N') goto yy73;
@@ -1134,7 +1132,7 @@ yy79:
if (yych <= '9') goto yy79;
if (yych != ';') goto yy18;
++YYCURSOR;
-#line 547 "ext/standard/var_unserializer.re"
+#line 546 "ext/standard/var_unserializer.re"
{
#if SIZEOF_LONG == 4
int digits = YYCURSOR - start - 3;
@@ -1160,7 +1158,7 @@ yy79:
ZVAL_LONG(rval, parse_iv(start + 2));
return 1;
}
-#line 1164 "ext/standard/var_unserializer.c"
+#line 1162 "ext/standard/var_unserializer.c"
yy83:
yych = *++YYCURSOR;
if (yych <= '/') goto yy18;
@@ -1168,22 +1166,22 @@ yy83:
yych = *++YYCURSOR;
if (yych != ';') goto yy18;
++YYCURSOR;
-#line 541 "ext/standard/var_unserializer.re"
+#line 540 "ext/standard/var_unserializer.re"
{
*p = YYCURSOR;
ZVAL_BOOL(rval, parse_iv(start + 2));
return 1;
}
-#line 1178 "ext/standard/var_unserializer.c"
+#line 1176 "ext/standard/var_unserializer.c"
yy87:
++YYCURSOR;
-#line 535 "ext/standard/var_unserializer.re"
+#line 534 "ext/standard/var_unserializer.re"
{
*p = YYCURSOR;
ZVAL_NULL(rval);
return 1;
}
-#line 1187 "ext/standard/var_unserializer.c"
+#line 1185 "ext/standard/var_unserializer.c"
yy89:
yych = *++YYCURSOR;
if (yych <= ',') {
@@ -1206,7 +1204,7 @@ yy91:
if (yych <= '9') goto yy91;
if (yych != ';') goto yy18;
++YYCURSOR;
-#line 512 "ext/standard/var_unserializer.re"
+#line 511 "ext/standard/var_unserializer.re"
{
long id;
@@ -1229,7 +1227,7 @@ yy91:
return 1;
}
-#line 1233 "ext/standard/var_unserializer.c"
+#line 1231 "ext/standard/var_unserializer.c"
yy95:
yych = *++YYCURSOR;
if (yych <= ',') {
@@ -1271,13 +1269,12 @@ yy97:
ZVAL_NEW_REF(rval_ref, rval_ref);
ZVAL_COPY(rval, rval_ref);
}
-//??? Z_SET_ISREF_PP(rval);
return 1;
}
-#line 1279 "ext/standard/var_unserializer.c"
+#line 1276 "ext/standard/var_unserializer.c"
}
-#line 831 "ext/standard/var_unserializer.re"
+#line 828 "ext/standard/var_unserializer.re"
return 0;
diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re
index af9da9c6a8..5636429c8b 100644
--- a/ext/standard/var_unserializer.re
+++ b/ext/standard/var_unserializer.re
@@ -181,24 +181,24 @@ PHPAPI void var_destroy(php_unserialize_data_t *var_hashx)
/* }}} */
-static char *unserialize_str(const unsigned char **p, size_t *len, size_t maxlen)
+static zend_string *unserialize_str(const unsigned char **p, size_t len, size_t maxlen)
{
size_t i, j;
- char *str = safe_emalloc(*len, 1, 1);
+ zend_string *str = STR_ALLOC(len, 0);
unsigned char *end = *(unsigned char **)p+maxlen;
if (end < *p) {
- efree(str);
+ STR_FREE(str);
return NULL;
}
- for (i = 0; i < *len; i++) {
+ for (i = 0; i < len; i++) {
if (*p >= end) {
- efree(str);
+ STR_FREE(str);
return NULL;
}
if (**p != '\\') {
- str[i] = (char)**p;
+ str->val[i] = (char)**p;
} else {
unsigned char ch = 0;
@@ -211,16 +211,16 @@ static char *unserialize_str(const unsigned char **p, size_t *len, size_t maxlen
} else if (**p >= 'A' && **p <= 'F') {
ch = (ch << 4) + (**p -'A'+10);
} else {
- efree(str);
+ STR_FREE(str);
return NULL;
}
}
- str[i] = (char)ch;
+ str->val[i] = (char)ch;
}
(*p)++;
}
- str[i] = 0;
- *len = i;
+ str->val[i] = 0;
+ str->len = i;
return str;
}
@@ -504,7 +504,6 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
ZVAL_NEW_REF(rval_ref, rval_ref);
ZVAL_COPY(rval, rval_ref);
}
-//??? Z_SET_ISREF_PP(rval);
return 1;
}
@@ -624,8 +623,7 @@ use_double:
"S:" uiv ":" ["] {
size_t len, maxlen;
-//??? TODO: use zend_string* instead of char*
- char *str;
+ zend_string *str;
len = parse_uiv(start + 2);
maxlen = max - YYCURSOR;
@@ -634,12 +632,12 @@ use_double:
return 0;
}
- if ((str = unserialize_str(&YYCURSOR, &len, maxlen)) == NULL) {
+ if ((str = unserialize_str(&YYCURSOR, len, maxlen)) == NULL) {
return 0;
}
if (*(YYCURSOR) != '"') {
- efree(str);
+ STR_FREE(str);
*p = YYCURSOR;
return 0;
}
@@ -647,8 +645,7 @@ use_double:
YYCURSOR += 2;
*p = YYCURSOR;
- ZVAL_STRINGL(rval, str, len);
- efree(str);
+ ZVAL_STR(rval, str);
return 1;
}
diff --git a/ext/sybase_ct/php_sybase_ct.c b/ext/sybase_ct/php_sybase_ct.c
index aaa0c79fae..97aa204892 100644
--- a/ext/sybase_ct/php_sybase_ct.c
+++ b/ext/sybase_ct/php_sybase_ct.c
@@ -442,7 +442,7 @@ static int _call_message_handler(zval *callback_name, CS_SERVERMSG *srvmsg TSRML
zval expr_copy;
int use_copy;
- use_copy = zend_make_printable_zval(callback_name, &expr_copy);
+ use_copy = zend_make_printable_zval(callback_name, &expr_copy TSRMLS_CC);
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Sybase: Cannot call the messagehandler %s", Z_STRVAL(expr_copy));
zval_dtor(&expr_copy);
}
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index bbceb6dcf2..2886d6c686 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -290,7 +290,7 @@ static int le_xml_parser;
/* {{{ startup, shutdown and info functions */
static PHP_GINIT_FUNCTION(xml)
{
- xml_globals->default_encoding = "UTF-8";
+ xml_globals->default_encoding = (XML_Char*)"UTF-8";
}
static void *php_xml_malloc_wrapper(size_t sz)
@@ -727,11 +727,13 @@ void _xml_startElementHandler(void *userData, const XML_Char *name, const XML_Ch
array_init(&args[2]);
while (attributes && *attributes) {
+ zval tmp;
+
att = _xml_decode_tag(parser, (const char *)attributes[0]);
val = xml_utf8_decode(attributes[1], strlen((char *)attributes[1]), parser->target_encoding);
- // TODO: avoid reallocation ???
- add_assoc_str(&args[2], att->val, val);
+ ZVAL_STR(&tmp, val);
+ zend_symtable_update(Z_ARRVAL(args[2]), att, &tmp);
attributes += 2;
@@ -762,11 +764,13 @@ void _xml_startElementHandler(void *userData, const XML_Char *name, const XML_Ch
attributes = (const XML_Char **) attrs;
while (attributes && *attributes) {
+ zval tmp;
+
att = _xml_decode_tag(parser, (const char *)attributes[0]);
val = xml_utf8_decode(attributes[1], strlen((char *)attributes[1]), parser->target_encoding);
- // TODO: avoid reallocation ???
- add_assoc_str(&atr, att->val, val);
+ ZVAL_STR(&tmp, val);
+ zend_symtable_update(Z_ARRVAL(atr), att, &tmp);
atcnt++;
attributes += 2;
@@ -889,7 +893,6 @@ void _xml_characterDataHandler(void *userData, const XML_Char *s, int len)
decoded_value->val, decoded_value->len + 1);
STR_RELEASE(decoded_value);
} else {
- // TODO: avoid reallocation ???
add_assoc_str(parser->ctag, "value", decoded_value);
}
@@ -919,7 +922,6 @@ void _xml_characterDataHandler(void *userData, const XML_Char *s, int len)
_xml_add_to_info(parser,parser->ltags[parser->level-1] + parser->toffset);
add_assoc_string(&tag, "tag", parser->ltags[parser->level-1] + parser->toffset);
- // TODO: avoid reallocation ???
add_assoc_str(&tag, "value", decoded_value);
add_assoc_string(&tag, "type", "cdata");
add_assoc_long(&tag, "level", parser->level);
@@ -1109,11 +1111,11 @@ static void php_xml_parser_create_impl(INTERNAL_FUNCTION_PARAMETERS, int ns_supp
encoding = XML(default_encoding);
auto_detect = 1;
} else if (strcasecmp(encoding_param, "ISO-8859-1") == 0) {
- encoding = "ISO-8859-1";
+ encoding = (XML_Char*)"ISO-8859-1";
} else if (strcasecmp(encoding_param, "UTF-8") == 0) {
- encoding = "UTF-8";
+ encoding = (XML_Char*)"UTF-8";
} else if (strcasecmp(encoding_param, "US-ASCII") == 0) {
- encoding = "US-ASCII";
+ encoding = (XML_Char*)"US-ASCII";
} else {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "unsupported source encoding \"%s\"", encoding_param);
RETURN_FALSE;
@@ -1128,7 +1130,7 @@ static void php_xml_parser_create_impl(INTERNAL_FUNCTION_PARAMETERS, int ns_supp
parser = ecalloc(1, sizeof(xml_parser));
parser->parser = XML_ParserCreate_MM((auto_detect ? NULL : encoding),
- &php_xml_mem_hdlrs, ns_param);
+ &php_xml_mem_hdlrs, (XML_Char*)ns_param);
parser->target_encoding = encoding;
parser->case_folding = 1;
@@ -1372,7 +1374,7 @@ PHP_FUNCTION(xml_parse)
ZEND_FETCH_RESOURCE(parser, xml_parser *, pind, -1, "XML Parser", le_xml_parser);
parser->isparsing = 1;
- ret = XML_Parse(parser->parser, data, data_len, isFinal);
+ ret = XML_Parse(parser->parser, (XML_Char*)data, data_len, isFinal);
parser->isparsing = 0;
RETVAL_LONG(ret);
}
@@ -1417,7 +1419,7 @@ PHP_FUNCTION(xml_parse_into_struct)
XML_SetCharacterDataHandler(parser->parser, _xml_characterDataHandler);
parser->isparsing = 1;
- ret = XML_Parse(parser->parser, data, data_len, 1);
+ ret = XML_Parse(parser->parser, (XML_Char*)data, data_len, 1);
parser->isparsing = 0;
RETVAL_LONG(ret);
@@ -1566,7 +1568,7 @@ PHP_FUNCTION(xml_parser_set_option)
case PHP_XML_OPTION_TARGET_ENCODING: {
xml_encoding *enc;
convert_to_string_ex(val);
- enc = xml_get_encoding(Z_STRVAL_P(val));
+ enc = xml_get_encoding((XML_Char*)Z_STRVAL_P(val));
if (enc == NULL) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unsupported target encoding \"%s\"", Z_STRVAL_P(val));
RETURN_FALSE;
@@ -1625,7 +1627,7 @@ PHP_FUNCTION(utf8_encode)
return;
}
- encoded = xml_utf8_encode(arg, arg_len, "ISO-8859-1");
+ encoded = xml_utf8_encode(arg, arg_len, (XML_Char*)"ISO-8859-1");
if (encoded == NULL) {
RETURN_FALSE;
}
@@ -1645,7 +1647,7 @@ PHP_FUNCTION(utf8_decode)
return;
}
- decoded = xml_utf8_decode(arg, arg_len, "ISO-8859-1");
+ decoded = xml_utf8_decode((XML_Char*)arg, arg_len, (XML_Char*)"ISO-8859-1");
if (decoded == NULL) {
RETURN_FALSE;
}
diff --git a/ext/zlib/tests/bug67724.gz.gz b/ext/zlib/tests/bug67724.gz.gz
new file mode 100644
index 0000000000..ab1db9258e
--- /dev/null
+++ b/ext/zlib/tests/bug67724.gz.gz
Binary files differ
diff --git a/ext/zlib/tests/bug67724.phpt b/ext/zlib/tests/bug67724.phpt
new file mode 100644
index 0000000000..1e5026f650
--- /dev/null
+++ b/ext/zlib/tests/bug67724.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Bug #67724 (chained zlib filters silently fail with large amounts of data)
+--SKIPIF--
+<?php
+extension_loaded("zlib") or die("skip need ext/zlib");
+?>
+--FILE--
+<?php
+echo "Test\n";
+
+$f = fopen(__DIR__."/bug67724.gz.gz", "rb")
+ or die(current(error_get_last()));
+stream_filter_append($f, "zlib.inflate", STREAM_FILTER_READ, ["window" => 30]);
+stream_filter_append($f, "zlib.inflate", STREAM_FILTER_READ, ["window" => 30]);
+for ($i = 0; !feof($f); $i += strlen(fread($f, 0x1000)))
+ ;
+fclose($f);
+
+var_dump($i);
+
+?>
+DONE
+--EXPECT--
+Test
+int(25600000)
+DONE
diff --git a/ext/zlib/zlib_filter.c b/ext/zlib/zlib_filter.c
index 17f141b06c..0b91edfb02 100644
--- a/ext/zlib/zlib_filter.c
+++ b/ext/zlib/zlib_filter.c
@@ -302,7 +302,8 @@ static php_stream_filter *php_zlib_filter_create(const char *filtername, zval *f
data->strm.zalloc = (alloc_func) php_zlib_alloc;
data->strm.zfree = (free_func) php_zlib_free;
- data->strm.avail_out = data->outbuf_len = data->inbuf_len = 2048;
+ data->strm.avail_out = data->outbuf_len = 0x8000;
+ data->inbuf_len = 2048;
data->strm.next_in = data->inbuf = (Bytef *) pemalloc(data->inbuf_len, persistent);
if (!data->inbuf) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed allocating %zd bytes", data->inbuf_len);
diff --git a/main/fopen_wrappers.c b/main/fopen_wrappers.c
index ad2e8a8d14..981c5c5a15 100644
--- a/main/fopen_wrappers.c
+++ b/main/fopen_wrappers.c
@@ -433,16 +433,18 @@ PHPAPI int php_fopen_primary_script(zend_file_handle *file_handle TSRMLS_DC)
if (!resolved_path) {
if (SG(request_info).path_translated != filename) {
-//??? STR_FREE(filename);
- if (filename) efree(filename);
+ if (filename) {
+ efree(filename);
+ }
}
/* we have to free SG(request_info).path_translated here because
* php_destroy_request_info assumes that it will get
* freed when the include_names hash is emptied, but
* we're not adding it in this case */
-//??? STR_FREE(SG(request_info).path_translated);
- if (SG(request_info).path_translated) efree(SG(request_info).path_translated);
- SG(request_info).path_translated = NULL;
+ if (SG(request_info).path_translated) {
+ efree(SG(request_info).path_translated);
+ SG(request_info).path_translated = NULL;
+ }
return FAILURE;
}
efree(resolved_path);
@@ -452,19 +454,22 @@ PHPAPI int php_fopen_primary_script(zend_file_handle *file_handle TSRMLS_DC)
if (zend_stream_open(filename, file_handle TSRMLS_CC) == FAILURE) {
PG(display_errors) = orig_display_errors;
if (SG(request_info).path_translated != filename) {
-//??? STR_FREE(filename);
- if (filename) efree(filename);
+ if (filename) {
+ efree(filename);
+ }
+ }
+ if (SG(request_info).path_translated) {
+ efree(SG(request_info).path_translated);
+ SG(request_info).path_translated = NULL;
}
-//??? STR_FREE(SG(request_info).path_translated); /* for same reason as above */
- if (SG(request_info).path_translated) efree(SG(request_info).path_translated);
- SG(request_info).path_translated = NULL;
return FAILURE;
}
PG(display_errors) = orig_display_errors;
if (SG(request_info).path_translated != filename) {
-//??? STR_FREE(SG(request_info).path_translated); /* for same reason as above */
- if (SG(request_info).path_translated) efree(SG(request_info).path_translated);
+ if (SG(request_info).path_translated) {
+ efree(SG(request_info).path_translated);
+ }
SG(request_info).path_translated = filename;
}
diff --git a/main/main.c b/main/main.c
index f4f88d5360..1fd314b582 100644
--- a/main/main.c
+++ b/main/main.c
@@ -1192,10 +1192,19 @@ static void php_error_cb(int type, const char *error_filename, const uint error_
case E_USER_ERROR:
{ /* new block to allow variable definition */
/* eval() errors do not affect exit_status or response code */
- zend_bool during_eval = (type == E_PARSE) && (EG(current_execute_data) &&
- EG(current_execute_data)->opline &&
- EG(current_execute_data)->opline->opcode == ZEND_INCLUDE_OR_EVAL &&
- EG(current_execute_data)->opline->extended_value == ZEND_EVAL);
+ zend_bool during_eval = 0;
+
+ if (type == E_PARSE) {
+ zend_execute_data *execute_data = EG(current_execute_data);
+
+ while (execute_data && (!execute_data->func || !ZEND_USER_CODE(execute_data->func->common.type))) {
+ execute_data = execute_data->prev_execute_data;
+ }
+
+ during_eval = (execute_data &&
+ execute_data->opline->opcode == ZEND_INCLUDE_OR_EVAL &&
+ execute_data->opline->extended_value == ZEND_EVAL);
+ }
if (!during_eval) {
EG(exit_status) = 255;
}
@@ -2201,6 +2210,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
@@ -2493,7 +2503,7 @@ PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC)
#ifdef PHP_WIN32
if(primary_file->filename) {
- UpdateIniFromRegistry(primary_file->filename TSRMLS_CC);
+ UpdateIniFromRegistry((char*)primary_file->filename TSRMLS_CC);
}
#endif
@@ -2585,7 +2595,7 @@ PHPAPI int php_execute_simple_script(zend_file_handle *primary_file, zval *ret T
zend_try {
#ifdef PHP_WIN32
if(primary_file->filename) {
- UpdateIniFromRegistry(primary_file->filename TSRMLS_CC);
+ UpdateIniFromRegistry((char*)primary_file->filename TSRMLS_CC);
}
#endif
diff --git a/main/network.c b/main/network.c
index 13ed727923..74855064d7 100644
--- a/main/network.c
+++ b/main/network.c
@@ -166,7 +166,7 @@ PHPAPI void php_network_freeaddresses(struct sockaddr **sal)
/* {{{ php_network_getaddresses
* Returns number of addresses, 0 for none/error
*/
-PHPAPI int php_network_getaddresses(const char *host, int socktype, struct sockaddr ***sal, char **error_string TSRMLS_DC)
+PHPAPI int php_network_getaddresses(const char *host, int socktype, struct sockaddr ***sal, zend_string **error_string TSRMLS_DC)
{
struct sockaddr **sap;
int n;
@@ -212,16 +212,16 @@ PHPAPI int php_network_getaddresses(const char *host, int socktype, struct socka
if ((n = getaddrinfo(host, NULL, &hints, &res))) {
if (error_string) {
- spprintf(error_string, 0, "php_network_getaddresses: getaddrinfo failed: %s", PHP_GAI_STRERROR(n));
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", *error_string);
+ *error_string = strpprintf(0, "php_network_getaddresses: getaddrinfo failed: %s", PHP_GAI_STRERROR(n));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", (*error_string)->val);
} else {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "php_network_getaddresses: getaddrinfo failed: %s", PHP_GAI_STRERROR(n));
}
return 0;
} else if (res == NULL) {
if (error_string) {
- spprintf(error_string, 0, "php_network_getaddresses: getaddrinfo failed (null result pointer) errno=%d", errno);
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", *error_string);
+ *error_string = strpprintf(0, "php_network_getaddresses: getaddrinfo failed (null result pointer) errno=%d", errno);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", (*error_string)->val);
} else {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "php_network_getaddresses: getaddrinfo failed (null result pointer)");
}
@@ -249,8 +249,8 @@ PHPAPI int php_network_getaddresses(const char *host, int socktype, struct socka
host_info = gethostbyname(host);
if (host_info == NULL) {
if (error_string) {
- spprintf(error_string, 0, "php_network_getaddresses: gethostbyname failed. errno=%d", errno);
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", *error_string);
+ error_string = strpprintf(0, "php_network_getaddresses: gethostbyname failed. errno=%d", errno);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", (*error_string)->val);
} else {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "php_network_getaddresses: gethostbyname failed");
}
@@ -305,7 +305,7 @@ PHPAPI int php_network_connect_socket(php_socket_t sockfd,
socklen_t addrlen,
int asynchronous,
struct timeval *timeout,
- char **error_string,
+ zend_string **error_string,
int *error_code)
{
#if HAVE_NON_BLOCKING_CONNECT
@@ -326,7 +326,7 @@ PHPAPI int php_network_connect_socket(php_socket_t sockfd,
if (error != EINPROGRESS) {
if (error_string) {
- *error_string = php_socket_strerror(error, NULL, 0);
+ *error_string = php_socket_error_str(error);
}
return -1;
@@ -382,7 +382,7 @@ ok:
if (error) {
ret = -1;
if (error_string) {
- *error_string = php_socket_strerror(error, NULL, 0);
+ *error_string = php_socket_error_str(error);
}
}
return ret;
@@ -416,13 +416,14 @@ static inline void sub_times(struct timeval a, struct timeval b, struct timeval
* */
/* {{{ php_network_bind_socket_to_local_addr */
php_socket_t php_network_bind_socket_to_local_addr(const char *host, unsigned port,
- int socktype, char **error_string, int *error_code
+ int socktype, long sockopts, zend_string **error_string, int *error_code
TSRMLS_DC)
{
int num_addrs, n, err = 0;
php_socket_t sock;
struct sockaddr **sal, **psal, *sa;
socklen_t socklen;
+ int sockoptval = 1;
num_addrs = php_network_getaddresses(host, socktype, &psal, error_string TSRMLS_CC);
@@ -464,9 +465,16 @@ php_socket_t php_network_bind_socket_to_local_addr(const char *host, unsigned po
/* attempt to bind */
#ifdef SO_REUSEADDR
- {
- int val = 1;
- setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char*)&val, sizeof(val));
+ setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char*)&sockoptval, sizeof(sockoptval));
+#endif
+#ifdef SO_REUSEPORT
+ if (sockopts & STREAM_SOCKOP_SO_REUSEPORT) {
+ setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (char*)&sockoptval, sizeof(sockoptval));
+ }
+#endif
+#ifdef SO_BROADCAST
+ if (sockopts & STREAM_SOCKOP_SO_BROADCAST) {
+ setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char*)&sockoptval, sizeof(sockoptval));
}
#endif
@@ -487,7 +495,7 @@ php_socket_t php_network_bind_socket_to_local_addr(const char *host, unsigned po
*error_code = err;
}
if (error_string) {
- *error_string = php_socket_strerror(err, NULL, 0);
+ *error_string = php_socket_error_str(err);
}
bound:
@@ -508,7 +516,7 @@ PHPAPI int php_network_parse_network_address_with_port(const char *addr, long ad
struct sockaddr_in *in4 = (struct sockaddr_in*)sa;
struct sockaddr **psal;
int n;
- char *errstr = NULL;
+ zend_string *errstr = NULL;
#if HAVE_IPV6
struct sockaddr_in6 *in6 = (struct sockaddr_in6*)sa;
#endif
@@ -554,9 +562,8 @@ PHPAPI int php_network_parse_network_address_with_port(const char *addr, long ad
if (n == 0) {
if (errstr) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to resolve `%s': %s", tmp, errstr);
-//??? STR_FREE(errstr);
- efree(errstr);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to resolve `%s': %s", tmp, errstr->val);
+ STR_RELEASE(errstr);
}
goto out;
}
@@ -582,7 +589,6 @@ PHPAPI int php_network_parse_network_address_with_port(const char *addr, long ad
php_network_freeaddresses(psal);
out:
-//??? STR_FREE(tmp);
efree(tmp);
return ret;
}
@@ -592,7 +598,7 @@ PHPAPI void php_network_populate_name_from_sockaddr(
/* input address */
struct sockaddr *sa, socklen_t sl,
/* output readable address */
- char **textaddr, long *textaddrlen,
+ zend_string **textaddr,
/* output address */
struct sockaddr **addr,
socklen_t *addrlen
@@ -615,7 +621,7 @@ PHPAPI void php_network_populate_name_from_sockaddr(
/* generally not thread safe, but it *is* thread safe under win32 */
buf = inet_ntoa(((struct sockaddr_in*)sa)->sin_addr);
if (buf) {
- *textaddrlen = spprintf(textaddr, 0, "%s:%d",
+ *textaddr = strpprintf(0, "%s:%d",
buf, ntohs(((struct sockaddr_in*)sa)->sin_port));
}
@@ -625,7 +631,7 @@ PHPAPI void php_network_populate_name_from_sockaddr(
case AF_INET6:
buf = (char*)inet_ntop(sa->sa_family, &((struct sockaddr_in6*)sa)->sin6_addr, (char *)&abuf, sizeof(abuf));
if (buf) {
- *textaddrlen = spprintf(textaddr, 0, "%s:%d",
+ *textaddr = strpprintf(0, "%s:%d",
buf, ntohs(((struct sockaddr_in6*)sa)->sin6_port));
}
@@ -639,13 +645,10 @@ PHPAPI void php_network_populate_name_from_sockaddr(
if (ua->sun_path[0] == '\0') {
/* abstract name */
int len = strlen(ua->sun_path + 1) + 1;
- *textaddrlen = len;
- *textaddr = emalloc(len + 1);
- memcpy(*textaddr, ua->sun_path, len);
- (*textaddr)[len] = '\0';
+ *textaddr = STR_INIT((char*)ua->sun_path, len, 0);
} else {
- *textaddrlen = strlen(ua->sun_path);
- *textaddr = estrndup(ua->sun_path, *textaddrlen);
+ int len = strlen(ua->sun_path);
+ *textaddr = STR_INIT((char*)ua->sun_path, len, 0);
}
}
break;
@@ -657,7 +660,7 @@ PHPAPI void php_network_populate_name_from_sockaddr(
}
PHPAPI int php_network_get_peer_name(php_socket_t sock,
- char **textaddr, long *textaddrlen,
+ zend_string **textaddr,
struct sockaddr **addr,
socklen_t *addrlen
TSRMLS_DC)
@@ -668,7 +671,7 @@ PHPAPI int php_network_get_peer_name(php_socket_t sock,
if (getpeername(sock, (struct sockaddr*)&sa, &sl) == 0) {
php_network_populate_name_from_sockaddr((struct sockaddr*)&sa, sl,
- textaddr, textaddrlen,
+ textaddr,
addr, addrlen
TSRMLS_CC);
return 0;
@@ -677,7 +680,7 @@ PHPAPI int php_network_get_peer_name(php_socket_t sock,
}
PHPAPI int php_network_get_sock_name(php_socket_t sock,
- char **textaddr, long *textaddrlen,
+ zend_string **textaddr,
struct sockaddr **addr,
socklen_t *addrlen
TSRMLS_DC)
@@ -688,7 +691,7 @@ PHPAPI int php_network_get_sock_name(php_socket_t sock,
if (getsockname(sock, (struct sockaddr*)&sa, &sl) == 0) {
php_network_populate_name_from_sockaddr((struct sockaddr*)&sa, sl,
- textaddr, textaddrlen,
+ textaddr,
addr, addrlen
TSRMLS_CC);
return 0;
@@ -702,17 +705,17 @@ PHPAPI int php_network_get_sock_name(php_socket_t sock,
* using an optional timeout.
* Returns the peer address in addr/addrlen (it will emalloc
* these, so be sure to efree the result).
- * If you specify textaddr/textaddrlen, a text-printable
+ * If you specify textaddr, a text-printable
* version of the address will be emalloc'd and returned.
* */
/* {{{ php_network_accept_incoming */
PHPAPI php_socket_t php_network_accept_incoming(php_socket_t srvsock,
- char **textaddr, long *textaddrlen,
+ zend_string **textaddr,
struct sockaddr **addr,
socklen_t *addrlen,
struct timeval *timeout,
- char **error_string,
+ zend_string **error_string,
int *error_code
TSRMLS_DC)
{
@@ -734,7 +737,7 @@ PHPAPI php_socket_t php_network_accept_incoming(php_socket_t srvsock,
if (clisock != SOCK_ERR) {
php_network_populate_name_from_sockaddr((struct sockaddr*)&sa, sl,
- textaddr, textaddrlen,
+ textaddr,
addr, addrlen
TSRMLS_CC);
} else {
@@ -746,7 +749,7 @@ PHPAPI php_socket_t php_network_accept_incoming(php_socket_t srvsock,
*error_code = error;
}
if (error_string) {
- *error_string = php_socket_strerror(error, NULL, 0);
+ *error_string = php_socket_error_str(error);
}
return clisock;
@@ -763,8 +766,8 @@ PHPAPI php_socket_t php_network_accept_incoming(php_socket_t srvsock,
/* {{{ php_network_connect_socket_to_host */
php_socket_t php_network_connect_socket_to_host(const char *host, unsigned short port,
- int socktype, int asynchronous, struct timeval *timeout, char **error_string,
- int *error_code, char *bindto, unsigned short bindport
+ int socktype, int asynchronous, struct timeval *timeout, zend_string **error_string,
+ int *error_code, char *bindto, unsigned short bindport, long sockopts
TSRMLS_DC)
{
int num_addrs, n, fatal = 0;
@@ -866,6 +869,7 @@ php_socket_t php_network_connect_socket_to_host(const char *host, unsigned short
}
}
#endif
+
if (!local_address || bind(sock, local_address, local_address_len)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "failed to bind to '%s:%d', system said: %s", bindto, bindport, strerror(errno));
}
@@ -876,10 +880,18 @@ skip_bind:
}
/* free error string received during previous iteration (if any) */
if (error_string && *error_string) {
- efree(*error_string);
+ STR_RELEASE(*error_string);
*error_string = NULL;
}
+#ifdef SO_BROADCAST
+ {
+ int val = 1;
+ if (sockopts & STREAM_SOCKOP_SO_BROADCAST) {
+ setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char*)&val, sizeof(val));
+ }
+ }
+#endif
n = php_network_connect_socket(sock, sa, socklen, asynchronous,
timeout ? &working_timeout : NULL,
error_string, error_code);
@@ -1029,6 +1041,44 @@ PHPAPI char *php_socket_strerror(long err, char *buf, size_t bufsize)
}
/* }}} */
+/* {{{ php_socket_error_str */
+PHPAPI zend_string *php_socket_error_str(long err)
+{
+#ifndef PHP_WIN32
+ char *errstr;
+
+ errstr = strerror(err);
+ return STR_INIT(errstr, strlen(errstr), 0);
+#else
+ zend_string *ret;
+ char *sysbuf;
+ int free_it = 1;
+
+ if (!FormatMessage(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL,
+ err,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPTSTR)&sysbuf,
+ 0,
+ NULL)) {
+ free_it = 0;
+ sysbuf = "Unknown Error";
+ }
+
+ ret = STR_INIT(sysbuf, strlen(sysbuf), 0);
+
+ if (free_it) {
+ LocalFree(sysbuf);
+ }
+
+ return ret;
+#endif
+}
+/* }}} */
+
/* deprecated */
PHPAPI php_stream *_php_stream_sock_open_from_socket(php_socket_t socket, const char *persistent_id STREAMS_DC TSRMLS_DC)
{
diff --git a/main/output.c b/main/output.c
index 2531dee2ab..41b2c65cdf 100644
--- a/main/output.c
+++ b/main/output.c
@@ -55,7 +55,7 @@ static HashTable php_output_handler_reverse_conflicts;
static inline int php_output_lock_error(int op TSRMLS_DC);
static inline void php_output_op(int op, const char *str, size_t len TSRMLS_DC);
-static inline php_output_handler *php_output_handler_init(const char *name, size_t name_len, size_t chunk_size, int flags TSRMLS_DC);
+static inline php_output_handler *php_output_handler_init(zend_string *name, size_t chunk_size, int flags TSRMLS_DC);
static inline php_output_handler_status_t php_output_handler_op(php_output_handler *handler, php_output_context *context);
static inline int php_output_handler_append(php_output_handler *handler, const php_output_buffer *buf TSRMLS_DC);
static inline zval *php_output_handler_status(php_output_handler *handler, zval *entry);
@@ -508,7 +508,7 @@ PHPAPI php_output_handler *php_output_handler_create_user(zval *output_handler,
default:
user = ecalloc(1, sizeof(php_output_handler_user_func_t));
if (SUCCESS == zend_fcall_info_init(output_handler, 0, &user->fci, &user->fcc, &handler_name, &error TSRMLS_CC)) {
- handler = php_output_handler_init(handler_name->val, handler_name->len, chunk_size, (flags & ~0xf) | PHP_OUTPUT_HANDLER_USER TSRMLS_CC);
+ handler = php_output_handler_init(handler_name, chunk_size, (flags & ~0xf) | PHP_OUTPUT_HANDLER_USER TSRMLS_CC);
ZVAL_COPY(&user->zoh, output_handler);
handler->func.user = user;
} else {
@@ -532,9 +532,11 @@ PHPAPI php_output_handler *php_output_handler_create_user(zval *output_handler,
PHPAPI php_output_handler *php_output_handler_create_internal(const char *name, size_t name_len, php_output_handler_context_func_t output_handler, size_t chunk_size, int flags TSRMLS_DC)
{
php_output_handler *handler;
+ zend_string *str = STR_INIT(name, name_len, 1);
- handler = php_output_handler_init(name, name_len, chunk_size, (flags & ~0xf) | PHP_OUTPUT_HANDLER_INTERNAL TSRMLS_CC);
+ handler = php_output_handler_init(str, chunk_size, (flags & ~0xf) | PHP_OUTPUT_HANDLER_INTERNAL TSRMLS_CC);
handler->func.internal = output_handler;
+ STR_RELEASE(str);
return handler;
}
@@ -563,17 +565,17 @@ PHPAPI int php_output_handler_start(php_output_handler *handler TSRMLS_DC)
if (php_output_lock_error(PHP_OUTPUT_HANDLER_START TSRMLS_CC) || !handler) {
return FAILURE;
}
- if (NULL != (conflict = zend_hash_str_find_ptr(&php_output_handler_conflicts, handler->name, handler->name_len))) {
- if (SUCCESS != conflict(handler->name, handler->name_len TSRMLS_CC)) {
+ if (NULL != (conflict = zend_hash_find_ptr(&php_output_handler_conflicts, handler->name))) {
+ if (SUCCESS != conflict(handler->name->val, handler->name->len TSRMLS_CC)) {
return FAILURE;
}
}
- if (NULL != (rconflicts = zend_hash_str_find_ptr(&php_output_handler_reverse_conflicts, handler->name, handler->name_len))) {
+ if (NULL != (rconflicts = zend_hash_find_ptr(&php_output_handler_reverse_conflicts, handler->name))) {
for (zend_hash_internal_pointer_reset_ex(rconflicts, &pos);
(conflict = zend_hash_get_current_data_ptr_ex(rconflicts, &pos)) != NULL;
zend_hash_move_forward_ex(rconflicts, &pos)
) {
- if (SUCCESS != conflict(handler->name, handler->name_len TSRMLS_CC)) {
+ if (SUCCESS != conflict(handler->name->val, handler->name->len TSRMLS_CC)) {
return FAILURE;
}
}
@@ -596,7 +598,7 @@ PHPAPI int php_output_handler_started(const char *name, size_t name_len TSRMLS_D
handlers = (php_output_handler **) zend_stack_base(&OG(handlers));
for (i = 0; i < count; ++i) {
- if (name_len == handlers[i]->name_len && !memcmp(handlers[i]->name, name, name_len)) {
+ if (name_len == handlers[i]->name->len && !memcmp(handlers[i]->name->val, name, name_len)) {
return 1;
}
}
@@ -715,10 +717,12 @@ PHPAPI int php_output_handler_hook(php_output_handler_hook_t type, void *arg TSR
* Destroy an output handler */
PHPAPI void php_output_handler_dtor(php_output_handler *handler TSRMLS_DC)
{
-//??? STR_FREE(handler->name);
- if (handler->name) efree(handler->name);
-//??? STR_FREE(handler->buffer.data);
- if (handler->buffer.data) efree(handler->buffer.data);
+ if (handler->name) {
+ STR_RELEASE(handler->name);
+ }
+ if (handler->buffer.data) {
+ efree(handler->buffer.data);
+ }
if (handler->flags & PHP_OUTPUT_HANDLER_USER) {
zval_ptr_dtor(&handler->func.user->zoh);
efree(handler->func.user);
@@ -876,13 +880,12 @@ static inline void php_output_context_dtor(php_output_context *context)
/* {{{ static php_output_handler *php_output_handler_init(zval *name, size_t chunk_size, int flags TSRMLS_DC)
* Allocates and initializes a php_output_handler structure */
-static inline php_output_handler *php_output_handler_init(const char *name, size_t name_len, size_t chunk_size, int flags TSRMLS_DC)
+static inline php_output_handler *php_output_handler_init(zend_string *name, size_t chunk_size, int flags TSRMLS_DC)
{
php_output_handler *handler;
handler = ecalloc(1, sizeof(php_output_handler));
- handler->name = estrndup(name, name_len);
- handler->name_len = name_len;
+ handler->name = STR_COPY(name);
handler->size = chunk_size;
handler->flags = flags;
handler->buffer.size = PHP_OUTPUT_HANDLER_INITBUF_SIZE(chunk_size);
@@ -992,8 +995,6 @@ static inline php_output_handler_status_t php_output_handler_op(php_output_handl
}
zend_fcall_info_argn(&handler->func.user->fci TSRMLS_CC, 0);
-//??? zval_ptr_dtor(&ob_data);
-//??? zval_ptr_dtor(&ob_mode);
zval_ptr_dtor(&retval);
} else {
@@ -1171,7 +1172,7 @@ static int php_output_stack_apply_list(void *h, void *z)
php_output_handler *handler = *(php_output_handler **) h;
zval *array = (zval *) z;
- add_next_index_stringl(array, handler->name, handler->name_len);
+ add_next_index_str(array, STR_COPY(handler->name));
return 0;
}
/* }}} */
@@ -1195,7 +1196,7 @@ static inline zval *php_output_handler_status(php_output_handler *handler, zval
ZEND_ASSERT(entry != NULL);
array_init(entry);
- add_assoc_stringl(entry, "name", handler->name, handler->name_len);
+ add_assoc_str(entry, "name", STR_COPY(handler->name));
add_assoc_long(entry, "type", (long) (handler->flags & 0xf));
add_assoc_long(entry, "flags", (long) handler->flags);
add_assoc_long(entry, "level", (long) handler->level);
@@ -1221,7 +1222,7 @@ static inline int php_output_stack_pop(int flags TSRMLS_DC)
return 0;
} else if (!(flags & PHP_OUTPUT_POP_FORCE) && !(orphan->flags & PHP_OUTPUT_HANDLER_REMOVABLE)) {
if (!(flags & PHP_OUTPUT_POP_SILENT)) {
- php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to %s buffer of %s (%d)", (flags&PHP_OUTPUT_POP_DISCARD)?"discard":"send", orphan->name, orphan->level);
+ php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to %s buffer of %s (%d)", (flags&PHP_OUTPUT_POP_DISCARD)?"discard":"send", orphan->name->val, orphan->level);
}
return 0;
} else {
@@ -1348,7 +1349,7 @@ PHP_FUNCTION(ob_flush)
}
if (SUCCESS != php_output_flush(TSRMLS_C)) {
- php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to flush buffer of %s (%d)", OG(active)->name, OG(active)->level);
+ php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to flush buffer of %s (%d)", OG(active)->name->val, OG(active)->level);
RETURN_FALSE;
}
RETURN_TRUE;
@@ -1369,7 +1370,7 @@ PHP_FUNCTION(ob_clean)
}
if (SUCCESS != php_output_clean(TSRMLS_C)) {
- php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer of %s (%d)", OG(active)->name, OG(active)->level);
+ php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer of %s (%d)", OG(active)->name->val, OG(active)->level);
RETURN_FALSE;
}
RETURN_TRUE;
@@ -1424,7 +1425,7 @@ PHP_FUNCTION(ob_get_flush)
}
if (SUCCESS != php_output_end(TSRMLS_C)) {
- php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer of %s (%d)", OG(active)->name, OG(active)->level);
+ php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer of %s (%d)", OG(active)->name->val, OG(active)->level);
}
}
/* }}} */
@@ -1447,7 +1448,7 @@ PHP_FUNCTION(ob_get_clean)
}
if (SUCCESS != php_output_discard(TSRMLS_C)) {
- php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer of %s (%d)", OG(active)->name, OG(active)->level);
+ php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to delete buffer of %s (%d)", OG(active)->name->val, OG(active)->level);
}
}
/* }}} */
diff --git a/main/php_network.h b/main/php_network.h
index d69bba308a..3a0062c437 100644
--- a/main/php_network.h
+++ b/main/php_network.h
@@ -63,6 +63,7 @@
* Also works sensibly for win32 */
BEGIN_EXTERN_C()
PHPAPI char *php_socket_strerror(long err, char *buf, size_t bufsize);
+PHPAPI zend_string *php_socket_error_str(long err);
END_EXTERN_C()
#ifdef HAVE_NETINET_IN_H
@@ -105,6 +106,11 @@ typedef int php_socket_t;
# define SOCK_RECV_ERR -1
#endif
+#define STREAM_SOCKOP_NONE 1 << 0
+#define STREAM_SOCKOP_SO_REUSEPORT 1 << 1
+#define STREAM_SOCKOP_SO_BROADCAST 1 << 2
+
+
/* uncomment this to debug poll(2) emulation on systems that have poll(2) */
/* #define PHP_USE_POLL_2_EMULATION 1 */
@@ -224,12 +230,12 @@ typedef struct {
#endif
BEGIN_EXTERN_C()
-PHPAPI int php_network_getaddresses(const char *host, int socktype, struct sockaddr ***sal, char **error_string TSRMLS_DC);
+PHPAPI int php_network_getaddresses(const char *host, int socktype, struct sockaddr ***sal, zend_string **error_string TSRMLS_DC);
PHPAPI void php_network_freeaddresses(struct sockaddr **sal);
PHPAPI php_socket_t php_network_connect_socket_to_host(const char *host, unsigned short port,
- int socktype, int asynchronous, struct timeval *timeout, char **error_string,
- int *error_code, char *bindto, unsigned short bindport
+ int socktype, int asynchronous, struct timeval *timeout, zend_string **error_string,
+ int *error_code, char *bindto, unsigned short bindport, long sockopts
TSRMLS_DC);
PHPAPI int php_network_connect_socket(php_socket_t sockfd,
@@ -237,33 +243,33 @@ PHPAPI int php_network_connect_socket(php_socket_t sockfd,
socklen_t addrlen,
int asynchronous,
struct timeval *timeout,
- char **error_string,
+ zend_string **error_string,
int *error_code);
#define php_connect_nonb(sock, addr, addrlen, timeout) \
php_network_connect_socket((sock), (addr), (addrlen), 0, (timeout), NULL, NULL)
PHPAPI php_socket_t php_network_bind_socket_to_local_addr(const char *host, unsigned port,
- int socktype, char **error_string, int *error_code
+ int socktype, long sockopts, zend_string **error_string, int *error_code
TSRMLS_DC);
PHPAPI php_socket_t php_network_accept_incoming(php_socket_t srvsock,
- char **textaddr, long *textaddrlen,
+ zend_string **textaddr,
struct sockaddr **addr,
socklen_t *addrlen,
struct timeval *timeout,
- char **error_string,
+ zend_string **error_string,
int *error_code
TSRMLS_DC);
PHPAPI int php_network_get_sock_name(php_socket_t sock,
- char **textaddr, long *textaddrlen,
+ zend_string **textaddr,
struct sockaddr **addr,
socklen_t *addrlen
TSRMLS_DC);
PHPAPI int php_network_get_peer_name(php_socket_t sock,
- char **textaddr, long *textaddrlen,
+ zend_string **textaddr,
struct sockaddr **addr,
socklen_t *addrlen
TSRMLS_DC);
@@ -293,7 +299,7 @@ PHPAPI void php_network_populate_name_from_sockaddr(
/* input address */
struct sockaddr *sa, socklen_t sl,
/* output readable address */
- char **textaddr, long *textaddrlen,
+ zend_string **textaddr,
/* output address */
struct sockaddr **addr,
socklen_t *addrlen
diff --git a/main/php_output.h b/main/php_output.h
index 45af14f6a5..f8b961c7c3 100644
--- a/main/php_output.h
+++ b/main/php_output.h
@@ -127,8 +127,7 @@ typedef struct _php_output_handler_user_func_t {
} php_output_handler_user_func_t;
typedef struct _php_output_handler {
- char *name;
- size_t name_len;
+ zend_string *name;
int flags;
int level;
size_t size;
diff --git a/main/php_streams.h b/main/php_streams.h
index 2a142b99c2..38215a67b0 100644
--- a/main/php_streams.h
+++ b/main/php_streams.h
@@ -202,12 +202,10 @@ struct _php_stream {
* PHP_STREAM_FCLOSE_XXX as appropriate */
int fclose_stdiocast;
FILE *stdiocast; /* cache this, otherwise we might leak! */
-#if ZEND_DEBUG
int __exposed; /* non-zero if exposed as a zval somewhere */
-#endif
char *orig_path;
- php_stream_context *context;
+ zend_resource *ctx;
int flags; /* PHP_STREAM_FLAG_XXX */
/* buffer */
@@ -230,6 +228,9 @@ struct _php_stream {
struct _php_stream *enclosing_stream; /* this is a private stream owned by enclosing_stream */
}; /* php_stream */
+#define PHP_STREAM_CONTEXT(stream) \
+ ((php_stream_context*) ((stream)->ctx ? ((stream)->ctx->ptr) : NULL))
+
/* state definitions when closing down; these are private to streams.c */
#define PHP_STREAM_FCLOSE_NONE 0
#define PHP_STREAM_FCLOSE_FDOPEN 1
@@ -243,17 +244,12 @@ END_EXTERN_C()
#define php_stream_alloc(ops, thisptr, persistent_id, mode) _php_stream_alloc((ops), (thisptr), (persistent_id), (mode) STREAMS_CC TSRMLS_CC)
#define php_stream_get_resource_id(stream) ((php_stream *)(stream))->res->handle
-#if ZEND_DEBUG
/* use this to tell the stream that it is OK if we don't explicitly close it */
-# define php_stream_auto_cleanup(stream) { (stream)->__exposed++; }
+#define php_stream_auto_cleanup(stream) { (stream)->__exposed++; }
/* use this to assign the stream to a zval and tell the stream that is
* has been exported to the engine; it will expect to be closed automatically
* when the resources are auto-destructed */
-# define php_stream_to_zval(stream, zval) { ZVAL_RES(zval, (stream)->res); (stream)->__exposed++; }
-#else
-# define php_stream_auto_cleanup(stream) /* nothing */
-# define php_stream_to_zval(stream, zval) { ZVAL_RES(zval, (stream)->res); }
-#endif
+#define php_stream_to_zval(stream, zval) { ZVAL_RES(zval, (stream)->res); (stream)->__exposed++; }
#define php_stream_from_zval(xstr, pzval) ZEND_FETCH_RESOURCE2((xstr), php_stream *, (pzval), -1, "stream", php_file_le_stream(), php_file_le_pstream())
#define php_stream_from_zval_no_verify(xstr, pzval) (xstr) = (php_stream*)zend_fetch_resource((pzval) TSRMLS_CC, -1, "stream", NULL, 2, php_file_le_stream(), php_file_le_pstream())
diff --git a/main/snprintf.c b/main/snprintf.c
index f26206d851..914cac7133 100644
--- a/main/snprintf.c
+++ b/main/snprintf.c
@@ -781,9 +781,10 @@ static int format_converter(register buffy * odp, const char *fmt, va_list ap) /
* It is reset to ' ' by non-numeric formats
*/
switch (*fmt) {
- case 'Z':
- zvp = (zval*) va_arg(ap, zval*);
- free_zcopy = zend_make_printable_zval(zvp, &zcopy);
+ case 'Z': {
+ TSRMLS_FETCH();
+ zvp = (zval*) va_arg(ap, zval*);
+ free_zcopy = zend_make_printable_zval(zvp, &zcopy TSRMLS_CC);
if (free_zcopy) {
zvp = &zcopy;
}
@@ -791,8 +792,9 @@ static int format_converter(register buffy * odp, const char *fmt, va_list ap) /
s = Z_STRVAL_P(zvp);
if (adjust_precision && precision < s_len) {
s_len = precision;
- }
+ }
break;
+ }
case 'u':
switch(modifier) {
default:
diff --git a/main/spprintf.c b/main/spprintf.c
index 12027f756e..079089c0fc 100644
--- a/main/spprintf.c
+++ b/main/spprintf.c
@@ -389,9 +389,10 @@ static void xbuf_format_converter(void *xbuf, zend_bool is_char, const char *fmt
* It is reset to ' ' by non-numeric formats
*/
switch (*fmt) {
- case 'Z':
+ case 'Z': {
+ TSRMLS_FETCH();
zvp = (zval*) va_arg(ap, zval*);
- free_zcopy = zend_make_printable_zval(zvp, &zcopy);
+ free_zcopy = zend_make_printable_zval(zvp, &zcopy TSRMLS_CC);
if (free_zcopy) {
zvp = &zcopy;
}
@@ -401,6 +402,7 @@ static void xbuf_format_converter(void *xbuf, zend_bool is_char, const char *fmt
s_len = precision;
}
break;
+ }
case 'u':
switch(modifier) {
default:
diff --git a/main/streams/filter.c b/main/streams/filter.c
index d2411c928a..a74802eb14 100644
--- a/main/streams/filter.c
+++ b/main/streams/filter.c
@@ -60,7 +60,6 @@ PHPAPI int php_stream_filter_register_factory_volatile(const char *filterpattern
if (!FG(stream_filters)) {
ALLOC_HASHTABLE(FG(stream_filters));
zend_hash_init(FG(stream_filters), zend_hash_num_elements(&stream_filters_hash), NULL, NULL, 1);
-//??? zend_hash_copy(FG(stream_filters), &stream_filters_hash, NULL, &tmpfactory, sizeof(php_stream_filter_factory));
zend_hash_copy(FG(stream_filters), &stream_filters_hash, NULL);
}
diff --git a/main/streams/php_stream_transport.h b/main/streams/php_stream_transport.h
index dc10eb4e92..a6797ed898 100644
--- a/main/streams/php_stream_transport.h
+++ b/main/streams/php_stream_transport.h
@@ -50,7 +50,7 @@ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, in
int flags, const char *persistent_id,
struct timeval *timeout,
php_stream_context *context,
- char **error_string,
+ zend_string **error_string,
int *error_code
STREAMS_DC TSRMLS_DC);
@@ -60,7 +60,7 @@ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, in
/* Bind the stream to a local address */
PHPAPI int php_stream_xport_bind(php_stream *stream,
const char *name, size_t namelen,
- char **error_text
+ zend_string **error_text
TSRMLS_DC);
/* Connect to a remote address */
@@ -68,28 +68,28 @@ PHPAPI int php_stream_xport_connect(php_stream *stream,
const char *name, size_t namelen,
int asynchronous,
struct timeval *timeout,
- char **error_text,
+ zend_string **error_text,
int *error_code
TSRMLS_DC);
/* Prepare to listen */
PHPAPI int php_stream_xport_listen(php_stream *stream,
int backlog,
- char **error_text
+ zend_string **error_text
TSRMLS_DC);
/* Get the next client and their address as a string, or the underlying address
* structure. You must efree either of these if you request them */
PHPAPI int php_stream_xport_accept(php_stream *stream, php_stream **client,
- char **textaddr, int *textaddrlen,
+ zend_string **textaddr,
void **addr, socklen_t *addrlen,
struct timeval *timeout,
- char **error_text
+ zend_string **error_text
TSRMLS_DC);
/* Get the name of either the socket or it's peer */
PHPAPI int php_stream_xport_get_name(php_stream *stream, int want_peer,
- char **textaddr, int *textaddrlen,
+ zend_string **textaddr,
void **addr, socklen_t *addrlen
TSRMLS_DC);
@@ -102,7 +102,7 @@ enum php_stream_xport_send_recv_flags {
* peeking, optionally retrieving OOB data */
PHPAPI int php_stream_xport_recvfrom(php_stream *stream, char *buf, size_t buflen,
long flags, void **addr, socklen_t *addrlen,
- char **textaddr, int *textaddrlen TSRMLS_DC);
+ zend_string **textaddr TSRMLS_DC);
/* Similar to send() system call; send data to the stream, optionally
* sending it as OOB data */
@@ -155,10 +155,8 @@ typedef struct _php_stream_xport_param {
int returncode;
struct sockaddr *addr;
socklen_t addrlen;
- char *textaddr;
- long textaddrlen;
-
- char *error_text;
+ zend_string *textaddr;
+ zend_string *error_text;
int error_code;
} outputs;
} php_stream_xport_param;
diff --git a/main/streams/streams.c b/main/streams/streams.c
index f305fe8044..89537bdaeb 100644
--- a/main/streams/streams.c
+++ b/main/streams/streams.c
@@ -91,11 +91,11 @@ fprintf(stderr, "forget_persistent: %s:%p\n", stream->ops->label, stream);
stream->res = NULL;
- if (stream->context) {
+ if (PHP_STREAM_CONTEXT(stream)) {
zend_hash_apply_with_argument(&EG(regular_list),
_php_stream_release_context,
- stream->context TSRMLS_CC);
- stream->context = NULL;
+ PHP_STREAM_CONTEXT(stream) TSRMLS_CC);
+ stream->ctx = NULL;
}
return 0;
@@ -333,7 +333,7 @@ fprintf(stderr, "stream_alloc: %s:%p persistent=%s\n", ops->label, ret, persiste
ZVAL_UNDEF(&ret->wrapperdata);
ret->stdiocast = NULL;
ret->orig_path = NULL;
- ret->context = NULL;
+ ret->ctx = NULL;
ret->readbuf = NULL;
ret->enclosing_stream = NULL;
@@ -387,7 +387,7 @@ PHPAPI int _php_stream_free(php_stream *stream, int close_options TSRMLS_DC) /*
* already been freed (if it was created after the stream resource), so
* don't reference it */
if (EG(active)) {
- context = stream->context;
+ context = PHP_STREAM_CONTEXT(stream);
}
if (stream->flags & PHP_STREAM_FLAG_NO_CLOSE) {
@@ -466,6 +466,10 @@ fprintf(stderr, "stream_free: %s:%p[%s] preserve_handle=%d release_cast=%d remov
//??? while (zend_list_delete(stream->res) == SUCCESS) {}
//??? stream->res->gc.refcount = 0;
zend_list_close(stream->res);
+ if (!stream->__exposed) {
+ zend_list_delete(stream->res);
+ stream->res = NULL;
+ }
}
if (close_options & PHP_STREAM_FREE_CALL_DTOR) {
@@ -2163,12 +2167,13 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mod
/* {{{ context API */
PHPAPI php_stream_context *php_stream_context_set(php_stream *stream, php_stream_context *context TSRMLS_DC)
{
- php_stream_context *oldcontext = stream->context;
-
- stream->context = context;
+ php_stream_context *oldcontext = PHP_STREAM_CONTEXT(stream);
if (context) {
+ stream->ctx = context->res;
GC_REFCOUNT(context->res)++;
+ } else {
+ stream->ctx = NULL;
}
if (oldcontext) {
zend_list_delete(oldcontext->res);
diff --git a/main/streams/transports.c b/main/streams/transports.c
index 4f4832df2d..7792e24fef 100644
--- a/main/streams/transports.c
+++ b/main/streams/transports.c
@@ -40,20 +40,20 @@ PHPAPI int php_stream_xport_unregister(const char *protocol TSRMLS_DC)
}
#define ERR_REPORT(out_err, fmt, arg) \
- if (out_err) { spprintf(out_err, 0, fmt, arg); } \
+ if (out_err) { *out_err = strpprintf(0, fmt, arg); } \
else { php_error_docref(NULL TSRMLS_CC, E_WARNING, fmt, arg); }
#define ERR_RETURN(out_err, local_err, fmt) \
if (out_err) { *out_err = local_err; } \
- else { php_error_docref(NULL TSRMLS_CC, E_WARNING, fmt, local_err ? local_err : "Unspecified error"); \
- if (local_err) { efree(local_err); local_err = NULL; } \
+ else { php_error_docref(NULL TSRMLS_CC, E_WARNING, fmt, local_err ? local_err->val : "Unspecified error"); \
+ if (local_err) { STR_RELEASE(local_err); local_err = NULL; } \
}
PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, int options,
int flags, const char *persistent_id,
struct timeval *timeout,
php_stream_context *context,
- char **error_string,
+ zend_string **error_string,
int *error_code
STREAMS_DC TSRMLS_DC)
{
@@ -61,7 +61,7 @@ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, in
php_stream_transport_factory factory = NULL;
const char *p, *protocol = NULL;
int n = 0, failed = 0;
- char *error_text = NULL;
+ zend_string *error_text = NULL;
struct timeval default_timeout = { 0, 0 };
default_timeout.tv_sec = FG(default_socket_timeout);
@@ -160,7 +160,7 @@ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, in
zval *zbacklog = NULL;
int backlog = 32;
- if (stream->context && (zbacklog = php_stream_context_get_option(stream->context, "socket", "backlog")) != NULL) {
+ if (PHP_STREAM_CONTEXT(stream) && (zbacklog = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "socket", "backlog")) != NULL) {
zval *ztmp = zbacklog;
convert_to_long_ex(ztmp);
@@ -195,7 +195,7 @@ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, in
/* Bind the stream to a local address */
PHPAPI int php_stream_xport_bind(php_stream *stream,
const char *name, size_t namelen,
- char **error_text
+ zend_string **error_text
TSRMLS_DC)
{
php_stream_xport_param param;
@@ -225,7 +225,7 @@ PHPAPI int php_stream_xport_connect(php_stream *stream,
const char *name, size_t namelen,
int asynchronous,
struct timeval *timeout,
- char **error_text,
+ zend_string **error_text,
int *error_code
TSRMLS_DC)
{
@@ -257,7 +257,7 @@ PHPAPI int php_stream_xport_connect(php_stream *stream,
}
/* Prepare to listen */
-PHPAPI int php_stream_xport_listen(php_stream *stream, int backlog, char **error_text TSRMLS_DC)
+PHPAPI int php_stream_xport_listen(php_stream *stream, int backlog, zend_string **error_text TSRMLS_DC)
{
php_stream_xport_param param;
int ret;
@@ -282,10 +282,10 @@ PHPAPI int php_stream_xport_listen(php_stream *stream, int backlog, char **error
/* Get the next client and their address (as a string) */
PHPAPI int php_stream_xport_accept(php_stream *stream, php_stream **client,
- char **textaddr, int *textaddrlen,
+ zend_string **textaddr,
void **addr, socklen_t *addrlen,
struct timeval *timeout,
- char **error_text
+ zend_string **error_text
TSRMLS_DC)
{
php_stream_xport_param param;
@@ -309,7 +309,6 @@ PHPAPI int php_stream_xport_accept(php_stream *stream, php_stream **client,
}
if (textaddr) {
*textaddr = param.outputs.textaddr;
- *textaddrlen = param.outputs.textaddrlen;
}
if (error_text) {
*error_text = param.outputs.error_text;
@@ -321,7 +320,7 @@ PHPAPI int php_stream_xport_accept(php_stream *stream, php_stream **client,
}
PHPAPI int php_stream_xport_get_name(php_stream *stream, int want_peer,
- char **textaddr, int *textaddrlen,
+ zend_string **textaddr,
void **addr, socklen_t *addrlen
TSRMLS_DC)
{
@@ -343,7 +342,6 @@ PHPAPI int php_stream_xport_get_name(php_stream *stream, int want_peer,
}
if (textaddr) {
*textaddr = param.outputs.textaddr;
- *textaddrlen = param.outputs.textaddrlen;
}
return param.outputs.returncode;
@@ -395,7 +393,7 @@ PHPAPI int php_stream_xport_crypto_enable(php_stream *stream, int activate TSRML
/* Similar to recv() system call; read data from the stream, optionally
* peeking, optionally retrieving OOB data */
PHPAPI int php_stream_xport_recvfrom(php_stream *stream, char *buf, size_t buflen,
- long flags, void **addr, socklen_t *addrlen, char **textaddr, int *textaddrlen
+ long flags, void **addr, socklen_t *addrlen, zend_string **textaddr
TSRMLS_DC)
{
php_stream_xport_param param;
@@ -455,7 +453,6 @@ PHPAPI int php_stream_xport_recvfrom(php_stream *stream, char *buf, size_t bufle
}
if (textaddr) {
*textaddr = param.outputs.textaddr;
- *textaddrlen = param.outputs.textaddrlen;
}
return recvd_len + param.outputs.returncode;
}
diff --git a/main/streams/userspace.c b/main/streams/userspace.c
index a759f3da24..c41826155c 100644
--- a/main/streams/userspace.c
+++ b/main/streams/userspace.c
@@ -285,7 +285,6 @@ static void user_stream_create_object(struct php_user_stream_wrapper *uwrap, php
{
/* create an instance of our class */
object_init_ex(object, uwrap->ce);
-//??? Z_SET_ISREF_P(object);
if (context) {
add_property_resource(object, "context", context->res);
@@ -385,8 +384,8 @@ static php_stream *user_wrapper_opener(php_stream_wrapper *wrapper, const char *
stream = php_stream_alloc_rel(&php_stream_userspace_ops, us, 0, mode);
/* if the opened path is set, copy it out */
- if (Z_ISREF(args[4]) && Z_TYPE_P(Z_REFVAL(args[4])) == IS_STRING && opened_path) {
- *opened_path = estrndup(Z_STRVAL_P(Z_REFVAL(args[4])), Z_STRLEN_P(Z_REFVAL(args[4])));
+ if (Z_ISREF(args[3]) && Z_TYPE_P(Z_REFVAL(args[3])) == IS_STRING && opened_path) {
+ *opened_path = estrndup(Z_STRVAL_P(Z_REFVAL(args[3])), Z_STRLEN_P(Z_REFVAL(args[3])));
}
/* set wrapper data to be a reference to our object */
@@ -1121,7 +1120,6 @@ static int user_wrapper_unlink(php_stream_wrapper *wrapper, const char *url, int
zval_ptr_dtor(&zretval);
zval_ptr_dtor(&zfuncname);
- zval_ptr_dtor(&args[1]);
zval_ptr_dtor(&args[0]);
return ret;
diff --git a/main/streams/xp_socket.c b/main/streams/xp_socket.c
index b4799d48a8..dad78beb13 100644
--- a/main/streams/xp_socket.c
+++ b/main/streams/xp_socket.c
@@ -101,7 +101,7 @@ retry:
}
if (didwrite > 0) {
- php_stream_notify_progress_increment(stream->context, didwrite, 0);
+ php_stream_notify_progress_increment(PHP_STREAM_CONTEXT(stream), didwrite, 0);
}
if (didwrite < 0) {
@@ -161,7 +161,7 @@ static size_t php_sockop_read(php_stream *stream, char *buf, size_t count TSRMLS
stream->eof = (nr_bytes == 0 || (nr_bytes == -1 && php_socket_errno() != EWOULDBLOCK));
if (nr_bytes > 0) {
- php_stream_notify_progress_increment(stream->context, nr_bytes, 0);
+ php_stream_notify_progress_increment(PHP_STREAM_CONTEXT(stream), nr_bytes, 0);
}
if (nr_bytes < 0) {
@@ -247,7 +247,7 @@ static inline int sock_sendto(php_netstream_data_t *sock, const char *buf, size_
}
static inline int sock_recvfrom(php_netstream_data_t *sock, char *buf, size_t buflen, int flags,
- char **textaddr, long *textaddrlen,
+ zend_string **textaddr,
struct sockaddr **addr, socklen_t *addrlen
TSRMLS_DC)
{
@@ -260,7 +260,7 @@ static inline int sock_recvfrom(php_netstream_data_t *sock, char *buf, size_t bu
ret = recvfrom(sock->socket, buf, buflen, flags, (struct sockaddr*)&sa, &sl);
ret = (ret == SOCK_CONN_ERR) ? -1 : ret;
php_network_populate_name_from_sockaddr((struct sockaddr*)&sa, sl,
- textaddr, textaddrlen, addr, addrlen TSRMLS_CC);
+ textaddr, addr, addrlen TSRMLS_CC);
} else {
ret = recv(sock->socket, buf, buflen, flags);
ret = (ret == SOCK_CONN_ERR) ? -1 : ret;
@@ -338,7 +338,6 @@ static int php_sockop_set_option(php_stream *stream, int option, int value, void
case STREAM_XPORT_OP_GET_NAME:
xparam->outputs.returncode = php_network_get_sock_name(sock->socket,
xparam->want_textaddr ? &xparam->outputs.textaddr : NULL,
- xparam->want_textaddr ? &xparam->outputs.textaddrlen : NULL,
xparam->want_addr ? &xparam->outputs.addr : NULL,
xparam->want_addr ? &xparam->outputs.addrlen : NULL
TSRMLS_CC);
@@ -347,7 +346,6 @@ static int php_sockop_set_option(php_stream *stream, int option, int value, void
case STREAM_XPORT_OP_GET_PEER_NAME:
xparam->outputs.returncode = php_network_get_peer_name(sock->socket,
xparam->want_textaddr ? &xparam->outputs.textaddr : NULL,
- xparam->want_textaddr ? &xparam->outputs.textaddrlen : NULL,
xparam->want_addr ? &xparam->outputs.addr : NULL,
xparam->want_addr ? &xparam->outputs.addrlen : NULL
TSRMLS_CC);
@@ -383,7 +381,6 @@ static int php_sockop_set_option(php_stream *stream, int option, int value, void
xparam->inputs.buf, xparam->inputs.buflen,
flags,
xparam->want_textaddr ? &xparam->outputs.textaddr : NULL,
- xparam->want_textaddr ? &xparam->outputs.textaddrlen : NULL,
xparam->want_addr ? &xparam->outputs.addr : NULL,
xparam->want_addr ? &xparam->outputs.addrlen : NULL
TSRMLS_CC);
@@ -533,7 +530,7 @@ static inline int parse_unix_address(php_stream_xport_param *xparam, struct sock
}
#endif
-static inline char *parse_ip_address_ex(const char *str, size_t str_len, int *portno, int get_err, char **err TSRMLS_DC)
+static inline char *parse_ip_address_ex(const char *str, size_t str_len, int *portno, int get_err, zend_string **err TSRMLS_DC)
{
char *colon;
char *host = NULL;
@@ -546,7 +543,7 @@ static inline char *parse_ip_address_ex(const char *str, size_t str_len, int *po
p = memchr(str + 1, ']', str_len - 2);
if (!p || *(p + 1) != ':') {
if (get_err) {
- spprintf(err, 0, "Failed to parse IPv6 address \"%s\"", str);
+ *err = strpprintf(0, "Failed to parse IPv6 address \"%s\"", str);
}
return NULL;
}
@@ -564,7 +561,7 @@ static inline char *parse_ip_address_ex(const char *str, size_t str_len, int *po
host = estrndup(str, colon - str);
} else {
if (get_err) {
- spprintf(err, 0, "Failed to parse address \"%s\"", str);
+ *err = strpprintf(0, "Failed to parse address \"%s\"", str);
}
return NULL;
}
@@ -582,6 +579,8 @@ static inline int php_tcp_sockop_bind(php_stream *stream, php_netstream_data_t *
{
char *host = NULL;
int portno, err;
+ long sockopts = STREAM_SOCKOP_NONE;
+ zval *tmpzval = NULL;
#ifdef AF_UNIX
if (stream->ops == &php_stream_unix_socket_ops || stream->ops == &php_stream_unixdg_socket_ops) {
@@ -591,7 +590,7 @@ static inline int php_tcp_sockop_bind(php_stream *stream, php_netstream_data_t *
if (sock->socket == SOCK_ERR) {
if (xparam->want_errortext) {
- spprintf(&xparam->outputs.error_text, 0, "Failed to create unix%s socket %s",
+ xparam->outputs.error_text = strpprintf(0, "Failed to create unix%s socket %s",
stream->ops == &php_stream_unix_socket_ops ? "" : "datagram",
strerror(errno));
}
@@ -611,8 +610,28 @@ static inline int php_tcp_sockop_bind(php_stream *stream, php_netstream_data_t *
return -1;
}
+#ifdef SO_REUSEPORT
+ if (PHP_STREAM_CONTEXT(stream)
+ && (tmpzval = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "socket", "so_reuseport")) != NULL
+ && zend_is_true(tmpzval TSRMLS_CC)
+ ) {
+ sockopts |= STREAM_SOCKOP_SO_REUSEPORT;
+ }
+#endif
+
+#ifdef SO_BROADCAST
+ if (stream->ops == &php_stream_udp_socket_ops /* SO_BROADCAST is only applicable for UDP */
+ && PHP_STREAM_CONTEXT(stream)
+ && (tmpzval = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "socket", "so_broadcast")) != NULL
+ && zend_is_true(tmpzval TSRMLS_CC)
+ ) {
+ sockopts |= STREAM_SOCKOP_SO_BROADCAST;
+ }
+#endif
+
sock->socket = php_network_bind_socket_to_local_addr(host, portno,
stream->ops == &php_stream_udp_socket_ops ? SOCK_DGRAM : SOCK_STREAM,
+ sockopts,
xparam->want_errortext ? &xparam->outputs.error_text : NULL,
&err
TSRMLS_CC);
@@ -632,6 +651,7 @@ static inline int php_tcp_sockop_connect(php_stream *stream, php_netstream_data_
int err = 0;
int ret;
zval *tmpzval = NULL;
+ long sockopts = STREAM_SOCKOP_NONE;
#ifdef AF_UNIX
if (stream->ops == &php_stream_unix_socket_ops || stream->ops == &php_stream_unixdg_socket_ops) {
@@ -641,7 +661,7 @@ static inline int php_tcp_sockop_connect(php_stream *stream, php_netstream_data_
if (sock->socket == SOCK_ERR) {
if (xparam->want_errortext) {
- spprintf(&xparam->outputs.error_text, 0, "Failed to create unix socket");
+ xparam->outputs.error_text = strpprintf(0, "Failed to create unix socket");
}
return -1;
}
@@ -666,10 +686,10 @@ static inline int php_tcp_sockop_connect(php_stream *stream, php_netstream_data_
return -1;
}
- if (stream->context && (tmpzval = php_stream_context_get_option(stream->context, "socket", "bindto")) != NULL) {
+ if (PHP_STREAM_CONTEXT(stream) && (tmpzval = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "socket", "bindto")) != NULL) {
if (Z_TYPE_P(tmpzval) != IS_STRING) {
if (xparam->want_errortext) {
- spprintf(&xparam->outputs.error_text, 0, "local_addr context option is not a string.");
+ xparam->outputs.error_text = strpprintf(0, "local_addr context option is not a string.");
}
efree(host);
return -1;
@@ -677,6 +697,16 @@ static inline int php_tcp_sockop_connect(php_stream *stream, php_netstream_data_
bindto = parse_ip_address_ex(Z_STRVAL_P(tmpzval), Z_STRLEN_P(tmpzval), &bindport, xparam->want_errortext, &xparam->outputs.error_text TSRMLS_CC);
}
+#ifdef SO_BROADCAST
+ if (stream->ops == &php_stream_udp_socket_ops /* SO_BROADCAST is only applicable for UDP */
+ && PHP_STREAM_CONTEXT(stream)
+ && (tmpzval = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "socket", "so_broadcast")) != NULL
+ && zend_is_true(tmpzval TSRMLS_CC)
+ ) {
+ sockopts |= STREAM_SOCKOP_SO_BROADCAST;
+ }
+#endif
+
/* Note: the test here for php_stream_udp_socket_ops is important, because we
* want the default to be TCP sockets so that the openssl extension can
* re-use this code. */
@@ -688,7 +718,8 @@ static inline int php_tcp_sockop_connect(php_stream *stream, php_netstream_data_
xparam->want_errortext ? &xparam->outputs.error_text : NULL,
&err,
bindto,
- bindport
+ bindport,
+ sockopts
TSRMLS_CC);
ret = sock->socket == -1 ? -1 : 0;
@@ -722,7 +753,6 @@ static inline int php_tcp_sockop_accept(php_stream *stream, php_netstream_data_t
clisock = php_network_accept_incoming(sock->socket,
xparam->want_textaddr ? &xparam->outputs.textaddr : NULL,
- xparam->want_textaddr ? &xparam->outputs.textaddrlen : NULL,
xparam->want_addr ? &xparam->outputs.addr : NULL,
xparam->want_addr ? &xparam->outputs.addrlen : NULL,
xparam->inputs.timeout,
@@ -744,9 +774,9 @@ static inline int php_tcp_sockop_accept(php_stream *stream, php_netstream_data_t
xparam->outputs.client = php_stream_alloc_rel(stream->ops, clisockdata, NULL, "r+");
if (xparam->outputs.client) {
- xparam->outputs.client->context = stream->context;
- if (stream->context) {
- GC_REFCOUNT(stream->context->res)++;
+ xparam->outputs.client->ctx = stream->ctx;
+ if (stream->ctx) {
+ GC_REFCOUNT(stream->ctx)++;
}
}
}
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c
index 16f11fd40c..ff3889dd6c 100644
--- a/sapi/cgi/cgi_main.c
+++ b/sapi/cgi/cgi_main.c
@@ -238,7 +238,6 @@ static void print_modules(TSRMLS_D)
HashTable sorted_registry;
zend_hash_init(&sorted_registry, 64, NULL, NULL, 1);
-//??? zend_hash_copy(&sorted_registry, &module_registry, NULL, &tmp, sizeof(zend_module_entry));
zend_hash_copy(&sorted_registry, &module_registry, NULL);
zend_hash_sort(&sorted_registry, zend_qsort, module_name_cmp, 0 TSRMLS_CC);
zend_hash_apply(&sorted_registry, print_module_info TSRMLS_CC);
diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c
index 8fe195f6d7..09cfd02ec9 100644
--- a/sapi/cli/php_cli_server.c
+++ b/sapi/cli/php_cli_server.c
@@ -415,7 +415,7 @@ PHP_FUNCTION(apache_request_headers) /* {{{ */
HashTable *headers;
zend_string *key;
char *value;
- HashPosition pos;
+ zval tmp;
if (zend_parse_parameters_none() == FAILURE) {
return;
@@ -426,13 +426,10 @@ PHP_FUNCTION(apache_request_headers) /* {{{ */
array_init_size(return_value, zend_hash_num_elements(headers));
- zend_hash_internal_pointer_reset_ex(headers, &pos);
- while ((value = zend_hash_get_current_data_ptr_ex(headers, &pos)) != NULL) {
- zend_hash_get_current_key_ex(headers, &key, NULL, 0, &pos);
-//???
- add_assoc_string_ex(return_value, key->val, key->len, value);
- zend_hash_move_forward_ex(headers, &pos);
- }
+ ZEND_HASH_FOREACH_STR_KEY_PTR(headers, key, value) {
+ ZVAL_STRING(&tmp, value);
+ zend_symtable_update(Z_ARRVAL_P(return_value), key, &tmp);
+ } ZEND_HASH_FOREACH_END();
}
/* }}} */
@@ -1210,7 +1207,7 @@ static void php_cli_server_logf(const char *format TSRMLS_DC, ...) /* {{{ */
efree(buf);
} /* }}} */
-static int php_network_listen_socket(const char *host, int *port, int socktype, int *af, socklen_t *socklen, char **errstr TSRMLS_DC) /* {{{ */
+static int php_network_listen_socket(const char *host, int *port, int socktype, int *af, socklen_t *socklen, zend_string **errstr TSRMLS_DC) /* {{{ */
{
int retval = SOCK_ERR;
int err = 0;
@@ -1325,7 +1322,7 @@ out:
closesocket(retval);
}
if (errstr) {
- *errstr = php_socket_strerror(err, NULL, 0);
+ *errstr = php_socket_error_str(err);
}
return SOCK_ERR;
}
@@ -1795,12 +1792,12 @@ static int php_cli_server_client_ctor(php_cli_server_client *client, php_cli_ser
client->addr = addr;
client->addr_len = addr_len;
{
- char *addr_str = 0;
- long addr_str_len = 0;
- php_network_populate_name_from_sockaddr(addr, addr_len, &addr_str, &addr_str_len, NULL, 0 TSRMLS_CC);
- client->addr_str = pestrndup(addr_str, addr_str_len, 1);
- client->addr_str_len = addr_str_len;
- efree(addr_str);
+ zend_string *addr_str = 0;
+
+ php_network_populate_name_from_sockaddr(addr, addr_len, &addr_str, NULL, 0 TSRMLS_CC);
+ client->addr_str = pestrndup(addr_str->val, addr_str->len, 1);
+ client->addr_str_len = addr_str->len;
+ STR_RELEASE(addr_str);
}
php_http_parser_init(&client->parser, PHP_HTTP_REQUEST);
client->request_read = 0;
@@ -2187,7 +2184,7 @@ static int php_cli_server_ctor(php_cli_server *server, const char *addr, const c
{
int retval = SUCCESS;
char *host = NULL;
- char *errstr = NULL;
+ zend_string *errstr = NULL;
char *_document_root = NULL;
char *_router = NULL;
int err = 0;
@@ -2234,8 +2231,10 @@ static int php_cli_server_ctor(php_cli_server *server, const char *addr, const c
server_sock = php_network_listen_socket(host, &port, SOCK_STREAM, &server->address_family, &server->socklen, &errstr TSRMLS_CC);
if (server_sock == SOCK_ERR) {
- php_cli_server_logf("Failed to listen on %s:%d (reason: %s)" TSRMLS_CC, host, port, errstr ? errstr: "?");
- efree(errstr);
+ php_cli_server_logf("Failed to listen on %s:%d (reason: %s)" TSRMLS_CC, host, port, errstr ? errstr->val : "?");
+ if (errstr) {
+ STR_RELEASE(errstr);
+ }
retval = FAILURE;
goto out;
}
diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c
index 60f8e465eb..5e9fa89cc8 100644
--- a/sapi/fpm/fpm/fpm_main.c
+++ b/sapi/fpm/fpm/fpm_main.c
@@ -1137,6 +1137,22 @@ static void init_request_info(TSRMLS_D)
TRANSLATE_SLASHES(env_document_root);
}
+ if (!apache_was_here && 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
+ * we don't want to do this for the new mod_proxy_fcgi approach,
+ * where redirect_url may also exist but the below will break
+ * with rewrites to PATH_INFO, hence the !apache_was_here check
+ */
+ 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;
@@ -1314,6 +1330,18 @@ static void init_request_info(TSRMLS_D)
}
script_path_translated = _sapi_cgibin_putenv("SCRIPT_FILENAME", script_path_translated TSRMLS_CC);
}
+ if (!apache_was_here && env_redirect_url) {
+ /* if we used PATH_TRANSLATED to work around Apache mod_fastcgi (but not mod_proxy_fcgi,
+ * hence !apache_was_here) weirdness, strip info accordingly */
+ 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/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 2f8e8117c2..443fee9dfd 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/tests/classes/constants_error_002.phpt b/tests/classes/constants_error_002.phpt
index be27971b87..63aa22109c 100644
--- a/tests/classes/constants_error_002.phpt
+++ b/tests/classes/constants_error_002.phpt
@@ -7,6 +7,6 @@ Error case: class constant as an array
const myConst = array();
}
?>
+===DONE===
--EXPECTF--
-
-Fatal error: Arrays are not allowed in class constants in %s on line 4
+===DONE===
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/win32/php_stdint.h b/win32/php_stdint.h
index 5df1df4777..0d63615c6b 100644
--- a/win32/php_stdint.h
+++ b/win32/php_stdint.h
@@ -66,8 +66,12 @@
// 7.18.1 Integer types
// 7.18.1.1 Exact-width integer types
+#ifndef int8_t
typedef __int8 int8_t;
+#endif
+#ifndef int16_t
typedef __int16 int16_t;
+#endif
#ifndef int32_t
typedef __int32 int32_t;
#endif
diff --git a/win32/sendmail.c b/win32/sendmail.c
index ed9736c1dd..c191e0f3aa 100644
--- a/win32/sendmail.c
+++ b/win32/sendmail.c
@@ -616,9 +616,6 @@ static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char
return (res);
}
-//???PHPAPI zend_string *php_str_to_str(char *haystack, int length, char *needle,
-//??? int needle_len, char *str, int str_len);
-
/* Escape \n. sequences
* We use php_str_to_str() and not php_str_replace_in_subject(), since the latter
* uses ZVAL as it's parameters */