summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes4
-rw-r--r--NEWS55
-rwxr-xr-xconfigure8
-rw-r--r--configure.in2
-rw-r--r--ext/com_dotnet/com_com.c4
-rw-r--r--ext/date/lib/parse_date.c22926
-rw-r--r--ext/date/lib/parse_date.re4
-rw-r--r--ext/date/php_date.c4
-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.patch62
-rw-r--r--ext/fileinfo/tests/cve-2014-3538.phpt35
-rw-r--r--ext/gd/gd_ctx.c5
-rw-r--r--ext/gd/libgd/gdxpm.c7
-rw-r--r--ext/mysqli/tests/066.phpt3
-rw-r--r--ext/odbc/php_odbc.c53
-rw-r--r--ext/odbc/php_odbc_includes.h5
-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.phpt2
-rwxr-xr-xext/openssl/openssl.c13
-rw-r--r--ext/openssl/tests/026.phpt12
-rw-r--r--ext/readline/readline_cli.c17
-rw-r--r--ext/session/session.c25
-rw-r--r--ext/session/tests/bug66827.phpt12
-rw-r--r--ext/spl/spl_array.c7
-rw-r--r--ext/spl/spl_dllist.c7
-rw-r--r--ext/spl/tests/bug67538.phpt17
-rw-r--r--ext/spl/tests/bug67539.phpt15
-rw-r--r--ext/standard/array.c2
-rw-r--r--ext/standard/basic_functions.c3
-rw-r--r--ext/standard/dns.c84
-rw-r--r--ext/standard/info.c8
-rw-r--r--ext/standard/string.c11
-rw-r--r--ext/standard/tests/array/bug67693.phpt25
-rw-r--r--ext/standard/tests/strings/ucwords_error.phpt6
-rw-r--r--ext/standard/tests/strings/ucwords_variation5.phpt25
-rw-r--r--main/network.c2
-rw-r--r--main/php_version.h6
-rw-r--r--pear/install-pear-nozlib.phar5010
-rw-r--r--sapi/litespeed/Makefile.frag2
-rw-r--r--sapi/litespeed/lsapi_main.c132
-rw-r--r--sapi/litespeed/lsapidef.h8
-rw-r--r--sapi/litespeed/lsapilib.c2488
-rw-r--r--sapi/litespeed/lsapilib.h71
-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--win32/build/Makefile2
-rw-r--r--win32/build/Makefile.phpize8
-rw-r--r--win32/build/config.w32.phpize.in5
-rw-r--r--win32/build/confutils.js189
-rw-r--r--win32/build/phpize.js.in14
54 files changed, 17208 insertions, 14321 deletions
diff --git a/.gitattributes b/.gitattributes
index 9ed6e5f4b..a44aa5d2c 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -22,6 +22,10 @@ sapi/nsapi/nsapi.c ident
sapi/continuity/capi.c ident
Zend/RFCs/002.txt ident
Zend/RFCs/003.txt ident
+ext/exif/exif.c ident
+ext/ldap/ldap.c ident
+ext/pdo_pgsql/pdo_pgsql.c ident
+ext/tidy/tidy.c ident
NEWS merge=NEWS
/ext/bz2/tests/with_strings.phpt -crlf
/ext/dom/tests/bug40836.phpt -crlf
diff --git a/NEWS b/NEWS
index 47b8f676b..4c000d793 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,55 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+07 Aug 2014, PHP 5.4.32
+
+- Core:
+ . Fixed bug #67717 (segfault in dns_get_record). (CVE-2014-3597) (Remi)
+
+- COM:
+ . Fixed missing type checks in com_event_sink. (Yussuf Khalil, Stas)
+
+- Fileinfo:
+ . Fixed bug #67705 (extensive backtracking in rule regular expression).
+ (CVE-2014-3538) (Remi)
+ . Fixed bug #67716 (Segfault in cdf.c). (CVE-2014-3587) (Remi)
+
+- GD:
+ . Fixed bug #66901 (php-gd 'c_color' NULL pointer dereference).
+ (CVE-2014-2497) (Remi)
+ . Fixed bug #67730 (Null byte injection possible with imagexxx functions).
+ (CVE-2014-5120) (Ryan Mauger)
+
+- Milter:
+ . Fixed bug #67715 (php-milter does not build and crashes randomly). (Mike)
+
+- OpenSSL:
+ . Fixed missing type checks in OpenSSL options (Yussuf Khalil, Stas).
+
+- Readline:
+ . Fixed bug #55496 (Interactive mode doesn't force a newline before the
+ prompt). (Bob, Johannes)
+ . Fixed bug #67496 (Save command history when exiting interactive shell
+ with control-c). (Dmitry Saprykin, Johannes)
+
+- Sessions:
+ . Fixed missing type checks in php_session_create_id (Yussuf Khalil, Stas).
+
+- SPL:
+ . Fixed bug #67539 (ArrayIterator use-after-free due to object change during
+ sorting). (research at insighti dot org, Laruence)
+ . Fixed bug #67538 (SPL Iterators use-after-free). (CVE-2014-4670) (Laruence)
+
+- Core:
+ . Fixed bug #67693 (incorrect push to the empty array) (Tjerk)
+
+- ODBC:
+ . Fixed bug #60616 (odbc_fetch_into returns junk data at end of multi-byte
+ char fields). (Keyur)
+
+- Zlib:
+ . Fixed bug #67724 (chained zlib filters silently fail with large amounts of
+ data). (Mike)
+
24 Jul 2014, PHP 5.4.31
- Core:
@@ -12,6 +62,7 @@ PHP NEWS
. Fixed bug #67151 (strtr with empty array crashes). (Nikita)
. Fixed bug #67407 (Windows 8.1/Server 2012 R2 reported as Windows 8/Server
2012). (Christian Wenz)
+ . Implemented FR #34407 (ucwords and Title Case). (Tjerk)
- CLI server:
. Implemented FR #67429 (CLI server is missing some new HTTP response codes).
@@ -37,6 +88,10 @@ PHP NEWS
- Streams:
. Fixed bug #67430 (http:// wrapper doesn't follow 308 redirects). (Adam)
+- Session:
+ . Fixed bug #66827 (Session raises E_NOTICE when session name variable is array).
+ (Yasuo)
+
26 Jun 2014, PHP 5.4.30
- Core:
diff --git a/configure b/configure
index 04d019d16..cbb154ce5 100755
--- a/configure
+++ b/configure
@@ -3686,7 +3686,7 @@ ac_config_headers="$ac_config_headers main/php_config.h"
PHP_MAJOR_VERSION=5
PHP_MINOR_VERSION=4
-PHP_RELEASE_VERSION=31
+PHP_RELEASE_VERSION=32
PHP_EXTRA_VERSION=""
PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
PHP_VERSION_ID=`expr $PHP_MAJOR_VERSION \* 10000 + $PHP_MINOR_VERSION \* 100 + $PHP_RELEASE_VERSION`
@@ -13411,8 +13411,8 @@ if test "$PHP_MILTER" != "no"; then
src=$abs_srcdir/sapi/milter/Makefile.frag
- ac_srcdir=$ext_srcdir
- ac_builddir=$ext_builddir
+ ac_srcdir=$abs_srcdir/sapi/milter
+ ac_builddir=sapi/milter
test -f "$src" && $SED -e "s#\$(srcdir)#$ac_srcdir#g" -e "s#\$(builddir)#$ac_builddir#g" $src >> Makefile.fragments
@@ -13559,7 +13559,7 @@ EOF
- 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_VAR_SUBST="$PHP_VAR_SUBST SAPI_MILTER_PATH"
diff --git a/configure.in b/configure.in
index 6c5efe29a..1ccfd9488 100644
--- a/configure.in
+++ b/configure.in
@@ -119,7 +119,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
PHP_MAJOR_VERSION=5
PHP_MINOR_VERSION=4
-PHP_RELEASE_VERSION=31
+PHP_RELEASE_VERSION=32
PHP_EXTRA_VERSION=""
PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`
diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c
index f77779d69..500cabd41 100644
--- a/ext/com_dotnet/com_com.c
+++ b/ext/com_dotnet/com_com.c
@@ -698,9 +698,9 @@ PHP_FUNCTION(com_event_sink)
/* 0 => typelibname, 1 => dispname */
zval **tmp;
- if (zend_hash_index_find(Z_ARRVAL_P(sink), 0, (void**)&tmp) == SUCCESS)
+ if (zend_hash_index_find(Z_ARRVAL_P(sink), 0, (void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_STRING)
typelibname = Z_STRVAL_PP(tmp);
- if (zend_hash_index_find(Z_ARRVAL_P(sink), 1, (void**)&tmp) == SUCCESS)
+ if (zend_hash_index_find(Z_ARRVAL_P(sink), 1, (void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_STRING)
dispname = Z_STRVAL_PP(tmp);
} else if (sink != NULL) {
convert_to_string(sink);
diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c
index bd199f22a..9bb3e6aca 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 16:52:44 2014 */
+/* Generated by re2c 0.13.5 on Thu Jul 31 14:20:45 2014 */
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
@@ -921,53 +921,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':
@@ -978,61 +978,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);
- {
- 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;
- }
-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);
{
int tz_not_found;
DEBUG_OUTPUT("tzcorrection | tz");
@@ -1045,172 +1028,172 @@ yy4:
TIMELIB_DEINIT;
return TIMELIB_TIMEZONE;
}
-yy5:
- YYDEBUG(5, *YYCURSOR);
+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;
@@ -1241,7 +1224,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;
@@ -1267,21 +1250,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;
@@ -1333,7 +1316,7 @@ yy11:
case 'v':
case 'x':
case 'y':
- case 'z': goto yy141;
+ case 'z': goto yy140;
case 'E':
case 'e': goto yy1388;
case 'H':
@@ -1344,368 +1327,368 @@ 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);
{
add_error(s, "Unexpected character");
goto std;
}
-yy14:
- YYDEBUG(14, *YYCURSOR);
+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':
@@ -1730,11 +1713,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':
@@ -1743,21 +1726,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':
@@ -1784,34 +1767,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':
@@ -1838,34 +1821,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':
@@ -1892,12 +1875,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':
@@ -1905,21 +1888,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':
@@ -1946,10 +1929,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':
@@ -1959,308 +1942,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:
@@ -2268,22 +2274,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:
@@ -2291,22 +2297,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:
@@ -2314,186 +2320,163 @@ 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);
{
goto std;
}
+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);
{
s->pos = cursor; s->line++;
goto std;
}
+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) {
@@ -2501,32 +2484,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;
}
}
}
@@ -2534,29 +2517,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;
}
}
}
@@ -2567,32 +2550,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;
}
}
}
@@ -2600,13 +2583,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;
}
@@ -2628,194 +2611,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);
{
timelib_ull i;
DEBUG_OUTPUT("relative");
@@ -2830,767 +2813,767 @@ yy73:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
+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);
{
const timelib_relunit* relunit;
DEBUG_OUTPUT("daytext");
@@ -3607,525 +3590,525 @@ yy167:
TIMELIB_DEINIT;
return TIMELIB_WEEKDAY;
}
-yy168:
- YYDEBUG(168, *YYCURSOR);
+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);
{
DEBUG_OUTPUT("monthtext");
TIMELIB_INIT;
@@ -4134,56 +4117,56 @@ yy194:
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-yy195:
- YYDEBUG(195, *YYCURSOR);
+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);
{
int length = 0;
DEBUG_OUTPUT("datetextual | datenoyear");
@@ -4196,274 +4179,274 @@ yy199:
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-yy200:
- YYDEBUG(200, *YYCURSOR);
+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);
{
int tz_not_found;
DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
@@ -4492,703 +4475,703 @@ yy223:
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-yy224:
- YYDEBUG(224, *YYCURSOR);
+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);
{
DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
TIMELIB_INIT;
@@ -5211,183 +5194,183 @@ yy278:
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-yy280:
- YYDEBUG(280, *YYCURSOR);
+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);
{
int length = 0;
DEBUG_OUTPUT("datenoday");
@@ -5400,1225 +5383,1225 @@ yy295:
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-yy296:
- YYDEBUG(296, *YYCURSOR);
+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 yy308;
- if (yych <= '5') goto yy309;
- if (yych <= '9') goto yy310;
- goto yy216;
+ if (yych <= '2') goto yy307;
+ if (yych <= '5') goto yy308;
+ if (yych <= '9') goto yy309;
+ goto yy215;
+ }
+yy300:
+ YYDEBUG(300, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '/') {
+ if (yych == '.') goto yy263;
+ goto yy56;
+ } else {
+ if (yych <= '0') goto yy303;
+ if (yych <= '9') goto yy304;
+ if (yych <= ':') goto yy263;
+ goto yy56;
}
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 yy335;
- if (yych <= '5') goto yy336;
- if (yych <= '9') goto yy337;
- goto yy216;
+ if (yych <= '2') goto yy334;
+ if (yych <= '5') goto yy335;
+ if (yych <= '9') goto yy336;
+ goto yy215;
+ }
+yy331:
+ YYDEBUG(331, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '/') {
+ if (yych == '.') goto yy220;
+ goto yy56;
+ } else {
+ if (yych <= '0') goto yy303;
+ if (yych <= '9') goto yy304;
+ if (yych <= ':') goto yy220;
+ goto yy56;
}
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);
{
int length = 0;
DEBUG_OUTPUT("pgtextshort");
@@ -6631,643 +6614,643 @@ yy364:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-yy365:
+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);
{
DEBUG_OUTPUT("ago");
TIMELIB_INIT;
@@ -7287,1755 +7270,1755 @@ yy393:
TIMELIB_DEINIT;
return TIMELIB_AGO;
}
-yy394:
- YYDEBUG(394, *YYCURSOR);
+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);
{
DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
TIMELIB_INIT;
@@ -9046,504 +9029,504 @@ yy455:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-yy456:
- YYDEBUG(456, *YYCURSOR);
+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':
@@ -9551,60 +9534,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);
{
DEBUG_OUTPUT("datenoyearrev");
TIMELIB_INIT;
@@ -9615,146 +9598,146 @@ yy476:
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-yy477:
- YYDEBUG(477, *YYCURSOR);
+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);
{
DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
TIMELIB_INIT;
@@ -9770,18 +9753,18 @@ yy488:
TIMELIB_DEINIT;
return TIMELIB_TIME12;
}
-yy490:
- YYDEBUG(490, *YYCURSOR);
+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);
{
int tz_not_found;
DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
@@ -9806,315 +9789,315 @@ yy491:
TIMELIB_DEINIT;
return TIMELIB_TIME24_WITH_ZONE;
}
-yy492:
- YYDEBUG(492, *YYCURSOR);
+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);
{
DEBUG_OUTPUT("mssqltime");
TIMELIB_INIT;
@@ -10133,111 +10116,111 @@ yy523:
TIMELIB_DEINIT;
return TIMELIB_TIME24_WITH_ZONE;
}
-yy525:
- YYDEBUG(525, *YYCURSOR);
+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);
{
int length = 0;
DEBUG_OUTPUT("datefull");
@@ -10251,742 +10234,742 @@ yy535:
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL;
}
+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);
{
DEBUG_OUTPUT("pointed date YYYY");
TIMELIB_INIT;
@@ -10997,41 +10980,41 @@ yy605:
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
+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);
{
int length = 0;
DEBUG_OUTPUT("pointed date YY");
@@ -11044,646 +11027,646 @@ yy612:
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-yy613:
- YYDEBUG(613, *YYCURSOR);
+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);
{
int length = 0;
DEBUG_OUTPUT("gnudateshort");
@@ -11696,111 +11679,111 @@ yy657:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-yy658:
- YYDEBUG(658, *YYCURSOR);
+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);
{
int length = 0;
DEBUG_OUTPUT("americanshort | american");
@@ -11815,238 +11798,238 @@ yy667:
TIMELIB_DEINIT;
return TIMELIB_AMERICAN;
}
-yy668:
- YYDEBUG(668, *YYCURSOR);
+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);
{
int tz_not_found;
DEBUG_OUTPUT("clf");
@@ -12066,303 +12049,303 @@ yy701:
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-yy702:
- YYDEBUG(702, *YYCURSOR);
+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':
@@ -12370,253 +12353,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);
{
int length = 0;
DEBUG_OUTPUT("iso8601date2");
@@ -12629,44 +12612,44 @@ yy764:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
+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);
{
int length = 0;
DEBUG_OUTPUT("pgtextreverse");
@@ -12679,92 +12662,92 @@ yy771:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
+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);
@@ -12796,26 +12779,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);
{
DEBUG_OUTPUT("year4");
TIMELIB_INIT;
@@ -12823,13 +12806,13 @@ yy784:
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-yy785:
- YYDEBUG(785, *YYCURSOR);
+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':
@@ -12837,46 +12820,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':
@@ -12884,95 +12867,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);
{
int length = 0;
DEBUG_OUTPUT("datenodayrev");
@@ -12985,220 +12968,220 @@ yy794:
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
+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);
{
timelib_sll w, d;
DEBUG_OUTPUT("isoweek");
@@ -13216,15 +13199,15 @@ yy815:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
+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);
{
timelib_sll w, d;
DEBUG_OUTPUT("isoweekday");
@@ -13242,69 +13225,69 @@ yy817:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
+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);
{
int length = 0;
DEBUG_OUTPUT("pgydotd");
@@ -13317,108 +13300,108 @@ yy822:
TIMELIB_DEINIT;
return TIMELIB_PG_YEARDAY;
}
+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);
{
int tz_not_found;
DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
@@ -13443,267 +13426,267 @@ yy843:
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-yy844:
- YYDEBUG(844, *YYCURSOR);
+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);
{
DEBUG_OUTPUT("datenocolon");
TIMELIB_INIT;
@@ -13714,925 +13697,925 @@ yy849:
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-yy850:
- YYDEBUG(850, *YYCURSOR);
+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);
{
int length = 0;
DEBUG_OUTPUT("gnudateshorter");
@@ -14645,716 +14628,716 @@ yy974:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
+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':
@@ -15362,246 +15345,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);
@@ -15633,26 +15616,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);
{
DEBUG_OUTPUT("gnunocolon");
TIMELIB_INIT;
@@ -15674,97 +15657,97 @@ yy1068:
TIMELIB_DEINIT;
return TIMELIB_GNU_NOCOLON;
}
+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);
{
int tz_not_found;
DEBUG_OUTPUT("iso8601nocolon");
@@ -15783,903 +15766,903 @@ yy1076:
TIMELIB_DEINIT;
return TIMELIB_ISO_NOCOLON;
}
-yy1077:
- YYDEBUG(1077, *YYCURSOR);
+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);
{
timelib_sll i;
int behavior = 0;
@@ -16695,56 +16678,56 @@ yy1118:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-yy1119:
- YYDEBUG(1119, *YYCURSOR);
+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);
{
timelib_sll i;
int behavior = 0;
@@ -16765,113 +16748,113 @@ yy1126:
TIMELIB_DEINIT;
return TIMELIB_WEEK_DAY_OF_MONTH;
}
-yy1128:
- YYDEBUG(1128, *YYCURSOR);
+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);
{
timelib_sll i;
int behavior = 0;
@@ -16894,2682 +16877,2682 @@ yy1142:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
+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);
{
DEBUG_OUTPUT("backof | frontof");
TIMELIB_INIT;
@@ -19591,294 +19574,309 @@ yy1295:
TIMELIB_DEINIT;
return TIMELIB_LF_DAY_OF_MONTH;
}
-yy1296:
- YYDEBUG(1296, *YYCURSOR);
+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;
+ {
+ 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;
+ }
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;
}
}
}
@@ -19888,28 +19886,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;
}
}
}
@@ -19919,27 +19917,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;
}
}
}
@@ -19948,22 +19946,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:
@@ -19971,23 +19969,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:
@@ -19995,22 +19993,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:
@@ -20018,22 +20016,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:
@@ -20041,22 +20039,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:
@@ -20064,37 +20062,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:
@@ -20102,22 +20100,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:
@@ -20125,21 +20123,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:
@@ -20148,39 +20146,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;
@@ -20205,74 +20203,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:
@@ -20280,21 +20278,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:
@@ -20302,22 +20300,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:
@@ -20325,22 +20323,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:
@@ -20348,21 +20346,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:
@@ -20370,22 +20368,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:
@@ -20393,21 +20391,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:
@@ -20416,58 +20414,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;
@@ -20475,38 +20473,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;
}
}
}
@@ -20515,37 +20513,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:
@@ -20553,46 +20551,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;
}
}
}
@@ -20603,38 +20601,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;
}
}
}
@@ -20644,28 +20642,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;
}
}
}
@@ -20676,38 +20674,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;
}
}
}
@@ -20717,28 +20715,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;
}
}
}
@@ -20748,28 +20746,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;
}
}
}
@@ -20779,24 +20777,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:
@@ -20805,28 +20803,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;
}
}
}
@@ -20836,28 +20834,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;
}
}
}
@@ -20868,23 +20866,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:
@@ -20893,28 +20891,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;
}
}
}
@@ -20924,28 +20922,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;
}
}
}
@@ -20955,28 +20953,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;
}
}
}
@@ -20986,28 +20984,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;
}
}
}
@@ -21017,28 +21015,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;
}
}
}
@@ -21048,28 +21046,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;
}
}
}
@@ -21079,28 +21077,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;
}
}
}
@@ -21110,27 +21108,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;
}
}
}
@@ -21141,41 +21139,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;
}
}
}
@@ -21185,28 +21183,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;
}
}
}
@@ -21216,24 +21214,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:
@@ -21242,35 +21240,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;
@@ -21310,22 +21308,22 @@ yy1388:
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:
@@ -21333,23 +21331,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:
@@ -21357,23 +21355,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:
@@ -21381,22 +21379,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:
@@ -21404,109 +21402,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:
@@ -21514,21 +21512,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:
@@ -21536,21 +21534,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:
@@ -21558,33 +21556,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:
@@ -21592,65 +21590,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:
@@ -21658,21 +21656,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:
@@ -21680,21 +21678,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:
@@ -21702,21 +21700,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:
@@ -21724,17 +21722,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;
@@ -21755,32 +21753,32 @@ yy1418:
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);
@@ -21797,23 +21795,23 @@ yy1421:
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:
@@ -21821,21 +21819,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:
@@ -21843,21 +21841,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:
@@ -21865,21 +21863,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:
@@ -21887,39 +21885,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:
@@ -21928,21 +21926,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:
@@ -21950,21 +21948,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:
@@ -21972,22 +21970,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:
@@ -21996,28 +21994,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;
}
}
}
@@ -22028,38 +22026,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;
}
}
}
@@ -22070,38 +22068,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;
}
}
}
@@ -22111,28 +22109,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;
}
}
}
@@ -22142,28 +22140,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;
}
}
}
@@ -22173,28 +22171,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;
}
}
}
@@ -22204,28 +22202,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;
}
}
}
@@ -22235,28 +22233,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;
}
}
}
@@ -22266,22 +22264,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:
@@ -22290,28 +22288,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;
}
}
}
@@ -22321,28 +22319,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;
}
}
}
@@ -22352,24 +22350,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:
@@ -22378,22 +22376,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:
@@ -22402,24 +22400,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:
@@ -22428,28 +22426,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;
}
}
}
@@ -22459,28 +22457,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;
}
}
}
@@ -22490,28 +22488,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;
}
}
}
@@ -22521,41 +22519,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:
@@ -22564,28 +22562,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;
}
}
}
@@ -22595,21 +22593,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;
}
}
@@ -22619,16 +22617,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;
}
}
@@ -22636,19 +22634,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;
}
}
}
@@ -22658,28 +22656,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;
}
}
}
@@ -22689,28 +22687,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;
}
}
}
@@ -22720,28 +22718,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;
}
}
}
@@ -22751,59 +22749,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;
}
}
}
@@ -22813,27 +22811,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;
}
}
}
@@ -22843,28 +22841,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;
}
}
}
@@ -22874,28 +22872,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;
}
}
}
@@ -22904,23 +22902,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:
@@ -22928,22 +22926,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:
@@ -22951,21 +22949,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:
@@ -22973,37 +22971,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:
@@ -23011,22 +23009,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:
@@ -23034,21 +23032,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:
@@ -23056,21 +23054,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:
@@ -23078,21 +23076,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:
@@ -23100,17 +23098,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;
@@ -23122,39 +23120,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;
}
}
}
@@ -23164,24 +23162,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:
@@ -23189,22 +23187,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:
@@ -23214,38 +23212,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;
}
}
}
@@ -23255,28 +23253,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;
}
}
}
@@ -23286,28 +23284,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;
}
}
}
@@ -23317,28 +23315,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;
}
}
}
@@ -23348,24 +23346,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:
@@ -23374,28 +23372,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;
}
}
}
@@ -23405,28 +23403,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;
}
}
}
@@ -23436,28 +23434,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;
}
}
}
@@ -23467,28 +23465,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;
}
}
}
@@ -23498,41 +23496,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:
@@ -23542,41 +23540,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;
}
}
}
@@ -23586,33 +23584,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;
}
}
}
@@ -23622,28 +23620,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;
}
}
}
@@ -23652,29 +23650,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;
}
}
}
@@ -23683,22 +23681,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:
@@ -23706,21 +23704,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:
@@ -23728,21 +23726,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:
@@ -23750,22 +23748,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:
@@ -23773,33 +23771,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);
@@ -23815,22 +23813,22 @@ yy1501:
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:
@@ -23840,38 +23838,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;
}
}
}
@@ -23880,21 +23878,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:
@@ -23902,21 +23900,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:
@@ -23924,27 +23922,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);
@@ -23965,20 +23963,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;
}
}
@@ -23986,22 +23984,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;
}
}
}
@@ -24011,28 +24009,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;
}
}
}
@@ -24042,28 +24040,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;
}
}
}
@@ -24073,28 +24071,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;
}
}
}
@@ -24104,28 +24102,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;
}
}
}
@@ -24135,28 +24133,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;
}
}
}
@@ -24166,21 +24164,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;
}
}
@@ -24190,28 +24188,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;
}
}
}
@@ -24222,41 +24220,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;
}
}
}
@@ -24266,28 +24264,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;
}
}
}
@@ -24297,28 +24295,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;
}
}
}
@@ -24328,51 +24326,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;
}
}
@@ -24381,21 +24379,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:
@@ -24403,21 +24401,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:
@@ -24425,21 +24423,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:
@@ -24447,21 +24445,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:
@@ -24469,22 +24467,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;
@@ -24506,28 +24504,28 @@ yy1532:
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;
}
}
}
@@ -24537,28 +24535,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;
}
}
}
@@ -24568,28 +24566,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;
}
}
}
@@ -24599,28 +24597,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;
}
}
}
@@ -24630,45 +24628,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 49f21d151..8ebdf4842 100644
--- a/ext/date/lib/parse_date.re
+++ b/ext/date/lib/parse_date.re
@@ -966,8 +966,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/php_date.c b/ext/date/php_date.c
index 595b0b040..4259bf0fc 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -50,7 +50,11 @@ static inline long long php_date_llabs( long long i ) { return i >= 0 ? i : -i;
int st = snprintf(s, len, "%lld", i); \
s[st] = '\0'; \
} while (0);
+#ifdef HAVE_ATOLL
# define DATE_A64I(i, s) i = atoll(s)
+#else
+# define DATE_A64I(i, s) i = strtoll(s, NULL, 10)
+#endif
#endif
/* {{{ arginfo */
diff --git a/ext/fileinfo/data_file.c b/ext/fileinfo/data_file.c
index fba4edd90..15e0fa6a8 100644
--- a/ext/fileinfo/data_file.c
+++ b/ext/fileinfo/data_file.c
@@ -115198,7 +115198,7 @@ const unsigned char php_magic_database[2606480] = {
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 429f3b952..2c0a2d9df 100644
--- a/ext/fileinfo/libmagic/cdf.c
+++ b/ext/fileinfo/libmagic/cdf.c
@@ -820,7 +820,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 01e49778b..7e0c8560e 100644
--- a/ext/fileinfo/libmagic/softmagic.c
+++ b/ext/fileinfo/libmagic/softmagic.c
@@ -58,7 +58,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 *);
@@ -1003,7 +1003,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
@@ -1023,15 +1023,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 *,
@@ -1044,7 +1053,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;
@@ -1118,7 +1127,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;
char *sbuf, *rbuf;
union VALUETYPE *p = &ms->ms_value;
@@ -1130,13 +1138,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));
}
@@ -1627,7 +1634,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;
@@ -2057,7 +2064,7 @@ magiccheck(struct magic_set *ms, struct magic *m)
zval *retval;
zval *subpats;
char *haystack;
-
+
MAKE_STD_ZVAL(retval);
ALLOC_INIT_ZVAL(subpats);
diff --git a/ext/fileinfo/magicdata.patch b/ext/fileinfo/magicdata.patch
index 26d3bbb65..12fbd3ff5 100644
--- a/ext/fileinfo/magicdata.patch
+++ b/ext/fileinfo/magicdata.patch
@@ -1,4 +1,4 @@
-Patches applied to file sources tree before generating magic.mgc
+Patches applied to file 5.14 sources tree before generating magic.mgc
and before running create_data_file.php to create data_file.c.
@@ -17,14 +17,6 @@ diff --git a/magic/Magdir/commands b/magic/Magdir/commands
index 67c3eee..4a7d8dd 100644
--- a/magic/Magdir/commands
+++ b/magic/Magdir/commands
-@@ -1,6 +1,6 @@
-
- #------------------------------------------------------------------------------
--# $File: commands,v 1.44 2013/02/05 15:20:47 christos Exp $
-+# $File: commands,v 1.45 2013/02/06 14:18:52 christos Exp $
- # commands: file(1) magic for various shells and interpreters
- #
- #0 string/w : shell archive or script for antique kernel text
@@ -49,7 +49,7 @@
!:mime text/x-awk
0 string/wt #!\ /usr/bin/awk awk script text executable
@@ -36,4 +28,56 @@ index 67c3eee..4a7d8dd 100644
0 string/wt #!\ /bin/rc Plan 9 rc shell script text executable
--
1.8.5.5
+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 000000000..d6bc9c68c
--- /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/gd/gd_ctx.c b/ext/gd/gd_ctx.c
index bff691fad..eafbab589 100644
--- a/ext/gd/gd_ctx.c
+++ b/ext/gd/gd_ctx.c
@@ -124,6 +124,11 @@ static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type,
RETURN_FALSE;
}
} else if (Z_TYPE_P(to_zval) == IS_STRING) {
+ if (CHECK_ZVAL_NULL_PATH(to_zval)) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid 2nd parameter, filename must not contain null bytes");
+ RETURN_FALSE;
+ }
+
stream = php_stream_open_wrapper(Z_STRVAL_P(to_zval), "wb", REPORT_ERRORS|IGNORE_PATH|IGNORE_URL_WIN, NULL);
if (stream == NULL) {
RETURN_FALSE;
diff --git a/ext/gd/libgd/gdxpm.c b/ext/gd/libgd/gdxpm.c
index 73f86e5df..b69414e60 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/mysqli/tests/066.phpt b/ext/mysqli/tests/066.phpt
index 91dfce507..a337e038c 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/odbc/php_odbc.c b/ext/odbc/php_odbc.c
index 4d21b3a13..19f9fe4eb 100644
--- a/ext/odbc/php_odbc.c
+++ b/ext/odbc/php_odbc.c
@@ -780,6 +780,9 @@ PHP_MINIT_FUNCTION(odbc)
REGISTER_LONG_CONSTANT("SQL_TYPE_DATE", SQL_TYPE_DATE, CONST_PERSISTENT | CONST_CS);
REGISTER_LONG_CONSTANT("SQL_TYPE_TIME", SQL_TYPE_TIME, CONST_PERSISTENT | CONST_CS);
REGISTER_LONG_CONSTANT("SQL_TYPE_TIMESTAMP", SQL_TYPE_TIMESTAMP, CONST_PERSISTENT | CONST_CS);
+ REGISTER_LONG_CONSTANT("SQL_WCHAR", SQL_WCHAR, CONST_PERSISTENT | CONST_CS);
+ REGISTER_LONG_CONSTANT("SQL_WVARCHAR", SQL_WVARCHAR, CONST_PERSISTENT | CONST_CS);
+ REGISTER_LONG_CONSTANT("SQL_WLONGVARCHAR", SQL_WLONGVARCHAR, CONST_PERSISTENT | CONST_CS);
/*
* SQLSpecialColumns values
@@ -943,9 +946,13 @@ int odbc_bindcols(odbc_result *result TSRMLS_DC)
{
RETCODE rc;
int i;
- SQLSMALLINT colnamelen; /* Not used */
- SQLLEN displaysize;
+ SQLSMALLINT colnamelen; /* Not used */
+ SQLLEN displaysize;
+ SQLUSMALLINT colfieldid;
+ int charextraalloc;
+ colfieldid = SQL_COLUMN_DISPLAY_SIZE;
+ charextraalloc = 0;
result->values = (odbc_result_value *) safe_emalloc(sizeof(odbc_result_value), result->numcols, 0);
result->longreadlen = ODBCG(defaultlrl);
@@ -966,6 +973,9 @@ int odbc_bindcols(odbc_result *result TSRMLS_DC)
case SQL_VARBINARY:
case SQL_LONGVARBINARY:
case SQL_LONGVARCHAR:
+#if defined(ODBCVER) && (ODBCVER >= 0x0300)
+ case SQL_WLONGVARCHAR:
+#endif
result->values[i].value = NULL;
break;
@@ -976,15 +986,27 @@ int odbc_bindcols(odbc_result *result TSRMLS_DC)
27, &result->values[i].vallen);
break;
#endif /* HAVE_ADABAS */
+ case SQL_CHAR:
+ case SQL_VARCHAR:
+#if defined(ODBCVER) && (ODBCVER >= 0x0300)
+ case SQL_WCHAR:
+ case SQL_WVARCHAR:
+ colfieldid = SQL_DESC_OCTET_LENGTH;
+#else
+ charextraalloc = 1;
+#endif
default:
- rc = SQLColAttributes(result->stmt, (SQLUSMALLINT)(i+1), SQL_COLUMN_DISPLAY_SIZE,
- NULL, 0, NULL, &displaysize);
- displaysize = displaysize <= result->longreadlen ? displaysize :
- result->longreadlen;
+ rc = SQLColAttributes(result->stmt, (SQLUSMALLINT)(i+1), colfieldid,
+ NULL, 0, NULL, &displaysize);
/* Workaround for Oracle ODBC Driver bug (#50162) when fetching TIMESTAMP column */
if (result->values[i].coltype == SQL_TIMESTAMP) {
displaysize += 3;
}
+
+ if (charextraalloc) {
+ /* Since we don't know the exact # of bytes, allocate extra */
+ displaysize *= 4;
+ }
result->values[i].value = (char *)emalloc(displaysize + 1);
rc = SQLBindCol(result->stmt, (SQLUSMALLINT)(i+1), SQL_C_CHAR, result->values[i].value,
displaysize + 1, &result->values[i].vallen);
@@ -1725,6 +1747,9 @@ static void php_odbc_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type)
sql_c_type = SQL_C_BINARY;
}
case SQL_LONGVARCHAR:
+#if defined(ODBCVER) && (ODBCVER >= 0x0300)
+ case SQL_WLONGVARCHAR:
+#endif
if (IS_SQL_LONG(result->values[i].coltype) && result->longreadlen <= 0) {
Z_STRVAL_P(tmp) = STR_EMPTY_ALLOC();
break;
@@ -1876,7 +1901,11 @@ PHP_FUNCTION(odbc_fetch_into)
break;
}
if (result->binmode == 1) sql_c_type = SQL_C_BINARY;
+
case SQL_LONGVARCHAR:
+#if defined(ODBCVER) && (ODBCVER >= 0x0300)
+ case SQL_WLONGVARCHAR:
+#endif
if (IS_SQL_LONG(result->values[i].coltype) && result->longreadlen <= 0) {
Z_STRVAL_P(tmp) = STR_EMPTY_ALLOC();
break;
@@ -2095,6 +2124,9 @@ PHP_FUNCTION(odbc_result)
break;
}
case SQL_LONGVARCHAR:
+#if defined(ODBCVER) && (ODBCVER >= 0x0300)
+ case SQL_WLONGVARCHAR:
+#endif
if (IS_SQL_LONG(result->values[field_ind].coltype)) {
if (result->longreadlen <= 0) {
break;
@@ -2132,7 +2164,11 @@ PHP_FUNCTION(odbc_result)
}
/* Reduce fieldlen by 1 if we have char data. One day we might
have binary strings... */
- if (result->values[field_ind].coltype == SQL_LONGVARCHAR) {
+ if ((result->values[field_ind].coltype == SQL_LONGVARCHAR)
+#if defined(ODBCVER) && (ODBCVER >= 0x0300)
+ || (result->values[field_ind].coltype == SQL_WLONGVARCHAR)
+#endif
+ ) {
fieldsize -= 1;
}
/* Don't duplicate result, saves one emalloc.
@@ -2248,6 +2284,9 @@ PHP_FUNCTION(odbc_result_all)
}
if (result->binmode <= 1) sql_c_type = SQL_C_BINARY;
case SQL_LONGVARCHAR:
+#if defined(ODBCVER) && (ODBCVER >= 0x0300)
+ case SQL_WLONGVARCHAR:
+#endif
if (IS_SQL_LONG(result->values[i].coltype) &&
result->longreadlen <= 0) {
php_printf("<td>Not printable</td>");
diff --git a/ext/odbc/php_odbc_includes.h b/ext/odbc/php_odbc_includes.h
index a9b0acfa0..06113d962 100644
--- a/ext/odbc/php_odbc_includes.h
+++ b/ext/odbc/php_odbc_includes.h
@@ -115,6 +115,7 @@ PHP_FUNCTION(solid_fetch_prev);
#endif
#define ODBC_TYPE "unixODBC"
+#undef ODBCVER
#include <sql.h>
#include <sqlext.h>
#define HAVE_SQL_EXTENDED_FETCH 1
@@ -284,7 +285,11 @@ int odbc_bindcols(odbc_result *result TSRMLS_DC);
void odbc_sql_error(ODBC_SQL_ERROR_PARAMS);
+#if defined(ODBCVER) && (ODBCVER >= 0x0300)
+#define IS_SQL_LONG(x) (x == SQL_LONGVARBINARY || x == SQL_LONGVARCHAR || x == SQL_WLONGVARCHAR)
+#else
#define IS_SQL_LONG(x) (x == SQL_LONGVARBINARY || x == SQL_LONGVARCHAR)
+#endif
#define IS_SQL_BINARY(x) (x == SQL_BINARY || x == SQL_VARBINARY || x == SQL_LONGVARBINARY)
#ifdef ZTS
diff --git a/ext/odbc/tests/bug60616.phpt b/ext/odbc/tests/bug60616.phpt
new file mode 100644
index 000000000..937049a9b
--- /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 f6da78e8e..fbbc3e2e0 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 4fcd5cda2..970450141 100644
--- a/ext/odbc/tests/odbc_free_result_001.phpt
+++ b/ext/odbc/tests/odbc_free_result_001.phpt
@@ -12,7 +12,7 @@ $conn = odbc_connect($dsn, $user, $pass);
odbc_exec($conn, 'CREATE DATABASE odbcTEST');
odbc_exec($conn, 'CREATE TABLE FOO (TEST INT)');
-odbc_exec($conn, 'ALTER TABLE FOO ADD PRIMARY KEY FOO(TEST)');
+odbc_exec($conn, 'ALTER TABLE FOO ADD PRIMARY KEY (TEST)');
odbc_exec($conn, 'INSERT INTO FOO VALUES (1)');
odbc_exec($conn, 'INSERT INTO FOO VALUES (2)');
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 0ec2a9a6b..05d946a54 100755
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -654,7 +654,7 @@ static time_t asn1_time_to_time_t(ASN1_UTCTIME * timestr TSRMLS_DC) /* {{{ */
return (time_t)-1;
}
- if (ASN1_STRING_length(timestr) != strlen(ASN1_STRING_data(timestr))) {
+ if (ASN1_STRING_length(timestr) != strlen((char *)ASN1_STRING_data(timestr))) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "illegal length in timestamp");
return (time_t)-1;
}
@@ -782,13 +782,13 @@ static int add_oid_section(struct php_x509_request * req TSRMLS_DC) /* {{{ */
req->config_filename, req->var, req->req_config TSRMLS_CC) == FAILURE) return FAILURE
#define SET_OPTIONAL_STRING_ARG(key, varname, defval) \
- if (optional_args && zend_hash_find(Z_ARRVAL_P(optional_args), key, sizeof(key), (void**)&item) == SUCCESS) \
+ if (optional_args && zend_hash_find(Z_ARRVAL_P(optional_args), key, sizeof(key), (void**)&item) == SUCCESS && Z_TYPE_PP(item) == IS_STRING) \
varname = Z_STRVAL_PP(item); \
else \
varname = defval
#define SET_OPTIONAL_LONG_ARG(key, varname, defval) \
- if (optional_args && zend_hash_find(Z_ARRVAL_P(optional_args), key, sizeof(key), (void**)&item) == SUCCESS) \
+ if (optional_args && zend_hash_find(Z_ARRVAL_P(optional_args), key, sizeof(key), (void**)&item) == SUCCESS && Z_TYPE_PP(item) == IS_LONG) \
varname = Z_LVAL_PP(item); \
else \
varname = defval
@@ -847,7 +847,8 @@ static int php_openssl_parse_config(struct php_x509_request * req, zval * option
}
}
- if (req->priv_key_encrypt && optional_args && zend_hash_find(Z_ARRVAL_P(optional_args), "encrypt_key_cipher", sizeof("encrypt_key_cipher"), (void**)&item) == SUCCESS) {
+ if (req->priv_key_encrypt && optional_args && zend_hash_find(Z_ARRVAL_P(optional_args), "encrypt_key_cipher", sizeof("encrypt_key_cipher"), (void**)&item) == SUCCESS
+ && Z_TYPE_PP(item) == IS_LONG) {
long cipher_algo = Z_LVAL_PP(item);
const EVP_CIPHER* cipher = php_openssl_get_evp_cipher_from_algo(cipher_algo);
if (cipher == NULL) {
@@ -1962,7 +1963,7 @@ PHP_FUNCTION(openssl_pkcs12_export_to_file)
}
/* parse extra config from args array, promote this to an extra function */
- if (args && zend_hash_find(Z_ARRVAL_P(args), "friendly_name", sizeof("friendly_name"), (void**)&item) == SUCCESS)
+ if (args && zend_hash_find(Z_ARRVAL_P(args), "friendly_name", sizeof("friendly_name"), (void**)&item) == SUCCESS && Z_TYPE_PP(item) == IS_STRING)
friendly_name = Z_STRVAL_PP(item);
/* certpbe (default RC2-40)
keypbe (default 3DES)
@@ -2040,7 +2041,7 @@ PHP_FUNCTION(openssl_pkcs12_export)
}
/* parse extra config from args array, promote this to an extra function */
- if (args && zend_hash_find(Z_ARRVAL_P(args), "friendly_name", sizeof("friendly_name"), (void**)&item) == SUCCESS)
+ if (args && zend_hash_find(Z_ARRVAL_P(args), "friendly_name", sizeof("friendly_name"), (void**)&item) == SUCCESS && Z_TYPE_PP(item) == IS_STRING)
friendly_name = Z_STRVAL_PP(item);
if (args && zend_hash_find(Z_ARRVAL_P(args), "extracerts", sizeof("extracerts"), (void**)&item) == SUCCESS)
diff --git a/ext/openssl/tests/026.phpt b/ext/openssl/tests/026.phpt
new file mode 100644
index 000000000..38d626d74
--- /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/readline/readline_cli.c b/ext/readline/readline_cli.c
index c2bf8764c..9c27acb19 100644
--- a/ext/readline/readline_cli.c
+++ b/ext/readline/readline_cli.c
@@ -99,6 +99,9 @@ static size_t readline_shell_write(const char *str, uint str_length TSRMLS_DC) /
static int readline_shell_ub_write(const char *str, uint str_length TSRMLS_DC) /* {{{ */
{
+ /* We just store the last char here and then pass back to the
+ caller (sapi_cli_single_write in sapi/cli) which will actually
+ write due to -1 return code */
php_last_char = str[str_length-1];
return -1;
}
@@ -587,6 +590,7 @@ static int readline_shell_run(TSRMLS_D) /* {{{ */
char *code = emalloc(size);
char *prompt = cli_get_prompt("php", '>' TSRMLS_CC);
char *history_file;
+ int history_lines_to_write = 0;
if (PG(auto_prepend_file) && PG(auto_prepend_file)[0]) {
zend_file_handle *prepend_file_p;
@@ -651,6 +655,7 @@ static int readline_shell_run(TSRMLS_D) /* {{{ */
if (*line) {
add_history(line);
+ history_lines_to_write += 1;
}
free(line);
@@ -660,6 +665,15 @@ static int readline_shell_run(TSRMLS_D) /* {{{ */
continue;
}
+ if (history_lines_to_write) {
+#if HAVE_LIBEDIT
+ write_history(history_file);
+#else
+ append_history(history_lines_to_write, history_file);
+#endif
+ history_lines_to_write = 0;
+ }
+
zend_try {
zend_eval_stringl(code, pos, NULL, "php shell code" TSRMLS_CC);
} zend_end_try();
@@ -667,7 +681,7 @@ static int readline_shell_run(TSRMLS_D) /* {{{ */
pos = 0;
if (!pager_pipe && php_last_char != '\0' && php_last_char != '\n') {
- readline_shell_write("\n", 1 TSRMLS_CC);
+ php_write("\n", 1 TSRMLS_CC);
}
if (EG(exception)) {
@@ -681,7 +695,6 @@ static int readline_shell_run(TSRMLS_D) /* {{{ */
php_last_char = '\0';
}
- write_history(history_file);
free(history_file);
efree(code);
efree(prompt);
diff --git a/ext/session/session.c b/ext/session/session.c
index 74a7f4a1d..306aba3a7 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -296,7 +296,8 @@ PHPAPI char *php_session_create_id(PS_CREATE_SID_ARGS) /* {{{ */
if (zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **) &array) == SUCCESS &&
Z_TYPE_PP(array) == IS_ARRAY &&
- zend_hash_find(Z_ARRVAL_PP(array), "REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **) &token) == SUCCESS
+ zend_hash_find(Z_ARRVAL_PP(array), "REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **) &token) == SUCCESS &&
+ Z_TYPE_PP(token) == IS_STRING
) {
remote_addr = Z_STRVAL_PP(token);
}
@@ -1327,9 +1328,16 @@ PHPAPI const ps_serializer *_php_find_ps_serializer(char *name TSRMLS_DC) /* {{{
}
/* }}} */
-#define PPID2SID \
- convert_to_string((*ppid)); \
- PS(id) = estrndup(Z_STRVAL_PP(ppid), Z_STRLEN_PP(ppid))
+static void ppid2sid(zval **ppid TSRMLS_DC) {
+ if (Z_TYPE_PP(ppid) != IS_STRING) {
+ PS(id) = NULL;
+ PS(send_cookie) = 1;
+ } else {
+ convert_to_string((*ppid));
+ PS(id) = estrndup(Z_STRVAL_PP(ppid), Z_STRLEN_PP(ppid));
+ PS(send_cookie) = 0;
+ }
+}
static void php_session_reset_id(TSRMLS_D) /* {{{ */
{
@@ -1418,9 +1426,8 @@ PHPAPI void php_session_start(TSRMLS_D) /* {{{ */
Z_TYPE_PP(data) == IS_ARRAY &&
zend_hash_find(Z_ARRVAL_PP(data), PS(session_name), lensess + 1, (void **) &ppid) == SUCCESS
) {
- PPID2SID;
+ ppid2sid(ppid TSRMLS_CC);
PS(apply_trans_sid) = 0;
- PS(send_cookie) = 0;
PS(define_sid) = 0;
}
@@ -1429,8 +1436,7 @@ PHPAPI void php_session_start(TSRMLS_D) /* {{{ */
Z_TYPE_PP(data) == IS_ARRAY &&
zend_hash_find(Z_ARRVAL_PP(data), PS(session_name), lensess + 1, (void **) &ppid) == SUCCESS
) {
- PPID2SID;
- PS(send_cookie) = 0;
+ ppid2sid(ppid TSRMLS_CC);
}
if (!PS(use_only_cookies) && !PS(id) &&
@@ -1438,8 +1444,7 @@ PHPAPI void php_session_start(TSRMLS_D) /* {{{ */
Z_TYPE_PP(data) == IS_ARRAY &&
zend_hash_find(Z_ARRVAL_PP(data), PS(session_name), lensess + 1, (void **) &ppid) == SUCCESS
) {
- PPID2SID;
- PS(send_cookie) = 0;
+ ppid2sid(ppid TSRMLS_CC);
}
}
diff --git a/ext/session/tests/bug66827.phpt b/ext/session/tests/bug66827.phpt
new file mode 100644
index 000000000..4e1a4f7ae
--- /dev/null
+++ b/ext/session/tests/bug66827.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Bug #66827: Session raises E_NOTICE when session name variable is array.
+--INI--
+--SKIPIF--
+<?php include('skipif.inc'); ?>
+--FILE--
+<?php
+$_COOKIE[session_name()] = array();
+session_start();
+echo 'OK';
+--EXPECTF--
+OK
diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c
index bf034ab24..ec9ce217d 100644
--- a/ext/spl/spl_array.c
+++ b/ext/spl/spl_array.c
@@ -1745,6 +1745,7 @@ SPL_METHOD(Array, unserialize)
const unsigned char *p, *s;
php_unserialize_data_t var_hash;
zval *pmembers, *pflags = NULL;
+ HashTable *aht;
long flags;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &buf, &buf_len) == FAILURE) {
@@ -1756,6 +1757,12 @@ SPL_METHOD(Array, unserialize)
return;
}
+ aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC);
+ if (aht->nApplyCount > 0) {
+ zend_error(E_WARNING, "Modification of ArrayObject during sorting is prohibited");
+ return;
+ }
+
/* storage */
s = p = (const unsigned char*)buf;
PHP_VAR_UNSERIALIZE_INIT(var_hash);
diff --git a/ext/spl/spl_dllist.c b/ext/spl/spl_dllist.c
index d9a72c1bb..b5ddfc0f5 100644
--- a/ext/spl/spl_dllist.c
+++ b/ext/spl/spl_dllist.c
@@ -43,12 +43,10 @@ PHPAPI zend_class_entry *spl_ce_SplStack;
#define SPL_LLIST_DELREF(elem) if(!--(elem)->rc) { \
efree(elem); \
- elem = NULL; \
}
#define SPL_LLIST_CHECK_DELREF(elem) if((elem) && !--(elem)->rc) { \
efree(elem); \
- elem = NULL; \
}
#define SPL_LLIST_ADDREF(elem) (elem)->rc++
@@ -916,6 +914,11 @@ SPL_METHOD(SplDoublyLinkedList, offsetUnset)
llist->dtor(element TSRMLS_CC);
}
+ if (intern->traverse_pointer == element) {
+ SPL_LLIST_DELREF(element);
+ intern->traverse_pointer = NULL;
+ }
+
zval_ptr_dtor((zval **)&element->data);
element->data = NULL;
diff --git a/ext/spl/tests/bug67538.phpt b/ext/spl/tests/bug67538.phpt
new file mode 100644
index 000000000..b6f3848c3
--- /dev/null
+++ b/ext/spl/tests/bug67538.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Bug #67538 (SPL Iterators use-after-free)
+--FILE--
+<?php
+$list = new SplDoublyLinkedList();
+$list->push('a');
+$list->push('b');
+
+$list->rewind();
+$list->offsetUnset(0);
+$list->push('b');
+$list->offsetUnset(0);
+$list->next();
+echo "okey";
+?>
+--EXPECTF--
+okey
diff --git a/ext/spl/tests/bug67539.phpt b/ext/spl/tests/bug67539.phpt
new file mode 100644
index 000000000..8bab2a8c2
--- /dev/null
+++ b/ext/spl/tests/bug67539.phpt
@@ -0,0 +1,15 @@
+--TEST--
+Bug #67539 (ArrayIterator use-after-free due to object change during sorting)
+--FILE--
+<?php
+
+$it = new ArrayIterator(array_fill(0,2,'X'), 1 );
+
+function badsort($a, $b) {
+ $GLOBALS['it']->unserialize($GLOBALS['it']->serialize());
+ return TRUE;
+}
+
+$it->uksort('badsort');
+--EXPECTF--
+Warning: Modification of ArrayObject during sorting is prohibited in %sbug67539.php on line %d
diff --git a/ext/standard/array.c b/ext/standard/array.c
index c2efca58f..06cac0e64 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -2020,7 +2020,7 @@ static void _phpi_pop(INTERNAL_FUNCTION_PARAMETERS, int off_the_end)
if (should_rehash) {
zend_hash_rehash(Z_ARRVAL_P(stack));
}
- } else if (!key_len && index >= Z_ARRVAL_P(stack)->nNextFreeElement - 1) {
+ } else if (!key_len && Z_ARRVAL_P(stack)->nNextFreeElement > 0 && index >= Z_ARRVAL_P(stack)->nNextFreeElement - 1) {
Z_ARRVAL_P(stack)->nNextFreeElement = Z_ARRVAL_P(stack)->nNextFreeElement - 1;
}
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 4d4354d4a..9a9df3094 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -2309,8 +2309,9 @@ ZEND_BEGIN_ARG_INFO(arginfo_lcfirst, 0)
ZEND_ARG_INFO(0, str)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO(arginfo_ucwords, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_ucwords, 0, 0, 1)
ZEND_ARG_INFO(0, str)
+ ZEND_ARG_INFO(0, delimiters)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_strtr, 0, 0, 2)
diff --git a/ext/standard/dns.c b/ext/standard/dns.c
index 214a7dc7e..0b5e69ca5 100644
--- a/ext/standard/dns.c
+++ b/ext/standard/dns.c
@@ -412,8 +412,14 @@ PHP_FUNCTION(dns_check_record)
#if HAVE_FULL_DNS_FUNCS
+#define CHECKCP(n) do { \
+ if (cp + n > end) { \
+ return NULL; \
+ } \
+} while (0)
+
/* {{{ php_parserr */
-static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int store, int raw, zval **subarray)
+static u_char *php_parserr(u_char *cp, u_char *end, querybuf *answer, int type_to_fetch, int store, int raw, zval **subarray)
{
u_short type, class, dlen;
u_long ttl;
@@ -425,16 +431,18 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
*subarray = NULL;
- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, sizeof(name) - 2);
+ n = dn_expand(answer->qb2, end, cp, name, sizeof(name) - 2);
if (n < 0) {
return NULL;
}
cp += n;
+ CHECKCP(10);
GETSHORT(type, cp);
GETSHORT(class, cp);
GETLONG(ttl, cp);
GETSHORT(dlen, cp);
+ CHECKCP(dlen);
if (type_to_fetch != T_ANY && type != type_to_fetch) {
cp += dlen;
return cp;
@@ -461,12 +469,14 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
switch (type) {
case DNS_T_A:
+ CHECKCP(4);
add_assoc_string(*subarray, "type", "A", 1);
snprintf(name, sizeof(name), "%d.%d.%d.%d", cp[0], cp[1], cp[2], cp[3]);
add_assoc_string(*subarray, "ip", name, 1);
cp += dlen;
break;
case DNS_T_MX:
+ CHECKCP(2);
add_assoc_string(*subarray, "type", "MX", 1);
GETSHORT(n, cp);
add_assoc_long(*subarray, "pri", n);
@@ -485,7 +495,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
if (type == DNS_T_PTR) {
add_assoc_string(*subarray, "type", "PTR", 1);
}
- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) - 2);
+ n = dn_expand(answer->qb2, end, cp, name, (sizeof name) - 2);
if (n < 0) {
return NULL;
}
@@ -495,18 +505,22 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
case DNS_T_HINFO:
/* See RFC 1010 for values */
add_assoc_string(*subarray, "type", "HINFO", 1);
+ CHECKCP(1);
n = *cp & 0xFF;
cp++;
+ CHECKCP(n);
add_assoc_stringl(*subarray, "cpu", (char*)cp, n, 1);
cp += n;
+ CHECKCP(1);
n = *cp & 0xFF;
cp++;
+ CHECKCP(n);
add_assoc_stringl(*subarray, "os", (char*)cp, n, 1);
cp += n;
break;
case DNS_T_TXT:
{
- int ll = 0;
+ int l1 = 0, l2 = 0;
zval *entries = NULL;
add_assoc_string(*subarray, "type", "TXT", 1);
@@ -515,37 +529,41 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
MAKE_STD_ZVAL(entries);
array_init(entries);
- while (ll < dlen) {
- n = cp[ll];
- if ((ll + n) >= dlen) {
+ while (l1 < dlen) {
+ n = cp[l1];
+ if ((l1 + n) >= dlen) {
// Invalid chunk length, truncate
- n = dlen - (ll + 1);
+ n = dlen - (l1 + 1);
+ }
+ if (n) {
+ memcpy(tp + l2 , cp + l1 + 1, n);
+ add_next_index_stringl(entries, cp + l1 + 1, n, 1);
}
- memcpy(tp + ll , cp + ll + 1, n);
- add_next_index_stringl(entries, cp + ll + 1, n, 1);
- ll = ll + n + 1;
+ l1 = l1 + n + 1;
+ l2 = l2 + n;
}
- tp[dlen] = '\0';
+ tp[l2] = '\0';
cp += dlen;
- add_assoc_stringl(*subarray, "txt", tp, (dlen>0)?dlen - 1:0, 0);
+ add_assoc_stringl(*subarray, "txt", tp, l2, 0);
add_assoc_zval(*subarray, "entries", entries);
}
break;
case DNS_T_SOA:
add_assoc_string(*subarray, "type", "SOA", 1);
- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) -2);
+ n = dn_expand(answer->qb2, end, cp, name, (sizeof name) -2);
if (n < 0) {
return NULL;
}
cp += n;
add_assoc_string(*subarray, "mname", name, 1);
- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) -2);
+ n = dn_expand(answer->qb2, end, cp, name, (sizeof name) -2);
if (n < 0) {
return NULL;
}
cp += n;
add_assoc_string(*subarray, "rname", name, 1);
+ CHECKCP(5*4);
GETLONG(n, cp);
add_assoc_long(*subarray, "serial", n);
GETLONG(n, cp);
@@ -559,6 +577,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
break;
case DNS_T_AAAA:
tp = (u_char*)name;
+ CHECKCP(8*2);
for(i=0; i < 8; i++) {
GETSHORT(s, cp);
if (s != 0) {
@@ -593,6 +612,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
case DNS_T_A6:
p = cp;
add_assoc_string(*subarray, "type", "A6", 1);
+ CHECKCP(1);
n = ((int)cp[0]) & 0xFF;
cp++;
add_assoc_long(*subarray, "masklen", n);
@@ -628,6 +648,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
cp++;
}
for (i = (n + 8) / 16; i < 8; i++) {
+ CHECKCP(2);
GETSHORT(s, cp);
if (s != 0) {
if (tp > (u_char *)name) {
@@ -657,7 +678,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
tp[0] = '\0';
add_assoc_string(*subarray, "ipv6", name, 1);
if (cp < p + dlen) {
- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) - 2);
+ n = dn_expand(answer->qb2, end, cp, name, (sizeof name) - 2);
if (n < 0) {
return NULL;
}
@@ -666,6 +687,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
}
break;
case DNS_T_SRV:
+ CHECKCP(3*2);
add_assoc_string(*subarray, "type", "SRV", 1);
GETSHORT(n, cp);
add_assoc_long(*subarray, "pri", n);
@@ -673,7 +695,7 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
add_assoc_long(*subarray, "weight", n);
GETSHORT(n, cp);
add_assoc_long(*subarray, "port", n);
- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) - 2);
+ n = dn_expand(answer->qb2, end, cp, name, (sizeof name) - 2);
if (n < 0) {
return NULL;
}
@@ -681,21 +703,35 @@ static u_char *php_parserr(u_char *cp, querybuf *answer, int type_to_fetch, int
add_assoc_string(*subarray, "target", name, 1);
break;
case DNS_T_NAPTR:
+ CHECKCP(2*2);
add_assoc_string(*subarray, "type", "NAPTR", 1);
GETSHORT(n, cp);
add_assoc_long(*subarray, "order", n);
GETSHORT(n, cp);
add_assoc_long(*subarray, "pref", n);
+
+ CHECKCP(1);
n = (cp[0] & 0xFF);
- add_assoc_stringl(*subarray, "flags", (char*)++cp, n, 1);
+ cp++;
+ CHECKCP(n);
+ add_assoc_stringl(*subarray, "flags", (char*)cp, n, 1);
cp += n;
+
+ CHECKCP(1);
n = (cp[0] & 0xFF);
- add_assoc_stringl(*subarray, "services", (char*)++cp, n, 1);
+ cp++;
+ CHECKCP(n);
+ add_assoc_stringl(*subarray, "services", (char*)cp, n, 1);
cp += n;
+
+ CHECKCP(1);
n = (cp[0] & 0xFF);
- add_assoc_stringl(*subarray, "regex", (char*)++cp, n, 1);
+ cp++;
+ CHECKCP(n);
+ add_assoc_stringl(*subarray, "regex", (char*)cp, n, 1);
cp += n;
- n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) - 2);
+
+ n = dn_expand(answer->qb2, end, cp, name, (sizeof name) - 2);
if (n < 0) {
return NULL;
}
@@ -888,7 +924,7 @@ PHP_FUNCTION(dns_get_record)
while (an-- && cp && cp < end) {
zval *retval;
- cp = php_parserr(cp, &answer, type_to_fetch, store_results, raw, &retval);
+ cp = php_parserr(cp, end, &answer, type_to_fetch, store_results, raw, &retval);
if (retval != NULL && store_results) {
add_next_index_zval(return_value, retval);
}
@@ -901,7 +937,7 @@ PHP_FUNCTION(dns_get_record)
while (ns-- > 0 && cp && cp < end) {
zval *retval = NULL;
- cp = php_parserr(cp, &answer, DNS_T_ANY, authns != NULL, raw, &retval);
+ cp = php_parserr(cp, end, &answer, DNS_T_ANY, authns != NULL, raw, &retval);
if (retval != NULL) {
add_next_index_zval(authns, retval);
}
@@ -913,7 +949,7 @@ PHP_FUNCTION(dns_get_record)
while (ar-- > 0 && cp && cp < end) {
zval *retval = NULL;
- cp = php_parserr(cp, &answer, DNS_T_ANY, 1, raw, &retval);
+ cp = php_parserr(cp, end, &answer, DNS_T_ANY, 1, raw, &retval);
if (retval != NULL) {
add_next_index_zval(addtl, retval);
}
diff --git a/ext/standard/info.c b/ext/standard/info.c
index 98b4a8098..786820866 100644
--- a/ext/standard/info.c
+++ b/ext/standard/info.c
@@ -600,6 +600,14 @@ PHPAPI char *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);
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 22b1957f1..7bc215987 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -2742,11 +2742,12 @@ PHP_FUNCTION(lcfirst)
Uppercase the first character of every word in a string */
PHP_FUNCTION(ucwords)
{
- char *str;
+ char *str, *delims = " \t\r\n\f\v";
register char *r, *r_end;
- int str_len;
+ int str_len, delims_len = 6;
+ char mask[256];
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s", &str, &str_len, &delims, &delims_len) == FAILURE) {
return;
}
@@ -2754,12 +2755,14 @@ PHP_FUNCTION(ucwords)
RETURN_EMPTY_STRING();
}
+ php_charmask((unsigned char *)delims, delims_len, mask TSRMLS_CC);
+
ZVAL_STRINGL(return_value, str, str_len, 1);
r = Z_STRVAL_P(return_value);
*r = toupper((unsigned char) *r);
for (r_end = r + Z_STRLEN_P(return_value) - 1; r < r_end; ) {
- if (isspace((int) *(unsigned char *)r++)) {
+ if (mask[(unsigned char)*r++]) {
*r = toupper((unsigned char) *r);
}
}
diff --git a/ext/standard/tests/array/bug67693.phpt b/ext/standard/tests/array/bug67693.phpt
new file mode 100644
index 000000000..516436c51
--- /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/strings/ucwords_error.phpt b/ext/standard/tests/strings/ucwords_error.phpt
index d79e569cc..a01c688c4 100644
--- a/ext/standard/tests/strings/ucwords_error.phpt
+++ b/ext/standard/tests/strings/ucwords_error.phpt
@@ -18,7 +18,7 @@ echo "\n-- Testing ucwords() function with more than expected no. of arguments -
$str = 'string_val';
$extra_arg = 10;
-var_dump( ucwords($str, $extra_arg) );
+var_dump( ucwords($str, $extra_arg, $extra_arg) );
// check if there were any changes made to $str
var_dump($str);
@@ -30,12 +30,12 @@ echo "Done\n";
-- Testing ucwords() function with Zero arguments --
-Warning: ucwords() expects exactly 1 parameter, 0 given in %s on line %d
+Warning: ucwords() expects at least 1 parameter, 0 given in %s on line %d
NULL
-- Testing ucwords() function with more than expected no. of arguments --
-Warning: ucwords() expects exactly 1 parameter, 2 given in %s on line %d
+Warning: ucwords() expects at most 2 parameters, 3 given in %s on line %d
NULL
string(10) "string_val"
Done
diff --git a/ext/standard/tests/strings/ucwords_variation5.phpt b/ext/standard/tests/strings/ucwords_variation5.phpt
new file mode 100644
index 000000000..985df47c4
--- /dev/null
+++ b/ext/standard/tests/strings/ucwords_variation5.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Test ucwords() function : usage variations - custom delimiters
+--FILE--
+<?php
+/* Prototype : string ucwords ( string $str )
+ * Description: Uppercase the first character of each word in a string
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing ucwords() : usage variations ***\n";
+
+var_dump(ucwords('testing-dashed-words', '-'));
+var_dump(ucwords('test(braced)words', '()'));
+var_dump(ucwords('testing empty delimiters', ''));
+var_dump(ucwords('testing ranges', 'a..e'));
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing ucwords() : usage variations ***
+string(%d) "Testing-Dashed-Words"
+string(%d) "Test(Braced)Words"
+string(%d) "Testing empty delimiters"
+string(%d) "TeSting raNgeS"
+Done
diff --git a/main/network.c b/main/network.c
index 59ce12ef2..5e44b0e6a 100644
--- a/main/network.c
+++ b/main/network.c
@@ -989,6 +989,7 @@ PHPAPI char *php_socket_strerror(long err, char *buf, size_t bufsize)
buf = estrdup(errstr);
} else {
strncpy(buf, errstr, bufsize);
+ buf[bufsize?(bufsize-1):0] = 0;
}
return buf;
#else
@@ -1013,6 +1014,7 @@ PHPAPI char *php_socket_strerror(long err, char *buf, size_t bufsize)
buf = estrdup(sysbuf);
} else {
strncpy(buf, sysbuf, bufsize);
+ buf[bufsize?(bufsize-1):0] = 0;
}
if (free_it) {
diff --git a/main/php_version.h b/main/php_version.h
index 7603271ce..8d3d5b9e6 100644
--- a/main/php_version.h
+++ b/main/php_version.h
@@ -2,8 +2,8 @@
/* edit configure.in to change version number */
#define PHP_MAJOR_VERSION 5
#define PHP_MINOR_VERSION 4
-#define PHP_RELEASE_VERSION 31
+#define PHP_RELEASE_VERSION 32
#define PHP_EXTRA_VERSION ""
-#define PHP_VERSION "5.4.31"
-#define PHP_VERSION_ID 50431
+#define PHP_VERSION "5.4.32"
+#define PHP_VERSION_ID 50432
diff --git a/pear/install-pear-nozlib.phar b/pear/install-pear-nozlib.phar
index cdd4ba1c8..cd9b7bc5b 100644
--- a/pear/install-pear-nozlib.phar
+++ b/pear/install-pear-nozlib.phar
@@ -1234,11 +1234,11 @@ if (extension_loaded('phar')) {if (isset($_SERVER) && isset($_SERVER['REQUEST_UR
require_once 'phar://install-pear-nozlib.phar/index.php';
-__HALT_COMPILER();
-
-
-0¤/m
-
+__HALT_COMPILER();
+
+
+0¤/m
+
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
/**
@@ -1284,75 +1284,98 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR.php';
define('ARCHIVE_TAR_ATT_SEPARATOR', 90001);
define('ARCHIVE_TAR_END_BLOCK', pack("a512", ''));
+if (!function_exists('gzopen') && function_exists('gzopen64')) {
+ function gzopen($filename, $mode, $use_include_path = 0)
+ {
+ gzopen64($filename, $mode, $use_include_path);
+ }
+}
+
+if (!function_exists('gztell') && function_exists('gztell64')) {
+ function gztell($zp)
+ {
+ gztell64($zp);
+ }
+}
+
+if (!function_exists('gzseek') && function_exists('gzseek64')) {
+ function gzseek($zp, $offset, $whence = SEEK_SET)
+ {
+ gzseek64($zp, $offset, $whence);
+ }
+}
+
/**
-* Creates a (compressed) Tar archive
-*
-* @package Archive_Tar
-* @author Vincent Blavet <vincent@phpconcept.net>
-* @license http://www.opensource.org/licenses/bsd-license.php New BSD License
-* @version $Revision$
-*/
+ * Creates a (compressed) Tar archive
+ *
+ * @package Archive_Tar
+ * @author Vincent Blavet <vincent@phpconcept.net>
+ * @license http://www.opensource.org/licenses/bsd-license.php New BSD License
+ * @version $Revision$
+ */
class Archive_Tar extends PEAR
{
/**
- * @var string Name of the Tar
- */
- var $_tarname='';
+ * @var string Name of the Tar
+ */
+ var $_tarname = '';
/**
- * @var boolean if true, the Tar file will be gzipped
- */
- var $_compress=false;
+ * @var boolean if true, the Tar file will be gzipped
+ */
+ var $_compress = false;
/**
- * @var string Type of compression : 'none', 'gz' or 'bz2'
- */
- var $_compress_type='none';
+ * @var string Type of compression : 'none', 'gz', 'bz2' or 'lzma2'
+ */
+ var $_compress_type = 'none';
/**
- * @var string Explode separator
- */
- var $_separator=' ';
+ * @var string Explode separator
+ */
+ var $_separator = ' ';
/**
- * @var file descriptor
- */
- var $_file=0;
+ * @var file descriptor
+ */
+ var $_file = 0;
/**
- * @var string Local Tar name of a remote Tar (http:// or ftp://)
- */
- var $_temp_tarname='';
+ * @var string Local Tar name of a remote Tar (http:// or ftp://)
+ */
+ var $_temp_tarname = '';
/**
- * @var string regular expression for ignoring files or directories
- */
- var $_ignore_regexp='';
+ * @var string regular expression for ignoring files or directories
+ */
+ var $_ignore_regexp = '';
/**
* @var object PEAR_Error object
*/
- var $error_object=null;
+ var $error_object = null;
// {{{ constructor
/**
- * Archive_Tar Class constructor. This flavour of the constructor only
- * declare a new Archive_Tar object, identifying it by the name of the
- * tar file.
- * If the compress argument is set the tar will be read or created as a
- * gzip or bz2 compressed TAR file.
- *
- * @param string $p_tarname The name of the tar archive to create
- * @param string $p_compress can be null, 'gz' or 'bz2'. This
- * parameter indicates if gzip or bz2 compression
- * is required. For compatibility reason the
- * boolean value 'true' means 'gz'.
- *
- * @access public
- */
+ * Archive_Tar Class constructor. This flavour of the constructor only
+ * declare a new Archive_Tar object, identifying it by the name of the
+ * tar file.
+ * If the compress argument is set the tar will be read or created as a
+ * gzip or bz2 compressed TAR file.
+ *
+ * @param string $p_tarname The name of the tar archive to create
+ * @param string $p_compress can be null, 'gz', 'bz2' or 'lzma2'. This
+ * parameter indicates if gzip, bz2 or lzma2 compression
+ * is required. For compatibility reason the
+ * boolean value 'true' means 'gz'.
+ *
+ * @access public
+ */
function Archive_Tar($p_tarname, $p_compress = null)
{
- $this->PEAR();
+ if (version_compare(PHP_VERSION, '5.0.0', '<')) {
+ $this->PEAR();
+ }
$this->_compress = false;
$this->_compress_type = 'none';
if (($p_compress === null) || ($p_compress == '')) {
@@ -1368,6 +1391,9 @@ class Archive_Tar extends PEAR
} elseif ($data == "BZ") {
$this->_compress = true;
$this->_compress_type = 'bz2';
+ } elseif (file_get_contents($p_tarname, false, null, 1, 4) == '7zXZ') {
+ $this->_compress = true;
+ $this->_compress_type = 'lzma2';
}
}
} else {
@@ -1377,42 +1403,67 @@ class Archive_Tar extends PEAR
$this->_compress = true;
$this->_compress_type = 'gz';
} elseif ((substr($p_tarname, -3) == 'bz2') ||
- (substr($p_tarname, -2) == 'bz')) {
+ (substr($p_tarname, -2) == 'bz')
+ ) {
$this->_compress = true;
$this->_compress_type = 'bz2';
+ } else {
+ if (substr($p_tarname, -2) == 'xz') {
+ $this->_compress = true;
+ $this->_compress_type = 'lzma2';
+ }
}
}
} else {
if (($p_compress === true) || ($p_compress == 'gz')) {
$this->_compress = true;
$this->_compress_type = 'gz';
- } else if ($p_compress == 'bz2') {
- $this->_compress = true;
- $this->_compress_type = 'bz2';
} else {
- $this->_error("Unsupported compression type '$p_compress'\n".
- "Supported types are 'gz' and 'bz2'.\n");
- return false;
+ if ($p_compress == 'bz2') {
+ $this->_compress = true;
+ $this->_compress_type = 'bz2';
+ } else {
+ if ($p_compress == 'lzma2') {
+ $this->_compress = true;
+ $this->_compress_type = 'lzma2';
+ } else {
+ $this->_error(
+ "Unsupported compression type '$p_compress'\n" .
+ "Supported types are 'gz', 'bz2' and 'lzma2'.\n"
+ );
+ return false;
+ }
+ }
}
}
$this->_tarname = $p_tarname;
- if ($this->_compress) { // assert zlib or bz2 extension support
- if ($this->_compress_type == 'gz')
+ if ($this->_compress) { // assert zlib or bz2 or xz extension support
+ if ($this->_compress_type == 'gz') {
$extname = 'zlib';
- else if ($this->_compress_type == 'bz2')
- $extname = 'bz2';
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ $extname = 'bz2';
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ $extname = 'xz';
+ }
+ }
+ }
if (!extension_loaded($extname)) {
PEAR::loadExtension($extname);
}
if (!extension_loaded($extname)) {
- $this->_error("The extension '$extname' couldn't be found.\n".
- "Please make sure your version of PHP was built ".
- "with '$extname' support.\n");
+ $this->_error(
+ "The extension '$extname' couldn't be found.\n" .
+ "Please make sure your version of PHP was built " .
+ "with '$extname' support.\n"
+ );
return false;
}
}
}
+
// }}}
// {{{ destructor
@@ -1420,69 +1471,82 @@ class Archive_Tar extends PEAR
{
$this->_close();
// ----- Look for a local copy to delete
- if ($this->_temp_tarname != '')
+ if ($this->_temp_tarname != '') {
@unlink($this->_temp_tarname);
+ }
$this->_PEAR();
}
+
+ // }}}
+
+ // {{{ PHP5-compatible destructor
+ function __destruct()
+ {
+ $this->_Archive_Tar();
+ }
+
// }}}
// {{{ create()
/**
- * This method creates the archive file and add the files / directories
- * that are listed in $p_filelist.
- * If a file with the same name exist and is writable, it is replaced
- * by the new tar.
- * The method return false and a PEAR error text.
- * The $p_filelist parameter can be an array of string, each string
- * representing a filename or a directory name with their path if
- * needed. It can also be a single string with names separated by a
- * single blank.
- * For each directory added in the archive, the files and
- * sub-directories are also added.
- * See also createModify() method for more details.
- *
- * @param array $p_filelist An array of filenames and directory names, or a
- * single string with names separated by a single
- * blank space.
- *
- * @return true on success, false on error.
- * @see createModify()
- * @access public
- */
+ * This method creates the archive file and add the files / directories
+ * that are listed in $p_filelist.
+ * If a file with the same name exist and is writable, it is replaced
+ * by the new tar.
+ * The method return false and a PEAR error text.
+ * The $p_filelist parameter can be an array of string, each string
+ * representing a filename or a directory name with their path if
+ * needed. It can also be a single string with names separated by a
+ * single blank.
+ * For each directory added in the archive, the files and
+ * sub-directories are also added.
+ * See also createModify() method for more details.
+ *
+ * @param array $p_filelist An array of filenames and directory names, or a
+ * single string with names separated by a single
+ * blank space.
+ *
+ * @return true on success, false on error.
+ * @see createModify()
+ * @access public
+ */
function create($p_filelist)
{
return $this->createModify($p_filelist, '', '');
}
+
// }}}
// {{{ add()
/**
- * This method add the files / directories that are listed in $p_filelist in
- * the archive. If the archive does not exist it is created.
- * The method return false and a PEAR error text.
- * The files and directories listed are only added at the end of the archive,
- * even if a file with the same name is already archived.
- * See also createModify() method for more details.
- *
- * @param array $p_filelist An array of filenames and directory names, or a
- * single string with names separated by a single
- * blank space.
- *
- * @return true on success, false on error.
- * @see createModify()
- * @access public
- */
+ * This method add the files / directories that are listed in $p_filelist in
+ * the archive. If the archive does not exist it is created.
+ * The method return false and a PEAR error text.
+ * The files and directories listed are only added at the end of the archive,
+ * even if a file with the same name is already archived.
+ * See also createModify() method for more details.
+ *
+ * @param array $p_filelist An array of filenames and directory names, or a
+ * single string with names separated by a single
+ * blank space.
+ *
+ * @return true on success, false on error.
+ * @see createModify()
+ * @access public
+ */
function add($p_filelist)
{
return $this->addModify($p_filelist, '', '');
}
+
// }}}
// {{{ extract()
- function extract($p_path='', $p_preserve=false)
+ function extract($p_path = '', $p_preserve = false)
{
return $this->extractModify($p_path, '', $p_preserve);
}
+
// }}}
// {{{ listContent()
@@ -1500,58 +1564,60 @@ class Archive_Tar extends PEAR
return $v_list_detail;
}
+
// }}}
// {{{ createModify()
/**
- * This method creates the archive file and add the files / directories
- * that are listed in $p_filelist.
- * If the file already exists and is writable, it is replaced by the
- * new tar. It is a create and not an add. If the file exists and is
- * read-only or is a directory it is not replaced. The method return
- * false and a PEAR error text.
- * The $p_filelist parameter can be an array of string, each string
- * representing a filename or a directory name with their path if
- * needed. It can also be a single string with names separated by a
- * single blank.
- * The path indicated in $p_remove_dir will be removed from the
- * memorized path of each file / directory listed when this path
- * exists. By default nothing is removed (empty path '')
- * The path indicated in $p_add_dir will be added at the beginning of
- * the memorized path of each file / directory listed. However it can
- * be set to empty ''. The adding of a path is done after the removing
- * of path.
- * The path add/remove ability enables the user to prepare an archive
- * for extraction in a different path than the origin files are.
- * See also addModify() method for file adding properties.
- *
- * @param array $p_filelist An array of filenames and directory names,
- * or a single string with names separated by
- * a single blank space.
- * @param string $p_add_dir A string which contains a path to be added
- * to the memorized path of each element in
- * the list.
- * @param string $p_remove_dir A string which contains a path to be
- * removed from the memorized path of each
- * element in the list, when relevant.
- *
- * @return boolean true on success, false on error.
- * @access public
- * @see addModify()
- */
- function createModify($p_filelist, $p_add_dir, $p_remove_dir='')
+ * This method creates the archive file and add the files / directories
+ * that are listed in $p_filelist.
+ * If the file already exists and is writable, it is replaced by the
+ * new tar. It is a create and not an add. If the file exists and is
+ * read-only or is a directory it is not replaced. The method return
+ * false and a PEAR error text.
+ * The $p_filelist parameter can be an array of string, each string
+ * representing a filename or a directory name with their path if
+ * needed. It can also be a single string with names separated by a
+ * single blank.
+ * The path indicated in $p_remove_dir will be removed from the
+ * memorized path of each file / directory listed when this path
+ * exists. By default nothing is removed (empty path '')
+ * The path indicated in $p_add_dir will be added at the beginning of
+ * the memorized path of each file / directory listed. However it can
+ * be set to empty ''. The adding of a path is done after the removing
+ * of path.
+ * The path add/remove ability enables the user to prepare an archive
+ * for extraction in a different path than the origin files are.
+ * See also addModify() method for file adding properties.
+ *
+ * @param array $p_filelist An array of filenames and directory names,
+ * or a single string with names separated by
+ * a single blank space.
+ * @param string $p_add_dir A string which contains a path to be added
+ * to the memorized path of each element in
+ * the list.
+ * @param string $p_remove_dir A string which contains a path to be
+ * removed from the memorized path of each
+ * element in the list, when relevant.
+ *
+ * @return boolean true on success, false on error.
+ * @access public
+ * @see addModify()
+ */
+ function createModify($p_filelist, $p_add_dir, $p_remove_dir = '')
{
$v_result = true;
- if (!$this->_openWrite())
+ if (!$this->_openWrite()) {
return false;
+ }
if ($p_filelist != '') {
- if (is_array($p_filelist))
+ if (is_array($p_filelist)) {
$v_list = $p_filelist;
- elseif (is_string($p_filelist))
+ } elseif (is_string($p_filelist)) {
$v_list = explode($this->_separator, $p_filelist);
- else {
+ } else {
$this->_cleanFile();
$this->_error('Invalid file list');
return false;
@@ -1563,68 +1629,73 @@ class Archive_Tar extends PEAR
if ($v_result) {
$this->_writeFooter();
$this->_close();
- } else
+ } else {
$this->_cleanFile();
+ }
return $v_result;
}
+
// }}}
// {{{ addModify()
/**
- * This method add the files / directories listed in $p_filelist at the
- * end of the existing archive. If the archive does not yet exists it
- * is created.
- * The $p_filelist parameter can be an array of string, each string
- * representing a filename or a directory name with their path if
- * needed. It can also be a single string with names separated by a
- * single blank.
- * The path indicated in $p_remove_dir will be removed from the
- * memorized path of each file / directory listed when this path
- * exists. By default nothing is removed (empty path '')
- * The path indicated in $p_add_dir will be added at the beginning of
- * the memorized path of each file / directory listed. However it can
- * be set to empty ''. The adding of a path is done after the removing
- * of path.
- * The path add/remove ability enables the user to prepare an archive
- * for extraction in a different path than the origin files are.
- * If a file/dir is already in the archive it will only be added at the
- * end of the archive. There is no update of the existing archived
- * file/dir. However while extracting the archive, the last file will
- * replace the first one. This results in a none optimization of the
- * archive size.
- * If a file/dir does not exist the file/dir is ignored. However an
- * error text is send to PEAR error.
- * If a file/dir is not readable the file/dir is ignored. However an
- * error text is send to PEAR error.
- *
- * @param array $p_filelist An array of filenames and directory
- * names, or a single string with names
- * separated by a single blank space.
- * @param string $p_add_dir A string which contains a path to be
- * added to the memorized path of each
- * element in the list.
- * @param string $p_remove_dir A string which contains a path to be
- * removed from the memorized path of
- * each element in the list, when
- * relevant.
- *
- * @return true on success, false on error.
- * @access public
- */
- function addModify($p_filelist, $p_add_dir, $p_remove_dir='')
+ * This method add the files / directories listed in $p_filelist at the
+ * end of the existing archive. If the archive does not yet exists it
+ * is created.
+ * The $p_filelist parameter can be an array of string, each string
+ * representing a filename or a directory name with their path if
+ * needed. It can also be a single string with names separated by a
+ * single blank.
+ * The path indicated in $p_remove_dir will be removed from the
+ * memorized path of each file / directory listed when this path
+ * exists. By default nothing is removed (empty path '')
+ * The path indicated in $p_add_dir will be added at the beginning of
+ * the memorized path of each file / directory listed. However it can
+ * be set to empty ''. The adding of a path is done after the removing
+ * of path.
+ * The path add/remove ability enables the user to prepare an archive
+ * for extraction in a different path than the origin files are.
+ * If a file/dir is already in the archive it will only be added at the
+ * end of the archive. There is no update of the existing archived
+ * file/dir. However while extracting the archive, the last file will
+ * replace the first one. This results in a none optimization of the
+ * archive size.
+ * If a file/dir does not exist the file/dir is ignored. However an
+ * error text is send to PEAR error.
+ * If a file/dir is not readable the file/dir is ignored. However an
+ * error text is send to PEAR error.
+ *
+ * @param array $p_filelist An array of filenames and directory
+ * names, or a single string with names
+ * separated by a single blank space.
+ * @param string $p_add_dir A string which contains a path to be
+ * added to the memorized path of each
+ * element in the list.
+ * @param string $p_remove_dir A string which contains a path to be
+ * removed from the memorized path of
+ * each element in the list, when
+ * relevant.
+ *
+ * @return true on success, false on error.
+ * @access public
+ */
+ function addModify($p_filelist, $p_add_dir, $p_remove_dir = '')
{
$v_result = true;
- if (!$this->_isArchive())
- $v_result = $this->createModify($p_filelist, $p_add_dir,
- $p_remove_dir);
- else {
- if (is_array($p_filelist))
+ if (!$this->_isArchive()) {
+ $v_result = $this->createModify(
+ $p_filelist,
+ $p_add_dir,
+ $p_remove_dir
+ );
+ } else {
+ if (is_array($p_filelist)) {
$v_list = $p_filelist;
- elseif (is_string($p_filelist))
+ } elseif (is_string($p_filelist)) {
$v_list = explode($this->_separator, $p_filelist);
- else {
+ } else {
$this->_error('Invalid file list');
return false;
}
@@ -1634,27 +1705,45 @@ class Archive_Tar extends PEAR
return $v_result;
}
+
// }}}
// {{{ addString()
/**
- * This method add a single string as a file at the
- * end of the existing archive. If the archive does not yet exists it
- * is created.
- *
- * @param string $p_filename A string which contains the full
- * filename path that will be associated
- * with the string.
- * @param string $p_string The content of the file added in
- * the archive.
- * @param int $p_datetime A custom date/time (unix timestamp)
- * for the file (optional).
- *
- * @return true on success, false on error.
- * @access public
- */
- function addString($p_filename, $p_string, $p_datetime = false)
+ * This method add a single string as a file at the
+ * end of the existing archive. If the archive does not yet exists it
+ * is created.
+ *
+ * @param string $p_filename A string which contains the full
+ * filename path that will be associated
+ * with the string.
+ * @param string $p_string The content of the file added in
+ * the archive.
+ * @param int $p_datetime A custom date/time (unix timestamp)
+ * for the file (optional).
+ * @param array $p_params An array of optional params:
+ * stamp => the datetime (replaces
+ * datetime above if it exists)
+ * mode => the permissions on the
+ * file (600 by default)
+ * type => is this a link? See the
+ * tar specification for details.
+ * (default = regular file)
+ * uid => the user ID of the file
+ * (default = 0 = root)
+ * gid => the group ID of the file
+ * (default = 0 = root)
+ *
+ * @return true on success, false on error.
+ * @access public
+ */
+ function addString($p_filename, $p_string, $p_datetime = false, $p_params = array())
{
+ $p_stamp = @$p_params["stamp"] ? $p_params["stamp"] : ($p_datetime ? $p_datetime : time());
+ $p_mode = @$p_params["mode"] ? $p_params["mode"] : 0600;
+ $p_type = @$p_params["type"] ? $p_params["type"] : "";
+ $p_uid = @$p_params["uid"] ? $p_params["uid"] : "";
+ $p_gid = @$p_params["gid"] ? $p_params["gid"] : "";
$v_result = true;
if (!$this->_isArchive()) {
@@ -1664,11 +1753,12 @@ class Archive_Tar extends PEAR
$this->_close();
}
- if (!$this->_openAppend())
+ if (!$this->_openAppend()) {
return false;
+ }
// Need to check the get back to the temporary file ? ....
- $v_result = $this->_addString($p_filename, $p_string, $p_datetime);
+ $v_result = $this->_addString($p_filename, $p_string, $p_datetime, $p_params);
$this->_writeFooter();
@@ -1676,69 +1766,77 @@ class Archive_Tar extends PEAR
return $v_result;
}
+
// }}}
// {{{ extractModify()
/**
- * This method extract all the content of the archive in the directory
- * indicated by $p_path. When relevant the memorized path of the
- * files/dir can be modified by removing the $p_remove_path path at the
- * beginning of the file/dir path.
- * While extracting a file, if the directory path does not exists it is
- * created.
- * While extracting a file, if the file already exists it is replaced
- * without looking for last modification date.
- * While extracting a file, if the file already exists and is write
- * protected, the extraction is aborted.
- * While extracting a file, if a directory with the same name already
- * exists, the extraction is aborted.
- * While extracting a directory, if a file with the same name already
- * exists, the extraction is aborted.
- * While extracting a file/directory if the destination directory exist
- * and is write protected, or does not exist but can not be created,
- * the extraction is aborted.
- * If after extraction an extracted file does not show the correct
- * stored file size, the extraction is aborted.
- * When the extraction is aborted, a PEAR error text is set and false
- * is returned. However the result can be a partial extraction that may
- * need to be manually cleaned.
- *
- * @param string $p_path The path of the directory where the
- * files/dir need to by extracted.
- * @param string $p_remove_path Part of the memorized path that can be
- * removed if present at the beginning of
- * the file/dir path.
- * @param boolean $p_preserve Preserve user/group ownership of files
- *
- * @return boolean true on success, false on error.
- * @access public
- * @see extractList()
- */
- function extractModify($p_path, $p_remove_path, $p_preserve=false)
+ * This method extract all the content of the archive in the directory
+ * indicated by $p_path. When relevant the memorized path of the
+ * files/dir can be modified by removing the $p_remove_path path at the
+ * beginning of the file/dir path.
+ * While extracting a file, if the directory path does not exists it is
+ * created.
+ * While extracting a file, if the file already exists it is replaced
+ * without looking for last modification date.
+ * While extracting a file, if the file already exists and is write
+ * protected, the extraction is aborted.
+ * While extracting a file, if a directory with the same name already
+ * exists, the extraction is aborted.
+ * While extracting a directory, if a file with the same name already
+ * exists, the extraction is aborted.
+ * While extracting a file/directory if the destination directory exist
+ * and is write protected, or does not exist but can not be created,
+ * the extraction is aborted.
+ * If after extraction an extracted file does not show the correct
+ * stored file size, the extraction is aborted.
+ * When the extraction is aborted, a PEAR error text is set and false
+ * is returned. However the result can be a partial extraction that may
+ * need to be manually cleaned.
+ *
+ * @param string $p_path The path of the directory where the
+ * files/dir need to by extracted.
+ * @param string $p_remove_path Part of the memorized path that can be
+ * removed if present at the beginning of
+ * the file/dir path.
+ * @param boolean $p_preserve Preserve user/group ownership of files
+ *
+ * @return boolean true on success, false on error.
+ * @access public
+ * @see extractList()
+ */
+ function extractModify($p_path, $p_remove_path, $p_preserve = false)
{
$v_result = true;
$v_list_detail = array();
if ($v_result = $this->_openRead()) {
- $v_result = $this->_extractList($p_path, $v_list_detail,
- "complete", 0, $p_remove_path, $p_preserve);
+ $v_result = $this->_extractList(
+ $p_path,
+ $v_list_detail,
+ "complete",
+ 0,
+ $p_remove_path,
+ $p_preserve
+ );
$this->_close();
}
return $v_result;
}
+
// }}}
// {{{ extractInString()
/**
- * This method extract from the archive one file identified by $p_filename.
- * The return value is a string with the file content, or NULL on error.
- *
- * @param string $p_filename The path of the file to extract in a string.
- *
- * @return a string with the file content or NULL.
- * @access public
- */
+ * This method extract from the archive one file identified by $p_filename.
+ * The return value is a string with the file content, or NULL on error.
+ *
+ * @param string $p_filename The path of the file to extract in a string.
+ *
+ * @return a string with the file content or NULL.
+ * @access public
+ */
function extractInString($p_filename)
{
if ($this->_openRead()) {
@@ -1750,65 +1848,73 @@ class Archive_Tar extends PEAR
return $v_result;
}
+
// }}}
// {{{ extractList()
/**
- * This method extract from the archive only the files indicated in the
- * $p_filelist. These files are extracted in the current directory or
- * in the directory indicated by the optional $p_path parameter.
- * If indicated the $p_remove_path can be used in the same way as it is
- * used in extractModify() method.
- *
- * @param array $p_filelist An array of filenames and directory names,
- * or a single string with names separated
- * by a single blank space.
- * @param string $p_path The path of the directory where the
- * files/dir need to by extracted.
- * @param string $p_remove_path Part of the memorized path that can be
- * removed if present at the beginning of
- * the file/dir path.
- * @param boolean $p_preserve Preserve user/group ownership of files
- *
- * @return true on success, false on error.
- * @access public
- * @see extractModify()
- */
- function extractList($p_filelist, $p_path='', $p_remove_path='', $p_preserve=false)
+ * This method extract from the archive only the files indicated in the
+ * $p_filelist. These files are extracted in the current directory or
+ * in the directory indicated by the optional $p_path parameter.
+ * If indicated the $p_remove_path can be used in the same way as it is
+ * used in extractModify() method.
+ *
+ * @param array $p_filelist An array of filenames and directory names,
+ * or a single string with names separated
+ * by a single blank space.
+ * @param string $p_path The path of the directory where the
+ * files/dir need to by extracted.
+ * @param string $p_remove_path Part of the memorized path that can be
+ * removed if present at the beginning of
+ * the file/dir path.
+ * @param boolean $p_preserve Preserve user/group ownership of files
+ *
+ * @return true on success, false on error.
+ * @access public
+ * @see extractModify()
+ */
+ function extractList($p_filelist, $p_path = '', $p_remove_path = '', $p_preserve = false)
{
$v_result = true;
$v_list_detail = array();
- if (is_array($p_filelist))
+ if (is_array($p_filelist)) {
$v_list = $p_filelist;
- elseif (is_string($p_filelist))
+ } elseif (is_string($p_filelist)) {
$v_list = explode($this->_separator, $p_filelist);
- else {
+ } else {
$this->_error('Invalid string list');
return false;
}
if ($v_result = $this->_openRead()) {
- $v_result = $this->_extractList($p_path, $v_list_detail, "partial",
- $v_list, $p_remove_path, $p_preserve);
+ $v_result = $this->_extractList(
+ $p_path,
+ $v_list_detail,
+ "partial",
+ $v_list,
+ $p_remove_path,
+ $p_preserve
+ );
$this->_close();
}
return $v_result;
}
+
// }}}
// {{{ setAttribute()
/**
- * This method set specific attributes of the archive. It uses a variable
- * list of parameters, in the format attribute code + attribute values :
- * $arch->setAttribute(ARCHIVE_TAR_ATT_SEPARATOR, ',');
- *
- * @param mixed $argv variable list of attributes and values
- *
- * @return true on success, false on error.
- * @access public
- */
+ * This method set specific attributes of the archive. It uses a variable
+ * list of parameters, in the format attribute code + attribute values :
+ * $arch->setAttribute(ARCHIVE_TAR_ATT_SEPARATOR, ',');
+ *
+ * @param mixed $argv variable list of attributes and values
+ *
+ * @return true on success, false on error.
+ * @access public
+ */
function setAttribute()
{
$v_result = true;
@@ -1819,30 +1925,32 @@ class Archive_Tar extends PEAR
}
// ----- Get the arguments
- $v_att_list = &func_get_args();
+ $v_att_list = & func_get_args();
// ----- Read the attributes
- $i=0;
- while ($i<$v_size) {
+ $i = 0;
+ while ($i < $v_size) {
// ----- Look for next option
switch ($v_att_list[$i]) {
// ----- Look for options that request a string value
case ARCHIVE_TAR_ATT_SEPARATOR :
// ----- Check the number of parameters
- if (($i+1) >= $v_size) {
- $this->_error('Invalid number of parameters for '
- .'attribute ARCHIVE_TAR_ATT_SEPARATOR');
+ if (($i + 1) >= $v_size) {
+ $this->_error(
+ 'Invalid number of parameters for '
+ . 'attribute ARCHIVE_TAR_ATT_SEPARATOR'
+ );
return false;
}
// ----- Get the value
- $this->_separator = $v_att_list[$i+1];
+ $this->_separator = $v_att_list[$i + 1];
$i++;
- break;
+ break;
default :
- $this->_error('Unknow attribute code '.$v_att_list[$i].'');
+ $this->_error('Unknow attribute code ' . $v_att_list[$i] . '');
return false;
}
@@ -1852,58 +1960,63 @@ class Archive_Tar extends PEAR
return $v_result;
}
+
// }}}
// {{{ setIgnoreRegexp()
/**
- * This method sets the regular expression for ignoring files and directories
- * at import, for example:
- * $arch->setIgnoreRegexp("#CVS|\.svn#");
- *
- * @param string $regexp regular expression defining which files or directories to ignore
- *
- * @access public
- */
+ * This method sets the regular expression for ignoring files and directories
+ * at import, for example:
+ * $arch->setIgnoreRegexp("#CVS|\.svn#");
+ *
+ * @param string $regexp regular expression defining which files or directories to ignore
+ *
+ * @access public
+ */
function setIgnoreRegexp($regexp)
{
- $this->_ignore_regexp = $regexp;
+ $this->_ignore_regexp = $regexp;
}
+
// }}}
// {{{ setIgnoreList()
/**
- * This method sets the regular expression for ignoring all files and directories
- * matching the filenames in the array list at import, for example:
- * $arch->setIgnoreList(array('CVS', '.svn', 'bin/tool'));
- *
- * @param array $list a list of file or directory names to ignore
- *
- * @access public
- */
+ * This method sets the regular expression for ignoring all files and directories
+ * matching the filenames in the array list at import, for example:
+ * $arch->setIgnoreList(array('CVS', '.svn', 'bin/tool'));
+ *
+ * @param array $list a list of file or directory names to ignore
+ *
+ * @access public
+ */
function setIgnoreList($list)
{
- $regexp = str_replace(array('#', '.', '^', '$'), array('\#', '\.', '\^', '\$'), $list);
- $regexp = '#/'.join('$|/', $list).'#';
- $this->setIgnoreRegexp($regexp);
+ $regexp = str_replace(array('#', '.', '^', '$'), array('\#', '\.', '\^', '\$'), $list);
+ $regexp = '#/' . join('$|/', $list) . '#';
+ $this->setIgnoreRegexp($regexp);
}
+
// }}}
// {{{ _error()
function _error($p_message)
{
- $this->error_object = &$this->raiseError($p_message);
+ $this->error_object = & $this->raiseError($p_message);
}
+
// }}}
// {{{ _warning()
function _warning($p_message)
{
- $this->error_object = &$this->raiseError($p_message);
+ $this->error_object = & $this->raiseError($p_message);
}
+
// }}}
// {{{ _isArchive()
- function _isArchive($p_filename=null)
+ function _isArchive($p_filename = null)
{
if ($p_filename == null) {
$p_filename = $this->_tarname;
@@ -1911,31 +2024,45 @@ class Archive_Tar extends PEAR
clearstatcache();
return @is_file($p_filename) && !@is_link($p_filename);
}
+
// }}}
// {{{ _openWrite()
function _openWrite()
{
- if ($this->_compress_type == 'gz' && function_exists('gzopen'))
+ if ($this->_compress_type == 'gz' && function_exists('gzopen')) {
$this->_file = @gzopen($this->_tarname, "wb9");
- else if ($this->_compress_type == 'bz2' && function_exists('bzopen'))
- $this->_file = @bzopen($this->_tarname, "w");
- else if ($this->_compress_type == 'none')
- $this->_file = @fopen($this->_tarname, "wb");
- else {
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
- return false;
+ } else {
+ if ($this->_compress_type == 'bz2' && function_exists('bzopen')) {
+ $this->_file = @bzopen($this->_tarname, "w");
+ } else {
+ if ($this->_compress_type == 'lzma2' && function_exists('xzopen')) {
+ $this->_file = @xzopen($this->_tarname, 'w');
+ } else {
+ if ($this->_compress_type == 'none') {
+ $this->_file = @fopen($this->_tarname, "wb");
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ return false;
+ }
+ }
+ }
}
if ($this->_file == 0) {
- $this->_error('Unable to open in write mode \''
- .$this->_tarname.'\'');
+ $this->_error(
+ 'Unable to open in write mode \''
+ . $this->_tarname . '\''
+ );
return false;
}
return true;
}
+
// }}}
// {{{ _openRead()
@@ -1943,80 +2070,116 @@ class Archive_Tar extends PEAR
{
if (strtolower(substr($this->_tarname, 0, 7)) == 'http://') {
- // ----- Look if a local copy need to be done
- if ($this->_temp_tarname == '') {
- $this->_temp_tarname = uniqid('tar').'.tmp';
- if (!$v_file_from = @fopen($this->_tarname, 'rb')) {
- $this->_error('Unable to open in read mode \''
- .$this->_tarname.'\'');
- $this->_temp_tarname = '';
- return false;
- }
- if (!$v_file_to = @fopen($this->_temp_tarname, 'wb')) {
- $this->_error('Unable to open in write mode \''
- .$this->_temp_tarname.'\'');
- $this->_temp_tarname = '';
- return false;
- }
- while ($v_data = @fread($v_file_from, 1024))
- @fwrite($v_file_to, $v_data);
- @fclose($v_file_from);
- @fclose($v_file_to);
- }
+ // ----- Look if a local copy need to be done
+ if ($this->_temp_tarname == '') {
+ $this->_temp_tarname = uniqid('tar') . '.tmp';
+ if (!$v_file_from = @fopen($this->_tarname, 'rb')) {
+ $this->_error(
+ 'Unable to open in read mode \''
+ . $this->_tarname . '\''
+ );
+ $this->_temp_tarname = '';
+ return false;
+ }
+ if (!$v_file_to = @fopen($this->_temp_tarname, 'wb')) {
+ $this->_error(
+ 'Unable to open in write mode \''
+ . $this->_temp_tarname . '\''
+ );
+ $this->_temp_tarname = '';
+ return false;
+ }
+ while ($v_data = @fread($v_file_from, 1024)) {
+ @fwrite($v_file_to, $v_data);
+ }
+ @fclose($v_file_from);
+ @fclose($v_file_to);
+ }
- // ----- File to open if the local copy
- $v_filename = $this->_temp_tarname;
+ // ----- File to open if the local copy
+ $v_filename = $this->_temp_tarname;
- } else
- // ----- File to open if the normal Tar file
- $v_filename = $this->_tarname;
+ } else // ----- File to open if the normal Tar file
+ {
+ $v_filename = $this->_tarname;
+ }
- if ($this->_compress_type == 'gz' && function_exists('gzopen'))
+ if ($this->_compress_type == 'gz' && function_exists('gzopen')) {
$this->_file = @gzopen($v_filename, "rb");
- else if ($this->_compress_type == 'bz2' && function_exists('bzopen'))
- $this->_file = @bzopen($v_filename, "r");
- else if ($this->_compress_type == 'none')
- $this->_file = @fopen($v_filename, "rb");
- else {
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
- return false;
+ } else {
+ if ($this->_compress_type == 'bz2' && function_exists('bzopen')) {
+ $this->_file = @bzopen($v_filename, "r");
+ } else {
+ if ($this->_compress_type == 'lzma2' && function_exists('xzopen')) {
+ $this->_file = @xzopen($v_filename, "r");
+ } else {
+ if ($this->_compress_type == 'none') {
+ $this->_file = @fopen($v_filename, "rb");
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ return false;
+ }
+ }
+ }
}
if ($this->_file == 0) {
- $this->_error('Unable to open in read mode \''.$v_filename.'\'');
+ $this->_error('Unable to open in read mode \'' . $v_filename . '\'');
return false;
}
return true;
}
+
// }}}
// {{{ _openReadWrite()
function _openReadWrite()
{
- if ($this->_compress_type == 'gz')
+ if ($this->_compress_type == 'gz') {
$this->_file = @gzopen($this->_tarname, "r+b");
- else if ($this->_compress_type == 'bz2') {
- $this->_error('Unable to open bz2 in read/write mode \''
- .$this->_tarname.'\' (limitation of bz2 extension)');
- return false;
- } else if ($this->_compress_type == 'none')
- $this->_file = @fopen($this->_tarname, "r+b");
- else {
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
- return false;
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ $this->_error(
+ 'Unable to open bz2 in read/write mode \''
+ . $this->_tarname . '\' (limitation of bz2 extension)'
+ );
+ return false;
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ $this->_error(
+ 'Unable to open lzma2 in read/write mode \''
+ . $this->_tarname . '\' (limitation of lzma2 extension)'
+ );
+ return false;
+ } else {
+ if ($this->_compress_type == 'none') {
+ $this->_file = @fopen($this->_tarname, "r+b");
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ return false;
+ }
+ }
+ }
}
if ($this->_file == 0) {
- $this->_error('Unable to open in read/write mode \''
- .$this->_tarname.'\'');
+ $this->_error(
+ 'Unable to open in read/write mode \''
+ . $this->_tarname . '\''
+ );
return false;
}
return true;
}
+
// }}}
// {{{ _close()
@@ -2024,15 +2187,26 @@ class Archive_Tar extends PEAR
{
//if (isset($this->_file)) {
if (is_resource($this->_file)) {
- if ($this->_compress_type == 'gz')
+ if ($this->_compress_type == 'gz') {
@gzclose($this->_file);
- else if ($this->_compress_type == 'bz2')
- @bzclose($this->_file);
- else if ($this->_compress_type == 'none')
- @fclose($this->_file);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ @bzclose($this->_file);
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ @xzclose($this->_file);
+ } else {
+ if ($this->_compress_type == 'none') {
+ @fclose($this->_file);
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ }
+ }
+ }
+ }
$this->_file = 0;
}
@@ -2046,6 +2220,7 @@ class Archive_Tar extends PEAR
return true;
}
+
// }}}
// {{{ _cleanFile()
@@ -2066,276 +2241,367 @@ class Archive_Tar extends PEAR
return true;
}
+
// }}}
// {{{ _writeBlock()
- function _writeBlock($p_binary_data, $p_len=null)
- {
- if (is_resource($this->_file)) {
- if ($p_len === null) {
- if ($this->_compress_type == 'gz')
- @gzputs($this->_file, $p_binary_data);
- else if ($this->_compress_type == 'bz2')
- @bzwrite($this->_file, $p_binary_data);
- else if ($this->_compress_type == 'none')
- @fputs($this->_file, $p_binary_data);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
- } else {
- if ($this->_compress_type == 'gz')
- @gzputs($this->_file, $p_binary_data, $p_len);
- else if ($this->_compress_type == 'bz2')
- @bzwrite($this->_file, $p_binary_data, $p_len);
- else if ($this->_compress_type == 'none')
- @fputs($this->_file, $p_binary_data, $p_len);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
+ function _writeBlock($p_binary_data, $p_len = null)
+ {
+ if (is_resource($this->_file)) {
+ if ($p_len === null) {
+ if ($this->_compress_type == 'gz') {
+ @gzputs($this->_file, $p_binary_data);
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ @bzwrite($this->_file, $p_binary_data);
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ @xzwrite($this->_file, $p_binary_data);
+ } else {
+ if ($this->_compress_type == 'none') {
+ @fputs($this->_file, $p_binary_data);
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ }
+ }
+ }
+ }
+ } else {
+ if ($this->_compress_type == 'gz') {
+ @gzputs($this->_file, $p_binary_data, $p_len);
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ @bzwrite($this->_file, $p_binary_data, $p_len);
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ @xzwrite($this->_file, $p_binary_data, $p_len);
+ } else {
+ if ($this->_compress_type == 'none') {
+ @fputs($this->_file, $p_binary_data, $p_len);
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ }
+ }
+ }
+ }
- }
- }
- return true;
+ }
+ }
+ return true;
}
+
// }}}
// {{{ _readBlock()
function _readBlock()
{
- $v_block = null;
- if (is_resource($this->_file)) {
- if ($this->_compress_type == 'gz')
- $v_block = @gzread($this->_file, 512);
- else if ($this->_compress_type == 'bz2')
- $v_block = @bzread($this->_file, 512);
- else if ($this->_compress_type == 'none')
- $v_block = @fread($this->_file, 512);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
- }
- return $v_block;
+ $v_block = null;
+ if (is_resource($this->_file)) {
+ if ($this->_compress_type == 'gz') {
+ $v_block = @gzread($this->_file, 512);
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ $v_block = @bzread($this->_file, 512);
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ $v_block = @xzread($this->_file, 512);
+ } else {
+ if ($this->_compress_type == 'none') {
+ $v_block = @fread($this->_file, 512);
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ }
+ }
+ }
+ }
+ }
+ return $v_block;
}
+
// }}}
// {{{ _jumpBlock()
- function _jumpBlock($p_len=null)
+ function _jumpBlock($p_len = null)
{
- if (is_resource($this->_file)) {
- if ($p_len === null)
- $p_len = 1;
+ if (is_resource($this->_file)) {
+ if ($p_len === null) {
+ $p_len = 1;
+ }
- if ($this->_compress_type == 'gz') {
- @gzseek($this->_file, gztell($this->_file)+($p_len*512));
- }
- else if ($this->_compress_type == 'bz2') {
- // ----- Replace missing bztell() and bzseek()
- for ($i=0; $i<$p_len; $i++)
- $this->_readBlock();
- } else if ($this->_compress_type == 'none')
- @fseek($this->_file, $p_len*512, SEEK_CUR);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
-
- }
- return true;
+ if ($this->_compress_type == 'gz') {
+ @gzseek($this->_file, gztell($this->_file) + ($p_len * 512));
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ // ----- Replace missing bztell() and bzseek()
+ for ($i = 0; $i < $p_len; $i++) {
+ $this->_readBlock();
+ }
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ // ----- Replace missing xztell() and xzseek()
+ for ($i = 0; $i < $p_len; $i++) {
+ $this->_readBlock();
+ }
+ } else {
+ if ($this->_compress_type == 'none') {
+ @fseek($this->_file, $p_len * 512, SEEK_CUR);
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ }
+ }
+ }
+ }
+
+ }
+ return true;
}
+
// }}}
// {{{ _writeFooter()
function _writeFooter()
{
- if (is_resource($this->_file)) {
- // ----- Write the last 0 filled block for end of archive
- $v_binary_data = pack('a1024', '');
- $this->_writeBlock($v_binary_data);
- }
- return true;
+ if (is_resource($this->_file)) {
+ // ----- Write the last 0 filled block for end of archive
+ $v_binary_data = pack('a1024', '');
+ $this->_writeBlock($v_binary_data);
+ }
+ return true;
}
+
// }}}
// {{{ _addList()
function _addList($p_list, $p_add_dir, $p_remove_dir)
{
- $v_result=true;
- $v_header = array();
-
- // ----- Remove potential windows directory separator
- $p_add_dir = $this->_translateWinPath($p_add_dir);
- $p_remove_dir = $this->_translateWinPath($p_remove_dir, false);
-
- if (!$this->_file) {
- $this->_error('Invalid file descriptor');
- return false;
- }
+ $v_result = true;
+ $v_header = array();
- if (sizeof($p_list) == 0)
- return true;
+ // ----- Remove potential windows directory separator
+ $p_add_dir = $this->_translateWinPath($p_add_dir);
+ $p_remove_dir = $this->_translateWinPath($p_remove_dir, false);
- foreach ($p_list as $v_filename) {
- if (!$v_result) {
- break;
- }
+ if (!$this->_file) {
+ $this->_error('Invalid file descriptor');
+ return false;
+ }
- // ----- Skip the current tar name
- if ($v_filename == $this->_tarname)
- continue;
+ if (sizeof($p_list) == 0) {
+ return true;
+ }
- if ($v_filename == '')
- continue;
+ foreach ($p_list as $v_filename) {
+ if (!$v_result) {
+ break;
+ }
- // ----- ignore files and directories matching the ignore regular expression
- if ($this->_ignore_regexp && preg_match($this->_ignore_regexp, '/'.$v_filename)) {
- $this->_warning("File '$v_filename' ignored");
- continue;
- }
+ // ----- Skip the current tar name
+ if ($v_filename == $this->_tarname) {
+ continue;
+ }
- if (!file_exists($v_filename) && !is_link($v_filename)) {
- $this->_warning("File '$v_filename' does not exist");
- continue;
- }
+ if ($v_filename == '') {
+ continue;
+ }
- // ----- Add the file or directory header
- if (!$this->_addFile($v_filename, $v_header, $p_add_dir, $p_remove_dir))
- return false;
+ // ----- ignore files and directories matching the ignore regular expression
+ if ($this->_ignore_regexp && preg_match($this->_ignore_regexp, '/' . $v_filename)) {
+ $this->_warning("File '$v_filename' ignored");
+ continue;
+ }
- if (@is_dir($v_filename) && !@is_link($v_filename)) {
- if (!($p_hdir = opendir($v_filename))) {
- $this->_warning("Directory '$v_filename' can not be read");
+ if (!file_exists($v_filename) && !is_link($v_filename)) {
+ $this->_warning("File '$v_filename' does not exist");
continue;
}
- while (false !== ($p_hitem = readdir($p_hdir))) {
- if (($p_hitem != '.') && ($p_hitem != '..')) {
- if ($v_filename != ".")
- $p_temp_list[0] = $v_filename.'/'.$p_hitem;
- else
- $p_temp_list[0] = $p_hitem;
- $v_result = $this->_addList($p_temp_list,
- $p_add_dir,
- $p_remove_dir);
- }
+ // ----- Add the file or directory header
+ if (!$this->_addFile($v_filename, $v_header, $p_add_dir, $p_remove_dir)) {
+ return false;
}
- unset($p_temp_list);
- unset($p_hdir);
- unset($p_hitem);
+ if (@is_dir($v_filename) && !@is_link($v_filename)) {
+ if (!($p_hdir = opendir($v_filename))) {
+ $this->_warning("Directory '$v_filename' can not be read");
+ continue;
+ }
+ while (false !== ($p_hitem = readdir($p_hdir))) {
+ if (($p_hitem != '.') && ($p_hitem != '..')) {
+ if ($v_filename != ".") {
+ $p_temp_list[0] = $v_filename . '/' . $p_hitem;
+ } else {
+ $p_temp_list[0] = $p_hitem;
+ }
+
+ $v_result = $this->_addList(
+ $p_temp_list,
+ $p_add_dir,
+ $p_remove_dir
+ );
+ }
+ }
+
+ unset($p_temp_list);
+ unset($p_hdir);
+ unset($p_hitem);
+ }
}
- }
- return $v_result;
+ return $v_result;
}
+
// }}}
// {{{ _addFile()
- function _addFile($p_filename, &$p_header, $p_add_dir, $p_remove_dir)
- {
- if (!$this->_file) {
- $this->_error('Invalid file descriptor');
- return false;
- }
-
- if ($p_filename == '') {
- $this->_error('Invalid file name');
- return false;
- }
-
- // ----- Calculate the stored filename
- $p_filename = $this->_translateWinPath($p_filename, false);;
- $v_stored_filename = $p_filename;
- if (strcmp($p_filename, $p_remove_dir) == 0) {
- return true;
- }
- if ($p_remove_dir != '') {
- if (substr($p_remove_dir, -1) != '/')
- $p_remove_dir .= '/';
-
- if (substr($p_filename, 0, strlen($p_remove_dir)) == $p_remove_dir)
- $v_stored_filename = substr($p_filename, strlen($p_remove_dir));
- }
- $v_stored_filename = $this->_translateWinPath($v_stored_filename);
- if ($p_add_dir != '') {
- if (substr($p_add_dir, -1) == '/')
- $v_stored_filename = $p_add_dir.$v_stored_filename;
- else
- $v_stored_filename = $p_add_dir.'/'.$v_stored_filename;
- }
-
- $v_stored_filename = $this->_pathReduction($v_stored_filename);
-
- if ($this->_isArchive($p_filename)) {
- if (($v_file = @fopen($p_filename, "rb")) == 0) {
- $this->_warning("Unable to open file '".$p_filename
- ."' in binary read mode");
- return true;
- }
+ function _addFile($p_filename, &$p_header, $p_add_dir, $p_remove_dir, $v_stored_filename = null)
+ {
+ if (!$this->_file) {
+ $this->_error('Invalid file descriptor');
+ return false;
+ }
- if (!$this->_writeHeader($p_filename, $v_stored_filename))
- return false;
+ if ($p_filename == '') {
+ $this->_error('Invalid file name');
+ return false;
+ }
- while (($v_buffer = fread($v_file, 512)) != '') {
- $v_binary_data = pack("a512", "$v_buffer");
- $this->_writeBlock($v_binary_data);
- }
+ if (is_null($v_stored_filename)) {
+ // ----- Calculate the stored filename
+ $p_filename = $this->_translateWinPath($p_filename, false);;
+ $v_stored_filename = $p_filename;
+
+ if (strcmp($p_filename, $p_remove_dir) == 0) {
+ return true;
+ }
+
+ if ($p_remove_dir != '') {
+ if (substr($p_remove_dir, -1) != '/') {
+ $p_remove_dir .= '/';
+ }
- fclose($v_file);
+ if (substr($p_filename, 0, strlen($p_remove_dir)) == $p_remove_dir) {
+ $v_stored_filename = substr($p_filename, strlen($p_remove_dir));
+ }
+ }
- } else {
- // ----- Only header for dir
- if (!$this->_writeHeader($p_filename, $v_stored_filename))
- return false;
- }
+ $v_stored_filename = $this->_translateWinPath($v_stored_filename);
+ if ($p_add_dir != '') {
+ if (substr($p_add_dir, -1) == '/') {
+ $v_stored_filename = $p_add_dir . $v_stored_filename;
+ } else {
+ $v_stored_filename = $p_add_dir . '/' . $v_stored_filename;
+ }
+ }
- return true;
+ $v_stored_filename = $this->_pathReduction($v_stored_filename);
+ }
+
+ if ($this->_isArchive($p_filename)) {
+ if (($v_file = @fopen($p_filename, "rb")) == 0) {
+ $this->_warning(
+ "Unable to open file '" . $p_filename
+ . "' in binary read mode"
+ );
+ return true;
+ }
+
+ if (!$this->_writeHeader($p_filename, $v_stored_filename)) {
+ return false;
+ }
+
+ while (($v_buffer = fread($v_file, 512)) != '') {
+ $v_binary_data = pack("a512", "$v_buffer");
+ $this->_writeBlock($v_binary_data);
+ }
+
+ fclose($v_file);
+
+ } else {
+ // ----- Only header for dir
+ if (!$this->_writeHeader($p_filename, $v_stored_filename)) {
+ return false;
+ }
+ }
+
+ return true;
}
+
// }}}
// {{{ _addString()
- function _addString($p_filename, $p_string, $p_datetime = false)
- {
- if (!$this->_file) {
- $this->_error('Invalid file descriptor');
- return false;
- }
-
- if ($p_filename == '') {
- $this->_error('Invalid file name');
- return false;
- }
-
- // ----- Calculate the stored filename
- $p_filename = $this->_translateWinPath($p_filename, false);;
-
- // ----- If datetime is not specified, set current time
- if ($p_datetime === false) {
- $p_datetime = time();
- }
-
- if (!$this->_writeHeaderBlock($p_filename, strlen($p_string),
- $p_datetime, 384, "", 0, 0))
- return false;
-
- $i=0;
- while (($v_buffer = substr($p_string, (($i++)*512), 512)) != '') {
- $v_binary_data = pack("a512", $v_buffer);
- $this->_writeBlock($v_binary_data);
- }
-
- return true;
+ function _addString($p_filename, $p_string, $p_datetime = false, $p_params = array())
+ {
+ $p_stamp = @$p_params["stamp"] ? $p_params["stamp"] : ($p_datetime ? $p_datetime : time());
+ $p_mode = @$p_params["mode"] ? $p_params["mode"] : 0600;
+ $p_type = @$p_params["type"] ? $p_params["type"] : "";
+ $p_uid = @$p_params["uid"] ? $p_params["uid"] : 0;
+ $p_gid = @$p_params["gid"] ? $p_params["gid"] : 0;
+ if (!$this->_file) {
+ $this->_error('Invalid file descriptor');
+ return false;
+ }
+
+ if ($p_filename == '') {
+ $this->_error('Invalid file name');
+ return false;
+ }
+
+ // ----- Calculate the stored filename
+ $p_filename = $this->_translateWinPath($p_filename, false);;
+
+ // ----- If datetime is not specified, set current time
+ if ($p_datetime === false) {
+ $p_datetime = time();
+ }
+
+ if (!$this->_writeHeaderBlock(
+ $p_filename,
+ strlen($p_string),
+ $p_stamp,
+ $p_mode,
+ $p_type,
+ $p_uid,
+ $p_gid
+ )
+ ) {
+ return false;
+ }
+
+ $i = 0;
+ while (($v_buffer = substr($p_string, (($i++) * 512), 512)) != '') {
+ $v_binary_data = pack("a512", $v_buffer);
+ $this->_writeBlock($v_binary_data);
+ }
+
+ return true;
}
+
// }}}
// {{{ _writeHeader()
function _writeHeader($p_filename, $p_stored_filename)
{
- if ($p_stored_filename == '')
+ if ($p_stored_filename == '') {
$p_stored_filename = $p_filename;
+ }
$v_reduce_filename = $this->_pathReduction($p_stored_filename);
if (strlen($v_reduce_filename) > 99) {
- if (!$this->_writeLongHeader($v_reduce_filename))
- return false;
+ if (!$this->_writeLongHeader($v_reduce_filename)) {
+ return false;
+ }
}
$v_info = lstat($p_filename);
@@ -2348,34 +2614,31 @@ class Archive_Tar extends PEAR
$v_linkname = '';
if (@is_link($p_filename)) {
- $v_typeflag = '2';
- $v_linkname = readlink($p_filename);
- $v_size = sprintf("%011s", DecOct(0));
+ $v_typeflag = '2';
+ $v_linkname = readlink($p_filename);
+ $v_size = sprintf("%011s", DecOct(0));
} elseif (@is_dir($p_filename)) {
- $v_typeflag = "5";
- $v_size = sprintf("%011s", DecOct(0));
+ $v_typeflag = "5";
+ $v_size = sprintf("%011s", DecOct(0));
} else {
- $v_typeflag = '0';
- clearstatcache();
- $v_size = sprintf("%011s", DecOct($v_info['size']));
+ $v_typeflag = '0';
+ clearstatcache();
+ $v_size = sprintf("%011s", DecOct($v_info['size']));
}
$v_magic = 'ustar ';
$v_version = ' ';
-
- if (function_exists('posix_getpwuid'))
- {
- $userinfo = posix_getpwuid($v_info[4]);
- $groupinfo = posix_getgrgid($v_info[5]);
-
- $v_uname = $userinfo['name'];
- $v_gname = $groupinfo['name'];
- }
- else
- {
- $v_uname = '';
- $v_gname = '';
+
+ if (function_exists('posix_getpwuid')) {
+ $userinfo = posix_getpwuid($v_info[4]);
+ $groupinfo = posix_getgrgid($v_info[5]);
+
+ $v_uname = $userinfo['name'];
+ $v_gname = $groupinfo['name'];
+ } else {
+ $v_uname = '';
+ $v_gname = '';
}
$v_devmajor = '';
@@ -2384,25 +2647,43 @@ class Archive_Tar extends PEAR
$v_prefix = '';
- $v_binary_data_first = pack("a100a8a8a8a12a12",
- $v_reduce_filename, $v_perms, $v_uid,
- $v_gid, $v_size, $v_mtime);
- $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12",
- $v_typeflag, $v_linkname, $v_magic,
- $v_version, $v_uname, $v_gname,
- $v_devmajor, $v_devminor, $v_prefix, '');
+ $v_binary_data_first = pack(
+ "a100a8a8a8a12a12",
+ $v_reduce_filename,
+ $v_perms,
+ $v_uid,
+ $v_gid,
+ $v_size,
+ $v_mtime
+ );
+ $v_binary_data_last = pack(
+ "a1a100a6a2a32a32a8a8a155a12",
+ $v_typeflag,
+ $v_linkname,
+ $v_magic,
+ $v_version,
+ $v_uname,
+ $v_gname,
+ $v_devmajor,
+ $v_devminor,
+ $v_prefix,
+ ''
+ );
// ----- Calculate the checksum
$v_checksum = 0;
// ..... First part of the header
- for ($i=0; $i<148; $i++)
- $v_checksum += ord(substr($v_binary_data_first,$i,1));
+ for ($i = 0; $i < 148; $i++) {
+ $v_checksum += ord(substr($v_binary_data_first, $i, 1));
+ }
// ..... Ignore the checksum value and replace it by ' ' (space)
- for ($i=148; $i<156; $i++)
+ for ($i = 148; $i < 156; $i++) {
$v_checksum += ord(' ');
+ }
// ..... Last part of the header
- for ($i=156, $j=0; $i<512; $i++, $j++)
- $v_checksum += ord(substr($v_binary_data_last,$j,1));
+ for ($i = 156, $j = 0; $i < 512; $i++, $j++) {
+ $v_checksum += ord(substr($v_binary_data_last, $j, 1));
+ }
// ----- Write the first 148 bytes of the header in the archive
$this->_writeBlock($v_binary_data_first, 148);
@@ -2417,23 +2698,31 @@ class Archive_Tar extends PEAR
return true;
}
+
// }}}
// {{{ _writeHeaderBlock()
- function _writeHeaderBlock($p_filename, $p_size, $p_mtime=0, $p_perms=0,
- $p_type='', $p_uid=0, $p_gid=0)
- {
+ function _writeHeaderBlock(
+ $p_filename,
+ $p_size,
+ $p_mtime = 0,
+ $p_perms = 0,
+ $p_type = '',
+ $p_uid = 0,
+ $p_gid = 0
+ ) {
$p_filename = $this->_pathReduction($p_filename);
if (strlen($p_filename) > 99) {
- if (!$this->_writeLongHeader($p_filename))
- return false;
+ if (!$this->_writeLongHeader($p_filename)) {
+ return false;
+ }
}
if ($p_type == "5") {
- $v_size = sprintf("%011s", DecOct(0));
+ $v_size = sprintf("%011s", DecOct(0));
} else {
- $v_size = sprintf("%011s", DecOct($p_size));
+ $v_size = sprintf("%011s", DecOct($p_size));
}
$v_uid = sprintf("%07s", DecOct($p_uid));
@@ -2448,45 +2737,60 @@ class Archive_Tar extends PEAR
$v_version = ' ';
- if (function_exists('posix_getpwuid'))
- {
- $userinfo = posix_getpwuid($p_uid);
- $groupinfo = posix_getgrgid($p_gid);
-
- $v_uname = $userinfo['name'];
- $v_gname = $groupinfo['name'];
- }
- else
- {
- $v_uname = '';
- $v_gname = '';
+ if (function_exists('posix_getpwuid')) {
+ $userinfo = posix_getpwuid($p_uid);
+ $groupinfo = posix_getgrgid($p_gid);
+
+ $v_uname = $userinfo['name'];
+ $v_gname = $groupinfo['name'];
+ } else {
+ $v_uname = '';
+ $v_gname = '';
}
-
+
$v_devmajor = '';
$v_devminor = '';
$v_prefix = '';
- $v_binary_data_first = pack("a100a8a8a8a12A12",
- $p_filename, $v_perms, $v_uid, $v_gid,
- $v_size, $v_mtime);
- $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12",
- $p_type, $v_linkname, $v_magic,
- $v_version, $v_uname, $v_gname,
- $v_devmajor, $v_devminor, $v_prefix, '');
+ $v_binary_data_first = pack(
+ "a100a8a8a8a12A12",
+ $p_filename,
+ $v_perms,
+ $v_uid,
+ $v_gid,
+ $v_size,
+ $v_mtime
+ );
+ $v_binary_data_last = pack(
+ "a1a100a6a2a32a32a8a8a155a12",
+ $p_type,
+ $v_linkname,
+ $v_magic,
+ $v_version,
+ $v_uname,
+ $v_gname,
+ $v_devmajor,
+ $v_devminor,
+ $v_prefix,
+ ''
+ );
// ----- Calculate the checksum
$v_checksum = 0;
// ..... First part of the header
- for ($i=0; $i<148; $i++)
- $v_checksum += ord(substr($v_binary_data_first,$i,1));
+ for ($i = 0; $i < 148; $i++) {
+ $v_checksum += ord(substr($v_binary_data_first, $i, 1));
+ }
// ..... Ignore the checksum value and replace it by ' ' (space)
- for ($i=148; $i<156; $i++)
+ for ($i = 148; $i < 156; $i++) {
$v_checksum += ord(' ');
+ }
// ..... Last part of the header
- for ($i=156, $j=0; $i<512; $i++, $j++)
- $v_checksum += ord(substr($v_binary_data_last,$j,1));
+ for ($i = 156, $j = 0; $i < 512; $i++, $j++) {
+ $v_checksum += ord(substr($v_binary_data_last, $j, 1));
+ }
// ----- Write the first 148 bytes of the header in the archive
$this->_writeBlock($v_binary_data_first, 148);
@@ -2501,6 +2805,7 @@ class Archive_Tar extends PEAR
return true;
}
+
// }}}
// {{{ _writeLongHeader()
@@ -2526,24 +2831,43 @@ class Archive_Tar extends PEAR
$v_prefix = '';
- $v_binary_data_first = pack("a100a8a8a8a12a12",
- '././@LongLink', 0, 0, 0, $v_size, 0);
- $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12",
- $v_typeflag, $v_linkname, $v_magic,
- $v_version, $v_uname, $v_gname,
- $v_devmajor, $v_devminor, $v_prefix, '');
+ $v_binary_data_first = pack(
+ "a100a8a8a8a12a12",
+ '././@LongLink',
+ 0,
+ 0,
+ 0,
+ $v_size,
+ 0
+ );
+ $v_binary_data_last = pack(
+ "a1a100a6a2a32a32a8a8a155a12",
+ $v_typeflag,
+ $v_linkname,
+ $v_magic,
+ $v_version,
+ $v_uname,
+ $v_gname,
+ $v_devmajor,
+ $v_devminor,
+ $v_prefix,
+ ''
+ );
// ----- Calculate the checksum
$v_checksum = 0;
// ..... First part of the header
- for ($i=0; $i<148; $i++)
- $v_checksum += ord(substr($v_binary_data_first,$i,1));
+ for ($i = 0; $i < 148; $i++) {
+ $v_checksum += ord(substr($v_binary_data_first, $i, 1));
+ }
// ..... Ignore the checksum value and replace it by ' ' (space)
- for ($i=148; $i<156; $i++)
+ for ($i = 148; $i < 156; $i++) {
$v_checksum += ord(' ');
+ }
// ..... Last part of the header
- for ($i=156, $j=0; $i<512; $i++, $j++)
- $v_checksum += ord(substr($v_binary_data_last,$j,1));
+ for ($i = 156, $j = 0; $i < 512; $i++, $j++) {
+ $v_checksum += ord(substr($v_binary_data_last, $j, 1));
+ }
// ----- Write the first 148 bytes of the header in the archive
$this->_writeBlock($v_binary_data_first, 148);
@@ -2557,27 +2881,28 @@ class Archive_Tar extends PEAR
$this->_writeBlock($v_binary_data_last, 356);
// ----- Write the filename as content of the block
- $i=0;
- while (($v_buffer = substr($p_filename, (($i++)*512), 512)) != '') {
+ $i = 0;
+ while (($v_buffer = substr($p_filename, (($i++) * 512), 512)) != '') {
$v_binary_data = pack("a512", "$v_buffer");
$this->_writeBlock($v_binary_data);
}
return true;
}
+
// }}}
// {{{ _readHeader()
function _readHeader($v_binary_data, &$v_header)
{
- if (strlen($v_binary_data)==0) {
+ if (strlen($v_binary_data) == 0) {
$v_header['filename'] = '';
return true;
}
if (strlen($v_binary_data) != 512) {
$v_header['filename'] = '';
- $this->_error('Invalid block size : '.strlen($v_binary_data));
+ $this->_error('Invalid block size : ' . strlen($v_binary_data));
return false;
}
@@ -2587,23 +2912,26 @@ class Archive_Tar extends PEAR
// ----- Calculate the checksum
$v_checksum = 0;
// ..... First part of the header
- for ($i=0; $i<148; $i++)
- $v_checksum+=ord(substr($v_binary_data,$i,1));
+ for ($i = 0; $i < 148; $i++) {
+ $v_checksum += ord(substr($v_binary_data, $i, 1));
+ }
// ..... Ignore the checksum value and replace it by ' ' (space)
- for ($i=148; $i<156; $i++)
+ for ($i = 148; $i < 156; $i++) {
$v_checksum += ord(' ');
+ }
// ..... Last part of the header
- for ($i=156; $i<512; $i++)
- $v_checksum+=ord(substr($v_binary_data,$i,1));
+ for ($i = 156; $i < 512; $i++) {
+ $v_checksum += ord(substr($v_binary_data, $i, 1));
+ }
- if (version_compare(PHP_VERSION,"5.5.0-dev")<0) {
+ if (version_compare(PHP_VERSION, "5.5.0-dev") < 0) {
$fmt = "a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/" .
- "a8checksum/a1typeflag/a100link/a6magic/a2version/" .
- "a32uname/a32gname/a8devmajor/a8devminor/a131prefix";
+ "a8checksum/a1typeflag/a100link/a6magic/a2version/" .
+ "a32uname/a32gname/a8devmajor/a8devminor/a131prefix";
} else {
$fmt = "Z100filename/Z8mode/Z8uid/Z8gid/Z12size/Z12mtime/" .
- "Z8checksum/Z1typeflag/Z100link/Z6magic/Z2version/" .
- "Z32uname/Z32gname/Z8devmajor/Z8devminor/Z131prefix";
+ "Z8checksum/Z1typeflag/Z100link/Z6magic/Z2version/" .
+ "Z32uname/Z32gname/Z8devmajor/Z8devminor/Z131prefix";
}
$v_data = unpack($fmt, $v_binary_data);
@@ -2617,20 +2945,25 @@ class Archive_Tar extends PEAR
$v_header['filename'] = '';
// ----- Look for last block (empty block)
- if (($v_checksum == 256) && ($v_header['checksum'] == 0))
+ if (($v_checksum == 256) && ($v_header['checksum'] == 0)) {
return true;
+ }
- $this->_error('Invalid checksum for file "'.$v_data['filename']
- .'" : '.$v_checksum.' calculated, '
- .$v_header['checksum'].' expected');
+ $this->_error(
+ 'Invalid checksum for file "' . $v_data['filename']
+ . '" : ' . $v_checksum . ' calculated, '
+ . $v_header['checksum'] . ' expected'
+ );
return false;
}
// ----- Extract the properties
$v_header['filename'] = $v_data['filename'];
if ($this->_maliciousFilename($v_header['filename'])) {
- $this->_error('Malicious .tar detected, file "' . $v_header['filename'] .
- '" will not install in desired directory tree');
+ $this->_error(
+ 'Malicious .tar detected, file "' . $v_header['filename'] .
+ '" will not install in desired directory tree'
+ );
return false;
}
$v_header['mode'] = OctDec(trim($v_data['mode']));
@@ -2639,7 +2972,7 @@ class Archive_Tar extends PEAR
$v_header['size'] = OctDec(trim($v_data['size']));
$v_header['mtime'] = OctDec(trim($v_data['mtime']));
if (($v_header['typeflag'] = $v_data['typeflag']) == "5") {
- $v_header['size'] = 0;
+ $v_header['size'] = 0;
}
$v_header['link'] = trim($v_data['link']);
/* ----- All these fields are removed form the header because
@@ -2654,6 +2987,7 @@ class Archive_Tar extends PEAR
return true;
}
+
// }}}
// {{{ _maliciousFilename()
@@ -2675,369 +3009,431 @@ class Archive_Tar extends PEAR
}
return false;
}
+
// }}}
// {{{ _readLongHeader()
function _readLongHeader(&$v_header)
{
- $v_filename = '';
- $n = floor($v_header['size']/512);
- for ($i=0; $i<$n; $i++) {
- $v_content = $this->_readBlock();
- $v_filename .= $v_content;
- }
- if (($v_header['size'] % 512) != 0) {
- $v_content = $this->_readBlock();
- $v_filename .= trim($v_content);
- }
-
- // ----- Read the next header
- $v_binary_data = $this->_readBlock();
-
- if (!$this->_readHeader($v_binary_data, $v_header))
- return false;
+ $v_filename = '';
+ $n = floor($v_header['size'] / 512);
+ for ($i = 0; $i < $n; $i++) {
+ $v_content = $this->_readBlock();
+ $v_filename .= $v_content;
+ }
+ if (($v_header['size'] % 512) != 0) {
+ $v_content = $this->_readBlock();
+ $v_filename .= trim($v_content);
+ }
- $v_filename = trim($v_filename);
- $v_header['filename'] = $v_filename;
+ // ----- Read the next header
+ $v_binary_data = $this->_readBlock();
+
+ if (!$this->_readHeader($v_binary_data, $v_header)) {
+ return false;
+ }
+
+ $v_filename = trim($v_filename);
+ $v_header['filename'] = $v_filename;
if ($this->_maliciousFilename($v_filename)) {
- $this->_error('Malicious .tar detected, file "' . $v_filename .
- '" will not install in desired directory tree');
+ $this->_error(
+ 'Malicious .tar detected, file "' . $v_filename .
+ '" will not install in desired directory tree'
+ );
return false;
- }
+ }
- return true;
+ return true;
}
+
// }}}
// {{{ _extractInString()
/**
- * This method extract from the archive one file identified by $p_filename.
- * The return value is a string with the file content, or null on error.
- *
- * @param string $p_filename The path of the file to extract in a string.
- *
- * @return a string with the file content or null.
- * @access private
- */
+ * This method extract from the archive one file identified by $p_filename.
+ * The return value is a string with the file content, or null on error.
+ *
+ * @param string $p_filename The path of the file to extract in a string.
+ *
+ * @return a string with the file content or null.
+ * @access private
+ */
function _extractInString($p_filename)
{
$v_result_str = "";
- While (strlen($v_binary_data = $this->_readBlock()) != 0)
- {
- if (!$this->_readHeader($v_binary_data, $v_header))
- return null;
+ While (strlen($v_binary_data = $this->_readBlock()) != 0) {
+ if (!$this->_readHeader($v_binary_data, $v_header)) {
+ return null;
+ }
- if ($v_header['filename'] == '')
- continue;
+ if ($v_header['filename'] == '') {
+ continue;
+ }
- // ----- Look for long filename
- if ($v_header['typeflag'] == 'L') {
- if (!$this->_readLongHeader($v_header))
- return null;
- }
+ // ----- Look for long filename
+ if ($v_header['typeflag'] == 'L') {
+ if (!$this->_readLongHeader($v_header)) {
+ return null;
+ }
+ }
- if ($v_header['filename'] == $p_filename) {
- if ($v_header['typeflag'] == "5") {
- $this->_error('Unable to extract in string a directory '
- .'entry {'.$v_header['filename'].'}');
- return null;
- } else {
- $n = floor($v_header['size']/512);
- for ($i=0; $i<$n; $i++) {
- $v_result_str .= $this->_readBlock();
- }
- if (($v_header['size'] % 512) != 0) {
- $v_content = $this->_readBlock();
- $v_result_str .= substr($v_content, 0,
- ($v_header['size'] % 512));
- }
- return $v_result_str;
- }
- } else {
- $this->_jumpBlock(ceil(($v_header['size']/512)));
- }
+ if ($v_header['filename'] == $p_filename) {
+ if ($v_header['typeflag'] == "5") {
+ $this->_error(
+ 'Unable to extract in string a directory '
+ . 'entry {' . $v_header['filename'] . '}'
+ );
+ return null;
+ } else {
+ $n = floor($v_header['size'] / 512);
+ for ($i = 0; $i < $n; $i++) {
+ $v_result_str .= $this->_readBlock();
+ }
+ if (($v_header['size'] % 512) != 0) {
+ $v_content = $this->_readBlock();
+ $v_result_str .= substr(
+ $v_content,
+ 0,
+ ($v_header['size'] % 512)
+ );
+ }
+ return $v_result_str;
+ }
+ } else {
+ $this->_jumpBlock(ceil(($v_header['size'] / 512)));
+ }
}
return null;
}
+
// }}}
// {{{ _extractList()
- function _extractList($p_path, &$p_list_detail, $p_mode,
- $p_file_list, $p_remove_path, $p_preserve=false)
- {
- $v_result=true;
- $v_nb = 0;
- $v_extract_all = true;
- $v_listing = false;
-
- $p_path = $this->_translateWinPath($p_path, false);
- if ($p_path == '' || (substr($p_path, 0, 1) != '/'
- && substr($p_path, 0, 3) != "../" && !strpos($p_path, ':'))) {
- $p_path = "./".$p_path;
- }
- $p_remove_path = $this->_translateWinPath($p_remove_path);
-
- // ----- Look for path to remove format (should end by /)
- if (($p_remove_path != '') && (substr($p_remove_path, -1) != '/'))
- $p_remove_path .= '/';
- $p_remove_path_size = strlen($p_remove_path);
-
- switch ($p_mode) {
- case "complete" :
+ function _extractList(
+ $p_path,
+ &$p_list_detail,
+ $p_mode,
+ $p_file_list,
+ $p_remove_path,
+ $p_preserve = false
+ ) {
+ $v_result = true;
+ $v_nb = 0;
$v_extract_all = true;
$v_listing = false;
- break;
- case "partial" :
- $v_extract_all = false;
- $v_listing = false;
- break;
- case "list" :
- $v_extract_all = false;
- $v_listing = true;
- break;
- default :
- $this->_error('Invalid extract mode ('.$p_mode.')');
- return false;
- }
- clearstatcache();
+ $p_path = $this->_translateWinPath($p_path, false);
+ if ($p_path == '' || (substr($p_path, 0, 1) != '/'
+ && substr($p_path, 0, 3) != "../" && !strpos($p_path, ':'))
+ ) {
+ $p_path = "./" . $p_path;
+ }
+ $p_remove_path = $this->_translateWinPath($p_remove_path);
- while (strlen($v_binary_data = $this->_readBlock()) != 0)
- {
- $v_extract_file = FALSE;
- $v_extraction_stopped = 0;
+ // ----- Look for path to remove format (should end by /)
+ if (($p_remove_path != '') && (substr($p_remove_path, -1) != '/')) {
+ $p_remove_path .= '/';
+ }
+ $p_remove_path_size = strlen($p_remove_path);
- if (!$this->_readHeader($v_binary_data, $v_header))
- return false;
+ switch ($p_mode) {
+ case "complete" :
+ $v_extract_all = true;
+ $v_listing = false;
+ break;
+ case "partial" :
+ $v_extract_all = false;
+ $v_listing = false;
+ break;
+ case "list" :
+ $v_extract_all = false;
+ $v_listing = true;
+ break;
+ default :
+ $this->_error('Invalid extract mode (' . $p_mode . ')');
+ return false;
+ }
- if ($v_header['filename'] == '') {
- continue;
- }
-
- // ----- Look for long filename
- if ($v_header['typeflag'] == 'L') {
- if (!$this->_readLongHeader($v_header))
- return false;
- }
-
- if ((!$v_extract_all) && (is_array($p_file_list))) {
- // ----- By default no unzip if the file is not found
- $v_extract_file = false;
-
- for ($i=0; $i<sizeof($p_file_list); $i++) {
- // ----- Look if it is a directory
- if (substr($p_file_list[$i], -1) == '/') {
- // ----- Look if the directory is in the filename path
- if ((strlen($v_header['filename']) > strlen($p_file_list[$i]))
- && (substr($v_header['filename'], 0, strlen($p_file_list[$i]))
- == $p_file_list[$i])) {
- $v_extract_file = true;
- break;
- }
- }
+ clearstatcache();
- // ----- It is a file, so compare the file names
- elseif ($p_file_list[$i] == $v_header['filename']) {
- $v_extract_file = true;
- break;
- }
- }
- } else {
- $v_extract_file = true;
- }
-
- // ----- Look if this file need to be extracted
- if (($v_extract_file) && (!$v_listing))
- {
- if (($p_remove_path != '')
- && (substr($v_header['filename'].'/', 0, $p_remove_path_size)
- == $p_remove_path)) {
- $v_header['filename'] = substr($v_header['filename'],
- $p_remove_path_size);
- if( $v_header['filename'] == '' ){
- continue;
- }
- }
- if (($p_path != './') && ($p_path != '/')) {
- while (substr($p_path, -1) == '/')
- $p_path = substr($p_path, 0, strlen($p_path)-1);
+ while (strlen($v_binary_data = $this->_readBlock()) != 0) {
+ $v_extract_file = false;
+ $v_extraction_stopped = 0;
- if (substr($v_header['filename'], 0, 1) == '/')
- $v_header['filename'] = $p_path.$v_header['filename'];
- else
- $v_header['filename'] = $p_path.'/'.$v_header['filename'];
- }
- if (file_exists($v_header['filename'])) {
- if ( (@is_dir($v_header['filename']))
- && ($v_header['typeflag'] == '')) {
- $this->_error('File '.$v_header['filename']
- .' already exists as a directory');
- return false;
- }
- if ( ($this->_isArchive($v_header['filename']))
- && ($v_header['typeflag'] == "5")) {
- $this->_error('Directory '.$v_header['filename']
- .' already exists as a file');
- return false;
- }
- if (!is_writeable($v_header['filename'])) {
- $this->_error('File '.$v_header['filename']
- .' already exists and is write protected');
- return false;
- }
- if (filemtime($v_header['filename']) > $v_header['mtime']) {
- // To be completed : An error or silent no replace ?
- }
- }
+ if (!$this->_readHeader($v_binary_data, $v_header)) {
+ return false;
+ }
- // ----- Check the directory availability and create it if necessary
- elseif (($v_result
- = $this->_dirCheck(($v_header['typeflag'] == "5"
- ?$v_header['filename']
- :dirname($v_header['filename'])))) != 1) {
- $this->_error('Unable to create path for '.$v_header['filename']);
- return false;
- }
+ if ($v_header['filename'] == '') {
+ continue;
+ }
- if ($v_extract_file) {
- if ($v_header['typeflag'] == "5") {
- if (!@file_exists($v_header['filename'])) {
- if (!@mkdir($v_header['filename'], 0777)) {
- $this->_error('Unable to create directory {'
- .$v_header['filename'].'}');
+ // ----- Look for long filename
+ if ($v_header['typeflag'] == 'L') {
+ if (!$this->_readLongHeader($v_header)) {
return false;
}
}
- } elseif ($v_header['typeflag'] == "2") {
- if (@file_exists($v_header['filename'])) {
- @unlink($v_header['filename']);
- }
- if (!@symlink($v_header['link'], $v_header['filename'])) {
- $this->_error('Unable to extract symbolic link {'
- .$v_header['filename'].'}');
- return false;
- }
- } else {
- if (($v_dest_file = @fopen($v_header['filename'], "wb")) == 0) {
- $this->_error('Error while opening {'.$v_header['filename']
- .'} in write binary mode');
- return false;
- } else {
- $n = floor($v_header['size']/512);
- for ($i=0; $i<$n; $i++) {
- $v_content = $this->_readBlock();
- fwrite($v_dest_file, $v_content, 512);
- }
- if (($v_header['size'] % 512) != 0) {
- $v_content = $this->_readBlock();
- fwrite($v_dest_file, $v_content, ($v_header['size'] % 512));
- }
-
- @fclose($v_dest_file);
-
- if ($p_preserve) {
- @chown($v_header['filename'], $v_header['uid']);
- @chgrp($v_header['filename'], $v_header['gid']);
- }
-
- // ----- Change the file mode, mtime
- @touch($v_header['filename'], $v_header['mtime']);
- if ($v_header['mode'] & 0111) {
- // make file executable, obey umask
- $mode = fileperms($v_header['filename']) | (~umask() & 0111);
- @chmod($v_header['filename'], $mode);
+
+ // ignore extended / pax headers
+ if ($v_header['typeflag'] == 'x' || $v_header['typeflag'] == 'g') {
+ $this->_jumpBlock(ceil(($v_header['size'] / 512)));
+ continue;
}
- }
- // ----- Check the file size
- clearstatcache();
- if (!is_file($v_header['filename'])) {
- $this->_error('Extracted file '.$v_header['filename']
- .'does not exist. Archive may be corrupted.');
- return false;
- }
-
- $filesize = filesize($v_header['filename']);
- if ($filesize != $v_header['size']) {
- $this->_error('Extracted file '.$v_header['filename']
- .' does not have the correct file size \''
- .$filesize
- .'\' ('.$v_header['size']
- .' expected). Archive may be corrupted.');
- return false;
- }
- }
- } else {
- $this->_jumpBlock(ceil(($v_header['size']/512)));
- }
- } else {
- $this->_jumpBlock(ceil(($v_header['size']/512)));
- }
+ if ((!$v_extract_all) && (is_array($p_file_list))) {
+ // ----- By default no unzip if the file is not found
+ $v_extract_file = false;
- /* TBC : Seems to be unused ...
- if ($this->_compress)
- $v_end_of_file = @gzeof($this->_file);
- else
- $v_end_of_file = @feof($this->_file);
- */
+ for ($i = 0; $i < sizeof($p_file_list); $i++) {
+ // ----- Look if it is a directory
+ if (substr($p_file_list[$i], -1) == '/') {
+ // ----- Look if the directory is in the filename path
+ if ((strlen($v_header['filename']) > strlen($p_file_list[$i]))
+ && (substr($v_header['filename'], 0, strlen($p_file_list[$i]))
+ == $p_file_list[$i])
+ ) {
+ $v_extract_file = true;
+ break;
+ }
+ } // ----- It is a file, so compare the file names
+ elseif ($p_file_list[$i] == $v_header['filename']) {
+ $v_extract_file = true;
+ break;
+ }
+ }
+ } else {
+ $v_extract_file = true;
+ }
- if ($v_listing || $v_extract_file || $v_extraction_stopped) {
- // ----- Log extracted files
- if (($v_file_dir = dirname($v_header['filename']))
- == $v_header['filename'])
- $v_file_dir = '';
- if ((substr($v_header['filename'], 0, 1) == '/') && ($v_file_dir == ''))
- $v_file_dir = '/';
+ // ----- Look if this file need to be extracted
+ if (($v_extract_file) && (!$v_listing)) {
+ if (($p_remove_path != '')
+ && (substr($v_header['filename'] . '/', 0, $p_remove_path_size)
+ == $p_remove_path)
+ ) {
+ $v_header['filename'] = substr(
+ $v_header['filename'],
+ $p_remove_path_size
+ );
+ if ($v_header['filename'] == '') {
+ continue;
+ }
+ }
+ if (($p_path != './') && ($p_path != '/')) {
+ while (substr($p_path, -1) == '/') {
+ $p_path = substr($p_path, 0, strlen($p_path) - 1);
+ }
- $p_list_detail[$v_nb++] = $v_header;
- if (is_array($p_file_list) && (count($p_list_detail) == count($p_file_list))) {
- return true;
+ if (substr($v_header['filename'], 0, 1) == '/') {
+ $v_header['filename'] = $p_path . $v_header['filename'];
+ } else {
+ $v_header['filename'] = $p_path . '/' . $v_header['filename'];
+ }
+ }
+ if (file_exists($v_header['filename'])) {
+ if ((@is_dir($v_header['filename']))
+ && ($v_header['typeflag'] == '')
+ ) {
+ $this->_error(
+ 'File ' . $v_header['filename']
+ . ' already exists as a directory'
+ );
+ return false;
+ }
+ if (($this->_isArchive($v_header['filename']))
+ && ($v_header['typeflag'] == "5")
+ ) {
+ $this->_error(
+ 'Directory ' . $v_header['filename']
+ . ' already exists as a file'
+ );
+ return false;
+ }
+ if (!is_writeable($v_header['filename'])) {
+ $this->_error(
+ 'File ' . $v_header['filename']
+ . ' already exists and is write protected'
+ );
+ return false;
+ }
+ if (filemtime($v_header['filename']) > $v_header['mtime']) {
+ // To be completed : An error or silent no replace ?
+ }
+ } // ----- Check the directory availability and create it if necessary
+ elseif (($v_result
+ = $this->_dirCheck(
+ ($v_header['typeflag'] == "5"
+ ? $v_header['filename']
+ : dirname($v_header['filename']))
+ )) != 1
+ ) {
+ $this->_error('Unable to create path for ' . $v_header['filename']);
+ return false;
+ }
+
+ if ($v_extract_file) {
+ if ($v_header['typeflag'] == "5") {
+ if (!@file_exists($v_header['filename'])) {
+ if (!@mkdir($v_header['filename'], 0777)) {
+ $this->_error(
+ 'Unable to create directory {'
+ . $v_header['filename'] . '}'
+ );
+ return false;
+ }
+ }
+ } elseif ($v_header['typeflag'] == "2") {
+ if (@file_exists($v_header['filename'])) {
+ @unlink($v_header['filename']);
+ }
+ if (!@symlink($v_header['link'], $v_header['filename'])) {
+ $this->_error(
+ 'Unable to extract symbolic link {'
+ . $v_header['filename'] . '}'
+ );
+ return false;
+ }
+ } else {
+ if (($v_dest_file = @fopen($v_header['filename'], "wb")) == 0) {
+ $this->_error(
+ 'Error while opening {' . $v_header['filename']
+ . '} in write binary mode'
+ );
+ return false;
+ } else {
+ $n = floor($v_header['size'] / 512);
+ for ($i = 0; $i < $n; $i++) {
+ $v_content = $this->_readBlock();
+ fwrite($v_dest_file, $v_content, 512);
+ }
+ if (($v_header['size'] % 512) != 0) {
+ $v_content = $this->_readBlock();
+ fwrite($v_dest_file, $v_content, ($v_header['size'] % 512));
+ }
+
+ @fclose($v_dest_file);
+
+ if ($p_preserve) {
+ @chown($v_header['filename'], $v_header['uid']);
+ @chgrp($v_header['filename'], $v_header['gid']);
+ }
+
+ // ----- Change the file mode, mtime
+ @touch($v_header['filename'], $v_header['mtime']);
+ if ($v_header['mode'] & 0111) {
+ // make file executable, obey umask
+ $mode = fileperms($v_header['filename']) | (~umask() & 0111);
+ @chmod($v_header['filename'], $mode);
+ }
+ }
+
+ // ----- Check the file size
+ clearstatcache();
+ if (!is_file($v_header['filename'])) {
+ $this->_error(
+ 'Extracted file ' . $v_header['filename']
+ . 'does not exist. Archive may be corrupted.'
+ );
+ return false;
+ }
+
+ $filesize = filesize($v_header['filename']);
+ if ($filesize != $v_header['size']) {
+ $this->_error(
+ 'Extracted file ' . $v_header['filename']
+ . ' does not have the correct file size \''
+ . $filesize
+ . '\' (' . $v_header['size']
+ . ' expected). Archive may be corrupted.'
+ );
+ return false;
+ }
+ }
+ } else {
+ $this->_jumpBlock(ceil(($v_header['size'] / 512)));
+ }
+ } else {
+ $this->_jumpBlock(ceil(($v_header['size'] / 512)));
+ }
+
+ /* TBC : Seems to be unused ...
+ if ($this->_compress)
+ $v_end_of_file = @gzeof($this->_file);
+ else
+ $v_end_of_file = @feof($this->_file);
+ */
+
+ if ($v_listing || $v_extract_file || $v_extraction_stopped) {
+ // ----- Log extracted files
+ if (($v_file_dir = dirname($v_header['filename']))
+ == $v_header['filename']
+ ) {
+ $v_file_dir = '';
+ }
+ if ((substr($v_header['filename'], 0, 1) == '/') && ($v_file_dir == '')) {
+ $v_file_dir = '/';
+ }
+
+ $p_list_detail[$v_nb++] = $v_header;
+ if (is_array($p_file_list) && (count($p_list_detail) == count($p_file_list))) {
+ return true;
+ }
+ }
}
- }
- }
return true;
}
+
// }}}
// {{{ _openAppend()
function _openAppend()
{
- if (filesize($this->_tarname) == 0)
- return $this->_openWrite();
+ if (filesize($this->_tarname) == 0) {
+ return $this->_openWrite();
+ }
if ($this->_compress) {
$this->_close();
- if (!@rename($this->_tarname, $this->_tarname.".tmp")) {
- $this->_error('Error while renaming \''.$this->_tarname
- .'\' to temporary file \''.$this->_tarname
- .'.tmp\'');
+ if (!@rename($this->_tarname, $this->_tarname . ".tmp")) {
+ $this->_error(
+ 'Error while renaming \'' . $this->_tarname
+ . '\' to temporary file \'' . $this->_tarname
+ . '.tmp\''
+ );
return false;
}
- if ($this->_compress_type == 'gz')
- $v_temp_tar = @gzopen($this->_tarname.".tmp", "rb");
- elseif ($this->_compress_type == 'bz2')
- $v_temp_tar = @bzopen($this->_tarname.".tmp", "r");
+ if ($this->_compress_type == 'gz') {
+ $v_temp_tar = @gzopen($this->_tarname . ".tmp", "rb");
+ } elseif ($this->_compress_type == 'bz2') {
+ $v_temp_tar = @bzopen($this->_tarname . ".tmp", "r");
+ } elseif ($this->_compress_type == 'lzma2') {
+ $v_temp_tar = @xzopen($this->_tarname . ".tmp", "r");
+ }
+
if ($v_temp_tar == 0) {
- $this->_error('Unable to open file \''.$this->_tarname
- .'.tmp\' in binary read mode');
- @rename($this->_tarname.".tmp", $this->_tarname);
+ $this->_error(
+ 'Unable to open file \'' . $this->_tarname
+ . '.tmp\' in binary read mode'
+ );
+ @rename($this->_tarname . ".tmp", $this->_tarname);
return false;
}
if (!$this->_openWrite()) {
- @rename($this->_tarname.".tmp", $this->_tarname);
+ @rename($this->_tarname . ".tmp", $this->_tarname);
return false;
}
if ($this->_compress_type == 'gz') {
$end_blocks = 0;
-
+
while (!@gzeof($v_temp_tar)) {
$v_buffer = @gzread($v_temp_tar, 512);
if ($v_buffer == ARCHIVE_TAR_END_BLOCK || strlen($v_buffer) == 0) {
@@ -3056,10 +3452,9 @@ class Archive_Tar extends PEAR
}
@gzclose($v_temp_tar);
- }
- elseif ($this->_compress_type == 'bz2') {
+ } elseif ($this->_compress_type == 'bz2') {
$end_blocks = 0;
-
+
while (strlen($v_buffer = @bzread($v_temp_tar, 512)) > 0) {
if ($v_buffer == ARCHIVE_TAR_END_BLOCK || strlen($v_buffer) == 0) {
$end_blocks++;
@@ -3077,18 +3472,41 @@ class Archive_Tar extends PEAR
}
@bzclose($v_temp_tar);
+ } elseif ($this->_compress_type == 'lzma2') {
+ $end_blocks = 0;
+
+ while (strlen($v_buffer = @xzread($v_temp_tar, 512)) > 0) {
+ if ($v_buffer == ARCHIVE_TAR_END_BLOCK || strlen($v_buffer) == 0) {
+ $end_blocks++;
+ // do not copy end blocks, we will re-make them
+ // after appending
+ continue;
+ } elseif ($end_blocks > 0) {
+ for ($i = 0; $i < $end_blocks; $i++) {
+ $this->_writeBlock(ARCHIVE_TAR_END_BLOCK);
+ }
+ $end_blocks = 0;
+ }
+ $v_binary_data = pack("a512", $v_buffer);
+ $this->_writeBlock($v_binary_data);
+ }
+
+ @xzclose($v_temp_tar);
}
- if (!@unlink($this->_tarname.".tmp")) {
- $this->_error('Error while deleting temporary file \''
- .$this->_tarname.'.tmp\'');
+ if (!@unlink($this->_tarname . ".tmp")) {
+ $this->_error(
+ 'Error while deleting temporary file \''
+ . $this->_tarname . '.tmp\''
+ );
}
} else {
// ----- For not compressed tar, just add files before the last
- // one or two 512 bytes block
- if (!$this->_openReadWrite())
- return false;
+ // one or two 512 bytes block
+ if (!$this->_openReadWrite()) {
+ return false;
+ }
clearstatcache();
$v_size = filesize($this->_tarname);
@@ -3099,29 +3517,32 @@ class Archive_Tar extends PEAR
fseek($this->_file, $v_size - 1024);
if (fread($this->_file, 512) == ARCHIVE_TAR_END_BLOCK) {
fseek($this->_file, $v_size - 1024);
- }
- elseif (fread($this->_file, 512) == ARCHIVE_TAR_END_BLOCK) {
+ } elseif (fread($this->_file, 512) == ARCHIVE_TAR_END_BLOCK) {
fseek($this->_file, $v_size - 512);
}
}
return true;
}
+
// }}}
// {{{ _append()
- function _append($p_filelist, $p_add_dir='', $p_remove_dir='')
+ function _append($p_filelist, $p_add_dir = '', $p_remove_dir = '')
{
- if (!$this->_openAppend())
+ if (!$this->_openAppend()) {
return false;
+ }
- if ($this->_addList($p_filelist, $p_add_dir, $p_remove_dir))
- $this->_writeFooter();
+ if ($this->_addList($p_filelist, $p_add_dir, $p_remove_dir)) {
+ $this->_writeFooter();
+ }
$this->_close();
return true;
}
+
// }}}
// {{{ _dirCheck()
@@ -3137,15 +3558,18 @@ class Archive_Tar extends PEAR
function _dirCheck($p_dir)
{
clearstatcache();
- if ((@is_dir($p_dir)) || ($p_dir == ''))
+ if ((@is_dir($p_dir)) || ($p_dir == '')) {
return true;
+ }
$p_parent_dir = dirname($p_dir);
if (($p_parent_dir != $p_dir) &&
($p_parent_dir != '') &&
- (!$this->_dirCheck($p_parent_dir)))
- return false;
+ (!$this->_dirCheck($p_parent_dir))
+ ) {
+ return false;
+ }
if (!@mkdir($p_dir, 0777)) {
$this->_error("Unable to create directory '$p_dir'");
@@ -3180,58 +3604,63 @@ class Archive_Tar extends PEAR
$v_list = explode('/', $p_dir);
// ----- Study directories from last to first
- for ($i=sizeof($v_list)-1; $i>=0; $i--) {
+ for ($i = sizeof($v_list) - 1; $i >= 0; $i--) {
// ----- Look for current path
if ($v_list[$i] == ".") {
// ----- Ignore this directory
// Should be the first $i=0, but no check is done
- }
- else if ($v_list[$i] == "..") {
- // ----- Ignore it and ignore the $i-1
- $i--;
- }
- else if ( ($v_list[$i] == '')
- && ($i!=(sizeof($v_list)-1))
- && ($i!=0)) {
- // ----- Ignore only the double '//' in path,
- // but not the first and last /
} else {
- $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?'/'
- .$v_result:'');
+ if ($v_list[$i] == "..") {
+ // ----- Ignore it and ignore the $i-1
+ $i--;
+ } else {
+ if (($v_list[$i] == '')
+ && ($i != (sizeof($v_list) - 1))
+ && ($i != 0)
+ ) {
+ // ----- Ignore only the double '//' in path,
+ // but not the first and last /
+ } else {
+ $v_result = $v_list[$i] . ($i != (sizeof($v_list) - 1) ? '/'
+ . $v_result : '');
+ }
+ }
}
}
}
-
+
if (defined('OS_WINDOWS') && OS_WINDOWS) {
$v_result = strtr($v_result, '\\', '/');
}
-
+
return $v_result;
}
// }}}
// {{{ _translateWinPath()
- function _translateWinPath($p_path, $p_remove_disk_letter=true)
+ function _translateWinPath($p_path, $p_remove_disk_letter = true)
{
- if (defined('OS_WINDOWS') && OS_WINDOWS) {
- // ----- Look for potential disk letter
- if ( ($p_remove_disk_letter)
- && (($v_position = strpos($p_path, ':')) != false)) {
- $p_path = substr($p_path, $v_position+1);
- }
- // ----- Change potential windows directory separator
- if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) {
- $p_path = strtr($p_path, '\\', '/');
- }
- }
- return $p_path;
+ if (defined('OS_WINDOWS') && OS_WINDOWS) {
+ // ----- Look for potential disk letter
+ if (($p_remove_disk_letter)
+ && (($v_position = strpos($p_path, ':')) != false)
+ ) {
+ $p_path = substr($p_path, $v_position + 1);
+ }
+ // ----- Change potential windows directory separator
+ if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0, 1) == '\\')) {
+ $p_path = strtr($p_path, '\\', '/');
+ }
+ }
+ return $p_path;
}
// }}}
}
+
?>
-package.xml
+package.xml
<package packagerversion="1.9.4" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
<name>Archive_Tar</name>
<channel>pear.php.net</channel>
@@ -3264,25 +3693,29 @@ loaded. Bz2 compression is also supported with the bz2 extension loaded.</descri
<email>stig@php.net</email>
<active>no</active>
</helper>
- <date>2013-02-09</date>
- <time>11:44:17</time>
+ <date>2014-08-04</date>
+ <time>13:23:07</time>
<version>
- <release>1.3.11</release>
+ <release>1.3.12</release>
<api>1.3.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
- <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license>
+ <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD
+ License</license>
<notes>
-* Fix Bug #19746: Broken with PHP 5.5 [mrook]
- * Implement Feature #11258: Custom date/time in files added on-the-fly [mrook]
+* Fix Bug #19964: Memory leaking in Archive_Tar [mrook]
+ * Fix Bug #20246: Broken with php 5.5.9 [mrook]
+ * Fix Bug #20275: &quot;pax_global_header&quot; looks like a regular file [mrook]
+ * Implement Feature #19827: pass filename to _addFile function - downstream patch [mrook]
+ * Implement Feature #20132: Add custom mode/uid/gid to addString() [mrook]
</notes>
<contents>
<dir name="/">
- <file baseinstalldir="/" md5sum="c6a0c1df229783f55d2c3e5e93c46d6e" name="Archive/Tar.php" role="php" />
- <file baseinstalldir="/" md5sum="29b03715377b18b1fafcff98a99cc9a7" name="docs/Archive_Tar.txt" role="doc" />
+ <file baseinstalldir="/" md5sum="f3d77291fa3b22e11ecf65a0d6112d13" name="Archive/Tar.php" role="php" />
+ <file baseinstalldir="/" md5sum="2fb90f0be7089a45c09a0d1182792419" name="docs/Archive_Tar.txt" role="doc" />
</dir>
</contents>
<compatible>
@@ -3305,6 +3738,24 @@ loaded. Bz2 compression is also supported with the bz2 extension loaded.</descri
<changelog>
<release>
<version>
+ <release>1.3.11</release>
+ <api>1.3.1</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2013-02-09</date>
+ <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD
+ License</license>
+ <notes>
+* Fix Bug #19746: Broken with PHP 5.5 [mrook]
+ * Implement Feature #11258: Custom date/time in files added on-the-fly
+ * [mrook]
+ </notes>
+ </release>
+ <release>
+ <version>
<release>1.3.10</release>
<api>1.3.1</api>
</version>
@@ -3621,7 +4072,7 @@ Windows bugfix: used wrong directory separators
</release>
</changelog>
</package>
-
+
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
/**
@@ -3667,75 +4118,98 @@ require_once 'PEAR.php';
define('ARCHIVE_TAR_ATT_SEPARATOR', 90001);
define('ARCHIVE_TAR_END_BLOCK', pack("a512", ''));
+if (!function_exists('gzopen') && function_exists('gzopen64')) {
+ function gzopen($filename, $mode, $use_include_path = 0)
+ {
+ gzopen64($filename, $mode, $use_include_path);
+ }
+}
+
+if (!function_exists('gztell') && function_exists('gztell64')) {
+ function gztell($zp)
+ {
+ gztell64($zp);
+ }
+}
+
+if (!function_exists('gzseek') && function_exists('gzseek64')) {
+ function gzseek($zp, $offset, $whence = SEEK_SET)
+ {
+ gzseek64($zp, $offset, $whence);
+ }
+}
+
/**
-* Creates a (compressed) Tar archive
-*
-* @package Archive_Tar
-* @author Vincent Blavet <vincent@phpconcept.net>
-* @license http://www.opensource.org/licenses/bsd-license.php New BSD License
-* @version $Revision$
-*/
+ * Creates a (compressed) Tar archive
+ *
+ * @package Archive_Tar
+ * @author Vincent Blavet <vincent@phpconcept.net>
+ * @license http://www.opensource.org/licenses/bsd-license.php New BSD License
+ * @version $Revision$
+ */
class Archive_Tar extends PEAR
{
/**
- * @var string Name of the Tar
- */
- var $_tarname='';
+ * @var string Name of the Tar
+ */
+ var $_tarname = '';
/**
- * @var boolean if true, the Tar file will be gzipped
- */
- var $_compress=false;
+ * @var boolean if true, the Tar file will be gzipped
+ */
+ var $_compress = false;
/**
- * @var string Type of compression : 'none', 'gz' or 'bz2'
- */
- var $_compress_type='none';
+ * @var string Type of compression : 'none', 'gz', 'bz2' or 'lzma2'
+ */
+ var $_compress_type = 'none';
/**
- * @var string Explode separator
- */
- var $_separator=' ';
+ * @var string Explode separator
+ */
+ var $_separator = ' ';
/**
- * @var file descriptor
- */
- var $_file=0;
+ * @var file descriptor
+ */
+ var $_file = 0;
/**
- * @var string Local Tar name of a remote Tar (http:// or ftp://)
- */
- var $_temp_tarname='';
+ * @var string Local Tar name of a remote Tar (http:// or ftp://)
+ */
+ var $_temp_tarname = '';
/**
- * @var string regular expression for ignoring files or directories
- */
- var $_ignore_regexp='';
+ * @var string regular expression for ignoring files or directories
+ */
+ var $_ignore_regexp = '';
/**
* @var object PEAR_Error object
*/
- var $error_object=null;
+ var $error_object = null;
// {{{ constructor
/**
- * Archive_Tar Class constructor. This flavour of the constructor only
- * declare a new Archive_Tar object, identifying it by the name of the
- * tar file.
- * If the compress argument is set the tar will be read or created as a
- * gzip or bz2 compressed TAR file.
- *
- * @param string $p_tarname The name of the tar archive to create
- * @param string $p_compress can be null, 'gz' or 'bz2'. This
- * parameter indicates if gzip or bz2 compression
- * is required. For compatibility reason the
- * boolean value 'true' means 'gz'.
- *
- * @access public
- */
+ * Archive_Tar Class constructor. This flavour of the constructor only
+ * declare a new Archive_Tar object, identifying it by the name of the
+ * tar file.
+ * If the compress argument is set the tar will be read or created as a
+ * gzip or bz2 compressed TAR file.
+ *
+ * @param string $p_tarname The name of the tar archive to create
+ * @param string $p_compress can be null, 'gz', 'bz2' or 'lzma2'. This
+ * parameter indicates if gzip, bz2 or lzma2 compression
+ * is required. For compatibility reason the
+ * boolean value 'true' means 'gz'.
+ *
+ * @access public
+ */
function Archive_Tar($p_tarname, $p_compress = null)
{
- $this->PEAR();
+ if (version_compare(PHP_VERSION, '5.0.0', '<')) {
+ $this->PEAR();
+ }
$this->_compress = false;
$this->_compress_type = 'none';
if (($p_compress === null) || ($p_compress == '')) {
@@ -3751,6 +4225,9 @@ class Archive_Tar extends PEAR
} elseif ($data == "BZ") {
$this->_compress = true;
$this->_compress_type = 'bz2';
+ } elseif (file_get_contents($p_tarname, false, null, 1, 4) == '7zXZ') {
+ $this->_compress = true;
+ $this->_compress_type = 'lzma2';
}
}
} else {
@@ -3760,42 +4237,67 @@ class Archive_Tar extends PEAR
$this->_compress = true;
$this->_compress_type = 'gz';
} elseif ((substr($p_tarname, -3) == 'bz2') ||
- (substr($p_tarname, -2) == 'bz')) {
+ (substr($p_tarname, -2) == 'bz')
+ ) {
$this->_compress = true;
$this->_compress_type = 'bz2';
+ } else {
+ if (substr($p_tarname, -2) == 'xz') {
+ $this->_compress = true;
+ $this->_compress_type = 'lzma2';
+ }
}
}
} else {
if (($p_compress === true) || ($p_compress == 'gz')) {
$this->_compress = true;
$this->_compress_type = 'gz';
- } else if ($p_compress == 'bz2') {
- $this->_compress = true;
- $this->_compress_type = 'bz2';
} else {
- $this->_error("Unsupported compression type '$p_compress'\n".
- "Supported types are 'gz' and 'bz2'.\n");
- return false;
+ if ($p_compress == 'bz2') {
+ $this->_compress = true;
+ $this->_compress_type = 'bz2';
+ } else {
+ if ($p_compress == 'lzma2') {
+ $this->_compress = true;
+ $this->_compress_type = 'lzma2';
+ } else {
+ $this->_error(
+ "Unsupported compression type '$p_compress'\n" .
+ "Supported types are 'gz', 'bz2' and 'lzma2'.\n"
+ );
+ return false;
+ }
+ }
}
}
$this->_tarname = $p_tarname;
- if ($this->_compress) { // assert zlib or bz2 extension support
- if ($this->_compress_type == 'gz')
+ if ($this->_compress) { // assert zlib or bz2 or xz extension support
+ if ($this->_compress_type == 'gz') {
$extname = 'zlib';
- else if ($this->_compress_type == 'bz2')
- $extname = 'bz2';
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ $extname = 'bz2';
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ $extname = 'xz';
+ }
+ }
+ }
if (!extension_loaded($extname)) {
PEAR::loadExtension($extname);
}
if (!extension_loaded($extname)) {
- $this->_error("The extension '$extname' couldn't be found.\n".
- "Please make sure your version of PHP was built ".
- "with '$extname' support.\n");
+ $this->_error(
+ "The extension '$extname' couldn't be found.\n" .
+ "Please make sure your version of PHP was built " .
+ "with '$extname' support.\n"
+ );
return false;
}
}
}
+
// }}}
// {{{ destructor
@@ -3803,69 +4305,82 @@ class Archive_Tar extends PEAR
{
$this->_close();
// ----- Look for a local copy to delete
- if ($this->_temp_tarname != '')
+ if ($this->_temp_tarname != '') {
@unlink($this->_temp_tarname);
+ }
$this->_PEAR();
}
+
+ // }}}
+
+ // {{{ PHP5-compatible destructor
+ function __destruct()
+ {
+ $this->_Archive_Tar();
+ }
+
// }}}
// {{{ create()
/**
- * This method creates the archive file and add the files / directories
- * that are listed in $p_filelist.
- * If a file with the same name exist and is writable, it is replaced
- * by the new tar.
- * The method return false and a PEAR error text.
- * The $p_filelist parameter can be an array of string, each string
- * representing a filename or a directory name with their path if
- * needed. It can also be a single string with names separated by a
- * single blank.
- * For each directory added in the archive, the files and
- * sub-directories are also added.
- * See also createModify() method for more details.
- *
- * @param array $p_filelist An array of filenames and directory names, or a
- * single string with names separated by a single
- * blank space.
- *
- * @return true on success, false on error.
- * @see createModify()
- * @access public
- */
+ * This method creates the archive file and add the files / directories
+ * that are listed in $p_filelist.
+ * If a file with the same name exist and is writable, it is replaced
+ * by the new tar.
+ * The method return false and a PEAR error text.
+ * The $p_filelist parameter can be an array of string, each string
+ * representing a filename or a directory name with their path if
+ * needed. It can also be a single string with names separated by a
+ * single blank.
+ * For each directory added in the archive, the files and
+ * sub-directories are also added.
+ * See also createModify() method for more details.
+ *
+ * @param array $p_filelist An array of filenames and directory names, or a
+ * single string with names separated by a single
+ * blank space.
+ *
+ * @return true on success, false on error.
+ * @see createModify()
+ * @access public
+ */
function create($p_filelist)
{
return $this->createModify($p_filelist, '', '');
}
+
// }}}
// {{{ add()
/**
- * This method add the files / directories that are listed in $p_filelist in
- * the archive. If the archive does not exist it is created.
- * The method return false and a PEAR error text.
- * The files and directories listed are only added at the end of the archive,
- * even if a file with the same name is already archived.
- * See also createModify() method for more details.
- *
- * @param array $p_filelist An array of filenames and directory names, or a
- * single string with names separated by a single
- * blank space.
- *
- * @return true on success, false on error.
- * @see createModify()
- * @access public
- */
+ * This method add the files / directories that are listed in $p_filelist in
+ * the archive. If the archive does not exist it is created.
+ * The method return false and a PEAR error text.
+ * The files and directories listed are only added at the end of the archive,
+ * even if a file with the same name is already archived.
+ * See also createModify() method for more details.
+ *
+ * @param array $p_filelist An array of filenames and directory names, or a
+ * single string with names separated by a single
+ * blank space.
+ *
+ * @return true on success, false on error.
+ * @see createModify()
+ * @access public
+ */
function add($p_filelist)
{
return $this->addModify($p_filelist, '', '');
}
+
// }}}
// {{{ extract()
- function extract($p_path='', $p_preserve=false)
+ function extract($p_path = '', $p_preserve = false)
{
return $this->extractModify($p_path, '', $p_preserve);
}
+
// }}}
// {{{ listContent()
@@ -3883,58 +4398,60 @@ class Archive_Tar extends PEAR
return $v_list_detail;
}
+
// }}}
// {{{ createModify()
/**
- * This method creates the archive file and add the files / directories
- * that are listed in $p_filelist.
- * If the file already exists and is writable, it is replaced by the
- * new tar. It is a create and not an add. If the file exists and is
- * read-only or is a directory it is not replaced. The method return
- * false and a PEAR error text.
- * The $p_filelist parameter can be an array of string, each string
- * representing a filename or a directory name with their path if
- * needed. It can also be a single string with names separated by a
- * single blank.
- * The path indicated in $p_remove_dir will be removed from the
- * memorized path of each file / directory listed when this path
- * exists. By default nothing is removed (empty path '')
- * The path indicated in $p_add_dir will be added at the beginning of
- * the memorized path of each file / directory listed. However it can
- * be set to empty ''. The adding of a path is done after the removing
- * of path.
- * The path add/remove ability enables the user to prepare an archive
- * for extraction in a different path than the origin files are.
- * See also addModify() method for file adding properties.
- *
- * @param array $p_filelist An array of filenames and directory names,
- * or a single string with names separated by
- * a single blank space.
- * @param string $p_add_dir A string which contains a path to be added
- * to the memorized path of each element in
- * the list.
- * @param string $p_remove_dir A string which contains a path to be
- * removed from the memorized path of each
- * element in the list, when relevant.
- *
- * @return boolean true on success, false on error.
- * @access public
- * @see addModify()
- */
- function createModify($p_filelist, $p_add_dir, $p_remove_dir='')
+ * This method creates the archive file and add the files / directories
+ * that are listed in $p_filelist.
+ * If the file already exists and is writable, it is replaced by the
+ * new tar. It is a create and not an add. If the file exists and is
+ * read-only or is a directory it is not replaced. The method return
+ * false and a PEAR error text.
+ * The $p_filelist parameter can be an array of string, each string
+ * representing a filename or a directory name with their path if
+ * needed. It can also be a single string with names separated by a
+ * single blank.
+ * The path indicated in $p_remove_dir will be removed from the
+ * memorized path of each file / directory listed when this path
+ * exists. By default nothing is removed (empty path '')
+ * The path indicated in $p_add_dir will be added at the beginning of
+ * the memorized path of each file / directory listed. However it can
+ * be set to empty ''. The adding of a path is done after the removing
+ * of path.
+ * The path add/remove ability enables the user to prepare an archive
+ * for extraction in a different path than the origin files are.
+ * See also addModify() method for file adding properties.
+ *
+ * @param array $p_filelist An array of filenames and directory names,
+ * or a single string with names separated by
+ * a single blank space.
+ * @param string $p_add_dir A string which contains a path to be added
+ * to the memorized path of each element in
+ * the list.
+ * @param string $p_remove_dir A string which contains a path to be
+ * removed from the memorized path of each
+ * element in the list, when relevant.
+ *
+ * @return boolean true on success, false on error.
+ * @access public
+ * @see addModify()
+ */
+ function createModify($p_filelist, $p_add_dir, $p_remove_dir = '')
{
$v_result = true;
- if (!$this->_openWrite())
+ if (!$this->_openWrite()) {
return false;
+ }
if ($p_filelist != '') {
- if (is_array($p_filelist))
+ if (is_array($p_filelist)) {
$v_list = $p_filelist;
- elseif (is_string($p_filelist))
+ } elseif (is_string($p_filelist)) {
$v_list = explode($this->_separator, $p_filelist);
- else {
+ } else {
$this->_cleanFile();
$this->_error('Invalid file list');
return false;
@@ -3946,68 +4463,73 @@ class Archive_Tar extends PEAR
if ($v_result) {
$this->_writeFooter();
$this->_close();
- } else
+ } else {
$this->_cleanFile();
+ }
return $v_result;
}
+
// }}}
// {{{ addModify()
/**
- * This method add the files / directories listed in $p_filelist at the
- * end of the existing archive. If the archive does not yet exists it
- * is created.
- * The $p_filelist parameter can be an array of string, each string
- * representing a filename or a directory name with their path if
- * needed. It can also be a single string with names separated by a
- * single blank.
- * The path indicated in $p_remove_dir will be removed from the
- * memorized path of each file / directory listed when this path
- * exists. By default nothing is removed (empty path '')
- * The path indicated in $p_add_dir will be added at the beginning of
- * the memorized path of each file / directory listed. However it can
- * be set to empty ''. The adding of a path is done after the removing
- * of path.
- * The path add/remove ability enables the user to prepare an archive
- * for extraction in a different path than the origin files are.
- * If a file/dir is already in the archive it will only be added at the
- * end of the archive. There is no update of the existing archived
- * file/dir. However while extracting the archive, the last file will
- * replace the first one. This results in a none optimization of the
- * archive size.
- * If a file/dir does not exist the file/dir is ignored. However an
- * error text is send to PEAR error.
- * If a file/dir is not readable the file/dir is ignored. However an
- * error text is send to PEAR error.
- *
- * @param array $p_filelist An array of filenames and directory
- * names, or a single string with names
- * separated by a single blank space.
- * @param string $p_add_dir A string which contains a path to be
- * added to the memorized path of each
- * element in the list.
- * @param string $p_remove_dir A string which contains a path to be
- * removed from the memorized path of
- * each element in the list, when
- * relevant.
- *
- * @return true on success, false on error.
- * @access public
- */
- function addModify($p_filelist, $p_add_dir, $p_remove_dir='')
+ * This method add the files / directories listed in $p_filelist at the
+ * end of the existing archive. If the archive does not yet exists it
+ * is created.
+ * The $p_filelist parameter can be an array of string, each string
+ * representing a filename or a directory name with their path if
+ * needed. It can also be a single string with names separated by a
+ * single blank.
+ * The path indicated in $p_remove_dir will be removed from the
+ * memorized path of each file / directory listed when this path
+ * exists. By default nothing is removed (empty path '')
+ * The path indicated in $p_add_dir will be added at the beginning of
+ * the memorized path of each file / directory listed. However it can
+ * be set to empty ''. The adding of a path is done after the removing
+ * of path.
+ * The path add/remove ability enables the user to prepare an archive
+ * for extraction in a different path than the origin files are.
+ * If a file/dir is already in the archive it will only be added at the
+ * end of the archive. There is no update of the existing archived
+ * file/dir. However while extracting the archive, the last file will
+ * replace the first one. This results in a none optimization of the
+ * archive size.
+ * If a file/dir does not exist the file/dir is ignored. However an
+ * error text is send to PEAR error.
+ * If a file/dir is not readable the file/dir is ignored. However an
+ * error text is send to PEAR error.
+ *
+ * @param array $p_filelist An array of filenames and directory
+ * names, or a single string with names
+ * separated by a single blank space.
+ * @param string $p_add_dir A string which contains a path to be
+ * added to the memorized path of each
+ * element in the list.
+ * @param string $p_remove_dir A string which contains a path to be
+ * removed from the memorized path of
+ * each element in the list, when
+ * relevant.
+ *
+ * @return true on success, false on error.
+ * @access public
+ */
+ function addModify($p_filelist, $p_add_dir, $p_remove_dir = '')
{
$v_result = true;
- if (!$this->_isArchive())
- $v_result = $this->createModify($p_filelist, $p_add_dir,
- $p_remove_dir);
- else {
- if (is_array($p_filelist))
+ if (!$this->_isArchive()) {
+ $v_result = $this->createModify(
+ $p_filelist,
+ $p_add_dir,
+ $p_remove_dir
+ );
+ } else {
+ if (is_array($p_filelist)) {
$v_list = $p_filelist;
- elseif (is_string($p_filelist))
+ } elseif (is_string($p_filelist)) {
$v_list = explode($this->_separator, $p_filelist);
- else {
+ } else {
$this->_error('Invalid file list');
return false;
}
@@ -4017,27 +4539,45 @@ class Archive_Tar extends PEAR
return $v_result;
}
+
// }}}
// {{{ addString()
/**
- * This method add a single string as a file at the
- * end of the existing archive. If the archive does not yet exists it
- * is created.
- *
- * @param string $p_filename A string which contains the full
- * filename path that will be associated
- * with the string.
- * @param string $p_string The content of the file added in
- * the archive.
- * @param int $p_datetime A custom date/time (unix timestamp)
- * for the file (optional).
- *
- * @return true on success, false on error.
- * @access public
- */
- function addString($p_filename, $p_string, $p_datetime = false)
+ * This method add a single string as a file at the
+ * end of the existing archive. If the archive does not yet exists it
+ * is created.
+ *
+ * @param string $p_filename A string which contains the full
+ * filename path that will be associated
+ * with the string.
+ * @param string $p_string The content of the file added in
+ * the archive.
+ * @param int $p_datetime A custom date/time (unix timestamp)
+ * for the file (optional).
+ * @param array $p_params An array of optional params:
+ * stamp => the datetime (replaces
+ * datetime above if it exists)
+ * mode => the permissions on the
+ * file (600 by default)
+ * type => is this a link? See the
+ * tar specification for details.
+ * (default = regular file)
+ * uid => the user ID of the file
+ * (default = 0 = root)
+ * gid => the group ID of the file
+ * (default = 0 = root)
+ *
+ * @return true on success, false on error.
+ * @access public
+ */
+ function addString($p_filename, $p_string, $p_datetime = false, $p_params = array())
{
+ $p_stamp = @$p_params["stamp"] ? $p_params["stamp"] : ($p_datetime ? $p_datetime : time());
+ $p_mode = @$p_params["mode"] ? $p_params["mode"] : 0600;
+ $p_type = @$p_params["type"] ? $p_params["type"] : "";
+ $p_uid = @$p_params["uid"] ? $p_params["uid"] : "";
+ $p_gid = @$p_params["gid"] ? $p_params["gid"] : "";
$v_result = true;
if (!$this->_isArchive()) {
@@ -4047,11 +4587,12 @@ class Archive_Tar extends PEAR
$this->_close();
}
- if (!$this->_openAppend())
+ if (!$this->_openAppend()) {
return false;
+ }
// Need to check the get back to the temporary file ? ....
- $v_result = $this->_addString($p_filename, $p_string, $p_datetime);
+ $v_result = $this->_addString($p_filename, $p_string, $p_datetime, $p_params);
$this->_writeFooter();
@@ -4059,69 +4600,77 @@ class Archive_Tar extends PEAR
return $v_result;
}
+
// }}}
// {{{ extractModify()
/**
- * This method extract all the content of the archive in the directory
- * indicated by $p_path. When relevant the memorized path of the
- * files/dir can be modified by removing the $p_remove_path path at the
- * beginning of the file/dir path.
- * While extracting a file, if the directory path does not exists it is
- * created.
- * While extracting a file, if the file already exists it is replaced
- * without looking for last modification date.
- * While extracting a file, if the file already exists and is write
- * protected, the extraction is aborted.
- * While extracting a file, if a directory with the same name already
- * exists, the extraction is aborted.
- * While extracting a directory, if a file with the same name already
- * exists, the extraction is aborted.
- * While extracting a file/directory if the destination directory exist
- * and is write protected, or does not exist but can not be created,
- * the extraction is aborted.
- * If after extraction an extracted file does not show the correct
- * stored file size, the extraction is aborted.
- * When the extraction is aborted, a PEAR error text is set and false
- * is returned. However the result can be a partial extraction that may
- * need to be manually cleaned.
- *
- * @param string $p_path The path of the directory where the
- * files/dir need to by extracted.
- * @param string $p_remove_path Part of the memorized path that can be
- * removed if present at the beginning of
- * the file/dir path.
- * @param boolean $p_preserve Preserve user/group ownership of files
- *
- * @return boolean true on success, false on error.
- * @access public
- * @see extractList()
- */
- function extractModify($p_path, $p_remove_path, $p_preserve=false)
+ * This method extract all the content of the archive in the directory
+ * indicated by $p_path. When relevant the memorized path of the
+ * files/dir can be modified by removing the $p_remove_path path at the
+ * beginning of the file/dir path.
+ * While extracting a file, if the directory path does not exists it is
+ * created.
+ * While extracting a file, if the file already exists it is replaced
+ * without looking for last modification date.
+ * While extracting a file, if the file already exists and is write
+ * protected, the extraction is aborted.
+ * While extracting a file, if a directory with the same name already
+ * exists, the extraction is aborted.
+ * While extracting a directory, if a file with the same name already
+ * exists, the extraction is aborted.
+ * While extracting a file/directory if the destination directory exist
+ * and is write protected, or does not exist but can not be created,
+ * the extraction is aborted.
+ * If after extraction an extracted file does not show the correct
+ * stored file size, the extraction is aborted.
+ * When the extraction is aborted, a PEAR error text is set and false
+ * is returned. However the result can be a partial extraction that may
+ * need to be manually cleaned.
+ *
+ * @param string $p_path The path of the directory where the
+ * files/dir need to by extracted.
+ * @param string $p_remove_path Part of the memorized path that can be
+ * removed if present at the beginning of
+ * the file/dir path.
+ * @param boolean $p_preserve Preserve user/group ownership of files
+ *
+ * @return boolean true on success, false on error.
+ * @access public
+ * @see extractList()
+ */
+ function extractModify($p_path, $p_remove_path, $p_preserve = false)
{
$v_result = true;
$v_list_detail = array();
if ($v_result = $this->_openRead()) {
- $v_result = $this->_extractList($p_path, $v_list_detail,
- "complete", 0, $p_remove_path, $p_preserve);
+ $v_result = $this->_extractList(
+ $p_path,
+ $v_list_detail,
+ "complete",
+ 0,
+ $p_remove_path,
+ $p_preserve
+ );
$this->_close();
}
return $v_result;
}
+
// }}}
// {{{ extractInString()
/**
- * This method extract from the archive one file identified by $p_filename.
- * The return value is a string with the file content, or NULL on error.
- *
- * @param string $p_filename The path of the file to extract in a string.
- *
- * @return a string with the file content or NULL.
- * @access public
- */
+ * This method extract from the archive one file identified by $p_filename.
+ * The return value is a string with the file content, or NULL on error.
+ *
+ * @param string $p_filename The path of the file to extract in a string.
+ *
+ * @return a string with the file content or NULL.
+ * @access public
+ */
function extractInString($p_filename)
{
if ($this->_openRead()) {
@@ -4133,65 +4682,73 @@ class Archive_Tar extends PEAR
return $v_result;
}
+
// }}}
// {{{ extractList()
/**
- * This method extract from the archive only the files indicated in the
- * $p_filelist. These files are extracted in the current directory or
- * in the directory indicated by the optional $p_path parameter.
- * If indicated the $p_remove_path can be used in the same way as it is
- * used in extractModify() method.
- *
- * @param array $p_filelist An array of filenames and directory names,
- * or a single string with names separated
- * by a single blank space.
- * @param string $p_path The path of the directory where the
- * files/dir need to by extracted.
- * @param string $p_remove_path Part of the memorized path that can be
- * removed if present at the beginning of
- * the file/dir path.
- * @param boolean $p_preserve Preserve user/group ownership of files
- *
- * @return true on success, false on error.
- * @access public
- * @see extractModify()
- */
- function extractList($p_filelist, $p_path='', $p_remove_path='', $p_preserve=false)
+ * This method extract from the archive only the files indicated in the
+ * $p_filelist. These files are extracted in the current directory or
+ * in the directory indicated by the optional $p_path parameter.
+ * If indicated the $p_remove_path can be used in the same way as it is
+ * used in extractModify() method.
+ *
+ * @param array $p_filelist An array of filenames and directory names,
+ * or a single string with names separated
+ * by a single blank space.
+ * @param string $p_path The path of the directory where the
+ * files/dir need to by extracted.
+ * @param string $p_remove_path Part of the memorized path that can be
+ * removed if present at the beginning of
+ * the file/dir path.
+ * @param boolean $p_preserve Preserve user/group ownership of files
+ *
+ * @return true on success, false on error.
+ * @access public
+ * @see extractModify()
+ */
+ function extractList($p_filelist, $p_path = '', $p_remove_path = '', $p_preserve = false)
{
$v_result = true;
$v_list_detail = array();
- if (is_array($p_filelist))
+ if (is_array($p_filelist)) {
$v_list = $p_filelist;
- elseif (is_string($p_filelist))
+ } elseif (is_string($p_filelist)) {
$v_list = explode($this->_separator, $p_filelist);
- else {
+ } else {
$this->_error('Invalid string list');
return false;
}
if ($v_result = $this->_openRead()) {
- $v_result = $this->_extractList($p_path, $v_list_detail, "partial",
- $v_list, $p_remove_path, $p_preserve);
+ $v_result = $this->_extractList(
+ $p_path,
+ $v_list_detail,
+ "partial",
+ $v_list,
+ $p_remove_path,
+ $p_preserve
+ );
$this->_close();
}
return $v_result;
}
+
// }}}
// {{{ setAttribute()
/**
- * This method set specific attributes of the archive. It uses a variable
- * list of parameters, in the format attribute code + attribute values :
- * $arch->setAttribute(ARCHIVE_TAR_ATT_SEPARATOR, ',');
- *
- * @param mixed $argv variable list of attributes and values
- *
- * @return true on success, false on error.
- * @access public
- */
+ * This method set specific attributes of the archive. It uses a variable
+ * list of parameters, in the format attribute code + attribute values :
+ * $arch->setAttribute(ARCHIVE_TAR_ATT_SEPARATOR, ',');
+ *
+ * @param mixed $argv variable list of attributes and values
+ *
+ * @return true on success, false on error.
+ * @access public
+ */
function setAttribute()
{
$v_result = true;
@@ -4202,30 +4759,32 @@ class Archive_Tar extends PEAR
}
// ----- Get the arguments
- $v_att_list = &func_get_args();
+ $v_att_list = & func_get_args();
// ----- Read the attributes
- $i=0;
- while ($i<$v_size) {
+ $i = 0;
+ while ($i < $v_size) {
// ----- Look for next option
switch ($v_att_list[$i]) {
// ----- Look for options that request a string value
case ARCHIVE_TAR_ATT_SEPARATOR :
// ----- Check the number of parameters
- if (($i+1) >= $v_size) {
- $this->_error('Invalid number of parameters for '
- .'attribute ARCHIVE_TAR_ATT_SEPARATOR');
+ if (($i + 1) >= $v_size) {
+ $this->_error(
+ 'Invalid number of parameters for '
+ . 'attribute ARCHIVE_TAR_ATT_SEPARATOR'
+ );
return false;
}
// ----- Get the value
- $this->_separator = $v_att_list[$i+1];
+ $this->_separator = $v_att_list[$i + 1];
$i++;
- break;
+ break;
default :
- $this->_error('Unknow attribute code '.$v_att_list[$i].'');
+ $this->_error('Unknow attribute code ' . $v_att_list[$i] . '');
return false;
}
@@ -4235,58 +4794,63 @@ class Archive_Tar extends PEAR
return $v_result;
}
+
// }}}
// {{{ setIgnoreRegexp()
/**
- * This method sets the regular expression for ignoring files and directories
- * at import, for example:
- * $arch->setIgnoreRegexp("#CVS|\.svn#");
- *
- * @param string $regexp regular expression defining which files or directories to ignore
- *
- * @access public
- */
+ * This method sets the regular expression for ignoring files and directories
+ * at import, for example:
+ * $arch->setIgnoreRegexp("#CVS|\.svn#");
+ *
+ * @param string $regexp regular expression defining which files or directories to ignore
+ *
+ * @access public
+ */
function setIgnoreRegexp($regexp)
{
- $this->_ignore_regexp = $regexp;
+ $this->_ignore_regexp = $regexp;
}
+
// }}}
// {{{ setIgnoreList()
/**
- * This method sets the regular expression for ignoring all files and directories
- * matching the filenames in the array list at import, for example:
- * $arch->setIgnoreList(array('CVS', '.svn', 'bin/tool'));
- *
- * @param array $list a list of file or directory names to ignore
- *
- * @access public
- */
+ * This method sets the regular expression for ignoring all files and directories
+ * matching the filenames in the array list at import, for example:
+ * $arch->setIgnoreList(array('CVS', '.svn', 'bin/tool'));
+ *
+ * @param array $list a list of file or directory names to ignore
+ *
+ * @access public
+ */
function setIgnoreList($list)
{
- $regexp = str_replace(array('#', '.', '^', '$'), array('\#', '\.', '\^', '\$'), $list);
- $regexp = '#/'.join('$|/', $list).'#';
- $this->setIgnoreRegexp($regexp);
+ $regexp = str_replace(array('#', '.', '^', '$'), array('\#', '\.', '\^', '\$'), $list);
+ $regexp = '#/' . join('$|/', $list) . '#';
+ $this->setIgnoreRegexp($regexp);
}
+
// }}}
// {{{ _error()
function _error($p_message)
{
- $this->error_object = &$this->raiseError($p_message);
+ $this->error_object = & $this->raiseError($p_message);
}
+
// }}}
// {{{ _warning()
function _warning($p_message)
{
- $this->error_object = &$this->raiseError($p_message);
+ $this->error_object = & $this->raiseError($p_message);
}
+
// }}}
// {{{ _isArchive()
- function _isArchive($p_filename=null)
+ function _isArchive($p_filename = null)
{
if ($p_filename == null) {
$p_filename = $this->_tarname;
@@ -4294,31 +4858,45 @@ class Archive_Tar extends PEAR
clearstatcache();
return @is_file($p_filename) && !@is_link($p_filename);
}
+
// }}}
// {{{ _openWrite()
function _openWrite()
{
- if ($this->_compress_type == 'gz' && function_exists('gzopen'))
+ if ($this->_compress_type == 'gz' && function_exists('gzopen')) {
$this->_file = @gzopen($this->_tarname, "wb9");
- else if ($this->_compress_type == 'bz2' && function_exists('bzopen'))
- $this->_file = @bzopen($this->_tarname, "w");
- else if ($this->_compress_type == 'none')
- $this->_file = @fopen($this->_tarname, "wb");
- else {
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
- return false;
+ } else {
+ if ($this->_compress_type == 'bz2' && function_exists('bzopen')) {
+ $this->_file = @bzopen($this->_tarname, "w");
+ } else {
+ if ($this->_compress_type == 'lzma2' && function_exists('xzopen')) {
+ $this->_file = @xzopen($this->_tarname, 'w');
+ } else {
+ if ($this->_compress_type == 'none') {
+ $this->_file = @fopen($this->_tarname, "wb");
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ return false;
+ }
+ }
+ }
}
if ($this->_file == 0) {
- $this->_error('Unable to open in write mode \''
- .$this->_tarname.'\'');
+ $this->_error(
+ 'Unable to open in write mode \''
+ . $this->_tarname . '\''
+ );
return false;
}
return true;
}
+
// }}}
// {{{ _openRead()
@@ -4326,80 +4904,116 @@ class Archive_Tar extends PEAR
{
if (strtolower(substr($this->_tarname, 0, 7)) == 'http://') {
- // ----- Look if a local copy need to be done
- if ($this->_temp_tarname == '') {
- $this->_temp_tarname = uniqid('tar').'.tmp';
- if (!$v_file_from = @fopen($this->_tarname, 'rb')) {
- $this->_error('Unable to open in read mode \''
- .$this->_tarname.'\'');
- $this->_temp_tarname = '';
- return false;
- }
- if (!$v_file_to = @fopen($this->_temp_tarname, 'wb')) {
- $this->_error('Unable to open in write mode \''
- .$this->_temp_tarname.'\'');
- $this->_temp_tarname = '';
- return false;
- }
- while ($v_data = @fread($v_file_from, 1024))
- @fwrite($v_file_to, $v_data);
- @fclose($v_file_from);
- @fclose($v_file_to);
- }
+ // ----- Look if a local copy need to be done
+ if ($this->_temp_tarname == '') {
+ $this->_temp_tarname = uniqid('tar') . '.tmp';
+ if (!$v_file_from = @fopen($this->_tarname, 'rb')) {
+ $this->_error(
+ 'Unable to open in read mode \''
+ . $this->_tarname . '\''
+ );
+ $this->_temp_tarname = '';
+ return false;
+ }
+ if (!$v_file_to = @fopen($this->_temp_tarname, 'wb')) {
+ $this->_error(
+ 'Unable to open in write mode \''
+ . $this->_temp_tarname . '\''
+ );
+ $this->_temp_tarname = '';
+ return false;
+ }
+ while ($v_data = @fread($v_file_from, 1024)) {
+ @fwrite($v_file_to, $v_data);
+ }
+ @fclose($v_file_from);
+ @fclose($v_file_to);
+ }
- // ----- File to open if the local copy
- $v_filename = $this->_temp_tarname;
+ // ----- File to open if the local copy
+ $v_filename = $this->_temp_tarname;
- } else
- // ----- File to open if the normal Tar file
- $v_filename = $this->_tarname;
+ } else // ----- File to open if the normal Tar file
+ {
+ $v_filename = $this->_tarname;
+ }
- if ($this->_compress_type == 'gz' && function_exists('gzopen'))
+ if ($this->_compress_type == 'gz' && function_exists('gzopen')) {
$this->_file = @gzopen($v_filename, "rb");
- else if ($this->_compress_type == 'bz2' && function_exists('bzopen'))
- $this->_file = @bzopen($v_filename, "r");
- else if ($this->_compress_type == 'none')
- $this->_file = @fopen($v_filename, "rb");
- else {
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
- return false;
+ } else {
+ if ($this->_compress_type == 'bz2' && function_exists('bzopen')) {
+ $this->_file = @bzopen($v_filename, "r");
+ } else {
+ if ($this->_compress_type == 'lzma2' && function_exists('xzopen')) {
+ $this->_file = @xzopen($v_filename, "r");
+ } else {
+ if ($this->_compress_type == 'none') {
+ $this->_file = @fopen($v_filename, "rb");
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ return false;
+ }
+ }
+ }
}
if ($this->_file == 0) {
- $this->_error('Unable to open in read mode \''.$v_filename.'\'');
+ $this->_error('Unable to open in read mode \'' . $v_filename . '\'');
return false;
}
return true;
}
+
// }}}
// {{{ _openReadWrite()
function _openReadWrite()
{
- if ($this->_compress_type == 'gz')
+ if ($this->_compress_type == 'gz') {
$this->_file = @gzopen($this->_tarname, "r+b");
- else if ($this->_compress_type == 'bz2') {
- $this->_error('Unable to open bz2 in read/write mode \''
- .$this->_tarname.'\' (limitation of bz2 extension)');
- return false;
- } else if ($this->_compress_type == 'none')
- $this->_file = @fopen($this->_tarname, "r+b");
- else {
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
- return false;
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ $this->_error(
+ 'Unable to open bz2 in read/write mode \''
+ . $this->_tarname . '\' (limitation of bz2 extension)'
+ );
+ return false;
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ $this->_error(
+ 'Unable to open lzma2 in read/write mode \''
+ . $this->_tarname . '\' (limitation of lzma2 extension)'
+ );
+ return false;
+ } else {
+ if ($this->_compress_type == 'none') {
+ $this->_file = @fopen($this->_tarname, "r+b");
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ return false;
+ }
+ }
+ }
}
if ($this->_file == 0) {
- $this->_error('Unable to open in read/write mode \''
- .$this->_tarname.'\'');
+ $this->_error(
+ 'Unable to open in read/write mode \''
+ . $this->_tarname . '\''
+ );
return false;
}
return true;
}
+
// }}}
// {{{ _close()
@@ -4407,15 +5021,26 @@ class Archive_Tar extends PEAR
{
//if (isset($this->_file)) {
if (is_resource($this->_file)) {
- if ($this->_compress_type == 'gz')
+ if ($this->_compress_type == 'gz') {
@gzclose($this->_file);
- else if ($this->_compress_type == 'bz2')
- @bzclose($this->_file);
- else if ($this->_compress_type == 'none')
- @fclose($this->_file);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ @bzclose($this->_file);
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ @xzclose($this->_file);
+ } else {
+ if ($this->_compress_type == 'none') {
+ @fclose($this->_file);
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ }
+ }
+ }
+ }
$this->_file = 0;
}
@@ -4429,6 +5054,7 @@ class Archive_Tar extends PEAR
return true;
}
+
// }}}
// {{{ _cleanFile()
@@ -4449,276 +5075,367 @@ class Archive_Tar extends PEAR
return true;
}
+
// }}}
// {{{ _writeBlock()
- function _writeBlock($p_binary_data, $p_len=null)
- {
- if (is_resource($this->_file)) {
- if ($p_len === null) {
- if ($this->_compress_type == 'gz')
- @gzputs($this->_file, $p_binary_data);
- else if ($this->_compress_type == 'bz2')
- @bzwrite($this->_file, $p_binary_data);
- else if ($this->_compress_type == 'none')
- @fputs($this->_file, $p_binary_data);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
- } else {
- if ($this->_compress_type == 'gz')
- @gzputs($this->_file, $p_binary_data, $p_len);
- else if ($this->_compress_type == 'bz2')
- @bzwrite($this->_file, $p_binary_data, $p_len);
- else if ($this->_compress_type == 'none')
- @fputs($this->_file, $p_binary_data, $p_len);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
+ function _writeBlock($p_binary_data, $p_len = null)
+ {
+ if (is_resource($this->_file)) {
+ if ($p_len === null) {
+ if ($this->_compress_type == 'gz') {
+ @gzputs($this->_file, $p_binary_data);
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ @bzwrite($this->_file, $p_binary_data);
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ @xzwrite($this->_file, $p_binary_data);
+ } else {
+ if ($this->_compress_type == 'none') {
+ @fputs($this->_file, $p_binary_data);
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ }
+ }
+ }
+ }
+ } else {
+ if ($this->_compress_type == 'gz') {
+ @gzputs($this->_file, $p_binary_data, $p_len);
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ @bzwrite($this->_file, $p_binary_data, $p_len);
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ @xzwrite($this->_file, $p_binary_data, $p_len);
+ } else {
+ if ($this->_compress_type == 'none') {
+ @fputs($this->_file, $p_binary_data, $p_len);
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ }
+ }
+ }
+ }
- }
- }
- return true;
+ }
+ }
+ return true;
}
+
// }}}
// {{{ _readBlock()
function _readBlock()
{
- $v_block = null;
- if (is_resource($this->_file)) {
- if ($this->_compress_type == 'gz')
- $v_block = @gzread($this->_file, 512);
- else if ($this->_compress_type == 'bz2')
- $v_block = @bzread($this->_file, 512);
- else if ($this->_compress_type == 'none')
- $v_block = @fread($this->_file, 512);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
- }
- return $v_block;
+ $v_block = null;
+ if (is_resource($this->_file)) {
+ if ($this->_compress_type == 'gz') {
+ $v_block = @gzread($this->_file, 512);
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ $v_block = @bzread($this->_file, 512);
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ $v_block = @xzread($this->_file, 512);
+ } else {
+ if ($this->_compress_type == 'none') {
+ $v_block = @fread($this->_file, 512);
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ }
+ }
+ }
+ }
+ }
+ return $v_block;
}
+
// }}}
// {{{ _jumpBlock()
- function _jumpBlock($p_len=null)
+ function _jumpBlock($p_len = null)
{
- if (is_resource($this->_file)) {
- if ($p_len === null)
- $p_len = 1;
+ if (is_resource($this->_file)) {
+ if ($p_len === null) {
+ $p_len = 1;
+ }
- if ($this->_compress_type == 'gz') {
- @gzseek($this->_file, gztell($this->_file)+($p_len*512));
- }
- else if ($this->_compress_type == 'bz2') {
- // ----- Replace missing bztell() and bzseek()
- for ($i=0; $i<$p_len; $i++)
- $this->_readBlock();
- } else if ($this->_compress_type == 'none')
- @fseek($this->_file, $p_len*512, SEEK_CUR);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
-
- }
- return true;
+ if ($this->_compress_type == 'gz') {
+ @gzseek($this->_file, gztell($this->_file) + ($p_len * 512));
+ } else {
+ if ($this->_compress_type == 'bz2') {
+ // ----- Replace missing bztell() and bzseek()
+ for ($i = 0; $i < $p_len; $i++) {
+ $this->_readBlock();
+ }
+ } else {
+ if ($this->_compress_type == 'lzma2') {
+ // ----- Replace missing xztell() and xzseek()
+ for ($i = 0; $i < $p_len; $i++) {
+ $this->_readBlock();
+ }
+ } else {
+ if ($this->_compress_type == 'none') {
+ @fseek($this->_file, $p_len * 512, SEEK_CUR);
+ } else {
+ $this->_error(
+ 'Unknown or missing compression type ('
+ . $this->_compress_type . ')'
+ );
+ }
+ }
+ }
+ }
+
+ }
+ return true;
}
+
// }}}
// {{{ _writeFooter()
function _writeFooter()
{
- if (is_resource($this->_file)) {
- // ----- Write the last 0 filled block for end of archive
- $v_binary_data = pack('a1024', '');
- $this->_writeBlock($v_binary_data);
- }
- return true;
+ if (is_resource($this->_file)) {
+ // ----- Write the last 0 filled block for end of archive
+ $v_binary_data = pack('a1024', '');
+ $this->_writeBlock($v_binary_data);
+ }
+ return true;
}
+
// }}}
// {{{ _addList()
function _addList($p_list, $p_add_dir, $p_remove_dir)
{
- $v_result=true;
- $v_header = array();
-
- // ----- Remove potential windows directory separator
- $p_add_dir = $this->_translateWinPath($p_add_dir);
- $p_remove_dir = $this->_translateWinPath($p_remove_dir, false);
-
- if (!$this->_file) {
- $this->_error('Invalid file descriptor');
- return false;
- }
+ $v_result = true;
+ $v_header = array();
- if (sizeof($p_list) == 0)
- return true;
+ // ----- Remove potential windows directory separator
+ $p_add_dir = $this->_translateWinPath($p_add_dir);
+ $p_remove_dir = $this->_translateWinPath($p_remove_dir, false);
- foreach ($p_list as $v_filename) {
- if (!$v_result) {
- break;
- }
+ if (!$this->_file) {
+ $this->_error('Invalid file descriptor');
+ return false;
+ }
- // ----- Skip the current tar name
- if ($v_filename == $this->_tarname)
- continue;
+ if (sizeof($p_list) == 0) {
+ return true;
+ }
- if ($v_filename == '')
- continue;
+ foreach ($p_list as $v_filename) {
+ if (!$v_result) {
+ break;
+ }
- // ----- ignore files and directories matching the ignore regular expression
- if ($this->_ignore_regexp && preg_match($this->_ignore_regexp, '/'.$v_filename)) {
- $this->_warning("File '$v_filename' ignored");
- continue;
- }
+ // ----- Skip the current tar name
+ if ($v_filename == $this->_tarname) {
+ continue;
+ }
- if (!file_exists($v_filename) && !is_link($v_filename)) {
- $this->_warning("File '$v_filename' does not exist");
- continue;
- }
+ if ($v_filename == '') {
+ continue;
+ }
- // ----- Add the file or directory header
- if (!$this->_addFile($v_filename, $v_header, $p_add_dir, $p_remove_dir))
- return false;
+ // ----- ignore files and directories matching the ignore regular expression
+ if ($this->_ignore_regexp && preg_match($this->_ignore_regexp, '/' . $v_filename)) {
+ $this->_warning("File '$v_filename' ignored");
+ continue;
+ }
- if (@is_dir($v_filename) && !@is_link($v_filename)) {
- if (!($p_hdir = opendir($v_filename))) {
- $this->_warning("Directory '$v_filename' can not be read");
+ if (!file_exists($v_filename) && !is_link($v_filename)) {
+ $this->_warning("File '$v_filename' does not exist");
continue;
}
- while (false !== ($p_hitem = readdir($p_hdir))) {
- if (($p_hitem != '.') && ($p_hitem != '..')) {
- if ($v_filename != ".")
- $p_temp_list[0] = $v_filename.'/'.$p_hitem;
- else
- $p_temp_list[0] = $p_hitem;
- $v_result = $this->_addList($p_temp_list,
- $p_add_dir,
- $p_remove_dir);
- }
+ // ----- Add the file or directory header
+ if (!$this->_addFile($v_filename, $v_header, $p_add_dir, $p_remove_dir)) {
+ return false;
}
- unset($p_temp_list);
- unset($p_hdir);
- unset($p_hitem);
+ if (@is_dir($v_filename) && !@is_link($v_filename)) {
+ if (!($p_hdir = opendir($v_filename))) {
+ $this->_warning("Directory '$v_filename' can not be read");
+ continue;
+ }
+ while (false !== ($p_hitem = readdir($p_hdir))) {
+ if (($p_hitem != '.') && ($p_hitem != '..')) {
+ if ($v_filename != ".") {
+ $p_temp_list[0] = $v_filename . '/' . $p_hitem;
+ } else {
+ $p_temp_list[0] = $p_hitem;
+ }
+
+ $v_result = $this->_addList(
+ $p_temp_list,
+ $p_add_dir,
+ $p_remove_dir
+ );
+ }
+ }
+
+ unset($p_temp_list);
+ unset($p_hdir);
+ unset($p_hitem);
+ }
}
- }
- return $v_result;
+ return $v_result;
}
+
// }}}
// {{{ _addFile()
- function _addFile($p_filename, &$p_header, $p_add_dir, $p_remove_dir)
- {
- if (!$this->_file) {
- $this->_error('Invalid file descriptor');
- return false;
- }
-
- if ($p_filename == '') {
- $this->_error('Invalid file name');
- return false;
- }
-
- // ----- Calculate the stored filename
- $p_filename = $this->_translateWinPath($p_filename, false);;
- $v_stored_filename = $p_filename;
- if (strcmp($p_filename, $p_remove_dir) == 0) {
- return true;
- }
- if ($p_remove_dir != '') {
- if (substr($p_remove_dir, -1) != '/')
- $p_remove_dir .= '/';
-
- if (substr($p_filename, 0, strlen($p_remove_dir)) == $p_remove_dir)
- $v_stored_filename = substr($p_filename, strlen($p_remove_dir));
- }
- $v_stored_filename = $this->_translateWinPath($v_stored_filename);
- if ($p_add_dir != '') {
- if (substr($p_add_dir, -1) == '/')
- $v_stored_filename = $p_add_dir.$v_stored_filename;
- else
- $v_stored_filename = $p_add_dir.'/'.$v_stored_filename;
- }
-
- $v_stored_filename = $this->_pathReduction($v_stored_filename);
-
- if ($this->_isArchive($p_filename)) {
- if (($v_file = @fopen($p_filename, "rb")) == 0) {
- $this->_warning("Unable to open file '".$p_filename
- ."' in binary read mode");
- return true;
- }
+ function _addFile($p_filename, &$p_header, $p_add_dir, $p_remove_dir, $v_stored_filename = null)
+ {
+ if (!$this->_file) {
+ $this->_error('Invalid file descriptor');
+ return false;
+ }
- if (!$this->_writeHeader($p_filename, $v_stored_filename))
- return false;
+ if ($p_filename == '') {
+ $this->_error('Invalid file name');
+ return false;
+ }
- while (($v_buffer = fread($v_file, 512)) != '') {
- $v_binary_data = pack("a512", "$v_buffer");
- $this->_writeBlock($v_binary_data);
- }
+ if (is_null($v_stored_filename)) {
+ // ----- Calculate the stored filename
+ $p_filename = $this->_translateWinPath($p_filename, false);;
+ $v_stored_filename = $p_filename;
- fclose($v_file);
+ if (strcmp($p_filename, $p_remove_dir) == 0) {
+ return true;
+ }
- } else {
- // ----- Only header for dir
- if (!$this->_writeHeader($p_filename, $v_stored_filename))
- return false;
- }
+ if ($p_remove_dir != '') {
+ if (substr($p_remove_dir, -1) != '/') {
+ $p_remove_dir .= '/';
+ }
- return true;
+ if (substr($p_filename, 0, strlen($p_remove_dir)) == $p_remove_dir) {
+ $v_stored_filename = substr($p_filename, strlen($p_remove_dir));
+ }
+ }
+
+ $v_stored_filename = $this->_translateWinPath($v_stored_filename);
+ if ($p_add_dir != '') {
+ if (substr($p_add_dir, -1) == '/') {
+ $v_stored_filename = $p_add_dir . $v_stored_filename;
+ } else {
+ $v_stored_filename = $p_add_dir . '/' . $v_stored_filename;
+ }
+ }
+
+ $v_stored_filename = $this->_pathReduction($v_stored_filename);
+ }
+
+ if ($this->_isArchive($p_filename)) {
+ if (($v_file = @fopen($p_filename, "rb")) == 0) {
+ $this->_warning(
+ "Unable to open file '" . $p_filename
+ . "' in binary read mode"
+ );
+ return true;
+ }
+
+ if (!$this->_writeHeader($p_filename, $v_stored_filename)) {
+ return false;
+ }
+
+ while (($v_buffer = fread($v_file, 512)) != '') {
+ $v_binary_data = pack("a512", "$v_buffer");
+ $this->_writeBlock($v_binary_data);
+ }
+
+ fclose($v_file);
+
+ } else {
+ // ----- Only header for dir
+ if (!$this->_writeHeader($p_filename, $v_stored_filename)) {
+ return false;
+ }
+ }
+
+ return true;
}
+
// }}}
// {{{ _addString()
- function _addString($p_filename, $p_string, $p_datetime = false)
- {
- if (!$this->_file) {
- $this->_error('Invalid file descriptor');
- return false;
- }
-
- if ($p_filename == '') {
- $this->_error('Invalid file name');
- return false;
- }
-
- // ----- Calculate the stored filename
- $p_filename = $this->_translateWinPath($p_filename, false);;
-
- // ----- If datetime is not specified, set current time
- if ($p_datetime === false) {
- $p_datetime = time();
- }
-
- if (!$this->_writeHeaderBlock($p_filename, strlen($p_string),
- $p_datetime, 384, "", 0, 0))
- return false;
-
- $i=0;
- while (($v_buffer = substr($p_string, (($i++)*512), 512)) != '') {
- $v_binary_data = pack("a512", $v_buffer);
- $this->_writeBlock($v_binary_data);
- }
-
- return true;
+ function _addString($p_filename, $p_string, $p_datetime = false, $p_params = array())
+ {
+ $p_stamp = @$p_params["stamp"] ? $p_params["stamp"] : ($p_datetime ? $p_datetime : time());
+ $p_mode = @$p_params["mode"] ? $p_params["mode"] : 0600;
+ $p_type = @$p_params["type"] ? $p_params["type"] : "";
+ $p_uid = @$p_params["uid"] ? $p_params["uid"] : 0;
+ $p_gid = @$p_params["gid"] ? $p_params["gid"] : 0;
+ if (!$this->_file) {
+ $this->_error('Invalid file descriptor');
+ return false;
+ }
+
+ if ($p_filename == '') {
+ $this->_error('Invalid file name');
+ return false;
+ }
+
+ // ----- Calculate the stored filename
+ $p_filename = $this->_translateWinPath($p_filename, false);;
+
+ // ----- If datetime is not specified, set current time
+ if ($p_datetime === false) {
+ $p_datetime = time();
+ }
+
+ if (!$this->_writeHeaderBlock(
+ $p_filename,
+ strlen($p_string),
+ $p_stamp,
+ $p_mode,
+ $p_type,
+ $p_uid,
+ $p_gid
+ )
+ ) {
+ return false;
+ }
+
+ $i = 0;
+ while (($v_buffer = substr($p_string, (($i++) * 512), 512)) != '') {
+ $v_binary_data = pack("a512", $v_buffer);
+ $this->_writeBlock($v_binary_data);
+ }
+
+ return true;
}
+
// }}}
// {{{ _writeHeader()
function _writeHeader($p_filename, $p_stored_filename)
{
- if ($p_stored_filename == '')
+ if ($p_stored_filename == '') {
$p_stored_filename = $p_filename;
+ }
$v_reduce_filename = $this->_pathReduction($p_stored_filename);
if (strlen($v_reduce_filename) > 99) {
- if (!$this->_writeLongHeader($v_reduce_filename))
- return false;
+ if (!$this->_writeLongHeader($v_reduce_filename)) {
+ return false;
+ }
}
$v_info = lstat($p_filename);
@@ -4731,34 +5448,31 @@ class Archive_Tar extends PEAR
$v_linkname = '';
if (@is_link($p_filename)) {
- $v_typeflag = '2';
- $v_linkname = readlink($p_filename);
- $v_size = sprintf("%011s", DecOct(0));
+ $v_typeflag = '2';
+ $v_linkname = readlink($p_filename);
+ $v_size = sprintf("%011s", DecOct(0));
} elseif (@is_dir($p_filename)) {
- $v_typeflag = "5";
- $v_size = sprintf("%011s", DecOct(0));
+ $v_typeflag = "5";
+ $v_size = sprintf("%011s", DecOct(0));
} else {
- $v_typeflag = '0';
- clearstatcache();
- $v_size = sprintf("%011s", DecOct($v_info['size']));
+ $v_typeflag = '0';
+ clearstatcache();
+ $v_size = sprintf("%011s", DecOct($v_info['size']));
}
$v_magic = 'ustar ';
$v_version = ' ';
-
- if (function_exists('posix_getpwuid'))
- {
- $userinfo = posix_getpwuid($v_info[4]);
- $groupinfo = posix_getgrgid($v_info[5]);
-
- $v_uname = $userinfo['name'];
- $v_gname = $groupinfo['name'];
- }
- else
- {
- $v_uname = '';
- $v_gname = '';
+
+ if (function_exists('posix_getpwuid')) {
+ $userinfo = posix_getpwuid($v_info[4]);
+ $groupinfo = posix_getgrgid($v_info[5]);
+
+ $v_uname = $userinfo['name'];
+ $v_gname = $groupinfo['name'];
+ } else {
+ $v_uname = '';
+ $v_gname = '';
}
$v_devmajor = '';
@@ -4767,25 +5481,43 @@ class Archive_Tar extends PEAR
$v_prefix = '';
- $v_binary_data_first = pack("a100a8a8a8a12a12",
- $v_reduce_filename, $v_perms, $v_uid,
- $v_gid, $v_size, $v_mtime);
- $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12",
- $v_typeflag, $v_linkname, $v_magic,
- $v_version, $v_uname, $v_gname,
- $v_devmajor, $v_devminor, $v_prefix, '');
+ $v_binary_data_first = pack(
+ "a100a8a8a8a12a12",
+ $v_reduce_filename,
+ $v_perms,
+ $v_uid,
+ $v_gid,
+ $v_size,
+ $v_mtime
+ );
+ $v_binary_data_last = pack(
+ "a1a100a6a2a32a32a8a8a155a12",
+ $v_typeflag,
+ $v_linkname,
+ $v_magic,
+ $v_version,
+ $v_uname,
+ $v_gname,
+ $v_devmajor,
+ $v_devminor,
+ $v_prefix,
+ ''
+ );
// ----- Calculate the checksum
$v_checksum = 0;
// ..... First part of the header
- for ($i=0; $i<148; $i++)
- $v_checksum += ord(substr($v_binary_data_first,$i,1));
+ for ($i = 0; $i < 148; $i++) {
+ $v_checksum += ord(substr($v_binary_data_first, $i, 1));
+ }
// ..... Ignore the checksum value and replace it by ' ' (space)
- for ($i=148; $i<156; $i++)
+ for ($i = 148; $i < 156; $i++) {
$v_checksum += ord(' ');
+ }
// ..... Last part of the header
- for ($i=156, $j=0; $i<512; $i++, $j++)
- $v_checksum += ord(substr($v_binary_data_last,$j,1));
+ for ($i = 156, $j = 0; $i < 512; $i++, $j++) {
+ $v_checksum += ord(substr($v_binary_data_last, $j, 1));
+ }
// ----- Write the first 148 bytes of the header in the archive
$this->_writeBlock($v_binary_data_first, 148);
@@ -4800,23 +5532,31 @@ class Archive_Tar extends PEAR
return true;
}
+
// }}}
// {{{ _writeHeaderBlock()
- function _writeHeaderBlock($p_filename, $p_size, $p_mtime=0, $p_perms=0,
- $p_type='', $p_uid=0, $p_gid=0)
- {
+ function _writeHeaderBlock(
+ $p_filename,
+ $p_size,
+ $p_mtime = 0,
+ $p_perms = 0,
+ $p_type = '',
+ $p_uid = 0,
+ $p_gid = 0
+ ) {
$p_filename = $this->_pathReduction($p_filename);
if (strlen($p_filename) > 99) {
- if (!$this->_writeLongHeader($p_filename))
- return false;
+ if (!$this->_writeLongHeader($p_filename)) {
+ return false;
+ }
}
if ($p_type == "5") {
- $v_size = sprintf("%011s", DecOct(0));
+ $v_size = sprintf("%011s", DecOct(0));
} else {
- $v_size = sprintf("%011s", DecOct($p_size));
+ $v_size = sprintf("%011s", DecOct($p_size));
}
$v_uid = sprintf("%07s", DecOct($p_uid));
@@ -4831,45 +5571,60 @@ class Archive_Tar extends PEAR
$v_version = ' ';
- if (function_exists('posix_getpwuid'))
- {
- $userinfo = posix_getpwuid($p_uid);
- $groupinfo = posix_getgrgid($p_gid);
-
- $v_uname = $userinfo['name'];
- $v_gname = $groupinfo['name'];
- }
- else
- {
- $v_uname = '';
- $v_gname = '';
+ if (function_exists('posix_getpwuid')) {
+ $userinfo = posix_getpwuid($p_uid);
+ $groupinfo = posix_getgrgid($p_gid);
+
+ $v_uname = $userinfo['name'];
+ $v_gname = $groupinfo['name'];
+ } else {
+ $v_uname = '';
+ $v_gname = '';
}
-
+
$v_devmajor = '';
$v_devminor = '';
$v_prefix = '';
- $v_binary_data_first = pack("a100a8a8a8a12A12",
- $p_filename, $v_perms, $v_uid, $v_gid,
- $v_size, $v_mtime);
- $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12",
- $p_type, $v_linkname, $v_magic,
- $v_version, $v_uname, $v_gname,
- $v_devmajor, $v_devminor, $v_prefix, '');
+ $v_binary_data_first = pack(
+ "a100a8a8a8a12A12",
+ $p_filename,
+ $v_perms,
+ $v_uid,
+ $v_gid,
+ $v_size,
+ $v_mtime
+ );
+ $v_binary_data_last = pack(
+ "a1a100a6a2a32a32a8a8a155a12",
+ $p_type,
+ $v_linkname,
+ $v_magic,
+ $v_version,
+ $v_uname,
+ $v_gname,
+ $v_devmajor,
+ $v_devminor,
+ $v_prefix,
+ ''
+ );
// ----- Calculate the checksum
$v_checksum = 0;
// ..... First part of the header
- for ($i=0; $i<148; $i++)
- $v_checksum += ord(substr($v_binary_data_first,$i,1));
+ for ($i = 0; $i < 148; $i++) {
+ $v_checksum += ord(substr($v_binary_data_first, $i, 1));
+ }
// ..... Ignore the checksum value and replace it by ' ' (space)
- for ($i=148; $i<156; $i++)
+ for ($i = 148; $i < 156; $i++) {
$v_checksum += ord(' ');
+ }
// ..... Last part of the header
- for ($i=156, $j=0; $i<512; $i++, $j++)
- $v_checksum += ord(substr($v_binary_data_last,$j,1));
+ for ($i = 156, $j = 0; $i < 512; $i++, $j++) {
+ $v_checksum += ord(substr($v_binary_data_last, $j, 1));
+ }
// ----- Write the first 148 bytes of the header in the archive
$this->_writeBlock($v_binary_data_first, 148);
@@ -4884,6 +5639,7 @@ class Archive_Tar extends PEAR
return true;
}
+
// }}}
// {{{ _writeLongHeader()
@@ -4909,24 +5665,43 @@ class Archive_Tar extends PEAR
$v_prefix = '';
- $v_binary_data_first = pack("a100a8a8a8a12a12",
- '././@LongLink', 0, 0, 0, $v_size, 0);
- $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12",
- $v_typeflag, $v_linkname, $v_magic,
- $v_version, $v_uname, $v_gname,
- $v_devmajor, $v_devminor, $v_prefix, '');
+ $v_binary_data_first = pack(
+ "a100a8a8a8a12a12",
+ '././@LongLink',
+ 0,
+ 0,
+ 0,
+ $v_size,
+ 0
+ );
+ $v_binary_data_last = pack(
+ "a1a100a6a2a32a32a8a8a155a12",
+ $v_typeflag,
+ $v_linkname,
+ $v_magic,
+ $v_version,
+ $v_uname,
+ $v_gname,
+ $v_devmajor,
+ $v_devminor,
+ $v_prefix,
+ ''
+ );
// ----- Calculate the checksum
$v_checksum = 0;
// ..... First part of the header
- for ($i=0; $i<148; $i++)
- $v_checksum += ord(substr($v_binary_data_first,$i,1));
+ for ($i = 0; $i < 148; $i++) {
+ $v_checksum += ord(substr($v_binary_data_first, $i, 1));
+ }
// ..... Ignore the checksum value and replace it by ' ' (space)
- for ($i=148; $i<156; $i++)
+ for ($i = 148; $i < 156; $i++) {
$v_checksum += ord(' ');
+ }
// ..... Last part of the header
- for ($i=156, $j=0; $i<512; $i++, $j++)
- $v_checksum += ord(substr($v_binary_data_last,$j,1));
+ for ($i = 156, $j = 0; $i < 512; $i++, $j++) {
+ $v_checksum += ord(substr($v_binary_data_last, $j, 1));
+ }
// ----- Write the first 148 bytes of the header in the archive
$this->_writeBlock($v_binary_data_first, 148);
@@ -4940,27 +5715,28 @@ class Archive_Tar extends PEAR
$this->_writeBlock($v_binary_data_last, 356);
// ----- Write the filename as content of the block
- $i=0;
- while (($v_buffer = substr($p_filename, (($i++)*512), 512)) != '') {
+ $i = 0;
+ while (($v_buffer = substr($p_filename, (($i++) * 512), 512)) != '') {
$v_binary_data = pack("a512", "$v_buffer");
$this->_writeBlock($v_binary_data);
}
return true;
}
+
// }}}
// {{{ _readHeader()
function _readHeader($v_binary_data, &$v_header)
{
- if (strlen($v_binary_data)==0) {
+ if (strlen($v_binary_data) == 0) {
$v_header['filename'] = '';
return true;
}
if (strlen($v_binary_data) != 512) {
$v_header['filename'] = '';
- $this->_error('Invalid block size : '.strlen($v_binary_data));
+ $this->_error('Invalid block size : ' . strlen($v_binary_data));
return false;
}
@@ -4970,23 +5746,26 @@ class Archive_Tar extends PEAR
// ----- Calculate the checksum
$v_checksum = 0;
// ..... First part of the header
- for ($i=0; $i<148; $i++)
- $v_checksum+=ord(substr($v_binary_data,$i,1));
+ for ($i = 0; $i < 148; $i++) {
+ $v_checksum += ord(substr($v_binary_data, $i, 1));
+ }
// ..... Ignore the checksum value and replace it by ' ' (space)
- for ($i=148; $i<156; $i++)
+ for ($i = 148; $i < 156; $i++) {
$v_checksum += ord(' ');
+ }
// ..... Last part of the header
- for ($i=156; $i<512; $i++)
- $v_checksum+=ord(substr($v_binary_data,$i,1));
+ for ($i = 156; $i < 512; $i++) {
+ $v_checksum += ord(substr($v_binary_data, $i, 1));
+ }
- if (version_compare(PHP_VERSION,"5.5.0-dev")<0) {
+ if (version_compare(PHP_VERSION, "5.5.0-dev") < 0) {
$fmt = "a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/" .
- "a8checksum/a1typeflag/a100link/a6magic/a2version/" .
- "a32uname/a32gname/a8devmajor/a8devminor/a131prefix";
+ "a8checksum/a1typeflag/a100link/a6magic/a2version/" .
+ "a32uname/a32gname/a8devmajor/a8devminor/a131prefix";
} else {
$fmt = "Z100filename/Z8mode/Z8uid/Z8gid/Z12size/Z12mtime/" .
- "Z8checksum/Z1typeflag/Z100link/Z6magic/Z2version/" .
- "Z32uname/Z32gname/Z8devmajor/Z8devminor/Z131prefix";
+ "Z8checksum/Z1typeflag/Z100link/Z6magic/Z2version/" .
+ "Z32uname/Z32gname/Z8devmajor/Z8devminor/Z131prefix";
}
$v_data = unpack($fmt, $v_binary_data);
@@ -5000,20 +5779,25 @@ class Archive_Tar extends PEAR
$v_header['filename'] = '';
// ----- Look for last block (empty block)
- if (($v_checksum == 256) && ($v_header['checksum'] == 0))
+ if (($v_checksum == 256) && ($v_header['checksum'] == 0)) {
return true;
+ }
- $this->_error('Invalid checksum for file "'.$v_data['filename']
- .'" : '.$v_checksum.' calculated, '
- .$v_header['checksum'].' expected');
+ $this->_error(
+ 'Invalid checksum for file "' . $v_data['filename']
+ . '" : ' . $v_checksum . ' calculated, '
+ . $v_header['checksum'] . ' expected'
+ );
return false;
}
// ----- Extract the properties
$v_header['filename'] = $v_data['filename'];
if ($this->_maliciousFilename($v_header['filename'])) {
- $this->_error('Malicious .tar detected, file "' . $v_header['filename'] .
- '" will not install in desired directory tree');
+ $this->_error(
+ 'Malicious .tar detected, file "' . $v_header['filename'] .
+ '" will not install in desired directory tree'
+ );
return false;
}
$v_header['mode'] = OctDec(trim($v_data['mode']));
@@ -5022,7 +5806,7 @@ class Archive_Tar extends PEAR
$v_header['size'] = OctDec(trim($v_data['size']));
$v_header['mtime'] = OctDec(trim($v_data['mtime']));
if (($v_header['typeflag'] = $v_data['typeflag']) == "5") {
- $v_header['size'] = 0;
+ $v_header['size'] = 0;
}
$v_header['link'] = trim($v_data['link']);
/* ----- All these fields are removed form the header because
@@ -5037,6 +5821,7 @@ class Archive_Tar extends PEAR
return true;
}
+
// }}}
// {{{ _maliciousFilename()
@@ -5058,369 +5843,431 @@ class Archive_Tar extends PEAR
}
return false;
}
+
// }}}
// {{{ _readLongHeader()
function _readLongHeader(&$v_header)
{
- $v_filename = '';
- $n = floor($v_header['size']/512);
- for ($i=0; $i<$n; $i++) {
- $v_content = $this->_readBlock();
- $v_filename .= $v_content;
- }
- if (($v_header['size'] % 512) != 0) {
- $v_content = $this->_readBlock();
- $v_filename .= trim($v_content);
- }
-
- // ----- Read the next header
- $v_binary_data = $this->_readBlock();
-
- if (!$this->_readHeader($v_binary_data, $v_header))
- return false;
+ $v_filename = '';
+ $n = floor($v_header['size'] / 512);
+ for ($i = 0; $i < $n; $i++) {
+ $v_content = $this->_readBlock();
+ $v_filename .= $v_content;
+ }
+ if (($v_header['size'] % 512) != 0) {
+ $v_content = $this->_readBlock();
+ $v_filename .= trim($v_content);
+ }
- $v_filename = trim($v_filename);
- $v_header['filename'] = $v_filename;
+ // ----- Read the next header
+ $v_binary_data = $this->_readBlock();
+
+ if (!$this->_readHeader($v_binary_data, $v_header)) {
+ return false;
+ }
+
+ $v_filename = trim($v_filename);
+ $v_header['filename'] = $v_filename;
if ($this->_maliciousFilename($v_filename)) {
- $this->_error('Malicious .tar detected, file "' . $v_filename .
- '" will not install in desired directory tree');
+ $this->_error(
+ 'Malicious .tar detected, file "' . $v_filename .
+ '" will not install in desired directory tree'
+ );
return false;
- }
+ }
- return true;
+ return true;
}
+
// }}}
// {{{ _extractInString()
/**
- * This method extract from the archive one file identified by $p_filename.
- * The return value is a string with the file content, or null on error.
- *
- * @param string $p_filename The path of the file to extract in a string.
- *
- * @return a string with the file content or null.
- * @access private
- */
+ * This method extract from the archive one file identified by $p_filename.
+ * The return value is a string with the file content, or null on error.
+ *
+ * @param string $p_filename The path of the file to extract in a string.
+ *
+ * @return a string with the file content or null.
+ * @access private
+ */
function _extractInString($p_filename)
{
$v_result_str = "";
- While (strlen($v_binary_data = $this->_readBlock()) != 0)
- {
- if (!$this->_readHeader($v_binary_data, $v_header))
- return null;
+ While (strlen($v_binary_data = $this->_readBlock()) != 0) {
+ if (!$this->_readHeader($v_binary_data, $v_header)) {
+ return null;
+ }
- if ($v_header['filename'] == '')
- continue;
+ if ($v_header['filename'] == '') {
+ continue;
+ }
- // ----- Look for long filename
- if ($v_header['typeflag'] == 'L') {
- if (!$this->_readLongHeader($v_header))
- return null;
- }
+ // ----- Look for long filename
+ if ($v_header['typeflag'] == 'L') {
+ if (!$this->_readLongHeader($v_header)) {
+ return null;
+ }
+ }
- if ($v_header['filename'] == $p_filename) {
- if ($v_header['typeflag'] == "5") {
- $this->_error('Unable to extract in string a directory '
- .'entry {'.$v_header['filename'].'}');
- return null;
- } else {
- $n = floor($v_header['size']/512);
- for ($i=0; $i<$n; $i++) {
- $v_result_str .= $this->_readBlock();
- }
- if (($v_header['size'] % 512) != 0) {
- $v_content = $this->_readBlock();
- $v_result_str .= substr($v_content, 0,
- ($v_header['size'] % 512));
- }
- return $v_result_str;
- }
- } else {
- $this->_jumpBlock(ceil(($v_header['size']/512)));
- }
+ if ($v_header['filename'] == $p_filename) {
+ if ($v_header['typeflag'] == "5") {
+ $this->_error(
+ 'Unable to extract in string a directory '
+ . 'entry {' . $v_header['filename'] . '}'
+ );
+ return null;
+ } else {
+ $n = floor($v_header['size'] / 512);
+ for ($i = 0; $i < $n; $i++) {
+ $v_result_str .= $this->_readBlock();
+ }
+ if (($v_header['size'] % 512) != 0) {
+ $v_content = $this->_readBlock();
+ $v_result_str .= substr(
+ $v_content,
+ 0,
+ ($v_header['size'] % 512)
+ );
+ }
+ return $v_result_str;
+ }
+ } else {
+ $this->_jumpBlock(ceil(($v_header['size'] / 512)));
+ }
}
return null;
}
+
// }}}
// {{{ _extractList()
- function _extractList($p_path, &$p_list_detail, $p_mode,
- $p_file_list, $p_remove_path, $p_preserve=false)
- {
- $v_result=true;
- $v_nb = 0;
- $v_extract_all = true;
- $v_listing = false;
-
- $p_path = $this->_translateWinPath($p_path, false);
- if ($p_path == '' || (substr($p_path, 0, 1) != '/'
- && substr($p_path, 0, 3) != "../" && !strpos($p_path, ':'))) {
- $p_path = "./".$p_path;
- }
- $p_remove_path = $this->_translateWinPath($p_remove_path);
-
- // ----- Look for path to remove format (should end by /)
- if (($p_remove_path != '') && (substr($p_remove_path, -1) != '/'))
- $p_remove_path .= '/';
- $p_remove_path_size = strlen($p_remove_path);
-
- switch ($p_mode) {
- case "complete" :
+ function _extractList(
+ $p_path,
+ &$p_list_detail,
+ $p_mode,
+ $p_file_list,
+ $p_remove_path,
+ $p_preserve = false
+ ) {
+ $v_result = true;
+ $v_nb = 0;
$v_extract_all = true;
$v_listing = false;
- break;
- case "partial" :
- $v_extract_all = false;
- $v_listing = false;
- break;
- case "list" :
- $v_extract_all = false;
- $v_listing = true;
- break;
- default :
- $this->_error('Invalid extract mode ('.$p_mode.')');
- return false;
- }
- clearstatcache();
+ $p_path = $this->_translateWinPath($p_path, false);
+ if ($p_path == '' || (substr($p_path, 0, 1) != '/'
+ && substr($p_path, 0, 3) != "../" && !strpos($p_path, ':'))
+ ) {
+ $p_path = "./" . $p_path;
+ }
+ $p_remove_path = $this->_translateWinPath($p_remove_path);
- while (strlen($v_binary_data = $this->_readBlock()) != 0)
- {
- $v_extract_file = FALSE;
- $v_extraction_stopped = 0;
+ // ----- Look for path to remove format (should end by /)
+ if (($p_remove_path != '') && (substr($p_remove_path, -1) != '/')) {
+ $p_remove_path .= '/';
+ }
+ $p_remove_path_size = strlen($p_remove_path);
- if (!$this->_readHeader($v_binary_data, $v_header))
- return false;
+ switch ($p_mode) {
+ case "complete" :
+ $v_extract_all = true;
+ $v_listing = false;
+ break;
+ case "partial" :
+ $v_extract_all = false;
+ $v_listing = false;
+ break;
+ case "list" :
+ $v_extract_all = false;
+ $v_listing = true;
+ break;
+ default :
+ $this->_error('Invalid extract mode (' . $p_mode . ')');
+ return false;
+ }
- if ($v_header['filename'] == '') {
- continue;
- }
-
- // ----- Look for long filename
- if ($v_header['typeflag'] == 'L') {
- if (!$this->_readLongHeader($v_header))
- return false;
- }
-
- if ((!$v_extract_all) && (is_array($p_file_list))) {
- // ----- By default no unzip if the file is not found
- $v_extract_file = false;
-
- for ($i=0; $i<sizeof($p_file_list); $i++) {
- // ----- Look if it is a directory
- if (substr($p_file_list[$i], -1) == '/') {
- // ----- Look if the directory is in the filename path
- if ((strlen($v_header['filename']) > strlen($p_file_list[$i]))
- && (substr($v_header['filename'], 0, strlen($p_file_list[$i]))
- == $p_file_list[$i])) {
- $v_extract_file = true;
- break;
- }
- }
+ clearstatcache();
- // ----- It is a file, so compare the file names
- elseif ($p_file_list[$i] == $v_header['filename']) {
- $v_extract_file = true;
- break;
- }
- }
- } else {
- $v_extract_file = true;
- }
-
- // ----- Look if this file need to be extracted
- if (($v_extract_file) && (!$v_listing))
- {
- if (($p_remove_path != '')
- && (substr($v_header['filename'].'/', 0, $p_remove_path_size)
- == $p_remove_path)) {
- $v_header['filename'] = substr($v_header['filename'],
- $p_remove_path_size);
- if( $v_header['filename'] == '' ){
- continue;
- }
- }
- if (($p_path != './') && ($p_path != '/')) {
- while (substr($p_path, -1) == '/')
- $p_path = substr($p_path, 0, strlen($p_path)-1);
+ while (strlen($v_binary_data = $this->_readBlock()) != 0) {
+ $v_extract_file = false;
+ $v_extraction_stopped = 0;
- if (substr($v_header['filename'], 0, 1) == '/')
- $v_header['filename'] = $p_path.$v_header['filename'];
- else
- $v_header['filename'] = $p_path.'/'.$v_header['filename'];
- }
- if (file_exists($v_header['filename'])) {
- if ( (@is_dir($v_header['filename']))
- && ($v_header['typeflag'] == '')) {
- $this->_error('File '.$v_header['filename']
- .' already exists as a directory');
- return false;
- }
- if ( ($this->_isArchive($v_header['filename']))
- && ($v_header['typeflag'] == "5")) {
- $this->_error('Directory '.$v_header['filename']
- .' already exists as a file');
- return false;
- }
- if (!is_writeable($v_header['filename'])) {
- $this->_error('File '.$v_header['filename']
- .' already exists and is write protected');
- return false;
- }
- if (filemtime($v_header['filename']) > $v_header['mtime']) {
- // To be completed : An error or silent no replace ?
- }
- }
+ if (!$this->_readHeader($v_binary_data, $v_header)) {
+ return false;
+ }
- // ----- Check the directory availability and create it if necessary
- elseif (($v_result
- = $this->_dirCheck(($v_header['typeflag'] == "5"
- ?$v_header['filename']
- :dirname($v_header['filename'])))) != 1) {
- $this->_error('Unable to create path for '.$v_header['filename']);
- return false;
- }
+ if ($v_header['filename'] == '') {
+ continue;
+ }
- if ($v_extract_file) {
- if ($v_header['typeflag'] == "5") {
- if (!@file_exists($v_header['filename'])) {
- if (!@mkdir($v_header['filename'], 0777)) {
- $this->_error('Unable to create directory {'
- .$v_header['filename'].'}');
+ // ----- Look for long filename
+ if ($v_header['typeflag'] == 'L') {
+ if (!$this->_readLongHeader($v_header)) {
return false;
}
}
- } elseif ($v_header['typeflag'] == "2") {
- if (@file_exists($v_header['filename'])) {
- @unlink($v_header['filename']);
- }
- if (!@symlink($v_header['link'], $v_header['filename'])) {
- $this->_error('Unable to extract symbolic link {'
- .$v_header['filename'].'}');
- return false;
- }
- } else {
- if (($v_dest_file = @fopen($v_header['filename'], "wb")) == 0) {
- $this->_error('Error while opening {'.$v_header['filename']
- .'} in write binary mode');
- return false;
- } else {
- $n = floor($v_header['size']/512);
- for ($i=0; $i<$n; $i++) {
- $v_content = $this->_readBlock();
- fwrite($v_dest_file, $v_content, 512);
- }
- if (($v_header['size'] % 512) != 0) {
- $v_content = $this->_readBlock();
- fwrite($v_dest_file, $v_content, ($v_header['size'] % 512));
- }
-
- @fclose($v_dest_file);
-
- if ($p_preserve) {
- @chown($v_header['filename'], $v_header['uid']);
- @chgrp($v_header['filename'], $v_header['gid']);
- }
-
- // ----- Change the file mode, mtime
- @touch($v_header['filename'], $v_header['mtime']);
- if ($v_header['mode'] & 0111) {
- // make file executable, obey umask
- $mode = fileperms($v_header['filename']) | (~umask() & 0111);
- @chmod($v_header['filename'], $mode);
+
+ // ignore extended / pax headers
+ if ($v_header['typeflag'] == 'x' || $v_header['typeflag'] == 'g') {
+ $this->_jumpBlock(ceil(($v_header['size'] / 512)));
+ continue;
}
- }
- // ----- Check the file size
- clearstatcache();
- if (!is_file($v_header['filename'])) {
- $this->_error('Extracted file '.$v_header['filename']
- .'does not exist. Archive may be corrupted.');
- return false;
- }
-
- $filesize = filesize($v_header['filename']);
- if ($filesize != $v_header['size']) {
- $this->_error('Extracted file '.$v_header['filename']
- .' does not have the correct file size \''
- .$filesize
- .'\' ('.$v_header['size']
- .' expected). Archive may be corrupted.');
- return false;
- }
- }
- } else {
- $this->_jumpBlock(ceil(($v_header['size']/512)));
- }
- } else {
- $this->_jumpBlock(ceil(($v_header['size']/512)));
- }
+ if ((!$v_extract_all) && (is_array($p_file_list))) {
+ // ----- By default no unzip if the file is not found
+ $v_extract_file = false;
- /* TBC : Seems to be unused ...
- if ($this->_compress)
- $v_end_of_file = @gzeof($this->_file);
- else
- $v_end_of_file = @feof($this->_file);
- */
+ for ($i = 0; $i < sizeof($p_file_list); $i++) {
+ // ----- Look if it is a directory
+ if (substr($p_file_list[$i], -1) == '/') {
+ // ----- Look if the directory is in the filename path
+ if ((strlen($v_header['filename']) > strlen($p_file_list[$i]))
+ && (substr($v_header['filename'], 0, strlen($p_file_list[$i]))
+ == $p_file_list[$i])
+ ) {
+ $v_extract_file = true;
+ break;
+ }
+ } // ----- It is a file, so compare the file names
+ elseif ($p_file_list[$i] == $v_header['filename']) {
+ $v_extract_file = true;
+ break;
+ }
+ }
+ } else {
+ $v_extract_file = true;
+ }
- if ($v_listing || $v_extract_file || $v_extraction_stopped) {
- // ----- Log extracted files
- if (($v_file_dir = dirname($v_header['filename']))
- == $v_header['filename'])
- $v_file_dir = '';
- if ((substr($v_header['filename'], 0, 1) == '/') && ($v_file_dir == ''))
- $v_file_dir = '/';
+ // ----- Look if this file need to be extracted
+ if (($v_extract_file) && (!$v_listing)) {
+ if (($p_remove_path != '')
+ && (substr($v_header['filename'] . '/', 0, $p_remove_path_size)
+ == $p_remove_path)
+ ) {
+ $v_header['filename'] = substr(
+ $v_header['filename'],
+ $p_remove_path_size
+ );
+ if ($v_header['filename'] == '') {
+ continue;
+ }
+ }
+ if (($p_path != './') && ($p_path != '/')) {
+ while (substr($p_path, -1) == '/') {
+ $p_path = substr($p_path, 0, strlen($p_path) - 1);
+ }
- $p_list_detail[$v_nb++] = $v_header;
- if (is_array($p_file_list) && (count($p_list_detail) == count($p_file_list))) {
- return true;
+ if (substr($v_header['filename'], 0, 1) == '/') {
+ $v_header['filename'] = $p_path . $v_header['filename'];
+ } else {
+ $v_header['filename'] = $p_path . '/' . $v_header['filename'];
+ }
+ }
+ if (file_exists($v_header['filename'])) {
+ if ((@is_dir($v_header['filename']))
+ && ($v_header['typeflag'] == '')
+ ) {
+ $this->_error(
+ 'File ' . $v_header['filename']
+ . ' already exists as a directory'
+ );
+ return false;
+ }
+ if (($this->_isArchive($v_header['filename']))
+ && ($v_header['typeflag'] == "5")
+ ) {
+ $this->_error(
+ 'Directory ' . $v_header['filename']
+ . ' already exists as a file'
+ );
+ return false;
+ }
+ if (!is_writeable($v_header['filename'])) {
+ $this->_error(
+ 'File ' . $v_header['filename']
+ . ' already exists and is write protected'
+ );
+ return false;
+ }
+ if (filemtime($v_header['filename']) > $v_header['mtime']) {
+ // To be completed : An error or silent no replace ?
+ }
+ } // ----- Check the directory availability and create it if necessary
+ elseif (($v_result
+ = $this->_dirCheck(
+ ($v_header['typeflag'] == "5"
+ ? $v_header['filename']
+ : dirname($v_header['filename']))
+ )) != 1
+ ) {
+ $this->_error('Unable to create path for ' . $v_header['filename']);
+ return false;
+ }
+
+ if ($v_extract_file) {
+ if ($v_header['typeflag'] == "5") {
+ if (!@file_exists($v_header['filename'])) {
+ if (!@mkdir($v_header['filename'], 0777)) {
+ $this->_error(
+ 'Unable to create directory {'
+ . $v_header['filename'] . '}'
+ );
+ return false;
+ }
+ }
+ } elseif ($v_header['typeflag'] == "2") {
+ if (@file_exists($v_header['filename'])) {
+ @unlink($v_header['filename']);
+ }
+ if (!@symlink($v_header['link'], $v_header['filename'])) {
+ $this->_error(
+ 'Unable to extract symbolic link {'
+ . $v_header['filename'] . '}'
+ );
+ return false;
+ }
+ } else {
+ if (($v_dest_file = @fopen($v_header['filename'], "wb")) == 0) {
+ $this->_error(
+ 'Error while opening {' . $v_header['filename']
+ . '} in write binary mode'
+ );
+ return false;
+ } else {
+ $n = floor($v_header['size'] / 512);
+ for ($i = 0; $i < $n; $i++) {
+ $v_content = $this->_readBlock();
+ fwrite($v_dest_file, $v_content, 512);
+ }
+ if (($v_header['size'] % 512) != 0) {
+ $v_content = $this->_readBlock();
+ fwrite($v_dest_file, $v_content, ($v_header['size'] % 512));
+ }
+
+ @fclose($v_dest_file);
+
+ if ($p_preserve) {
+ @chown($v_header['filename'], $v_header['uid']);
+ @chgrp($v_header['filename'], $v_header['gid']);
+ }
+
+ // ----- Change the file mode, mtime
+ @touch($v_header['filename'], $v_header['mtime']);
+ if ($v_header['mode'] & 0111) {
+ // make file executable, obey umask
+ $mode = fileperms($v_header['filename']) | (~umask() & 0111);
+ @chmod($v_header['filename'], $mode);
+ }
+ }
+
+ // ----- Check the file size
+ clearstatcache();
+ if (!is_file($v_header['filename'])) {
+ $this->_error(
+ 'Extracted file ' . $v_header['filename']
+ . 'does not exist. Archive may be corrupted.'
+ );
+ return false;
+ }
+
+ $filesize = filesize($v_header['filename']);
+ if ($filesize != $v_header['size']) {
+ $this->_error(
+ 'Extracted file ' . $v_header['filename']
+ . ' does not have the correct file size \''
+ . $filesize
+ . '\' (' . $v_header['size']
+ . ' expected). Archive may be corrupted.'
+ );
+ return false;
+ }
+ }
+ } else {
+ $this->_jumpBlock(ceil(($v_header['size'] / 512)));
+ }
+ } else {
+ $this->_jumpBlock(ceil(($v_header['size'] / 512)));
+ }
+
+ /* TBC : Seems to be unused ...
+ if ($this->_compress)
+ $v_end_of_file = @gzeof($this->_file);
+ else
+ $v_end_of_file = @feof($this->_file);
+ */
+
+ if ($v_listing || $v_extract_file || $v_extraction_stopped) {
+ // ----- Log extracted files
+ if (($v_file_dir = dirname($v_header['filename']))
+ == $v_header['filename']
+ ) {
+ $v_file_dir = '';
+ }
+ if ((substr($v_header['filename'], 0, 1) == '/') && ($v_file_dir == '')) {
+ $v_file_dir = '/';
+ }
+
+ $p_list_detail[$v_nb++] = $v_header;
+ if (is_array($p_file_list) && (count($p_list_detail) == count($p_file_list))) {
+ return true;
+ }
+ }
}
- }
- }
return true;
}
+
// }}}
// {{{ _openAppend()
function _openAppend()
{
- if (filesize($this->_tarname) == 0)
- return $this->_openWrite();
+ if (filesize($this->_tarname) == 0) {
+ return $this->_openWrite();
+ }
if ($this->_compress) {
$this->_close();
- if (!@rename($this->_tarname, $this->_tarname.".tmp")) {
- $this->_error('Error while renaming \''.$this->_tarname
- .'\' to temporary file \''.$this->_tarname
- .'.tmp\'');
+ if (!@rename($this->_tarname, $this->_tarname . ".tmp")) {
+ $this->_error(
+ 'Error while renaming \'' . $this->_tarname
+ . '\' to temporary file \'' . $this->_tarname
+ . '.tmp\''
+ );
return false;
}
- if ($this->_compress_type == 'gz')
- $v_temp_tar = @gzopen($this->_tarname.".tmp", "rb");
- elseif ($this->_compress_type == 'bz2')
- $v_temp_tar = @bzopen($this->_tarname.".tmp", "r");
+ if ($this->_compress_type == 'gz') {
+ $v_temp_tar = @gzopen($this->_tarname . ".tmp", "rb");
+ } elseif ($this->_compress_type == 'bz2') {
+ $v_temp_tar = @bzopen($this->_tarname . ".tmp", "r");
+ } elseif ($this->_compress_type == 'lzma2') {
+ $v_temp_tar = @xzopen($this->_tarname . ".tmp", "r");
+ }
+
if ($v_temp_tar == 0) {
- $this->_error('Unable to open file \''.$this->_tarname
- .'.tmp\' in binary read mode');
- @rename($this->_tarname.".tmp", $this->_tarname);
+ $this->_error(
+ 'Unable to open file \'' . $this->_tarname
+ . '.tmp\' in binary read mode'
+ );
+ @rename($this->_tarname . ".tmp", $this->_tarname);
return false;
}
if (!$this->_openWrite()) {
- @rename($this->_tarname.".tmp", $this->_tarname);
+ @rename($this->_tarname . ".tmp", $this->_tarname);
return false;
}
if ($this->_compress_type == 'gz') {
$end_blocks = 0;
-
+
while (!@gzeof($v_temp_tar)) {
$v_buffer = @gzread($v_temp_tar, 512);
if ($v_buffer == ARCHIVE_TAR_END_BLOCK || strlen($v_buffer) == 0) {
@@ -5439,10 +6286,9 @@ class Archive_Tar extends PEAR
}
@gzclose($v_temp_tar);
- }
- elseif ($this->_compress_type == 'bz2') {
+ } elseif ($this->_compress_type == 'bz2') {
$end_blocks = 0;
-
+
while (strlen($v_buffer = @bzread($v_temp_tar, 512)) > 0) {
if ($v_buffer == ARCHIVE_TAR_END_BLOCK || strlen($v_buffer) == 0) {
$end_blocks++;
@@ -5460,18 +6306,41 @@ class Archive_Tar extends PEAR
}
@bzclose($v_temp_tar);
+ } elseif ($this->_compress_type == 'lzma2') {
+ $end_blocks = 0;
+
+ while (strlen($v_buffer = @xzread($v_temp_tar, 512)) > 0) {
+ if ($v_buffer == ARCHIVE_TAR_END_BLOCK || strlen($v_buffer) == 0) {
+ $end_blocks++;
+ // do not copy end blocks, we will re-make them
+ // after appending
+ continue;
+ } elseif ($end_blocks > 0) {
+ for ($i = 0; $i < $end_blocks; $i++) {
+ $this->_writeBlock(ARCHIVE_TAR_END_BLOCK);
+ }
+ $end_blocks = 0;
+ }
+ $v_binary_data = pack("a512", $v_buffer);
+ $this->_writeBlock($v_binary_data);
+ }
+
+ @xzclose($v_temp_tar);
}
- if (!@unlink($this->_tarname.".tmp")) {
- $this->_error('Error while deleting temporary file \''
- .$this->_tarname.'.tmp\'');
+ if (!@unlink($this->_tarname . ".tmp")) {
+ $this->_error(
+ 'Error while deleting temporary file \''
+ . $this->_tarname . '.tmp\''
+ );
}
} else {
// ----- For not compressed tar, just add files before the last
- // one or two 512 bytes block
- if (!$this->_openReadWrite())
- return false;
+ // one or two 512 bytes block
+ if (!$this->_openReadWrite()) {
+ return false;
+ }
clearstatcache();
$v_size = filesize($this->_tarname);
@@ -5482,29 +6351,32 @@ class Archive_Tar extends PEAR
fseek($this->_file, $v_size - 1024);
if (fread($this->_file, 512) == ARCHIVE_TAR_END_BLOCK) {
fseek($this->_file, $v_size - 1024);
- }
- elseif (fread($this->_file, 512) == ARCHIVE_TAR_END_BLOCK) {
+ } elseif (fread($this->_file, 512) == ARCHIVE_TAR_END_BLOCK) {
fseek($this->_file, $v_size - 512);
}
}
return true;
}
+
// }}}
// {{{ _append()
- function _append($p_filelist, $p_add_dir='', $p_remove_dir='')
+ function _append($p_filelist, $p_add_dir = '', $p_remove_dir = '')
{
- if (!$this->_openAppend())
+ if (!$this->_openAppend()) {
return false;
+ }
- if ($this->_addList($p_filelist, $p_add_dir, $p_remove_dir))
- $this->_writeFooter();
+ if ($this->_addList($p_filelist, $p_add_dir, $p_remove_dir)) {
+ $this->_writeFooter();
+ }
$this->_close();
return true;
}
+
// }}}
// {{{ _dirCheck()
@@ -5520,15 +6392,18 @@ class Archive_Tar extends PEAR
function _dirCheck($p_dir)
{
clearstatcache();
- if ((@is_dir($p_dir)) || ($p_dir == ''))
+ if ((@is_dir($p_dir)) || ($p_dir == '')) {
return true;
+ }
$p_parent_dir = dirname($p_dir);
if (($p_parent_dir != $p_dir) &&
($p_parent_dir != '') &&
- (!$this->_dirCheck($p_parent_dir)))
- return false;
+ (!$this->_dirCheck($p_parent_dir))
+ ) {
+ return false;
+ }
if (!@mkdir($p_dir, 0777)) {
$this->_error("Unable to create directory '$p_dir'");
@@ -5563,58 +6438,63 @@ class Archive_Tar extends PEAR
$v_list = explode('/', $p_dir);
// ----- Study directories from last to first
- for ($i=sizeof($v_list)-1; $i>=0; $i--) {
+ for ($i = sizeof($v_list) - 1; $i >= 0; $i--) {
// ----- Look for current path
if ($v_list[$i] == ".") {
// ----- Ignore this directory
// Should be the first $i=0, but no check is done
- }
- else if ($v_list[$i] == "..") {
- // ----- Ignore it and ignore the $i-1
- $i--;
- }
- else if ( ($v_list[$i] == '')
- && ($i!=(sizeof($v_list)-1))
- && ($i!=0)) {
- // ----- Ignore only the double '//' in path,
- // but not the first and last /
} else {
- $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?'/'
- .$v_result:'');
+ if ($v_list[$i] == "..") {
+ // ----- Ignore it and ignore the $i-1
+ $i--;
+ } else {
+ if (($v_list[$i] == '')
+ && ($i != (sizeof($v_list) - 1))
+ && ($i != 0)
+ ) {
+ // ----- Ignore only the double '//' in path,
+ // but not the first and last /
+ } else {
+ $v_result = $v_list[$i] . ($i != (sizeof($v_list) - 1) ? '/'
+ . $v_result : '');
+ }
+ }
}
}
}
-
+
if (defined('OS_WINDOWS') && OS_WINDOWS) {
$v_result = strtr($v_result, '\\', '/');
}
-
+
return $v_result;
}
// }}}
// {{{ _translateWinPath()
- function _translateWinPath($p_path, $p_remove_disk_letter=true)
+ function _translateWinPath($p_path, $p_remove_disk_letter = true)
{
- if (defined('OS_WINDOWS') && OS_WINDOWS) {
- // ----- Look for potential disk letter
- if ( ($p_remove_disk_letter)
- && (($v_position = strpos($p_path, ':')) != false)) {
- $p_path = substr($p_path, $v_position+1);
- }
- // ----- Change potential windows directory separator
- if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) {
- $p_path = strtr($p_path, '\\', '/');
- }
- }
- return $p_path;
+ if (defined('OS_WINDOWS') && OS_WINDOWS) {
+ // ----- Look for potential disk letter
+ if (($p_remove_disk_letter)
+ && (($v_position = strpos($p_path, ':')) != false)
+ ) {
+ $p_path = substr($p_path, $v_position + 1);
+ }
+ // ----- Change potential windows directory separator
+ if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0, 1) == '\\')) {
+ $p_path = strtr($p_path, '\\', '/');
+ }
+ }
+ return $p_path;
}
// }}}
}
+
?>
-
+
===================================
Last update : 2001-08-15
@@ -5909,7 +6789,7 @@ Sample 2 :
How it works :
Simply call the addModify() method with the right parameters.
-Method : addString($p_filename, $p_string)
+Method : addString($p_filename, $p_string, $p_datetime, $p_params)
Description :
This method add a single string as a file at the
end of the existing archive. If the archive does not yet exists it
@@ -5918,12 +6798,26 @@ Arguments :
$p_filename : A string which contains the full filename path
that will be associated with the string.
$p_string : The content of the file added in the archive.
+ $p_datetime : (Optional) Timestamp of the file (default = now)
+ $p_params : (Optional) Various file metadata:
+ stamp - As above, timestamp of the file
+ mode - UNIX-style permissions (default 0600)
+ type - Is this a regular file or link (see TAR
+ format spec for how to create a hard/symlink)
+ uid - UNIX-style user ID (default 0 = root)
+ gid - UNIX-style group ID (default 0 = root)
Return value :
true on success, false on error.
Sample 1 :
$v_archive = & new Archive_Tar($p_filename);
$v_archive->setErrorHandling(PEAR_ERROR_PRINT);
$v_result = $v_archive->addString('data/test.txt', 'This is the text of the string');
+ $v_result = $v_archive->addString(
+ 'data/test.sh',
+ "#!/bin/sh\necho 'Hello'",
+ time(),
+ array( "mode" => 0755, "uid" => 34 )
+ );
Method : extract($p_path = "")
@@ -6075,7 +6969,7 @@ How it works :
Go through the archive and extract only the files present in the
list.
-
+
/* vim: set expandtab tabstop=4 shiftwidth=4: */
/**
* PHP Version 5
@@ -7043,7 +7937,7 @@ if (!$a) {
}
$force = false;
-$install_files = array('Archive_Tar' => 'phar://install-pear-nozlib.phar/Archive_Tar-1.3.11.tar',
+$install_files = array('Archive_Tar' => 'phar://install-pear-nozlib.phar/Archive_Tar-1.3.12.tar',
'Console_Getopt' => 'phar://install-pear-nozlib.phar/Console_Getopt-1.3.1.tar',
'Structures_Graph' => 'phar://install-pear-nozlib.phar/Structures_Graph-1.0.4.tar',
'XML_Util' => 'phar://install-pear-nozlib.phar/XML_Util-1.2.3.tar',
@@ -98892,4 +99786,4 @@ class XML_Util
}
}
?>
-
+
diff --git a/sapi/litespeed/Makefile.frag b/sapi/litespeed/Makefile.frag
index b70e5e870..767c2e5eb 100644
--- a/sapi/litespeed/Makefile.frag
+++ b/sapi/litespeed/Makefile.frag
@@ -4,6 +4,6 @@ $(SAPI_LITESPEED_PATH): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_LITESPEED_OB
$(BUILD_LITESPEED)
install-litespeed: $(SAPI_LITESPEED_PATH)
- @echo "Installing PHP LitSpeed binary: $(INSTALL_ROOT)$(bindir)/"
+ @echo "Installing PHP LiteSpeed binary: $(INSTALL_ROOT)$(bindir)/"
@$(INSTALL) -m 0755 $(SAPI_LITESPEED_PATH) $(INSTALL_ROOT)$(bindir)/lsphp
diff --git a/sapi/litespeed/lsapi_main.c b/sapi/litespeed/lsapi_main.c
index 84e870d62..3413a423a 100644
--- a/sapi/litespeed/lsapi_main.c
+++ b/sapi/litespeed/lsapi_main.c
@@ -16,8 +16,6 @@
+----------------------------------------------------------------------+
*/
-/* $Id$ */
-
#include "php.h"
#include "SAPI.h"
#include "php_main.h"
@@ -75,6 +73,7 @@ static int lsapi_mode = 1;
static char *php_self = "";
static char *script_filename = "";
static int source_highlight = 0;
+static int ignore_php_ini = 0;
static char * argv0 = NULL;
static int engine = 1;
#ifdef ZTS
@@ -289,7 +288,7 @@ static void sapi_lsapi_register_variables(zval *track_vars_array TSRMLS_DC)
static int sapi_lsapi_read_post(char *buffer, uint count_bytes TSRMLS_DC)
{
if ( lsapi_mode ) {
- return LSAPI_ReadReqBody( buffer, count_bytes );
+ return LSAPI_ReadReqBody( buffer, (unsigned long long)count_bytes );
} else {
return 0;
}
@@ -353,7 +352,14 @@ static int sapi_lsapi_send_headers(sapi_headers_struct *sapi_headers TSRMLS_DC)
*/
static void sapi_lsapi_log_message(char *message TSRMLS_DC)
{
+ char buf[8192];
int len = strlen( message );
+ if ( *(message + len - 1 ) != '\n' )
+ {
+ snprintf( buf, 8191, "%s\n", message );
+ message = buf;
+ ++len;
+ }
LSAPI_Write_Stderr( message, len);
}
/* }}} */
@@ -364,7 +370,7 @@ static void sapi_lsapi_log_message(char *message TSRMLS_DC)
static sapi_module_struct lsapi_sapi_module =
{
"litespeed",
- "LiteSpeed V5.5",
+ "LiteSpeed V6.6",
php_lsapi_startup, /* startup */
php_module_shutdown_wrapper, /* shutdown */
@@ -520,7 +526,7 @@ static int lsapi_module_main(int show_source TSRMLS_DC)
}
zend_try {
php_request_shutdown(NULL);
- *argv0 = 0;
+ memset( argv0, 0, 46 );
} zend_end_try();
return 0;
}
@@ -558,10 +564,12 @@ static void override_ini()
}
+
static int processReq( TSRMLS_D )
{
int ret = 0;
zend_first_try {
+
/* avoid server_context==NULL checks */
SG(server_context) = (void *) 1;
@@ -587,14 +595,16 @@ static void cli_usage( TSRMLS_D )
{
static const char * usage =
"Usage: php\n"
- " php -[b|c|h|i|q|s|v|?] [<file>] [args...]\n"
+ " php -[b|c|n|h|i|q|s|v|?] [<file>] [args...]\n"
" Run in LSAPI mode, only '-b', '-s' and '-c' are effective\n"
" Run in Command Line Interpreter mode when parameters are specified\n"
"\n"
" -b <address:port>|<port> Bind Path for external LSAPI Server mode\n"
" -c <path>|<file> Look for php.ini file in this directory\n"
+ " -n No php.ini file will be used\n"
" -h This help\n"
" -i PHP information\n"
+ " -l Syntax check\n"
" -q Quiet-mode. Suppress HTTP Header output.\n"
" -s Display colour syntax highlighted source.\n"
" -v Version number\n"
@@ -626,7 +636,7 @@ static int parse_opt( int argc, char * argv[], int *climode,
fprintf( stderr, "TCP or socket address must be specified following '-b' option.\n");
return -1;
}
- *php_bind = *p++;
+ *php_bind = strdup(*p++);
break;
case 'c':
@@ -635,16 +645,22 @@ static int parse_opt( int argc, char * argv[], int *climode,
return -1;
}
- *php_ini_path = *p++;
+ *php_ini_path = strdup( *p++ );
break;
case 's':
source_highlight = 1;
- break;
+ break;
+ case 'n':
+ ignore_php_ini = 1;
+ break;
+ case '?':
+ if ( *((*(p-1))+2) == 's' )
+ exit( 99 );
case 'h':
case 'i':
+ case 'l':
case 'q':
case 'v':
- case '?':
default:
*climode = 1;
break;
@@ -674,7 +690,7 @@ static int cli_main( int argc, char * argv[] )
const char ** ini;
char ** p = &argv[1];
char ** argend= &argv[argc];
- int ret = 0;
+ int ret = -1;
int c;
lsapi_mode = 0; /* enter CLI mode */
@@ -713,8 +729,8 @@ static int cli_main( int argc, char * argv[] )
php_end_ob_buffers(1 TSRMLS_CC);
#endif
php_request_shutdown( NULL );
+ ret = 0;
}
- ret = 1;
break;
case 'v':
if (php_request_startup(TSRMLS_C) != FAILURE) {
@@ -729,25 +745,27 @@ static int cli_main( int argc, char * argv[] )
php_end_ob_buffers(1 TSRMLS_CC);
#endif
php_request_shutdown( NULL );
+ ret = 0;
}
- ret = 1;
break;
case 'c':
++p;
/* fall through */
case 's':
break;
-
+ case 'l':
+ source_highlight = 2;
+ break;
case 'h':
case '?':
default:
cli_usage(TSRMLS_C);
- ret = 1;
+ ret = 0;
break;
}
}
- if ( !ret ) {
+ if ( ret == -1 ) {
if ( *p ) {
zend_file_handle file_handle = {0};
@@ -766,18 +784,30 @@ static int cli_main( int argc, char * argv[] )
fclose( file_handle.handle.fp );
ret = 2;
} else {
- if (source_highlight) {
+ if (source_highlight == 1) {
zend_syntax_highlighter_ini syntax_highlighter_ini;
php_get_highlight_struct(&syntax_highlighter_ini);
highlight_file(SG(request_info).path_translated, &syntax_highlighter_ini TSRMLS_CC);
+ } else if (source_highlight == 2) {
+ file_handle.filename = *p;
+ file_handle.free_filename = 0;
+ file_handle.opened_path = NULL;
+ ret = php_lint_script(&file_handle TSRMLS_CC);
+ if (ret==SUCCESS) {
+ zend_printf("No syntax errors detected in %s\n", file_handle.filename);
+ } else {
+ zend_printf("Errors parsing %s\n", file_handle.filename);
+ }
+
} else {
file_handle.filename = *p;
file_handle.free_filename = 0;
file_handle.opened_path = NULL;
php_execute_script(&file_handle TSRMLS_CC);
- }
+ ret = EG(exit_status);
+ }
php_request_shutdown( NULL );
}
@@ -858,7 +888,25 @@ void start_children( int children )
exit( 0 );
}
-
+void setArgv0( int argc, char * argv[] )
+{
+ char * p;
+ int i;
+ argv0 = argv[0] + strlen( argv[0] );
+ p = argv0;
+ while(( p > argv[0] )&&( p[-1] != '/'))
+ --p;
+ if ( p > argv[0] )
+ {
+ memmove( argv[0], p, argv0 - p );
+ memset( argv[0] + ( argv0 - p ), 0, p - argv[0] );
+ argv0 = argv[0] + (argv0 - p);
+ }
+ for( i = 1; i < argc; ++i )
+ {
+ memset( argv[i], 0, strlen( argv[i] ) );
+ }
+}
#include <fcntl.h>
int main( int argc, char * argv[] )
@@ -868,7 +916,6 @@ int main( int argc, char * argv[] )
char * php_ini_path = NULL;
char * php_bind = NULL;
- char * p;
int n;
int climode = 0;
struct timeval tv_req_begin;
@@ -894,8 +941,10 @@ int main( int argc, char * argv[] )
}
if ( climode ) {
lsapi_sapi_module.phpinfo_as_text = 1;
+ } else {
+ setArgv0(argc, argv );
}
- argv0 = argv[0] + strlen( argv[0] );
+
sapi_startup(&lsapi_sapi_module);
#ifdef ZTS
@@ -909,6 +958,9 @@ int main( int argc, char * argv[] )
#endif
lsapi_sapi_module.executable_location = argv[0];
+
+ if ( ignore_php_ini )
+ lsapi_sapi_module.php_ini_ignore = 1;
if ( php_ini_path ) {
lsapi_sapi_module.php_ini_path_override = php_ini_path;
@@ -949,6 +1001,8 @@ int main( int argc, char * argv[] )
if ( php_bind ) {
LSAPI_No_Check_ppid();
+ free( php_bind );
+ php_bind = NULL;
}
while( LSAPI_Prefork_Accept_r( &g_req ) >= 0 ) {
@@ -986,27 +1040,23 @@ int main( int argc, char * argv[] )
/* LiteSpeed PHP module starts here */
-#if PHP_MAJOR_VERSION > 4
-
/* {{{ arginfo */
ZEND_BEGIN_ARG_INFO(arginfo_litespeed__void, 0)
ZEND_END_ARG_INFO()
/* }}} */
-#else
-#define arginfo_litespeed__void NULL
-#endif
-
PHP_FUNCTION(litespeed_request_headers);
PHP_FUNCTION(litespeed_response_headers);
+PHP_FUNCTION(apache_get_modules);
PHP_MINFO_FUNCTION(litespeed);
zend_function_entry litespeed_functions[] = {
- PHP_FE(litespeed_request_headers, arginfo_litespeed__void)
- PHP_FE(litespeed_response_headers, arginfo_litespeed__void)
- PHP_FALIAS(getallheaders, litespeed_request_headers, arginfo_litespeed__void)
- PHP_FALIAS(apache_request_headers, litespeed_request_headers, arginfo_litespeed__void)
+ PHP_FE(litespeed_request_headers, arginfo_litespeed__void)
+ PHP_FE(litespeed_response_headers, arginfo_litespeed__void)
+ PHP_FE(apache_get_modules, arginfo_litespeed__void)
+ PHP_FALIAS(getallheaders, litespeed_request_headers, arginfo_litespeed__void)
+ PHP_FALIAS(apache_request_headers, litespeed_request_headers, arginfo_litespeed__void)
PHP_FALIAS(apache_response_headers, litespeed_response_headers, arginfo_litespeed__void)
{NULL, NULL, NULL}
};
@@ -1055,8 +1105,7 @@ PHP_FUNCTION(litespeed_request_headers)
}
array_init(return_value);
- if ( lsapi_mode )
- LSAPI_ForeachOrgHeader( add_associate_array, return_value );
+ LSAPI_ForeachOrgHeader( add_associate_array, return_value );
}
/* }}} */
@@ -1106,6 +1155,23 @@ PHP_FUNCTION(litespeed_response_headers)
/* }}} */
+/* {{{ proto array apache_get_modules(void)
+ Fetch all loaded module names */
+PHP_FUNCTION(apache_get_modules)
+{
+ /* TODO: */
+ if (ZEND_NUM_ARGS() > 0) {
+ WRONG_PARAM_COUNT;
+ }
+ array_init(return_value);
+ add_next_index_string(return_value, "mod_rewrite", 1);
+ add_next_index_string(return_value, "mod_mime", 1);
+ add_next_index_string(return_value, "mod_headers", 1);
+ add_next_index_string(return_value, "mod_expires", 1);
+}
+/* }}} */
+
+
/*
* Local variables:
* tab-width: 4
diff --git a/sapi/litespeed/lsapidef.h b/sapi/litespeed/lsapidef.h
index 3bdadac1d..fb75d01a1 100644
--- a/sapi/litespeed/lsapidef.h
+++ b/sapi/litespeed/lsapidef.h
@@ -1,4 +1,3 @@
-
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
@@ -17,9 +16,8 @@
+----------------------------------------------------------------------+
*/
-
/*
-Copyright (c) 2007, Lite Speed Technologies Inc.
+Copyright (c) 2002-2014, Lite Speed Technologies Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -113,12 +111,14 @@ enum
#define LSAPI_RESP_END 5
#define LSAPI_STDERR_STREAM 6
#define LSAPI_REQ_RECEIVED 7
+#define LSAPI_CONN_CLOSE 8
+#define LSAPI_INTERNAL_ERROR 9
#define LSAPI_MAX_HEADER_LEN 65535
#define LSAPI_MAX_DATA_PACKET_LEN 16384
-#define LSAPI_RESP_HTTP_HEADER_MAX 4096
+#define LSAPI_RESP_HTTP_HEADER_MAX 32768
#define LSAPI_PACKET_HEADER_LEN 8
diff --git a/sapi/litespeed/lsapilib.c b/sapi/litespeed/lsapilib.c
index 1bb16b326..786a3bd20 100644
--- a/sapi/litespeed/lsapilib.c
+++ b/sapi/litespeed/lsapilib.c
@@ -16,10 +16,8 @@
+----------------------------------------------------------------------+
*/
-/* $Id$ */
-
/*
-Copyright (c) 2007, Lite Speed Technologies Inc.
+Copyright (c) 2002-2014, Lite Speed Technologies Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -50,17 +48,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <lsapilib.h>
#include <ctype.h>
+#include <dlfcn.h>
#include <errno.h>
#include <fcntl.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-#include <netinet/in.h>
-#include <netinet/tcp.h>
-#include <sys/un.h>
+#include <sys/stat.h>
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>
@@ -71,8 +65,48 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <sys/time.h>
#include <sys/uio.h>
#include <sys/wait.h>
+#include <grp.h>
+#include <pwd.h>
#include <time.h>
#include <unistd.h>
+#include <arpa/inet.h>
+#include <netdb.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#include <sys/un.h>
+
+#include "lsapilib.h"
+
+#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__)
+#include <sys/prctl.h>
+#endif
+
+#if defined(__FreeBSD__ ) || defined(__NetBSD__) || defined(__OpenBSD__) \
+ || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
+#include <sys/sysctl.h>
+#endif
+
+#include <inttypes.h>
+#ifndef uint32
+#define uint32 uint32_t
+#endif
+
+struct lsapi_MD5Context {
+ uint32 buf[4];
+ uint32 bits[2];
+ unsigned char in[64];
+};
+
+void lsapi_MD5Init(struct lsapi_MD5Context *context);
+void lsapi_MD5Update(struct lsapi_MD5Context *context, unsigned char const *buf,
+ unsigned len);
+void lsapi_MD5Final(unsigned char digest[16], struct lsapi_MD5Context *context);
+
+/*
+ * This is needed to make RSAREF happy on some MS-DOS compilers.
+ */
+typedef struct lsapi_MD5Context lsapi_MD5_CTX;
+
#define LSAPI_ST_REQ_HEADER 1
#define LSAPI_ST_REQ_BODY 2
@@ -83,12 +117,20 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define LSAPI_INIT_RESP_HEADER_LEN 4096
+
static int g_inited = 0;
static int g_running = 1;
static int s_ppid;
static int s_slow_req_msecs = 0;
+static int s_keepListener = 0;
+static int s_dump_debug_info = 0;
+static int s_pid_dump_debug_info = 0;
+
LSAPI_Request g_req = { -1, -1 };
+static char s_pSecret[24];
+
+
void Flush_RespBuf_r( LSAPI_Request * pReq );
static const char *CGI_HEADERS[H_TRANSFER_ENCODING+1] =
@@ -112,13 +154,13 @@ static const char *CGI_HEADERS[H_TRANSFER_ENCODING+1] =
"HTTP_TRANSFER_ENCODING"
};
-static int CGI_HEADER_LEN[H_TRANSFER_ENCODING+1] = {
- 11, 19, 20, 20, 18, 15, 12, 14, 11, 12, 9, 11, 12, 15, 18,
- 22, 13, 18, 13, 24, 15, 10, 20, 8, 22
-};
+static int CGI_HEADER_LEN[H_TRANSFER_ENCODING+1] =
+{ 11, 19, 20, 20, 18, 15, 12, 14, 11, 12, 9, 11, 12, 15, 18,
+ 22, 13, 18, 13, 24, 15, 10, 20, 8, 22 };
-static const char *HTTP_HEADERS[H_TRANSFER_ENCODING+1] = {
+static const char *HTTP_HEADERS[H_TRANSFER_ENCODING+1] =
+{
"Accept", "Accept-Charset",
"Accept-Encoding",
"Accept-Language", "Authorization",
@@ -138,8 +180,8 @@ static const char *HTTP_HEADERS[H_TRANSFER_ENCODING+1] = {
"Transfer-Encoding"
};
-static int HTTP_HEADER_LEN[H_TRANSFER_ENCODING+1] = {
- 6, 14, 15, 15, 13, 10, 12, 14, 6, 7, 4, 6, 7, 10, /* user-agent */
+static int HTTP_HEADER_LEN[H_TRANSFER_ENCODING+1] =
+{ 6, 14, 15, 15, 13, 10, 12, 14, 6, 7, 4, 6, 7, 10, //user-agent
13,17, 8, 13, 8, 19, 10, 5, 15, 3, 17
};
@@ -161,7 +203,8 @@ static void lsapi_signal(int signo, sighandler_t handler)
sigaction(signo, NULL, &sa);
- if (sa.sa_handler == SIG_DFL) {
+ if (sa.sa_handler == SIG_DFL)
+ {
sigemptyset(&sa.sa_mask);
sa.sa_flags = 0;
sa.sa_handler = handler;
@@ -170,6 +213,34 @@ static void lsapi_signal(int signo, sighandler_t handler)
}
+static int s_enable_core_dump = 0;
+static void lsapi_enable_core_dump()
+{
+#if defined(__FreeBSD__ ) || defined(__NetBSD__) || defined(__OpenBSD__) \
+ || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
+ int mib[2];
+ size_t len;
+
+ len = 2;
+ if ( sysctlnametomib("kern.sugid_coredump", mib, &len) == 0 )
+ {
+ len = sizeof(s_enable_core_dump);
+ if (sysctl(mib, 2, NULL, 0, &s_enable_core_dump, len) == -1)
+ perror( "sysctl: Failed to set 'kern.sugid_coredump', "
+ "core dump may not be available!");
+ }
+
+
+#endif
+
+#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__)
+ if (prctl(PR_SET_DUMPABLE, s_enable_core_dump,0,0,0) == -1)
+ perror( "prctl: Failed to set dumpable, "
+ "core dump may not be available!");
+#endif
+}
+
+
static inline void lsapi_buildPacketHeader( struct lsapi_packet_header * pHeader,
char type, int len )
{
@@ -200,75 +271,115 @@ static int lsapi_set_nblock( int fd, int nonblock )
return 0;
}
-
static int lsapi_close( int fd )
{
int ret;
- while( 1 ) {
+ while( 1 )
+ {
ret = close( fd );
- if (( ret == -1 )&&( errno == EINTR )&&(g_running)) {
+ if (( ret == -1 )&&( errno == EINTR )&&(g_running))
continue;
- }
return ret;
}
}
-static inline int lsapi_read( int fd, void * pBuf, int len )
+static inline ssize_t lsapi_read( int fd, void * pBuf, size_t len )
{
- int ret;
- while( 1 ) {
+ ssize_t ret;
+ while( 1 )
+ {
ret = read( fd, (char *)pBuf, len );
- if (( ret == -1 )&&( errno == EINTR )&&(g_running)) {
+ if (( ret == -1 )&&( errno == EINTR )&&(g_running))
continue;
- }
return ret;
}
}
+/*
+static int lsapi_write( int fd, const void * pBuf, int len )
+{
+ int ret;
+ const char * pCur;
+ const char * pEnd;
+ if ( len == 0 )
+ return 0;
+ pCur = (const char *)pBuf;
+ pEnd = pCur + len;
+ while( g_running && (pCur < pEnd) )
+ {
+ ret = write( fd, pCur, pEnd - pCur );
+ if ( ret >= 0)
+ pCur += ret;
+ else if (( ret == -1 )&&( errno != EINTR ))
+ return ret;
+ }
+ return pCur - (const char *)pBuf;
+}
+*/
static int lsapi_writev( int fd, struct iovec ** pVec, int count, int totalLen )
{
int ret;
int left = totalLen;
int n = count;
- while(( left > 0 )&&g_running ) {
+ while(( left > 0 )&&g_running )
+ {
ret = writev( fd, *pVec, n );
- if ( ret > 0 ) {
+ if ( ret > 0 )
+ {
left -= ret;
- if (( left <= 0)||( !g_running )) {
+ if (( left <= 0)||( !g_running ))
return totalLen - left;
- }
- while( ret > 0 ) {
- if ( (*pVec)->iov_len <= ret ) {
+ while( ret > 0 )
+ {
+ if ( (*pVec)->iov_len <= (unsigned int )ret )
+ {
ret -= (*pVec)->iov_len;
++(*pVec);
- } else {
+ }
+ else
+ {
(*pVec)->iov_base = (char *)(*pVec)->iov_base + ret;
(*pVec)->iov_len -= ret;
break;
}
}
- } else if ( ret == -1 ) {
- if ( errno == EAGAIN ) {
- if ( totalLen - left > 0 ) {
+ }
+ else if ( ret == -1 )
+ {
+ if ( errno == EAGAIN )
+ {
+ if ( totalLen - left > 0 )
return totalLen - left;
- } else {
+ else
return -1;
- }
- } else {
- if ( errno != EINTR ) {
- return ret;
- }
}
+ else if ( errno != EINTR )
+ return ret;
}
}
return totalLen - left;
}
+/*
+static int getTotalLen( struct iovec * pVec, int count )
+{
+ struct iovec * pEnd = pVec + count;
+ int total = 0;
+ while( pVec < pEnd )
+ {
+ total += pVec->iov_len;
+ ++pVec;
+ }
+ return total;
+}
+*/
+
static inline int allocateBuf( LSAPI_Request * pReq, int size )
{
char * pBuf = (char *)realloc( pReq->m_pReqBuf, size );
- if ( pBuf ) {
+ if ( pBuf )
+ {
pReq->m_pReqBuf = pBuf;
pReq->m_reqBufSize = size;
pReq->m_pHeader = (struct lsapi_req_header *)pReq->m_pReqBuf;
@@ -282,9 +393,8 @@ static int allocateIovec( LSAPI_Request * pReq, int n )
{
struct iovec * p = (struct iovec *)realloc(
pReq->m_pIovec, sizeof(struct iovec) * n );
- if ( !p ) {
+ if ( !p )
return -1;
- }
pReq->m_pIovecToWrite = p + ( pReq->m_pIovecToWrite - pReq->m_pIovec );
pReq->m_pIovecCur = p + ( pReq->m_pIovecCur - pReq->m_pIovec );
pReq->m_pIovec = p;
@@ -295,9 +405,8 @@ static int allocateIovec( LSAPI_Request * pReq, int n )
static int allocateRespHeaderBuf( LSAPI_Request * pReq, int size )
{
char * p = (char *)realloc( pReq->m_pRespHeaderBuf, size );
- if ( !p ) {
+ if ( !p )
return -1;
- }
pReq->m_pRespHeaderBufPos = p + ( pReq->m_pRespHeaderBufPos - pReq->m_pRespHeaderBuf );
pReq->m_pRespHeaderBuf = p;
pReq->m_pRespHeaderBufEnd = p + size;
@@ -309,10 +418,10 @@ static inline int verifyHeader( struct lsapi_packet_header * pHeader, char pktTy
{
if (( LSAPI_VERSION_B0 != pHeader->m_versionB0 )||
( LSAPI_VERSION_B1 != pHeader->m_versionB1 )||
- ( pktType != pHeader->m_type )) {
+ ( pktType != pHeader->m_type ))
return -1;
- }
- if ( LSAPI_ENDIAN != (pHeader->m_flag & LSAPI_ENDIAN_BIT )) {
+ if ( LSAPI_ENDIAN != (pHeader->m_flag & LSAPI_ENDIAN_BIT ))
+ {
register char b;
b = pHeader->m_packetLen.m_bytes[0];
pHeader->m_packetLen.m_bytes[0] = pHeader->m_packetLen.m_bytes[3];
@@ -328,21 +437,20 @@ static int allocateEnvList( struct LSAPI_key_value_pair ** pEnvList,
int *curSize, int newSize )
{
struct LSAPI_key_value_pair * pBuf;
- if ( *curSize >= newSize ) {
+ if ( *curSize >= newSize )
return 0;
- }
- if ( newSize > 8192 ) {
+ if ( newSize > 8192 )
return -1;
- }
pBuf = (struct LSAPI_key_value_pair *)realloc( *pEnvList, newSize *
sizeof(struct LSAPI_key_value_pair) );
- if ( pBuf ) {
+ if ( pBuf )
+ {
*pEnvList = pBuf;
*curSize = newSize;
return 0;
- } else {
- return -1;
}
+ else
+ return -1;
}
@@ -351,36 +459,32 @@ static inline int isPipe( int fd )
char achPeer[128];
socklen_t len = 128;
if (( getpeername( fd, (struct sockaddr *)achPeer, &len ) != 0 )&&
- ( errno == ENOTCONN )) {
+ ( errno == ENOTCONN ))
return 0;
- } else {
+ else
return 1;
- }
}
static int parseEnv( struct LSAPI_key_value_pair * pEnvList, int count,
char **pBegin, char * pEnd )
{
struct LSAPI_key_value_pair * pEnvEnd;
- int keyLen = 0, valLen = 0;
- if ( count > 8192 ) {
+ int keyLen = 0, valLen = 0;
+ if ( count > 8192 )
return -1;
- }
pEnvEnd = pEnvList + count;
- while( pEnvList != pEnvEnd ) {
- if ( pEnd - *pBegin < 4 ) {
+ while( pEnvList != pEnvEnd )
+ {
+ if ( pEnd - *pBegin < 4 )
return -1;
- }
keyLen = *((unsigned char *)((*pBegin)++));
keyLen = (keyLen << 8) + *((unsigned char *)((*pBegin)++));
valLen = *((unsigned char *)((*pBegin)++));
valLen = (valLen << 8) + *((unsigned char *)((*pBegin)++));
- if ( *pBegin + keyLen + valLen > pEnd ) {
+ if ( *pBegin + keyLen + valLen > pEnd )
return -1;
- }
- if (( !keyLen )||( !valLen )) {
+ if (( !keyLen )||( !valLen ))
return -1;
- }
pEnvList->pKey = *pBegin;
*pBegin += keyLen;
@@ -391,9 +495,8 @@ static int parseEnv( struct LSAPI_key_value_pair * pEnvList, int count,
pEnvList->valLen = valLen - 1;
++pEnvList;
}
- if ( memcmp( *pBegin, "\0\0\0\0", 4 ) != 0 ) {
+ if ( memcmp( *pBegin, "\0\0\0\0", 4 ) != 0 )
return -1;
- }
*pBegin += 4;
return 0;
}
@@ -428,8 +531,10 @@ static inline void fixEndian( LSAPI_Request * pReq )
static void fixHeaderIndexEndian( LSAPI_Request * pReq )
{
int i;
- for( i = 0; i < H_TRANSFER_ENCODING; ++i ) {
- if ( pReq->m_pHeaderIndex->m_headerOff[i] ) {
+ for( i = 0; i < H_TRANSFER_ENCODING; ++i )
+ {
+ if ( pReq->m_pHeaderIndex->m_headerOff[i] )
+ {
register char b;
char * p = (char *)(&pReq->m_pHeaderIndex->m_headerLen[i]);
b = p[0];
@@ -438,20 +543,434 @@ static void fixHeaderIndexEndian( LSAPI_Request * pReq )
swapIntEndian( &pReq->m_pHeaderIndex->m_headerOff[i] );
}
}
- if ( pReq->m_pHeader->m_cntUnknownHeaders > 0 ) {
+ if ( pReq->m_pHeader->m_cntUnknownHeaders > 0 )
+ {
struct lsapi_header_offset * pCur, *pEnd;
pCur = pReq->m_pUnknownHeader;
pEnd = pCur + pReq->m_pHeader->m_cntUnknownHeaders;
- while( pCur < pEnd ) {
+ while( pCur < pEnd )
+ {
swapIntEndian( &pCur->nameOff );
swapIntEndian( &pCur->nameLen );
swapIntEndian( &pCur->valueOff );
swapIntEndian( &pCur->valueLen );
++pCur;
}
- }
+ }
+}
+
+static uid_t s_uid = 0;
+static uid_t s_defaultUid; //web server need set this
+static gid_t s_defaultGid;
+
+#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__)
+
+#define LSAPI_LVE_DISABLED 0
+#define LSAPI_LVE_ENABLED 1
+#define LSAPI_CAGEFS_ENABLED 2
+#define LSAPI_CAGEFS_NO_SUEXEC 3
+struct liblve;
+static int s_enable_lve = LSAPI_LVE_DISABLED;
+static struct liblve * s_lve = NULL;
+
+static void *s_liblve;
+static int (*fp_lve_is_available)(void) = NULL;
+static int (*fp_lve_instance_init)(struct liblve *) = NULL;
+static int (*fp_lve_destroy)(struct liblve *) = NULL;
+static int (*fp_lve_enter)(struct liblve *, uint32_t, int32_t, int32_t, uint32_t *) = NULL;
+static int (*fp_lve_leave)(struct liblve *, uint32_t *) = NULL;
+static int (*fp_lve_jail)( struct passwd *, char *) = NULL;
+static int lsapi_load_lve_lib()
+{
+ s_liblve = dlopen("liblve.so.0", RTLD_LAZY);
+ if (s_liblve)
+ {
+ fp_lve_is_available = dlsym(s_liblve, "lve_is_available");
+ if (dlerror() == NULL)
+ {
+ if ( !(*fp_lve_is_available)() )
+ {
+ int uid = getuid();
+ if ( uid )
+ {
+ setreuid( s_uid, uid );
+ if ( !(*fp_lve_is_available)() )
+ s_enable_lve = 0;
+ setreuid( uid, s_uid );
+ }
+ }
+ }
+ }
+ else
+ {
+ s_enable_lve = LSAPI_LVE_DISABLED;
+ }
+ return (s_liblve)? 0 : -1;
+}
+
+static int init_lve_ex()
+{
+ int rc;
+ if ( !s_liblve )
+ return -1;
+ fp_lve_instance_init = dlsym(s_liblve, "lve_instance_init");
+ fp_lve_destroy = dlsym(s_liblve, "lve_destroy");
+ fp_lve_enter = dlsym(s_liblve, "lve_enter");
+ fp_lve_leave = dlsym(s_liblve, "lve_leave");
+ if ( s_enable_lve >= LSAPI_CAGEFS_ENABLED )
+ fp_lve_jail = dlsym(s_liblve, "jail" );
+
+ if ( s_lve == NULL )
+ {
+ rc = (*fp_lve_instance_init)(NULL);
+ s_lve = malloc(rc);
+ }
+ rc = (*fp_lve_instance_init)(s_lve);
+ if (rc != 0)
+ {
+ perror( "LSAPI: Unable to initialize LVE" );
+ free( s_lve );
+ s_lve = NULL;
+ return -1;
+ }
+ return 0;
+
+}
+
+#endif
+
+
+
+static int readSecret( const char * pSecretFile )
+{
+ struct stat st;
+ int fd = open( pSecretFile, O_RDONLY , 0600 );
+ if ( fd == -1 )
+ {
+ fprintf( stderr, "LSAPI: failed to open secret file: %s!\n", pSecretFile );
+ return -1;
+ }
+ if ( fstat( fd, &st ) == -1 )
+ {
+ fprintf( stderr, "LSAPI: failed to check state of file: %s!\n", pSecretFile );
+ close( fd );
+ return -1;
+ }
+/*
+ if ( st.st_uid != s_uid )
+ {
+ fprintf( stderr, "LSAPI: file owner check failure: %s!\n", pSecretFile );
+ close( fd );
+ return -1;
+ }
+*/
+ if ( st.st_mode & 0077 )
+ {
+ fprintf( stderr, "LSAPI: file permission check failure: %s\n", pSecretFile );
+ close( fd );
+ return -1;
+ }
+ if ( read( fd, s_pSecret, 16 ) < 16 )
+ {
+ fprintf( stderr, "LSAPI: failed to read secret from secret file: %s\n", pSecretFile );
+ close( fd );
+ return -1;
+ }
+ close( fd );
+ return 0;
+}
+
+int LSAPI_is_suEXEC_Daemon()
+{
+ if (( !s_uid )&&( s_pSecret[0] ))
+ return 1;
+ else
+ return 0;
+}
+
+static int LSAPI_perror_r( LSAPI_Request * pReq, const char * pErr1, const char *pErr2 )
+{
+ char achError[1024];
+ int n = snprintf(achError, 1024, "%s:%s: %s\n", pErr1, (pErr2)?pErr2:"", strerror( errno ) );
+ if ( pReq )
+ LSAPI_Write_Stderr_r( pReq, achError, n );
+ else
+ write( STDERR_FILENO, achError, n );
+ return 0;
+}
+
+static int lsapi_lve_error( LSAPI_Request * pReq )
+{
+ static const char * headers[] =
+ {
+ "Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0",
+ "Pragma: no-cache",
+ "Retry-After: 60",
+ "Content-Type: text/html",
+ NULL
+ };
+ static const char achBody[] =
+ "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n"
+ "<HTML><HEAD>\n<TITLE>508 Resource Limit Is Reached</TITLE>\n"
+ "</HEAD><BODY>\n" "<H1>Resource Limit Is Reached</H1>\n"
+ "The website is temporarily unable to service your request as it exceeded resource limit.\n"
+ "Please try again later.\n"
+ "<HR>\n"
+ "</BODY></HTML>\n";
+
+ LSAPI_ErrResponse_r( pReq, 508, headers, achBody, sizeof( achBody ) - 1 );
+ return 0;
+}
+
+static int lsapi_enterLVE( LSAPI_Request * pReq, uid_t uid )
+{
+#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__)
+ if ( s_lve && uid ) //root user should not do that
+ {
+ uint32_t cookie;
+ int ret = -1;
+ ret = (*fp_lve_enter)(s_lve, uid, -1, -1, &cookie);
+ if ( ret < 0 )
+ {
+ fprintf( stderr, "Pid (%d): enter LVE (%d) : ressult: %d !\n", getpid(), uid, ret );
+ LSAPI_perror_r(pReq, "LSAPI: lve_enter() failure, reached resource limit.", NULL );
+ lsapi_lve_error( pReq );
+ return -1;
+ }
+ }
+#endif
+
+ return 0;
+}
+
+static int lsapi_jailLVE( LSAPI_Request * pReq, uid_t uid, struct passwd * pw )
+{
+ int ret = 0;
+#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__)
+ char error_msg[1024] = "";
+ ret = (*fp_lve_jail)( pw, error_msg );
+ if ( ret < 0 )
+ {
+ fprintf( stderr, "LSAPI (%d): LVE jail(%d) ressult: %d, error: %s !\n",
+ getpid(), uid, ret, error_msg );
+ LSAPI_perror_r( pReq, "LSAPI: jail() failure.", NULL );
+ return -1;
+ }
+#endif
+ return ret;
+}
+
+
+#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__)
+static int lsapi_initLVE()
+{
+ const char * pEnv;
+ if ( (pEnv = getenv( "LSAPI_LVE_ENABLE" ))!= NULL )
+ {
+ s_enable_lve = atol( pEnv );
+ pEnv = NULL;
+ }
+ else if ( (pEnv = getenv( "LVE_ENABLE" ))!= NULL )
+ {
+ s_enable_lve = atol( pEnv );
+ pEnv = NULL;
+ }
+ if ( s_enable_lve && !s_uid )
+ {
+ lsapi_load_lve_lib();
+ if ( s_enable_lve )
+ {
+ return init_lve_ex();
+ }
+
+ }
+ return 0;
+}
+#endif
+
+
+static int setUID_LVE(LSAPI_Request * pReq, uid_t uid, gid_t gid, const char * pChroot)
+{
+ int rv;
+ struct passwd * pw;
+ pw = getpwuid( uid );
+#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__)
+ if ( s_lve )
+ {
+ if( lsapi_enterLVE( pReq, uid ) == -1 )
+ return -1;
+ if ( pw && fp_lve_jail)
+ {
+ rv = lsapi_jailLVE( pReq, uid, pw );
+ if ( rv == -1 )
+ return -1;
+ if (( rv == 1 )&&(s_enable_lve == LSAPI_CAGEFS_NO_SUEXEC )) //this mode only use cageFS, does not use suEXEC
+ {
+ uid = s_defaultUid;
+ gid = s_defaultGid;
+ pw = getpwuid( uid );
+ }
+ }
+ }
+#endif
+ //if ( !uid || !gid ) //do not allow root
+ //{
+ // return -1;
+ //}
+
+#if defined(__FreeBSD__ ) || defined(__NetBSD__) || defined(__OpenBSD__) \
+ || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
+ if ( s_enable_core_dump )
+ lsapi_enable_core_dump();
+#endif
+
+ rv = setgid(gid);
+ if (rv == -1)
+ {
+ LSAPI_perror_r(pReq, "LSAPI: setgid()", NULL);
+ return -1;
+ }
+ if ( pw && (pw->pw_gid == gid ))
+ {
+ rv = initgroups( pw->pw_name, gid );
+ if (rv == -1)
+ {
+ LSAPI_perror_r(pReq, "LSAPI: initgroups()", NULL);
+ return -1;
+ }
+ }
+ else
+ {
+ rv = setgroups(1, &gid);
+ if (rv == -1)
+ {
+ LSAPI_perror_r(pReq, "LSAPI: setgroups()", NULL);
+ }
+ }
+ if ( pChroot )
+ {
+ rv = chroot( pChroot );
+ if ( rv == -1 )
+ {
+ LSAPI_perror_r(pReq, "LSAPI: chroot()", NULL);
+ return -1;
+ }
+ }
+ rv = setuid(uid);
+ if (rv == -1)
+ {
+ LSAPI_perror_r(pReq, "LSAPI: setuid()", NULL);
+ return -1;
+ }
+#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__)
+ if ( s_enable_core_dump )
+ lsapi_enable_core_dump();
+#endif
+ return 0;
}
+static int lsapi_suexec_auth( LSAPI_Request *pReq,
+ char * pAuth, int len, char * pUgid, int ugidLen )
+{
+ lsapi_MD5_CTX md5ctx;
+ unsigned char achMD5[16];
+ if ( len < 32 )
+ return -1;
+ memmove( achMD5, pAuth + 16, 16 );
+ memmove( pAuth + 16, s_pSecret, 16 );
+ lsapi_MD5Init( &md5ctx );
+ lsapi_MD5Update( &md5ctx, (unsigned char *)pAuth, 32 );
+ lsapi_MD5Update( &md5ctx, (unsigned char *)pUgid, 8 );
+ lsapi_MD5Final( (unsigned char *)pAuth + 16, &md5ctx);
+ if ( memcmp( achMD5, pAuth + 16, 16 ) == 0 )
+ return 0;
+ return 1;
+}
+
+
+static int lsapi_changeUGid( LSAPI_Request * pReq )
+{
+ int uid = s_defaultUid;
+ int gid = s_defaultGid;
+ const char * pChroot = NULL;
+ struct LSAPI_key_value_pair * pEnv;
+ struct LSAPI_key_value_pair * pAuth;
+ int i;
+ if ( s_uid )
+ return 0;
+ //with special ID 0x00
+ //authenticate the suEXEC request;
+ //first one should be MD5( nonce + lscgid secret )
+ //remember to clear the secret after verification
+ //it should be set at the end of special env
+ i = pReq->m_pHeader->m_cntSpecialEnv - 1;
+ if ( i >= 0 )
+ {
+ pEnv = pReq->m_pSpecialEnvList + i;
+ if (( *pEnv->pKey == '\000' )&&
+ ( strcmp( pEnv->pKey+1, "SUEXEC_AUTH" ) == 0 ))
+ {
+ --pReq->m_pHeader->m_cntSpecialEnv;
+ pAuth = pEnv--;
+ if (( *pEnv->pKey == '\000' )&&
+ ( strcmp( pEnv->pKey+1, "SUEXEC_UGID" ) == 0 ))
+ {
+ --pReq->m_pHeader->m_cntSpecialEnv;
+ uid = *(uint32_t *)pEnv->pValue;
+ gid = *(((uint32_t *)pEnv->pValue) + 1 );
+ //fprintf( stderr, "LSAPI: SUEXEC_UGID set UID: %d, GID: %d\n", uid, gid );
+ }
+ else
+ {
+ fprintf( stderr, "LSAPI: missing SUEXEC_UGID env, use default user!\n" );
+ pEnv = NULL;
+ }
+ if ( pEnv&& lsapi_suexec_auth( pReq, pAuth->pValue, pAuth->valLen, pEnv->pValue, pEnv->valLen ) == 0 )
+ {
+ //read UID, GID from specialEnv
+
+ }
+ else
+ {
+ //authentication error
+ fprintf( stderr, "LSAPI: SUEXEC_AUTH authentication failed, use default user!\n" );
+ uid = 0;
+ }
+ }
+ else
+ {
+ //fprintf( stderr, "LSAPI: no SUEXEC_AUTH env, use default user!\n" );
+ }
+ }
+
+
+ if ( !uid )
+ {
+ uid = s_defaultUid;
+ gid = s_defaultGid;
+ }
+
+ //change uid
+ if ( setUID_LVE( pReq, uid, gid, pChroot ) == -1 )
+ {
+ return -1;
+ }
+
+ s_uid = uid;
+
+ return 0;
+
+}
+
+static int parseContentLenFromHeader(LSAPI_Request * pReq)
+{
+ const char * pContentLen = LSAPI_GetHeader_r( pReq, H_CONTENT_LENGTH );
+ if ( pContentLen )
+ pReq->m_reqBodyLen = strtoll( pContentLen, NULL, 10 );
+ return 0;
+}
+
+
static int parseRequest( LSAPI_Request * pReq, int totalLen )
{
int shouldFixEndian;
@@ -459,29 +978,28 @@ static int parseRequest( LSAPI_Request * pReq, int totalLen )
char * pEnd = pReq->m_pReqBuf + totalLen;
shouldFixEndian = ( LSAPI_ENDIAN != (
pReq->m_pHeader->m_pktHeader.m_flag & LSAPI_ENDIAN_BIT ) );
- if ( shouldFixEndian ) {
+ if ( shouldFixEndian )
+ {
fixEndian( pReq );
}
if ( (pReq->m_specialEnvListSize < pReq->m_pHeader->m_cntSpecialEnv )&&
allocateEnvList( &pReq->m_pSpecialEnvList,
- &pReq->m_specialEnvListSize,
- pReq->m_pHeader->m_cntSpecialEnv ) == -1 ) {
+ &pReq->m_specialEnvListSize,
+ pReq->m_pHeader->m_cntSpecialEnv ) == -1 )
return -1;
- }
if ( (pReq->m_envListSize < pReq->m_pHeader->m_cntEnv )&&
allocateEnvList( &pReq->m_pEnvList, &pReq->m_envListSize,
- pReq->m_pHeader->m_cntEnv ) == -1 ) {
+ pReq->m_pHeader->m_cntEnv ) == -1 )
return -1;
- }
+
if ( parseEnv( pReq->m_pSpecialEnvList,
- pReq->m_pHeader->m_cntSpecialEnv,
- &pBegin, pEnd ) == -1 ) {
+ pReq->m_pHeader->m_cntSpecialEnv,
+ &pBegin, pEnd ) == -1 )
return -1;
- }
if ( parseEnv( pReq->m_pEnvList, pReq->m_pHeader->m_cntEnv,
- &pBegin, pEnd ) == -1 ) {
+ &pBegin, pEnd ) == -1 )
return -1;
- }
+
pReq->m_pScriptFile = pReq->m_pReqBuf + pReq->m_pHeader->m_scriptFileOff;
pReq->m_pScriptName = pReq->m_pReqBuf + pReq->m_pHeader->m_scriptNameOff;
pReq->m_pQueryString = pReq->m_pReqBuf + pReq->m_pHeader->m_queryStringOff;
@@ -497,90 +1015,183 @@ static int parseRequest( LSAPI_Request * pReq, int totalLen )
pReq->m_pHttpHeader = pBegin;
pBegin += pReq->m_pHeader->m_httpHeaderLen;
- if ( pBegin != pEnd ) {
+ if ( pBegin != pEnd )
+ {
+ fprintf( stderr, "%d: request header does match total size, total: %d, real: %ld\n", getpid(), totalLen,
+ pBegin - pReq->m_pReqBuf );
return -1;
}
-
- if ( shouldFixEndian ) {
+ if ( shouldFixEndian )
+ {
fixHeaderIndexEndian( pReq );
}
-
+ pReq->m_reqBodyLen = pReq->m_pHeader->m_reqBodyLen;
+ if ( pReq->m_reqBodyLen == -2 )
+ {
+ parseContentLenFromHeader(pReq);
+ }
+
return 0;
}
-static int s_accept_notify = 0;
+//OPTIMIZATION
+static char s_accept_notify = 0;
+static char s_schedule_notify = 0;
+static char s_notify_scheduled = 0;
+static char s_notified_pid = 0;
-static struct lsapi_packet_header ack = {'L', 'S',
+static struct lsapi_packet_header s_ack = {'L', 'S',
LSAPI_REQ_RECEIVED, LSAPI_ENDIAN, {LSAPI_PACKET_HEADER_LEN} };
-static inline int notify_req_received( int fd )
+
+
+static inline int write_req_received_notification( int fd )
{
- if ( write( fd, &ack, LSAPI_PACKET_HEADER_LEN )
- < LSAPI_PACKET_HEADER_LEN ) {
+ if ( write( fd, &s_ack, LSAPI_PACKET_HEADER_LEN )
+ < LSAPI_PACKET_HEADER_LEN )
return -1;
+ return 0;
+}
+
+static void lsapi_sigalarm( int sig )
+{
+ if ( s_notify_scheduled )
+ {
+ s_notify_scheduled = 0;
+ if ( g_req.m_fd != -1 )
+ write_req_received_notification( g_req.m_fd );
}
+}
+
+static inline int lsapi_schedule_notify()
+{
+ if ( !s_notify_scheduled )
+ {
+ alarm( 2 );
+ s_notify_scheduled = 1;
+ }
+ return 0;
+}
+
+static inline int notify_req_received( int fd )
+{
+ if ( s_schedule_notify )
+ return lsapi_schedule_notify();
+ return write_req_received_notification( fd );
+
+}
+
+
+static inline int lsapi_notify_pid( int fd )
+{
+ char achBuf[16];
+ lsapi_buildPacketHeader( (struct lsapi_packet_header *)achBuf, LSAPI_STDERR_STREAM,
+ 8 + LSAPI_PACKET_HEADER_LEN );
+ memmove( &achBuf[8], "\0PID", 4 );
+ *((int *)&achBuf[12]) = getpid();
+
+ if ( write( fd, achBuf, 16 ) < 16 )
+ return -1;
return 0;
}
+static char s_conn_key_packet[16];
+static inline int init_conn_key( int fd )
+{
+ struct lsapi_packet_header * pHeader = (struct lsapi_packet_header *)s_conn_key_packet;
+ struct timeval tv;
+ int i;
+ gettimeofday( &tv, NULL );
+ srand( (tv.tv_sec % 0x1000 + tv.tv_usec) ^ rand() );
+ for( i = 8; i < 16; ++i )
+ {
+ s_conn_key_packet[i]=(int) (256.0*rand()/(RAND_MAX+1.0));
+ }
+ lsapi_buildPacketHeader( pHeader, LSAPI_REQ_RECEIVED,
+ 8 + LSAPI_PACKET_HEADER_LEN );
+ if ( write( fd, s_conn_key_packet, LSAPI_PACKET_HEADER_LEN+8 )
+ < LSAPI_PACKET_HEADER_LEN+8 )
+ return -1;
+ return 0;
+
+
+}
static int readReq( LSAPI_Request * pReq )
{
int len;
int packetLen;
- if ( !pReq ) {
+ if ( !pReq )
return -1;
- }
- if ( pReq->m_reqBufSize < 8192 ) {
- if ( allocateBuf( pReq, 8192 ) == -1 ) {
+ if ( pReq->m_reqBufSize < 8192 )
+ {
+ if ( allocateBuf( pReq, 8192 ) == -1 )
return -1;
- }
}
- while ( pReq->m_bufRead < LSAPI_PACKET_HEADER_LEN ) {
+ while ( pReq->m_bufRead < LSAPI_PACKET_HEADER_LEN )
+ {
len = lsapi_read( pReq->m_fd, pReq->m_pReqBuf, pReq->m_reqBufSize );
- if ( len <= 0 ) {
+ if ( len <= 0 )
return -1;
- }
pReq->m_bufRead += len;
}
pReq->m_reqState = LSAPI_ST_REQ_HEADER;
packetLen = verifyHeader( &pReq->m_pHeader->m_pktHeader, LSAPI_BEGIN_REQUEST );
- if ( packetLen < 0 ) {
+ if ( packetLen < 0 )
+ {
+ fprintf( stderr, "%d: packetLen < 0\n", getpid() );
return -1;
}
- if ( packetLen > LSAPI_MAX_HEADER_LEN ) {
+ if ( packetLen > LSAPI_MAX_HEADER_LEN )
+ {
+ fprintf( stderr, "%d: packetLen > %d\n", getpid(), LSAPI_MAX_HEADER_LEN );
return -1;
}
- if ( packetLen + 1024 > pReq->m_reqBufSize ) {
- if ( allocateBuf( pReq, packetLen + 1024 ) == -1 ) {
+ if ( packetLen + 1024 > pReq->m_reqBufSize )
+ {
+ if ( allocateBuf( pReq, packetLen + 1024 ) == -1 )
return -1;
- }
}
- while( packetLen > pReq->m_bufRead ) {
+ while( packetLen > pReq->m_bufRead )
+ {
len = lsapi_read( pReq->m_fd, pReq->m_pReqBuf + pReq->m_bufRead, packetLen - pReq->m_bufRead );
- if ( len <= 0 ) {
+ if ( len <= 0 )
return -1;
- }
pReq->m_bufRead += len;
}
- if ( parseRequest( pReq, packetLen ) < 0 ) {
+ if ( parseRequest( pReq, packetLen ) < 0 )
+ {
+ fprintf( stderr, "%d: parseRequest error\n", getpid() );
return -1;
}
- pReq->m_bufProcessed = packetLen;
+
pReq->m_reqState = LSAPI_ST_REQ_BODY | LSAPI_ST_RESP_HEADER;
- if ( !s_accept_notify )
+ if ( !s_uid )
+ if ( lsapi_changeUGid( pReq ) )
+ return -1;
+ pReq->m_bufProcessed = packetLen;
+
+ //OPTIMIZATION
+ if ( !s_accept_notify && !s_notified_pid )
return notify_req_received( pReq->m_fd );
else
+ {
+ s_notified_pid = 0;
return 0;
+ }
}
int LSAPI_Init(void)
{
- if ( !g_inited ) {
+ if ( !g_inited )
+ {
+ s_uid = geteuid();
+ s_pSecret[0] = 0;
lsapi_signal(SIGPIPE, lsapi_sigpipe);
lsapi_signal(SIGUSR1, lsapi_siguser1);
@@ -589,11 +1200,9 @@ int LSAPI_Init(void)
#endif
/* let STDOUT function as STDERR,
just in case writing to STDOUT directly */
- dup2( 2, 1 );
-
- if ( LSAPI_InitRequest( &g_req, LSAPI_SOCK_FILENO ) == -1 ) {
+ dup2( 2, 1 );
+ if ( LSAPI_InitRequest( &g_req, LSAPI_SOCK_FILENO ) == -1 )
return -1;
- }
g_inited = 1;
s_ppid = getppid();
}
@@ -612,28 +1221,35 @@ int LSAPI_IsRunning(void)
int LSAPI_InitRequest( LSAPI_Request * pReq, int fd )
{
- if ( !pReq ) {
+ int newfd;
+ if ( !pReq )
return -1;
- }
memset( pReq, 0, sizeof( LSAPI_Request ) );
- if ( allocateIovec( pReq, 16 ) == -1 ) {
+ if ( allocateIovec( pReq, 16 ) == -1 )
return -1;
- }
pReq->m_pRespBuf = pReq->m_pRespBufPos = (char *)malloc( LSAPI_RESP_BUF_SIZE );
- if ( !pReq->m_pRespBuf ) {
+ if ( !pReq->m_pRespBuf )
return -1;
- }
pReq->m_pRespBufEnd = pReq->m_pRespBuf + LSAPI_RESP_BUF_SIZE;
pReq->m_pIovecCur = pReq->m_pIovecToWrite = pReq->m_pIovec + 1;
pReq->m_respPktHeaderEnd = &pReq->m_respPktHeader[5];
- if ( allocateRespHeaderBuf( pReq, LSAPI_INIT_RESP_HEADER_LEN ) == -1 ) {
+ if ( allocateRespHeaderBuf( pReq, LSAPI_INIT_RESP_HEADER_LEN ) == -1 )
return -1;
- }
-
- if ( isPipe( fd ) ) {
+
+ if ( fd == STDIN_FILENO )
+ {
+ fd = dup( fd );
+ newfd = open( "/dev/null", O_RDWR );
+ dup2( newfd, STDIN_FILENO );
+ }
+
+ if ( isPipe( fd ) )
+ {
pReq->m_fdListen = -1;
pReq->m_fd = fd;
- } else {
+ }
+ else
+ {
pReq->m_fdListen = fd;
pReq->m_fd = -1;
lsapi_set_nblock( fd, 1 );
@@ -659,42 +1275,48 @@ int LSAPI_Accept_r( LSAPI_Request * pReq )
socklen_t len;
int nodelay = 1;
- if ( !pReq ) {
+ if ( !pReq )
return -1;
- }
- if ( LSAPI_Finish_r( pReq ) == -1 ) {
+ if ( LSAPI_Finish_r( pReq ) == -1 )
return -1;
- }
- while( g_running ) {
- if ( pReq->m_fd == -1 ) {
- if ( pReq->m_fdListen != -1) {
+ lsapi_set_nblock( pReq->m_fdListen , 0 );
+ while( g_running )
+ {
+ if ( pReq->m_fd == -1 )
+ {
+ if ( pReq->m_fdListen != -1)
+ {
len = sizeof( achPeer );
pReq->m_fd = accept( pReq->m_fdListen,
(struct sockaddr *)&achPeer, &len );
- if ( pReq->m_fd == -1 ) {
- if (( errno == EINTR )||( errno == EAGAIN)) {
+ if ( pReq->m_fd == -1 )
+ {
+ if (( errno == EINTR )||( errno == EAGAIN))
continue;
- } else {
+ else
return -1;
- }
- } else {
+ }
+ else
+ {
lsapi_set_nblock( pReq->m_fd , 0 );
- if (((struct sockaddr *)&achPeer)->sa_family == AF_INET ) {
+ if (((struct sockaddr *)&achPeer)->sa_family == AF_INET )
+ {
setsockopt(pReq->m_fd, IPPROTO_TCP, TCP_NODELAY,
- (char *)&nodelay, sizeof(nodelay));
+ (char *)&nodelay, sizeof(nodelay));
}
-
+ //init_conn_key( pReq->m_fd );
+ //OPTIMIZATION
if ( s_accept_notify )
- return notify_req_received( pReq->m_fd );
-
+ if ( notify_req_received( pReq->m_fd ) == -1 )
+ return -1;
}
- } else {
- return -1;
}
+ else
+ return -1;
}
- if ( !readReq( pReq ) ) {
+ if ( !readReq( pReq ) )
break;
- }
+ //abort();
lsapi_close( pReq->m_fd );
pReq->m_fd = -1;
LSAPI_Reset_r( pReq );
@@ -708,15 +1330,18 @@ static struct lsapi_packet_header finish = {'L', 'S',
int LSAPI_Finish_r( LSAPI_Request * pReq )
{
/* finish req body */
- if ( !pReq ) {
+ if ( !pReq )
return -1;
- }
- if (pReq->m_reqState) {
- if ( pReq->m_fd != -1 ) {
- if ( pReq->m_reqState & LSAPI_ST_RESP_HEADER ) {
+ if (pReq->m_reqState)
+ {
+ if ( pReq->m_fd != -1 )
+ {
+ if ( pReq->m_reqState & LSAPI_ST_RESP_HEADER )
+ {
LSAPI_FinalizeRespHeaders_r( pReq );
}
- if ( pReq->m_pRespBufPos != pReq->m_pRespBuf ) {
+ if ( pReq->m_pRespBufPos != pReq->m_pRespBuf )
+ {
Flush_RespBuf_r( pReq );
}
@@ -745,18 +1370,14 @@ void LSAPI_Reset_r( LSAPI_Request * pReq )
int LSAPI_Release_r( LSAPI_Request * pReq )
{
- if ( pReq->m_pReqBuf ) {
+ if ( pReq->m_pReqBuf )
free( pReq->m_pReqBuf );
- }
- if ( pReq->m_pSpecialEnvList ) {
+ if ( pReq->m_pSpecialEnvList )
free( pReq->m_pSpecialEnvList );
- }
- if ( pReq->m_pEnvList ) {
+ if ( pReq->m_pEnvList )
free( pReq->m_pEnvList );
- }
- if ( pReq->m_pRespHeaderBuf ) {
+ if ( pReq->m_pRespHeaderBuf )
free( pReq->m_pRespHeaderBuf );
- }
return 0;
}
@@ -764,55 +1385,48 @@ int LSAPI_Release_r( LSAPI_Request * pReq )
char * LSAPI_GetHeader_r( LSAPI_Request * pReq, int headerIndex )
{
int off;
- if ( !pReq || ((unsigned int)headerIndex > H_TRANSFER_ENCODING) ) {
+ if ( !pReq || ((unsigned int)headerIndex > H_TRANSFER_ENCODING) )
return NULL;
- }
off = pReq->m_pHeaderIndex->m_headerOff[ headerIndex ];
- if ( !off ) {
+ if ( !off )
return NULL;
- }
- if ( *(pReq->m_pHttpHeader + off +
- pReq->m_pHeaderIndex->m_headerLen[ headerIndex ]) ) {
- *( pReq->m_pHttpHeader + off +
- pReq->m_pHeaderIndex->m_headerLen[ headerIndex ]) = 0;
- }
+ if ( *(pReq->m_pHttpHeader + off +
+ pReq->m_pHeaderIndex->m_headerLen[ headerIndex ]) )
+ *( pReq->m_pHttpHeader + off +
+ pReq->m_pHeaderIndex->m_headerLen[ headerIndex ]) = 0;
return pReq->m_pHttpHeader + off;
}
static int readBodyToReqBuf( LSAPI_Request * pReq )
{
- int bodyLeft;
- int len = pReq->m_bufRead - pReq->m_bufProcessed;
- if ( len > 0 ) {
+ off_t bodyLeft;
+ ssize_t len = pReq->m_bufRead - pReq->m_bufProcessed;
+ if ( len > 0 )
return len;
- }
pReq->m_bufRead = pReq->m_bufProcessed = pReq->m_pHeader->m_pktHeader.m_packetLen.m_iLen;
- bodyLeft = pReq->m_pHeader->m_reqBodyLen - pReq->m_reqBodyRead;
+ bodyLeft = pReq->m_reqBodyLen - pReq->m_reqBodyRead;
len = pReq->m_reqBufSize - pReq->m_bufRead;
- if ( len < 0 ) {
+ if ( len < 0 )
return -1;
- }
- if ( len > bodyLeft ) {
+ if ( len > bodyLeft )
len = bodyLeft;
- }
+
len = lsapi_read( pReq->m_fd, pReq->m_pReqBuf + pReq->m_bufRead, len );
- if ( len > 0 ) {
+ if ( len > 0 )
pReq->m_bufRead += len;
- }
return len;
}
int LSAPI_ReqBodyGetChar_r( LSAPI_Request * pReq )
{
- if (!pReq || (pReq->m_fd ==-1) ) {
+ if (!pReq || (pReq->m_fd ==-1) )
return EOF;
- }
- if ( pReq->m_bufProcessed >= pReq->m_bufRead ) {
- if ( readBodyToReqBuf( pReq ) <= 0 ) {
+ if ( pReq->m_bufProcessed >= pReq->m_bufRead )
+ {
+ if ( readBodyToReqBuf( pReq ) <= 0 )
return EOF;
- }
}
++pReq->m_reqBodyRead;
return (unsigned char)*(pReq->m_pReqBuf + pReq->m_bufProcessed++);
@@ -820,42 +1434,43 @@ int LSAPI_ReqBodyGetChar_r( LSAPI_Request * pReq )
-int LSAPI_ReqBodyGetLine_r( LSAPI_Request * pReq, char * pBuf, int bufLen, int *getLF )
+int LSAPI_ReqBodyGetLine_r( LSAPI_Request * pReq, char * pBuf, size_t bufLen, int *getLF )
{
- int len;
- int left;
+ ssize_t len;
+ ssize_t left;
char * pBufEnd = pBuf + bufLen - 1;
char * pBufCur = pBuf;
char * pCur;
char * p;
- if (!pReq || (pReq->m_fd ==-1) ||( !pBuf )||(bufLen < 0 )|| !getLF ) {
+ if (!pReq || (pReq->m_fd ==-1) ||( !pBuf )||(bufLen < 0 )|| !getLF )
return -1;
- }
*getLF = 0;
- while( (left = pBufEnd - pBufCur ) > 0 ) {
+ while( (left = pBufEnd - pBufCur ) > 0 )
+ {
len = pReq->m_bufRead - pReq->m_bufProcessed;
- if ( len <= 0 ) {
- if ( (len = readBodyToReqBuf( pReq )) <= 0 ) {
+ if ( len <= 0 )
+ {
+ if ( (len = readBodyToReqBuf( pReq )) <= 0 )
+ {
*getLF = 1;
break;
}
}
- if ( len > left ) {
+ if ( len > left )
len = left;
- }
pCur = pReq->m_pReqBuf + pReq->m_bufProcessed;
p = memchr( pCur, '\n', len );
- if ( p ) {
+ if ( p )
len = p - pCur + 1;
- }
memmove( pBufCur, pCur, len );
pBufCur += len;
pReq->m_bufProcessed += len;
pReq->m_reqBodyRead += len;
- if ( p ) {
+ if ( p )
+ {
*getLF = 1;
break;
}
@@ -866,48 +1481,47 @@ int LSAPI_ReqBodyGetLine_r( LSAPI_Request * pReq, char * pBuf, int bufLen, int *
}
-int LSAPI_ReadReqBody_r( LSAPI_Request * pReq, char * pBuf, int bufLen )
+ssize_t LSAPI_ReadReqBody_r( LSAPI_Request * pReq, char * pBuf, size_t bufLen )
{
- int len;
- int total;
+ ssize_t len;
+ off_t total;
/* char *pOldBuf = pBuf; */
- if (!pReq || (pReq->m_fd ==-1) || ( !pBuf )||(bufLen < 0 )) {
+ if (!pReq || (pReq->m_fd ==-1) || ( !pBuf )||(bufLen < 0 ))
return -1;
- }
- total = pReq->m_pHeader->m_reqBodyLen - pReq->m_reqBodyRead;
+
+ total = pReq->m_reqBodyLen - pReq->m_reqBodyRead;
- if ( total <= 0 ) {
+ if ( total <= 0 )
return 0;
- }
- if ( total < bufLen ) {
+ if ( total < bufLen )
bufLen = total;
- }
total = 0;
len = pReq->m_bufRead - pReq->m_bufProcessed;
- if ( len > 0 ) {
- if ( len > bufLen ) {
+ if ( len > 0 )
+ {
+ if ( len > bufLen )
len = bufLen;
- }
memmove( pBuf, pReq->m_pReqBuf + pReq->m_bufProcessed, len );
pReq->m_bufProcessed += len;
total += len;
pBuf += len;
bufLen -= len;
}
- while( bufLen > 0 ) {
+ while( bufLen > 0 )
+ {
len = lsapi_read( pReq->m_fd, pBuf, bufLen );
- if ( len > 0 ) {
+ if ( len > 0 )
+ {
total += len;
pBuf += len;
bufLen -= len;
- } else {
- if ( len <= 0 ) {
- if ( !total) {
- return -1;
- }
- break;
- }
+ }
+ else if ( len <= 0 )
+ {
+ if ( !total)
+ return -1;
+ break;
}
}
pReq->m_reqBodyRead += total;
@@ -916,37 +1530,52 @@ int LSAPI_ReadReqBody_r( LSAPI_Request * pReq, char * pBuf, int bufLen )
}
-int LSAPI_Write_r( LSAPI_Request * pReq, const char * pBuf, int len )
+ssize_t LSAPI_Write_r( LSAPI_Request * pReq, const char * pBuf, size_t len )
{
struct lsapi_packet_header * pHeader;
const char * pEnd;
const char * p;
- int bufLen;
- int toWrite;
- int packetLen;
+ ssize_t bufLen;
+ ssize_t toWrite;
+ ssize_t packetLen;
+ int skip = 0;
- if ( !pReq || !pBuf || (pReq->m_fd == -1) ) {
+ if ( !pReq || !pBuf || (pReq->m_fd == -1) )
return -1;
+ if ( pReq->m_reqState & LSAPI_ST_RESP_HEADER )
+ {
+ LSAPI_FinalizeRespHeaders_r( pReq );
+/*
+ if ( *pBuf == '\r' )
+ {
+ ++skip;
+ }
+ if ( *pBuf == '\n' )
+ {
+ ++skip;
+ }
+*/
}
- if ( len < pReq->m_pRespBufEnd - pReq->m_pRespBufPos ) {
- memmove( pReq->m_pRespBufPos, pBuf, len );
- pReq->m_pRespBufPos += len;
+ pReq->m_reqState |= LSAPI_ST_RESP_BODY;
+
+ if ( (len - skip) < pReq->m_pRespBufEnd - pReq->m_pRespBufPos )
+ {
+ memmove( pReq->m_pRespBufPos, pBuf + skip, len - skip );
+ pReq->m_pRespBufPos += len - skip;
return len;
}
- if ( pReq->m_reqState & LSAPI_ST_RESP_HEADER ) {
- LSAPI_FinalizeRespHeaders_r( pReq );
- }
- pReq->m_reqState |= LSAPI_ST_RESP_BODY;
pHeader = pReq->m_respPktHeader;
- p = pBuf;
+ p = pBuf + skip;
pEnd = pBuf + len;
bufLen = pReq->m_pRespBufPos - pReq->m_pRespBuf;
- while( ( toWrite = pEnd - p ) > 0 ) {
+ while( ( toWrite = pEnd - p ) > 0 )
+ {
packetLen = toWrite + bufLen;
- if ( LSAPI_MAX_DATA_PACKET_LEN < packetLen) {
+ if ( LSAPI_MAX_DATA_PACKET_LEN < packetLen)
+ {
packetLen = LSAPI_MAX_DATA_PACKET_LEN;
toWrite = packetLen - bufLen;
}
@@ -959,7 +1588,8 @@ int LSAPI_Write_r( LSAPI_Request * pReq, const char * pBuf, int len )
pReq->m_pIovecCur->iov_len = LSAPI_PACKET_HEADER_LEN;
++pReq->m_pIovecCur;
++pHeader;
- if ( bufLen > 0 ) {
+ if ( bufLen > 0 )
+ {
pReq->m_pIovecCur->iov_base = (void *)pReq->m_pRespBuf;
pReq->m_pIovecCur->iov_len = bufLen;
pReq->m_pRespBufPos = pReq->m_pRespBuf;
@@ -972,21 +1602,108 @@ int LSAPI_Write_r( LSAPI_Request * pReq, const char * pBuf, int len )
++pReq->m_pIovecCur;
p += toWrite;
- if ( pHeader >= pReq->m_respPktHeaderEnd - 1) {
- if ( LSAPI_Flush_r( pReq ) == -1 ) {
+ if ( pHeader >= pReq->m_respPktHeaderEnd - 1)
+ {
+ if ( LSAPI_Flush_r( pReq ) == -1 )
return -1;
- }
pHeader = pReq->m_respPktHeader;
}
}
- if ( pHeader != pReq->m_respPktHeader ) {
- if ( LSAPI_Flush_r( pReq ) == -1 ) {
+ if ( pHeader != pReq->m_respPktHeader )
+ if ( LSAPI_Flush_r( pReq ) == -1 )
return -1;
- }
- }
return p - pBuf;
}
+#if defined(__FreeBSD__ ) || defined(__NetBSD__) || defined(__OpenBSD__)
+ssize_t gsendfile( int fdOut, int fdIn, off_t* off, size_t size )
+{
+ ssize_t ret;
+ off_t written;
+ ret = sendfile( fdIn, fdOut, *off, size, NULL, &written, 0 );
+ if ( written > 0 )
+ {
+ ret = written;
+ *off += ret;
+ }
+ return ret;
+}
+#endif
+
+#if defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
+ssize_t gsendfile( int fdOut, int fdIn, off_t* off, size_t size )
+{
+ ssize_t ret;
+ off_t len = size;
+ ret = sendfile( fdIn, fdOut, *off, &len, NULL, 0 );
+ if (( ret == 0 )&&( len > 0 ))
+ {
+ ret = len;
+ *off += len;
+ }
+ return ret;
+}
+#endif
+
+#if defined(sun) || defined(__sun)
+#include <sys/sendfile.h>
+ssize_t gsendfile( int fdOut, int fdIn, off_t *off, size_t size )
+{
+ int n = 0 ;
+ sendfilevec_t vec[1];
+
+ vec[n].sfv_fd = fdIn;
+ vec[n].sfv_flag = 0;
+ vec[n].sfv_off = *off;
+ vec[n].sfv_len = size;
+ ++n;
+
+ size_t written;
+ ssize_t ret = sendfilev( fdOut, vec, n, &written );
+ if (( !ret )||( errno == EAGAIN ))
+ ret = written;
+ if ( ret > 0 )
+ *off += ret;
+ return ret;
+}
+#endif
+
+#if defined(linux) || defined(__linux) || defined(__linux__) || \
+ defined(__gnu_linux__)
+#include <sys/sendfile.h>
+#define gsendfile sendfile
+#endif
+#if defined(HPUX)
+ssize_t gsendfile( int fdOut, int fdIn, off_t * off, size_t size )
+{
+ return sendfile( fdOut, fdIn, off, size, NULL, 0 );
+}
+#endif
+
+ssize_t LSAPI_sendfile_r( LSAPI_Request * pReq, int fdIn, off_t* off, size_t size )
+{
+ struct lsapi_packet_header * pHeader = pReq->m_respPktHeader;
+ if ( !pReq || (pReq->m_fd == -1) || fdIn == -1 )
+ return -1;
+ if ( pReq->m_reqState & LSAPI_ST_RESP_HEADER )
+ {
+ LSAPI_FinalizeRespHeaders_r( pReq );
+ }
+ pReq->m_reqState |= LSAPI_ST_RESP_BODY;
+
+ LSAPI_Flush_r(pReq);
+
+ lsapi_buildPacketHeader( pHeader, LSAPI_RESP_STREAM,
+ size + LSAPI_PACKET_HEADER_LEN );
+
+
+ if (write(pReq->m_fd, (const char *) pHeader, LSAPI_PACKET_HEADER_LEN ) != LSAPI_PACKET_HEADER_LEN)
+ return -1;
+
+ return gsendfile( pReq->m_fd, fdIn, off, size );
+}
+
+
void Flush_RespBuf_r( LSAPI_Request * pReq )
{
struct lsapi_packet_header * pHeader = pReq->m_respPktHeader;
@@ -1000,7 +1717,8 @@ void Flush_RespBuf_r( LSAPI_Request * pReq )
pReq->m_pIovecCur->iov_len = LSAPI_PACKET_HEADER_LEN;
++pReq->m_pIovecCur;
++pHeader;
- if ( bufLen > 0 ) {
+ if ( bufLen > 0 )
+ {
pReq->m_pIovecCur->iov_base = (void *)pReq->m_pRespBuf;
pReq->m_pIovecCur->iov_len = bufLen;
pReq->m_pRespBufPos = pReq->m_pRespBuf;
@@ -1016,32 +1734,35 @@ int LSAPI_Flush_r( LSAPI_Request * pReq )
{
int ret = 0;
int n;
- if ( !pReq ) {
+ if ( !pReq )
return -1;
- }
n = pReq->m_pIovecCur - pReq->m_pIovecToWrite;
- if (( 0 == n )&&( pReq->m_pRespBufPos == pReq->m_pRespBuf )) {
+ if (( 0 == n )&&( pReq->m_pRespBufPos == pReq->m_pRespBuf ))
return 0;
- }
- if ( pReq->m_fd == -1 ) {
+ if ( pReq->m_fd == -1 )
+ {
pReq->m_pRespBufPos = pReq->m_pRespBuf;
pReq->m_totalLen = 0;
pReq->m_pIovecCur = pReq->m_pIovecToWrite = pReq->m_pIovec;
return -1;
}
- if ( pReq->m_reqState & LSAPI_ST_RESP_HEADER ) {
+ if ( pReq->m_reqState & LSAPI_ST_RESP_HEADER )
+ {
LSAPI_FinalizeRespHeaders_r( pReq );
}
- if ( pReq->m_pRespBufPos != pReq->m_pRespBuf ) {
+ if ( pReq->m_pRespBufPos != pReq->m_pRespBuf )
+ {
Flush_RespBuf_r( pReq );
}
n = pReq->m_pIovecCur - pReq->m_pIovecToWrite;
- if ( n > 0 ) {
+ if ( n > 0 )
+ {
ret = lsapi_writev( pReq->m_fd, &pReq->m_pIovecToWrite,
n, pReq->m_totalLen );
- if ( ret < pReq->m_totalLen ) {
+ if ( ret < pReq->m_totalLen )
+ {
lsapi_close( pReq->m_fd );
pReq->m_fd = -1;
ret = -1;
@@ -1053,32 +1774,33 @@ int LSAPI_Flush_r( LSAPI_Request * pReq )
}
-int LSAPI_Write_Stderr_r( LSAPI_Request * pReq, const char * pBuf, int len )
+ssize_t LSAPI_Write_Stderr_r( LSAPI_Request * pReq, const char * pBuf, size_t len )
{
struct lsapi_packet_header header;
const char * pEnd;
const char * p;
- int packetLen;
- int totalLen;
+ ssize_t packetLen;
+ ssize_t totalLen;
int ret;
struct iovec iov[2];
struct iovec *pIov;
- if ( !pReq ) {
+ if ( !pReq )
return -1;
- }
- if (( pReq->m_fd == -1 )||(pReq->m_fd == pReq->m_fdListen )) {
+ if (( pReq->m_fd == -1 )||(pReq->m_fd == pReq->m_fdListen ))
return write( 2, pBuf, len );
- }
- if ( pReq->m_pRespBufPos != pReq->m_pRespBuf ) {
+ if ( pReq->m_pRespBufPos != pReq->m_pRespBuf )
+ {
LSAPI_Flush_r( pReq );
}
p = pBuf;
pEnd = pBuf + len;
- while( ( packetLen = pEnd - p ) > 0 ) {
- if ( LSAPI_MAX_DATA_PACKET_LEN < packetLen) {
+ while( ( packetLen = pEnd - p ) > 0 )
+ {
+ if ( LSAPI_MAX_DATA_PACKET_LEN < packetLen)
+ {
packetLen = LSAPI_MAX_DATA_PACKET_LEN;
}
@@ -1095,7 +1817,8 @@ int LSAPI_Write_Stderr_r( LSAPI_Request * pReq, const char * pBuf, int len )
pIov = iov;
ret = lsapi_writev( pReq->m_fd, &pIov,
2, totalLen );
- if ( ret < totalLen ) {
+ if ( ret < totalLen )
+ {
lsapi_close( pReq->m_fd );
pReq->m_fd = -1;
ret = -1;
@@ -1107,14 +1830,16 @@ int LSAPI_Write_Stderr_r( LSAPI_Request * pReq, const char * pBuf, int len )
static char * GetHeaderVar( LSAPI_Request * pReq, const char * name )
{
int i;
- for( i = 0; i < H_TRANSFER_ENCODING; ++i ) {
- if ( pReq->m_pHeaderIndex->m_headerOff[i] ) {
- if ( strcmp( name, CGI_HEADERS[i] ) == 0 ) {
+ for( i = 0; i < H_TRANSFER_ENCODING; ++i )
+ {
+ if ( pReq->m_pHeaderIndex->m_headerOff[i] )
+ {
+ if ( strcmp( name, CGI_HEADERS[i] ) == 0 )
return pReq->m_pHttpHeader + pReq->m_pHeaderIndex->m_headerOff[i];
- }
}
}
- if ( pReq->m_pHeader->m_cntUnknownHeaders > 0 ) {
+ if ( pReq->m_pHeader->m_cntUnknownHeaders > 0 )
+ {
const char *p;
char *pKey;
char *pKeyEnd;
@@ -1122,22 +1847,22 @@ static char * GetHeaderVar( LSAPI_Request * pReq, const char * name )
struct lsapi_header_offset * pCur, *pEnd;
pCur = pReq->m_pUnknownHeader;
pEnd = pCur + pReq->m_pHeader->m_cntUnknownHeaders;
- while( pCur < pEnd ) {
+ while( pCur < pEnd )
+ {
pKey = pReq->m_pHttpHeader + pCur->nameOff;
keyLen = pCur->nameLen;
pKeyEnd = pKey + keyLen;
p = &name[5];
- while(( pKey < pKeyEnd )&&( *p )) {
+ while(( pKey < pKeyEnd )&&( *p ))
+ {
char ch = toupper( *pKey );
- if ((ch != *p )||(( *p == '_' )&&( ch != '-'))) {
+ if ((ch != *p )||(( *p == '_' )&&( ch != '-')))
break;
- }
++p; ++pKey;
}
- if (( pKey == pKeyEnd )&& (!*p )) {
+ if (( pKey == pKeyEnd )&& (!*p ))
return pReq->m_pHttpHeader + pCur->valueOff;
- }
++pCur;
}
}
@@ -1149,21 +1874,35 @@ char * LSAPI_GetEnv_r( LSAPI_Request * pReq, const char * name )
{
struct LSAPI_key_value_pair * pBegin = pReq->m_pEnvList;
struct LSAPI_key_value_pair * pEnd = pBegin + pReq->m_pHeader->m_cntEnv;
- if ( !pReq || !name ) {
+ if ( !pReq || !name )
return NULL;
- }
- if ( strncmp( name, "HTTP_", 5 ) == 0 ) {
+ if ( strncmp( name, "HTTP_", 5 ) == 0 )
+ {
return GetHeaderVar( pReq, name );
}
- while( pBegin < pEnd ) {
- if ( strcmp( name, pBegin->pKey ) == 0 ) {
+ while( pBegin < pEnd )
+ {
+ if ( strcmp( name, pBegin->pKey ) == 0 )
return pBegin->pValue;
- }
++pBegin;
}
return NULL;
}
+struct _headerInfo
+{
+ const char * _name;
+ int _nameLen;
+ const char * _value;
+ int _valueLen;
+};
+
+int compareValueLocation(const void * v1, const void *v2 )
+{
+ return ((const struct _headerInfo *)v1)->_value -
+ ((const struct _headerInfo *)v2)->_value;
+}
+
int LSAPI_ForeachOrgHeader_r( LSAPI_Request * pReq,
LSAPI_CB_EnvHandler fn, void * arg )
{
@@ -1172,43 +1911,67 @@ int LSAPI_ForeachOrgHeader_r( LSAPI_Request * pReq,
char * pValue;
int ret;
int count = 0;
- if ( !pReq || !fn ) {
+ struct _headerInfo headers[512];
+ if ( !pReq || !fn )
return -1;
- }
- for( i = 0; i < H_TRANSFER_ENCODING; ++i ) {
- if ( pReq->m_pHeaderIndex->m_headerOff[i] ) {
+
+ for( i = 0; i < H_TRANSFER_ENCODING; ++i )
+ {
+ if ( pReq->m_pHeaderIndex->m_headerOff[i] )
+ {
len = pReq->m_pHeaderIndex->m_headerLen[i];
pValue = pReq->m_pHttpHeader + pReq->m_pHeaderIndex->m_headerOff[i];
*(pValue + len ) = 0;
- ret = (*fn)( HTTP_HEADERS[i], HTTP_HEADER_LEN[i],
- pValue, len, arg );
+ headers[count]._name = HTTP_HEADERS[i];
+ headers[count]._nameLen = HTTP_HEADER_LEN[i];
+ headers[count]._value = pValue;
+ headers[count]._valueLen = len;
++count;
- if ( ret <= 0 ) {
- return ret;
- }
+
+ //ret = (*fn)( HTTP_HEADERS[i], HTTP_HEADER_LEN[i],
+ // pValue, len, arg );
+ //if ( ret <= 0 )
+ // return ret;
}
}
- if ( pReq->m_pHeader->m_cntUnknownHeaders > 0 ) {
+ if ( pReq->m_pHeader->m_cntUnknownHeaders > 0 )
+ {
char *pKey;
int keyLen;
struct lsapi_header_offset * pCur, *pEnd;
pCur = pReq->m_pUnknownHeader;
pEnd = pCur + pReq->m_pHeader->m_cntUnknownHeaders;
- while( pCur < pEnd ) {
+ while( pCur < pEnd )
+ {
pKey = pReq->m_pHttpHeader + pCur->nameOff;
keyLen = pCur->nameLen;
+ *(pKey + keyLen ) = 0;
pValue = pReq->m_pHttpHeader + pCur->valueOff;
*(pValue + pCur->valueLen ) = 0;
- ret = (*fn)( pKey, keyLen,
- pValue, pCur->valueLen, arg );
- if ( ret <= 0 ) {
- return ret;
- }
+ headers[count]._name = pKey;
+ headers[count]._nameLen = keyLen;
+ headers[count]._value = pValue;
+ headers[count]._valueLen = pCur->valueLen;
+ ++count;
+ if ( count == 512 )
+ break;
+ //ret = (*fn)( pKey, keyLen,
+ // pValue, pCur->valueLen, arg );
+ //if ( ret <= 0 )
+ // return ret;
++pCur;
}
}
- return count + pReq->m_pHeader->m_cntUnknownHeaders;
+ qsort( headers, count, sizeof( struct _headerInfo ), compareValueLocation );
+ for( i = 0; i < count; ++i )
+ {
+ ret = (*fn)( headers[i]._name, headers[i]._nameLen,
+ headers[i]._value, headers[i]._valueLen, arg );
+ if ( ret <= 0 )
+ return ret;
+ }
+ return count;
}
@@ -1221,23 +1984,24 @@ int LSAPI_ForeachHeader_r( LSAPI_Request * pReq,
char * pValue;
int ret;
int count = 0;
- if ( !pReq || !fn ) {
+ if ( !pReq || !fn )
return -1;
- }
- for( i = 0; i < H_TRANSFER_ENCODING; ++i ) {
- if ( pReq->m_pHeaderIndex->m_headerOff[i] ) {
+ for( i = 0; i < H_TRANSFER_ENCODING; ++i )
+ {
+ if ( pReq->m_pHeaderIndex->m_headerOff[i] )
+ {
len = pReq->m_pHeaderIndex->m_headerLen[i];
pValue = pReq->m_pHttpHeader + pReq->m_pHeaderIndex->m_headerOff[i];
*(pValue + len ) = 0;
ret = (*fn)( CGI_HEADERS[i], CGI_HEADER_LEN[i],
pValue, len, arg );
++count;
- if ( ret <= 0 ) {
+ if ( ret <= 0 )
return ret;
- }
}
}
- if ( pReq->m_pHeader->m_cntUnknownHeaders > 0 ) {
+ if ( pReq->m_pHeader->m_cntUnknownHeaders > 0 )
+ {
char achHeaderName[256];
char *p;
char *pKey;
@@ -1246,24 +2010,23 @@ int LSAPI_ForeachHeader_r( LSAPI_Request * pReq,
struct lsapi_header_offset * pCur, *pEnd;
pCur = pReq->m_pUnknownHeader;
pEnd = pCur + pReq->m_pHeader->m_cntUnknownHeaders;
- while( pCur < pEnd ) {
+ while( pCur < pEnd )
+ {
pKey = pReq->m_pHttpHeader + pCur->nameOff;
keyLen = pCur->nameLen;
- if ( keyLen > 250 ) {
+ if ( keyLen > 250 )
keyLen = 250;
- }
-
pKeyEnd = pKey + keyLen;
memcpy( achHeaderName, "HTTP_", 5 );
p = &achHeaderName[5];
- while( pKey < pKeyEnd ) {
+ while( pKey < pKeyEnd )
+ {
char ch = *pKey++;
- if ( ch == '-' ) {
+ if ( ch == '-' )
*p++ = '_';
- } else {
+ else
*p++ = toupper( ch );
- }
}
*p = 0;
keyLen += 5;
@@ -1272,9 +2035,8 @@ int LSAPI_ForeachHeader_r( LSAPI_Request * pReq,
*(pValue + pCur->valueLen ) = 0;
ret = (*fn)( achHeaderName, keyLen,
pValue, pCur->valueLen, arg );
- if ( ret <= 0 ) {
+ if ( ret <= 0 )
return ret;
- }
++pCur;
}
}
@@ -1287,15 +2049,14 @@ static int EnvForeach( struct LSAPI_key_value_pair * pEnv,
{
struct LSAPI_key_value_pair * pEnd = pEnv + n;
int ret;
- if ( !pEnv || !fn ) {
+ if ( !pEnv || !fn )
return -1;
- }
- while( pEnv < pEnd ) {
+ while( pEnv < pEnd )
+ {
ret = (*fn)( pEnv->pKey, pEnv->keyLen,
pEnv->pValue, pEnv->valLen, arg );
- if ( ret <= 0 ) {
+ if ( ret <= 0 )
return ret;
- }
++pEnv;
}
return n;
@@ -1306,10 +2067,10 @@ static int EnvForeach( struct LSAPI_key_value_pair * pEnv,
int LSAPI_ForeachEnv_r( LSAPI_Request * pReq,
LSAPI_CB_EnvHandler fn, void * arg )
{
- if ( !pReq || !fn ) {
+ if ( !pReq || !fn )
return -1;
- }
- if ( pReq->m_pHeader->m_cntEnv > 0 ) {
+ if ( pReq->m_pHeader->m_cntEnv > 0 )
+ {
return EnvForeach( pReq->m_pEnvList, pReq->m_pHeader->m_cntEnv,
fn, arg );
}
@@ -1321,10 +2082,10 @@ int LSAPI_ForeachEnv_r( LSAPI_Request * pReq,
int LSAPI_ForeachSpecialEnv_r( LSAPI_Request * pReq,
LSAPI_CB_EnvHandler fn, void * arg )
{
- if ( !pReq || !fn ) {
+ if ( !pReq || !fn )
return -1;
- }
- if ( pReq->m_pHeader->m_cntSpecialEnv > 0 ) {
+ if ( pReq->m_pHeader->m_cntSpecialEnv > 0 )
+ {
return EnvForeach( pReq->m_pSpecialEnvList,
pReq->m_pHeader->m_cntSpecialEnv,
fn, arg );
@@ -1337,14 +2098,13 @@ int LSAPI_ForeachSpecialEnv_r( LSAPI_Request * pReq,
int LSAPI_FinalizeRespHeaders_r( LSAPI_Request * pReq )
{
- if ( !pReq || !pReq->m_pIovec ) {
+ if ( !pReq || !pReq->m_pIovec )
return -1;
- }
- if ( !( pReq->m_reqState & LSAPI_ST_RESP_HEADER ) ) {
+ if ( !( pReq->m_reqState & LSAPI_ST_RESP_HEADER ) )
return 0;
- }
pReq->m_reqState &= ~LSAPI_ST_RESP_HEADER;
- if ( pReq->m_pRespHeaderBufPos > pReq->m_pRespHeaderBuf ) {
+ if ( pReq->m_pRespHeaderBufPos > pReq->m_pRespHeaderBuf )
+ {
pReq->m_pIovecCur->iov_base = (void *)pReq->m_pRespHeaderBuf;
pReq->m_pIovecCur->iov_len = pReq->m_pRespHeaderBufPos - pReq->m_pRespHeaderBuf;
pReq->m_totalLen += pReq->m_pIovecCur->iov_len;
@@ -1363,25 +2123,87 @@ int LSAPI_FinalizeRespHeaders_r( LSAPI_Request * pReq )
}
-
-
-int LSAPI_AppendRespHeader_r( LSAPI_Request * pReq, char * pBuf, int len )
+int LSAPI_AppendRespHeader2_r( LSAPI_Request * pReq, const char * pHeaderName,
+ const char * pHeaderValue )
{
- if ( !pReq || !pBuf || len <= 0 || len > LSAPI_RESP_HTTP_HEADER_MAX ) {
+ int nameLen, valLen, len;
+ if ( !pReq || !pHeaderName || !pHeaderValue )
return -1;
+ if ( pReq->m_reqState & LSAPI_ST_RESP_BODY )
+ return -1;
+ if ( pReq->m_respHeader.m_respInfo.m_cntHeaders >= LSAPI_MAX_RESP_HEADERS )
+ return -1;
+ nameLen = strlen( pHeaderName );
+ valLen = strlen( pHeaderValue );
+ if ( nameLen == 0 )
+ return -1;
+ while( nameLen > 0 )
+ {
+ char ch = *(pHeaderName + nameLen - 1 );
+ if (( ch == '\n' )||( ch == '\r' ))
+ --nameLen;
+ else
+ break;
}
- if ( pReq->m_reqState & LSAPI_ST_RESP_BODY ) {
+ if ( nameLen <= 0 )
+ return 0;
+ while( valLen > 0 )
+ {
+ char ch = *(pHeaderValue + valLen - 1 );
+ if (( ch == '\n' )||( ch == '\r' ))
+ --valLen;
+ else
+ break;
+ }
+ len = nameLen + valLen + 1;
+ if ( len > LSAPI_RESP_HTTP_HEADER_MAX )
return -1;
+
+ if ( pReq->m_pRespHeaderBufPos + len + 1 > pReq->m_pRespHeaderBufEnd )
+ {
+ int newlen = pReq->m_pRespHeaderBufPos + len + 4096 - pReq->m_pRespHeaderBuf;
+ newlen -= newlen % 4096;
+ if ( allocateRespHeaderBuf( pReq, newlen ) == -1 )
+ return -1;
}
- if ( pReq->m_respHeader.m_respInfo.m_cntHeaders >= LSAPI_MAX_RESP_HEADERS ) {
+ memmove( pReq->m_pRespHeaderBufPos, pHeaderName, nameLen );
+ pReq->m_pRespHeaderBufPos += nameLen;
+ *pReq->m_pRespHeaderBufPos++ = ':';
+ memmove( pReq->m_pRespHeaderBufPos, pHeaderValue, valLen );
+ pReq->m_pRespHeaderBufPos += valLen;
+ *pReq->m_pRespHeaderBufPos++ = 0;
+ ++len; /* add one byte padding for \0 */
+ pReq->m_respHeaderLen[pReq->m_respHeader.m_respInfo.m_cntHeaders] = len;
+ ++pReq->m_respHeader.m_respInfo.m_cntHeaders;
+ return 0;
+}
+
+
+
+int LSAPI_AppendRespHeader_r( LSAPI_Request * pReq, const char * pBuf, int len )
+{
+ if ( !pReq || !pBuf || len <= 0 || len > LSAPI_RESP_HTTP_HEADER_MAX )
+ return -1;
+ if ( pReq->m_reqState & LSAPI_ST_RESP_BODY )
+ return -1;
+ if ( pReq->m_respHeader.m_respInfo.m_cntHeaders >= LSAPI_MAX_RESP_HEADERS )
return -1;
+ while( len > 0 )
+ {
+ char ch = *(pBuf + len - 1 );
+ if (( ch == '\n' )||( ch == '\r' ))
+ --len;
+ else
+ break;
}
- if ( pReq->m_pRespHeaderBufPos + len + 1 > pReq->m_pRespHeaderBufEnd ) {
+ if ( len <= 0 )
+ return 0;
+ if ( pReq->m_pRespHeaderBufPos + len + 1 > pReq->m_pRespHeaderBufEnd )
+ {
int newlen = pReq->m_pRespHeaderBufPos + len + 4096 - pReq->m_pRespHeaderBuf;
newlen -= newlen % 4096;
- if ( allocateRespHeaderBuf( pReq, newlen ) == -1 ) {
+ if ( allocateRespHeaderBuf( pReq, newlen ) == -1 )
return -1;
- }
}
memmove( pReq->m_pRespHeaderBufPos, pBuf, len );
pReq->m_pRespHeaderBufPos += len;
@@ -1400,7 +2222,8 @@ int LSAPI_CreateListenSock2( const struct sockaddr * pServerAddr, int backlog )
int flag = 1;
int addr_len;
- switch( pServerAddr->sa_family ) {
+ switch( pServerAddr->sa_family )
+ {
case AF_INET:
addr_len = 16;
break;
@@ -1416,20 +2239,20 @@ int LSAPI_CreateListenSock2( const struct sockaddr * pServerAddr, int backlog )
}
fd = socket( pServerAddr->sa_family, SOCK_STREAM, 0 );
- if ( fd == -1 ) {
+ if ( fd == -1 )
return -1;
- }
fcntl( fd, F_SETFD, FD_CLOEXEC );
if(setsockopt( fd, SOL_SOCKET, SO_REUSEADDR,
- (char *)( &flag ), sizeof(flag)) == 0) {
+ (char *)( &flag ), sizeof(flag)) == 0)
+ {
ret = bind( fd, pServerAddr, addr_len );
- if ( !ret ) {
+ if ( !ret )
+ {
ret = listen( fd, backlog );
- if ( !ret ) {
+ if ( !ret )
return fd;
- }
}
}
@@ -1449,17 +2272,16 @@ int LSAPI_ParseSockAddr( const char * pBind, struct sockaddr * pAddr )
int doAddrInfo = 0;
int port;
- if ( !pBind ) {
+ if ( !pBind )
return -1;
- }
- while( isspace( *pBind ) ) {
+ while( isspace( *pBind ) )
++pBind;
- }
strncpy( achAddr, pBind, 256 );
- switch( *p ) {
+ switch( *p )
+ {
case '/':
pAddr->sa_family = AF_UNIX;
strncpy( ((struct sockaddr_un *)pAddr)->sun_path, p,
@@ -1474,7 +2296,8 @@ int LSAPI_ParseSockAddr( const char * pBind, struct sockaddr * pAddr )
return -1;
*pEnd++ = 0;
- if ( *p == '*' ) {
+ if ( *p == '*' )
+ {
strcpy( achAddr, "::" );
p = achAddr;
}
@@ -1484,35 +2307,35 @@ int LSAPI_ParseSockAddr( const char * pBind, struct sockaddr * pAddr )
default:
pAddr->sa_family = AF_INET;
pEnd = strchr( p, ':' );
- if ( !pEnd ) {
+ if ( !pEnd )
return -1;
- }
*pEnd++ = 0;
doAddrInfo = 0;
- if ( *p == '*' ) {
+ if ( *p == '*' )
+ {
((struct sockaddr_in *)pAddr)->sin_addr.s_addr = htonl(INADDR_ANY);
- } else {
- if (!strcasecmp( p, "localhost" ) ) {
- ((struct sockaddr_in *)pAddr)->sin_addr.s_addr = htonl( INADDR_LOOPBACK );
- } else {
- ((struct sockaddr_in *)pAddr)->sin_addr.s_addr = inet_addr( p );
- if ( ((struct sockaddr_in *)pAddr)->sin_addr.s_addr == INADDR_BROADCAST) {
- doAddrInfo = 1;
- }
+ }
+ else if (!strcasecmp( p, "localhost" ) )
+ ((struct sockaddr_in *)pAddr)->sin_addr.s_addr = htonl( INADDR_LOOPBACK );
+ else
+ {
+ ((struct sockaddr_in *)pAddr)->sin_addr.s_addr = inet_addr( p );
+ if ( ((struct sockaddr_in *)pAddr)->sin_addr.s_addr == INADDR_BROADCAST)
+ {
+ doAddrInfo = 1;
}
}
break;
}
- if ( *pEnd == ':' ) {
+ if ( *pEnd == ':' )
++pEnd;
- }
port = atoi( pEnd );
- if (( port <= 0 )||( port > 65535 )) {
+ if (( port <= 0 )||( port > 65535 ))
return -1;
- }
- if ( doAddrInfo ) {
+ if ( doAddrInfo )
+ {
memset(&hints, 0, sizeof(hints));
@@ -1520,7 +2343,8 @@ int LSAPI_ParseSockAddr( const char * pBind, struct sockaddr * pAddr )
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
- if ( getaddrinfo(p, NULL, &hints, &res) ) {
+ if ( getaddrinfo(p, NULL, &hints, &res) )
+ {
return -1;
}
@@ -1528,11 +2352,10 @@ int LSAPI_ParseSockAddr( const char * pBind, struct sockaddr * pAddr )
freeaddrinfo(res);
}
- if ( pAddr->sa_family == AF_INET ) {
+ if ( pAddr->sa_family == AF_INET )
((struct sockaddr_in *)pAddr)->sin_port = htons( port );
- } else {
+ else
((struct sockaddr_in6 *)pAddr)->sin6_port = htons( port );
- }
return 0;
}
@@ -1543,7 +2366,8 @@ int LSAPI_CreateListenSock( const char * pBind, int backlog )
int ret;
int fd = -1;
ret = LSAPI_ParseSockAddr( pBind, (struct sockaddr *)serverAddr );
- if ( !ret ) {
+ if ( !ret )
+ {
fd = LSAPI_CreateListenSock2( (struct sockaddr *)serverAddr, backlog );
}
return fd;
@@ -1554,9 +2378,11 @@ static fn_select_t g_fnSelect = select;
typedef struct _lsapi_child_status
{
int m_pid;
+ long m_tmStart;
volatile short m_iKillSent;
volatile short m_inProcess;
+ volatile int m_iReqCounter;
volatile long m_tmWaitBegin;
volatile long m_tmReqBegin;
@@ -1579,6 +2405,8 @@ typedef struct _lsapi_prefork_server
int m_iAvoidFork;
lsapi_child_status * m_pChildrenStatus;
+ lsapi_child_status * m_pChildrenStatusCur;
+ lsapi_child_status * m_pChildrenStatusEnd;
}lsapi_prefork_server;
@@ -1586,43 +2414,42 @@ static lsapi_prefork_server * g_prefork_server = NULL;
int LSAPI_Init_Prefork_Server( int max_children, fn_select_t fp, int avoidFork )
{
- if ( g_prefork_server ) {
+ int pid;
+ if ( g_prefork_server )
return 0;
- }
- if ( max_children <= 1 ) {
+ if ( max_children <= 1 )
return -1;
- }
- if ( max_children >= 10000) {
+ if ( max_children >= 10000)
max_children = 10000;
- }
g_prefork_server = (lsapi_prefork_server *)malloc( sizeof( lsapi_prefork_server ) );
- if ( !g_prefork_server ) {
+ if ( !g_prefork_server )
return -1;
- }
memset( g_prefork_server, 0, sizeof( lsapi_prefork_server ) );
- if ( fp != NULL ) {
+ if ( fp != NULL )
g_fnSelect = fp;
- }
s_ppid = getppid();
+ pid = getpid();
+ setpgid( pid, pid );
g_prefork_server->m_iAvoidFork = avoidFork;
g_prefork_server->m_iMaxChildren = max_children;
g_prefork_server->m_iExtraChildren = ( avoidFork ) ? 0 : (max_children / 3) ;
g_prefork_server->m_iMaxIdleChildren = ( avoidFork ) ? (max_children + 1) : (max_children / 3);
+ if ( g_prefork_server->m_iMaxIdleChildren == 0 )
+ g_prefork_server->m_iMaxIdleChildren = 1;
g_prefork_server->m_iChildrenMaxIdleTime = 300;
- g_prefork_server->m_iMaxReqProcessTime = 300;
+ g_prefork_server->m_iMaxReqProcessTime = 3600;
return 0;
}
void LSAPI_Set_Server_fd( int fd )
{
- if( g_prefork_server ) {
+ if( g_prefork_server )
g_prefork_server->m_fd = fd;
- }
}
@@ -1635,14 +2462,17 @@ static int lsapi_accept( int fdListen )
len = sizeof( achPeer );
fd = accept( fdListen, (struct sockaddr *)&achPeer, &len );
- if ( fd != -1 ) {
- if (((struct sockaddr *)&achPeer)->sa_family == AF_INET ) {
+ if ( fd != -1 )
+ {
+ if (((struct sockaddr *)&achPeer)->sa_family == AF_INET )
+ {
setsockopt( fd, IPPROTO_TCP, TCP_NODELAY,
(char *)&nodelay, sizeof(nodelay));
}
- if ( s_accept_notify )
- notify_req_received( fd );
+ //OPTIMIZATION
+ //if ( s_accept_notify )
+ // notify_req_received( fd );
}
return fd;
@@ -1665,9 +2495,13 @@ static void lsapi_cleanup(int signal)
static lsapi_child_status * find_child_status( int pid )
{
lsapi_child_status * pStatus = g_prefork_server->m_pChildrenStatus;
- lsapi_child_status * pEnd = g_prefork_server->m_pChildrenStatus + g_prefork_server->m_iMaxChildren * 2;
- while( pStatus < pEnd ) {
- if ( pStatus->m_pid == pid ) {
+ lsapi_child_status * pEnd = g_prefork_server->m_pChildrenStatusEnd;
+ while( pStatus < pEnd )
+ {
+ if ( pStatus->m_pid == pid )
+ {
+ if ( pStatus + 1 > g_prefork_server->m_pChildrenStatusCur )
+ g_prefork_server->m_pChildrenStatusCur = pStatus + 1;
return pStatus;
}
++pStatus;
@@ -1681,17 +2515,35 @@ static void lsapi_sigchild( int signal )
{
int status, pid;
lsapi_child_status * child_status;
- while( 1 ) {
+ while( 1 )
+ {
pid = waitpid( -1, &status, WNOHANG|WUNTRACED );
- if ( pid <= 0 ) {
+ if ( pid <= 0 )
+ {
break;
}
+ if ( WIFSIGNALED( status ))
+ {
+ int sig_num = WTERMSIG( status );
+ int dump = WCOREDUMP( status );
+ fprintf( stderr, "Child process with pid: %d was killed by signal: %d, core dump: %d\n", pid, sig_num, dump );
+ }
+ if ( pid == s_pid_dump_debug_info )
+ {
+ pid = 0;
+ continue;
+ }
child_status = find_child_status( pid );
- if ( child_status ) {
+ if ( child_status )
+ {
child_status->m_pid = 0;
+ --g_prefork_server->m_iCurChildren;
+
}
- --g_prefork_server->m_iCurChildren;
}
+ while(( g_prefork_server->m_pChildrenStatusCur > g_prefork_server->m_pChildrenStatus )
+ &&( g_prefork_server->m_pChildrenStatusCur[-1].m_pid == 0 ))
+ --g_prefork_server->m_pChildrenStatusCur;
}
@@ -1700,80 +2552,116 @@ static int lsapi_init_children_status()
int size = 4096;
char * pBuf;
- size = g_prefork_server->m_iMaxChildren * sizeof( lsapi_child_status ) * 2;
+ size = (g_prefork_server->m_iMaxChildren + g_prefork_server->m_iExtraChildren ) * sizeof( lsapi_child_status ) * 2;
size = (size + 4095 ) / 4096 * 4096;
pBuf =( char*) mmap( NULL, size, PROT_READ | PROT_WRITE,
MAP_ANON | MAP_SHARED, -1, 0 );
- if ( pBuf == MAP_FAILED ) {
+ if ( pBuf == MAP_FAILED )
+ {
perror( "Anonymous mmap() failed" );
return -1;
}
memset( pBuf, 0, size );
- g_prefork_server->m_pChildrenStatus = (lsapi_child_status *)pBuf;
+ g_prefork_server->m_pChildrenStatus = (lsapi_child_status *)pBuf;
+ g_prefork_server->m_pChildrenStatusCur = (lsapi_child_status *)pBuf;
+ g_prefork_server->m_pChildrenStatusEnd = (lsapi_child_status *)pBuf + size / sizeof( lsapi_child_status );
return 0;
}
+static void dump_debug_info( lsapi_child_status * pStatus, long tmCur )
+{
+ char achCmd[1024];
+ if ( s_pid_dump_debug_info )
+ {
+ if ( kill( s_pid_dump_debug_info, 0 ) == 0 )
+ return;
+ }
+ s_pid_dump_debug_info = fork();
+
+ fprintf( stderr, "[%s] Possible runaway process, PPID: %d, PID: %d, reqCount: %d, process time: %ld, checkpoint time: %ld, start time: %ld\n",
+ ctime(&tmCur), getpid(), pStatus->m_pid, pStatus->m_iReqCounter,
+ tmCur - pStatus->m_tmReqBegin, tmCur - pStatus->m_tmLastCheckPoint, tmCur - pStatus->m_tmStart );
+ snprintf( achCmd, 1024, "gdb --batch -ex \"attach %d\" -ex \"set height 0\" -ex \"bt\" >&2;PATH=$PATH:/usr/sbin lsof -p %d >&2", pStatus->m_pid, pStatus->m_pid );
+ if ( system( achCmd ) == -1 )
+ perror( "system()" );
+ exit( 0 );
+}
+
static void lsapi_check_child_status( long tmCur )
{
int idle = 0;
int tobekilled;
int dying = 0;
+ int count = 0;
lsapi_child_status * pStatus = g_prefork_server->m_pChildrenStatus;
- lsapi_child_status * pEnd = g_prefork_server->m_pChildrenStatus + g_prefork_server->m_iMaxChildren * 2;
- while( pStatus < pEnd ) {
- tobekilled = pStatus->m_iKillSent;
- if ( pStatus->m_pid != 0 ) {
- if ( !tobekilled ) {
- if ( !pStatus->m_inProcess ) {
-
- if (( g_prefork_server->m_iCurChildren - dying > g_prefork_server->m_iMaxChildren)||
- ( idle >= g_prefork_server->m_iMaxIdleChildren )) {
-
- tobekilled = 1;
- } else {
- if (( s_max_idle_secs> 0)&&(tmCur - pStatus->m_tmWaitBegin > s_max_idle_secs + 5 )) {
- tobekilled = 1;
- }
- }
- if ( !tobekilled ) {
- ++idle;
- }
- } else {
- if ( tmCur - pStatus->m_tmReqBegin >
- g_prefork_server->m_iMaxReqProcessTime ) {
- tobekilled = 1;
- }
+ lsapi_child_status * pEnd = g_prefork_server->m_pChildrenStatusCur;
+ while( pStatus < pEnd )
+ {
+ tobekilled = 0;
+ if ( pStatus->m_pid != 0 )
+ {
+ ++count;
+ if ( !pStatus->m_inProcess )
+ {
+
+ if (( g_prefork_server->m_iCurChildren - dying > g_prefork_server->m_iMaxChildren)||
+ ( idle > g_prefork_server->m_iMaxIdleChildren ))
+ {
+ ++pStatus->m_iKillSent;
+ //tobekilled = SIGUSR1;
}
- } else {
- if ( pStatus->m_inProcess ) {
- tobekilled = pStatus->m_iKillSent = 0;
+ else
+ {
+ if (( s_max_idle_secs> 0)&&(tmCur - pStatus->m_tmWaitBegin > s_max_idle_secs + 5 ))
+ {
+ ++pStatus->m_iKillSent;
+ //tobekilled = SIGUSR1;
+ }
}
+ if ( !tobekilled )
+ ++idle;
}
- if ( tobekilled ) {
- tobekilled = 0;
- if ( pStatus->m_iKillSent > 5 ) {
- tobekilled = SIGKILL;
- } else {
- if ( pStatus->m_iKillSent == 3 ) {
+ else
+ {
+ if ( tmCur - pStatus->m_tmReqBegin >
+ g_prefork_server->m_iMaxReqProcessTime )
+ {
+ if (( ( pStatus->m_iKillSent % 5 ) == 0 )&&( s_dump_debug_info ))
+ dump_debug_info( pStatus, tmCur );
+ if ( pStatus->m_iKillSent > 5 )
+ {
+ tobekilled = SIGKILL;
+ fprintf( stderr, "Force killing runaway process PID: %d with SIGKILL\n", pStatus->m_pid );
+ }
+ else
+ {
tobekilled = SIGTERM;
- } else {
- if ( pStatus->m_iKillSent == 1 ) {
- tobekilled = SIGUSR1;
- }
+ fprintf( stderr, "Killing runaway process PID: %d with SIGTERM\n", pStatus->m_pid );
}
}
- if ( tobekilled ) {
- kill( pStatus->m_pid, tobekilled );
+ }
+ if ( tobekilled )
+ {
+ if (( kill( pStatus->m_pid, tobekilled ) == -1 )&&( errno == ESRCH ))
+ {
+ pStatus->m_pid = 0;
+ --count;
+ }
+ else
+ {
+ ++pStatus->m_iKillSent;
+ ++dying;
}
- ++pStatus->m_iKillSent;
- ++dying;
}
-
- } else {
- ++dying;
}
++pStatus;
}
+ if ( abs( g_prefork_server->m_iCurChildren - count ) > 1 )
+ {
+ fprintf( stderr, "Children tracking is wrong: PID: %d, Cur Childen: %d, count: %d, idle: %d, dying: %d\n", getpid(),
+ g_prefork_server->m_iCurChildren, count, idle, dying );
+
+ }
}
static int lsapi_all_children_must_die()
@@ -1784,14 +2672,14 @@ static int lsapi_all_children_must_die()
g_prefork_server->m_iMaxIdleChildren = -1;
maxWait = 15;
- while( g_prefork_server->m_iCurChildren && (sec < maxWait) ) {
+ while( g_prefork_server->m_iCurChildren && (sec < maxWait) )
+ {
lsapi_check_child_status(time(NULL));
sleep( 1 );
sec++;
}
- if ( g_prefork_server->m_iCurChildren != 0 ) {
+ if ( g_prefork_server->m_iCurChildren != 0 )
kill( -getpgrp(), SIGKILL );
- }
return 0;
}
@@ -1810,13 +2698,17 @@ static int lsapi_prefork_server_accept( lsapi_prefork_server * pServer, LSAPI_Re
fd_set readfds;
struct timeval timeout;
+ sigset_t mask;
+ sigset_t orig_mask;
+
lsapi_init_children_status();
setsid();
act.sa_flags = 0;
act.sa_handler = lsapi_sigchild;
- if( sigaction( SIGCHLD, &act, &old_child ) ) {
+ if( sigaction( SIGCHLD, &act, &old_child ) )
+ {
perror( "Can't set signal handler for SIGCHILD" );
return -1;
}
@@ -1827,36 +2719,38 @@ static int lsapi_prefork_server_accept( lsapi_prefork_server * pServer, LSAPI_Re
if( sigaction( SIGTERM, &act, &old_term ) ||
sigaction( SIGINT, &act, &old_int ) ||
sigaction( SIGUSR1, &act, &old_usr1 ) ||
- sigaction( SIGQUIT, &act, &old_quit )) {
+ sigaction( SIGQUIT, &act, &old_quit ))
+ {
perror( "Can't set signals" );
return -1;
}
s_stop = 0;
- while( !s_stop ) {
- if ( ret ) {
- curTime = time( NULL );
- } else {
- ++curTime;
- }
- if (curTime != lastTime ) {
+ while( !s_stop )
+ {
+ curTime = time( NULL );
+ if (curTime != lastTime )
+ {
lastTime = curTime;
- if (s_ppid && (getppid() != s_ppid )) {
+ if (s_ppid && (getppid() != s_ppid ))
break;
- }
lsapi_check_child_status(curTime );
- if (pServer->m_iServerMaxIdle) {
- if ( pServer->m_iCurChildren <= 0 ) {
+ if (pServer->m_iServerMaxIdle)
+ {
+ if ( pServer->m_iCurChildren <= 0 )
+ {
++wait_secs;
- if ( wait_secs > pServer->m_iServerMaxIdle ) {
+ if ( wait_secs > pServer->m_iServerMaxIdle )
return -1;
- }
- } else {
- wait_secs = 0;
}
+ else
+ wait_secs = 0;
}
}
- if ( pServer->m_iCurChildren >= (pServer->m_iMaxChildren + pServer->m_iExtraChildren ) ) {
+ if ( pServer->m_iCurChildren >= (pServer->m_iMaxChildren + pServer->m_iExtraChildren ) )
+ {
+ fprintf( stderr, "Reached max children process limit: %d, extra: %d, current: %d, please increase LSAPI_CHILDREN.\n",
+ pServer->m_iMaxChildren, pServer->m_iExtraChildren, pServer->m_iCurChildren );
usleep( 100000 );
continue;
}
@@ -1864,77 +2758,116 @@ static int lsapi_prefork_server_accept( lsapi_prefork_server * pServer, LSAPI_Re
FD_ZERO( &readfds );
FD_SET( pServer->m_fd, &readfds );
timeout.tv_sec = 1; timeout.tv_usec = 0;
- if ((ret = (*g_fnSelect)(pServer->m_fd+1, &readfds, NULL, NULL, &timeout)) == 1 ) {
- if ( pServer->m_iCurChildren >= 0 ) {
+ if ((ret = (*g_fnSelect)(pServer->m_fd+1, &readfds, NULL, NULL, &timeout)) == 1 )
+ {
+ /*
+ if ( pServer->m_iCurChildren >= 0 )
+ {
usleep( 10 );
FD_ZERO( &readfds );
FD_SET( pServer->m_fd, &readfds );
timeout.tv_sec = 0; timeout.tv_usec = 0;
- if ( (*g_fnSelect)(pServer->m_fd+1, &readfds, NULL, NULL, &timeout) == 0 ) {
- continue;
- }
- }
- } else {
- if ( ret == -1 ) {
- if ( errno == EINTR ) {
+ if ( (*g_fnSelect)(pServer->m_fd+1, &readfds, NULL, NULL, &timeout) == 0 )
continue;
- }
- /* perror( "select()" ); */
- break;
- } else {
+ }*/
+ }
+ else if ( ret == -1 )
+ {
+ if ( errno == EINTR )
continue;
- }
+ /* perror( "select()" ); */
+ break;
+ }
+ else
+ {
+ continue;
}
pReq->m_fd = lsapi_accept( pServer->m_fd );
- if ( pReq->m_fd != -1 ) {
+ if ( pReq->m_fd != -1 )
+ {
child_status = find_child_status( 0 );
+ if ( child_status )
+ memset( child_status, 0, sizeof( *child_status ) );
+
+ sigemptyset( &mask );
+ sigaddset( &mask, SIGCHLD );
+
+ if ( sigprocmask(SIG_BLOCK, &mask, &orig_mask) < 0 )
+ {
+ perror( "sigprocmask(SIG_BLOCK) to block SIGCHLD" );
+ }
+
pid = fork();
- if ( !pid ) {
+
+ if ( !pid )
+ {
+ if (sigprocmask(SIG_SETMASK, &orig_mask, NULL) < 0)
+ perror( "sigprocmask( SIG_SETMASK ) to restore SIGMASK in child" );
g_prefork_server = NULL;
s_ppid = getppid();
s_req_processed = 0;
s_pChildStatus = child_status;
- child_status->m_iKillSent = 0;
lsapi_set_nblock( pReq->m_fd, 0 );
-
+ if ( pReq->m_fdListen != -1 )
+ {
+ close( pReq->m_fdListen );
+ pReq->m_fdListen = -1;
+ }
/* don't catch our signals */
sigaction( SIGCHLD, &old_child, 0 );
sigaction( SIGTERM, &old_term, 0 );
sigaction( SIGQUIT, &old_quit, 0 );
sigaction( SIGINT, &old_int, 0 );
sigaction( SIGUSR1, &old_usr1, 0 );
+ //init_conn_key( pReq->m_fd );
+ lsapi_notify_pid( pReq->m_fd );
+ s_notified_pid = 1;
+ //if ( s_accept_notify )
+ // return notify_req_received( pReq->m_fd );
return 0;
- } else {
- if ( pid == -1 ) {
- perror( "fork() failed, please increase process limit" );
- } else {
- ++pServer->m_iCurChildren;
- if ( child_status ) {
- child_status->m_pid = pid;
- child_status->m_iKillSent = 0;
- child_status->m_tmWaitBegin = time(NULL);
- }
+ }
+ else if ( pid == -1 )
+ {
+ perror( "fork() failed, please increase process limit" );
+ }
+ else
+ {
+ ++pServer->m_iCurChildren;
+ if ( child_status )
+ {
+ child_status->m_pid = pid;
+ child_status->m_tmWaitBegin = curTime;
+ child_status->m_tmStart = curTime;
}
}
close( pReq->m_fd );
pReq->m_fd = -1;
- } else {
- if (( errno == EINTR )||( errno == EAGAIN)) {
+ if (sigprocmask(SIG_SETMASK, &orig_mask, NULL) < 0)
+ perror( "sigprocmask( SIG_SETMASK ) to restore SIGMASK" );
+
+ }
+ else
+ {
+ if (( errno == EINTR )||( errno == EAGAIN))
continue;
- }
perror( "accept() failed" );
return -1;
}
}
sigaction( SIGUSR1, &old_usr1, 0 );
- kill( -getpgrp(), SIGUSR1 );
- lsapi_all_children_must_die(); /* Sorry, children ;-) */
+ //kill( -getpgrp(), SIGUSR1 );
+ //lsapi_all_children_must_die(); /* Sorry, children ;-) */
return -1;
}
+void lsapi_error( const char * pMessage, int err_no )
+{
+ fprintf( stderr, "%d: %s, errno: %d (%s)\n", getpid(), pMessage, err_no, strerror( err_no ) );
+}
+
int LSAPI_Prefork_Accept_r( LSAPI_Request * pReq )
{
int fd;
@@ -1946,88 +2879,105 @@ int LSAPI_Prefork_Accept_r( LSAPI_Request * pReq )
LSAPI_Finish_r( pReq );
- if ( g_prefork_server ) {
- if ( g_prefork_server->m_fd != -1 ) {
- if ( lsapi_prefork_server_accept( g_prefork_server, pReq ) == -1 ) {
+ if ( g_prefork_server )
+ {
+ if ( g_prefork_server->m_fd != -1 )
+ if ( lsapi_prefork_server_accept( g_prefork_server, pReq ) == -1 )
return -1;
- }
- }
}
- if ( s_req_processed >= s_max_reqs ) {
+ if ( s_req_processed >= s_max_reqs )
return -1;
- }
- if ( s_pChildStatus ) {
+ if ( s_pChildStatus )
+ {
s_pChildStatus->m_tmWaitBegin = time( NULL );
}
+
- while( g_running ) {
- if ( pReq->m_fd != -1 ) {
+ while( g_running )
+ {
+ if ( pReq->m_fd != -1 )
+ {
fd = pReq->m_fd;
- } else {
- if ( pReq->m_fdListen != -1 ) {
- fd = pReq->m_fdListen;
- } else {
- return -1;
- }
+ }
+ else if ( pReq->m_fdListen != -1 )
+ fd = pReq->m_fdListen;
+ else
+ {
+ break;
}
wait_secs = 0;
- while( 1 ) {
- if ( !g_running ) {
+ while( 1 )
+ {
+ if ( !g_running )
return -1;
- }
- if (( s_pChildStatus )&&( s_pChildStatus->m_iKillSent )) {
+ if ((s_req_processed)&&( s_pChildStatus )&&( s_pChildStatus->m_iKillSent ))
return -1;
- }
FD_ZERO( &readfds );
FD_SET( fd, &readfds );
timeout.tv_sec = 1;
timeout.tv_usec = 0;
ret = (*g_fnSelect)(fd+1, &readfds, NULL, NULL, &timeout);
- if ( ret == 0 ) {
- if ( s_pChildStatus ) {
+ if ( ret == 0 )
+ {
+ if ( s_pChildStatus )
+ {
s_pChildStatus->m_inProcess = 0;
}
++wait_secs;
- if (( s_max_idle_secs > 0 )&&(wait_secs >= s_max_idle_secs )) {
+ if (( s_max_idle_secs > 0 )&&(wait_secs >= s_max_idle_secs ))
return -1;
- }
- if ( s_ppid &&( getppid() != s_ppid)) {
+ if ( s_ppid &&( getppid() != s_ppid))
return -1;
- }
- } else {
- if ( ret == -1 ) {
- if ( errno == EINTR ) {
- continue;
- } else {
- return -1;
- }
- } else {
- if ( ret >= 1 ) {
- if (( s_pChildStatus )&&( s_pChildStatus->m_iKillSent )) {
- return -1;
+ }
+ else if ( ret == -1 )
+ {
+ if ( errno == EINTR )
+ continue;
+ else
+ return -1;
+ }
+ else if ( ret >= 1 )
+ {
+ if (s_req_processed && ( s_pChildStatus )&&( s_pChildStatus->m_iKillSent ))
+ return -1;
+ if ( fd == pReq->m_fdListen )
+ {
+ pReq->m_fd = lsapi_accept( pReq->m_fdListen );
+ if ( pReq->m_fd != -1 )
+ {
+ fd = pReq->m_fd;
+ lsapi_set_nblock( fd, 0 );
+ //init_conn_key( pReq->m_fd );
+ if ( !s_keepListener )
+ {
+ close( pReq->m_fdListen );
+ pReq->m_fdListen = -1;
}
- if ( fd == pReq->m_fdListen ) {
- pReq->m_fd = lsapi_accept( pReq->m_fdListen );
- if ( pReq->m_fd != -1 ) {
- fd = pReq->m_fd;
- lsapi_set_nblock( fd, 0 );
- } else {
- if (( errno == EINTR )||( errno == EAGAIN)) {
- continue;
- }
+ if ( s_accept_notify )
+ if ( notify_req_received( pReq->m_fd ) == -1 )
return -1;
- }
- } else {
- break;
- }
+ }
+ else
+ {
+ if (( errno == EINTR )||( errno == EAGAIN))
+ continue;
+ lsapi_error( "lsapi_accept() error", errno );
+ return -1;
}
}
+ else
+ break;
}
}
- if ( !readReq( pReq ) ) {
- if ( s_pChildStatus ) {
+
+ if ( !readReq( pReq ) )
+ {
+ if ( s_pChildStatus )
+ {
+ s_pChildStatus->m_iKillSent = 0;
s_pChildStatus->m_inProcess = 1;
+ ++s_pChildStatus->m_iReqCounter;
s_pChildStatus->m_tmReqBegin = s_pChildStatus->m_tmLastCheckPoint = time(NULL);
}
++s_req_processed;
@@ -2042,61 +2992,53 @@ int LSAPI_Prefork_Accept_r( LSAPI_Request * pReq )
}
void LSAPI_Set_Max_Reqs( int reqs )
-{
- s_max_reqs = reqs;
-}
+{ s_max_reqs = reqs; }
void LSAPI_Set_Max_Idle( int secs )
-{
- s_max_idle_secs = secs;
-}
+{ s_max_idle_secs = secs; }
void LSAPI_Set_Max_Children( int maxChildren )
{
- if ( g_prefork_server ) {
+ if ( g_prefork_server )
g_prefork_server->m_iMaxChildren = maxChildren;
- }
}
void LSAPI_Set_Extra_Children( int extraChildren )
{
- if (( g_prefork_server )&&( extraChildren >= 0 )) {
+ if (( g_prefork_server )&&( extraChildren >= 0 ))
g_prefork_server->m_iExtraChildren = extraChildren;
- }
}
void LSAPI_Set_Max_Process_Time( int secs )
{
- if (( g_prefork_server )&&( secs > 0 )) {
+ if (( g_prefork_server )&&( secs > 0 ))
g_prefork_server->m_iMaxReqProcessTime = secs;
- }
}
void LSAPI_Set_Max_Idle_Children( int maxIdleChld )
{
- if (( g_prefork_server )&&( maxIdleChld > 0 )) {
+ if (( g_prefork_server )&&( maxIdleChld > 0 ))
g_prefork_server->m_iMaxIdleChildren = maxIdleChld;
- }
}
void LSAPI_Set_Server_Max_Idle_Secs( int serverMaxIdle )
{
- if ( g_prefork_server ) {
+ if ( g_prefork_server )
g_prefork_server->m_iServerMaxIdle = serverMaxIdle;
- }
}
void LSAPI_Set_Slow_Req_Msecs( int msecs )
{
- s_slow_req_msecs = msecs;
+ s_slow_req_msecs = msecs;
}
int LSAPI_Get_Slow_Req_Msecs()
{
- return s_slow_req_msecs;
+ return s_slow_req_msecs;
}
+
void LSAPI_No_Check_ppid()
{
s_ppid = 0;
@@ -2115,113 +3057,421 @@ static void unset_lsapi_envs()
#else
env = environ;
#endif
- while( env != NULL && *env != NULL ) {
- if ( !strncmp(*env, "LSAPI_", 6) ||
- !strncmp( *env, "PHP_LSAPI_", 10 ) ) {
+ while( env != NULL && *env != NULL )
+ {
+ if (!strncmp(*env, "LSAPI_", 6) || !strncmp( *env, "PHP_LSAPI_", 10 )
+ || (!strncmp( *env, "PHPRC=", 6 )&&(!s_uid)))
+ {
char ** del = env;
- do {
+ do
*del = del[1];
- } while( *del++ );
- } else {
- ++env;
+ while( *del++ );
}
+ else
+ ++env;
}
}
-void LSAPI_Init_Env_Parameters( fn_select_t fp )
+static int lsapi_initSuEXEC()
+{
+ int i;
+ struct passwd * pw;
+ s_defaultUid = 0;
+ s_defaultGid = 0;
+ if ( s_uid == 0 )
+ {
+ const char * p = getenv( "LSAPI_DEFAULT_UID" );
+ if ( p )
+ {
+ i = atoi( p );
+ if ( i > 0 )
+ s_defaultUid = i;
+ }
+ p = getenv( "LSAPI_DEFAULT_GID" );
+ if ( p )
+ {
+ i = atoi( p );
+ if ( i > 0 )
+ s_defaultGid = i;
+ }
+ p = getenv( "LSAPI_SECRET" );
+ if (( !p )||( readSecret(p) == -1 ))
+ return -1;
+ if ( g_prefork_server )
+ {
+ if ( g_prefork_server->m_iMaxChildren < 100 )
+ g_prefork_server->m_iMaxChildren = 100;
+ if ( g_prefork_server->m_iExtraChildren < 1000 )
+ g_prefork_server->m_iExtraChildren = 1000;
+ }
+ }
+ if ( !s_defaultUid || !s_defaultGid )
+ {
+ pw = getpwnam( "nobody" );
+ if ( !s_defaultUid )
+ s_defaultUid = pw->pw_uid;
+ if ( !s_defaultGid )
+ s_defaultGid = pw->pw_gid;
+ }
+ return 0;
+}
+
+
+int LSAPI_Init_Env_Parameters( fn_select_t fp )
{
const char *p;
int n;
int avoidFork = 0;
p = getenv( "PHP_LSAPI_MAX_REQUESTS" );
- if ( !p ) {
+ if ( !p )
p = getenv( "LSAPI_MAX_REQS" );
- }
- if ( p ) {
+ if ( p )
+ {
n = atoi( p );
- if ( n > 0 ) {
+ if ( n > 0 )
LSAPI_Set_Max_Reqs( n );
- }
}
p = getenv( "LSAPI_AVOID_FORK" );
- if ( p ) {
+ if ( p )
+ {
avoidFork = atoi( p );
}
p = getenv( "LSAPI_ACCEPT_NOTIFY" );
- if ( p ) {
+ if ( p )
+ {
s_accept_notify = atoi( p );
- }
+ }
p = getenv( "LSAPI_SLOW_REQ_MSECS" );
- if ( p ) {
+ if ( p )
+ {
n = atoi( p );
LSAPI_Set_Slow_Req_Msecs( n );
- }
-
+ }
#if defined( RLIMIT_CORE )
p = getenv( "LSAPI_ALLOW_CORE_DUMP" );
- if ( !p ) {
+ if ( !p )
+ {
struct rlimit limit = { 0, 0 };
setrlimit( RLIMIT_CORE, &limit );
}
-#endif
+ else
+ s_enable_core_dump = 1;
+
+#endif
p = getenv( "LSAPI_MAX_IDLE" );
- if ( p ) {
+ if ( p )
+ {
n = atoi( p );
LSAPI_Set_Max_Idle( n );
}
- if ( LSAPI_Is_Listen() ) {
+ p = getenv( "LSAPI_KEEP_LISTEN" );
+ if ( p )
+ {
+ n = atoi( p );
+ s_keepListener = n;
+ }
+
+
+ if ( LSAPI_Is_Listen() )
+ {
n = 0;
p = getenv( "PHP_LSAPI_CHILDREN" );
- if ( !p ) {
+ if ( !p )
p = getenv( "LSAPI_CHILDREN" );
- }
- if ( p ) {
+ if ( p )
n = atoi( p );
- }
- if ( n > 1 ) {
+ if ( n > 1 )
+ {
LSAPI_Init_Prefork_Server( n, fp, avoidFork );
LSAPI_Set_Server_fd( g_req.m_fdListen );
}
p = getenv( "LSAPI_EXTRA_CHILDREN" );
- if ( p ) {
+ if ( p )
LSAPI_Set_Extra_Children( atoi( p ) );
- }
p = getenv( "LSAPI_MAX_IDLE_CHILDREN" );
- if ( p ) {
+ if ( p )
LSAPI_Set_Max_Idle_Children( atoi( p ) );
- }
+
p = getenv( "LSAPI_PGRP_MAX_IDLE" );
- if ( p ) {
+ if ( p )
+ {
LSAPI_Set_Server_Max_Idle_Secs( atoi( p ) );
}
p = getenv( "LSAPI_MAX_PROCESS_TIME" );
- if ( p ) {
+ if ( p )
LSAPI_Set_Max_Process_Time( atoi( p ) );
- }
- if ( getenv( "LSAPI_PPID_NO_CHECK" ) ) {
+
+ if ( getenv( "LSAPI_PPID_NO_CHECK" ) )
+ {
LSAPI_No_Check_ppid();
}
+
+ p = getenv( "LSAPI_DUMP_DEBUG_INFO" );
+ if ( p )
+ s_dump_debug_info = atoi( p );
+
+ if ( lsapi_initSuEXEC() == -1 )
+ return -1;
+#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__)
+ lsapi_initLVE();
+#endif
}
unset_lsapi_envs();
+ return 0;
}
+int LSAPI_ErrResponse_r( LSAPI_Request * pReq, int code, const char ** pRespHeaders,
+ const char * pBody, int bodyLen )
+{
+ LSAPI_SetRespStatus_r( pReq, code );
+ if ( pRespHeaders )
+ {
+ while( *pRespHeaders )
+ {
+ LSAPI_AppendRespHeader_r( pReq, *pRespHeaders, strlen( *pRespHeaders ) );
+ ++pRespHeaders;
+ }
+ }
+ if ( pBody &&( bodyLen > 0 ))
+ {
+ LSAPI_Write_r( pReq, pBody, bodyLen );
+ }
+ LSAPI_Finish_r( pReq );
+ return 0;
+}
+
+
+static void lsapi_MD5Transform(uint32 buf[4], uint32 const in[16]);
+
+/*
+ * Note: this code is harmless on little-endian machines.
+ */
+static void byteReverse(unsigned char *buf, unsigned longs)
+{
+ uint32 t;
+ do {
+ t = (uint32) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
+ ((unsigned) buf[1] << 8 | buf[0]);
+ *(uint32 *) buf = t;
+ buf += 4;
+ } while (--longs);
+}
+
+/*
+ * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
+ * initialization constants.
+ */
+void lsapi_MD5Init(struct lsapi_MD5Context *ctx)
+{
+ ctx->buf[0] = 0x67452301;
+ ctx->buf[1] = 0xefcdab89;
+ ctx->buf[2] = 0x98badcfe;
+ ctx->buf[3] = 0x10325476;
+
+ ctx->bits[0] = 0;
+ ctx->bits[1] = 0;
+}
+
+/*
+ * Update context to reflect the concatenation of another buffer full
+ * of bytes.
+ */
+void lsapi_MD5Update(struct lsapi_MD5Context *ctx, unsigned char const *buf, unsigned len)
+{
+ register uint32 t;
+
+ /* Update bitcount */
+
+ t = ctx->bits[0];
+ if ((ctx->bits[0] = t + ((uint32) len << 3)) < t)
+ ctx->bits[1]++; /* Carry from low to high */
+ ctx->bits[1] += len >> 29;
+
+ t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */
+
+ /* Handle any leading odd-sized chunks */
+
+ if (t) {
+ unsigned char *p = (unsigned char *) ctx->in + t;
+
+ t = 64 - t;
+ if (len < t) {
+ memmove(p, buf, len);
+ return;
+ }
+ memmove(p, buf, t);
+ byteReverse(ctx->in, 16);
+ lsapi_MD5Transform(ctx->buf, (uint32 *) ctx->in);
+ buf += t;
+ len -= t;
+ }
+ /* Process data in 64-byte chunks */
+
+ while (len >= 64) {
+ memmove(ctx->in, buf, 64);
+ byteReverse(ctx->in, 16);
+ lsapi_MD5Transform(ctx->buf, (uint32 *) ctx->in);
+ buf += 64;
+ len -= 64;
+ }
+
+ /* Handle any remaining bytes of data. */
+
+ memmove(ctx->in, buf, len);
+}
+
/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- * vim600: sw=4 ts=4 fdm=marker
- * vim<600: sw=4 ts=4
+ * Final wrapup - pad to 64-byte boundary with the bit pattern
+ * 1 0* (64-bit count of bits processed, MSB-first)
*/
+void lsapi_MD5Final(unsigned char digest[16], struct lsapi_MD5Context *ctx)
+{
+ unsigned int count;
+ unsigned char *p;
+
+ /* Compute number of bytes mod 64 */
+ count = (ctx->bits[0] >> 3) & 0x3F;
+
+ /* Set the first char of padding to 0x80. This is safe since there is
+ always at least one byte free */
+ p = ctx->in + count;
+ *p++ = 0x80;
+
+ /* Bytes of padding needed to make 64 bytes */
+ count = 64 - 1 - count;
+ /* Pad out to 56 mod 64 */
+ if (count < 8) {
+ /* Two lots of padding: Pad the first block to 64 bytes */
+ memset(p, 0, count);
+ byteReverse(ctx->in, 16);
+ lsapi_MD5Transform(ctx->buf, (uint32 *) ctx->in);
+
+ /* Now fill the next block with 56 bytes */
+ memset(ctx->in, 0, 56);
+ } else {
+ /* Pad block to 56 bytes */
+ memset(p, 0, count - 8);
+ }
+ byteReverse(ctx->in, 14);
+
+ /* Append length in bits and transform */
+ ((uint32 *) ctx->in)[14] = ctx->bits[0];
+ ((uint32 *) ctx->in)[15] = ctx->bits[1];
+
+ lsapi_MD5Transform(ctx->buf, (uint32 *) ctx->in);
+ byteReverse((unsigned char *) ctx->buf, 4);
+ memmove(digest, ctx->buf, 16);
+ memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
+}
+
+/* The four core functions - F1 is optimized somewhat */
+
+/* #define F1(x, y, z) (x & y | ~x & z) */
+#define F1(x, y, z) (z ^ (x & (y ^ z)))
+#define F2(x, y, z) F1(z, x, y)
+#define F3(x, y, z) (x ^ y ^ z)
+#define F4(x, y, z) (y ^ (x | ~z))
+
+/* This is the central step in the MD5 algorithm. */
+#define MD5STEP(f, w, x, y, z, data, s) \
+ ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x )
+
+/*
+ * The core of the MD5 algorithm, this alters an existing MD5 hash to
+ * reflect the addition of 16 longwords of new data. MD5Update blocks
+ * the data and converts bytes into longwords for this routine.
+ */
+static void lsapi_MD5Transform(uint32 buf[4], uint32 const in[16])
+{
+ register uint32 a, b, c, d;
+
+ a = buf[0];
+ b = buf[1];
+ c = buf[2];
+ d = buf[3];
+
+ MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
+ MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
+ MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
+ MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
+ MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
+ MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
+ MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
+ MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
+ MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
+ MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
+ MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
+ MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
+ MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
+ MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
+ MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
+ MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
+
+ MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
+ MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
+ MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
+ MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
+ MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
+ MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
+ MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
+ MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
+ MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
+ MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
+ MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
+ MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
+ MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
+ MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
+ MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
+ MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
+
+ MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
+ MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
+ MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
+ MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
+ MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
+ MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
+ MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
+ MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
+ MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
+ MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
+ MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
+ MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
+ MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
+ MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
+ MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
+ MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
+
+ MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
+ MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
+ MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
+ MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
+ MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
+ MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
+ MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
+ MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
+ MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
+ MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
+ MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
+ MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
+ MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
+ MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
+ MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
+ MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
+
+ buf[0] += a;
+ buf[1] += b;
+ buf[2] += c;
+ buf[3] += d;
+}
diff --git a/sapi/litespeed/lsapilib.h b/sapi/litespeed/lsapilib.h
index 45934ad46..cae1863c7 100644
--- a/sapi/litespeed/lsapilib.h
+++ b/sapi/litespeed/lsapilib.h
@@ -1,4 +1,3 @@
-
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
@@ -18,7 +17,7 @@
*/
/*
-Copyright (c) 2007, Lite Speed Technologies Inc.
+Copyright (c) 2002-2014, Lite Speed Technologies Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -50,7 +49,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
#ifndef _LSAPILIB_H_
#define _LSAPILIB_H_
@@ -118,7 +116,8 @@ typedef struct lsapi_request
char * m_pRequestMethod;
int m_totalLen;
int m_reqState;
- int m_reqBodyRead;
+ off_t m_reqBodyLen;
+ off_t m_reqBodyRead;
int m_bufProcessed;
int m_bufRead;
@@ -126,6 +125,7 @@ typedef struct lsapi_request
struct lsapi_resp_header m_respHeader;
short m_respHeaderLen[LSAPI_MAX_RESP_HEADERS];
+ void * m_pAppData;
}LSAPI_Request;
@@ -170,22 +170,30 @@ int LSAPI_ForeachSpecialEnv_r( LSAPI_Request * pReq,
char * LSAPI_GetEnv_r( LSAPI_Request * pReq, const char * name );
-int LSAPI_ReadReqBody_r( LSAPI_Request * pReq, char * pBuf, int len );
+ssize_t LSAPI_ReadReqBody_r( LSAPI_Request * pReq, char * pBuf, size_t len );
int LSAPI_ReqBodyGetChar_r( LSAPI_Request * pReq );
-int LSAPI_ReqBodyGetLine_r( LSAPI_Request * pReq, char * pBuf, int bufLen, int *getLF );
+int LSAPI_ReqBodyGetLine_r( LSAPI_Request * pReq, char * pBuf, size_t bufLen, int *getLF );
int LSAPI_FinalizeRespHeaders_r( LSAPI_Request * pReq );
-int LSAPI_Write_r( LSAPI_Request * pReq, const char * pBuf, int len );
+ssize_t LSAPI_Write_r( LSAPI_Request * pReq, const char * pBuf, size_t len );
+
+ssize_t LSAPI_sendfile_r( LSAPI_Request * pReq, int fdIn, off_t* off, size_t size );
-int LSAPI_Write_Stderr_r( LSAPI_Request * pReq, const char * pBuf, int len );
+ssize_t LSAPI_Write_Stderr_r( LSAPI_Request * pReq, const char * pBuf, size_t len );
int LSAPI_Flush_r( LSAPI_Request * pReq );
-int LSAPI_AppendRespHeader_r( LSAPI_Request * pHeader, char * pBuf, int len );
+int LSAPI_AppendRespHeader_r( LSAPI_Request * pReq, const char * pBuf, int len );
+
+int LSAPI_AppendRespHeader2_r( LSAPI_Request * pReq, const char * pHeaderName,
+ const char * pHeaderValue );
+
+int LSAPI_ErrResponse_r( LSAPI_Request * pReq, int code, const char ** pRespHeaders,
+ const char * pBody, int bodyLen );
static inline int LSAPI_SetRespStatus_r( LSAPI_Request * pReq, int code )
{
@@ -195,6 +203,21 @@ static inline int LSAPI_SetRespStatus_r( LSAPI_Request * pReq, int code )
return 0;
}
+static inline int LSAPI_SetAppData_r( LSAPI_Request * pReq, void * data )
+{
+ if ( !pReq )
+ return -1;
+ pReq->m_pAppData = data;
+ return 0;
+}
+
+static inline void * LSAPI_GetAppData_r( LSAPI_Request * pReq )
+{
+ if ( !pReq )
+ return NULL;
+ return pReq->m_pAppData;
+}
+
static inline char * LSAPI_GetQueryString_r( LSAPI_Request * pReq )
{
if ( pReq )
@@ -228,21 +251,22 @@ static inline char * LSAPI_GetRequestMethod_r( LSAPI_Request * pReq)
-static inline int LSAPI_GetReqBodyLen_r( LSAPI_Request * pReq )
+static inline off_t LSAPI_GetReqBodyLen_r( LSAPI_Request * pReq )
{
if ( pReq )
- return pReq->m_pHeader->m_reqBodyLen;
+ return pReq->m_reqBodyLen;
return -1;
}
-static inline int LSAPI_GetReqBodyRemain_r( LSAPI_Request * pReq )
+static inline off_t LSAPI_GetReqBodyRemain_r( LSAPI_Request * pReq )
{
if ( pReq )
- return pReq->m_pHeader->m_reqBodyLen - pReq->m_reqBodyRead;
+ return pReq->m_reqBodyLen - pReq->m_reqBodyRead;
return -1;
}
+
int LSAPI_Is_Listen(void);
static inline int LSAPI_Accept( void )
@@ -282,13 +306,13 @@ static inline char * LSAPI_GetScriptName()
static inline char * LSAPI_GetRequestMethod()
{ return LSAPI_GetRequestMethod_r( &g_req ); }
-static inline int LSAPI_GetReqBodyLen()
+static inline off_t LSAPI_GetReqBodyLen()
{ return LSAPI_GetReqBodyLen_r( &g_req ); }
-static inline int LSAPI_GetReqBodyRemain()
+static inline off_t LSAPI_GetReqBodyRemain()
{ return LSAPI_GetReqBodyRemain_r( &g_req ); }
-static inline int LSAPI_ReadReqBody( char * pBuf, int len )
+static inline ssize_t LSAPI_ReadReqBody( char * pBuf, size_t len )
{ return LSAPI_ReadReqBody_r( &g_req, pBuf, len ); }
static inline int LSAPI_ReqBodyGetChar()
@@ -302,10 +326,15 @@ static inline int LSAPI_ReqBodyGetLine( char * pBuf, int len, int *getLF )
static inline int LSAPI_FinalizeRespHeaders(void)
{ return LSAPI_FinalizeRespHeaders_r( &g_req ); }
-static inline int LSAPI_Write( const char * pBuf, int len )
+static inline ssize_t LSAPI_Write( const char * pBuf, ssize_t len )
{ return LSAPI_Write_r( &g_req, pBuf, len ); }
-static inline int LSAPI_Write_Stderr( const char * pBuf, int len )
+static inline ssize_t LSAPI_sendfile( int fdIn, off_t* off, size_t size )
+{
+ return LSAPI_sendfile_r(&g_req, fdIn, off, size );
+}
+
+static inline ssize_t LSAPI_Write_Stderr( const char * pBuf, ssize_t len )
{ return LSAPI_Write_Stderr_r( &g_req, pBuf, len ); }
static inline int LSAPI_Flush()
@@ -317,6 +346,9 @@ static inline int LSAPI_AppendRespHeader( char * pBuf, int len )
static inline int LSAPI_SetRespStatus( int code )
{ return LSAPI_SetRespStatus_r( &g_req, code ); }
+static inline int LSAPI_ErrResponse( int code, const char ** pRespHeaders, const char * pBody, int bodyLen )
+{ return LSAPI_ErrResponse_r( &g_req, code, pRespHeaders, pBody, bodyLen ); }
+
int LSAPI_IsRunning(void);
int LSAPI_CreateListenSock( const char * pBind, int backlog );
@@ -341,12 +373,13 @@ void LSAPI_Set_Server_Max_Idle_Secs( int serverMaxIdle );
void LSAPI_Set_Max_Process_Time( int secs );
-void LSAPI_Init_Env_Parameters( fn_select_t fp );
+int LSAPI_Init_Env_Parameters( fn_select_t fp );
void LSAPI_Set_Slow_Req_Msecs( int msecs );
int LSAPI_Get_Slow_Req_Msecs( );
+int LSAPI_is_suEXEC_Daemon();
#if defined (c_plusplus) || defined (__cplusplus)
}
diff --git a/sapi/milter/Makefile.frag b/sapi/milter/Makefile.frag
index 26200a196..f193f56b0 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 48c7a5d80..db9c4c5b4 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 432fd806c..4a1170723 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 */
@@ -1015,6 +1019,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) {
@@ -1032,7 +1037,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/win32/build/Makefile b/win32/build/Makefile
index e2d62545b..53cb52ada 100644
--- a/win32/build/Makefile
+++ b/win32/build/Makefile
@@ -183,7 +183,7 @@ msi-installer: dist
# need to redirect, since INSTALL is a file in the root...
install: really-install install-sdk
-build-lib:
+build-lib: build-ext-libs
@if not exist $(BUILD_DIR_DEV)\lib mkdir $(BUILD_DIR_DEV)\lib >nul
@copy $(BUILD_DIR)\$(PHPLIB) $(BUILD_DIR_DEV)\lib /y >nul
diff --git a/win32/build/Makefile.phpize b/win32/build/Makefile.phpize
index 17cfc90fb..1f92f7716 100644
--- a/win32/build/Makefile.phpize
+++ b/win32/build/Makefile.phpize
@@ -5,10 +5,8 @@ MT="$(MT)"
PHPSDK_DIR=$(PHP_DIR)
PHPLIB=$(PHPSDK_DIR)\lib\$(PHPLIB)
-LDFLAGS=/libpath:"$(PHPSDK_DIR)\lib\;$(PHPSDK_DIR)"
-
-CFLAGS=/nologo /FD $(BASE_INCLUDES) /D _WINDOWS /D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D_USE_32BIT_TIME_T=1 /D ZEND_WIN32_FORCE_INLINE /GF /D ZEND_DEBUG=0 /D ZTS=1 /D FD_SETSIZE=256
-CFLAGS_PHP=/D _USRDLL /D PHP5DLLTS_EXPORTS /D PHP_EXPORTS /D TSRM_EXPORTS /D SAPI_EXPORTS /D WINVER=0x500 /D COMPILE_DL_AJAXMIN
+LDFLAGS=$(LDFLAGS) /libpath:"$(PHPSDK_DIR)\lib\;$(PHPSDK_DIR)"
+BUILD_DIR_DEV=$(PHPSDK_DIR)
all: $(EXT_TARGETS) $(PECL_TARGETS)
@@ -36,3 +34,5 @@ _VC_MANIFEST_EMBED_EXE= if exist $@.manifest $(MT) -nologo -manifest $@.manifest
_VC_MANIFEST_EMBED_DLL= if exist $@.manifest $(MT) -nologo -manifest $@.manifest -outputresource:$@;2
!endif
+install: build-headers build-bins
+
diff --git a/win32/build/config.w32.phpize.in b/win32/build/config.w32.phpize.in
index b8bf45ea5..a544aac85 100644
--- a/win32/build/config.w32.phpize.in
+++ b/win32/build/config.w32.phpize.in
@@ -105,6 +105,11 @@ if (PHP_DEBUG == "yes" && PHP_DEBUG_PACK == "yes") {
ERROR("Use of both --enable-debug and --enable-debug-pack not allowed.");
}
+if (PHP_PREFIX == '') {
+ PHP_PREFIX = "C:\\php";
+ if (PHP_DEBUG == "yes")
+ PHP_PREFIX += "\\debug";
+}
DEFINE('PHP_PREFIX', PHP_PREFIX);
DEFINE("BASE_INCLUDES", "/I " + PHP_DIR + "/include /I " + PHP_DIR + "/include/main /I " + PHP_DIR + "/include/Zend /I " + PHP_DIR + "/include/TSRM /I " + PHP_DIR + "/include/ext ");
diff --git a/win32/build/confutils.js b/win32/build/confutils.js
index 490f86457..8da760406 100644
--- a/win32/build/confutils.js
+++ b/win32/build/confutils.js
@@ -1022,6 +1022,11 @@ function is_pgo_desired(mod)
{
var varname = "PHP_" + mod.toUpperCase() + "_PGO";
+ /* XXX enable PGO in phpize mode */
+ if (MODE_PHPIZE) {
+ return false;
+ }
+
/* don't disable if there's no mention of the varname */
if (eval("typeof " + varname + " == 'undefined'")) {
return true;
@@ -1163,11 +1168,6 @@ function ADD_EXTENSION_DEP(extname, dependson, optional)
var dep_present = false;
var dep_shared = false;
- if (MODE_PHPIZE) {
- ext_deps_js = file_get_contents(PHP_DIR + "\\script\\ext_deps.js");
- eval(ext_deps_js);
- }
-
try {
dep_present = eval("PHP_" + DEP);
@@ -1201,9 +1201,14 @@ function ADD_EXTENSION_DEP(extname, dependson, optional)
ERROR("static " + extname + " cannot depend on shared " + dependson);
}
- ADD_FLAG("LDFLAGS_" + EXT, "/libpath:$(BUILD_DIR)");
ADD_FLAG("LIBS_" + EXT, "php_" + dependson + ".lib");
- ADD_FLAG("DEPS_" + EXT, "$(BUILD_DIR)\\php_" + dependson + ".lib");
+ if (MODE_PHPIZE) {
+ ADD_FLAG("LDFLAGS_" + EXT, "/libpath:$(BUILD_DIR_DEV)\\lib");
+ ADD_FLAG("DEPS_" + EXT, "$(BUILD_DIR_DEV)\\lib\\php_" + dependson + ".lib");
+ } else {
+ ADD_FLAG("LDFLAGS_" + EXT, "/libpath:$(BUILD_DIR)");
+ ADD_FLAG("DEPS_" + EXT, "$(BUILD_DIR)\\php_" + dependson + ".lib");
+ }
} else {
@@ -1339,6 +1344,9 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir)
DEFINE('CFLAGS_' + EXT + '_OBJ', '$(CFLAGS_PHP) $(CFLAGS_' + EXT + ')');
}
+ if (MODE_PHPIZE && FSO.FileExists(PHP_DIR + "/include/main/config.pickle.h")) {
+ cflags = "/FI main/config.pickle.h " + cflags;
+ }
ADD_FLAG("CFLAGS_" + EXT, cflags);
if (PHP_DSP != "no") {
@@ -1498,7 +1506,7 @@ function output_as_table(header, ar_out)
var min = new Array(l);
var max = new Array(l);
- if (l != ar_out[0].length) {
+ if (!!ar_out[0] && l != ar_out[0].length) {
STDOUT.WriteLine("Invalid header argument, can't output the table " + l + " " + ar_out[0].length );
return;
}
@@ -1636,6 +1644,9 @@ function generate_files()
generate_internal_functions();
generate_config_h();
generate_phpize();
+ } else {
+ generate_config_pickle_h();
+ generate_ext_pickle();
}
STDOUT.WriteLine("Done.");
STDOUT.WriteBlankLines(1);
@@ -1648,6 +1659,140 @@ function generate_files()
}
}
+function generate_ext_pickle()
+{
+ var content;
+ var DEPS = null;
+ var dest;
+ var deps_lines = new Array();
+
+ var build_var_name = function(name) {
+ return "PHP_" + name.toUpperCase();
+ }
+
+ STDOUT.WriteLine("Generating pickle deps");
+ dest = PHP_DIR + "/script/";
+
+ if (!FSO.FolderExists(dest)) {
+ FSO.CreateFolder(dest);
+ }
+
+ if (FSO.FileExists(dest + "/ext_pickle.js")) {
+ DEPS = FSO.OpenTextFile(dest + "/ext_pickle.js", 1);
+
+ while (!DEPS.AtEndOfStream) {
+ var ln = DEPS.ReadLine();
+ var found = false;
+
+ for (var i in extensions_enabled) {
+ var reg0 = new RegExp(build_var_name(extensions_enabled[i][0]) + "\s*=.+", "g");
+ var reg1 = new RegExp(build_var_name(extensions_enabled[i][0]) + "_SHARED" + "\s*=.+", "g");
+
+ if (ln.match(reg1) || ln.match(reg0)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ deps_lines.push(ln);
+ }
+ }
+ }
+
+ for (var i in extensions_enabled) {
+ deps_lines.push(build_var_name(extensions_enabled[i][0]) + "=true;");
+ deps_lines.push(build_var_name(extensions_enabled[i][0]) + "_SHARED=" + (extensions_enabled[i][1] == 'shared' ? 'true' : 'false') + ";");
+ }
+
+ if (!!DEPS) {
+ DEPS.Close();
+ DEPS = null;
+ }
+
+ /* Replace the ext_pickle.js with the new content */
+ DEPS = FSO.CreateTextFile(dest + "/ext_pickle.js", true);
+
+ for (var j in deps_lines) {
+ DEPS.WriteLine(deps_lines[j]);
+ }
+
+ DEPS.Close();
+}
+
+function generate_config_pickle_h()
+{
+ var outfile = null;
+ var lines = new Array();
+ var keys = (new VBArray(configure_hdr.Keys())).toArray();
+ dest = PHP_DIR + "/include/main";
+
+ var ignore_key = function(key) {
+ var ignores = [ "CONFIGURE_COMMAND", "PHP_COMPILER_ID", "COMPILER", "ARCHITECTURE", "HAVE_STRNLEN", "PHP_DIR" ];
+
+ for (var k in ignores) {
+ if (ignores[k] == key) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+
+ STDOUT.WriteLine("Generating main/config.pickle.h");
+
+ if (FSO.FileExists(dest + "/config.pickle.h")) {
+ outfile = FSO.OpenTextFile(dest + "/config.pickle.h", 1);
+
+ while (!outfile.AtEndOfStream) {
+ var found = false;
+ var ln = outfile.ReadLine();
+
+ for (var i in keys) {
+ var reg = new RegExp("#define[\s ]+" + keys[i] + "[\s ]*.*", "g");
+
+ if (ln.match(reg)) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ lines.push(ln);
+ }
+ }
+ }
+
+ for (var i in keys) {
+ var item = configure_hdr.Item(keys[i]);
+
+ if (ignore_key(keys[i])) {
+ continue;
+ }
+
+ /* XXX fix comment handling */
+ /*if (!lines[j].match(/^#define.+/g)) {
+ continue;
+ }*/
+
+ lines.push("#define " + keys[i] + " " + item[0]);
+ }
+
+ if (outfile) {
+ outfile.Close();
+ outfile = null;
+ }
+
+ outfile = FSO.CreateTextFile(dest + "/config.pickle.h", true);
+
+ for (var k in lines) {
+ outfile.WriteLine(lines[k]);
+ }
+
+ outfile.Close();
+}
+
function generate_config_h()
{
var infile, outfile;
@@ -1721,6 +1866,7 @@ function generate_phpize()
var MF = FSO.CreateTextFile(dest + "/phpize.js", true);
var DEPS = FSO.CreateTextFile(dest + "/ext_deps.js", true);
+
prefix = get_define("PHP_PREFIX");
prefix = prefix.replace(new RegExp("/", "g"), "\\");
prefix = prefix.replace(new RegExp("\\\\", "g"), "\\\\");
@@ -1800,13 +1946,38 @@ function generate_makefile()
}
}
MF.WriteLine(" @for %D in ($(INSTALL_HEADERS_DIR)) do @copy %D*.h $(BUILD_DIR_DEV)\\include\\%D /y >nul");
+ if (MODE_PHPIZE) {
+ MF.WriteBlankLines(1);
+ MF.WriteLine("build-bins:");
+ for (var i in extensions_enabled) {
+ var lib = "php_" + extensions_enabled[i][0] + ".lib";
+ var dll = "php_" + extensions_enabled[i][0] + ".dll";
+ MF.WriteLine(" @copy $(BUILD_DIR)\\" + lib + " $(BUILD_DIR_DEV)\\lib");
+ MF.WriteLine(" @copy $(BUILD_DIR)\\" + dll + " $(PHP_PREFIX)");
+ }
+ } else {
+ MF.WriteBlankLines(1);
+ MF.WriteLine("build-ext-libs:");
+ MF.WriteLine(" @if not exist $(BUILD_DIR_DEV)\\lib mkdir $(BUILD_DIR_DEV)\\lib >nul");
+ for (var i in extensions_enabled) {
+ var lib;
+
+ lib = "php_" + extensions_enabled[i][0] + "*.lib";
+
+ if ('shared' == extensions_enabled[i][1]) {
+ MF.WriteLine(" @if exist $(BUILD_DIR)\\" + lib + " copy $(BUILD_DIR)\\" + lib + " $(BUILD_DIR_DEV)\\lib");
+ }
+ }
+ }
TF.Close();
MF.WriteBlankLines(2);
MFO.Close();
TF = FSO.OpenTextFile("Makefile.objects", 1);
- MF.Write(TF.ReadAll());
+ if (!TF.AtEndOfStream) {
+ MF.Write(TF.ReadAll());
+ }
TF.Close();
MF.Close();
diff --git a/win32/build/phpize.js.in b/win32/build/phpize.js.in
index 4813ec0b5..c99dece61 100644
--- a/win32/build/phpize.js.in
+++ b/win32/build/phpize.js.in
@@ -40,9 +40,13 @@ function ERROR(msg)
function file_get_contents(filename)
{
+ var t = "";
var F = FSO.OpenTextFile(filename, 1);
- var t = F.ReadAll();
- F.Close();
+
+ if (!F.AtEndOfStream) {
+ t = F.ReadAll();
+ F.Close();
+ }
return t;
}
@@ -208,6 +212,12 @@ STDOUT.WriteLine(PHP_DIR);
C.WriteLine("/* This file automatically generated from script/confutils.js */");
C.WriteLine("var MODE_PHPIZE = true;");
C.WriteLine("var PHP_DIR = " + '"' + PHP_DIR.replace(new RegExp('(["\\\\])', "g"), '\\$1') + '"');
+C.WriteLine("var PHP_PREFIX = " + '"' + PHP_PREFIX.replace(new RegExp('(["\\\\])', "g"), '\\$1') + '"');
+
+C.Write(file_get_contents(PHP_DIR + "//script//ext_deps.js"));
+if (FSO.FileExists(PHP_DIR + "/script/ext_pickle.js")) {
+ C.Write(file_get_contents(PHP_DIR + "//script//ext_pickle.js"));
+}
C.Write(file_get_contents(PHP_DIR + "/script/confutils.js"));
C.Write(file_get_contents(PHP_DIR + "/script/config.phpize.js"));