From 0f8cf3b8497dc45c010c44ed9e96518e11e19fc3 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Thu, 2 Feb 2017 16:04:02 +0100 Subject: [PATCH 01/16] Fix bug #73807 --- main/php_variables.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/main/php_variables.c b/main/php_variables.c index 018e906582422..6da79bddc334f 100644 --- a/main/php_variables.c +++ b/main/php_variables.c @@ -237,11 +237,14 @@ typedef struct post_var_data { char *ptr; char *end; uint64_t cnt; + + /* Bytes in ptr that have already been scanned for '&' */ + size_t already_scanned; } post_var_data_t; static zend_bool add_post_var(zval *arr, post_var_data_t *var, zend_bool eof TSRMLS_DC) { - char *ksep, *vsep, *val; + char *start, *ksep, *vsep, *val; size_t klen, vlen; /* FIXME: string-size_t */ unsigned int new_vlen; @@ -250,9 +253,11 @@ static zend_bool add_post_var(zval *arr, post_var_data_t *var, zend_bool eof TSR return 0; } - vsep = memchr(var->ptr, '&', var->end - var->ptr); + start = var->ptr + var->already_scanned; + vsep = memchr(start, '&', var->end - start); if (!vsep) { if (!eof) { + var->already_scanned = var->end - var->ptr; return 0; } else { vsep = var->end; @@ -285,6 +290,7 @@ static zend_bool add_post_var(zval *arr, post_var_data_t *var, zend_bool eof TSR efree(val); var->ptr = vsep + (vsep != var->end); + var->already_scanned = 0; return 1; } @@ -304,7 +310,7 @@ static inline int add_post_vars(zval *arr, post_var_data_t *vars, zend_bool eof } } - if (!eof) { + if (!eof && vars->str.c != vars->ptr) { memmove(vars->str.c, vars->ptr, vars->str.len = vars->end - vars->ptr); } return SUCCESS; From 3eecee16d1877208a4c4e067fea7cf57c6551554 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sat, 24 Jun 2017 23:32:59 -0700 Subject: [PATCH 02/16] Update NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 605dc5cf9b5e4..877e450586543 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ?? 2017, PHP 5.6.31 +- Core + . Fixed bug #73807 (Performance problem with processing post request over + 2000000 chars). (Nikita) + 19 Jan 2017, PHP 5.6.30 - EXIF: From 89637c6b41b510c20d262c17483f582f115c66d6 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Mon, 19 Jun 2017 23:06:24 -0700 Subject: [PATCH 03/16] Fix bug #74651 - check EVP_SealInit as it can return -1 --- ext/openssl/openssl.c | 6 +++--- ext/openssl/tests/74651.pem | 27 +++++++++++++++++++++++++++ ext/openssl/tests/bug74651.phpt | 17 +++++++++++++++++ 3 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 ext/openssl/tests/74651.pem create mode 100644 ext/openssl/tests/bug74651.phpt diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index f8641c62fca87..a78a8fb10f82b 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -4982,15 +4982,15 @@ PHP_FUNCTION(openssl_seal) buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(&ctx)); EVP_CIPHER_CTX_cleanup(&ctx); - if (!EVP_SealInit(&ctx, cipher, eks, eksl, NULL, pkeys, nkeys) || !EVP_SealUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len)) { + if (EVP_SealInit(&ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 || + !EVP_SealUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len) || + !EVP_SealFinal(&ctx, buf + len1, &len2)) { RETVAL_FALSE; efree(buf); EVP_CIPHER_CTX_cleanup(&ctx); goto clean_exit; } - EVP_SealFinal(&ctx, buf + len1, &len2); - if (len1 + len2 > 0) { zval_dtor(sealdata); buf[len1 + len2] = '\0'; diff --git a/ext/openssl/tests/74651.pem b/ext/openssl/tests/74651.pem new file mode 100644 index 0000000000000..4ed5905ee54d8 --- /dev/null +++ b/ext/openssl/tests/74651.pem @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEoDCCBAmgAwIBAgIBJzANBgkqhkiG9w0BAQQFADCBkDELMAkGA1UEFhMCUk8x +EDAOBgNVBAgTB1JvbWFuaWExEDAOBgNVBAcTB0NyYWlvdmExDzANBgNVBAoTBlNl +cmdpdTETMBEGA1UECxMKU2VyZ2l1IFNSTDESMBAGA1UEAxMJU2VyZ2l1IENBMSMw +IQYJKoZIhvcNAQkBFhRuX3NlcmdpdUBob3RtYWlsLmNvbTAeFw0wNDA1MTQxMzM0 +NTZaFw0wNTA1MTQxMzM0NTZaMIGaMQswCQYDVQQGEwJSTzEQMA4GA1UECBMHUm9t +YW5pYTEQMA4GA1UEBxMHQ3JhaW92YTETMBEGA1UEChMKU2VyZ2l1IFNSTDETMBEG +A1UECxMKU2VyZ2l1IFNSTDEYMBYGA1UEAxMPU2VyZ2l1IHBlcnNvbmFsMSMwIQYJ +KoZIhvcNAQkBFhRuX3NlcmdpdUBob3RtYWlsLmNvbTCBnzANBgkqhkiG9w0BAQEF +AAOBjQAwgYkCgYEApNj7XXz8T8FcLIWpBniPYom3QcT6T7u0xRPHqtqzj5oboBYp +DJe5d354/y0gJTpiLt8+fTrPgWXnbHm3pOHgXzTcX6Arani0GDU0/xDi4VkCRGcS +YqX2sJpcDzAbmK9UDMt3xf/O1B8AJan3RfO0Bm3ozTEPziLMkmsiYr5b/L4CAwEA +AaOCAfwwggH4MAkGA1UdEwQCMAAwNQYJYIZIAYb4QgENBCgWJkZvciBHcmlkIHVz +ZSBvbmx5OyByZXF1ZXN0IHRhZyB1c2VyVGFnMBEGCWCGSAGG+EIBAQQEAwIF4DA/ +BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vbW9iaWxlLmJsdWUtc29mdHdhcmUucm86 +OTAvY2EvY3JsLnNodG1sMDUGCWCGSAGG+EIBCAQoFiZodHRwOi8vbW9iaWxlLmJs +dWUtc29mdHdhcmUucm86OTAvcHViLzAhBgNVHREEGjAYgRZzZXJnaXVAYmx1ZXNv +ZnR3YXJlLnJvMB0GA1UdDgQWBBSwp//5QRXeIzm93TEPl6CyonTg/DCBpwYDVR0j +BIGfMIGcoYGWpIGTMIGQMQswCQYDVQQGEwJSTzEQMA4GA1UECBMHUm9tYW5pYTEQ +MA4GA1UEBxMHQ3JhaW92YTEPMA0GA1UEChMGU2VyZ2l1MRMwEQYDVQQLEwpTZXJn +aXUgU1JMMRIwEAYDVQQDEwlTZXJnaXUgQ0ExIzAhBgkqhkiG9w0BCQEWFG5fc2Vy +Z2l1QGhvdG1haWwuY29tggEAMAsGA1UdDwQEAwIE8DAjBglghkgBhvhCAQIEFhYU +aHR0cDovLzYyLjIzMS45OC41Mi8wCwYDKgMEBAQ+52I0MA0GCSqGSIb3DQEBBAUA +A4GBAIBIOJ+iiLyQfNJEY+IMefayQea0nmuXYY+F+L1DFjSC7xChytgYoPNnKkhh +3dWPtxbswiqKYUnGi6y3Hi4UhDsOaDW29t2S305hSc2qgjOiNtRYQIVYQ8EHG1k7 +Fl63S7uCOhnVJt+4MnUK1N6/pwgsp+Z2GvEsDG1qCKnvNpf6 +-----END CERTIFICATE----- diff --git a/ext/openssl/tests/bug74651.phpt b/ext/openssl/tests/bug74651.phpt new file mode 100644 index 0000000000000..f86394bdd5fdf --- /dev/null +++ b/ext/openssl/tests/bug74651.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #74651: negative-size-param (-1) in memcpy in zif_openssl_seal() +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +resource(%d) of type (OpenSSL key) +bool(false) \ No newline at end of file From 5f8380d33e648964d2d5140f329cf2d4c443033c Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 20 Jun 2017 00:09:01 -0700 Subject: [PATCH 04/16] Fix bug #74603 - use correct buffer size --- Zend/tests/bug74603.ini | 1 + Zend/tests/bug74603.phpt | 15 +++++++++++++++ Zend/zend_ini_parser.y | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 Zend/tests/bug74603.ini create mode 100644 Zend/tests/bug74603.phpt diff --git a/Zend/tests/bug74603.ini b/Zend/tests/bug74603.ini new file mode 100644 index 0000000000000..8d74a570ec88a --- /dev/null +++ b/Zend/tests/bug74603.ini @@ -0,0 +1 @@ +0=0&~2000000000 diff --git a/Zend/tests/bug74603.phpt b/Zend/tests/bug74603.phpt new file mode 100644 index 0000000000000..b3194ecd48f7d --- /dev/null +++ b/Zend/tests/bug74603.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug #74603 (PHP INI Parsing Stack Buffer Overflow Vulnerability) +--SKIPIF-- + +--EXPECT-- +array(1) { + [0]=> + string(1) "0" +} diff --git a/Zend/zend_ini_parser.y b/Zend/zend_ini_parser.y index ea4771a111860..ad8a84dd2ce5a 100644 --- a/Zend/zend_ini_parser.y +++ b/Zend/zend_ini_parser.y @@ -53,7 +53,7 @@ static void zend_ini_do_op(char type, zval *result, zval *op1, zval *op2) { int i_result; int i_op1, i_op2; - char str_result[MAX_LENGTH_OF_LONG]; + char str_result[MAX_LENGTH_OF_LONG+1]; i_op1 = atoi(Z_STRVAL_P(op1)); free(Z_STRVAL_P(op1)); From 8dc4f4dc9e44d1cbfe4654aa6e0dc27c94913938 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 20 Jun 2017 16:45:42 +0200 Subject: [PATCH 05/16] Fix #74435: Buffer over-read into uninitialized memory The stack allocated color map buffers were not zeroed before usage, and so undefined palette indexes could cause information leakage. --- ext/gd/libgd/gd_gif_in.c | 3 +++ ext/gd/tests/bug74435.gif | Bin 0 -> 11464 bytes ext/gd/tests/bug74435.phpt | 27 +++++++++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 ext/gd/tests/bug74435.gif create mode 100644 ext/gd/tests/bug74435.phpt diff --git a/ext/gd/libgd/gd_gif_in.c b/ext/gd/libgd/gd_gif_in.c index f41ec8460aa09..e0f0fe398a614 100644 --- a/ext/gd/libgd/gd_gif_in.c +++ b/ext/gd/libgd/gd_gif_in.c @@ -147,6 +147,9 @@ gdImagePtr gdImageCreateFromGifCtx(gdIOCtxPtr fd) /* {{{ */ int haveGlobalColormap; gdImagePtr im = 0; + memset(ColorMap, 0, 3 * MAXCOLORMAPSIZE); + memset(localColorMap, 0, 3 * MAXCOLORMAPSIZE); + /*1.4//imageNumber = 1; */ if (! ReadOK(fd,buf,6)) { return 0; diff --git a/ext/gd/tests/bug74435.gif b/ext/gd/tests/bug74435.gif new file mode 100644 index 0000000000000000000000000000000000000000..92fbb7ff20d577a87e9f107e87ae4dfd5f7e069c GIT binary patch literal 11464 zcmV;(EH~3fNk%w1VE_RD0e}Di{{R5~001li000000RRC22>$^82^>hU;6Hx|6DnNj zub;z*5F_^EN3o*Ci~RO!+{m%xK7AlViX5pgpUIObQ|80RvZc$H`0mM^NwelXdpL9I z+-a|#&!0ep)}u$XsL`YJ<|$puwCOx~P@_tnDleYZt5~zfgU7Y2*RSvliXF(XY(j}> zA7Wfv(WBdqB;$ruN%thoyDe?%oyoIrPN9H*A{|`Rso|wm6Gzp`_$t`PUB`|!Yc_3K zwrtDUC?($>m}XS zG+@+&RU2lV*fnF=k7XOA&Cs?)+!%FxNfPSv?q=wPK6 zq`uI4MC=!}cjP|OdrI&xiB}VOJDC?0dPk|(6nj&-mlb?p$wv@<3fTt{eirG+5q~22 zhZ2A;2}l!xIvEHQf<`IG6oXPZh!uohNk|rj2wA8Wh7@TC7l$BuXcveqiO3g;IGHFI zibSc17>iK3=opM#$tVzwHQG24jv49r5sxMLxDt>t33(HdJsCL^l1VA~6q8jsxfPUQ zNl9fxR$`f@j$C%>BbZ?dNoJWwqM4?WY_{nnoN>xHrW3aLPI= zt&VDWs+XyXxvH71s`;v$vC28DjinlUE3&yNyDPK3I{PcM!AeUbskK@gDYleqdnvb? zdfO?uP`)GYy!6)ljyw3~tM9(TtoDMo1ckJ=U=$s?+$RwA1jyWi&tn$j{l;iTtFvnaDIW*U7^UdUpqw~%@_dJd` zKnE@K(Bgz+^wCHs9S%55H|_M(;Mgnmy!=+3ufSOUi}2P3JM8ts6o(zL#$;a%^4T4m ztoFz(x1F-gaKDW6+%@}b_s&G;9kkMXAO8*Y-%U?FwbfQ8^ zd3(+`=zoiDFX{Z6E->l{tL`xC6uYi5>>$f-GVLteE;H^p>+Un}MEkBZ@K6h1FY)^t zA29LgiI5my#Gj8LK6-Qg$YyP!&q1`7j6uOA(P?BXxK6v&J2e+ z)8Wr}STr9l4Tw<_A`$y#L?k9rg-mRs3!xZA8B(!|HpF5Ub;!jo`Vfp^6yX?+ctjK` zafvK+;uB#g#VOLzidV#;7PrVlFMbh-LcA9d`Dn&Jrcsb=EaV#zDaS?D(UEwJ*hwvZ(u<)K<19^BNn4&0m#Ng{ zDtXyTU%nEUu@oi=DOpNm1`?TsROTU>sYquw5}H8#hB(Jb&T@Xk8|X}@I@jrqZn*QE z@Qi0SxIxc)+Vh^=*oHp$$^XxOZbKUY4X8i|s*P+I^q>e$Xg09H(1tqnq1d>FL?=qo zieAGS7|p0gH)@S)c=V$n4QVx~LDG_%^rY07hDuk;(w0s`8ZeEiOlK;MXxQ|oIL&D^ zpuy9g`t+yJFsD$*$2Pk%afp9GC+Kov^WgF^JG4YjCNC(6;TW>lnL z{U}PuT2hyqb)_^-YfN>@)|&$Ltvwy;P>pKTq$ZWAOnvH8r7G2`Ru!vQ-Rf4o>eaA@ zm8@hv>si&R*0#14u5gvBQ0ZD!yCM~@OVz7W`5INfQWdaQ6|7bX+f~DY6|rMgtXUbG zR>!gxvTv2FIVsCd%m2y~v-s4kKRHWK&ngtO5EZRONy|~wiWIddRjo@|OH zZ8>SXPTR&4xA)X-KY2S)-zF5e4;5}jiMvtbh7`FcRc=d}J5%T86uLi^E;*^IPV2%G zyY|#BKe;PV?;;eu4izs&$*WQGf)u?bRWD1~D^vI46uv%{FHz}>PWvhqzx32ERQU@~ z|5_Em3>7d}35-z#ixt5nRWMo^3{wZY6~a7~usA7PVGGX_!}-+kKRH}b4=)tN5f$-8 zN!(Erj}*lzRq;z%TvHeC6vjc7F^$`4V;tvL!#wV>hk+bq5fiz{CPs3SRm|ijyBNw* zmhhBqd}9pjc>l*7_VJHFEaV}R*vLmlv67d}VkbWt#xg!9joEDFH)mPST(0w%@hs*& zm)Xx~4)mIww!x`Al zwzjwJjAnTI+u#m&Gnhf{a+~|y%vgrH*Uj#BFGCsdj<>w$t&C*Y``-A@cQTN{?|%FH z-^e(Izz0t7f*->e2v4}e7jBGVIQ-!dk9aYNLGg-P{NltIhQ>F}@s1Be7$6V1$VV=W zV3_>mDF07+Fo41Gmb?7rz_7N=r_Jq}XItDj|2DdJUT$~$eBJa8dc5^b^m_yR=>0ah z(g)7)rYBtDP=7ear(SW7TYcjs&w9vJ&h?YS{Oc{B`OIx@^PK0L=RE)U&xJ1Zq8AE3j^ zLmlr^*SppEo^`)-9q?ZlytN6>ZNrNj@#t2(yBSY!$LkyN0GGVMDbH}rOC0kU*SyC$ zPjb(z9P}_3eYHuyZPSMv_2*W7yIDVP*XJAd|CW8hX}@sWM;!MT*L}x%KXTuv9QZF6 zKL53euWjRl8~Nr|KD(JOZ|CD1`u>(a!Ktrs>q8v-7S}$qa6G$Cw??Xe%NMy zI){GbrhY)je(>ggMhAcVCVxyve+XxPQip#Or+-+-e<0_7UI&0ICxFsMfCXrP8R}geYi-EQp6NsE0JjhdAhmJpTxY zKq!cFNQhpjf_LbGc_@Q>XoG#IgMa9QfhdHNXn=KSiHC@ZiKvN-$cc^UiH``1ktm7; zNQZ@JieZR~WT=W~$ck#{ifsssAovTyIE=(tjKAOu$e4`ExQxEg3(okA&=`%qzzft^ zjn;ULys!(}xQ*P{jk}-=;24hLIF7oI3+8x^=$MYVfD7!{j_&x5xNr;dIFIyLkGEh8 z_?VCSxR16_3;y_z02z?AKnny}kOp~>v@i<_xsVLmkh35Q5E+pYIgzpu3l@2i7@3i= z01F)1kskSxuwaZLIgHF$lF2BIDEW-oxRTZAjV`&35xXbkQAAe5vh?(d66LblpQ&eBWaQ*nUX2Vk}Ua>FDa8US(7!1 zlQ_APJL!`?8I(aultg)yN2!!b*_2HQl~5^_B1x4cX_Y96l`E;0F3FWK>6J7ImNzMu zI!Ts2X_i2VmP4tQM#+{*>6T0hmrp5|#z>dUXqVE6m)NM6-pH5a=$GmUnD8i=_DGog zXqW6jV`nII{d#YmaUXqnN7nb)Y9-N>2a=$YvVn(ru@^+=lgXqo|u zng^+x4au4l>6#e{n;$8g#7LXUXq(W8o7SkC+{l~a=$q&WobD)`^#4el`e>X0iJS(h zoD9jF66u^637sA(og_(}$Y`A^iJjD_oiNFr;OLz;37+gIo;*pO_-LL&iJk;U52%zyOp!Z0i{b-;AiJ%FopbyEQ73rWG z385h=p%mJT7K))6s-GO%q5cV?Au6CGTA~JuqA9ANEZU+D3ZpS9pEGKq7mA-6x}p5( zp&tsMB08c3YN98Kpenke4CZM2;rb}9* z7;2^*il!i{rXY-^WqHAiRZU3sGZ|b6PDx-sHpJi&O zcZ#Tas;GO)sD0|Fe+sFADyj5IrgdtmQHrTls;O7Xsaoo(T?(oY`UV*hvBm1F9=oj6 z8nV%f=_;=<`>yypv-Rq)HvhY?1e>z~tFSzKun_yR4Lh+D zYq1uau^G#;9Q&~!E3zV6vL%bMD7&&N>#{BzvoTAvG<&l*tFt=Wvpoy6Kr6HoOSBbh zv>1!D8>_S)%d{cuv?L3)Co8ooOSLU)wJ?jdGpn^W%e6V{wLA;9KP$GjO18Xew!(_G z$f~x^%C^+%w%Q7};3~J~O1JE4xAKa&_^P-5%C`jTw+aim5G%N~O1QgfxWS6J$Evu^ z%DB_&xY-K1-zvG~O1bN5x$%m*_o})5%DDsUxd{up4=cK~O1ipgy16id9gYP=eYyu_-!Aj`ba>bxck zz1%9jEK9xUYP~Xxz4WTRILo~N>%Be;z6>kAvP!b~0wzu_vs z=SsirYQOV}zxk@a|H{7w>%R*Nz!59J1l+3zjKB%3z6{*J?hC;YEWZ?7!S;*68LYn? z+`;|}!XYfaBW%D2jJ^uI!0hY54-CH&Ji+v9!556b8oa^$>%kukzyf@$1kA%G{KF|M z#4KFIFO0-8yu>x^#5f$qJ6ysDY{d+W#SpB;6wJjK?8O`m#vm-lQ%uG_tiV_7z*#K8 zTWrBytifOG!C@@Ib8Nm6B(Gp$J6^+ptz0n)((H)vRpQvW(TZtku5E)x_-8$_&=fEY{Xc*4%8?;*8eltk&+#*7WSw z`V7|qE!U+?*Q;#Tv5eQZtk=EF*Td}B$qd-fEZEgd*xPK_;f&bltk~_$*z@ez`3%|r zEZL+?*{W>Wu#DNZtl7NG*~0AE$PC)fEZWpe+S+W|;EdYltlI3%+Vbq$_zc_rEZYQ4 z+o){Y3XR*etlJRH+raGG7XJ<0%q-j-P2AXQ+#-$K{4Cv~Ox@LO z-Ls6{xvbs4%-zN8-OCK#(JbEAOy1pW-s6nk>8#%G%-;3v-un#S0WIJ3-OBcj-}$ZG z{N3N)4d4MT-UMFY=8fP9uHFpZ;O-6K5iZ>mZr}Hf-TJ-X-0k204c-Di;N)%K2aetf zzToWb;13Sp@_owm&EgjR;u$XE9A4uej^iS}<0bCnC?4c1Ug7v{NiN_^Zs1L>;7{)0Q7++QZrw$0=2wp9S+3?=&gNb2=3fry zVJ_#?P2^Q>=P{1wH2<#WH_qoe?&m!Y=7X9! zjlc+`Uh1ZP>Wr`ms=n&1-s+2>2(TXOvOepIkO;PZ>$slliGT>a-s`^p>xgg&!anT8 zUhIcp2*{r7%D(J|PzcWc?9d+Vg+K_@UhUR??SwE0+P>}F-tB`R2;d&>;y&(z5D4ae z?&zNGfdB~X-tO-H?tozF@;>RDUhkPM>iGWYsJ`!|?&|)&>a-s4v99X`f9t@0@V##A z3P0@3-tfsT?GXR$*go;q?(G)8?c|>E;jZo+f9~-9@$EkE^KS3wA4*2gb_>@lgnr`@@j`*go_^i(OvhMh}4*9+=`NU57%5M44 zj``NE`P|O=;_mtA4*Kpc`t(lvm~Q&|j{2mo`T)=Ru5Bt0>`wUO}$Zq=*kNecF z`xwvr;Q#LX9uNHNF8q>C{KaqlqmKNkuKcgg{I%}{)8|j1hYSrRTGXhaLP?b_Wm<^PQ>am;5*k$1>Q$_R z1a0No)vKU_VGS-MdobczhZogS?ATW0NVp(V&NcbcF3XyEW$xsQGw5HRM+FmYT3G2+ z#89&?w))jESFw=;l`V@F?b@|&-Nubem+sxWdiD103mEX=!G;YdPRy9`v=9{yQ1@w=4<*dYQd@tvqtQCF>J@O!_r=8J0k9jx;ye7={qIxm%?ij z-)TH3@}tU|GN0-^EA+3@$5KaV9U^v%+BtF;=^Z6_m&BuqJe|w~3O%FLV~Rbg+`|e! zujC_$zJ%<12)~N-+larA{5uK2mIR!Mz?=;H3BjTiT#CV{9J~s`t|T0YLWKUX@kShT z{KF3(d-U-~Kl%`INFs~ugAXK=RB}l^_Hgn^D5Km%4=Ss)@=87O&~i&IyUYU*FvApc zOg!!|^Gr0;yu%JQ+jR3yJL-^gPCDzXgAP3N)N@Zd=J4}RKm(ma4nhkx^iVnCQ2%sM zMjMR-4oD-FbW%8UwDd+GGwsnxPKRXj(eN|RjYpoSmTzB2o zS6_n-mRMqqwG`P*mF1M#Pn{JN+ES%OmD*LUbrsuKwWXEYTfNm4++M{6mfT^@)e&7F z)ish`Cf$`1UM%JHl3p_HRTE!0^|g~Vnl;lZG#t~&7RVI>UC0&LRW-Ddpl4db&M*kCMH+80y zXFYue6lg<*W|U}2jm8vd9+mc#X(XK{6>2J_R+VZnt%enAHnp~uYdpQ?6>LJq7M5&C z&9)KkwADV6?Izux67DSJ{*vx8?Oqe_IQ71h?>_w=6!1g^f0Xb_4M#jk#TjqhZO9{+ zoAS!-#yoSqIq%$W&_frT^wP~fUGc@)cKmU;C7+yb%P+@U^UeA8{ByuXADwW+cSIa` z)rW80c-WJloq5}z&s}=ntN%T9#d&<4X9DL5j2c3M<&A%Rf;T_*z^6oAFUi0vI zZhWFEpXu(Ww(RL|ef(>m|K10{_z7@+1gxI{(T2VBDX@49M4khe2me9mNicd8B-|TJ zctRAW@C|NYVGCXOLN~NQhBKsL4cov59Oh7mJ7mKeeE35k25}8)AYu`Xctka%L5WLb zViVJV1}H{Ric>_x8LW6kEN1ZxX5eBMz4%2lltGMRBx4!NKn66XQH^UP!x-H7MmWZC z3}T>T9qo8WF@!;nd*ovu!vF?A22zlN1cM3{c*-=&QI&7RV=L?EM_BHWkh2WrArGlYMK-dLkc8wU zCuvDbW-^nU|1*mb9d$Ee(mwME~lNk-U7QFC_`gN(vK` z#N4DYJ&DXvDwCAVJf$;L3C&hY6PDDRr8QNEO&Ds^hTP<#H-!jJB#P6CmhWy;2KZ6L+BMP*M1f8Nmvxv|yDzuCYU86(e z2+=!Aw2u@Wq(xDPQ5R~Ih8)$QM}Y`ZBZ`!XB$c8`v4~PHs+5c@RijJc2va-Cl#etO zq)ictQx@vfkvzqrPbmphA_`TLM1`VJL5Wl@D%F%sMWa($2~|2uRhCo*q*YCb)vRju zhFtBTSBD7JB#QNkWUZoEw}{p-s`ZR)ZKGS~2-iHy_5Y7_Eu>xX8biJEwXa?UY+%Jo z*ut6>v58eHV;k#M$VOJKl&!2)FRRzRa@DVY1*>2OOIE`k7Oje1EL$D>Shz}dvUIiU z3h@eC&Ca&7wgqi&N6TB&{x-G3Wo>a^n_0dp7qHAFtaA|yUB*fmvec!lb&rc(+4^<4 zf^Dv0pR3sDI(E8}t*&LytJUPHcf0KEu6w@=-|)(Jy!0)veX)w%?CQ6+{Kc(*cMD+O z3OKj~rt23hd|?b{_zPa(aECqoVJ~z+#3LqgiMzlB6sK6lE9Sx$T>N4f$9M}`pmB|D zd}A$SLB~7hagVcr1t14m$V0}$6^wjjBq#X_R{vmflb!rzD^x+sQ>Jp2t3U-TXIaZz zrot4w{ADnQc?wb>bD7P2W+_BL&1+_Jo1*{)ILBGebB2P3?R;Sn=effs=JSYI{O1(Q zSkN!VaiMGMV?^(m$cqlLk{x|yC`Y=}F7}na-n*^PTUk zXFd11&wvK>pa*SeLnk`XjArzsA1!G~SGv-e#`LB)?P*VkI@F{lwW;ll>O8BO&#eBl zs|5|~LdzP_v|hBW9gXWq>zdNMzO=734eU+}8`Q)ewXrpfY!EBk#LQ-~vtjP4JsyTt5XvAbgo?;Fdz$Mhbuy_1aZ zC+oY){NA#^!wm2<3%tz)pR>U+jBpPtoWu-QvBO~uaT`mV#}pT`#gUA0Cu^L_9M`hP z!3=UUi=53Qm$S+7jB*aE+|MjWvC9b!a~jKB(KH9L%^{6*ChOeNJjb%nISq6&3tiMi zhqKWwjP#@{{lrXfvD0S^^&Ct6$5bz})t8L*C~N)7T<@~i#|-u~i~Y@Hud~_F9%8k# zz3onid)%c?_qtmh?|Iic-}~-$zz1IJgfG0&53lyMGu`cPhq~P7PIbHA9qW4EJJmKgBr@Qa*4t%}~AMnH{ zyzy_3e9^mo_j2#O-G8t5;QM{}f-k<|udnpnYk&FNZ@%}R5B}(jfBNLFzWI@k`{b*? z^z28y`&SQt*OR~4qd&5H0s}li1WdpuZ~_KwKnHw4Cujl*oInb!z$Rb<49q|c+(0H+ z0uTH^5DdX3Py!MxK@&VdB}f7lTtOCW!6ZNe7>q#~oIxZw0vo(R9L&KZFajRzK_C1< zBPaqP96};2!Xh97BuqjjTtXrk0w;VzD2&1(5CST!LMyyNAqWC3+(Itw!XN+wFbqR6 z977;bKr=i*2u#BUv_LkTK>rSW!weKbIs8Brtiuv?K|EYR8r;Je)ImSIK_Cpo9yCHi z96}~M#3YnLMSMamY{V+`LP*>~GMvOPJi{|oLp5x}HiSbsoWnV^Lp#jFJmf<@{KG#K zL_sXXLPSJFT*O6mL`RIoNTftcv_vz+#5B}IHsr)N^h7xX#X1y4JS4?EG(|r|#XwX= zLS)55bVWsk#YU7xNTkI{v_%EPMF`YI3*7L`WZ0NFroNC3HwAgh(rt zNG_yEF|qegh?utNlBzh zFtkYn#L1l0$qVGk4)nTc8Z^osM9Lsk$|GdTCUnXvgvuIAoJ7ss)XvJ}PR#Vq%>+-+6wlBkPpbR@`@B#5%+DY20siby|NKuM z=m7y8Py#K`9^e54O;810P#)L;2YpZojnEy?0Sc{93%yVs$N>%AP!8?T9KZn(4N(yt zQ5?7d6FpHBP0<^$0Tyjh7kyD1r~w(BQ5vn$8lV9j%~2iQQ5u*5AN^4v4bmBq0U|9@ zBRx_Xhyf*CQYLNE7=QsNjZ!I{QW(%rE4@zu&C>ofP%a%%2K~|ml~6H#Pz){83iVJl z-B1!;)Bg}vQ8ztN7>&~wwNW~qQ69b192HVM{ZShj(ksIk?W5KMmACB~(H+R4YZ)ELBu4Wz;Wq zR569rGL=*`rPMXGR5!)cIMq}-<wb>QL*%;N? z8|B#^_1Pf>+9Va)Cnee{HCm(%P^D$srgd4Ujar$d+N!l#tj$`T<=U?GS+EUTp(We0 zHQBRO+NEV#r+r$OmD;JLS*yKToYmT`$Ot=zv&Tc*`qsO4O$^<1n4U9J^fuq9oxHQmcaUBPwQ&6V2Dwc5|s+W*k? z+R+u;(ly)LRoTqd-PPsY*7e=j1>V>d-q|JI+BII3#oW|Y-oj;G#C6`qg)Q25#UKKmiDjU=CU<%&i2-aXPzF-gz;|?}qG9FDjlHFje+ zj^j9{V>-5DBgW$-)?+5-<0tlGDF);!7Gx|YL00!m*7Ul*f<_R|D3`XV;R^}3B<`s747>4E>mgXL&<{`Fb^u=cP z)n@wTX8rYM00w6R7H0+~X9+fE3`S=UR%a4sXBBp57=~vXmS-NOXa6C#XC%gF_SI)6 z=4br%XDSA00v2d3CTIvYXfQ@-4pwM0W@r?4Xf}pu8kT4|rf49xX!FJBjMnJ;<>>zP z=m7@l1QzKBCg}<`=?zBd5LW3EX6Y7o=^2LU9G2-Hrs*QKX`GHZW#SsE%rxrs}G;=&RQ0o#tqt{%MdF>Y*lSqdsbsR_di@X{UZ_n3n3P zrfHjAUz~<(t)A#^o*v;OO}7HqaI?6=Npo>pw2W^AH%Y@~*4rj~4|rfjOV z?8C-vx%TPB7V5?}>c>{<$ad<s3>eJTf#8&OiX6?>)?f=h)?a-F((WdRvwrz|? z?9A5fy5?=X_U*j}Zod}pz$R{*{s8N~ZtTwP5AXo)?r!h?ZV%`H@g8sTF7FQD0Q638 z^?(Yo1000kg0UvM-xBvq`a0E~A3$OqN zZ*T{Ha0{pa37>EZukZ?>01VG?4c~AIm;ev|a1ami36KC1FL4t;aS4b36<=`{Z}A9# z02q&P8J}?o&~6*QZt%|W?lx~8A8+>l@${B&A%AcDF7o>JZzSJu0$=g~S8yjka0rj` z2Dfl3pKuPp@(dSoE&p&7@A49NaWG$T8Xxl*zwsN_asM6f@g4_qARqD}H*zCS@+4<+ zCV%oLmvSku@+!x2EZ_1i_i`@}^DrlKGB+36hV}cF_5P;y0k`!8$Mpx-^$O?p z4fpjB2lf*e_7*4h88>$9Mt1L3cJgL+^>%jnhIadwcK)Vz0k?Jp$94zTb_(Zq4fl2s z2X_+}cNQmi88>$vM|bX4cOPeW^mcb5hj;pxcmE})cL29{D93jO*LN%DcMSJ;E(drL z7kDuzco;W$>qhv5SNQX0`1W@A`G)xXmiYgs_yV{11;_XZ*Z2$P_zw5@5eNAc7x@<_ z`5HHQln-x}XZe6e4;n}yGMMnclo`S`M$ULzt{P|_xZsW`ocH*%UAfk*Zjrj z{KohE#|Qn$7yZd6{mM6egva~DSN*bQegCv~{k4aEx0n66r+t!t0OLP?IF2WSB4pML7E{sv$G?9YDf-+l&I0Pp{P@DKk5Pyq5TfAc?o1xNt(Uw`&*{{%n) z_>X`2pML~60QX@t8$Og)mMT>UrTDNZF#-&U5?p?il`}PG4 zc<^Auh7%`d%=qzR$zmy!wR{${TFq@a!}UBDv|Z78N%J-R7qwv3g;^tZy%@G**g%mMco~FkMx}q_)Fn6iSINX6!}r*O_@)1o)!96>0_xUvM_NhRPJE~pI7n`L|=XOrG+0``n|=UT>jMsAYKCQMW9~>28JME3LeIw zVh%P2A!HH?M4?$0HiTh@8hXUxM;?9%B1|I2L}H013WefODz3;PRW4QqV~jG=c#w@Z z;)s!sJM!pbNkFb7!rTB%Bi8k if@-6vwjOILkh(5wX|t^|32d~VCQ2)gqh9M{Kma>sw7>2E literal 0 HcmV?d00001 diff --git a/ext/gd/tests/bug74435.phpt b/ext/gd/tests/bug74435.phpt new file mode 100644 index 0000000000000..9d11eb3839f2d --- /dev/null +++ b/ext/gd/tests/bug74435.phpt @@ -0,0 +1,27 @@ +--TEST-- +Bug #74435 (Buffer over-read into uninitialized memory) +--SKIPIF-- + +--FILE-- += 2) { + list($red, $green, $blue, $alpha) = array_values(imagecolorsforindex($im, $index)); + if ($red !== 0 || $green !== 0 || $blue !== 0 || $alpha !== 0) { + echo "unexpected color at ($i, $j)\n"; + } + } + } +} +?> +===DONE=== +--EXPECTF-- +resource(%d) of type (gd) +===DONE=== From f8c514ba6b7962a219296a837b2dbc22f749e736 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sun, 25 Jun 2017 21:15:26 +0200 Subject: [PATCH 06/16] Fixed bug #74111 --- ext/standard/tests/serialize/bug25378.phpt | 2 +- ext/standard/tests/serialize/bug74111.phpt | 10 + ext/standard/var_unserializer.c | 1153 ++++++++++---------- ext/standard/var_unserializer.re | 11 +- 4 files changed, 580 insertions(+), 596 deletions(-) create mode 100644 ext/standard/tests/serialize/bug74111.phpt diff --git a/ext/standard/tests/serialize/bug25378.phpt b/ext/standard/tests/serialize/bug25378.phpt index e865b96e9935f..e95a427006201 100644 --- a/ext/standard/tests/serialize/bug25378.phpt +++ b/ext/standard/tests/serialize/bug25378.phpt @@ -42,7 +42,7 @@ bool(false) Notice: unserialize(): Error at offset 17 of 33 bytes in %sbug25378.php on line %d bool(false) -Notice: unserialize(): Error at offset 33 of 32 bytes in %sbug25378.php on line %d +Notice: unserialize(): Error at offset 32 of 32 bytes in %sbug25378.php on line %d bool(false) Notice: unserialize(): Error at offset 2 of 13 bytes in %sbug25378.php on line %d diff --git a/ext/standard/tests/serialize/bug74111.phpt b/ext/standard/tests/serialize/bug74111.phpt new file mode 100644 index 0000000000000..62922bea55ae0 --- /dev/null +++ b/ext/standard/tests/serialize/bug74111.phpt @@ -0,0 +1,10 @@ +--TEST-- +Bug #74111: Heap buffer overread (READ: 1) finish_nested_data from unserialize +--FILE-- + +--EXPECTF-- +Notice: unserialize(): Error at offset 25 of 23 bytes in %s on line %d +bool(false) diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index 6706866f2bcc6..f94d1763bbf1d 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.16 */ +/* Generated by re2c 0.15.3 */ #line 1 "ext/standard/var_unserializer.re" /* +----------------------------------------------------------------------+ @@ -406,13 +406,12 @@ static inline int process_nested_data(UNSERIALIZE_PARAMETER, HashTable *ht, long static inline int finish_nested_data(UNSERIALIZE_PARAMETER) { - if (*((*p)++) == '}') - return 1; + if (*p >= max || **p != '}') { + return 0; + } -#if SOMETHING_NEW_MIGHT_LEAD_TO_CRASH_ENABLE_IF_YOU_ARE_BRAVE - zval_ptr_dtor(rval); -#endif - return 0; + (*p)++; + return 1; } static inline int object_custom(UNSERIALIZE_PARAMETER, zend_class_entry *ce) @@ -529,7 +528,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) -#line 533 "ext/standard/var_unserializer.c" +#line 532 "ext/standard/var_unserializer.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -570,407 +569,539 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) yych = *YYCURSOR; switch (yych) { case 'C': - case 'O': goto yy4; + case 'O': goto yy13; case 'N': goto yy5; - case 'R': goto yy6; - case 'S': goto yy7; - case 'a': goto yy8; - case 'b': goto yy9; - case 'd': goto yy10; - case 'i': goto yy11; + case 'R': goto yy2; + case 'S': goto yy10; + case 'a': goto yy11; + case 'b': goto yy6; + case 'd': goto yy8; + case 'i': goto yy7; case 'o': goto yy12; - case 'r': goto yy13; - case 's': goto yy14; - case '}': goto yy15; - default: goto yy2; + case 'r': goto yy4; + case 's': goto yy9; + case '}': goto yy14; + default: goto yy16; } yy2: - ++YYCURSOR; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == ':') goto yy95; yy3: -#line 909 "ext/standard/var_unserializer.re" +#line 908 "ext/standard/var_unserializer.re" { return 0; } #line 593 "ext/standard/var_unserializer.c" yy4: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy17; + if (yych == ':') goto yy89; goto yy3; yy5: yych = *++YYCURSOR; - if (yych == ';') goto yy19; + if (yych == ';') goto yy87; goto yy3; yy6: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy21; + if (yych == ':') goto yy83; goto yy3; yy7: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy22; + if (yych == ':') goto yy77; goto yy3; yy8: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy23; + if (yych == ':') goto yy53; goto yy3; yy9: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy24; + if (yych == ':') goto yy46; goto yy3; yy10: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy25; + if (yych == ':') goto yy39; goto yy3; yy11: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy26; + if (yych == ':') goto yy32; goto yy3; yy12: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy27; + if (yych == ':') goto yy25; goto yy3; yy13: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy28; + if (yych == ':') goto yy17; goto yy3; yy14: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy29; - goto yy3; -yy15: ++YYCURSOR; -#line 903 "ext/standard/var_unserializer.re" +#line 902 "ext/standard/var_unserializer.re" { /* this is the case where we have less data than planned */ php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unexpected end of serialized data"); return 0; /* not sure if it should be 0 or 1 here? */ } -#line 646 "ext/standard/var_unserializer.c" +#line 642 "ext/standard/var_unserializer.c" +yy16: + yych = *++YYCURSOR; + goto yy3; yy17: yych = *++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy31; + goto yy20; } - if (yych == '+') goto yy30; + if (yych == '+') goto yy19; yy18: YYCURSOR = YYMARKER; goto yy3; yy19: - ++YYCURSOR; -#line 581 "ext/standard/var_unserializer.re" - { - *p = YYCURSOR; - INIT_PZVAL(*rval); - ZVAL_NULL(*rval); - return 1; -} -#line 665 "ext/standard/var_unserializer.c" -yy21: yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy33; - goto yy18; - } else { - if (yych <= '-') goto yy33; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy34; - goto yy18; + if (yybm[0+yych] & 128) { + goto yy20; } -yy22: - yych = *++YYCURSOR; - if (yych == '+') goto yy36; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy37; - goto yy18; -yy23: - yych = *++YYCURSOR; - if (yych == '+') goto yy39; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy40; goto yy18; -yy24: - yych = *++YYCURSOR; +yy20: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy20; + } if (yych <= '/') goto yy18; - if (yych <= '1') goto yy42; - goto yy18; -yy25: + if (yych >= ';') goto yy18; yych = *++YYCURSOR; - if (yych <= '/') { - if (yych <= ',') { - if (yych == '+') goto yy43; - goto yy18; - } else { - if (yych <= '-') goto yy44; - if (yych <= '.') goto yy45; - goto yy18; + if (yych != '"') goto yy18; + ++YYCURSOR; +#line 748 "ext/standard/var_unserializer.re" + { + size_t len, len2, len3, maxlen; + long elements; + char *class_name; + zend_class_entry *ce; + zend_class_entry **pce; + int incomplete_class = 0; + + int custom_object = 0; + + zval *user_func; + zval *retval_ptr; + zval **args[1]; + zval *arg_func_name; + + if (!var_hash) return 0; + if (*start == 'C') { + custom_object = 1; + } + + INIT_PZVAL(*rval); + len2 = len = parse_uiv(start + 2); + maxlen = max - YYCURSOR; + if (maxlen < len || len == 0) { + *p = start + 2; + return 0; + } + + class_name = (char*)YYCURSOR; + + YYCURSOR += len; + + if (*(YYCURSOR) != '"') { + *p = YYCURSOR; + return 0; + } + if (*(YYCURSOR+1) != ':') { + *p = YYCURSOR+1; + return 0; + } + + len3 = strspn(class_name, "0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377\\"); + if (len3 != len) + { + *p = YYCURSOR + len3 - len; + return 0; + } + + class_name = estrndup(class_name, len); + + do { + /* Try to find class directly */ + BG(serialize_lock)++; + if (zend_lookup_class(class_name, len2, &pce TSRMLS_CC) == SUCCESS) { + BG(serialize_lock)--; + if (EG(exception)) { + efree(class_name); + return 0; + } + ce = *pce; + break; } - } else { - if (yych <= 'I') { - if (yych <= '9') goto yy46; - if (yych <= 'H') goto yy18; - goto yy48; + BG(serialize_lock)--; + + if (EG(exception)) { + efree(class_name); + return 0; + } + + /* Check for unserialize callback */ + if ((PG(unserialize_callback_func) == NULL) || (PG(unserialize_callback_func)[0] == '\0')) { + incomplete_class = 1; + ce = PHP_IC_ENTRY; + break; + } + + /* Call unserialize callback */ + MAKE_STD_ZVAL(user_func); + ZVAL_STRING(user_func, PG(unserialize_callback_func), 1); + args[0] = &arg_func_name; + MAKE_STD_ZVAL(arg_func_name); + ZVAL_STRING(arg_func_name, class_name, 1); + BG(serialize_lock)++; + if (call_user_function_ex(CG(function_table), NULL, user_func, &retval_ptr, 1, args, 0, NULL TSRMLS_CC) != SUCCESS) { + BG(serialize_lock)--; + if (EG(exception)) { + efree(class_name); + zval_ptr_dtor(&user_func); + zval_ptr_dtor(&arg_func_name); + return 0; + } + php_error_docref(NULL TSRMLS_CC, E_WARNING, "defined (%s) but not found", user_func->value.str.val); + incomplete_class = 1; + ce = PHP_IC_ENTRY; + zval_ptr_dtor(&user_func); + zval_ptr_dtor(&arg_func_name); + break; + } + BG(serialize_lock)--; + if (retval_ptr) { + zval_ptr_dtor(&retval_ptr); + } + if (EG(exception)) { + efree(class_name); + zval_ptr_dtor(&user_func); + zval_ptr_dtor(&arg_func_name); + return 0; + } + + /* The callback function may have defined the class */ + BG(serialize_lock)++; + if (zend_lookup_class(class_name, len2, &pce TSRMLS_CC) == SUCCESS) { + ce = *pce; } else { - if (yych == 'N') goto yy49; - goto yy18; + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Function %s() hasn't defined the class it was called for", user_func->value.str.val); + incomplete_class = 1; + ce = PHP_IC_ENTRY; + } + BG(serialize_lock)--; + + zval_ptr_dtor(&user_func); + zval_ptr_dtor(&arg_func_name); + break; + } while (1); + + *p = YYCURSOR; + + if (custom_object) { + int ret; + + ret = object_custom(UNSERIALIZE_PASSTHRU, ce); + + if (ret && incomplete_class) { + php_store_class_name(*rval, class_name, len2); } + efree(class_name); + return ret; } -yy26: - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy50; - goto yy18; - } else { - if (yych <= '-') goto yy50; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy51; - goto yy18; + + elements = object_common1(UNSERIALIZE_PASSTHRU, ce); + + if (elements < 0) { + efree(class_name); + return 0; } -yy27: - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy53; - goto yy18; - } else { - if (yych <= '-') goto yy53; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy54; - goto yy18; + + if (incomplete_class) { + php_store_class_name(*rval, class_name, len2); } -yy28: + efree(class_name); + + return object_common2(UNSERIALIZE_PASSTHRU, elements); +} +#line 827 "ext/standard/var_unserializer.c" +yy25: yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '+') goto yy56; - goto yy18; + if (yych != '+') goto yy18; } else { - if (yych <= '-') goto yy56; + if (yych <= '-') goto yy26; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy57; + if (yych <= '9') goto yy27; goto yy18; } -yy29: +yy26: yych = *++YYCURSOR; - if (yych == '+') goto yy59; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy60; - goto yy18; -yy30: - yych = *++YYCURSOR; - if (yybm[0+yych] & 128) { - goto yy31; - } - goto yy18; -yy31: + if (yych >= ':') goto yy18; +yy27: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - if (yybm[0+yych] & 128) { - goto yy31; - } if (yych <= '/') goto yy18; - if (yych <= ':') goto yy62; - goto yy18; -yy33: + if (yych <= '9') goto yy27; + if (yych >= ';') goto yy18; yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy34: + if (yych != '"') goto yy18; ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; +#line 735 "ext/standard/var_unserializer.re" + { + long elements; + if (!var_hash) return 0; + + INIT_PZVAL(*rval); + + elements = object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR); + if (elements < 0) { + return 0; + } + return object_common2(UNSERIALIZE_PASSTHRU, elements); +} +#line 865 "ext/standard/var_unserializer.c" +yy32: + yych = *++YYCURSOR; + if (yych == '+') goto yy33; if (yych <= '/') goto yy18; if (yych <= '9') goto yy34; - if (yych == ';') goto yy63; goto yy18; -yy36: +yy33: yych = *++YYCURSOR; if (yych <= '/') goto yy18; if (yych >= ':') goto yy18; -yy37: +yy34: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy37; - if (yych <= ':') goto yy65; - goto yy18; -yy39: + if (yych <= '9') goto yy34; + if (yych >= ';') goto yy18; yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy40: + if (yych != '{') goto yy18; ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy40; - if (yych <= ':') goto yy66; - goto yy18; -yy42: - yych = *++YYCURSOR; - if (yych == ';') goto yy67; - goto yy18; -yy43: - yych = *++YYCURSOR; - if (yych == '.') goto yy45; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy46; - goto yy18; -yy44: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych != '.') goto yy18; - } else { - if (yych <= '9') goto yy46; - if (yych == 'I') goto yy48; - goto yy18; +#line 714 "ext/standard/var_unserializer.re" + { + long elements = parse_iv(start + 2); + /* use iv() not uiv() in order to check data range */ + *p = YYCURSOR; + if (!var_hash) return 0; + + if (elements < 0) { + return 0; } -yy45: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy69; - goto yy18; -yy46: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); - yych = *YYCURSOR; - if (yych <= ':') { - if (yych <= '.') { - if (yych <= '-') goto yy18; - goto yy69; - } else { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy46; - goto yy18; - } - } else { - if (yych <= 'E') { - if (yych <= ';') goto yy71; - if (yych <= 'D') goto yy18; - goto yy73; - } else { - if (yych == 'e') goto yy73; - goto yy18; - } + + INIT_PZVAL(*rval); + + array_init_size(*rval, elements); + + if (!process_nested_data(UNSERIALIZE_PASSTHRU, Z_ARRVAL_PP(rval), elements, 0)) { + return 0; } -yy48: - yych = *++YYCURSOR; - if (yych == 'N') goto yy74; - goto yy18; -yy49: - yych = *++YYCURSOR; - if (yych == 'A') goto yy75; - goto yy18; -yy50: + + return finish_nested_data(UNSERIALIZE_PASSTHRU); +} +#line 907 "ext/standard/var_unserializer.c" +yy39: yych = *++YYCURSOR; + if (yych == '+') goto yy40; if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy51: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy51; - if (yych == ';') goto yy76; + if (yych <= '9') goto yy41; goto yy18; -yy53: +yy40: yych = *++YYCURSOR; if (yych <= '/') goto yy18; if (yych >= ':') goto yy18; -yy54: +yy41: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy54; - if (yych <= ':') goto yy78; - goto yy18; -yy56: + if (yych <= '9') goto yy41; + if (yych >= ';') goto yy18; yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy57: + if (yych != '"') goto yy18; ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; +#line 679 "ext/standard/var_unserializer.re" + { + size_t len, maxlen; + char *str; + + len = parse_uiv(start + 2); + maxlen = max - YYCURSOR; + if (maxlen < len) { + *p = start + 2; + return 0; + } + + if ((str = unserialize_str(&YYCURSOR, &len, maxlen)) == NULL) { + return 0; + } + + if (*(YYCURSOR) != '"') { + efree(str); + *p = YYCURSOR; + return 0; + } + + if (*(YYCURSOR + 1) != ';') { + efree(str); + *p = YYCURSOR + 1; + return 0; + } + + YYCURSOR += 2; + *p = YYCURSOR; + + INIT_PZVAL(*rval); + ZVAL_STRINGL(*rval, str, len, 0); + return 1; +} +#line 963 "ext/standard/var_unserializer.c" +yy46: + yych = *++YYCURSOR; + if (yych == '+') goto yy47; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy57; - if (yych == ';') goto yy79; + if (yych <= '9') goto yy48; goto yy18; -yy59: +yy47: yych = *++YYCURSOR; if (yych <= '/') goto yy18; if (yych >= ':') goto yy18; -yy60: +yy48: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy60; - if (yych <= ':') goto yy81; - goto yy18; -yy62: + if (yych <= '9') goto yy48; + if (yych >= ';') goto yy18; yych = *++YYCURSOR; - if (yych == '"') goto yy82; - goto yy18; -yy63: + if (yych != '"') goto yy18; ++YYCURSOR; -#line 537 "ext/standard/var_unserializer.re" +#line 646 "ext/standard/var_unserializer.re" { - long id; + size_t len, maxlen; + char *str; - *p = YYCURSOR; - if (!var_hash) return 0; + len = parse_uiv(start + 2); + maxlen = max - YYCURSOR; + if (maxlen < len) { + *p = start + 2; + return 0; + } - id = parse_iv(start + 2) - 1; - if (id == -1 || var_access(var_hash, id, &rval_ref) != SUCCESS) { + str = (char*)YYCURSOR; + + YYCURSOR += len; + + if (*(YYCURSOR) != '"') { + *p = YYCURSOR; return 0; } - if (*rval != NULL) { - var_push_dtor_no_addref(var_hash, rval); + if (*(YYCURSOR + 1) != ';') { + *p = YYCURSOR + 1; + return 0; } - *rval = *rval_ref; - Z_ADDREF_PP(rval); - Z_SET_ISREF_PP(rval); + YYCURSOR += 2; + *p = YYCURSOR; + + INIT_PZVAL(*rval); + ZVAL_STRINGL(*rval, str, len, 1); return 1; } -#line 936 "ext/standard/var_unserializer.c" -yy65: +#line 1017 "ext/standard/var_unserializer.c" +yy53: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych <= ',') { + if (yych == '+') goto yy57; + goto yy18; + } else { + if (yych <= '-') goto yy55; + if (yych <= '.') goto yy60; + goto yy18; + } + } else { + if (yych <= 'I') { + if (yych <= '9') goto yy58; + if (yych <= 'H') goto yy18; + goto yy56; + } else { + if (yych != 'N') goto yy18; + } + } yych = *++YYCURSOR; - if (yych == '"') goto yy84; + if (yych == 'A') goto yy76; goto yy18; -yy66: +yy55: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy60; + goto yy18; + } else { + if (yych <= '9') goto yy58; + if (yych != 'I') goto yy18; + } +yy56: yych = *++YYCURSOR; - if (yych == '{') goto yy86; + if (yych == 'N') goto yy72; goto yy18; -yy67: +yy57: + yych = *++YYCURSOR; + if (yych == '.') goto yy60; + if (yych <= '/') goto yy18; + if (yych >= ':') goto yy18; +yy58: ++YYCURSOR; -#line 588 "ext/standard/var_unserializer.re" - { - *p = YYCURSOR; - INIT_PZVAL(*rval); - ZVAL_BOOL(*rval, parse_iv(start + 2)); - return 1; -} -#line 954 "ext/standard/var_unserializer.c" -yy69: + if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); + yych = *YYCURSOR; + if (yych <= ':') { + if (yych <= '.') { + if (yych <= '-') goto yy18; + goto yy70; + } else { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy58; + goto yy18; + } + } else { + if (yych <= 'E') { + if (yych <= ';') goto yy63; + if (yych <= 'D') goto yy18; + goto yy65; + } else { + if (yych == 'e') goto yy65; + goto yy18; + } + } +yy60: + yych = *++YYCURSOR; + if (yych <= '/') goto yy18; + if (yych >= ':') goto yy18; +yy61: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych <= ';') { if (yych <= '/') goto yy18; - if (yych <= '9') goto yy69; + if (yych <= '9') goto yy61; if (yych <= ':') goto yy18; } else { if (yych <= 'E') { if (yych <= 'D') goto yy18; - goto yy73; + goto yy65; } else { - if (yych == 'e') goto yy73; + if (yych == 'e') goto yy65; goto yy18; } } -yy71: +yy63: ++YYCURSOR; -#line 637 "ext/standard/var_unserializer.re" +#line 636 "ext/standard/var_unserializer.re" { #if SIZEOF_LONG == 4 use_double: @@ -980,408 +1111,252 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) ZVAL_DOUBLE(*rval, zend_strtod((const char *)start + 2, NULL)); return 1; } -#line 984 "ext/standard/var_unserializer.c" -yy73: +#line 1115 "ext/standard/var_unserializer.c" +yy65: yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '+') goto yy88; - goto yy18; + if (yych != '+') goto yy18; } else { - if (yych <= '-') goto yy88; + if (yych <= '-') goto yy66; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy89; + if (yych <= '9') goto yy67; goto yy18; } -yy74: +yy66: yych = *++YYCURSOR; - if (yych == 'F') goto yy91; + if (yych <= ',') { + if (yych == '+') goto yy69; + goto yy18; + } else { + if (yych <= '-') goto yy69; + if (yych <= '/') goto yy18; + if (yych >= ':') goto yy18; + } +yy67: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy67; + if (yych == ';') goto yy63; goto yy18; -yy75: +yy69: yych = *++YYCURSOR; - if (yych == 'N') goto yy91; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy67; goto yy18; -yy76: +yy70: ++YYCURSOR; -#line 595 "ext/standard/var_unserializer.re" - { -#if SIZEOF_LONG == 4 - int digits = YYCURSOR - start - 3; - - if (start[2] == '-' || start[2] == '+') { - digits--; - } - - /* Use double for large long values that were serialized on a 64-bit system */ - if (digits >= MAX_LENGTH_OF_LONG - 1) { - if (digits == MAX_LENGTH_OF_LONG - 1) { - int cmp = strncmp(YYCURSOR - MAX_LENGTH_OF_LONG, long_min_digits, MAX_LENGTH_OF_LONG - 1); - - if (!(cmp < 0 || (cmp == 0 && start[2] == '-'))) { - goto use_double; - } + if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); + yych = *YYCURSOR; + if (yych <= ';') { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy70; + if (yych <= ':') goto yy18; + goto yy63; + } else { + if (yych <= 'E') { + if (yych <= 'D') goto yy18; + goto yy65; } else { - goto use_double; + if (yych == 'e') goto yy65; + goto yy18; } } -#endif - *p = YYCURSOR; - INIT_PZVAL(*rval); - ZVAL_LONG(*rval, parse_iv(start + 2)); - return 1; -} -#line 1033 "ext/standard/var_unserializer.c" -yy78: +yy72: yych = *++YYCURSOR; - if (yych == '"') goto yy92; - goto yy18; -yy79: + if (yych != 'F') goto yy18; +yy73: + yych = *++YYCURSOR; + if (yych != ';') goto yy18; ++YYCURSOR; -#line 558 "ext/standard/var_unserializer.re" +#line 621 "ext/standard/var_unserializer.re" { - long id; + *p = YYCURSOR; + INIT_PZVAL(*rval); - *p = YYCURSOR; - if (!var_hash) return 0; - - id = parse_iv(start + 2) - 1; - if (id == -1 || var_access(var_hash, id, &rval_ref) != SUCCESS) { - return 0; - } - - if (*rval == *rval_ref) return 0; - - if (*rval != NULL) { - var_push_dtor_no_addref(var_hash, rval); + if (!strncmp(start + 2, "NAN", 3)) { + ZVAL_DOUBLE(*rval, php_get_nan()); + } else if (!strncmp(start + 2, "INF", 3)) { + ZVAL_DOUBLE(*rval, php_get_inf()); + } else if (!strncmp(start + 2, "-INF", 4)) { + ZVAL_DOUBLE(*rval, -php_get_inf()); } - *rval = *rval_ref; - Z_ADDREF_PP(rval); - Z_UNSET_ISREF_PP(rval); return 1; } -#line 1063 "ext/standard/var_unserializer.c" -yy81: +#line 1189 "ext/standard/var_unserializer.c" +yy76: yych = *++YYCURSOR; - if (yych == '"') goto yy94; + if (yych == 'N') goto yy73; goto yy18; -yy82: +yy77: + yych = *++YYCURSOR; + if (yych <= ',') { + if (yych != '+') goto yy18; + } else { + if (yych <= '-') goto yy78; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy79; + goto yy18; + } +yy78: + yych = *++YYCURSOR; + if (yych <= '/') goto yy18; + if (yych >= ':') goto yy18; +yy79: ++YYCURSOR; -#line 749 "ext/standard/var_unserializer.re" + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy79; + if (yych != ';') goto yy18; + ++YYCURSOR; +#line 594 "ext/standard/var_unserializer.re" { - size_t len, len2, len3, maxlen; - long elements; - char *class_name; - zend_class_entry *ce; - zend_class_entry **pce; - int incomplete_class = 0; - - int custom_object = 0; - - zval *user_func; - zval *retval_ptr; - zval **args[1]; - zval *arg_func_name; - - if (!var_hash) return 0; - if (*start == 'C') { - custom_object = 1; - } - - INIT_PZVAL(*rval); - len2 = len = parse_uiv(start + 2); - maxlen = max - YYCURSOR; - if (maxlen < len || len == 0) { - *p = start + 2; - return 0; - } - - class_name = (char*)YYCURSOR; - - YYCURSOR += len; - - if (*(YYCURSOR) != '"') { - *p = YYCURSOR; - return 0; - } - if (*(YYCURSOR+1) != ':') { - *p = YYCURSOR+1; - return 0; - } +#if SIZEOF_LONG == 4 + int digits = YYCURSOR - start - 3; - len3 = strspn(class_name, "0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377\\"); - if (len3 != len) - { - *p = YYCURSOR + len3 - len; - return 0; + if (start[2] == '-' || start[2] == '+') { + digits--; } - class_name = estrndup(class_name, len); - - do { - /* Try to find class directly */ - BG(serialize_lock)++; - if (zend_lookup_class(class_name, len2, &pce TSRMLS_CC) == SUCCESS) { - BG(serialize_lock)--; - if (EG(exception)) { - efree(class_name); - return 0; - } - ce = *pce; - break; - } - BG(serialize_lock)--; - - if (EG(exception)) { - efree(class_name); - return 0; - } - - /* Check for unserialize callback */ - if ((PG(unserialize_callback_func) == NULL) || (PG(unserialize_callback_func)[0] == '\0')) { - incomplete_class = 1; - ce = PHP_IC_ENTRY; - break; - } + /* Use double for large long values that were serialized on a 64-bit system */ + if (digits >= MAX_LENGTH_OF_LONG - 1) { + if (digits == MAX_LENGTH_OF_LONG - 1) { + int cmp = strncmp(YYCURSOR - MAX_LENGTH_OF_LONG, long_min_digits, MAX_LENGTH_OF_LONG - 1); - /* Call unserialize callback */ - MAKE_STD_ZVAL(user_func); - ZVAL_STRING(user_func, PG(unserialize_callback_func), 1); - args[0] = &arg_func_name; - MAKE_STD_ZVAL(arg_func_name); - ZVAL_STRING(arg_func_name, class_name, 1); - BG(serialize_lock)++; - if (call_user_function_ex(CG(function_table), NULL, user_func, &retval_ptr, 1, args, 0, NULL TSRMLS_CC) != SUCCESS) { - BG(serialize_lock)--; - if (EG(exception)) { - efree(class_name); - zval_ptr_dtor(&user_func); - zval_ptr_dtor(&arg_func_name); - return 0; + if (!(cmp < 0 || (cmp == 0 && start[2] == '-'))) { + goto use_double; } - php_error_docref(NULL TSRMLS_CC, E_WARNING, "defined (%s) but not found", user_func->value.str.val); - incomplete_class = 1; - ce = PHP_IC_ENTRY; - zval_ptr_dtor(&user_func); - zval_ptr_dtor(&arg_func_name); - break; - } - BG(serialize_lock)--; - if (retval_ptr) { - zval_ptr_dtor(&retval_ptr); - } - if (EG(exception)) { - efree(class_name); - zval_ptr_dtor(&user_func); - zval_ptr_dtor(&arg_func_name); - return 0; - } - - /* The callback function may have defined the class */ - BG(serialize_lock)++; - if (zend_lookup_class(class_name, len2, &pce TSRMLS_CC) == SUCCESS) { - ce = *pce; } else { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Function %s() hasn't defined the class it was called for", user_func->value.str.val); - incomplete_class = 1; - ce = PHP_IC_ENTRY; - } - BG(serialize_lock)--; - - zval_ptr_dtor(&user_func); - zval_ptr_dtor(&arg_func_name); - break; - } while (1); - - *p = YYCURSOR; - - if (custom_object) { - int ret; - - ret = object_custom(UNSERIALIZE_PASSTHRU, ce); - - if (ret && incomplete_class) { - php_store_class_name(*rval, class_name, len2); + goto use_double; } - efree(class_name); - return ret; - } - - elements = object_common1(UNSERIALIZE_PASSTHRU, ce); - - if (elements < 0) { - efree(class_name); - return 0; - } - - if (incomplete_class) { - php_store_class_name(*rval, class_name, len2); } - efree(class_name); - - return object_common2(UNSERIALIZE_PASSTHRU, elements); +#endif + *p = YYCURSOR; + INIT_PZVAL(*rval); + ZVAL_LONG(*rval, parse_iv(start + 2)); + return 1; } -#line 1224 "ext/standard/var_unserializer.c" -yy84: +#line 1243 "ext/standard/var_unserializer.c" +yy83: + yych = *++YYCURSOR; + if (yych <= '/') goto yy18; + if (yych >= '2') goto yy18; + yych = *++YYCURSOR; + if (yych != ';') goto yy18; ++YYCURSOR; -#line 680 "ext/standard/var_unserializer.re" +#line 587 "ext/standard/var_unserializer.re" { - size_t len, maxlen; - char *str; - - len = parse_uiv(start + 2); - maxlen = max - YYCURSOR; - if (maxlen < len) { - *p = start + 2; - return 0; - } - - if ((str = unserialize_str(&YYCURSOR, &len, maxlen)) == NULL) { - return 0; - } - - if (*(YYCURSOR) != '"') { - efree(str); - *p = YYCURSOR; - return 0; - } - - if (*(YYCURSOR + 1) != ';') { - efree(str); - *p = YYCURSOR + 1; - return 0; - } - - YYCURSOR += 2; *p = YYCURSOR; - INIT_PZVAL(*rval); - ZVAL_STRINGL(*rval, str, len, 0); + ZVAL_BOOL(*rval, parse_iv(start + 2)); return 1; } -#line 1262 "ext/standard/var_unserializer.c" -yy86: +#line 1258 "ext/standard/var_unserializer.c" +yy87: ++YYCURSOR; -#line 715 "ext/standard/var_unserializer.re" +#line 580 "ext/standard/var_unserializer.re" { - long elements = parse_iv(start + 2); - /* use iv() not uiv() in order to check data range */ *p = YYCURSOR; - if (!var_hash) return 0; - - if (elements < 0) { - return 0; - } - INIT_PZVAL(*rval); - - array_init_size(*rval, elements); - - if (!process_nested_data(UNSERIALIZE_PASSTHRU, Z_ARRVAL_PP(rval), elements, 0)) { - return 0; - } - - return finish_nested_data(UNSERIALIZE_PASSTHRU); + ZVAL_NULL(*rval); + return 1; } -#line 1286 "ext/standard/var_unserializer.c" -yy88: +#line 1268 "ext/standard/var_unserializer.c" +yy89: yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '+') goto yy96; - goto yy18; + if (yych != '+') goto yy18; } else { - if (yych <= '-') goto yy96; + if (yych <= '-') goto yy90; if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; + if (yych <= '9') goto yy91; + goto yy18; } -yy89: +yy90: + yych = *++YYCURSOR; + if (yych <= '/') goto yy18; + if (yych >= ':') goto yy18; +yy91: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy89; - if (yych == ';') goto yy71; - goto yy18; -yy91: - yych = *++YYCURSOR; - if (yych == ';') goto yy97; - goto yy18; -yy92: + if (yych <= '9') goto yy91; + if (yych != ';') goto yy18; ++YYCURSOR; -#line 736 "ext/standard/var_unserializer.re" +#line 557 "ext/standard/var_unserializer.re" { - long elements; - if (!var_hash) return 0; - - INIT_PZVAL(*rval); + long id; - elements = object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR); - if (elements < 0) { - return 0; - } - return object_common2(UNSERIALIZE_PASSTHRU, elements); -} -#line 1324 "ext/standard/var_unserializer.c" -yy94: - ++YYCURSOR; -#line 647 "ext/standard/var_unserializer.re" - { - size_t len, maxlen; - char *str; + *p = YYCURSOR; + if (!var_hash) return 0; - len = parse_uiv(start + 2); - maxlen = max - YYCURSOR; - if (maxlen < len) { - *p = start + 2; + id = parse_iv(start + 2) - 1; + if (id == -1 || var_access(var_hash, id, &rval_ref) != SUCCESS) { return 0; } - str = (char*)YYCURSOR; - - YYCURSOR += len; - - if (*(YYCURSOR) != '"') { - *p = YYCURSOR; - return 0; - } + if (*rval == *rval_ref) return 0; - if (*(YYCURSOR + 1) != ';') { - *p = YYCURSOR + 1; - return 0; + if (*rval != NULL) { + var_push_dtor_no_addref(var_hash, rval); } + *rval = *rval_ref; + Z_ADDREF_PP(rval); + Z_UNSET_ISREF_PP(rval); - YYCURSOR += 2; - *p = YYCURSOR; - - INIT_PZVAL(*rval); - ZVAL_STRINGL(*rval, str, len, 1); return 1; } -#line 1360 "ext/standard/var_unserializer.c" +#line 1314 "ext/standard/var_unserializer.c" +yy95: + yych = *++YYCURSOR; + if (yych <= ',') { + if (yych != '+') goto yy18; + } else { + if (yych <= '-') goto yy96; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy97; + goto yy18; + } yy96: yych = *++YYCURSOR; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy89; - goto yy18; + if (yych >= ':') goto yy18; yy97: ++YYCURSOR; -#line 622 "ext/standard/var_unserializer.re" + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy97; + if (yych != ';') goto yy18; + ++YYCURSOR; +#line 536 "ext/standard/var_unserializer.re" { - *p = YYCURSOR; - INIT_PZVAL(*rval); + long id; - if (!strncmp(start + 2, "NAN", 3)) { - ZVAL_DOUBLE(*rval, php_get_nan()); - } else if (!strncmp(start + 2, "INF", 3)) { - ZVAL_DOUBLE(*rval, php_get_inf()); - } else if (!strncmp(start + 2, "-INF", 4)) { - ZVAL_DOUBLE(*rval, -php_get_inf()); + *p = YYCURSOR; + if (!var_hash) return 0; + + id = parse_iv(start + 2) - 1; + if (id == -1 || var_access(var_hash, id, &rval_ref) != SUCCESS) { + return 0; + } + + if (*rval != NULL) { + var_push_dtor_no_addref(var_hash, rval); } + *rval = *rval_ref; + Z_ADDREF_PP(rval); + Z_SET_ISREF_PP(rval); return 1; } -#line 1383 "ext/standard/var_unserializer.c" +#line 1358 "ext/standard/var_unserializer.c" } -#line 911 "ext/standard/var_unserializer.re" +#line 910 "ext/standard/var_unserializer.re" return 0; diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re index bb0000ba5f4f4..1707ca5cc1eaf 100644 --- a/ext/standard/var_unserializer.re +++ b/ext/standard/var_unserializer.re @@ -410,13 +410,12 @@ static inline int process_nested_data(UNSERIALIZE_PARAMETER, HashTable *ht, long static inline int finish_nested_data(UNSERIALIZE_PARAMETER) { - if (*((*p)++) == '}') - return 1; + if (*p >= max || **p != '}') { + return 0; + } -#if SOMETHING_NEW_MIGHT_LEAD_TO_CRASH_ENABLE_IF_YOU_ARE_BRAVE - zval_ptr_dtor(rval); -#endif - return 0; + (*p)++; + return 1; } static inline int object_custom(UNSERIALIZE_PARAMETER, zend_class_entry *ce) From 2aae60461c2ff7b7fbcdd194c789ac841d0747d7 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 2 Jul 2017 14:25:54 -0700 Subject: [PATCH 07/16] Fix bug #74145 - wddx parsing empty boolean tag leads to SIGSEGV --- ext/wddx/tests/bug74145.phpt | 16 ++++++++++++++++ ext/wddx/tests/bug74145.xml | 9 +++++++++ ext/wddx/wddx.c | 15 ++++++--------- 3 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 ext/wddx/tests/bug74145.phpt create mode 100644 ext/wddx/tests/bug74145.xml diff --git a/ext/wddx/tests/bug74145.phpt b/ext/wddx/tests/bug74145.phpt new file mode 100644 index 0000000000000..a99a1178cade6 --- /dev/null +++ b/ext/wddx/tests/bug74145.phpt @@ -0,0 +1,16 @@ +--TEST-- +Bug #74145 (wddx parsing empty boolean tag leads to SIGSEGV) +--SKIPIF-- + +--FILE-- + +DONE +--EXPECTF-- +NULL +DONE \ No newline at end of file diff --git a/ext/wddx/tests/bug74145.xml b/ext/wddx/tests/bug74145.xml new file mode 100644 index 0000000000000..e5d35fb0a4905 --- /dev/null +++ b/ext/wddx/tests/bug74145.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index 72d2408c1f990..41fdd3d7954a9 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -799,22 +799,19 @@ static void php_wddx_push_element(void *user_data, const XML_Char *name, const X } else if (!strcmp(name, EL_BOOLEAN)) { int i; + ALLOC_ZVAL(ent.data); + INIT_PZVAL(ent.data); + Z_TYPE_P(ent.data) = IS_BOOL; + ent.type = ST_BOOLEAN; + SET_STACK_VARNAME; if (atts) for (i = 0; atts[i]; i++) { if (!strcmp(atts[i], EL_VALUE) && atts[i+1] && atts[i+1][0]) { - ent.type = ST_BOOLEAN; - SET_STACK_VARNAME; - - ALLOC_ZVAL(ent.data); - INIT_PZVAL(ent.data); - Z_TYPE_P(ent.data) = IS_BOOL; wddx_stack_push((wddx_stack *)stack, &ent, sizeof(st_entry)); php_wddx_process_data(user_data, atts[i+1], strlen(atts[i+1])); break; } } else { - ent.type = ST_BOOLEAN; - SET_STACK_VARNAME; - ZVAL_FALSE(&ent.data); + ZVAL_FALSE(ent.data); wddx_stack_push((wddx_stack *)stack, &ent, sizeof(st_entry)); } } else if (!strcmp(name, EL_NULL)) { From e8b7698f5ee757ce2c8bd10a192a491a498f891c Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Mon, 3 Jul 2017 12:37:11 +0100 Subject: [PATCH 08/16] Fixed parsing of strange formats with mixed month/day and time strings --- ext/date/lib/parse_date.c | 12004 ++++++++++++++++------------------- ext/date/lib/parse_date.re | 2 +- 2 files changed, 5551 insertions(+), 6455 deletions(-) diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index 1151c8d0b0b18..e5384642a9b17 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.15.3 on Fri Sep 30 20:18:29 2016 */ +/* Generated by re2c 0.15.3 on Tue Jul 4 19:19:00 2017 */ #line 1 "ext/date/lib/parse_date.re" /* * The MIT License (MIT) @@ -866,7 +866,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31); + if ((YYLIMIT - YYCURSOR) < 33) YYFILL(33); yych = *YYCURSOR; switch (yych) { case 0x00: @@ -951,14 +951,14 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy140; - goto yy1523; + goto yy1463; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy140; if (yych >= 'a') goto yy145; } else { - if (yych <= 'e') goto yy1532; + if (yych <= 'e') goto yy1472; if (yych <= 'z') goto yy145; } } @@ -986,7 +986,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy140; - goto yy1523; + goto yy1463; } } else { if (yych <= 'd') { @@ -994,7 +994,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy140; } else { - if (yych <= 'e') goto yy1523; + if (yych <= 'e') goto yy1463; if (yych <= 'z') goto yy140; goto yy3; } @@ -1008,12 +1008,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy140; } else { if (yych <= 'H') { - if (yych <= 'E') goto yy1494; + if (yych <= 'E') goto yy1434; goto yy140; } else { - if (yych <= 'I') goto yy1495; + if (yych <= 'I') goto yy1435; if (yych <= 'N') goto yy140; - goto yy1493; + goto yy1433; } } } else { @@ -1022,15 +1022,15 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy140; goto yy3; } else { - if (yych == 'e') goto yy1510; + if (yych == 'e') goto yy1450; goto yy145; } } else { if (yych <= 'n') { - if (yych <= 'i') goto yy1511; + if (yych <= 'i') goto yy1451; goto yy145; } else { - if (yych <= 'o') goto yy1509; + if (yych <= 'o') goto yy1449; if (yych <= 'z') goto yy145; goto yy3; } @@ -1045,12 +1045,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy140; } else { if (yych <= 'H') { - if (yych <= 'E') goto yy1494; + if (yych <= 'E') goto yy1434; goto yy140; } else { - if (yych <= 'I') goto yy1495; + if (yych <= 'I') goto yy1435; if (yych <= 'N') goto yy140; - goto yy1493; + goto yy1433; } } } else { @@ -1059,15 +1059,15 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy140; goto yy3; } else { - if (yych == 'e') goto yy1494; + if (yych == 'e') goto yy1434; goto yy140; } } else { if (yych <= 'n') { - if (yych <= 'i') goto yy1495; + if (yych <= 'i') goto yy1435; goto yy140; } else { - if (yych <= 'o') goto yy1493; + if (yych <= 'o') goto yy1433; if (yych <= 'z') goto yy140; goto yy3; } @@ -1079,24 +1079,24 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'A') { if (yych == ')') goto yy139; if (yych <= '@') goto yy3; - goto yy1463; + goto yy1403; } else { - if (yych == 'I') goto yy1464; + if (yych == 'I') goto yy1404; if (yych <= 'N') goto yy140; - goto yy1465; + goto yy1405; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1478; + if (yych <= 'a') goto yy1418; goto yy145; } else { if (yych <= 'n') { - if (yych <= 'i') goto yy1479; + if (yych <= 'i') goto yy1419; goto yy145; } else { - if (yych <= 'o') goto yy1480; + if (yych <= 'o') goto yy1420; if (yych <= 'z') goto yy145; goto yy3; } @@ -1108,24 +1108,24 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'A') { if (yych == ')') goto yy139; if (yych <= '@') goto yy3; - goto yy1463; + goto yy1403; } else { - if (yych == 'I') goto yy1464; + if (yych == 'I') goto yy1404; if (yych <= 'N') goto yy140; - goto yy1465; + goto yy1405; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1463; + if (yych <= 'a') goto yy1403; goto yy140; } else { if (yych <= 'n') { - if (yych <= 'i') goto yy1464; + if (yych <= 'i') goto yy1404; goto yy140; } else { - if (yych <= 'o') goto yy1465; + if (yych <= 'o') goto yy1405; if (yych <= 'z') goto yy140; goto yy3; } @@ -1137,15 +1137,15 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) switch (yych) { case ')': goto yy139; case '0': - case '1': goto yy1393; - case '2': goto yy1394; + case '1': goto yy1333; + case '2': goto yy1334; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy1395; + case '9': goto yy1335; case 'A': case 'B': case 'C': @@ -1167,11 +1167,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'X': case 'Y': case 'Z': goto yy140; - case 'E': goto yy1388; - case 'H': goto yy1389; - case 'O': goto yy1390; - case 'U': goto yy1391; - case 'W': goto yy1392; + case 'E': goto yy1328; + case 'H': goto yy1329; + case 'O': goto yy1330; + case 'U': goto yy1331; + case 'W': goto yy1332; case 'a': case 'b': case 'c': @@ -1193,11 +1193,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'x': case 'y': case 'z': goto yy145; - case 'e': goto yy1431; - case 'h': goto yy1432; - case 'o': goto yy1433; - case 'u': goto yy1434; - case 'w': goto yy1435; + case 'e': goto yy1371; + case 'h': goto yy1372; + case 'o': goto yy1373; + case 'u': goto yy1374; + case 'w': goto yy1375; default: goto yy3; } yy10: @@ -1206,15 +1206,15 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) switch (yych) { case ')': goto yy139; case '0': - case '1': goto yy1393; - case '2': goto yy1394; + case '1': goto yy1333; + case '2': goto yy1334; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy1395; + case '9': goto yy1335; case 'A': case 'B': case 'C': @@ -1258,23 +1258,23 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'y': case 'z': goto yy140; case 'E': - case 'e': goto yy1388; + case 'e': goto yy1328; case 'H': - case 'h': goto yy1389; + case 'h': goto yy1329; case 'O': - case 'o': goto yy1390; + case 'o': goto yy1330; case 'U': - case 'u': goto yy1391; + case 'u': goto yy1331; case 'W': - case 'w': goto yy1392; + case 'w': goto yy1332; default: goto yy3; } yy11: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy1384; + if (yych == '-') goto yy1324; if (yych <= '/') goto yy12; - if (yych <= '9') goto yy1385; + if (yych <= '9') goto yy1325; yy12: #line 1725 "ext/date/lib/parse_date.re" { @@ -1292,16 +1292,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy140; - goto yy1320; + goto yy1260; } } else { if (yych <= 'N') { - if (yych == 'I') goto yy1321; + if (yych == 'I') goto yy1261; goto yy140; } else { - if (yych <= 'O') goto yy1322; + if (yych <= 'O') goto yy1262; if (yych <= 'Q') goto yy140; - goto yy1323; + goto yy1263; } } } else { @@ -1311,16 +1311,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy145; } else { - if (yych <= 'e') goto yy1361; + if (yych <= 'e') goto yy1301; if (yych <= 'h') goto yy145; - goto yy1362; + goto yy1302; } } else { if (yych <= 'q') { - if (yych == 'o') goto yy1363; + if (yych == 'o') goto yy1303; goto yy145; } else { - if (yych <= 'r') goto yy1364; + if (yych <= 'r') goto yy1304; if (yych <= 'z') goto yy145; goto yy3; } @@ -1336,16 +1336,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy140; - goto yy1320; + goto yy1260; } } else { if (yych <= 'N') { - if (yych == 'I') goto yy1321; + if (yych == 'I') goto yy1261; goto yy140; } else { - if (yych <= 'O') goto yy1322; + if (yych <= 'O') goto yy1262; if (yych <= 'Q') goto yy140; - goto yy1323; + goto yy1263; } } } else { @@ -1355,16 +1355,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy140; } else { - if (yych <= 'e') goto yy1320; + if (yych <= 'e') goto yy1260; if (yych <= 'h') goto yy140; - goto yy1321; + goto yy1261; } } else { if (yych <= 'q') { - if (yych == 'o') goto yy1322; + if (yych == 'o') goto yy1262; goto yy140; } else { - if (yych <= 'r') goto yy1323; + if (yych <= 'r') goto yy1263; if (yych <= 'z') goto yy140; goto yy3; } @@ -1375,13 +1375,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'A') { if (yych == ')') goto yy139; if (yych <= '@') goto yy3; - goto yy1306; + goto yy1246; } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; goto yy3; } else { - if (yych <= 'a') goto yy1317; + if (yych <= 'a') goto yy1257; if (yych <= 'z') goto yy145; goto yy3; } @@ -1391,13 +1391,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'A') { if (yych == ')') goto yy139; if (yych <= '@') goto yy3; - goto yy1306; + goto yy1246; } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; goto yy3; } else { - if (yych <= 'a') goto yy1306; + if (yych <= 'a') goto yy1246; if (yych <= 'z') goto yy140; goto yy3; } @@ -1407,13 +1407,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'A') { if (yych == ')') goto yy139; if (yych <= '@') goto yy3; - goto yy1286; + goto yy1226; } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; goto yy3; } else { - if (yych <= 'a') goto yy1303; + if (yych <= 'a') goto yy1243; if (yych <= 'z') goto yy145; goto yy3; } @@ -1423,13 +1423,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'A') { if (yych == ')') goto yy139; if (yych <= '@') goto yy3; - goto yy1286; + goto yy1226; } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; goto yy3; } else { - if (yych <= 'a') goto yy1286; + if (yych <= 'a') goto yy1226; if (yych <= 'z') goto yy140; goto yy3; } @@ -1443,17 +1443,17 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy139; } else { if (yych <= '@') goto yy3; - if (yych <= 'A') goto yy1229; + if (yych <= 'A') goto yy1169; goto yy140; } } else { if (yych <= 'H') { - if (yych <= 'E') goto yy1228; + if (yych <= 'E') goto yy1168; goto yy140; } else { - if (yych <= 'I') goto yy1230; + if (yych <= 'I') goto yy1170; if (yych <= 'T') goto yy140; - goto yy1231; + goto yy1171; } } } else { @@ -1462,16 +1462,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy140; goto yy3; } else { - if (yych <= 'a') goto yy1258; + if (yych <= 'a') goto yy1198; if (yych <= 'd') goto yy145; - goto yy1257; + goto yy1197; } } else { if (yych <= 't') { - if (yych == 'i') goto yy1259; + if (yych == 'i') goto yy1199; goto yy145; } else { - if (yych <= 'u') goto yy1260; + if (yych <= 'u') goto yy1200; if (yych <= 'z') goto yy145; goto yy3; } @@ -1486,17 +1486,17 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy139; } else { if (yych <= '@') goto yy3; - if (yych <= 'A') goto yy1229; + if (yych <= 'A') goto yy1169; goto yy140; } } else { if (yych <= 'H') { - if (yych <= 'E') goto yy1228; + if (yych <= 'E') goto yy1168; goto yy140; } else { - if (yych <= 'I') goto yy1230; + if (yych <= 'I') goto yy1170; if (yych <= 'T') goto yy140; - goto yy1231; + goto yy1171; } } } else { @@ -1505,16 +1505,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy140; goto yy3; } else { - if (yych <= 'a') goto yy1229; + if (yych <= 'a') goto yy1169; if (yych <= 'd') goto yy140; - goto yy1228; + goto yy1168; } } else { if (yych <= 't') { - if (yych == 'i') goto yy1230; + if (yych == 'i') goto yy1170; goto yy140; } else { - if (yych <= 'u') goto yy1231; + if (yych <= 'u') goto yy1171; if (yych <= 'z') goto yy140; goto yy3; } @@ -1527,18 +1527,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych == ')') goto yy139; goto yy3; } else { - if (yych == 'I') goto yy1198; + if (yych == 'I') goto yy1138; if (yych <= 'K') goto yy140; - goto yy1199; + goto yy1139; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy145; - goto yy1216; + goto yy1156; } else { - if (yych == 'l') goto yy1217; + if (yych == 'l') goto yy1157; if (yych <= 'z') goto yy145; goto yy3; } @@ -1550,18 +1550,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych == ')') goto yy139; goto yy3; } else { - if (yych == 'I') goto yy1198; + if (yych == 'I') goto yy1138; if (yych <= 'K') goto yy140; - goto yy1199; + goto yy1139; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy140; - goto yy1198; + goto yy1138; } else { - if (yych == 'l') goto yy1199; + if (yych == 'l') goto yy1139; if (yych <= 'z') goto yy140; goto yy3; } @@ -1575,7 +1575,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy140; - goto yy1097; + goto yy1037; } } else { if (yych <= 'q') { @@ -1583,7 +1583,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy145; } else { - if (yych <= 'r') goto yy1191; + if (yych <= 'r') goto yy1131; if (yych <= 'z') goto yy145; goto yy3; } @@ -1597,7 +1597,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy140; - goto yy1097; + goto yy1037; } } else { if (yych <= 'q') { @@ -1605,7 +1605,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy140; } else { - if (yych <= 'r') goto yy1097; + if (yych <= 'r') goto yy1037; if (yych <= 'z') goto yy140; goto yy3; } @@ -1614,7 +1614,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '\t': goto yy1051; + case '\t': goto yy991; case ' ': case 'A': case 'D': @@ -1639,11 +1639,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'm': case 'o': case 'w': - case 'y': goto yy1053; - case '-': goto yy472; - case '.': goto yy1063; - case '/': goto yy471; - case '0': goto yy1096; + case 'y': goto yy993; + case '-': goto yy412; + case '.': goto yy1003; + case '/': goto yy411; + case '0': goto yy1036; case '1': case '2': case '3': @@ -1652,19 +1652,19 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy1095; - case ':': goto yy1064; - case 'n': goto yy469; - case 'r': goto yy470; - case 's': goto yy463; - case 't': goto yy467; + case '9': goto yy1035; + case ':': goto yy1004; + case 'n': goto yy409; + case 'r': goto yy410; + case 's': goto yy403; + case 't': goto yy407; default: goto yy12; } yy26: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '\t': goto yy459; + case '\t': goto yy399; case ' ': case 'A': case 'D': @@ -1691,32 +1691,32 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'o': case 'p': case 'w': - case 'y': goto yy461; - case '-': goto yy472; - case '.': goto yy473; - case '/': goto yy471; + case 'y': goto yy401; + case '-': goto yy412; + case '.': goto yy413; + case '/': goto yy411; case '0': case '1': - case '2': goto yy1095; + case '2': goto yy1035; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy1062; - case ':': goto yy482; - case 'n': goto yy469; - case 'r': goto yy470; - case 's': goto yy463; - case 't': goto yy467; + case '9': goto yy1002; + case ':': goto yy422; + case 'n': goto yy409; + case 'r': goto yy410; + case 's': goto yy403; + case 't': goto yy407; default: goto yy12; } yy27: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '\t': goto yy459; + case '\t': goto yy399; case ' ': case 'A': case 'D': @@ -1743,32 +1743,32 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'o': case 'p': case 'w': - case 'y': goto yy461; - case '-': goto yy472; - case '.': goto yy473; - case '/': goto yy471; + case 'y': goto yy401; + case '-': goto yy412; + case '.': goto yy413; + case '/': goto yy411; case '0': case '1': case '2': case '3': - case '4': goto yy1062; + case '4': goto yy1002; case '5': case '6': case '7': case '8': - case '9': goto yy1049; - case ':': goto yy482; - case 'n': goto yy469; - case 'r': goto yy470; - case 's': goto yy463; - case 't': goto yy467; + case '9': goto yy989; + case ':': goto yy422; + case 'n': goto yy409; + case 'r': goto yy410; + case 's': goto yy403; + case 't': goto yy407; default: goto yy12; } yy28: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '\t': goto yy459; + case '\t': goto yy399; case ' ': case 'A': case 'D': @@ -1795,12 +1795,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'o': case 'p': case 'w': - case 'y': goto yy461; - case '-': goto yy472; - case '.': goto yy473; - case '/': goto yy471; + case 'y': goto yy401; + case '-': goto yy412; + case '.': goto yy413; + case '/': goto yy411; case '0': - case '1': goto yy1049; + case '1': goto yy989; case '2': case '3': case '4': @@ -1808,19 +1808,19 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy468; - case ':': goto yy482; - case 'n': goto yy469; - case 'r': goto yy470; - case 's': goto yy463; - case 't': goto yy467; + case '9': goto yy408; + case ':': goto yy422; + case 'n': goto yy409; + case 'r': goto yy410; + case 's': goto yy403; + case 't': goto yy407; default: goto yy12; } yy29: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { - case '\t': goto yy459; + case '\t': goto yy399; case ' ': case 'A': case 'D': @@ -1847,10 +1847,10 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 'o': case 'p': case 'w': - case 'y': goto yy461; - case '-': goto yy472; - case '.': goto yy473; - case '/': goto yy471; + case 'y': goto yy401; + case '-': goto yy412; + case '.': goto yy413; + case '/': goto yy411; case '0': case '1': case '2': @@ -1860,12 +1860,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy468; - case ':': goto yy482; - case 'n': goto yy469; - case 'r': goto yy470; - case 's': goto yy463; - case 't': goto yy467; + case '9': goto yy408; + case ':': goto yy422; + case 'n': goto yy409; + case 'r': goto yy410; + case 's': goto yy403; + case 't': goto yy407; default: goto yy12; } yy30: @@ -1876,17 +1876,17 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } switch (yych) { case '+': - case '-': goto yy439; + case '-': goto yy379; case '0': - case '1': goto yy436; - case '2': goto yy437; + case '1': goto yy376; + case '2': goto yy377; case '3': case '4': case '5': case '6': case '7': case '8': - case '9': goto yy438; + case '9': goto yy378; default: goto yy12; } yy31: @@ -1916,13 +1916,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy3; goto yy140; } else { - if (yych <= 'I') goto yy435; + if (yych <= 'I') goto yy375; if (yych <= 'U') goto yy140; - goto yy434; + goto yy374; } } else { if (yych <= 'Z') { - if (yych == 'X') goto yy434; + if (yych == 'X') goto yy374; goto yy140; } else { if (yych <= '`') goto yy3; @@ -1952,7 +1952,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy140; } else { if (yych <= 'Z') { - if (yych <= 'I') goto yy431; + if (yych <= 'I') goto yy371; goto yy140; } else { if (yych <= '`') goto yy3; @@ -1982,7 +1982,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy140; } else { if (yych <= 'Z') { - if (yych <= 'I') goto yy429; + if (yych <= 'I') goto yy369; goto yy140; } else { if (yych <= '`') goto yy3; @@ -1998,17 +1998,17 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'A') goto yy412; + if (yych <= 'A') goto yy352; if (yych <= 'T') goto yy140; - goto yy411; + goto yy351; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; - goto yy421; + goto yy361; } else { - if (yych == 'u') goto yy420; + if (yych == 'u') goto yy360; if (yych <= 'z') goto yy145; goto yy3; } @@ -2020,17 +2020,17 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'A') goto yy412; + if (yych <= 'A') goto yy352; if (yych <= 'T') goto yy140; - goto yy411; + goto yy351; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; - goto yy412; + goto yy352; } else { - if (yych == 'u') goto yy411; + if (yych == 'u') goto yy351; if (yych <= 'z') goto yy140; goto yy3; } @@ -2044,12 +2044,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy140; } else { if (yych <= 'O') { - if (yych <= 'G') goto yy390; + if (yych <= 'G') goto yy330; goto yy140; } else { - if (yych <= 'P') goto yy389; + if (yych <= 'P') goto yy329; if (yych <= 'T') goto yy140; - goto yy388; + goto yy328; } } } else { @@ -2058,15 +2058,15 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy140; goto yy3; } else { - if (yych == 'g') goto yy402; + if (yych == 'g') goto yy342; goto yy145; } } else { if (yych <= 't') { - if (yych <= 'p') goto yy401; + if (yych <= 'p') goto yy341; goto yy145; } else { - if (yych <= 'u') goto yy400; + if (yych <= 'u') goto yy340; if (yych <= 'z') goto yy145; goto yy3; } @@ -2081,12 +2081,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy140; } else { if (yych <= 'O') { - if (yych <= 'G') goto yy390; + if (yych <= 'G') goto yy330; goto yy140; } else { - if (yych <= 'P') goto yy389; + if (yych <= 'P') goto yy329; if (yych <= 'T') goto yy140; - goto yy388; + goto yy328; } } } else { @@ -2095,15 +2095,15 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy140; goto yy3; } else { - if (yych == 'g') goto yy390; + if (yych == 'g') goto yy330; goto yy140; } } else { if (yych <= 't') { - if (yych <= 'p') goto yy389; + if (yych <= 'p') goto yy329; goto yy140; } else { - if (yych <= 'u') goto yy388; + if (yych <= 'u') goto yy328; if (yych <= 'z') goto yy140; goto yy3; } @@ -2118,7 +2118,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy140; - goto yy378; + goto yy318; } } else { if (yych <= 'b') { @@ -2126,7 +2126,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy145; } else { - if (yych <= 'c') goto yy383; + if (yych <= 'c') goto yy323; if (yych <= 'z') goto yy145; goto yy3; } @@ -2140,7 +2140,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy140; - goto yy378; + goto yy318; } } else { if (yych <= 'b') { @@ -2148,7 +2148,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy140; } else { - if (yych <= 'c') goto yy378; + if (yych <= 'c') goto yy318; if (yych <= 'z') goto yy140; goto yy3; } @@ -2170,7 +2170,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy145; } else { - if (yych <= 'e') goto yy369; + if (yych <= 'e') goto yy309; if (yych <= 'z') goto yy145; goto yy3; } @@ -2397,13 +2397,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yyaccept == 5) { goto yy193; } else { - goto yy198; + goto yy207; } } else { if (yyaccept == 7) { - goto yy222; + goto yy221; } else { - goto yy294; + goto yy332; } } } @@ -2411,95 +2411,91 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yyaccept <= 12) { if (yyaccept <= 10) { if (yyaccept == 9) { - goto yy392; + goto yy415; } else { - goto yy475; + goto yy430; } } else { if (yyaccept == 11) { - goto yy490; + goto yy551; } else { - goto yy611; + goto yy596; } } } else { if (yyaccept <= 14) { if (yyaccept == 13) { - goto yy656; + goto yy606; } else { - goto yy666; + goto yy703; } } else { if (yyaccept == 15) { - goto yy763; + goto yy723; } else { - goto yy783; + goto yy754; } } } } } else { - if (yyaccept <= 25) { - if (yyaccept <= 21) { - if (yyaccept <= 19) { - if (yyaccept <= 18) { - if (yyaccept == 17) { - goto yy814; - } else { - goto yy821; - } + if (yyaccept <= 24) { + if (yyaccept <= 20) { + if (yyaccept <= 18) { + if (yyaccept == 17) { + goto yy761; } else { - goto yy848; + goto yy788; } } else { - if (yyaccept == 20) { - goto yy793; + if (yyaccept == 19) { + goto yy733; } else { - goto yy454; + goto yy394; } } } else { - if (yyaccept <= 23) { - if (yyaccept == 22) { - goto yy973; + if (yyaccept <= 22) { + if (yyaccept == 21) { + goto yy913; } else { - goto yy842; + goto yy782; } } else { - if (yyaccept == 24) { - goto yy1067; + if (yyaccept == 23) { + goto yy1007; } else { - goto yy1075; + goto yy1015; } } } } else { - if (yyaccept <= 29) { - if (yyaccept <= 27) { - if (yyaccept == 26) { - goto yy1117; + if (yyaccept <= 28) { + if (yyaccept <= 26) { + if (yyaccept == 25) { + goto yy1057; } else { - goto yy1141; + goto yy1081; } } else { - if (yyaccept == 28) { - goto yy1294; + if (yyaccept == 27) { + goto yy1234; } else { - goto yy1417; + goto yy1357; } } } else { - if (yyaccept <= 31) { - if (yyaccept == 30) { - goto yy1420; + if (yyaccept <= 30) { + if (yyaccept == 29) { + goto yy1360; } else { - goto yy1500; + goto yy1440; } } else { - if (yyaccept == 32) { - goto yy1508; + if (yyaccept == 31) { + goto yy1448; } else { - goto yy1531; + goto yy1471; } } } @@ -2692,7 +2688,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 2696 "" +#line 2692 "" yy73: yych = *++YYCURSOR; if (yych == 'D') goto yy74; @@ -3377,7 +3373,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } -#line 3381 "" +#line 3377 "" yy167: yych = *++YYCURSOR; if (yych <= 'K') { @@ -3857,14 +3853,14 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') { if (yych <= '9') goto yy195; } else { - if (yych == 'E') goto yy201; + if (yych == 'E') goto yy200; goto yy142; } } else { if (yych <= 'd') { if (yych >= 'a') goto yy142; } else { - if (yych <= 'e') goto yy201; + if (yych <= 'e') goto yy200; if (yych <= 'z') goto yy142; } } @@ -3879,10 +3875,10 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 3883 "" +#line 3879 "" yy194: ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21); + if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23); yych = *YYCURSOR; yy195: if (yybm[0+yych] & 32) { @@ -3890,104 +3886,147 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } if (yych <= '/') goto yy56; if (yych <= '2') goto yy197; - if (yych <= '3') goto yy199; - if (yych <= '9') goto yy200; + if (yych <= '3') goto yy198; + if (yych <= '9') goto yy199; goto yy56; yy196: yych = *++YYCURSOR; if (yych <= '/') goto yy195; - if (yych <= '0') goto yy356; - if (yych <= '2') goto yy357; - if (yych <= '3') goto yy358; + if (yych <= '0') goto yy299; + if (yych <= '2') goto yy300; + if (yych <= '3') goto yy301; goto yy195; yy197: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy297; - goto yy298; + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy213; + goto yy56; + } else { + if (yych <= '\t') goto yy211; + if (yych <= 0x1F) goto yy56; + goto yy211; + } } else { - if (yych <= '2') goto yy354; - if (yych <= '9') goto yy355; - goto yy215; + if (yych <= '-') { + if (yych == ',') goto yy211; + goto yy56; + } else { + if (yych <= '.') goto yy211; + if (yych <= '/') goto yy56; + goto yy298; + } } } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy211; - if (yych <= 'q') goto yy215; - goto yy212; + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy211; + } else { + if (yych == 'h') goto yy211; + goto yy56; + } } else { - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; + if (yych <= 'r') { + if (yych <= 'n') goto yy208; + if (yych <= 'q') goto yy56; + goto yy209; + } else { + if (yych <= 's') goto yy206; + if (yych <= 't') goto yy210; + goto yy56; + } } } yy198: -#line 1366 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("datetextual | datenoyear"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_month((char **) &ptr); - s->time->d = timelib_get_nr((char **) &ptr, 2); - s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); - TIMELIB_PROCESS_YEAR(s->time->y, length); - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; - } -#line 3942 "" -yy199: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy297; - goto yy298; + yych = *++YYCURSOR; + if (yych <= '1') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy213; + goto yy56; + } else { + if (yych <= '\t') goto yy211; + if (yych <= 0x1F) goto yy56; + goto yy211; + } } else { - if (yych <= '2') goto yy208; - if (yych <= '9') goto yy209; - goto yy215; + if (yych <= '-') { + if (yych == ',') goto yy211; + goto yy56; + } else { + if (yych <= '.') goto yy211; + if (yych <= '/') goto yy56; + goto yy298; + } } } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy211; - if (yych <= 'q') goto yy215; - goto yy212; + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= '9') goto yy205; + if (yych <= 'c') goto yy56; + goto yy211; + } else { + if (yych == 'h') goto yy211; + goto yy56; + } } else { - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; + if (yych <= 'r') { + if (yych <= 'n') goto yy208; + if (yych <= 'q') goto yy56; + goto yy209; + } else { + if (yych <= 's') goto yy206; + if (yych <= 't') goto yy210; + goto yy56; + } } } -yy200: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy206; - goto yy207; +yy199: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy213; + goto yy56; + } else { + if (yych <= '\t') goto yy211; + if (yych <= 0x1F) goto yy56; + goto yy211; + } } else { - if (yych <= '2') goto yy208; - if (yych <= '9') goto yy209; - goto yy215; + if (yych <= '-') { + if (yych == ',') goto yy211; + goto yy56; + } else { + if (yych <= '.') goto yy211; + if (yych <= '/') goto yy56; + goto yy205; + } } } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy211; - if (yych <= 'q') goto yy215; - goto yy212; + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy211; + } else { + if (yych == 'h') goto yy211; + goto yy56; + } } else { - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; + if (yych <= 'r') { + if (yych <= 'n') goto yy208; + if (yych <= 'q') goto yy56; + goto yy209; + } else { + if (yych <= 's') goto yy206; + if (yych <= 't') goto yy210; + goto yy56; + } } } -yy201: +yy200: yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { @@ -4003,12 +4042,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'm') goto yy202; + if (yych <= 'm') goto yy201; if (yych <= 'z') goto yy143; goto yy3; } } -yy202: +yy201: yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { @@ -4024,26 +4063,26 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'b') goto yy203; + if (yych <= 'b') goto yy202; if (yych <= 'z') goto yy144; goto yy3; } } -yy203: +yy202: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'E') goto yy204; + if (yych <= 'E') goto yy203; if (yych != 'e') goto yy3; } -yy204: +yy203: yych = *++YYCURSOR; - if (yych == 'R') goto yy205; + if (yych == 'R') goto yy204; if (yych != 'r') goto yy56; -yy205: +yy204: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { @@ -4060,129 +4099,143 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy193; } } -yy206: +yy205: 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; - } + if (yych <= '/') goto yy56; + if (yych <= '9') goto yy295; + goto yy56; +yy206: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 't') goto yy294; + goto yy212; yy207: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; - } else { - if (yych <= '2') goto yy296; - if (yych <= '9') goto yy295; - if (yych <= ':') goto yy263; - goto yy56; +#line 1366 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datetextual | datenoyear"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->m = timelib_get_month((char **) &ptr); + s->time->d = timelib_get_nr((char **) &ptr, 2); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); + TIMELIB_PROCESS_YEAR(s->time->y, length); + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; } +#line 4127 "" yy208: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; - } else { - if (yych <= '4') goto yy295; - if (yych <= '9') goto yy292; - if (yych <= ':') goto yy263; - goto yy56; - } -yy209: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; - } else { - if (yych <= '9') goto yy292; - if (yych <= ':') goto yy263; - goto yy56; - } -yy210: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - goto yy215; -yy211: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - goto yy215; -yy212: + if (yych == 'd') goto yy294; + goto yy212; +yy209: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - goto yy215; -yy213: + if (yych == 'd') goto yy294; + goto yy212; +yy210: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - goto yy215; -yy214: + if (yych == 'h') goto yy294; + goto yy212; +yy211: yyaccept = 6; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); yych = *YYCURSOR; -yy215: +yy212: if (yybm[0+yych] & 64) { - goto yy214; + goto yy211; } if (yych <= '2') { - if (yych <= '/') goto yy198; - if (yych <= '0') goto yy258; - if (yych <= '1') goto yy259; - goto yy260; + if (yych <= '/') goto yy207; + if (yych <= '0') goto yy285; + if (yych <= '1') goto yy286; + goto yy287; + } else { + if (yych <= '9') goto yy288; + if (yych == 'T') goto yy214; + goto yy207; + } +yy213: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { + if (yych <= '0') { + if (yych <= '/') goto yy207; + goto yy215; + } else { + if (yych <= '1') goto yy216; + if (yych <= '2') goto yy217; + goto yy218; + } } else { - if (yych <= '9') goto yy261; - if (yych != 'T') goto yy198; + if (yych <= 'T') { + if (yych <= 'S') goto yy207; + } else { + if (yych != 't') goto yy207; + } } +yy214: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '1') goto yy217; - if (yych <= '2') goto yy218; - if (yych <= '9') goto yy219; + if (yych <= '1') goto yy283; + if (yych <= '2') goto yy284; + if (yych <= '9') goto yy273; goto yy56; -yy217: +yy215: yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy220; + if (yych == '.') goto yy274; goto yy56; } else { - if (yych <= '9') goto yy219; - if (yych <= ':') goto yy220; + if (yych <= '0') goto yy273; + if (yych <= '9') goto yy218; + if (yych <= ':') goto yy274; goto yy56; } -yy218: +yy216: yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy220; + if (yych == '.') goto yy219; goto yy56; } else { - if (yych <= '4') goto yy219; - if (yych == ':') goto yy220; + if (yych <= '2') goto yy218; + if (yych <= '9') goto yy273; + if (yych <= ':') goto yy219; goto yy56; } -yy219: +yy217: yych = *++YYCURSOR; - if (yych == '.') goto yy220; + if (yych <= '/') { + if (yych == '.') goto yy219; + goto yy56; + } else { + if (yych <= '4') goto yy273; + if (yych == ':') goto yy219; + goto yy56; + } +yy218: + yych = *++YYCURSOR; + if (yych == '.') goto yy219; if (yych != ':') goto yy56; -yy220: +yy219: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy221; - if (yych <= '9') goto yy223; + if (yych <= '5') goto yy220; + if (yych <= '9') goto yy222; goto yy56; -yy221: +yy220: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy224; + if (yych == '.') goto yy223; } else { - if (yych <= '9') goto yy223; - if (yych <= ':') goto yy224; + if (yych <= '9') goto yy266; + if (yych <= ':') goto yy223; } -yy222: +yy221: #line 1668 "ext/date/lib/parse_date.re" { int tz_not_found; @@ -4212,1997 +4265,1094 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 4216 "" -yy223: +#line 4269 "" +yy222: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy224; - if (yych != ':') goto yy222; -yy224: + if (yych == '.') goto yy223; + if (yych != ':') goto yy221; +yy223: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy225; - if (yych <= '6') goto yy226; - if (yych <= '9') goto yy227; + if (yych <= '5') goto yy224; + if (yych <= '6') goto yy225; + if (yych <= '9') goto yy226; goto yy56; +yy224: + yych = *++YYCURSOR; + if (yych <= '/') goto yy221; + if (yych <= '9') goto yy227; + goto yy221; yy225: yych = *++YYCURSOR; - if (yych <= '/') goto yy222; - if (yych <= '9') goto yy228; - goto yy222; + if (yych == '0') goto yy227; + goto yy221; yy226: yych = *++YYCURSOR; - if (yych == '0') goto yy228; - goto yy222; + goto yy221; yy227: - yych = *++YYCURSOR; - goto yy222; -yy228: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '*') { if (yych <= 0x1F) { - if (yych == '\t') goto yy230; - goto yy222; + if (yych == '\t') goto yy229; + goto yy221; } else { - if (yych <= ' ') goto yy230; - if (yych == '(') goto yy230; - goto yy222; + if (yych <= ' ') goto yy229; + if (yych == '(') goto yy229; + goto yy221; } } else { if (yych <= '@') { - if (yych == ',') goto yy222; - if (yych <= '-') goto yy230; - goto yy222; + if (yych == ',') goto yy221; + if (yych <= '-') goto yy229; + goto yy221; } else { - if (yych <= 'Z') goto yy230; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy230; - goto yy222; + if (yych <= 'Z') goto yy229; + if (yych <= '`') goto yy221; + if (yych <= 'z') goto yy229; + goto yy221; } } -yy229: +yy228: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; -yy230: - if (yych <= '+') { - if (yych <= ' ') { - if (yych == '\t') goto yy229; - if (yych <= 0x1F) goto yy56; - goto yy229; +yy229: + if (yych <= '@') { + if (yych <= '\'') { + if (yych <= '\t') { + if (yych <= 0x08) goto yy56; + goto yy228; + } else { + if (yych == ' ') goto yy228; + goto yy56; + } } else { - if (yych == '(') goto yy233; - if (yych <= '*') goto yy56; - goto yy232; + if (yych <= '+') { + if (yych <= '(') goto yy232; + if (yych <= '*') goto yy56; + goto yy231; + } else { + if (yych == '-') goto yy231; + goto yy56; + } } } else { - if (yych <= 'F') { - if (yych == '-') goto yy232; - if (yych <= '@') goto yy56; - goto yy234; - } else { - if (yych <= 'Z') { - if (yych >= 'H') goto yy234; + if (yych <= 'Z') { + if (yych <= 'G') { + if (yych <= 'A') goto yy233; + if (yych <= 'F') goto yy234; } else { + if (yych == 'P') goto yy233; + goto yy234; + } + } else { + if (yych <= 'o') { if (yych <= '`') goto yy56; - if (yych <= 'z') goto yy235; + if (yych <= 'a') goto yy235; + goto yy236; + } else { + if (yych <= 'p') goto yy235; + if (yych <= 'z') goto yy236; goto yy56; } } } -yy231: +yy230: yych = *++YYCURSOR; if (yych <= 'L') { - if (yych == ')') goto yy227; - if (yych <= '@') goto yy222; - goto yy236; + if (yych == ')') goto yy226; + if (yych <= '@') goto yy221; + goto yy237; } else { if (yych <= 'Z') { - if (yych <= 'M') goto yy256; - goto yy236; + if (yych <= 'M') goto yy264; + goto yy237; } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy241; - goto yy222; + if (yych <= '`') goto yy221; + if (yych <= 'z') goto yy248; + goto yy221; } } -yy232: +yy231: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '1') goto yy251; - if (yych <= '2') goto yy252; - if (yych <= '9') goto yy253; + if (yych <= '1') goto yy259; + if (yych <= '2') goto yy260; + if (yych <= '9') goto yy261; goto yy56; -yy233: +yy232: yych = *++YYCURSOR; if (yych <= '@') goto yy56; - if (yych <= 'Z') goto yy235; + if (yych <= 'Z') goto yy236; if (yych <= '`') goto yy56; - if (yych <= 'z') goto yy235; + if (yych <= 'z') goto yy236; goto yy56; +yy233: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy226; + goto yy221; + } else { + if (yych <= '.') goto yy242; + if (yych <= '@') goto yy221; + goto yy237; + } + } else { + if (yych <= '`') { + if (yych <= 'M') goto yy243; + if (yych <= 'Z') goto yy237; + goto yy221; + } else { + if (yych == 'm') goto yy258; + if (yych <= 'z') goto yy248; + goto yy221; + } + } yy234: yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy227; - goto yy222; + if (yych == ')') goto yy226; + goto yy221; } else { - if (yych <= 'Z') goto yy236; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy241; - goto yy222; + if (yych <= 'Z') goto yy237; + if (yych <= '`') goto yy221; + if (yych <= 'z') goto yy248; + goto yy221; } yy235: - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych == ')') goto yy227; - goto yy222; + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { + if (yych <= '-') { + if (yych == ')') goto yy226; + goto yy221; + } else { + if (yych <= '.') goto yy242; + if (yych <= '@') goto yy221; + goto yy237; + } } else { - if (yych <= 'Z') goto yy236; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + if (yych <= '`') { + if (yych <= 'M') goto yy243; + if (yych <= 'Z') goto yy237; + goto yy221; + } else { + if (yych == 'm') goto yy243; + if (yych <= 'z') goto yy237; + goto yy221; + } } yy236: yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy227; - goto yy222; + if (yych == ')') goto yy226; + goto yy221; } else { if (yych <= 'Z') goto yy237; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + if (yych <= '`') goto yy221; + if (yych >= '{') goto yy221; } yy237: yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy227; - goto yy222; + if (yych == ')') goto yy226; + goto yy221; } else { if (yych <= 'Z') goto yy238; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + if (yych <= '`') goto yy221; + if (yych >= '{') goto yy221; } yy238: yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy227; - goto yy222; + if (yych == ')') goto yy226; + goto yy221; } else { if (yych <= 'Z') goto yy239; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + if (yych <= '`') goto yy221; + if (yych >= '{') goto yy221; } yy239: yych = *++YYCURSOR; if (yych <= '@') { - if (yych == ')') goto yy227; - goto yy222; + if (yych == ')') goto yy226; + goto yy221; } else { if (yych <= 'Z') goto yy240; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + if (yych <= '`') goto yy221; + if (yych >= '{') goto yy221; } yy240: yych = *++YYCURSOR; - if (yych == ')') goto yy227; - goto yy222; + if (yych <= '@') { + if (yych == ')') goto yy226; + goto yy221; + } else { + if (yych <= 'Z') goto yy241; + if (yych <= '`') goto yy221; + if (yych >= '{') goto yy221; + } yy241: + yych = *++YYCURSOR; + if (yych == ')') goto yy226; + goto yy221; +yy242: + yych = *++YYCURSOR; + if (yych == 'M') goto yy247; + if (yych == 'm') goto yy247; + goto yy56; +yy243: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ')') { + if (yych <= '\t') { + if (yych <= 0x00) goto yy245; + if (yych <= 0x08) goto yy221; + goto yy245; + } else { + if (yych == ' ') goto yy245; + if (yych <= '(') goto yy221; + goto yy226; + } + } else { + if (yych <= '@') { + if (yych != '.') goto yy221; + } else { + if (yych <= 'Z') goto yy238; + if (yych <= '`') goto yy221; + if (yych <= 'z') goto yy238; + goto yy221; + } + } +yy244: + yych = *++YYCURSOR; + if (yych <= '\t') { + if (yych <= 0x00) goto yy245; + if (yych <= 0x08) goto yy56; + } else { + if (yych != ' ') goto yy56; + } +yy245: + ++YYCURSOR; +#line 1644 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->m = timelib_get_month((char **) &ptr); + s->time->d = timelib_get_nr((char **) &ptr, 2); + + TIMELIB_HAVE_TIME(); + s->time->h = timelib_get_nr((char **) &ptr, 2); + s->time->i = timelib_get_nr((char **) &ptr, 2); + if (*ptr == ':' || *ptr == '.') { + s->time->s = timelib_get_nr((char **) &ptr, 2); + + if (*ptr == '.') { + s->time->f = timelib_get_frac_nr((char **) &ptr, 8); + } + } + + s->time->h += timelib_meridian((char **) &ptr, s->time->h); + TIMELIB_DEINIT; + return TIMELIB_SHORTDATE_WITH_TIME; + } +#line 4565 "" +yy247: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy245; + if (yych == '\t') goto yy245; + goto yy56; + } else { + if (yych <= ' ') goto yy245; + if (yych == '.') goto yy244; + goto yy56; + } +yy248: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy227; - goto yy222; + if (yych == ')') goto yy226; + goto yy221; } else { - if (yych == '.') goto yy222; - goto yy243; + if (yych == '.') goto yy221; + goto yy250; } } else { if (yych <= '^') { - if (yych <= '@') goto yy222; - if (yych <= 'Z') goto yy237; - goto yy222; + if (yych <= '@') goto yy221; + if (yych <= 'Z') goto yy238; + goto yy221; } else { - if (yych <= '_') goto yy243; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + if (yych <= '_') goto yy250; + if (yych <= '`') goto yy221; + if (yych >= '{') goto yy221; } } -yy242: +yy249: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy227; - goto yy222; + if (yych == ')') goto yy226; + goto yy221; } else { - if (yych == '.') goto yy222; + if (yych == '.') goto yy221; } } else { if (yych <= '^') { - if (yych <= '@') goto yy222; - if (yych <= 'Z') goto yy238; - goto yy222; + if (yych <= '@') goto yy221; + if (yych <= 'Z') goto yy239; + goto yy221; } else { - if (yych <= '_') goto yy243; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy246; - goto yy222; + if (yych <= '_') goto yy250; + if (yych <= '`') goto yy221; + if (yych <= 'z') goto yy253; + goto yy221; } } -yy243: +yy250: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy56; - if (yych <= 'Z') goto yy244; + if (yych <= 'Z') goto yy251; if (yych <= '`') goto yy56; if (yych >= '{') goto yy56; -yy244: +yy251: yyaccept = 7; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '-') { - if (yych <= ',') goto yy222; - goto yy243; + if (yych <= ',') goto yy221; + goto yy250; } else { - if (yych == '/') goto yy243; - goto yy222; + if (yych == '/') goto yy250; + goto yy221; } } else { if (yych <= '_') { - if (yych <= 'Z') goto yy244; - if (yych <= '^') goto yy222; - goto yy243; + if (yych <= 'Z') goto yy251; + if (yych <= '^') goto yy221; + goto yy250; } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy244; - goto yy222; + if (yych <= '`') goto yy221; + if (yych <= 'z') goto yy251; + goto yy221; } } -yy246: +yy253: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy227; - goto yy222; + if (yych == ')') goto yy226; + goto yy221; } else { - if (yych == '.') goto yy222; - goto yy243; + if (yych == '.') goto yy221; + goto yy250; } } else { if (yych <= '^') { - if (yych <= '@') goto yy222; - if (yych <= 'Z') goto yy239; - goto yy222; + if (yych <= '@') goto yy221; + if (yych <= 'Z') goto yy240; + goto yy221; } else { - if (yych <= '_') goto yy243; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + if (yych <= '_') goto yy250; + if (yych <= '`') goto yy221; + if (yych >= '{') goto yy221; } } yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { - if (yych == ')') goto yy227; - goto yy222; + if (yych == ')') goto yy226; + goto yy221; } else { - if (yych == '.') goto yy222; - goto yy243; + if (yych == '.') goto yy221; + goto yy250; } } else { if (yych <= '^') { - if (yych <= '@') goto yy222; - if (yych <= 'Z') goto yy240; - goto yy222; + if (yych <= '@') goto yy221; + if (yych <= 'Z') goto yy241; + goto yy221; } else { - if (yych <= '_') goto yy243; - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + if (yych <= '_') goto yy250; + if (yych <= '`') goto yy221; + if (yych >= '{') goto yy221; } } yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ')') { - if (yych <= '(') goto yy222; - goto yy227; + if (yych <= '(') goto yy221; + goto yy226; } else { - if (yych == '-') goto yy243; - goto yy222; + if (yych == '-') goto yy250; + goto yy221; } } else { if (yych <= '_') { - if (yych <= '/') goto yy243; - if (yych <= '^') goto yy222; - goto yy243; + if (yych <= '/') goto yy250; + if (yych <= '^') goto yy221; + goto yy250; } else { - if (yych <= '`') goto yy222; - if (yych >= '{') goto yy222; + if (yych <= '`') goto yy221; + if (yych >= '{') goto yy221; } } -yy249: +yy256: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') { - if (yych == '-') goto yy243; + if (yych == '-') goto yy250; if (yych <= '.') goto yy56; - goto yy243; + goto yy250; } else { if (yych <= '_') { if (yych <= '^') goto yy56; - goto yy243; + goto yy250; } else { if (yych <= '`') goto yy56; - if (yych <= 'z') goto yy249; + if (yych <= 'z') goto yy256; goto yy56; } } -yy251: +yy258: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy245; + if (yych == '\t') goto yy245; + goto yy221; + } else { + if (yych <= '(') { + if (yych <= ' ') goto yy245; + goto yy221; + } else { + if (yych <= ')') goto yy226; + if (yych <= ',') goto yy221; + goto yy250; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '.') goto yy244; + if (yych <= '/') goto yy250; + if (yych <= '@') goto yy221; + goto yy238; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy221; + goto yy250; + } else { + if (yych <= '`') goto yy221; + if (yych <= 'z') goto yy249; + goto yy221; + } + } + } +yy259: yych = *++YYCURSOR; - if (yych <= '/') goto yy222; - if (yych <= '9') goto yy253; - if (yych <= ':') goto yy254; - goto yy222; -yy252: + if (yych <= '/') goto yy221; + if (yych <= '9') goto yy261; + if (yych <= ':') goto yy262; + goto yy221; +yy260: yych = *++YYCURSOR; if (yych <= '5') { - if (yych <= '/') goto yy222; - if (yych >= '5') goto yy255; + if (yych <= '/') goto yy221; + if (yych >= '5') goto yy263; } else { - if (yych <= '9') goto yy227; - if (yych <= ':') goto yy254; - goto yy222; + if (yych <= '9') goto yy226; + if (yych <= ':') goto yy262; + goto yy221; } -yy253: +yy261: yych = *++YYCURSOR; - if (yych <= '/') goto yy222; - if (yych <= '5') goto yy255; - if (yych <= '9') goto yy227; - if (yych >= ';') goto yy222; -yy254: + if (yych <= '/') goto yy221; + if (yych <= '5') goto yy263; + if (yych <= '9') goto yy226; + if (yych >= ';') goto yy221; +yy262: yych = *++YYCURSOR; - if (yych <= '/') goto yy222; - if (yych <= '5') goto yy255; - if (yych <= '9') goto yy227; - goto yy222; -yy255: + if (yych <= '/') goto yy221; + if (yych <= '5') goto yy263; + if (yych <= '9') goto yy226; + goto yy221; +yy263: yych = *++YYCURSOR; - if (yych <= '/') goto yy222; - if (yych <= '9') goto yy227; - goto yy222; -yy256: + if (yych <= '/') goto yy221; + if (yych <= '9') goto yy226; + goto yy221; +yy264: yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == ')') goto yy227; - if (yych <= '@') goto yy222; - goto yy237; + if (yych == ')') goto yy226; + if (yych <= '@') goto yy221; + goto yy238; } else { if (yych <= 'Z') { - if (yych >= 'U') goto yy237; + if (yych >= 'U') goto yy238; } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy237; - goto yy222; + if (yych <= '`') goto yy221; + if (yych <= 'z') goto yy238; + goto yy221; } } yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ')') { - if (yych <= '(') goto yy222; - goto yy227; + if (yych <= '(') goto yy221; + goto yy226; } else { - if (yych == '+') goto yy232; - goto yy222; + if (yych == '+') goto yy231; + goto yy221; } } else { if (yych <= 'Z') { - if (yych <= '-') goto yy232; - if (yych <= '@') goto yy222; - goto yy238; + if (yych <= '-') goto yy231; + if (yych <= '@') goto yy221; + goto yy239; } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy238; - goto yy222; + if (yych <= '`') goto yy221; + if (yych <= 'z') goto yy239; + goto yy221; } } -yy258: - yyaccept = 6; +yy266: + yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy220; - goto yy198; + if (yych <= ':') { + if (yych <= ' ') { + if (yych == '\t') goto yy267; + if (yych <= 0x1F) goto yy221; + } else { + if (yych == '.') goto yy223; + if (yych <= '9') goto yy221; + goto yy223; + } } else { - if (yych <= '0') goto yy290; - if (yych <= '9') goto yy291; - if (yych <= ':') goto yy220; - goto yy198; + if (yych <= 'P') { + if (yych == 'A') goto yy269; + if (yych <= 'O') goto yy221; + goto yy269; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy221; + goto yy269; + } else { + if (yych == 'p') goto yy269; + goto yy221; + } + } } -yy259: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy198; +yy267: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; + if (yych <= 'A') { + if (yych <= 0x1F) { + if (yych == '\t') goto yy267; + goto yy56; + } else { + if (yych <= ' ') goto yy267; + if (yych <= '@') goto yy56; + } } else { - if (yych <= '2') goto yy291; - if (yych <= '9') goto yy290; - if (yych <= ':') goto yy263; - goto yy198; + if (yych <= '`') { + if (yych != 'P') goto yy56; + } else { + if (yych <= 'a') goto yy269; + if (yych != 'p') goto yy56; + } } -yy260: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy198; +yy269: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; } else { - if (yych <= '4') goto yy290; - if (yych <= '9') goto yy262; - if (yych <= ':') goto yy263; - goto yy198; + if (yych <= 'M') goto yy271; + if (yych == 'm') goto yy271; + goto yy56; } -yy261: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy198; + yych = *++YYCURSOR; + if (yych == 'M') goto yy271; + if (yych != 'm') goto yy56; +yy271: + yych = *++YYCURSOR; + if (yych <= 0x1F) { + if (yych <= 0x00) goto yy245; + if (yych == '\t') goto yy245; + goto yy56; } else { - if (yych <= '9') goto yy262; - if (yych <= ':') goto yy263; - goto yy198; + if (yych <= ' ') goto yy245; + if (yych != '.') goto yy56; } -yy262: yych = *++YYCURSOR; - if (yych <= '/') goto yy198; - if (yych <= '9') goto yy288; - goto yy198; -yy263: + if (yych <= '\t') { + if (yych <= 0x00) goto yy245; + if (yych <= 0x08) goto yy56; + goto yy245; + } else { + if (yych == ' ') goto yy245; + goto yy56; + } +yy273: + yych = *++YYCURSOR; + if (yych == '.') goto yy274; + if (yych != ':') goto yy56; +yy274: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy264; - if (yych <= '9') goto yy265; + if (yych <= '5') goto yy275; + if (yych <= '9') goto yy276; goto yy56; -yy264: +yy275: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy266; - goto yy222; + if (yych == '.') goto yy277; + goto yy221; } else { - if (yych <= '9') goto yy281; - if (yych <= ':') goto yy266; - goto yy222; + if (yych <= '9') goto yy276; + if (yych <= ':') goto yy277; + goto yy221; } -yy265: +yy276: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy266; - if (yych != ':') goto yy222; -yy266: + if (yych == '.') goto yy277; + if (yych != ':') goto yy221; +yy277: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy267; - if (yych <= '6') goto yy268; - if (yych <= '9') goto yy227; + if (yych <= '5') goto yy278; + if (yych <= '6') goto yy279; + if (yych <= '9') goto yy226; goto yy56; -yy267: +yy278: yych = *++YYCURSOR; - if (yych <= '/') goto yy222; - if (yych <= '9') goto yy269; - goto yy222; -yy268: + if (yych <= '/') goto yy221; + if (yych <= '9') goto yy280; + goto yy221; +yy279: yych = *++YYCURSOR; - if (yych != '0') goto yy222; -yy269: + if (yych != '0') goto yy221; +yy280: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '*') { if (yych <= 0x1F) { - if (yych == '\t') goto yy271; - goto yy222; + if (yych == '\t') goto yy282; + goto yy221; } else { - if (yych <= ' ') goto yy271; - if (yych == '(') goto yy271; - goto yy222; + if (yych <= ' ') goto yy282; + if (yych == '(') goto yy282; + goto yy221; } } else { if (yych <= '@') { - if (yych == ',') goto yy222; - if (yych <= '-') goto yy271; - goto yy222; + if (yych == ',') goto yy221; + if (yych <= '-') goto yy282; + goto yy221; } else { - if (yych <= 'Z') goto yy271; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy271; - goto yy222; + if (yych <= 'Z') goto yy282; + if (yych <= '`') goto yy221; + if (yych <= 'z') goto yy282; + goto yy221; } } -yy270: +yy281: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; -yy271: - if (yych <= '@') { - if (yych <= '\'') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy270; - } else { - if (yych == ' ') goto yy270; - goto yy56; - } +yy282: + if (yych <= '+') { + if (yych <= ' ') { + if (yych == '\t') goto yy281; + if (yych <= 0x1F) goto yy56; + goto yy281; } else { - if (yych <= '+') { - if (yych <= '(') goto yy233; - if (yych <= '*') goto yy56; - goto yy232; - } else { - if (yych == '-') goto yy232; - goto yy56; - } + if (yych == '(') goto yy232; + if (yych <= '*') goto yy56; + goto yy231; } } else { - if (yych <= 'Z') { - if (yych <= 'G') { - if (yych <= 'A') goto yy272; - if (yych <= 'F') goto yy234; - goto yy231; - } else { - if (yych != 'P') goto yy234; - } + if (yych <= 'F') { + if (yych == '-') goto yy231; + if (yych <= '@') goto yy56; + goto yy234; } else { - if (yych <= 'o') { - if (yych <= '`') goto yy56; - if (yych <= 'a') goto yy273; - goto yy235; + if (yych <= 'Z') { + if (yych <= 'G') goto yy230; + goto yy234; } else { - if (yych <= 'p') goto yy273; - if (yych <= 'z') goto yy235; + if (yych <= '`') goto yy56; + if (yych <= 'z') goto yy236; goto yy56; } } } -yy272: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= '.') goto yy274; - if (yych <= '@') goto yy222; - goto yy236; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy275; - if (yych <= 'Z') goto yy236; - goto yy222; - } else { - if (yych == 'm') goto yy280; - if (yych <= 'z') goto yy241; - goto yy222; - } - } -yy273: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= '.') goto yy274; - if (yych <= '@') goto yy222; - goto yy236; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy275; - if (yych <= 'Z') goto yy236; - goto yy222; - } else { - if (yych == 'm') goto yy275; - if (yych <= 'z') goto yy236; - goto yy222; - } - } -yy274: - yych = *++YYCURSOR; - if (yych == 'M') goto yy279; - if (yych == 'm') goto yy279; - goto yy56; -yy275: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy277; - if (yych <= 0x08) goto yy222; - goto yy277; - } else { - if (yych == ' ') goto yy277; - if (yych <= '(') goto yy222; - goto yy227; - } - } else { - if (yych <= '@') { - if (yych != '.') goto yy222; - } else { - if (yych <= 'Z') goto yy237; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy237; - goto yy222; - } - } -yy276: - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy277; - if (yych <= 0x08) goto yy56; - } else { - if (yych != ' ') goto yy56; - } -yy277: - ++YYCURSOR; -#line 1644 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_month((char **) &ptr); - s->time->d = timelib_get_nr((char **) &ptr, 2); - - TIMELIB_HAVE_TIME(); - s->time->h = timelib_get_nr((char **) &ptr, 2); - s->time->i = timelib_get_nr((char **) &ptr, 2); - if (*ptr == ':' || *ptr == '.') { - s->time->s = timelib_get_nr((char **) &ptr, 2); - - if (*ptr == '.') { - s->time->f = timelib_get_frac_nr((char **) &ptr, 8); - } - } - - s->time->h += timelib_meridian((char **) &ptr, s->time->h); - TIMELIB_DEINIT; - return TIMELIB_SHORTDATE_WITH_TIME; - } -#line 4881 "" -yy279: +yy283: yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy277; - if (yych == '\t') goto yy277; + if (yych <= '/') { + if (yych == '.') goto yy274; goto yy56; } else { - if (yych <= ' ') goto yy277; - if (yych == '.') goto yy276; + if (yych <= '9') goto yy273; + if (yych <= ':') goto yy274; goto yy56; } -yy280: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy277; - if (yych == '\t') goto yy277; - goto yy222; - } else { - if (yych <= '(') { - if (yych <= ' ') goto yy277; - goto yy222; - } else { - if (yych <= ')') goto yy227; - if (yych <= ',') goto yy222; - goto yy243; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '.') goto yy276; - if (yych <= '/') goto yy243; - if (yych <= '@') goto yy222; - goto yy237; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy222; - goto yy243; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy242; - goto yy222; - } - } - } -yy281: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy282; - if (yych <= 0x1F) goto yy222; - } else { - if (yych == '.') goto yy266; - if (yych <= '9') goto yy222; - goto yy266; - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy284; - if (yych <= 'O') goto yy222; - goto yy284; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy222; - goto yy284; - } else { - if (yych == 'p') goto yy284; - goto yy222; - } - } - } -yy282: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; - if (yych <= 'A') { - if (yych <= 0x1F) { - if (yych == '\t') goto yy282; - goto yy56; - } else { - if (yych <= ' ') goto yy282; - if (yych <= '@') goto yy56; - } - } else { - if (yych <= '`') { - if (yych != 'P') goto yy56; - } else { - if (yych <= 'a') goto yy284; - if (yych != 'p') goto yy56; - } - } yy284: yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy56; - } else { - if (yych <= 'M') goto yy286; - if (yych == 'm') goto yy286; - goto yy56; - } -yy285: - yych = *++YYCURSOR; - if (yych == 'M') goto yy286; - if (yych != 'm') goto yy56; -yy286: - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy277; - if (yych == '\t') goto yy277; + if (yych <= '/') { + if (yych == '.') goto yy274; goto yy56; } else { - if (yych <= ' ') goto yy277; - if (yych != '.') goto yy56; - } -yy287: - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy277; - if (yych <= 0x08) goto yy56; - goto yy277; - } else { - if (yych == ' ') goto yy277; + if (yych <= '4') goto yy273; + if (yych == ':') goto yy274; goto yy56; } -yy288: - yych = *++YYCURSOR; - if (yych <= '/') goto yy198; - if (yych >= ':') goto yy198; - yych = *++YYCURSOR; - goto yy198; -yy290: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy220; - goto yy198; - } else { - if (yych <= '9') goto yy288; - if (yych <= ':') goto yy220; - goto yy198; - } -yy291: +yy285: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy198; - } else { - if (yych <= '9') goto yy288; - if (yych <= ':') goto yy263; - goto yy198; - } -yy292: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; -yy293: - ++YYCURSOR; -yy294: -#line 1338 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("datenoday"); - TIMELIB_INIT; - TIMELIB_HAVE_DATE(); - s->time->m = timelib_get_month((char **) &ptr); - s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); - s->time->d = 1; - TIMELIB_PROCESS_YEAR(s->time->y, length); - TIMELIB_DEINIT; - return TIMELIB_DATE_NO_DAY; - } -#line 5056 "" -yy295: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy220; - goto yy56; - } else { - if (yych <= '9') goto yy293; - if (yych <= ':') goto yy220; - goto yy56; - } -yy296: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; + if (yych == '.') goto yy274; + goto yy207; } else { + if (yych <= '0') goto yy292; if (yych <= '9') goto yy293; - if (yych <= ':') goto yy263; - goto yy56; - } -yy297: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych == '.') goto yy330; - goto yy215; - } else { - if (yych <= '0') goto yy331; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy220; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } - } -yy298: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych != '.') goto yy215; - } else { - if (yych <= '0') goto yy300; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy263; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + if (yych <= ':') goto yy274; + goto yy207; } -yy299: +yy286: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy305; - goto yy306; - } else { - if (yych <= '2') goto yy307; - if (yych <= '5') goto yy308; - if (yych <= '9') goto yy309; - goto yy215; - } -yy300: - 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: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; - } else { - if (yych <= '2') goto yy304; - if (yych <= '9') goto yy303; - if (yych <= ':') goto yy263; - goto yy56; - } -yy302: - yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy263; - goto yy56; + if (yych == '.') goto yy219; + goto yy207; } else { - if (yych <= '4') goto yy303; - if (yych <= '9') goto yy293; - if (yych <= ':') goto yy263; - goto yy56; + if (yych <= '2') goto yy293; + if (yych <= '9') goto yy292; + if (yych <= ':') goto yy219; + goto yy207; } -yy303: - yyaccept = 8; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy220; - if (yych == ':') goto yy220; - goto yy294; -yy304: - yyaccept = 8; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy263; - if (yych == ':') goto yy263; - goto yy294; -yy305: +yy287: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy325; - goto yy198; + if (yych == '.') goto yy219; + goto yy207; } else { - if (yych <= '0') goto yy324; - if (yych <= '9') goto yy329; - if (yych <= ':') goto yy325; - goto yy198; + if (yych <= '4') goto yy292; + if (yych <= '9') goto yy289; + if (yych <= ':') goto yy219; + goto yy207; } -yy306: +yy288: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy310; - goto yy198; + if (yych == '.') goto yy219; + goto yy207; } else { - if (yych <= '2') goto yy329; - if (yych <= '9') goto yy324; - if (yych <= ':') goto yy310; - goto yy198; + if (yych <= '9') goto yy289; + if (yych <= ':') goto yy219; + goto yy207; } -yy307: +yy289: + yych = *++YYCURSOR; + if (yych <= '/') goto yy207; + if (yych >= ':') goto yy207; +yy290: + yych = *++YYCURSOR; + if (yych <= '/') goto yy207; + if (yych >= ':') goto yy207; + yych = *++YYCURSOR; + goto yy207; +yy292: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy310; - goto yy198; - } else { - if (yych <= '4') goto yy324; - if (yych <= '9') goto yy323; - if (yych <= ':') goto yy310; - goto yy198; - } -yy308: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy310; - goto yy198; - } else { - if (yych <= '9') goto yy323; - if (yych <= ':') goto yy310; - goto yy198; - } -yy309: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych != '.') goto yy198; - } else { - if (yych <= '9') goto yy262; - if (yych >= ';') goto yy198; - } -yy310: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy311; - if (yych <= '6') goto yy312; - if (yych <= '9') goto yy265; - goto yy56; -yy311: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy266; - goto yy222; - } else { - if (yych <= '9') goto yy313; - if (yych <= ':') goto yy266; - goto yy222; - } -yy312: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy266; - goto yy222; - } else { - if (yych <= '0') goto yy269; - if (yych == ':') goto yy266; - goto yy222; - } -yy313: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy315; - if (yych <= 0x1F) goto yy222; - goto yy315; - } else { - if (yych <= '(') { - if (yych <= '\'') goto yy222; - goto yy315; - } else { - if (yych == '+') goto yy315; - goto yy222; - } - } - } else { - if (yych <= ':') { - if (yych <= '-') goto yy315; - if (yych <= '.') goto yy266; - if (yych <= '9') goto yy222; - goto yy266; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy222; - goto yy315; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy315; - goto yy222; - } - } - } -yy314: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy315: - if (yych <= '@') { - if (yych <= '\'') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy314; - } else { - if (yych == ' ') goto yy314; - goto yy56; - } - } else { - if (yych <= '+') { - if (yych <= '(') goto yy233; - if (yych <= '*') goto yy56; - goto yy232; - } else { - if (yych == '-') goto yy232; - goto yy56; - } - } - } else { - if (yych <= 'Z') { - if (yych <= 'G') { - if (yych <= 'A') goto yy316; - if (yych <= 'F') goto yy234; - goto yy231; - } else { - if (yych != 'P') goto yy234; - } - } else { - if (yych <= 'o') { - if (yych <= '`') goto yy56; - if (yych <= 'a') goto yy317; - goto yy235; - } else { - if (yych <= 'p') goto yy317; - if (yych <= 'z') goto yy235; - goto yy56; - } - } - } -yy316: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= '.') goto yy319; - if (yych <= '@') goto yy222; - goto yy236; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy318; - if (yych <= 'Z') goto yy236; - goto yy222; - } else { - if (yych == 'm') goto yy322; - if (yych <= 'z') goto yy241; - goto yy222; - } - } -yy317: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= '.') goto yy319; - if (yych <= '@') goto yy222; - goto yy236; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy318; - if (yych <= 'Z') goto yy236; - goto yy222; - } else { - if (yych == 'm') goto yy318; - if (yych <= 'z') goto yy236; - goto yy222; - } - } -yy318: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy277; - if (yych <= 0x08) goto yy222; - goto yy277; - } else { - if (yych == ' ') goto yy277; - if (yych <= '(') goto yy222; - goto yy227; - } - } else { - if (yych <= '@') { - if (yych == '.') goto yy321; - goto yy222; - } else { - if (yych <= 'Z') goto yy237; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy237; - goto yy222; - } - } -yy319: - yych = *++YYCURSOR; - if (yych == 'M') goto yy320; - if (yych != 'm') goto yy56; -yy320: - yych = *++YYCURSOR; - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy277; - if (yych == '\t') goto yy277; - goto yy56; - } else { - if (yych <= ' ') goto yy277; - if (yych != '.') goto yy56; - } -yy321: - yych = *++YYCURSOR; - if (yych <= '\t') { - if (yych <= 0x00) goto yy277; - if (yych <= 0x08) goto yy56; - goto yy277; - } else { - if (yych == ' ') goto yy277; - goto yy56; - } -yy322: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy277; - if (yych == '\t') goto yy277; - goto yy222; - } else { - if (yych <= '(') { - if (yych <= ' ') goto yy277; - goto yy222; - } else { - if (yych <= ')') goto yy227; - if (yych <= ',') goto yy222; - goto yy243; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '.') goto yy321; - if (yych <= '/') goto yy243; - if (yych <= '@') goto yy222; - goto yy237; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy222; - goto yy243; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy242; - goto yy222; - } - } - } -yy323: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy282; - if (yych <= 0x1F) goto yy198; - goto yy282; - } else { - if (yych <= '.') { - if (yych <= '-') goto yy198; - goto yy266; - } else { - if (yych <= '/') goto yy198; - if (yych <= '9') goto yy288; - goto yy266; - } - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy284; - if (yych <= 'O') goto yy198; - goto yy284; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy198; - goto yy284; - } else { - if (yych == 'p') goto yy284; - goto yy198; - } - } - } -yy324: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy282; - if (yych <= 0x1F) goto yy198; - goto yy282; - } else { - if (yych <= '.') { - if (yych <= '-') goto yy198; - } else { - if (yych <= '/') goto yy198; - if (yych <= '9') goto yy288; - } - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy284; - if (yych <= 'O') goto yy198; - goto yy284; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy198; - goto yy284; - } else { - if (yych == 'p') goto yy284; - goto yy198; - } - } - } -yy325: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy326; - if (yych <= '6') goto yy327; - if (yych <= '9') goto yy223; - goto yy56; -yy326: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy224; - goto yy222; - } else { - if (yych <= '9') goto yy328; - if (yych <= ':') goto yy224; - goto yy222; - } -yy327: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy224; - goto yy222; - } else { - if (yych <= '0') goto yy269; - if (yych == ':') goto yy224; - goto yy222; - } -yy328: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy271; - if (yych <= 0x1F) goto yy222; - goto yy271; - } else { - if (yych <= '(') { - if (yych <= '\'') goto yy222; - goto yy271; - } else { - if (yych == '+') goto yy271; - goto yy222; - } - } - } else { - if (yych <= ':') { - if (yych <= '-') goto yy271; - if (yych <= '.') goto yy224; - if (yych <= '9') goto yy222; - goto yy224; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy222; - goto yy271; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy271; - goto yy222; - } - } - } -yy329: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ':') { - if (yych <= ' ') { - if (yych == '\t') goto yy282; - if (yych <= 0x1F) goto yy198; - goto yy282; - } else { - if (yych <= '.') { - if (yych <= '-') goto yy198; - goto yy310; - } else { - if (yych <= '/') goto yy198; - if (yych <= '9') goto yy288; - goto yy310; - } - } - } else { - if (yych <= 'P') { - if (yych == 'A') goto yy284; - if (yych <= 'O') goto yy198; - goto yy284; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy198; - goto yy284; - } else { - if (yych == 'p') goto yy284; - goto yy198; - } - } - } -yy330: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy332; - goto yy333; - } else { - if (yych <= '2') goto yy334; - if (yych <= '5') goto yy335; - if (yych <= '9') goto yy336; - goto yy215; - } -yy331: - 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: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy349; - goto yy198; - } else { - if (yych <= '0') goto yy348; - if (yych <= '9') goto yy353; - if (yych <= ':') goto yy349; - goto yy198; - } -yy333: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy337; - goto yy198; - } else { - if (yych <= '2') goto yy353; - if (yych <= '9') goto yy348; - if (yych <= ':') goto yy337; - goto yy198; - } -yy334: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy337; - goto yy198; - } else { - if (yych <= '4') goto yy348; - if (yych <= '9') goto yy347; - if (yych <= ':') goto yy337; - goto yy198; - } -yy335: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy337; - goto yy198; - } else { - if (yych <= '9') goto yy347; - if (yych <= ':') goto yy337; - goto yy198; - } -yy336: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych != '.') goto yy198; - } else { - if (yych <= '9') goto yy262; - if (yych >= ';') goto yy198; - } -yy337: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy338; - if (yych <= '6') goto yy339; - if (yych <= '9') goto yy265; - goto yy56; -yy338: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy266; - goto yy222; - } else { - if (yych <= '9') goto yy340; - if (yych <= ':') goto yy266; - goto yy222; - } -yy339: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy266; - goto yy222; - } else { - if (yych <= '0') goto yy228; - if (yych == ':') goto yy266; - goto yy222; - } -yy340: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy342; - if (yych <= 0x1F) goto yy222; - goto yy342; - } else { - if (yych <= '(') { - if (yych <= '\'') goto yy222; - goto yy342; - } else { - if (yych == '+') goto yy342; - goto yy222; - } - } - } else { - if (yych <= ':') { - if (yych <= '-') goto yy342; - if (yych <= '.') goto yy266; - if (yych <= '9') goto yy222; - goto yy266; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy222; - goto yy342; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy342; - goto yy222; - } - } - } -yy341: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); - yych = *YYCURSOR; -yy342: - if (yych <= '@') { - if (yych <= '\'') { - if (yych <= '\t') { - if (yych <= 0x08) goto yy56; - goto yy341; - } else { - if (yych == ' ') goto yy341; - goto yy56; - } - } else { - if (yych <= '+') { - if (yych <= '(') goto yy233; - if (yych <= '*') goto yy56; - goto yy232; - } else { - if (yych == '-') goto yy232; - goto yy56; - } - } - } else { - if (yych <= 'Z') { - if (yych <= 'G') { - if (yych <= 'A') goto yy343; - if (yych <= 'F') goto yy234; - goto yy231; - } else { - if (yych != 'P') goto yy234; - } - } else { - if (yych <= 'o') { - if (yych <= '`') goto yy56; - if (yych <= 'a') goto yy344; - goto yy235; - } else { - if (yych <= 'p') goto yy344; - if (yych <= 'z') goto yy235; - goto yy56; - } - } - } -yy343: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= '.') goto yy285; - if (yych <= '@') goto yy222; - goto yy236; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy345; - if (yych <= 'Z') goto yy236; - goto yy222; - } else { - if (yych == 'm') goto yy346; - if (yych <= 'z') goto yy241; - goto yy222; - } - } -yy344: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { - if (yych <= '-') { - if (yych == ')') goto yy227; - goto yy222; - } else { - if (yych <= '.') goto yy285; - if (yych <= '@') goto yy222; - goto yy236; - } - } else { - if (yych <= '`') { - if (yych <= 'M') goto yy345; - if (yych <= 'Z') goto yy236; - goto yy222; - } else { - if (yych == 'm') goto yy345; - if (yych <= 'z') goto yy236; - goto yy222; - } - } -yy345: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy277; - if (yych <= 0x08) goto yy222; - goto yy277; - } else { - if (yych == ' ') goto yy277; - if (yych <= '(') goto yy222; - goto yy227; - } - } else { - if (yych <= '@') { - if (yych == '.') goto yy287; - goto yy222; - } else { - if (yych <= 'Z') goto yy237; - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy237; - goto yy222; - } - } -yy346: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych <= 0x00) goto yy277; - if (yych == '\t') goto yy277; - goto yy222; - } else { - if (yych <= '(') { - if (yych <= ' ') goto yy277; - goto yy222; - } else { - if (yych <= ')') goto yy227; - if (yych <= ',') goto yy222; - goto yy243; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '.') goto yy287; - if (yych <= '/') goto yy243; - if (yych <= '@') goto yy222; - goto yy237; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy222; - goto yy243; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy242; - goto yy222; - } - } - } -yy347: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy224; - goto yy198; - } else { - if (yych <= '9') goto yy288; - if (yych <= ':') goto yy224; - goto yy198; - } -yy348: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych != '.') goto yy198; - } else { - if (yych <= '9') goto yy288; - if (yych >= ';') goto yy198; - } -yy349: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych <= '5') goto yy350; - if (yych <= '6') goto yy351; - if (yych <= '9') goto yy223; - goto yy56; -yy350: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy224; - goto yy222; - } else { - if (yych <= '9') goto yy352; - if (yych <= ':') goto yy224; - goto yy222; - } -yy351: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy224; - goto yy222; - } else { - if (yych <= '0') goto yy228; - if (yych == ':') goto yy224; - goto yy222; - } -yy352: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ',') { - if (yych <= ' ') { - if (yych == '\t') goto yy230; - if (yych <= 0x1F) goto yy222; - goto yy230; - } else { - if (yych <= '(') { - if (yych <= '\'') goto yy222; - goto yy230; - } else { - if (yych == '+') goto yy230; - goto yy222; - } - } - } else { - if (yych <= ':') { - if (yych <= '-') goto yy230; - if (yych <= '.') goto yy224; - if (yych <= '9') goto yy222; - goto yy224; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy222; - goto yy230; - } else { - if (yych <= '`') goto yy222; - if (yych <= 'z') goto yy230; - goto yy222; - } - } - } -yy353: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych == '.') goto yy337; - goto yy198; - } else { - if (yych <= '9') goto yy288; - if (yych <= ':') goto yy337; - goto yy198; - } -yy354: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych == '.') goto yy299; - goto yy215; - } else { - if (yych <= '0') goto yy331; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy263; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + if (yych == '.') goto yy274; + goto yy207; + } else { + if (yych <= '9') goto yy290; + if (yych <= ':') goto yy274; + goto yy207; } -yy355: +yy293: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych == '.') goto yy299; - goto yy215; - } else { - if (yych <= '0') goto yy331; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } + if (yych <= '/') { + if (yych == '.') goto yy219; + goto yy207; } else { - if (yych <= 'q') { - if (yych <= ':') goto yy263; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } + if (yych <= '9') goto yy290; + if (yych <= ':') goto yy219; + goto yy207; } -yy356: +yy294: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy359; - goto yy360; + if (yych <= 0x00) goto yy213; + goto yy212; +yy295: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; +#line 1338 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datenoday"); + TIMELIB_INIT; + TIMELIB_HAVE_DATE(); + s->time->m = timelib_get_month((char **) &ptr); + s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); + s->time->d = 1; + TIMELIB_PROCESS_YEAR(s->time->y, length); + TIMELIB_DEINIT; + return TIMELIB_DATE_NO_DAY; + } +#line 5134 "" +yy298: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy213; + goto yy56; + } else { + if (yych <= '\t') goto yy211; + if (yych <= 0x1F) goto yy56; + goto yy211; + } } else { - if (yych <= '2') goto yy367; - if (yych <= '9') goto yy368; - goto yy215; + if (yych <= '-') { + if (yych == ',') goto yy211; + goto yy56; + } else { + if (yych <= '.') goto yy211; + if (yych <= '/') goto yy56; + goto yy295; + } } } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy211; - if (yych <= 'q') goto yy215; - goto yy212; + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy211; + } else { + if (yych == 'h') goto yy211; + goto yy56; + } } else { - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; + if (yych <= 'r') { + if (yych <= 'n') goto yy208; + if (yych <= 'q') goto yy56; + goto yy209; + } else { + if (yych <= 's') goto yy206; + if (yych <= 't') goto yy210; + goto yy56; + } } } -yy357: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych <= '0') goto yy359; - goto yy360; +yy299: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy213; + goto yy56; + } else { + if (yych <= '\t') goto yy211; + if (yych <= 0x1F) goto yy56; + goto yy211; + } } else { - if (yych <= '2') goto yy367; - if (yych <= '9') goto yy368; - goto yy215; + if (yych <= '-') { + if (yych == ',') goto yy211; + goto yy56; + } else { + if (yych <= '.') goto yy211; + if (yych <= '/') goto yy56; + goto yy302; + } } } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy211; - if (yych <= 'q') goto yy215; - goto yy212; + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy211; + } else { + if (yych == 'h') goto yy211; + goto yy56; + } } else { - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; + if (yych <= 'r') { + if (yych <= 'n') goto yy208; + if (yych <= 'q') goto yy56; + goto yy209; + } else { + if (yych <= 's') goto yy206; + if (yych <= 't') goto yy210; + goto yy56; + } } } -yy358: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'm') { - if (yych <= '1') { - if (yych <= '/') goto yy215; - if (yych >= '1') goto yy360; +yy300: + yych = *++YYCURSOR; + if (yych <= '9') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy213; + goto yy56; + } else { + if (yych <= '\t') goto yy211; + if (yych <= 0x1F) goto yy56; + goto yy211; + } } else { - if (yych <= '2') goto yy208; - if (yych <= '9') goto yy209; - goto yy215; + if (yych <= '-') { + if (yych == ',') goto yy211; + goto yy56; + } else { + if (yych <= '.') goto yy211; + if (yych <= '/') goto yy56; + goto yy302; + } } } else { - if (yych <= 'r') { - if (yych <= 'n') goto yy211; - if (yych <= 'q') goto yy215; - goto yy212; + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy211; + } else { + if (yych == 'h') goto yy211; + goto yy56; + } } else { - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; + if (yych <= 'r') { + if (yych <= 'n') goto yy208; + if (yych <= 'q') goto yy56; + goto yy209; + } else { + if (yych <= 's') goto yy206; + if (yych <= 't') goto yy210; + goto yy56; + } } } -yy359: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych <= ',') goto yy215; - if (yych <= '-') goto yy361; - if (yych <= '.') goto yy330; - goto yy215; +yy301: + yych = *++YYCURSOR; + if (yych <= '1') { + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy213; + goto yy56; + } else { + if (yych <= '\t') goto yy211; + if (yych <= 0x1F) goto yy56; + goto yy211; + } } else { - if (yych <= '0') goto yy331; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; + if (yych <= '-') { + if (yych == ',') goto yy211; + goto yy56; + } else { + if (yych <= '.') goto yy211; + if (yych <= '/') goto yy56; + } } } else { - if (yych <= 'q') { - if (yych <= ':') goto yy220; - if (yych == 'n') goto yy211; - goto yy215; + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= '9') goto yy205; + if (yych <= 'c') goto yy56; + goto yy211; + } else { + if (yych == 'h') goto yy211; + goto yy56; + } } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; + if (yych <= 'r') { + if (yych <= 'n') goto yy208; + if (yych <= 'q') goto yy56; + goto yy209; + } else { + if (yych <= 's') goto yy206; + if (yych <= 't') goto yy210; + goto yy56; + } } } -yy360: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); +yy302: + yych = *++YYCURSOR; if (yych <= '9') { - if (yych <= '/') { - if (yych <= ',') goto yy215; - if (yych <= '-') goto yy361; - if (yych <= '.') goto yy299; - goto yy215; + if (yych <= ' ') { + if (yych <= 0x08) { + if (yych <= 0x00) goto yy213; + goto yy56; + } else { + if (yych <= '\t') goto yy211; + if (yych <= 0x1F) goto yy56; + goto yy211; + } } else { - if (yych <= '0') goto yy300; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; + if (yych <= '-') { + if (yych <= '+') goto yy56; + if (yych <= ',') goto yy211; + } else { + if (yych <= '.') goto yy211; + if (yych <= '/') goto yy56; + goto yy295; + } } } else { - if (yych <= 'q') { - if (yych <= ':') goto yy263; - if (yych == 'n') goto yy211; - goto yy215; + if (yych <= 'm') { + if (yych <= 'd') { + if (yych <= 'c') goto yy56; + goto yy211; + } else { + if (yych == 'h') goto yy211; + goto yy56; + } } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; + if (yych <= 'r') { + if (yych <= 'n') goto yy208; + if (yych <= 'q') goto yy56; + goto yy209; + } else { + if (yych <= 's') goto yy206; + if (yych <= 't') goto yy210; + goto yy56; + } } } -yy361: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy363; - if (yych <= '9') goto yy364; -yy363: + if ((yych = *YYCURSOR) <= '/') goto yy305; + if (yych <= '9') goto yy306; +yy305: #line 1482 "ext/date/lib/parse_date.re" { int length = 0; @@ -6216,71 +5366,17 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 6220 "" -yy364: +#line 5370 "" +yy306: yych = *++YYCURSOR; - if (yych <= '/') goto yy363; - if (yych >= ':') goto yy363; + if (yych <= '/') goto yy305; + if (yych >= ':') goto yy305; yych = *++YYCURSOR; - if (yych <= '/') goto yy363; - if (yych >= ':') goto yy363; + if (yych <= '/') goto yy305; + if (yych >= ':') goto yy305; yych = *++YYCURSOR; - goto yy363; -yy367: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych <= ',') goto yy215; - if (yych <= '-') goto yy361; - if (yych <= '.') goto yy299; - goto yy215; - } else { - if (yych <= '0') goto yy331; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy263; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } - } -yy368: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych <= '/') { - if (yych <= ',') goto yy215; - if (yych <= '-') goto yy361; - if (yych <= '.') goto yy299; - goto yy215; - } else { - if (yych <= '0') goto yy331; - if (yych <= '1') goto yy301; - if (yych <= '2') goto yy302; - goto yy296; - } - } else { - if (yych <= 'q') { - if (yych <= ':') goto yy263; - if (yych == 'n') goto yy211; - goto yy215; - } else { - if (yych <= 'r') goto yy212; - if (yych <= 's') goto yy210; - if (yych <= 't') goto yy213; - goto yy215; - } - } -yy369: + goto yy305; +yy309: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { @@ -6304,13 +5400,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'c') goto yy370; + if (yych <= 'c') goto yy310; if (yych <= 'z') goto yy146; goto yy3; } } } -yy370: +yy310: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -6337,7 +5433,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy193; goto yy142; } else { - if (yych <= 'E') goto yy201; + if (yych <= 'E') goto yy200; if (yych <= 'Z') goto yy142; goto yy193; } @@ -6347,23 +5443,23 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy150; } else { - if (yych <= 'e') goto yy372; + if (yych <= 'e') goto yy312; if (yych <= 'z') goto yy150; goto yy193; } } } -yy371: +yy311: yych = *++YYCURSOR; if (yybm[0+yych] & 8) { goto yy148; } if (yych <= '/') goto yy195; - if (yych <= '0') goto yy356; - if (yych <= '2') goto yy357; - if (yych <= '3') goto yy358; + if (yych <= '0') goto yy299; + if (yych <= '2') goto yy300; + if (yych <= '3') goto yy301; goto yy195; -yy372: +yy312: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { @@ -6378,7 +5474,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'M') goto yy202; + if (yych <= 'M') goto yy201; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -6387,13 +5483,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'm') goto yy373; + if (yych <= 'm') goto yy313; if (yych <= 'z') goto yy151; goto yy3; } } } -yy373: +yy313: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { @@ -6408,7 +5504,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'B') goto yy203; + if (yych <= 'B') goto yy202; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -6417,13 +5513,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'b') goto yy374; + if (yych <= 'b') goto yy314; if (yych <= 'z') goto yy152; goto yy3; } } } -yy374: +yy314: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -6437,20 +5533,20 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'E') goto yy204; + if (yych <= 'E') goto yy203; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 'e') goto yy375; + if (yych == 'e') goto yy315; if (yych <= 'z') goto yy153; goto yy3; } } -yy375: +yy315: yych = *++YYCURSOR; - if (yych == 'R') goto yy205; + if (yych == 'R') goto yy204; if (yych != 'r') goto yy154; -yy376: +yy316: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -6473,13 +5569,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy193; } } -yy377: +yy317: yych = *++YYCURSOR; if (yybm[0+yych] & 8) { goto yy148; } goto yy195; -yy378: +yy318: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -6495,12 +5591,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 't') goto yy379; + if (yych <= 't') goto yy319; if (yych <= 'z') goto yy141; goto yy3; } } -yy379: +yy319: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -6535,13 +5631,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy142; } else { - if (yych <= 'o') goto yy380; + if (yych <= 'o') goto yy320; if (yych <= 'z') goto yy142; goto yy193; } } } -yy380: +yy320: yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { @@ -6557,12 +5653,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'b') goto yy381; + if (yych <= 'b') goto yy321; if (yych <= 'z') goto yy143; goto yy3; } } -yy381: +yy321: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -6578,22 +5674,22 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'e') goto yy382; + if (yych <= 'e') goto yy322; if (yych <= 'z') goto yy144; goto yy3; } } -yy382: +yy322: yych = *++YYCURSOR; if (yych <= 'Q') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'R') goto yy205; - if (yych == 'r') goto yy205; + if (yych <= 'R') goto yy204; + if (yych == 'r') goto yy204; goto yy3; } -yy383: +yy323: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -6608,7 +5704,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy379; + if (yych <= 'T') goto yy319; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -6617,13 +5713,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 't') goto yy384; + if (yych <= 't') goto yy324; if (yych <= 'z') goto yy146; goto yy3; } } } -yy384: +yy324: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -6639,7 +5735,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '-') { if (yych <= ')') goto yy139; if (yych <= ',') goto yy193; - goto yy371; + goto yy311; } else { if (yych == '/') goto yy147; goto yy195; @@ -6651,7 +5747,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy193; goto yy142; } else { - if (yych <= 'O') goto yy380; + if (yych <= 'O') goto yy320; if (yych <= 'Z') goto yy142; goto yy193; } @@ -6661,13 +5757,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy150; } else { - if (yych <= 'o') goto yy385; + if (yych <= 'o') goto yy325; if (yych <= 'z') goto yy150; goto yy193; } } } -yy385: +yy325: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { @@ -6682,7 +5778,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'B') goto yy381; + if (yych <= 'B') goto yy321; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -6691,13 +5787,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'b') goto yy386; + if (yych <= 'b') goto yy326; if (yych <= 'z') goto yy151; goto yy3; } } } -yy386: +yy326: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -6712,7 +5808,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'E') goto yy382; + if (yych <= 'E') goto yy322; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -6721,13 +5817,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'e') goto yy387; + if (yych <= 'e') goto yy327; if (yych <= 'z') goto yy152; goto yy3; } } } -yy387: +yy327: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -6741,16 +5837,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'R') goto yy205; + if (yych <= 'R') goto yy204; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 'r') goto yy376; + if (yych == 'r') goto yy316; if (yych <= 'z') goto yy153; goto yy3; } } -yy388: +yy328: yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { @@ -6759,7 +5855,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy141; - goto yy396; + goto yy336; } } else { if (yych <= 'f') { @@ -6767,12 +5863,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'g') goto yy396; + if (yych <= 'g') goto yy336; if (yych <= 'z') goto yy141; goto yy3; } } -yy389: +yy329: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -6781,7 +5877,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy141; - goto yy393; + goto yy333; } } else { if (yych <= 'q') { @@ -6789,12 +5885,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'r') goto yy393; + if (yych <= 'r') goto yy333; if (yych <= 'z') goto yy141; goto yy3; } } -yy390: +yy330: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { @@ -6810,21 +5906,21 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'o') goto yy391; + if (yych <= 'o') goto yy331; if (yych <= 'z') goto yy141; goto yy3; } } -yy391: +yy331: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy139; } else { if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy392; + if (yych <= '`') goto yy332; if (yych <= 'z') goto yy142; } -yy392: +yy332: #line 1540 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("ago"); @@ -6845,8 +5941,8 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_AGO; } -#line 6849 "" -yy393: +#line 5945 "" +yy333: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -6881,13 +5977,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy142; } else { - if (yych <= 'i') goto yy394; + if (yych <= 'i') goto yy334; if (yych <= 'z') goto yy142; goto yy193; } } } -yy394: +yy334: yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { @@ -6903,12 +5999,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'l') goto yy395; + if (yych <= 'l') goto yy335; if (yych <= 'z') goto yy143; goto yy3; } } -yy395: +yy335: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -6932,7 +6028,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy193; } } -yy396: +yy336: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -6967,13 +6063,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy142; } else { - if (yych <= 'u') goto yy397; + if (yych <= 'u') goto yy337; if (yych <= 'z') goto yy142; goto yy193; } } } -yy397: +yy337: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -6989,12 +6085,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 's') goto yy398; + if (yych <= 's') goto yy338; if (yych <= 'z') goto yy143; goto yy3; } } -yy398: +yy338: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -7010,12 +6106,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 't') goto yy399; + if (yych <= 't') goto yy339; if (yych <= 'z') goto yy144; goto yy3; } } -yy399: +yy339: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { @@ -7037,7 +6133,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy193; } } -yy400: +yy340: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { @@ -7052,7 +6148,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'G') goto yy396; + if (yych <= 'G') goto yy336; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -7061,13 +6157,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'g') goto yy407; + if (yych <= 'g') goto yy347; if (yych <= 'z') goto yy146; goto yy3; } } } -yy401: +yy341: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -7082,7 +6178,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'R') goto yy393; + if (yych <= 'R') goto yy333; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -7091,13 +6187,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'r') goto yy404; + if (yych <= 'r') goto yy344; if (yych <= 'z') goto yy146; goto yy3; } } } -yy402: +yy342: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -7112,7 +6208,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'O') goto yy391; + if (yych <= 'O') goto yy331; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -7121,36 +6217,36 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'o') goto yy403; + if (yych <= 'o') goto yy343; if (yych <= 'z') goto yy146; goto yy3; } } } -yy403: - yyaccept = 9; +yy343: + yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych == ')') goto yy139; - goto yy392; + goto yy332; } else { - if (yych == '.') goto yy392; + if (yych == '.') goto yy332; goto yy147; } } else { if (yych <= '^') { - if (yych <= '@') goto yy392; + if (yych <= '@') goto yy332; if (yych <= 'Z') goto yy142; - goto yy392; + goto yy332; } else { if (yych <= '_') goto yy147; - if (yych <= '`') goto yy392; + if (yych <= '`') goto yy332; if (yych <= 'z') goto yy150; - goto yy392; + goto yy332; } } -yy404: +yy344: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -7166,7 +6262,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '-') { if (yych <= ')') goto yy139; if (yych <= ',') goto yy193; - goto yy371; + goto yy311; } else { if (yych == '/') goto yy147; goto yy195; @@ -7178,7 +6274,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy193; goto yy142; } else { - if (yych <= 'I') goto yy394; + if (yych <= 'I') goto yy334; if (yych <= 'Z') goto yy142; goto yy193; } @@ -7188,13 +6284,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy150; } else { - if (yych <= 'i') goto yy405; + if (yych <= 'i') goto yy345; if (yych <= 'z') goto yy150; goto yy193; } } } -yy405: +yy345: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'K') { @@ -7209,7 +6305,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'L') goto yy395; + if (yych <= 'L') goto yy335; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -7218,13 +6314,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'l') goto yy406; + if (yych <= 'l') goto yy346; if (yych <= 'z') goto yy151; goto yy3; } } } -yy406: +yy346: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -7238,7 +6334,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy139; } else { if (yych <= ',') goto yy193; - if (yych <= '-') goto yy377; + if (yych <= '-') goto yy317; goto yy195; } } @@ -7259,7 +6355,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy407: +yy347: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -7275,7 +6371,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '-') { if (yych <= ')') goto yy139; if (yych <= ',') goto yy193; - goto yy371; + goto yy311; } else { if (yych == '/') goto yy147; goto yy195; @@ -7287,7 +6383,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy193; goto yy142; } else { - if (yych <= 'U') goto yy397; + if (yych <= 'U') goto yy337; if (yych <= 'Z') goto yy142; goto yy193; } @@ -7297,13 +6393,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy150; } else { - if (yych <= 'u') goto yy408; + if (yych <= 'u') goto yy348; if (yych <= 'z') goto yy150; goto yy193; } } } -yy408: +yy348: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -7318,7 +6414,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'S') goto yy398; + if (yych <= 'S') goto yy338; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -7327,13 +6423,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 's') goto yy409; + if (yych <= 's') goto yy349; if (yych <= 'z') goto yy151; goto yy3; } } } -yy409: +yy349: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -7348,7 +6444,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy399; + if (yych <= 'T') goto yy339; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -7357,13 +6453,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 't') goto yy410; + if (yych <= 't') goto yy350; if (yych <= 'z') goto yy152; goto yy3; } } } -yy410: +yy350: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -7380,7 +6476,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '/') { - if (yych <= '-') goto yy377; + if (yych <= '-') goto yy317; if (yych <= '.') goto yy195; goto yy147; } else { @@ -7389,30 +6485,30 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy193; } } -yy411: +yy351: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= '@') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych == 'L') goto yy418; + if (yych == 'L') goto yy358; if (yych <= 'M') goto yy141; - goto yy417; + goto yy357; } } else { if (yych <= 'l') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; if (yych <= 'k') goto yy141; - goto yy418; + goto yy358; } else { - if (yych == 'n') goto yy417; + if (yych == 'n') goto yy357; if (yych <= 'z') goto yy141; goto yy3; } } -yy412: +yy352: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -7428,12 +6524,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'n') goto yy413; + if (yych <= 'n') goto yy353; if (yych <= 'z') goto yy141; goto yy3; } } -yy413: +yy353: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -7468,13 +6564,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy142; } else { - if (yych <= 'u') goto yy414; + if (yych <= 'u') goto yy354; if (yych <= 'z') goto yy142; goto yy193; } } } -yy414: +yy354: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy139; @@ -7484,12 +6580,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy143; goto yy3; } else { - if (yych <= 'a') goto yy415; + if (yych <= 'a') goto yy355; if (yych <= 'z') goto yy143; goto yy3; } } -yy415: +yy355: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -7505,22 +6601,22 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'r') goto yy416; + if (yych <= 'r') goto yy356; if (yych <= 'z') goto yy144; goto yy3; } } -yy416: +yy356: yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'Y') goto yy205; - if (yych == 'y') goto yy205; + if (yych <= 'Y') goto yy204; + if (yych == 'y') goto yy204; goto yy3; } -yy417: +yy357: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -7548,7 +6644,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy195; goto yy193; } else { - if (yych == 'E') goto yy419; + if (yych == 'E') goto yy359; goto yy142; } } else { @@ -7556,13 +6652,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy142; } else { - if (yych <= 'e') goto yy419; + if (yych <= 'e') goto yy359; if (yych <= 'z') goto yy142; goto yy193; } } } -yy418: +yy358: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -7597,13 +6693,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy142; } else { - if (yych <= 'y') goto yy419; + if (yych <= 'y') goto yy359; if (yych <= 'z') goto yy142; goto yy193; } } } -yy419: +yy359: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -7627,7 +6723,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy193; } } -yy420: +yy360: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -7644,14 +6740,14 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '/') goto yy147; goto yy3; } else { - if (yych == 'L') goto yy418; + if (yych == 'L') goto yy358; goto yy141; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'N') goto yy417; + if (yych <= 'N') goto yy357; goto yy141; } else { if (yych == '_') goto yy147; @@ -7659,16 +6755,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= 'm') { - if (yych == 'l') goto yy427; + if (yych == 'l') goto yy367; goto yy146; } else { - if (yych <= 'n') goto yy426; + if (yych <= 'n') goto yy366; if (yych <= 'z') goto yy146; goto yy3; } } } -yy421: +yy361: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -7683,7 +6779,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'N') goto yy413; + if (yych <= 'N') goto yy353; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -7692,13 +6788,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'n') goto yy422; + if (yych <= 'n') goto yy362; if (yych <= 'z') goto yy146; goto yy3; } } } -yy422: +yy362: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -7714,7 +6810,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '-') { if (yych <= ')') goto yy139; if (yych <= ',') goto yy193; - goto yy371; + goto yy311; } else { if (yych == '/') goto yy147; goto yy195; @@ -7726,7 +6822,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy193; goto yy142; } else { - if (yych <= 'U') goto yy414; + if (yych <= 'U') goto yy354; if (yych <= 'Z') goto yy142; goto yy193; } @@ -7736,13 +6832,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy150; } else { - if (yych <= 'u') goto yy423; + if (yych <= 'u') goto yy363; if (yych <= 'z') goto yy150; goto yy193; } } } -yy423: +yy363: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -7756,18 +6852,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'A') goto yy415; + if (yych <= 'A') goto yy355; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy424; + if (yych <= 'a') goto yy364; if (yych <= 'z') goto yy151; goto yy3; } } -yy424: +yy364: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -7782,7 +6878,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'R') goto yy416; + if (yych <= 'R') goto yy356; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -7791,13 +6887,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'r') goto yy425; + if (yych <= 'r') goto yy365; if (yych <= 'z') goto yy152; goto yy3; } } } -yy425: +yy365: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -7811,16 +6907,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'Y') goto yy205; + if (yych <= 'Y') goto yy204; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 'y') goto yy376; + if (yych == 'y') goto yy316; if (yych <= 'z') goto yy153; goto yy3; } } -yy426: +yy366: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -7836,7 +6932,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '-') { if (yych <= ')') goto yy139; if (yych <= ',') goto yy193; - goto yy371; + goto yy311; } else { if (yych == '/') goto yy147; goto yy195; @@ -7848,7 +6944,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy193; goto yy142; } else { - if (yych <= 'E') goto yy419; + if (yych <= 'E') goto yy359; if (yych <= 'Z') goto yy142; goto yy193; } @@ -7858,13 +6954,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy150; } else { - if (yych <= 'e') goto yy428; + if (yych <= 'e') goto yy368; if (yych <= 'z') goto yy150; goto yy193; } } } -yy427: +yy367: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -7880,7 +6976,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '-') { if (yych <= ')') goto yy139; if (yych <= ',') goto yy193; - goto yy371; + goto yy311; } else { if (yych == '/') goto yy147; goto yy195; @@ -7892,7 +6988,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy193; goto yy142; } else { - if (yych <= 'Y') goto yy419; + if (yych <= 'Y') goto yy359; if (yych <= 'Z') goto yy142; goto yy193; } @@ -7902,13 +6998,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy150; } else { - if (yych <= 'y') goto yy428; + if (yych <= 'y') goto yy368; if (yych <= 'z') goto yy150; goto yy193; } } } -yy428: +yy368: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -7922,7 +7018,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy139; } else { if (yych <= ',') goto yy193; - if (yych <= '-') goto yy377; + if (yych <= '-') goto yy317; goto yy195; } } @@ -7943,7 +7039,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy429: +yy369: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -7972,7 +7068,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy430: +yy370: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -7996,7 +7092,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy431: +yy371: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -8076,7 +7172,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy434: +yy374: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { @@ -8100,7 +7196,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy435: +yy375: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -8121,7 +7217,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy141; } else { if (yych <= 'Z') { - if (yych <= 'I') goto yy430; + if (yych <= 'I') goto yy370; goto yy141; } else { if (yych <= '`') goto yy3; @@ -8130,7 +7226,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy436: +yy376: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { @@ -8142,7 +7238,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '9') { if (yych <= '/') goto yy3; - goto yy456; + goto yy396; } else { if (yych <= ':') goto yy162; if (yych <= 'C') goto yy3; @@ -8196,7 +7292,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy437: +yy377: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -8208,10 +7304,10 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '4') { if (yych <= '/') goto yy3; - goto yy456; + goto yy396; } else { - if (yych <= '5') goto yy441; - if (yych <= '9') goto yy442; + if (yych <= '5') goto yy381; + if (yych <= '9') goto yy382; goto yy162; } } @@ -8271,7 +7367,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy438: +yy378: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -8283,9 +7379,9 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '5') { if (yych <= '/') goto yy3; - goto yy441; + goto yy381; } else { - if (yych <= '9') goto yy442; + if (yych <= '9') goto yy382; if (yych <= ':') goto yy162; goto yy3; } @@ -8342,7 +7438,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy439: +yy379: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; @@ -8350,15 +7446,15 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy57; } if (yych <= ',') { - if (yych == '+') goto yy439; + if (yych == '+') goto yy379; goto yy56; } else { - if (yych <= '-') goto yy439; + if (yych <= '-') goto yy379; if (yych <= '/') goto yy56; if (yych <= '9') goto yy54; goto yy56; } -yy441: +yy381: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { @@ -8369,7 +7465,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy60; } else { if (yych <= '/') goto yy3; - if (yych <= '9') goto yy455; + if (yych <= '9') goto yy395; if (yych <= 'C') goto yy3; goto yy60; } @@ -8420,7 +7516,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy442: +yy382: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { @@ -8431,7 +7527,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy60; } else { if (yych <= '/') goto yy3; - if (yych <= '9') goto yy443; + if (yych <= '9') goto yy383; if (yych <= 'C') goto yy3; goto yy60; } @@ -8482,57 +7578,57 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy443: +yy383: yych = *++YYCURSOR; if (yych <= '/') goto yy60; if (yych >= ':') goto yy60; -yy444: +yy384: yych = *++YYCURSOR; if (yybm[0+yych] & 2) { goto yy54; } if (yych != '-') goto yy60; -yy445: +yy385: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '0') goto yy446; - if (yych <= '1') goto yy447; + if (yych <= '0') goto yy386; + if (yych <= '1') goto yy387; goto yy56; -yy446: +yy386: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy448; + if (yych <= '9') goto yy388; goto yy56; -yy447: +yy387: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '3') goto yy56; -yy448: +yy388: yych = *++YYCURSOR; if (yych != '-') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '0') goto yy450; - if (yych <= '2') goto yy451; - if (yych <= '3') goto yy452; + if (yych <= '0') goto yy390; + if (yych <= '2') goto yy391; + if (yych <= '3') goto yy392; goto yy56; -yy450: +yy390: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy453; + if (yych <= '9') goto yy393; goto yy56; -yy451: +yy391: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy453; + if (yych <= '9') goto yy393; goto yy56; -yy452: +yy392: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '2') goto yy56; -yy453: +yy393: ++YYCURSOR; -yy454: +yy394: #line 1243 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); @@ -8544,8 +7640,8 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 8548 "" -yy455: +#line 7644 "" +yy395: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { @@ -8556,7 +7652,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy60; } else { if (yych <= '/') goto yy3; - if (yych <= '9') goto yy444; + if (yych <= '9') goto yy384; if (yych <= 'C') goto yy3; goto yy60; } @@ -8607,7 +7703,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy456: +yy396: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -8620,7 +7716,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '5') { if (yych <= '/') goto yy3; } else { - if (yych <= '9') goto yy455; + if (yych <= '9') goto yy395; if (yych <= ':') goto yy162; goto yy3; } @@ -8687,7 +7783,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy60; } else { if (yych <= '/') goto yy3; - if (yych <= '9') goto yy458; + if (yych <= '9') goto yy398; if (yych <= 'C') goto yy3; goto yy60; } @@ -8738,7 +7834,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy458: +yy398: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { @@ -8751,7 +7847,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 0x1F) goto yy3; goto yy60; } else { - if (yych == '-') goto yy445; + if (yych == '-') goto yy385; if (yych <= 'C') goto yy3; goto yy60; } @@ -8802,62 +7898,62 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy459: +yy399: yych = *++YYCURSOR; - if (yych <= '/') goto yy461; - if (yych <= '0') goto yy735; - if (yych <= '1') goto yy736; - if (yych <= '9') goto yy737; - goto yy461; -yy460: + if (yych <= '/') goto yy401; + if (yych <= '0') goto yy675; + if (yych <= '1') goto yy676; + if (yych <= '9') goto yy677; + goto yy401; +yy400: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; -yy461: +yy401: switch (yych) { case '\t': - case ' ': goto yy460; + case ' ': goto yy400; case '-': - case '.': goto yy576; + case '.': goto yy516; case 'A': - case 'a': goto yy479; + case 'a': goto yy419; case 'D': - case 'd': goto yy465; + case 'd': goto yy405; case 'F': - case 'f': goto yy466; + case 'f': goto yy406; case 'H': case 'h': goto yy63; - case 'I': goto yy474; + case 'I': goto yy414; case 'J': - case 'j': goto yy478; + case 'j': goto yy418; case 'M': - case 'm': goto yy464; + case 'm': goto yy404; case 'N': - case 'n': goto yy481; + case 'n': goto yy421; case 'O': - case 'o': goto yy480; + case 'o': goto yy420; case 'P': - case 'p': goto yy483; + case 'p': goto yy423; case 'S': - case 's': goto yy462; + case 's': goto yy402; case 'T': case 't': goto yy68; - case 'V': goto yy476; + case 'V': goto yy416; case 'W': case 'w': goto yy67; - case 'X': goto yy477; + case 'X': goto yy417; case 'Y': case 'y': goto yy66; default: goto yy56; } -yy462: +yy402: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy126; goto yy56; } else { - if (yych <= 'E') goto yy1048; + if (yych <= 'E') goto yy988; if (yych <= 'T') goto yy56; goto yy125; } @@ -8866,19 +7962,19 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych == 'a') goto yy126; goto yy56; } else { - if (yych <= 'e') goto yy1048; + if (yych <= 'e') goto yy988; if (yych == 'u') goto yy125; goto yy56; } } -yy463: +yy403: yych = *++YYCURSOR; if (yych <= '`') { if (yych <= 'D') { if (yych == 'A') goto yy126; goto yy56; } else { - if (yych <= 'E') goto yy1048; + if (yych <= 'E') goto yy988; if (yych == 'U') goto yy125; goto yy56; } @@ -8886,19 +7982,19 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'e') { if (yych <= 'a') goto yy126; if (yych <= 'd') goto yy56; - goto yy1048; + goto yy988; } else { if (yych <= 's') goto yy56; - if (yych <= 't') goto yy728; + if (yych <= 't') goto yy668; if (yych <= 'u') goto yy125; goto yy56; } } -yy464: +yy404: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { - if (yych == 'A') goto yy591; + if (yych == 'A') goto yy531; goto yy56; } else { if (yych <= 'I') goto yy117; @@ -8907,7 +8003,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= 'h') { - if (yych == 'a') goto yy591; + if (yych == 'a') goto yy531; goto yy56; } else { if (yych <= 'i') goto yy117; @@ -8915,26 +8011,26 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy56; } } -yy465: +yy405: yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy113; if (yych <= 'D') goto yy56; - goto yy578; + goto yy518; } else { if (yych <= 'a') { if (yych <= '`') goto yy56; goto yy113; } else { - if (yych == 'e') goto yy578; + if (yych == 'e') goto yy518; goto yy56; } } -yy466: +yy406: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { - if (yych == 'E') goto yy594; + if (yych == 'E') goto yy534; goto yy56; } else { if (yych <= 'O') goto yy98; @@ -8943,7 +8039,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= 'n') { - if (yych == 'e') goto yy594; + if (yych == 'e') goto yy534; goto yy56; } else { if (yych <= 'o') goto yy98; @@ -8951,7 +8047,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy56; } } -yy467: +yy407: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy69; @@ -8960,68 +8056,68 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= 'h') { if (yych <= 'g') goto yy56; - goto yy1047; + goto yy987; } else { if (yych == 'u') goto yy70; goto yy56; } } -yy468: +yy408: yych = *++YYCURSOR; - if (yych == '-') goto yy741; + if (yych == '-') goto yy681; if (yych <= '/') goto yy60; - if (yych <= '9') goto yy740; + if (yych <= '9') goto yy680; goto yy60; -yy469: +yy409: yych = *++YYCURSOR; if (yych <= 'c') { - if (yych == 'O') goto yy529; + if (yych == 'O') goto yy469; goto yy56; } else { - if (yych <= 'd') goto yy728; - if (yych == 'o') goto yy529; + if (yych <= 'd') goto yy668; + if (yych == 'o') goto yy469; goto yy56; } -yy470: +yy410: yych = *++YYCURSOR; - if (yych == 'd') goto yy728; + if (yych == 'd') goto yy668; goto yy56; -yy471: +yy411: yych = *++YYCURSOR; switch (yych) { case '0': case '1': - case '2': goto yy665; - case '3': goto yy667; + case '2': goto yy605; + case '3': goto yy607; case '4': case '5': case '6': case '7': case '8': - case '9': goto yy668; + case '9': goto yy608; case 'A': - case 'a': goto yy672; + case 'a': goto yy612; case 'D': - case 'd': goto yy676; + case 'd': goto yy616; case 'F': - case 'f': goto yy670; + case 'f': goto yy610; case 'J': - case 'j': goto yy669; + case 'j': goto yy609; case 'M': - case 'm': goto yy671; + case 'm': goto yy611; case 'N': - case 'n': goto yy675; + case 'n': goto yy615; case 'O': - case 'o': goto yy674; + case 'o': goto yy614; case 'S': - case 's': goto yy673; + case 's': goto yy613; default: goto yy56; } -yy472: +yy412: yych = *++YYCURSOR; switch (yych) { - case '0': goto yy615; - case '1': goto yy616; + case '0': goto yy555; + case '1': goto yy556; case '2': case '3': case '4': @@ -9029,57 +8125,57 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy617; + case '9': goto yy557; case 'A': - case 'a': goto yy621; + case 'a': goto yy561; case 'D': - case 'd': goto yy625; + case 'd': goto yy565; case 'F': - case 'f': goto yy619; + case 'f': goto yy559; case 'J': - case 'j': goto yy618; + case 'j': goto yy558; case 'M': - case 'm': goto yy620; + case 'm': goto yy560; case 'N': - case 'n': goto yy624; + case 'n': goto yy564; case 'O': - case 'o': goto yy623; + case 'o': goto yy563; case 'S': - case 's': goto yy622; - default: goto yy577; + case 's': goto yy562; + default: goto yy517; } -yy473: +yy413: yych = *++YYCURSOR; if (yych <= '1') { - if (yych <= '/') goto yy577; - if (yych <= '0') goto yy567; - goto yy568; + if (yych <= '/') goto yy517; + if (yych <= '0') goto yy507; + goto yy508; } else { - if (yych <= '5') goto yy569; - if (yych <= '9') goto yy570; - goto yy577; + if (yych <= '5') goto yy509; + if (yych <= '9') goto yy510; + goto yy517; } -yy474: - yyaccept = 10; +yy414: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; + if (yych == '\t') goto yy471; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '.') goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych <= '.') goto yy471; } } else { if (yych <= 'U') { - if (yych <= '9') goto yy533; - if (yych == 'I') goto yy566; + if (yych <= '9') goto yy473; + if (yych == 'I') goto yy506; } else { - if (yych == 'W') goto yy475; - if (yych <= 'X') goto yy539; + if (yych == 'W') goto yy415; + if (yych <= 'X') goto yy479; } } -yy475: +yy415: #line 1380 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("datenoyearrev"); @@ -9091,133 +8187,133 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 9095 "" -yy476: - yyaccept = 10; +#line 8191 "" +yy416: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; + if (yych <= 0x08) goto yy415; + goto yy471; } else { - if (yych == ' ') goto yy531; - goto yy475; + if (yych == ' ') goto yy471; + goto yy415; } } else { if (yych <= '9') { - if (yych <= '.') goto yy531; - if (yych <= '/') goto yy475; - goto yy533; + if (yych <= '.') goto yy471; + if (yych <= '/') goto yy415; + goto yy473; } else { - if (yych == 'I') goto yy564; - goto yy475; + if (yych == 'I') goto yy504; + goto yy415; } } -yy477: - yyaccept = 10; +yy417: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; + if (yych <= 0x08) goto yy415; + goto yy471; } else { - if (yych == ' ') goto yy531; - goto yy475; + if (yych == ' ') goto yy471; + goto yy415; } } else { if (yych <= '9') { - if (yych <= '.') goto yy531; - if (yych <= '/') goto yy475; - goto yy533; + if (yych <= '.') goto yy471; + if (yych <= '/') goto yy415; + goto yy473; } else { - if (yych == 'I') goto yy563; - goto yy475; + if (yych == 'I') goto yy503; + goto yy415; } } -yy478: +yy418: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy556; + if (yych == 'A') goto yy496; if (yych <= 'T') goto yy56; - goto yy555; + goto yy495; } else { if (yych <= 'a') { if (yych <= '`') goto yy56; - goto yy556; + goto yy496; } else { - if (yych == 'u') goto yy555; + if (yych == 'u') goto yy495; goto yy56; } } -yy479: +yy419: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'L') { - if (yych == '.') goto yy484; + if (yych == '.') goto yy424; goto yy56; } else { - if (yych <= 'M') goto yy485; - if (yych == 'P') goto yy549; + if (yych <= 'M') goto yy425; + if (yych == 'P') goto yy489; goto yy56; } } else { if (yych <= 'o') { - if (yych <= 'U') goto yy548; - if (yych == 'm') goto yy485; + if (yych <= 'U') goto yy488; + if (yych == 'm') goto yy425; goto yy56; } else { - if (yych <= 'p') goto yy549; - if (yych == 'u') goto yy548; + if (yych <= 'p') goto yy489; + if (yych == 'u') goto yy488; goto yy56; } } -yy480: +yy420: yych = *++YYCURSOR; - if (yych == 'C') goto yy543; - if (yych == 'c') goto yy543; + if (yych == 'C') goto yy483; + if (yych == 'c') goto yy483; goto yy56; -yy481: +yy421: yych = *++YYCURSOR; - if (yych == 'O') goto yy529; - if (yych == 'o') goto yy529; + if (yych == 'O') goto yy469; + if (yych == 'o') goto yy469; goto yy56; -yy482: +yy422: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy489; - if (yych <= '9') goto yy491; + if (yych <= '5') goto yy429; + if (yych <= '9') goto yy431; goto yy56; -yy483: +yy423: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy56; } else { - if (yych <= 'M') goto yy485; - if (yych == 'm') goto yy485; + if (yych <= 'M') goto yy425; + if (yych == 'm') goto yy425; goto yy56; } -yy484: +yy424: yych = *++YYCURSOR; - if (yych == 'M') goto yy485; + if (yych == 'M') goto yy425; if (yych != 'm') goto yy56; -yy485: +yy425: yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy487; - if (yych == '\t') goto yy487; + if (yych <= 0x00) goto yy427; + if (yych == '\t') goto yy427; goto yy56; } else { - if (yych <= ' ') goto yy487; + if (yych <= ' ') goto yy427; if (yych != '.') goto yy56; } yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy487; + if (yych <= 0x00) goto yy427; if (yych <= 0x08) goto yy56; } else { if (yych != ' ') goto yy56; } -yy487: +yy427: ++YYCURSOR; #line 1098 "ext/date/lib/parse_date.re" { @@ -9235,17 +8331,17 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME12; } -#line 9239 "" -yy489: - yyaccept = 11; +#line 8335 "" +yy429: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy492; + if (yych == '.') goto yy432; } else { - if (yych <= '9') goto yy506; - if (yych <= ':') goto yy492; + if (yych <= '9') goto yy446; + if (yych <= ':') goto yy432; } -yy490: +yy430: #line 1135 "ext/date/lib/parse_date.re" { int tz_not_found; @@ -9271,282 +8367,282 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 9275 "" -yy491: - yyaccept = 11; +#line 8371 "" +yy431: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy492; - if (yych != ':') goto yy490; -yy492: + if (yych == '.') goto yy432; + if (yych != ':') goto yy430; +yy432: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy493; - if (yych <= '6') goto yy494; - if (yych <= '9') goto yy495; + if (yych <= '5') goto yy433; + if (yych <= '6') goto yy434; + if (yych <= '9') goto yy435; goto yy56; -yy493: - yyaccept = 11; +yy433: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy499; - goto yy490; -yy494: - yyaccept = 11; + if (yych == '.') goto yy436; + if (yych <= '/') goto yy430; + if (yych <= '9') goto yy439; + goto yy430; +yy434: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych == '0') goto yy499; - goto yy490; -yy495: - yyaccept = 11; + if (yych == '.') goto yy436; + if (yych == '0') goto yy439; + goto yy430; +yy435: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych != '.') goto yy490; -yy496: + if (yych != '.') goto yy430; +yy436: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; -yy497: +yy437: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy497; - goto yy490; -yy499: - yyaccept = 11; + if (yych <= '/') goto yy430; + if (yych <= '9') goto yy437; + goto yy430; +yy439: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= 0x1F) { - if (yych != '\t') goto yy490; + if (yych != '\t') goto yy430; } else { - if (yych <= ' ') goto yy500; - if (yych == '.') goto yy496; - goto yy490; + if (yych <= ' ') goto yy440; + if (yych == '.') goto yy436; + goto yy430; } } else { if (yych <= '`') { - if (yych <= 'A') goto yy502; - if (yych == 'P') goto yy502; - goto yy490; + if (yych <= 'A') goto yy442; + if (yych == 'P') goto yy442; + goto yy430; } else { - if (yych <= 'a') goto yy502; - if (yych == 'p') goto yy502; - goto yy490; + if (yych <= 'a') goto yy442; + if (yych == 'p') goto yy442; + goto yy430; } } -yy500: +yy440: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yych <= 'A') { if (yych <= 0x1F) { - if (yych == '\t') goto yy500; + if (yych == '\t') goto yy440; goto yy56; } else { - if (yych <= ' ') goto yy500; + if (yych <= ' ') goto yy440; if (yych <= '@') goto yy56; } } else { if (yych <= '`') { if (yych != 'P') goto yy56; } else { - if (yych <= 'a') goto yy502; + if (yych <= 'a') goto yy442; if (yych != 'p') goto yy56; } } -yy502: +yy442: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy56; } else { - if (yych <= 'M') goto yy504; - if (yych == 'm') goto yy504; + if (yych <= 'M') goto yy444; + if (yych == 'm') goto yy444; goto yy56; } yych = *++YYCURSOR; - if (yych == 'M') goto yy504; + if (yych == 'M') goto yy444; if (yych != 'm') goto yy56; -yy504: +yy444: yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy487; - if (yych == '\t') goto yy487; + if (yych <= 0x00) goto yy427; + if (yych == '\t') goto yy427; goto yy56; } else { - if (yych <= ' ') goto yy487; + if (yych <= ' ') goto yy427; if (yych != '.') goto yy56; } yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy487; + if (yych <= 0x00) goto yy427; if (yych <= 0x08) goto yy56; - goto yy487; + goto yy427; } else { - if (yych == ' ') goto yy487; + if (yych == ' ') goto yy427; goto yy56; } -yy506: - yyaccept = 11; +yy446: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy507; - if (yych <= 0x1F) goto yy490; + if (yych == '\t') goto yy447; + if (yych <= 0x1F) goto yy430; } else { - if (yych == '.') goto yy492; - if (yych <= '9') goto yy490; - goto yy510; + if (yych == '.') goto yy432; + if (yych <= '9') goto yy430; + goto yy450; } } else { if (yych <= 'P') { - if (yych == 'A') goto yy509; - if (yych <= 'O') goto yy490; - goto yy509; + if (yych == 'A') goto yy449; + if (yych <= 'O') goto yy430; + goto yy449; } else { if (yych <= 'a') { - if (yych <= '`') goto yy490; - goto yy509; + if (yych <= '`') goto yy430; + goto yy449; } else { - if (yych == 'p') goto yy509; - goto yy490; + if (yych == 'p') goto yy449; + goto yy430; } } } -yy507: +yy447: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yych <= 'A') { if (yych <= 0x1F) { - if (yych == '\t') goto yy507; + if (yych == '\t') goto yy447; goto yy56; } else { - if (yych <= ' ') goto yy507; + if (yych <= ' ') goto yy447; if (yych <= '@') goto yy56; } } else { if (yych <= '`') { if (yych != 'P') goto yy56; } else { - if (yych <= 'a') goto yy509; + if (yych <= 'a') goto yy449; if (yych != 'p') goto yy56; } } -yy509: +yy449: yych = *++YYCURSOR; if (yych <= 'L') { - if (yych == '.') goto yy526; + if (yych == '.') goto yy466; goto yy56; } else { - if (yych <= 'M') goto yy527; - if (yych == 'm') goto yy527; + if (yych <= 'M') goto yy467; + if (yych == 'm') goto yy467; goto yy56; } -yy510: +yy450: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy511; - if (yych <= '6') goto yy512; - if (yych <= '9') goto yy495; + if (yych <= '5') goto yy451; + if (yych <= '6') goto yy452; + if (yych <= '9') goto yy435; goto yy56; -yy511: - yyaccept = 11; +yy451: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy513; - goto yy490; -yy512: - yyaccept = 11; + if (yych == '.') goto yy436; + if (yych <= '/') goto yy430; + if (yych <= '9') goto yy453; + goto yy430; +yy452: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych != '0') goto yy490; -yy513: - yyaccept = 11; + if (yych == '.') goto yy436; + if (yych != '0') goto yy430; +yy453: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy500; - if (yych <= 0x1F) goto yy490; - goto yy500; + if (yych == '\t') goto yy440; + if (yych <= 0x1F) goto yy430; + goto yy440; } else { - if (yych == '.') goto yy514; - if (yych <= '9') goto yy490; - goto yy515; + if (yych == '.') goto yy454; + if (yych <= '9') goto yy430; + goto yy455; } } else { if (yych <= 'P') { - if (yych == 'A') goto yy502; - if (yych <= 'O') goto yy490; - goto yy502; + if (yych == 'A') goto yy442; + if (yych <= 'O') goto yy430; + goto yy442; } else { if (yych <= 'a') { - if (yych <= '`') goto yy490; - goto yy502; + if (yych <= '`') goto yy430; + goto yy442; } else { - if (yych == 'p') goto yy502; - goto yy490; + if (yych == 'p') goto yy442; + goto yy430; } } } -yy514: +yy454: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy524; + if (yych <= '9') goto yy464; goto yy56; -yy515: +yy455: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; -yy516: +yy456: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yych <= 'O') { if (yych <= '9') { if (yych <= '/') goto yy56; - goto yy516; + goto yy456; } else { if (yych != 'A') goto yy56; } } else { if (yych <= 'a') { - if (yych <= 'P') goto yy518; + if (yych <= 'P') goto yy458; if (yych <= '`') goto yy56; } else { if (yych != 'p') goto yy56; } } -yy518: +yy458: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy56; } else { - if (yych <= 'M') goto yy520; - if (yych == 'm') goto yy520; + if (yych <= 'M') goto yy460; + if (yych == 'm') goto yy460; goto yy56; } yych = *++YYCURSOR; - if (yych == 'M') goto yy520; + if (yych == 'M') goto yy460; if (yych != 'm') goto yy56; -yy520: +yy460: yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy522; - if (yych == '\t') goto yy522; + if (yych <= 0x00) goto yy462; + if (yych == '\t') goto yy462; goto yy56; } else { - if (yych <= ' ') goto yy522; + if (yych <= ' ') goto yy462; if (yych != '.') goto yy56; } yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy522; + if (yych <= 0x00) goto yy462; if (yych <= 0x08) goto yy56; } else { if (yych != ' ') goto yy56; } -yy522: +yy462: ++YYCURSOR; #line 1115 "ext/date/lib/parse_date.re" { @@ -9567,101 +8663,101 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 9571 "" -yy524: - yyaccept = 11; +#line 8667 "" +yy464: + yyaccept = 10; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yych <= 'O') { if (yych <= '9') { - if (yych <= '/') goto yy490; - goto yy524; + if (yych <= '/') goto yy430; + goto yy464; } else { - if (yych == 'A') goto yy518; - goto yy490; + if (yych == 'A') goto yy458; + goto yy430; } } else { if (yych <= 'a') { - if (yych <= 'P') goto yy518; - if (yych <= '`') goto yy490; - goto yy518; + if (yych <= 'P') goto yy458; + if (yych <= '`') goto yy430; + goto yy458; } else { - if (yych == 'p') goto yy518; - goto yy490; + if (yych == 'p') goto yy458; + goto yy430; } } -yy526: +yy466: yych = *++YYCURSOR; - if (yych == 'M') goto yy527; + if (yych == 'M') goto yy467; if (yych != 'm') goto yy56; -yy527: +yy467: yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy487; - if (yych == '\t') goto yy487; + if (yych <= 0x00) goto yy427; + if (yych == '\t') goto yy427; goto yy56; } else { - if (yych <= ' ') goto yy487; + if (yych <= ' ') goto yy427; if (yych != '.') goto yy56; } yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy487; + if (yych <= 0x00) goto yy427; if (yych <= 0x08) goto yy56; - goto yy487; + goto yy427; } else { - if (yych == ' ') goto yy487; + if (yych == ' ') goto yy427; goto yy56; } -yy529: +yy469: yych = *++YYCURSOR; - if (yych == 'V') goto yy530; + if (yych == 'V') goto yy470; if (yych != 'v') goto yy56; -yy530: - yyaccept = 10; +yy470: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych != '\t') goto yy475; + if (yych != '\t') goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'E') goto yy535; - if (yych == 'e') goto yy535; - goto yy475; + if (yych <= 'E') goto yy475; + if (yych == 'e') goto yy475; + goto yy415; } } -yy531: +yy471: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; -yy532: +yy472: if (yych <= ' ') { - if (yych == '\t') goto yy531; + if (yych == '\t') goto yy471; if (yych <= 0x1F) goto yy56; - goto yy531; + goto yy471; } else { if (yych <= '.') { if (yych <= ',') goto yy56; - goto yy531; + goto yy471; } else { if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; } } -yy533: +yy473: ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy534; - if (yych <= '9') goto yy540; -yy534: + if ((yych = *YYCURSOR) <= '/') goto yy474; + if (yych <= '9') goto yy480; +yy474: #line 1297 "ext/date/lib/parse_date.re" { int length = 0; @@ -9676,666 +8772,666 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } -#line 9680 "" -yy535: +#line 8776 "" +yy475: yych = *++YYCURSOR; - if (yych == 'M') goto yy536; + if (yych == 'M') goto yy476; if (yych != 'm') goto yy56; -yy536: +yy476: yych = *++YYCURSOR; - if (yych == 'B') goto yy537; + if (yych == 'B') goto yy477; if (yych != 'b') goto yy56; -yy537: +yy477: yych = *++YYCURSOR; - if (yych == 'E') goto yy538; + if (yych == 'E') goto yy478; if (yych != 'e') goto yy56; -yy538: +yy478: yych = *++YYCURSOR; - if (yych == 'R') goto yy539; + if (yych == 'R') goto yy479; if (yych != 'r') goto yy56; -yy539: - yyaccept = 10; +yy479: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy531; - if (yych <= 0x1F) goto yy475; - goto yy531; + if (yych == '\t') goto yy471; + if (yych <= 0x1F) goto yy415; + goto yy471; } else { if (yych <= '.') { - if (yych <= ',') goto yy475; - goto yy531; + if (yych <= ',') goto yy415; + goto yy471; } else { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } } -yy540: +yy480: yych = *++YYCURSOR; - if (yych <= '/') goto yy534; - if (yych >= ':') goto yy534; -yy541: + if (yych <= '/') goto yy474; + if (yych >= ':') goto yy474; +yy481: yych = *++YYCURSOR; - if (yych <= '/') goto yy534; - if (yych >= ':') goto yy534; + if (yych <= '/') goto yy474; + if (yych >= ':') goto yy474; yych = *++YYCURSOR; - goto yy534; -yy543: + goto yy474; +yy483: yych = *++YYCURSOR; - if (yych == 'T') goto yy544; + if (yych == 'T') goto yy484; if (yych != 't') goto yy56; -yy544: - yyaccept = 10; +yy484: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + goto yy471; } } else { if (yych <= 'N') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'O') goto yy545; - if (yych != 'o') goto yy475; + if (yych <= 'O') goto yy485; + if (yych != 'o') goto yy415; } } -yy545: +yy485: yych = *++YYCURSOR; - if (yych == 'B') goto yy546; + if (yych == 'B') goto yy486; if (yych != 'b') goto yy56; -yy546: +yy486: yych = *++YYCURSOR; - if (yych == 'E') goto yy547; + if (yych == 'E') goto yy487; if (yych != 'e') goto yy56; -yy547: +yy487: yych = *++YYCURSOR; - if (yych == 'R') goto yy539; - if (yych == 'r') goto yy539; + if (yych == 'R') goto yy479; + if (yych == 'r') goto yy479; goto yy56; -yy548: +yy488: yych = *++YYCURSOR; - if (yych == 'G') goto yy552; - if (yych == 'g') goto yy552; + if (yych == 'G') goto yy492; + if (yych == 'g') goto yy492; goto yy56; -yy549: +yy489: yych = *++YYCURSOR; - if (yych == 'R') goto yy550; + if (yych == 'R') goto yy490; if (yych != 'r') goto yy56; -yy550: - yyaccept = 10; +yy490: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + goto yy471; } } else { if (yych <= 'H') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'I') goto yy551; - if (yych != 'i') goto yy475; + if (yych <= 'I') goto yy491; + if (yych != 'i') goto yy415; } } -yy551: +yy491: yych = *++YYCURSOR; - if (yych == 'L') goto yy539; - if (yych == 'l') goto yy539; + if (yych == 'L') goto yy479; + if (yych == 'l') goto yy479; goto yy56; -yy552: - yyaccept = 10; +yy492: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + goto yy471; } } else { if (yych <= 'T') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'U') goto yy553; - if (yych != 'u') goto yy475; + if (yych <= 'U') goto yy493; + if (yych != 'u') goto yy415; } } -yy553: +yy493: yych = *++YYCURSOR; - if (yych == 'S') goto yy554; + if (yych == 'S') goto yy494; if (yych != 's') goto yy56; -yy554: +yy494: yych = *++YYCURSOR; - if (yych == 'T') goto yy539; - if (yych == 't') goto yy539; + if (yych == 'T') goto yy479; + if (yych == 't') goto yy479; goto yy56; -yy555: +yy495: yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy562; + if (yych == 'L') goto yy502; if (yych <= 'M') goto yy56; - goto yy561; + goto yy501; } else { if (yych <= 'l') { if (yych <= 'k') goto yy56; - goto yy562; + goto yy502; } else { - if (yych == 'n') goto yy561; + if (yych == 'n') goto yy501; goto yy56; } } -yy556: +yy496: yych = *++YYCURSOR; - if (yych == 'N') goto yy557; + if (yych == 'N') goto yy497; if (yych != 'n') goto yy56; -yy557: - yyaccept = 10; +yy497: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + goto yy471; } } else { if (yych <= 'T') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'U') goto yy558; - if (yych != 'u') goto yy475; + if (yych <= 'U') goto yy498; + if (yych != 'u') goto yy415; } } -yy558: +yy498: yych = *++YYCURSOR; - if (yych == 'A') goto yy559; + if (yych == 'A') goto yy499; if (yych != 'a') goto yy56; -yy559: +yy499: yych = *++YYCURSOR; - if (yych == 'R') goto yy560; + if (yych == 'R') goto yy500; if (yych != 'r') goto yy56; -yy560: +yy500: yych = *++YYCURSOR; - if (yych == 'Y') goto yy539; - if (yych == 'y') goto yy539; + if (yych == 'Y') goto yy479; + if (yych == 'y') goto yy479; goto yy56; -yy561: - yyaccept = 10; +yy501: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + goto yy471; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'E') goto yy539; - if (yych == 'e') goto yy539; - goto yy475; + if (yych <= 'E') goto yy479; + if (yych == 'e') goto yy479; + goto yy415; } } -yy562: - yyaccept = 10; +yy502: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + goto yy471; } } else { if (yych <= 'X') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'Y') goto yy539; - if (yych == 'y') goto yy539; - goto yy475; + if (yych <= 'Y') goto yy479; + if (yych == 'y') goto yy479; + goto yy415; } } -yy563: - yyaccept = 10; +yy503: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; + if (yych <= 0x08) goto yy415; + goto yy471; } else { - if (yych == ' ') goto yy531; - goto yy475; + if (yych == ' ') goto yy471; + goto yy415; } } else { if (yych <= '9') { - if (yych <= '.') goto yy531; - if (yych <= '/') goto yy475; - goto yy533; + if (yych <= '.') goto yy471; + if (yych <= '/') goto yy415; + goto yy473; } else { - if (yych == 'I') goto yy539; - goto yy475; + if (yych == 'I') goto yy479; + goto yy415; } } -yy564: - yyaccept = 10; +yy504: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; + if (yych <= 0x08) goto yy415; + goto yy471; } else { - if (yych == ' ') goto yy531; - goto yy475; + if (yych == ' ') goto yy471; + goto yy415; } } else { if (yych <= '9') { - if (yych <= '.') goto yy531; - if (yych <= '/') goto yy475; - goto yy533; + if (yych <= '.') goto yy471; + if (yych <= '/') goto yy415; + goto yy473; } else { - if (yych != 'I') goto yy475; + if (yych != 'I') goto yy415; } } - yyaccept = 10; + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; + if (yych <= 0x08) goto yy415; + goto yy471; } else { - if (yych == ' ') goto yy531; - goto yy475; + if (yych == ' ') goto yy471; + goto yy415; } } else { if (yych <= '9') { - if (yych <= '.') goto yy531; - if (yych <= '/') goto yy475; - goto yy533; + if (yych <= '.') goto yy471; + if (yych <= '/') goto yy415; + goto yy473; } else { - if (yych == 'I') goto yy539; - goto yy475; + if (yych == 'I') goto yy479; + goto yy415; } } -yy566: - yyaccept = 10; +yy506: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; + if (yych <= 0x08) goto yy415; + goto yy471; } else { - if (yych == ' ') goto yy531; - goto yy475; + if (yych == ' ') goto yy471; + goto yy415; } } else { if (yych <= '9') { - if (yych <= '.') goto yy531; - if (yych <= '/') goto yy475; - goto yy533; + if (yych <= '.') goto yy471; + if (yych <= '/') goto yy415; + goto yy473; } else { - if (yych == 'I') goto yy539; - goto yy475; + if (yych == 'I') goto yy479; + goto yy415; } } -yy567: - yyaccept = 11; +yy507: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - goto yy600; + if (yych <= ',') goto yy430; + if (yych <= '-') goto yy541; + goto yy540; } else { - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy614; - if (yych <= ':') goto yy492; - goto yy490; + if (yych <= '/') goto yy430; + if (yych <= '9') goto yy554; + if (yych <= ':') goto yy432; + goto yy430; } -yy568: - yyaccept = 11; +yy508: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - if (yych <= '.') goto yy600; - goto yy490; + if (yych <= ',') goto yy430; + if (yych <= '-') goto yy541; + if (yych <= '.') goto yy540; + goto yy430; } else { - if (yych <= '2') goto yy614; - if (yych <= '9') goto yy613; - if (yych <= ':') goto yy492; - goto yy490; + if (yych <= '2') goto yy554; + if (yych <= '9') goto yy553; + if (yych <= ':') goto yy432; + goto yy430; } -yy569: - yyaccept = 11; +yy509: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - goto yy600; + if (yych <= ',') goto yy430; + if (yych <= '-') goto yy541; + goto yy540; } else { - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy613; - if (yych <= ':') goto yy492; - goto yy490; + if (yych <= '/') goto yy430; + if (yych <= '9') goto yy553; + if (yych <= ':') goto yy432; + goto yy430; } -yy570: - yyaccept = 11; +yy510: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - goto yy600; + if (yych <= ',') goto yy430; + if (yych <= '-') goto yy541; + goto yy540; } else { - if (yych == ':') goto yy492; - goto yy490; + if (yych == ':') goto yy432; + goto yy430; } -yy571: +yy511: yych = *++YYCURSOR; - if (yych == 'E') goto yy594; - if (yych == 'e') goto yy594; + if (yych == 'E') goto yy534; + if (yych == 'e') goto yy534; goto yy56; -yy572: +yy512: yych = *++YYCURSOR; - if (yych == 'A') goto yy591; - if (yych == 'a') goto yy591; + if (yych == 'A') goto yy531; + if (yych == 'a') goto yy531; goto yy56; -yy573: +yy513: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'P') goto yy549; + if (yych == 'P') goto yy489; if (yych <= 'T') goto yy56; - goto yy548; + goto yy488; } else { if (yych <= 'p') { if (yych <= 'o') goto yy56; - goto yy549; + goto yy489; } else { - if (yych == 'u') goto yy548; + if (yych == 'u') goto yy488; goto yy56; } } -yy574: +yy514: yych = *++YYCURSOR; - if (yych == 'E') goto yy584; - if (yych == 'e') goto yy584; + if (yych == 'E') goto yy524; + if (yych == 'e') goto yy524; goto yy56; -yy575: +yy515: yych = *++YYCURSOR; - if (yych == 'E') goto yy578; - if (yych == 'e') goto yy578; + if (yych == 'E') goto yy518; + if (yych == 'e') goto yy518; goto yy56; -yy576: +yy516: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; -yy577: +yy517: switch (yych) { case '\t': case ' ': case '-': - case '.': goto yy576; + case '.': goto yy516; case 'A': - case 'a': goto yy573; + case 'a': goto yy513; case 'D': - case 'd': goto yy575; + case 'd': goto yy515; case 'F': - case 'f': goto yy571; - case 'I': goto yy474; + case 'f': goto yy511; + case 'I': goto yy414; case 'J': - case 'j': goto yy478; + case 'j': goto yy418; case 'M': - case 'm': goto yy572; + case 'm': goto yy512; case 'N': - case 'n': goto yy481; + case 'n': goto yy421; case 'O': - case 'o': goto yy480; + case 'o': goto yy420; case 'S': - case 's': goto yy574; - case 'V': goto yy476; - case 'X': goto yy477; + case 's': goto yy514; + case 'V': goto yy416; + case 'X': goto yy417; default: goto yy56; } -yy578: +yy518: yych = *++YYCURSOR; - if (yych == 'C') goto yy579; + if (yych == 'C') goto yy519; if (yych != 'c') goto yy56; -yy579: - yyaccept = 10; +yy519: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + goto yy471; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'E') goto yy580; - if (yych != 'e') goto yy475; + if (yych <= 'E') goto yy520; + if (yych != 'e') goto yy415; } } -yy580: +yy520: yych = *++YYCURSOR; - if (yych == 'M') goto yy581; + if (yych == 'M') goto yy521; if (yych != 'm') goto yy56; -yy581: +yy521: yych = *++YYCURSOR; - if (yych == 'B') goto yy582; + if (yych == 'B') goto yy522; if (yych != 'b') goto yy56; -yy582: +yy522: yych = *++YYCURSOR; - if (yych == 'E') goto yy583; + if (yych == 'E') goto yy523; if (yych != 'e') goto yy56; -yy583: +yy523: yych = *++YYCURSOR; - if (yych == 'R') goto yy539; - if (yych == 'r') goto yy539; + if (yych == 'R') goto yy479; + if (yych == 'r') goto yy479; goto yy56; -yy584: +yy524: yych = *++YYCURSOR; - if (yych == 'P') goto yy585; + if (yych == 'P') goto yy525; if (yych != 'p') goto yy56; -yy585: - yyaccept = 10; +yy525: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + goto yy471; } } else { if (yych <= 'S') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'T') goto yy586; - if (yych != 't') goto yy475; + if (yych <= 'T') goto yy526; + if (yych != 't') goto yy415; } } -yy586: - yyaccept = 10; +yy526: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + goto yy471; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'E') goto yy587; - if (yych != 'e') goto yy475; + if (yych <= 'E') goto yy527; + if (yych != 'e') goto yy415; } } -yy587: +yy527: yych = *++YYCURSOR; - if (yych == 'M') goto yy588; + if (yych == 'M') goto yy528; if (yych != 'm') goto yy56; -yy588: +yy528: yych = *++YYCURSOR; - if (yych == 'B') goto yy589; + if (yych == 'B') goto yy529; if (yych != 'b') goto yy56; -yy589: +yy529: yych = *++YYCURSOR; - if (yych == 'E') goto yy590; + if (yych == 'E') goto yy530; if (yych != 'e') goto yy56; -yy590: +yy530: yych = *++YYCURSOR; - if (yych == 'R') goto yy539; - if (yych == 'r') goto yy539; + if (yych == 'R') goto yy479; + if (yych == 'r') goto yy479; goto yy56; -yy591: +yy531: yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy592; + if (yych == 'R') goto yy532; if (yych <= 'X') goto yy56; - goto yy539; + goto yy479; } else { if (yych <= 'r') { if (yych <= 'q') goto yy56; } else { - if (yych == 'y') goto yy539; + if (yych == 'y') goto yy479; goto yy56; } } -yy592: - yyaccept = 10; +yy532: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + goto yy471; } } else { if (yych <= 'B') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'C') goto yy593; - if (yych != 'c') goto yy475; + if (yych <= 'C') goto yy533; + if (yych != 'c') goto yy415; } } -yy593: +yy533: yych = *++YYCURSOR; - if (yych == 'H') goto yy539; - if (yych == 'h') goto yy539; + if (yych == 'H') goto yy479; + if (yych == 'h') goto yy479; goto yy56; -yy594: +yy534: yych = *++YYCURSOR; - if (yych == 'B') goto yy595; + if (yych == 'B') goto yy535; if (yych != 'b') goto yy56; -yy595: - yyaccept = 10; +yy535: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + goto yy471; } } else { if (yych <= 'Q') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'R') goto yy596; - if (yych != 'r') goto yy475; + if (yych <= 'R') goto yy536; + if (yych != 'r') goto yy415; } } -yy596: +yy536: yych = *++YYCURSOR; - if (yych == 'U') goto yy597; + if (yych == 'U') goto yy537; if (yych != 'u') goto yy56; -yy597: +yy537: yych = *++YYCURSOR; - if (yych == 'A') goto yy598; + if (yych == 'A') goto yy538; if (yych != 'a') goto yy56; -yy598: +yy538: yych = *++YYCURSOR; - if (yych == 'R') goto yy599; + if (yych == 'R') goto yy539; if (yych != 'r') goto yy56; -yy599: +yy539: yych = *++YYCURSOR; - if (yych == 'Y') goto yy539; - if (yych == 'y') goto yy539; + if (yych == 'Y') goto yy479; + if (yych == 'y') goto yy479; goto yy56; -yy600: +yy540: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy607; - if (yych <= '6') goto yy608; - if (yych <= '9') goto yy609; + if (yych <= '5') goto yy547; + if (yych <= '6') goto yy548; + if (yych <= '9') goto yy549; goto yy56; -yy601: +yy541: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; -yy603: +yy543: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; -yy604: +yy544: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; @@ -10351,37 +9447,37 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 10355 "" -yy607: - yyaccept = 11; +#line 9451 "" +yy547: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy612; - goto yy490; -yy608: - yyaccept = 11; + if (yych == '.') goto yy436; + if (yych <= '/') goto yy430; + if (yych <= '9') goto yy552; + goto yy430; +yy548: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy496; - goto yy490; + if (yych == '.') goto yy436; + goto yy430; } else { - if (yych <= '0') goto yy612; - if (yych <= '9') goto yy610; - goto yy490; + if (yych <= '0') goto yy552; + if (yych <= '9') goto yy550; + goto yy430; } -yy609: - yyaccept = 11; +yy549: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych >= ':') goto yy490; -yy610: - yyaccept = 12; + if (yych == '.') goto yy436; + if (yych <= '/') goto yy430; + if (yych >= ':') goto yy430; +yy550: + yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy611; - if (yych <= '9') goto yy604; -yy611: + if (yych <= '/') goto yy551; + if (yych <= '9') goto yy544; +yy551: #line 1324 "ext/date/lib/parse_date.re" { int length = 0; @@ -10395,602 +9491,602 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 10399 "" -yy612: - yyaccept = 11; +#line 9495 "" +yy552: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ' ') { - if (yych == '\t') goto yy500; - if (yych <= 0x1F) goto yy490; - goto yy500; + if (yych == '\t') goto yy440; + if (yych <= 0x1F) goto yy430; + goto yy440; } else { - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - goto yy604; + if (yych == '.') goto yy436; + if (yych <= '/') goto yy430; + goto yy544; } } else { if (yych <= 'P') { - if (yych == 'A') goto yy502; - if (yych <= 'O') goto yy490; - goto yy502; + if (yych == 'A') goto yy442; + if (yych <= 'O') goto yy430; + goto yy442; } else { if (yych <= 'a') { - if (yych <= '`') goto yy490; - goto yy502; + if (yych <= '`') goto yy430; + goto yy442; } else { - if (yych == 'p') goto yy502; - goto yy490; + if (yych == 'p') goto yy442; + goto yy430; } } } -yy613: - yyaccept = 11; +yy553: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy507; - if (yych <= 0x1F) goto yy490; - goto yy507; + if (yych == '\t') goto yy447; + if (yych <= 0x1F) goto yy430; + goto yy447; } else { - if (yych == '.') goto yy492; - if (yych <= '9') goto yy490; - goto yy492; + if (yych == '.') goto yy432; + if (yych <= '9') goto yy430; + goto yy432; } } else { if (yych <= 'P') { - if (yych == 'A') goto yy509; - if (yych <= 'O') goto yy490; - goto yy509; + if (yych == 'A') goto yy449; + if (yych <= 'O') goto yy430; + goto yy449; } else { if (yych <= 'a') { - if (yych <= '`') goto yy490; - goto yy509; + if (yych <= '`') goto yy430; + goto yy449; } else { - if (yych == 'p') goto yy509; - goto yy490; + if (yych == 'p') goto yy449; + goto yy430; } } } -yy614: - yyaccept = 11; +yy554: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { - if (yych == '\t') goto yy507; - if (yych <= 0x1F) goto yy490; - goto yy507; + if (yych == '\t') goto yy447; + if (yych <= 0x1F) goto yy430; + goto yy447; } else { if (yych <= '-') { - if (yych <= ',') goto yy490; - goto yy601; + if (yych <= ',') goto yy430; + goto yy541; } else { - if (yych <= '.') goto yy600; - if (yych <= '9') goto yy490; - goto yy492; + if (yych <= '.') goto yy540; + if (yych <= '9') goto yy430; + goto yy432; } } } else { if (yych <= 'P') { - if (yych == 'A') goto yy509; - if (yych <= 'O') goto yy490; - goto yy509; + if (yych == 'A') goto yy449; + if (yych <= 'O') goto yy430; + goto yy449; } else { if (yych <= 'a') { - if (yych <= '`') goto yy490; - goto yy509; + if (yych <= '`') goto yy430; + goto yy449; } else { - if (yych == 'p') goto yy509; - goto yy490; + if (yych == 'p') goto yy449; + goto yy430; } } } -yy615: +yy555: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; - if (yych <= '-') goto yy654; - goto yy601; + if (yych <= '-') goto yy594; + goto yy541; } else { if (yych <= '/') goto yy56; - if (yych <= '9') goto yy617; + if (yych <= '9') goto yy557; goto yy56; } -yy616: +yy556: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; - if (yych <= '-') goto yy654; - goto yy601; + if (yych <= '-') goto yy594; + goto yy541; } else { if (yych <= '/') goto yy56; if (yych >= '3') goto yy56; } -yy617: +yy557: yych = *++YYCURSOR; if (yych <= ',') goto yy56; - if (yych <= '-') goto yy654; - if (yych <= '.') goto yy601; + if (yych <= '-') goto yy594; + if (yych <= '.') goto yy541; goto yy56; -yy618: +yy558: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy650; + if (yych == 'A') goto yy590; if (yych <= 'T') goto yy56; - goto yy649; + goto yy589; } else { if (yych <= 'a') { if (yych <= '`') goto yy56; - goto yy650; + goto yy590; } else { - if (yych == 'u') goto yy649; + if (yych == 'u') goto yy589; goto yy56; } } -yy619: +yy559: yych = *++YYCURSOR; - if (yych == 'E') goto yy647; - if (yych == 'e') goto yy647; + if (yych == 'E') goto yy587; + if (yych == 'e') goto yy587; goto yy56; -yy620: +yy560: yych = *++YYCURSOR; - if (yych == 'A') goto yy644; - if (yych == 'a') goto yy644; + if (yych == 'A') goto yy584; + if (yych == 'a') goto yy584; goto yy56; -yy621: +yy561: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'P') goto yy641; + if (yych == 'P') goto yy581; if (yych <= 'T') goto yy56; - goto yy640; + goto yy580; } else { if (yych <= 'p') { if (yych <= 'o') goto yy56; - goto yy641; + goto yy581; } else { - if (yych == 'u') goto yy640; + if (yych == 'u') goto yy580; goto yy56; } } -yy622: +yy562: yych = *++YYCURSOR; - if (yych == 'E') goto yy637; - if (yych == 'e') goto yy637; + if (yych == 'E') goto yy577; + if (yych == 'e') goto yy577; goto yy56; -yy623: +yy563: yych = *++YYCURSOR; - if (yych == 'C') goto yy635; - if (yych == 'c') goto yy635; + if (yych == 'C') goto yy575; + if (yych == 'c') goto yy575; goto yy56; -yy624: +yy564: yych = *++YYCURSOR; - if (yych == 'O') goto yy633; - if (yych == 'o') goto yy633; + if (yych == 'O') goto yy573; + if (yych == 'o') goto yy573; goto yy56; -yy625: +yy565: yych = *++YYCURSOR; - if (yych == 'E') goto yy626; + if (yych == 'E') goto yy566; if (yych != 'e') goto yy56; -yy626: +yy566: yych = *++YYCURSOR; - if (yych == 'C') goto yy627; + if (yych == 'C') goto yy567; if (yych != 'c') goto yy56; -yy627: - yyaccept = 10; +yy567: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych >= '.') goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych >= '.') goto yy471; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; - } else { - if (yych <= 'E') goto yy580; - if (yych == 'e') goto yy580; - goto yy475; - } - } -yy628: - yych = *++YYCURSOR; - if (yych <= '/') goto yy532; - if (yych <= '0') goto yy629; - if (yych <= '2') goto yy630; - if (yych <= '3') goto yy631; - goto yy532; -yy629: - yych = *++YYCURSOR; - if (yych <= '/') goto yy534; - if (yych <= '9') goto yy632; - goto yy534; -yy630: - yych = *++YYCURSOR; - if (yych <= '/') goto yy534; - if (yych <= '9') goto yy632; - goto yy534; -yy631: - yych = *++YYCURSOR; - if (yych <= '/') goto yy534; - if (yych <= '1') goto yy632; - if (yych <= '9') goto yy540; - goto yy534; -yy632: + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; + } else { + if (yych <= 'E') goto yy520; + if (yych == 'e') goto yy520; + goto yy415; + } + } +yy568: yych = *++YYCURSOR; - if (yych <= '/') goto yy534; - if (yych <= '9') goto yy541; - goto yy534; -yy633: + if (yych <= '/') goto yy472; + if (yych <= '0') goto yy569; + if (yych <= '2') goto yy570; + if (yych <= '3') goto yy571; + goto yy472; +yy569: + yych = *++YYCURSOR; + if (yych <= '/') goto yy474; + if (yych <= '9') goto yy572; + goto yy474; +yy570: + yych = *++YYCURSOR; + if (yych <= '/') goto yy474; + if (yych <= '9') goto yy572; + goto yy474; +yy571: + yych = *++YYCURSOR; + if (yych <= '/') goto yy474; + if (yych <= '1') goto yy572; + if (yych <= '9') goto yy480; + goto yy474; +yy572: + yych = *++YYCURSOR; + if (yych <= '/') goto yy474; + if (yych <= '9') goto yy481; + goto yy474; +yy573: yych = *++YYCURSOR; - if (yych == 'V') goto yy634; + if (yych == 'V') goto yy574; if (yych != 'v') goto yy56; -yy634: - yyaccept = 10; +yy574: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych <= '-') goto yy568; + goto yy471; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'E') goto yy535; - if (yych == 'e') goto yy535; - goto yy475; + if (yych <= 'E') goto yy475; + if (yych == 'e') goto yy475; + goto yy415; } } -yy635: +yy575: yych = *++YYCURSOR; - if (yych == 'T') goto yy636; + if (yych == 'T') goto yy576; if (yych != 't') goto yy56; -yy636: - yyaccept = 10; +yy576: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych <= '-') goto yy568; + goto yy471; } } else { if (yych <= 'N') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'O') goto yy545; - if (yych == 'o') goto yy545; - goto yy475; + if (yych <= 'O') goto yy485; + if (yych == 'o') goto yy485; + goto yy415; } } -yy637: +yy577: yych = *++YYCURSOR; - if (yych == 'P') goto yy638; + if (yych == 'P') goto yy578; if (yych != 'p') goto yy56; -yy638: - yyaccept = 10; +yy578: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych <= '-') goto yy568; + goto yy471; } } else { if (yych <= 'S') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'T') goto yy639; - if (yych != 't') goto yy475; + if (yych <= 'T') goto yy579; + if (yych != 't') goto yy415; } } -yy639: - yyaccept = 10; +yy579: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych <= '-') goto yy568; + goto yy471; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'E') goto yy587; - if (yych == 'e') goto yy587; - goto yy475; + if (yych <= 'E') goto yy527; + if (yych == 'e') goto yy527; + goto yy415; } } -yy640: +yy580: yych = *++YYCURSOR; - if (yych == 'G') goto yy643; - if (yych == 'g') goto yy643; + if (yych == 'G') goto yy583; + if (yych == 'g') goto yy583; goto yy56; -yy641: +yy581: yych = *++YYCURSOR; - if (yych == 'R') goto yy642; + if (yych == 'R') goto yy582; if (yych != 'r') goto yy56; -yy642: - yyaccept = 10; +yy582: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych <= '-') goto yy568; + goto yy471; } } else { if (yych <= 'H') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'I') goto yy551; - if (yych == 'i') goto yy551; - goto yy475; + if (yych <= 'I') goto yy491; + if (yych == 'i') goto yy491; + goto yy415; } } -yy643: - yyaccept = 10; +yy583: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych <= '-') goto yy568; + goto yy471; } } else { if (yych <= 'T') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'U') goto yy553; - if (yych == 'u') goto yy553; - goto yy475; + if (yych <= 'U') goto yy493; + if (yych == 'u') goto yy493; + goto yy415; } } -yy644: +yy584: yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy645; + if (yych == 'R') goto yy585; if (yych <= 'X') goto yy56; - goto yy646; + goto yy586; } else { if (yych <= 'r') { if (yych <= 'q') goto yy56; } else { - if (yych == 'y') goto yy646; + if (yych == 'y') goto yy586; goto yy56; } } -yy645: - yyaccept = 10; +yy585: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych <= '-') goto yy568; + goto yy471; } } else { if (yych <= 'B') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'C') goto yy593; - if (yych == 'c') goto yy593; - goto yy475; + if (yych <= 'C') goto yy533; + if (yych == 'c') goto yy533; + goto yy415; } } -yy646: - yyaccept = 10; +yy586: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { - if (yych <= 0x08) goto yy475; - goto yy531; + if (yych <= 0x08) goto yy415; + goto yy471; } else { - if (yych == ' ') goto yy531; - goto yy475; + if (yych == ' ') goto yy471; + goto yy415; } } else { if (yych <= '.') { - if (yych <= '-') goto yy628; - goto yy531; + if (yych <= '-') goto yy568; + goto yy471; } else { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } } -yy647: +yy587: yych = *++YYCURSOR; - if (yych == 'B') goto yy648; + if (yych == 'B') goto yy588; if (yych != 'b') goto yy56; -yy648: - yyaccept = 10; +yy588: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych <= '-') goto yy568; + goto yy471; } } else { if (yych <= 'Q') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'R') goto yy596; - if (yych == 'r') goto yy596; - goto yy475; + if (yych <= 'R') goto yy536; + if (yych == 'r') goto yy536; + goto yy415; } } -yy649: +yy589: yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy653; + if (yych == 'L') goto yy593; if (yych <= 'M') goto yy56; - goto yy652; + goto yy592; } else { if (yych <= 'l') { if (yych <= 'k') goto yy56; - goto yy653; + goto yy593; } else { - if (yych == 'n') goto yy652; + if (yych == 'n') goto yy592; goto yy56; } } -yy650: +yy590: yych = *++YYCURSOR; - if (yych == 'N') goto yy651; + if (yych == 'N') goto yy591; if (yych != 'n') goto yy56; -yy651: - yyaccept = 10; +yy591: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych <= '-') goto yy568; + goto yy471; } } else { if (yych <= 'T') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'U') goto yy558; - if (yych == 'u') goto yy558; - goto yy475; + if (yych <= 'U') goto yy498; + if (yych == 'u') goto yy498; + goto yy415; } } -yy652: - yyaccept = 10; +yy592: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych <= '-') goto yy568; + goto yy471; } } else { if (yych <= 'D') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'E') goto yy539; - if (yych == 'e') goto yy539; - goto yy475; + if (yych <= 'E') goto yy479; + if (yych == 'e') goto yy479; + goto yy415; } } -yy653: - yyaccept = 10; +yy593: + yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { - if (yych == '\t') goto yy531; - goto yy475; + if (yych == '\t') goto yy471; + goto yy415; } else { - if (yych <= ' ') goto yy531; - if (yych <= ',') goto yy475; - if (yych <= '-') goto yy628; - goto yy531; + if (yych <= ' ') goto yy471; + if (yych <= ',') goto yy415; + if (yych <= '-') goto yy568; + goto yy471; } } else { if (yych <= 'X') { - if (yych <= '/') goto yy475; - if (yych <= '9') goto yy533; - goto yy475; + if (yych <= '/') goto yy415; + if (yych <= '9') goto yy473; + goto yy415; } else { - if (yych <= 'Y') goto yy539; - if (yych == 'y') goto yy539; - goto yy475; + if (yych <= 'Y') goto yy479; + if (yych == 'y') goto yy479; + goto yy415; } } -yy654: +yy594: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '2') goto yy655; - if (yych <= '3') goto yy657; - if (yych <= '9') goto yy658; + if (yych <= '2') goto yy595; + if (yych <= '3') goto yy597; + if (yych <= '9') goto yy598; goto yy56; -yy655: - yyaccept = 13; +yy595: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy664; - if (yych >= 'n') goto yy660; + if (yych <= '/') goto yy596; + if (yych <= '9') goto yy604; + if (yych >= 'n') goto yy600; } else { if (yych <= 'r') { - if (yych >= 'r') goto yy661; + if (yych >= 'r') goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; } } -yy656: +yy596: #line 1283 "ext/date/lib/parse_date.re" { int length = 0; @@ -11004,102 +10100,102 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 11008 "" -yy657: - yyaccept = 13; +#line 10104 "" +yy597: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '1') { - if (yych <= '/') goto yy656; - goto yy664; + if (yych <= '/') goto yy596; + goto yy604; } else { - if (yych <= '9') goto yy603; - if (yych <= 'm') goto yy656; - goto yy660; + if (yych <= '9') goto yy543; + if (yych <= 'm') goto yy596; + goto yy600; } } else { if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; + if (yych <= 'q') goto yy596; + goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy596; } } -yy658: - yyaccept = 13; +yy598: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy603; - if (yych <= 'm') goto yy656; - goto yy660; + if (yych <= '/') goto yy596; + if (yych <= '9') goto yy543; + if (yych <= 'm') goto yy596; + goto yy600; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; + if (yych <= 'q') goto yy596; + goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy596; } } -yy659: +yy599: yych = *++YYCURSOR; - if (yych == 't') goto yy663; + if (yych == 't') goto yy603; goto yy56; -yy660: +yy600: yych = *++YYCURSOR; - if (yych == 'd') goto yy663; + if (yych == 'd') goto yy603; goto yy56; -yy661: +yy601: yych = *++YYCURSOR; - if (yych == 'd') goto yy663; + if (yych == 'd') goto yy603; goto yy56; -yy662: +yy602: yych = *++YYCURSOR; if (yych != 'h') goto yy56; -yy663: +yy603: yych = *++YYCURSOR; - goto yy656; -yy664: - yyaccept = 13; + goto yy596; +yy604: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy604; - if (yych <= 'm') goto yy656; - goto yy660; + if (yych <= '/') goto yy596; + if (yych <= '9') goto yy544; + if (yych <= 'm') goto yy596; + goto yy600; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; + if (yych <= 'q') goto yy596; + goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy596; } } -yy665: - yyaccept = 14; +yy605: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { - if (yych >= '/') goto yy722; + if (yych >= '/') goto yy662; } else { - if (yych <= '9') goto yy668; - if (yych >= 'n') goto yy719; + if (yych <= '9') goto yy608; + if (yych >= 'n') goto yy659; } } else { if (yych <= 'r') { - if (yych >= 'r') goto yy720; + if (yych >= 'r') goto yy660; } else { - if (yych <= 's') goto yy718; - if (yych <= 't') goto yy721; + if (yych <= 's') goto yy658; + if (yych <= 't') goto yy661; } } -yy666: +yy606: #line 1227 "ext/date/lib/parse_date.re" { int length = 0; @@ -11115,113 +10211,113 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_AMERICAN; } -#line 11119 "" -yy667: - yyaccept = 14; +#line 10215 "" +yy607: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { - if (yych <= '.') goto yy666; - goto yy722; + if (yych <= '.') goto yy606; + goto yy662; } else { - if (yych <= '1') goto yy668; - if (yych <= 'm') goto yy666; - goto yy719; + if (yych <= '1') goto yy608; + if (yych <= 'm') goto yy606; + goto yy659; } } else { if (yych <= 'r') { - if (yych <= 'q') goto yy666; - goto yy720; + if (yych <= 'q') goto yy606; + goto yy660; } else { - if (yych <= 's') goto yy718; - if (yych <= 't') goto yy721; - goto yy666; + if (yych <= 's') goto yy658; + if (yych <= 't') goto yy661; + goto yy606; } } -yy668: - yyaccept = 14; +yy608: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych == '/') goto yy722; - if (yych <= 'm') goto yy666; - goto yy719; + if (yych == '/') goto yy662; + if (yych <= 'm') goto yy606; + goto yy659; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy666; - goto yy720; + if (yych <= 'q') goto yy606; + goto yy660; } else { - if (yych <= 's') goto yy718; - if (yych <= 't') goto yy721; - goto yy666; + if (yych <= 's') goto yy658; + if (yych <= 't') goto yy661; + goto yy606; } } -yy669: +yy609: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy717; + if (yych == 'A') goto yy657; if (yych <= 'T') goto yy56; - goto yy716; + goto yy656; } else { if (yych <= 'a') { if (yych <= '`') goto yy56; - goto yy717; + goto yy657; } else { - if (yych == 'u') goto yy716; + if (yych == 'u') goto yy656; goto yy56; } } -yy670: +yy610: yych = *++YYCURSOR; - if (yych == 'E') goto yy715; - if (yych == 'e') goto yy715; + if (yych == 'E') goto yy655; + if (yych == 'e') goto yy655; goto yy56; -yy671: +yy611: yych = *++YYCURSOR; - if (yych == 'A') goto yy714; - if (yych == 'a') goto yy714; + if (yych == 'A') goto yy654; + if (yych == 'a') goto yy654; goto yy56; -yy672: +yy612: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'P') goto yy713; + if (yych == 'P') goto yy653; if (yych <= 'T') goto yy56; - goto yy712; + goto yy652; } else { if (yych <= 'p') { if (yych <= 'o') goto yy56; - goto yy713; + goto yy653; } else { - if (yych == 'u') goto yy712; + if (yych == 'u') goto yy652; goto yy56; } } -yy673: +yy613: yych = *++YYCURSOR; - if (yych == 'E') goto yy710; - if (yych == 'e') goto yy710; + if (yych == 'E') goto yy650; + if (yych == 'e') goto yy650; goto yy56; -yy674: +yy614: yych = *++YYCURSOR; - if (yych == 'C') goto yy709; - if (yych == 'c') goto yy709; + if (yych == 'C') goto yy649; + if (yych == 'c') goto yy649; goto yy56; -yy675: +yy615: yych = *++YYCURSOR; - if (yych == 'O') goto yy708; - if (yych == 'o') goto yy708; + if (yych == 'O') goto yy648; + if (yych == 'o') goto yy648; goto yy56; -yy676: +yy616: yych = *++YYCURSOR; - if (yych == 'E') goto yy677; + if (yych == 'E') goto yy617; if (yych != 'e') goto yy56; -yy677: +yy617: yych = *++YYCURSOR; - if (yych == 'C') goto yy678; + if (yych == 'C') goto yy618; if (yych != 'c') goto yy56; -yy678: +yy618: yych = *++YYCURSOR; if (yych != '/') goto yy56; -yy679: +yy619: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; @@ -11238,19 +10334,19 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych != ':') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '1') goto yy685; - if (yych <= '2') goto yy686; + if (yych <= '1') goto yy625; + if (yych <= '2') goto yy626; goto yy56; -yy685: +yy625: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy687; + if (yych <= '9') goto yy627; goto yy56; -yy686: +yy626: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '5') goto yy56; -yy687: +yy627: yych = *++YYCURSOR; if (yych != ':') goto yy56; yych = *++YYCURSOR; @@ -11263,57 +10359,57 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych != ':') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy692; - if (yych <= '6') goto yy693; + if (yych <= '5') goto yy632; + if (yych <= '6') goto yy633; goto yy56; -yy692: +yy632: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy694; + if (yych <= '9') goto yy634; goto yy56; -yy693: +yy633: yych = *++YYCURSOR; if (yych != '0') goto yy56; -yy694: +yy634: yych = *++YYCURSOR; - if (yych == '\t') goto yy695; + if (yych == '\t') goto yy635; if (yych != ' ') goto yy56; -yy695: +yy635: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; if (yych <= '*') { if (yych <= '\t') { if (yych <= 0x08) goto yy56; - goto yy695; + goto yy635; } else { - if (yych == ' ') goto yy695; + if (yych == ' ') goto yy635; goto yy56; } } else { if (yych <= '-') { if (yych == ',') goto yy56; - goto yy698; + goto yy638; } else { if (yych != 'G') goto yy56; } } yych = *++YYCURSOR; - if (yych == 'M') goto yy706; + if (yych == 'M') goto yy646; goto yy56; -yy698: +yy638: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '1') goto yy699; - if (yych <= '2') goto yy701; - if (yych <= '9') goto yy702; + if (yych <= '1') goto yy639; + if (yych <= '2') goto yy641; + if (yych <= '9') goto yy642; goto yy56; -yy699: +yy639: ++YYCURSOR; - if ((yych = *YYCURSOR) <= '/') goto yy700; - if (yych <= '9') goto yy702; - if (yych <= ':') goto yy703; -yy700: + if ((yych = *YYCURSOR) <= '/') goto yy640; + if (yych <= '9') goto yy642; + if (yych <= ':') goto yy643; +yy640: #line 1510 "ext/date/lib/parse_date.re" { int tz_not_found; @@ -11334,261 +10430,261 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 11338 "" -yy701: +#line 10434 "" +yy641: yych = *++YYCURSOR; if (yych <= '5') { - if (yych <= '/') goto yy700; - if (yych >= '5') goto yy704; + if (yych <= '/') goto yy640; + if (yych >= '5') goto yy644; } else { - if (yych <= '9') goto yy705; - if (yych <= ':') goto yy703; - goto yy700; + if (yych <= '9') goto yy645; + if (yych <= ':') goto yy643; + goto yy640; } -yy702: +yy642: yych = *++YYCURSOR; - if (yych <= '/') goto yy700; - if (yych <= '5') goto yy704; - if (yych <= '9') goto yy705; - if (yych >= ';') goto yy700; -yy703: + if (yych <= '/') goto yy640; + if (yych <= '5') goto yy644; + if (yych <= '9') goto yy645; + if (yych >= ';') goto yy640; +yy643: yych = *++YYCURSOR; - if (yych <= '/') goto yy700; - if (yych <= '5') goto yy704; - if (yych <= '9') goto yy705; - goto yy700; -yy704: + if (yych <= '/') goto yy640; + if (yych <= '5') goto yy644; + if (yych <= '9') goto yy645; + goto yy640; +yy644: yych = *++YYCURSOR; - if (yych <= '/') goto yy700; - if (yych >= ':') goto yy700; -yy705: + if (yych <= '/') goto yy640; + if (yych >= ':') goto yy640; +yy645: yych = *++YYCURSOR; - goto yy700; -yy706: + goto yy640; +yy646: yych = *++YYCURSOR; if (yych != 'T') goto yy56; yych = *++YYCURSOR; - if (yych == '+') goto yy698; - if (yych == '-') goto yy698; + if (yych == '+') goto yy638; + if (yych == '-') goto yy638; goto yy56; -yy708: +yy648: yych = *++YYCURSOR; - if (yych == 'V') goto yy678; - if (yych == 'v') goto yy678; + if (yych == 'V') goto yy618; + if (yych == 'v') goto yy618; goto yy56; -yy709: +yy649: yych = *++YYCURSOR; - if (yych == 'T') goto yy678; - if (yych == 't') goto yy678; + if (yych == 'T') goto yy618; + if (yych == 't') goto yy618; goto yy56; -yy710: +yy650: yych = *++YYCURSOR; - if (yych == 'P') goto yy711; + if (yych == 'P') goto yy651; if (yych != 'p') goto yy56; -yy711: +yy651: yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == '/') goto yy679; + if (yych == '/') goto yy619; goto yy56; } else { - if (yych <= 'T') goto yy678; - if (yych == 't') goto yy678; + if (yych <= 'T') goto yy618; + if (yych == 't') goto yy618; goto yy56; } -yy712: +yy652: yych = *++YYCURSOR; - if (yych == 'G') goto yy678; - if (yych == 'g') goto yy678; + if (yych == 'G') goto yy618; + if (yych == 'g') goto yy618; goto yy56; -yy713: +yy653: yych = *++YYCURSOR; - if (yych == 'R') goto yy678; - if (yych == 'r') goto yy678; + if (yych == 'R') goto yy618; + if (yych == 'r') goto yy618; goto yy56; -yy714: +yy654: yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy678; + if (yych == 'R') goto yy618; if (yych <= 'X') goto yy56; - goto yy678; + goto yy618; } else { if (yych <= 'r') { if (yych <= 'q') goto yy56; - goto yy678; + goto yy618; } else { - if (yych == 'y') goto yy678; + if (yych == 'y') goto yy618; goto yy56; } } -yy715: +yy655: yych = *++YYCURSOR; - if (yych == 'B') goto yy678; - if (yych == 'b') goto yy678; + if (yych == 'B') goto yy618; + if (yych == 'b') goto yy618; goto yy56; -yy716: +yy656: yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy678; + if (yych == 'L') goto yy618; if (yych <= 'M') goto yy56; - goto yy678; + goto yy618; } else { if (yych <= 'l') { if (yych <= 'k') goto yy56; - goto yy678; + goto yy618; } else { - if (yych == 'n') goto yy678; + if (yych == 'n') goto yy618; goto yy56; } } -yy717: +yy657: yych = *++YYCURSOR; - if (yych == 'N') goto yy678; - if (yych == 'n') goto yy678; + if (yych == 'N') goto yy618; + if (yych == 'n') goto yy618; goto yy56; -yy718: +yy658: yych = *++YYCURSOR; - if (yych == 't') goto yy727; + if (yych == 't') goto yy667; goto yy56; -yy719: +yy659: yych = *++YYCURSOR; - if (yych == 'd') goto yy727; + if (yych == 'd') goto yy667; goto yy56; -yy720: +yy660: yych = *++YYCURSOR; - if (yych == 'd') goto yy727; + if (yych == 'd') goto yy667; goto yy56; -yy721: +yy661: yych = *++YYCURSOR; - if (yych == 'h') goto yy727; + if (yych == 'h') goto yy667; goto yy56; -yy722: +yy662: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; yych = *++YYCURSOR; - if (yych <= '/') goto yy666; - if (yych >= ':') goto yy666; + if (yych <= '/') goto yy606; + if (yych >= ':') goto yy606; yych = *++YYCURSOR; - if (yych <= '/') goto yy666; - if (yych >= ':') goto yy666; + if (yych <= '/') goto yy606; + if (yych >= ':') goto yy606; yych = *++YYCURSOR; - if (yych <= '/') goto yy666; - if (yych >= ':') goto yy666; + if (yych <= '/') goto yy606; + if (yych >= ':') goto yy606; yych = *++YYCURSOR; - goto yy666; -yy727: - yyaccept = 14; + goto yy606; +yy667: + yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '/') goto yy722; - goto yy666; -yy728: + if (yych == '/') goto yy662; + goto yy606; +yy668: yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '\t') goto yy730; - goto yy577; + if (yych == '\t') goto yy670; + goto yy517; } else { - if (yych <= '-') goto yy731; - if (yych <= '.') goto yy730; - if (yych >= '0') goto yy577; + if (yych <= '-') goto yy671; + if (yych <= '.') goto yy670; + if (yych >= '0') goto yy517; } -yy729: +yy669: yych = *++YYCURSOR; switch (yych) { case 'A': - case 'a': goto yy672; + case 'a': goto yy612; case 'D': - case 'd': goto yy676; + case 'd': goto yy616; case 'F': - case 'f': goto yy670; + case 'f': goto yy610; case 'J': - case 'j': goto yy669; + case 'j': goto yy609; case 'M': - case 'm': goto yy671; + case 'm': goto yy611; case 'N': - case 'n': goto yy675; + case 'n': goto yy615; case 'O': - case 'o': goto yy674; + case 'o': goto yy614; case 'S': - case 's': goto yy673; + case 's': goto yy613; default: goto yy56; } -yy730: +yy670: yych = *++YYCURSOR; - if (yych <= '/') goto yy577; - if (yych <= '0') goto yy735; - if (yych <= '1') goto yy736; - if (yych <= '9') goto yy737; - goto yy577; -yy731: + if (yych <= '/') goto yy517; + if (yych <= '0') goto yy675; + if (yych <= '1') goto yy676; + if (yych <= '9') goto yy677; + goto yy517; +yy671: yych = *++YYCURSOR; - if (yych <= '/') goto yy577; - if (yych <= '0') goto yy732; - if (yych <= '1') goto yy733; - if (yych <= '9') goto yy734; - goto yy577; -yy732: + if (yych <= '/') goto yy517; + if (yych <= '0') goto yy672; + if (yych <= '1') goto yy673; + if (yych <= '9') goto yy674; + goto yy517; +yy672: yych = *++YYCURSOR; if (yych <= ',') goto yy56; - if (yych <= '.') goto yy601; + if (yych <= '.') goto yy541; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy734; + if (yych <= '9') goto yy674; goto yy56; -yy733: +yy673: yych = *++YYCURSOR; if (yych <= ',') goto yy56; - if (yych <= '.') goto yy601; + if (yych <= '.') goto yy541; if (yych <= '/') goto yy56; if (yych >= '3') goto yy56; -yy734: +yy674: yych = *++YYCURSOR; if (yych <= ',') goto yy56; - if (yych <= '.') goto yy601; + if (yych <= '.') goto yy541; goto yy56; -yy735: +yy675: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; - if (yych <= '-') goto yy601; - goto yy738; + if (yych <= '-') goto yy541; + goto yy678; } else { if (yych <= '/') goto yy56; - if (yych <= '9') goto yy737; + if (yych <= '9') goto yy677; goto yy56; } -yy736: +yy676: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; - if (yych <= '-') goto yy601; - goto yy738; + if (yych <= '-') goto yy541; + goto yy678; } else { if (yych <= '/') goto yy56; if (yych >= '3') goto yy56; } -yy737: +yy677: yych = *++YYCURSOR; if (yych <= ',') goto yy56; - if (yych <= '-') goto yy601; + if (yych <= '-') goto yy541; if (yych >= '/') goto yy56; -yy738: +yy678: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy610; + if (yych <= '9') goto yy550; goto yy56; -yy740: +yy680: yych = *++YYCURSOR; - if (yych == '-') goto yy784; + if (yych == '-') goto yy724; if (yych <= '/') goto yy60; - if (yych <= '9') goto yy782; + if (yych <= '9') goto yy722; goto yy60; -yy741: +yy681: yych = *++YYCURSOR; switch (yych) { - case '0': goto yy750; - case '1': goto yy751; + case '0': goto yy690; + case '1': goto yy691; case '2': case '3': case '4': @@ -11596,231 +10692,231 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy752; + case '9': goto yy692; case 'A': - case 'a': goto yy745; + case 'a': goto yy685; case 'D': - case 'd': goto yy749; + case 'd': goto yy689; case 'F': - case 'f': goto yy743; + case 'f': goto yy683; case 'J': - case 'j': goto yy742; + case 'j': goto yy682; case 'M': - case 'm': goto yy744; + case 'm': goto yy684; case 'N': - case 'n': goto yy748; + case 'n': goto yy688; case 'O': - case 'o': goto yy747; + case 'o': goto yy687; case 'S': - case 's': goto yy746; + case 's': goto yy686; default: goto yy56; } -yy742: +yy682: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy781; + if (yych == 'A') goto yy721; if (yych <= 'T') goto yy56; - goto yy780; + goto yy720; } else { if (yych <= 'a') { if (yych <= '`') goto yy56; - goto yy781; + goto yy721; } else { - if (yych == 'u') goto yy780; + if (yych == 'u') goto yy720; goto yy56; } } -yy743: +yy683: yych = *++YYCURSOR; - if (yych == 'E') goto yy779; - if (yych == 'e') goto yy779; + if (yych == 'E') goto yy719; + if (yych == 'e') goto yy719; goto yy56; -yy744: +yy684: yych = *++YYCURSOR; - if (yych == 'A') goto yy778; - if (yych == 'a') goto yy778; + if (yych == 'A') goto yy718; + if (yych == 'a') goto yy718; goto yy56; -yy745: +yy685: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'P') goto yy777; + if (yych == 'P') goto yy717; if (yych <= 'T') goto yy56; - goto yy776; + goto yy716; } else { if (yych <= 'p') { if (yych <= 'o') goto yy56; - goto yy777; + goto yy717; } else { - if (yych == 'u') goto yy776; + if (yych == 'u') goto yy716; goto yy56; } } -yy746: +yy686: yych = *++YYCURSOR; - if (yych == 'E') goto yy774; - if (yych == 'e') goto yy774; + if (yych == 'E') goto yy714; + if (yych == 'e') goto yy714; goto yy56; -yy747: +yy687: yych = *++YYCURSOR; - if (yych == 'C') goto yy773; - if (yych == 'c') goto yy773; + if (yych == 'C') goto yy713; + if (yych == 'c') goto yy713; goto yy56; -yy748: +yy688: yych = *++YYCURSOR; - if (yych == 'O') goto yy772; - if (yych == 'o') goto yy772; + if (yych == 'O') goto yy712; + if (yych == 'o') goto yy712; goto yy56; -yy749: +yy689: yych = *++YYCURSOR; - if (yych == 'E') goto yy764; - if (yych == 'e') goto yy764; + if (yych == 'E') goto yy704; + if (yych == 'e') goto yy704; goto yy56; -yy750: +yy690: yych = *++YYCURSOR; - if (yych == '-') goto yy753; + if (yych == '-') goto yy693; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy757; + if (yych <= '9') goto yy697; goto yy56; -yy751: +yy691: yych = *++YYCURSOR; - if (yych == '-') goto yy753; + if (yych == '-') goto yy693; if (yych <= '/') goto yy56; - if (yych <= '2') goto yy757; + if (yych <= '2') goto yy697; goto yy56; -yy752: +yy692: yych = *++YYCURSOR; if (yych != '-') goto yy56; -yy753: +yy693: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '2') goto yy754; - if (yych <= '3') goto yy755; - if (yych <= '9') goto yy756; + if (yych <= '2') goto yy694; + if (yych <= '3') goto yy695; + if (yych <= '9') goto yy696; goto yy56; -yy754: - yyaccept = 13; +yy694: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy756; - if (yych <= 'm') goto yy656; - goto yy660; + if (yych <= '/') goto yy596; + if (yych <= '9') goto yy696; + if (yych <= 'm') goto yy596; + goto yy600; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; + if (yych <= 'q') goto yy596; + goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy596; } } -yy755: - yyaccept = 13; +yy695: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '1') goto yy756; - if (yych <= 'm') goto yy656; - goto yy660; + if (yych <= '/') goto yy596; + if (yych <= '1') goto yy696; + if (yych <= 'm') goto yy596; + goto yy600; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; + if (yych <= 'q') goto yy596; + goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy596; } } -yy756: - yyaccept = 13; +yy696: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { - if (yych == 'n') goto yy660; - goto yy656; + if (yych == 'n') goto yy600; + goto yy596; } else { - if (yych <= 'r') goto yy661; - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; + if (yych <= 'r') goto yy601; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy596; } -yy757: +yy697: yych = *++YYCURSOR; if (yych != '-') goto yy56; yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy56; - if (yych >= '1') goto yy760; + if (yych >= '1') goto yy700; } else { - if (yych <= '3') goto yy761; - if (yych <= '9') goto yy756; + if (yych <= '3') goto yy701; + if (yych <= '9') goto yy696; goto yy56; } - yyaccept = 13; + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy762; - if (yych <= 'm') goto yy656; - goto yy660; + if (yych <= '/') goto yy596; + if (yych <= '9') goto yy702; + if (yych <= 'm') goto yy596; + goto yy600; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; + if (yych <= 'q') goto yy596; + goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy596; } } -yy760: - yyaccept = 13; +yy700: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy762; - if (yych <= 'm') goto yy656; - goto yy660; + if (yych <= '/') goto yy596; + if (yych <= '9') goto yy702; + if (yych <= 'm') goto yy596; + goto yy600; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; + if (yych <= 'q') goto yy596; + goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy596; } } -yy761: - yyaccept = 13; +yy701: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '1') goto yy762; - if (yych <= 'm') goto yy656; - goto yy660; + if (yych <= '/') goto yy596; + if (yych <= '1') goto yy702; + if (yych <= 'm') goto yy596; + goto yy600; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; + if (yych <= 'q') goto yy596; + goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy596; } } -yy762: - yyaccept = 15; +yy702: + yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { - if (yych == 'n') goto yy660; + if (yych == 'n') goto yy600; } else { - if (yych <= 'r') goto yy661; - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; + if (yych <= 'r') goto yy601; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; } -yy763: +yy703: #line 1255 "ext/date/lib/parse_date.re" { int length = 0; @@ -11834,36 +10930,36 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 11838 "" -yy764: +#line 10934 "" +yy704: yych = *++YYCURSOR; - if (yych == 'C') goto yy765; + if (yych == 'C') goto yy705; if (yych != 'c') goto yy56; -yy765: +yy705: yych = *++YYCURSOR; if (yych != '-') goto yy56; -yy766: +yy706: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '0') goto yy767; - if (yych <= '2') goto yy768; - if (yych <= '3') goto yy769; + if (yych <= '0') goto yy707; + if (yych <= '2') goto yy708; + if (yych <= '3') goto yy709; goto yy56; -yy767: +yy707: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy770; + if (yych <= '9') goto yy710; goto yy56; -yy768: +yy708: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy770; + if (yych <= '9') goto yy710; goto yy56; -yy769: +yy709: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '2') goto yy56; -yy770: +yy710: ++YYCURSOR; #line 1496 "ext/date/lib/parse_date.re" { @@ -11878,83 +10974,83 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 11882 "" -yy772: +#line 10978 "" +yy712: yych = *++YYCURSOR; - if (yych == 'V') goto yy765; - if (yych == 'v') goto yy765; + if (yych == 'V') goto yy705; + if (yych == 'v') goto yy705; goto yy56; -yy773: +yy713: yych = *++YYCURSOR; - if (yych == 'T') goto yy765; - if (yych == 't') goto yy765; + if (yych == 'T') goto yy705; + if (yych == 't') goto yy705; goto yy56; -yy774: +yy714: yych = *++YYCURSOR; - if (yych == 'P') goto yy775; + if (yych == 'P') goto yy715; if (yych != 'p') goto yy56; -yy775: +yy715: yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == '-') goto yy766; + if (yych == '-') goto yy706; goto yy56; } else { - if (yych <= 'T') goto yy765; - if (yych == 't') goto yy765; + if (yych <= 'T') goto yy705; + if (yych == 't') goto yy705; goto yy56; } -yy776: +yy716: yych = *++YYCURSOR; - if (yych == 'G') goto yy765; - if (yych == 'g') goto yy765; + if (yych == 'G') goto yy705; + if (yych == 'g') goto yy705; goto yy56; -yy777: +yy717: yych = *++YYCURSOR; - if (yych == 'R') goto yy765; - if (yych == 'r') goto yy765; + if (yych == 'R') goto yy705; + if (yych == 'r') goto yy705; goto yy56; -yy778: +yy718: yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy765; + if (yych == 'R') goto yy705; if (yych <= 'X') goto yy56; - goto yy765; + goto yy705; } else { if (yych <= 'r') { if (yych <= 'q') goto yy56; - goto yy765; + goto yy705; } else { - if (yych == 'y') goto yy765; + if (yych == 'y') goto yy705; goto yy56; } } -yy779: +yy719: yych = *++YYCURSOR; - if (yych == 'B') goto yy765; - if (yych == 'b') goto yy765; + if (yych == 'B') goto yy705; + if (yych == 'b') goto yy705; goto yy56; -yy780: +yy720: yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy765; + if (yych == 'L') goto yy705; if (yych <= 'M') goto yy56; - goto yy765; + goto yy705; } else { if (yych <= 'l') { if (yych <= 'k') goto yy56; - goto yy765; + goto yy705; } else { - if (yych == 'n') goto yy765; + if (yych == 'n') goto yy705; goto yy56; } } -yy781: +yy721: yych = *++YYCURSOR; - if (yych == 'N') goto yy765; - if (yych == 'n') goto yy765; + if (yych == 'N') goto yy705; + if (yych == 'n') goto yy705; goto yy56; -yy782: - yyaccept = 16; +yy722: + yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\t': @@ -11984,25 +11080,25 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 's': case 't': case 'w': - case 'y': goto yy790; - case '-': goto yy787; - case '.': goto yy791; - case '/': goto yy788; - case '0': goto yy804; - case '1': goto yy805; - case '2': goto yy807; - case '3': goto yy808; + case 'y': goto yy730; + case '-': goto yy727; + case '.': goto yy731; + case '/': goto yy728; + case '0': goto yy744; + case '1': goto yy745; + case '2': goto yy747; + case '3': goto yy748; case '4': case '5': case '6': case '7': case '8': case '9': goto yy54; - case ':': goto yy806; - case 'W': goto yy809; - default: goto yy783; + case ':': goto yy746; + case 'W': goto yy749; + default: goto yy723; } -yy783: +yy723: #line 1531 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("year4"); @@ -12011,12 +11107,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 12015 "" -yy784: +#line 11111 "" +yy724: yych = *++YYCURSOR; switch (yych) { - case '0': goto yy785; - case '1': goto yy786; + case '0': goto yy725; + case '1': goto yy726; case '2': case '3': case '4': @@ -12024,42 +11120,42 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy752; + case '9': goto yy692; case 'A': - case 'a': goto yy745; + case 'a': goto yy685; case 'D': - case 'd': goto yy749; + case 'd': goto yy689; case 'F': - case 'f': goto yy743; + case 'f': goto yy683; case 'J': - case 'j': goto yy742; + case 'j': goto yy682; case 'M': - case 'm': goto yy744; + case 'm': goto yy684; case 'N': - case 'n': goto yy748; + case 'n': goto yy688; case 'O': - case 'o': goto yy747; + case 'o': goto yy687; case 'S': - case 's': goto yy746; + case 's': goto yy686; default: goto yy56; } -yy785: +yy725: yych = *++YYCURSOR; - if (yych == '-') goto yy753; + if (yych == '-') goto yy693; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy752; + if (yych <= '9') goto yy692; goto yy56; -yy786: +yy726: yych = *++YYCURSOR; - if (yych == '-') goto yy753; + if (yych == '-') goto yy693; if (yych <= '/') goto yy56; - if (yych <= '2') goto yy752; + if (yych <= '2') goto yy692; goto yy56; -yy787: +yy727: yych = *++YYCURSOR; switch (yych) { - case '0': goto yy972; - case '1': goto yy974; + case '0': goto yy912; + case '1': goto yy914; case '2': case '3': case '4': @@ -12067,88 +11163,88 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy975; + case '9': goto yy915; case 'A': - case 'a': goto yy966; + case 'a': goto yy906; case 'D': - case 'd': goto yy970; + case 'd': goto yy910; case 'F': - case 'f': goto yy964; + case 'f': goto yy904; case 'J': - case 'j': goto yy963; + case 'j': goto yy903; case 'M': - case 'm': goto yy965; + case 'm': goto yy905; case 'N': - case 'n': goto yy969; + case 'n': goto yy909; case 'O': - case 'o': goto yy968; + case 'o': goto yy908; case 'S': - case 's': goto yy967; - case 'W': goto yy971; - default: goto yy938; + case 's': goto yy907; + case 'W': goto yy911; + default: goto yy878; } -yy788: +yy728: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '0') goto yy946; - if (yych <= '1') goto yy947; - if (yych <= '9') goto yy948; + if (yych <= '0') goto yy886; + if (yych <= '1') goto yy887; + if (yych <= '9') goto yy888; goto yy56; -yy789: +yy729: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; -yy790: +yy730: switch (yych) { case '\t': - case ' ': goto yy789; + case ' ': goto yy729; case '-': - case '.': goto yy937; + case '.': goto yy877; case 'A': - case 'a': goto yy799; + case 'a': goto yy739; case 'D': - case 'd': goto yy803; + case 'd': goto yy743; case 'F': - case 'f': goto yy797; + case 'f': goto yy737; case 'H': case 'h': goto yy63; - case 'I': goto yy792; + case 'I': goto yy732; case 'J': - case 'j': goto yy796; + case 'j': goto yy736; case 'M': - case 'm': goto yy798; + case 'm': goto yy738; case 'N': - case 'n': goto yy802; + case 'n': goto yy742; case 'O': - case 'o': goto yy801; + case 'o': goto yy741; case 'S': - case 's': goto yy800; + case 's': goto yy740; case 'T': case 't': goto yy68; - case 'V': goto yy794; + case 'V': goto yy734; case 'W': case 'w': goto yy67; - case 'X': goto yy795; + case 'X': goto yy735; case 'Y': case 'y': goto yy66; default: goto yy56; } -yy791: +yy731: yych = *++YYCURSOR; - if (yych <= '/') goto yy938; - if (yych <= '0') goto yy930; - if (yych <= '2') goto yy931; - if (yych <= '3') goto yy932; - goto yy938; -yy792: + if (yych <= '/') goto yy878; + if (yych <= '0') goto yy870; + if (yych <= '2') goto yy871; + if (yych <= '3') goto yy872; + goto yy878; +yy732: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'U') { - if (yych == 'I') goto yy929; + if (yych == 'I') goto yy869; } else { - if (yych == 'W') goto yy793; - if (yych <= 'X') goto yy883; + if (yych == 'W') goto yy733; + if (yych <= 'X') goto yy823; } -yy793: +yy733: #line 1352 "ext/date/lib/parse_date.re" { int length = 0; @@ -12162,35 +11258,35 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 12166 "" -yy794: +#line 11262 "" +yy734: yych = *++YYCURSOR; - if (yych == 'I') goto yy927; - goto yy793; -yy795: + if (yych == 'I') goto yy867; + goto yy733; +yy735: yych = *++YYCURSOR; - if (yych == 'I') goto yy926; - goto yy793; -yy796: + if (yych == 'I') goto yy866; + goto yy733; +yy736: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy919; + if (yych == 'A') goto yy859; if (yych <= 'T') goto yy56; - goto yy918; + goto yy858; } else { if (yych <= 'a') { if (yych <= '`') goto yy56; - goto yy919; + goto yy859; } else { - if (yych == 'u') goto yy918; + if (yych == 'u') goto yy858; goto yy56; } } -yy797: +yy737: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { - if (yych == 'E') goto yy912; + if (yych == 'E') goto yy852; goto yy56; } else { if (yych <= 'O') goto yy98; @@ -12199,7 +11295,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= 'n') { - if (yych == 'e') goto yy912; + if (yych == 'e') goto yy852; goto yy56; } else { if (yych <= 'o') goto yy98; @@ -12207,11 +11303,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy56; } } -yy798: +yy738: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { - if (yych == 'A') goto yy909; + if (yych == 'A') goto yy849; goto yy56; } else { if (yych <= 'I') goto yy117; @@ -12220,7 +11316,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= 'h') { - if (yych == 'a') goto yy909; + if (yych == 'a') goto yy849; goto yy56; } else { if (yych <= 'i') goto yy117; @@ -12228,29 +11324,29 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy56; } } -yy799: +yy739: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'P') goto yy903; + if (yych == 'P') goto yy843; if (yych <= 'T') goto yy56; - goto yy902; + goto yy842; } else { if (yych <= 'p') { if (yych <= 'o') goto yy56; - goto yy903; + goto yy843; } else { - if (yych == 'u') goto yy902; + if (yych == 'u') goto yy842; goto yy56; } } -yy800: +yy740: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy126; goto yy56; } else { - if (yych <= 'E') goto yy895; + if (yych <= 'E') goto yy835; if (yych <= 'T') goto yy56; goto yy125; } @@ -12259,73 +11355,73 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych == 'a') goto yy126; goto yy56; } else { - if (yych <= 'e') goto yy895; + if (yych <= 'e') goto yy835; if (yych == 'u') goto yy125; goto yy56; } } -yy801: +yy741: yych = *++YYCURSOR; - if (yych == 'C') goto yy890; - if (yych == 'c') goto yy890; + if (yych == 'C') goto yy830; + if (yych == 'c') goto yy830; goto yy56; -yy802: +yy742: yych = *++YYCURSOR; - if (yych == 'O') goto yy884; - if (yych == 'o') goto yy884; + if (yych == 'O') goto yy824; + if (yych == 'o') goto yy824; goto yy56; -yy803: +yy743: yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy113; if (yych <= 'D') goto yy56; - goto yy877; + goto yy817; } else { if (yych <= 'a') { if (yych <= '`') goto yy56; goto yy113; } else { - if (yych == 'e') goto yy877; + if (yych == 'e') goto yy817; goto yy56; } } -yy804: +yy744: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '0') goto yy874; - if (yych <= '9') goto yy875; + if (yych <= '0') goto yy814; + if (yych <= '9') goto yy815; goto yy60; -yy805: +yy745: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '2') goto yy843; - if (yych <= '9') goto yy822; + if (yych <= '2') goto yy783; + if (yych <= '9') goto yy762; goto yy60; -yy806: +yy746: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '0') goto yy823; - if (yych <= '1') goto yy824; + if (yych <= '0') goto yy763; + if (yych <= '1') goto yy764; goto yy56; -yy807: +yy747: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '9') goto yy822; + if (yych <= '9') goto yy762; goto yy60; -yy808: +yy748: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '5') goto yy818; - if (yych <= '6') goto yy819; + if (yych <= '5') goto yy758; + if (yych <= '6') goto yy759; if (yych <= '9') goto yy54; goto yy60; -yy809: +yy749: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy56; - if (yych <= '0') goto yy810; - if (yych <= '4') goto yy811; - goto yy812; + if (yych <= '0') goto yy750; + if (yych <= '4') goto yy751; + goto yy752; } else { if (yych <= 'E') { if (yych <= 'D') goto yy56; @@ -12335,27 +11431,27 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy56; } } -yy810: +yy750: yych = *++YYCURSOR; if (yych <= '0') goto yy56; - if (yych <= '9') goto yy813; + if (yych <= '9') goto yy753; goto yy56; -yy811: +yy751: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy813; + if (yych <= '9') goto yy753; goto yy56; -yy812: +yy752: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '4') goto yy56; -yy813: - yyaccept = 17; +yy753: + yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy815; - if (yych <= '/') goto yy814; - if (yych <= '7') goto yy816; -yy814: + if (yych == '-') goto yy755; + if (yych <= '/') goto yy754; + if (yych <= '7') goto yy756; +yy754: #line 1463 "ext/date/lib/parse_date.re" { timelib_sll w, d; @@ -12374,12 +11470,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 12378 "" -yy815: +#line 11474 "" +yy755: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '8') goto yy56; -yy816: +yy756: ++YYCURSOR; #line 1444 "ext/date/lib/parse_date.re" { @@ -12399,20 +11495,20 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 12403 "" -yy818: +#line 11499 "" +yy758: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '9') goto yy820; + if (yych <= '9') goto yy760; goto yy60; -yy819: +yy759: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '6') goto yy820; + if (yych <= '6') goto yy760; if (yych <= '9') goto yy54; goto yy60; -yy820: - yyaccept = 18; +yy760: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { goto yy54; @@ -12431,7 +11527,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych == 'H') goto yy60; if (yych >= 'M') goto yy60; } else { - if (yych <= 'R') goto yy821; + if (yych <= 'R') goto yy761; if (yych <= 'T') goto yy60; if (yych >= 'W') goto yy60; } @@ -12458,7 +11554,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy821: +yy761: #line 1430 "ext/date/lib/parse_date.re" { int length = 0; @@ -12472,62 +11568,62 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } -#line 12476 "" -yy822: +#line 11572 "" +yy762: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '9') goto yy820; + if (yych <= '9') goto yy760; goto yy60; -yy823: +yy763: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy825; + if (yych <= '9') goto yy765; goto yy56; -yy824: +yy764: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '3') goto yy56; -yy825: +yy765: yych = *++YYCURSOR; if (yych != ':') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '0') goto yy827; - if (yych <= '2') goto yy828; - if (yych <= '3') goto yy829; + if (yych <= '0') goto yy767; + if (yych <= '2') goto yy768; + if (yych <= '3') goto yy769; goto yy56; -yy827: +yy767: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy830; + if (yych <= '9') goto yy770; goto yy56; -yy828: +yy768: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy830; + if (yych <= '9') goto yy770; goto yy56; -yy829: +yy769: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '2') goto yy56; -yy830: +yy770: yych = *++YYCURSOR; if (yych != ' ') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '1') goto yy832; - if (yych <= '2') goto yy833; + if (yych <= '1') goto yy772; + if (yych <= '2') goto yy773; goto yy56; -yy832: +yy772: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy834; + if (yych <= '9') goto yy774; goto yy56; -yy833: +yy773: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '5') goto yy56; -yy834: +yy774: yych = *++YYCURSOR; if (yych != ':') goto yy56; yych = *++YYCURSOR; @@ -12540,20 +11636,20 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych != ':') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy839; - if (yych <= '6') goto yy840; + if (yych <= '5') goto yy779; + if (yych <= '6') goto yy780; goto yy56; -yy839: +yy779: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy841; + if (yych <= '9') goto yy781; goto yy56; -yy840: +yy780: yych = *++YYCURSOR; if (yych != '0') goto yy56; -yy841: +yy781: ++YYCURSOR; -yy842: +yy782: #line 1404 "ext/date/lib/parse_date.re" { int tz_not_found; @@ -12579,208 +11675,208 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } -#line 12583 "" -yy843: +#line 11679 "" +yy783: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy60; - if (yych >= '1') goto yy845; + if (yych >= '1') goto yy785; } else { - if (yych <= '3') goto yy846; - if (yych <= '9') goto yy820; + if (yych <= '3') goto yy786; + if (yych <= '9') goto yy760; goto yy60; } -yy844: - yyaccept = 18; +yy784: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy821; + if (yych <= 0x1F) goto yy761; goto yy60; } else { - if (yych <= '/') goto yy821; - if (yych <= '9') goto yy847; - if (yych <= 'C') goto yy821; + if (yych <= '/') goto yy761; + if (yych <= '9') goto yy787; + if (yych <= 'C') goto yy761; goto yy60; } } else { if (yych <= 'H') { if (yych == 'F') goto yy60; - if (yych <= 'G') goto yy821; + if (yych <= 'G') goto yy761; goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy821; + if (yych <= 'L') goto yy761; goto yy60; } else { - if (yych <= 'R') goto yy821; + if (yych <= 'R') goto yy761; if (yych <= 'T') goto yy60; - goto yy821; + goto yy761; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy821; + if (yych == 'X') goto yy761; if (yych <= 'Y') goto yy60; - goto yy821; + goto yy761; } else { if (yych <= 'e') { if (yych <= 'd') goto yy60; - goto yy821; + goto yy761; } else { - if (yych == 'g') goto yy821; + if (yych == 'g') goto yy761; goto yy60; } } } else { if (yych <= 't') { if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy821; + if (yych <= 'r') goto yy761; goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy821; + if (yych <= 'v') goto yy761; goto yy60; } else { if (yych == 'y') goto yy60; - goto yy821; + goto yy761; } } } } -yy845: - yyaccept = 18; +yy785: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy821; + if (yych <= 0x1F) goto yy761; goto yy60; } else { - if (yych <= '/') goto yy821; - if (yych <= '9') goto yy847; - if (yych <= 'C') goto yy821; + if (yych <= '/') goto yy761; + if (yych <= '9') goto yy787; + if (yych <= 'C') goto yy761; goto yy60; } } else { if (yych <= 'H') { if (yych == 'F') goto yy60; - if (yych <= 'G') goto yy821; + if (yych <= 'G') goto yy761; goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy821; + if (yych <= 'L') goto yy761; goto yy60; } else { - if (yych <= 'R') goto yy821; + if (yych <= 'R') goto yy761; if (yych <= 'T') goto yy60; - goto yy821; + goto yy761; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy821; + if (yych == 'X') goto yy761; if (yych <= 'Y') goto yy60; - goto yy821; + goto yy761; } else { if (yych <= 'e') { if (yych <= 'd') goto yy60; - goto yy821; + goto yy761; } else { - if (yych == 'g') goto yy821; + if (yych == 'g') goto yy761; goto yy60; } } } else { if (yych <= 't') { if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy821; + if (yych <= 'r') goto yy761; goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy821; + if (yych <= 'v') goto yy761; goto yy60; } else { if (yych == 'y') goto yy60; - goto yy821; + goto yy761; } } } } -yy846: - yyaccept = 18; +yy786: + yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy821; + if (yych <= 0x1F) goto yy761; goto yy60; } else { if (yych <= '1') { - if (yych <= '/') goto yy821; + if (yych <= '/') goto yy761; } else { if (yych <= '9') goto yy54; - if (yych <= 'C') goto yy821; + if (yych <= 'C') goto yy761; goto yy60; } } } else { if (yych <= 'H') { if (yych == 'F') goto yy60; - if (yych <= 'G') goto yy821; + if (yych <= 'G') goto yy761; goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy821; + if (yych <= 'L') goto yy761; goto yy60; } else { - if (yych <= 'R') goto yy821; + if (yych <= 'R') goto yy761; if (yych <= 'T') goto yy60; - goto yy821; + goto yy761; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy821; + if (yych == 'X') goto yy761; if (yych <= 'Y') goto yy60; - goto yy821; + goto yy761; } else { if (yych <= 'e') { if (yych <= 'd') goto yy60; - goto yy821; + goto yy761; } else { - if (yych == 'g') goto yy821; + if (yych == 'g') goto yy761; goto yy60; } } } else { if (yych <= 't') { if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy821; + if (yych <= 'r') goto yy761; goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy821; + if (yych <= 'v') goto yy761; goto yy60; } else { if (yych == 'y') goto yy60; - goto yy821; + goto yy761; } } } } -yy847: - yyaccept = 19; +yy787: + yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { goto yy54; @@ -12802,7 +11898,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'S') { if (yych >= 'S') goto yy61; } else { - if (yych <= 'T') goto yy849; + if (yych <= 'T') goto yy789; if (yych >= 'W') goto yy67; } } @@ -12822,9 +11918,9 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= 't') { if (yych <= 'm') goto yy62; - if (yych <= 'r') goto yy848; + if (yych <= 'r') goto yy788; if (yych <= 's') goto yy61; - goto yy850; + goto yy790; } else { if (yych <= 'w') { if (yych >= 'w') goto yy67; @@ -12834,7 +11930,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy848: +yy788: #line 1392 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("datenocolon"); @@ -12846,16 +11942,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } -#line 12850 "" -yy849: +#line 11946 "" +yy789: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { if (yych <= '/') goto yy56; - if (yych <= '1') goto yy864; - goto yy865; + if (yych <= '1') goto yy804; + goto yy805; } else { - if (yych <= '9') goto yy866; + if (yych <= '9') goto yy806; if (yych <= 'G') goto yy56; goto yy69; } @@ -12869,14 +11965,14 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy56; } } -yy850: +yy790: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { if (yych <= '/') goto yy56; - if (yych >= '2') goto yy852; + if (yych >= '2') goto yy792; } else { - if (yych <= '9') goto yy853; + if (yych <= '9') goto yy793; if (yych <= 'G') goto yy56; goto yy69; } @@ -12892,97 +11988,97 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy858; - if (yych <= '9') goto yy853; + if (yych <= '5') goto yy798; + if (yych <= '9') goto yy793; goto yy56; -yy852: +yy792: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '4') goto yy858; - if (yych <= '5') goto yy854; + if (yych <= '4') goto yy798; + if (yych <= '5') goto yy794; goto yy56; -yy853: +yy793: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '6') goto yy56; -yy854: +yy794: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; -yy855: +yy795: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy856; - if (yych <= '6') goto yy857; + if (yych <= '5') goto yy796; + if (yych <= '6') goto yy797; goto yy56; -yy856: +yy796: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy841; + if (yych <= '9') goto yy781; goto yy56; -yy857: +yy797: yych = *++YYCURSOR; - if (yych == '0') goto yy841; + if (yych == '0') goto yy781; goto yy56; -yy858: +yy798: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy859; - if (yych <= '9') goto yy855; + if (yych <= '5') goto yy799; + if (yych <= '9') goto yy795; goto yy56; -yy859: +yy799: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy860; - if (yych <= '6') goto yy861; - if (yych <= '9') goto yy855; + if (yych <= '5') goto yy800; + if (yych <= '6') goto yy801; + if (yych <= '9') goto yy795; goto yy56; -yy860: +yy800: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy862; - if (yych <= '6') goto yy863; - if (yych <= '9') goto yy841; + if (yych <= '5') goto yy802; + if (yych <= '6') goto yy803; + if (yych <= '9') goto yy781; goto yy56; -yy861: +yy801: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '0') goto yy862; - if (yych <= '5') goto yy856; - if (yych <= '6') goto yy857; + if (yych <= '0') goto yy802; + if (yych <= '5') goto yy796; + if (yych <= '6') goto yy797; goto yy56; -yy862: +yy802: yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '9') goto yy841; - goto yy842; -yy863: + if (yych <= '/') goto yy782; + if (yych <= '9') goto yy781; + goto yy782; +yy803: yych = *++YYCURSOR; - if (yych == '0') goto yy841; - goto yy842; -yy864: + if (yych == '0') goto yy781; + goto yy782; +yy804: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy873; - if (yych <= '9') goto yy866; - if (yych <= ':') goto yy867; + if (yych <= '5') goto yy813; + if (yych <= '9') goto yy806; + if (yych <= ':') goto yy807; goto yy56; -yy865: +yy805: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy56; - if (yych <= '4') goto yy873; - goto yy854; + if (yych <= '4') goto yy813; + goto yy794; } else { - if (yych == ':') goto yy867; + if (yych == ':') goto yy807; goto yy56; } -yy866: +yy806: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy854; + if (yych <= '5') goto yy794; if (yych != ':') goto yy56; -yy867: +yy807: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '6') goto yy56; @@ -12993,129 +12089,129 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych != ':') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy871; - if (yych <= '6') goto yy872; + if (yych <= '5') goto yy811; + if (yych <= '6') goto yy812; goto yy56; -yy871: +yy811: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy841; + if (yych <= '9') goto yy781; goto yy56; -yy872: +yy812: yych = *++YYCURSOR; - if (yych == '0') goto yy841; + if (yych == '0') goto yy781; goto yy56; -yy873: +yy813: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy859; - if (yych <= '9') goto yy855; - if (yych <= ':') goto yy867; + if (yych <= '5') goto yy799; + if (yych <= '9') goto yy795; + if (yych <= ':') goto yy807; goto yy56; -yy874: +yy814: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy60; - if (yych <= '0') goto yy876; - goto yy845; + if (yych <= '0') goto yy816; + goto yy785; } else { - if (yych <= '3') goto yy846; - if (yych <= '9') goto yy820; + if (yych <= '3') goto yy786; + if (yych <= '9') goto yy760; goto yy60; } -yy875: +yy815: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy60; - if (yych <= '0') goto yy844; - goto yy845; + if (yych <= '0') goto yy784; + goto yy785; } else { - if (yych <= '3') goto yy846; - if (yych <= '9') goto yy820; + if (yych <= '3') goto yy786; + if (yych <= '9') goto yy760; goto yy60; } -yy876: +yy816: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '9') goto yy847; + if (yych <= '9') goto yy787; goto yy60; -yy877: +yy817: yych = *++YYCURSOR; - if (yych == 'C') goto yy878; + if (yych == 'C') goto yy818; if (yych != 'c') goto yy56; -yy878: - yyaccept = 20; +yy818: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy879; - if (yych != 'e') goto yy793; -yy879: + if (yych == 'E') goto yy819; + if (yych != 'e') goto yy733; +yy819: yych = *++YYCURSOR; - if (yych == 'M') goto yy880; + if (yych == 'M') goto yy820; if (yych != 'm') goto yy56; -yy880: +yy820: yych = *++YYCURSOR; - if (yych == 'B') goto yy881; + if (yych == 'B') goto yy821; if (yych != 'b') goto yy56; -yy881: +yy821: yych = *++YYCURSOR; - if (yych == 'E') goto yy882; + if (yych == 'E') goto yy822; if (yych != 'e') goto yy56; -yy882: +yy822: yych = *++YYCURSOR; - if (yych == 'R') goto yy883; + if (yych == 'R') goto yy823; if (yych != 'r') goto yy56; -yy883: +yy823: yych = *++YYCURSOR; - goto yy793; -yy884: + goto yy733; +yy824: yych = *++YYCURSOR; - if (yych == 'V') goto yy885; + if (yych == 'V') goto yy825; if (yych != 'v') goto yy56; -yy885: - yyaccept = 20; +yy825: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy886; - if (yych != 'e') goto yy793; -yy886: + if (yych == 'E') goto yy826; + if (yych != 'e') goto yy733; +yy826: yych = *++YYCURSOR; - if (yych == 'M') goto yy887; + if (yych == 'M') goto yy827; if (yych != 'm') goto yy56; -yy887: +yy827: yych = *++YYCURSOR; - if (yych == 'B') goto yy888; + if (yych == 'B') goto yy828; if (yych != 'b') goto yy56; -yy888: +yy828: yych = *++YYCURSOR; - if (yych == 'E') goto yy889; + if (yych == 'E') goto yy829; if (yych != 'e') goto yy56; -yy889: +yy829: yych = *++YYCURSOR; - if (yych == 'R') goto yy883; - if (yych == 'r') goto yy883; + if (yych == 'R') goto yy823; + if (yych == 'r') goto yy823; goto yy56; -yy890: +yy830: yych = *++YYCURSOR; - if (yych == 'T') goto yy891; + if (yych == 'T') goto yy831; if (yych != 't') goto yy56; -yy891: - yyaccept = 20; +yy831: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'O') goto yy892; - if (yych != 'o') goto yy793; -yy892: + if (yych == 'O') goto yy832; + if (yych != 'o') goto yy733; +yy832: yych = *++YYCURSOR; - if (yych == 'B') goto yy893; + if (yych == 'B') goto yy833; if (yych != 'b') goto yy56; -yy893: +yy833: yych = *++YYCURSOR; - if (yych == 'E') goto yy894; + if (yych == 'E') goto yy834; if (yych != 'e') goto yy56; -yy894: +yy834: yych = *++YYCURSOR; - if (yych == 'R') goto yy883; - if (yych == 'r') goto yy883; + if (yych == 'R') goto yy823; + if (yych == 'r') goto yy823; goto yy56; -yy895: +yy835: yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy128; @@ -13128,518 +12224,518 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych != 'p') goto yy56; } } -yy896: +yy836: yych = *++YYCURSOR; - if (yych == 'T') goto yy897; - if (yych != 't') goto yy793; -yy897: - yyaccept = 20; + if (yych == 'T') goto yy837; + if (yych != 't') goto yy733; +yy837: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'E') goto yy898; - if (yych != 'e') goto yy793; -yy898: + if (yych == 'E') goto yy838; + if (yych != 'e') goto yy733; +yy838: yych = *++YYCURSOR; - if (yych == 'M') goto yy899; + if (yych == 'M') goto yy839; if (yych != 'm') goto yy56; -yy899: +yy839: yych = *++YYCURSOR; - if (yych == 'B') goto yy900; + if (yych == 'B') goto yy840; if (yych != 'b') goto yy56; -yy900: +yy840: yych = *++YYCURSOR; - if (yych == 'E') goto yy901; + if (yych == 'E') goto yy841; if (yych != 'e') goto yy56; -yy901: +yy841: yych = *++YYCURSOR; - if (yych == 'R') goto yy883; - if (yych == 'r') goto yy883; + if (yych == 'R') goto yy823; + if (yych == 'r') goto yy823; goto yy56; -yy902: +yy842: yych = *++YYCURSOR; - if (yych == 'G') goto yy906; - if (yych == 'g') goto yy906; + if (yych == 'G') goto yy846; + if (yych == 'g') goto yy846; goto yy56; -yy903: +yy843: yych = *++YYCURSOR; - if (yych == 'R') goto yy904; + if (yych == 'R') goto yy844; if (yych != 'r') goto yy56; -yy904: - yyaccept = 20; +yy844: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'I') goto yy905; - if (yych != 'i') goto yy793; -yy905: + if (yych == 'I') goto yy845; + if (yych != 'i') goto yy733; +yy845: yych = *++YYCURSOR; - if (yych == 'L') goto yy883; - if (yych == 'l') goto yy883; + if (yych == 'L') goto yy823; + if (yych == 'l') goto yy823; goto yy56; -yy906: - yyaccept = 20; +yy846: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy907; - if (yych != 'u') goto yy793; -yy907: + if (yych == 'U') goto yy847; + if (yych != 'u') goto yy733; +yy847: yych = *++YYCURSOR; - if (yych == 'S') goto yy908; + if (yych == 'S') goto yy848; if (yych != 's') goto yy56; -yy908: +yy848: yych = *++YYCURSOR; - if (yych == 'T') goto yy883; - if (yych == 't') goto yy883; + if (yych == 'T') goto yy823; + if (yych == 't') goto yy823; goto yy56; -yy909: +yy849: yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy910; + if (yych == 'R') goto yy850; if (yych <= 'X') goto yy56; - goto yy883; + goto yy823; } else { if (yych <= 'r') { if (yych <= 'q') goto yy56; } else { - if (yych == 'y') goto yy883; + if (yych == 'y') goto yy823; goto yy56; } } -yy910: - yyaccept = 20; +yy850: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'C') goto yy911; - if (yych != 'c') goto yy793; -yy911: + if (yych == 'C') goto yy851; + if (yych != 'c') goto yy733; +yy851: yych = *++YYCURSOR; - if (yych == 'H') goto yy883; - if (yych == 'h') goto yy883; + if (yych == 'H') goto yy823; + if (yych == 'h') goto yy823; goto yy56; -yy912: +yy852: yych = *++YYCURSOR; - if (yych == 'B') goto yy913; + if (yych == 'B') goto yy853; if (yych != 'b') goto yy56; -yy913: - yyaccept = 20; +yy853: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'R') goto yy914; - if (yych != 'r') goto yy793; -yy914: + if (yych == 'R') goto yy854; + if (yych != 'r') goto yy733; +yy854: yych = *++YYCURSOR; - if (yych == 'U') goto yy915; + if (yych == 'U') goto yy855; if (yych != 'u') goto yy56; -yy915: +yy855: yych = *++YYCURSOR; - if (yych == 'A') goto yy916; + if (yych == 'A') goto yy856; if (yych != 'a') goto yy56; -yy916: +yy856: yych = *++YYCURSOR; - if (yych == 'R') goto yy917; + if (yych == 'R') goto yy857; if (yych != 'r') goto yy56; -yy917: +yy857: yych = *++YYCURSOR; - if (yych == 'Y') goto yy883; - if (yych == 'y') goto yy883; + if (yych == 'Y') goto yy823; + if (yych == 'y') goto yy823; goto yy56; -yy918: +yy858: yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy925; + if (yych == 'L') goto yy865; if (yych <= 'M') goto yy56; - goto yy924; + goto yy864; } else { if (yych <= 'l') { if (yych <= 'k') goto yy56; - goto yy925; + goto yy865; } else { - if (yych == 'n') goto yy924; + if (yych == 'n') goto yy864; goto yy56; } } -yy919: +yy859: yych = *++YYCURSOR; - if (yych == 'N') goto yy920; + if (yych == 'N') goto yy860; if (yych != 'n') goto yy56; -yy920: - yyaccept = 20; +yy860: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'U') goto yy921; - if (yych != 'u') goto yy793; -yy921: + if (yych == 'U') goto yy861; + if (yych != 'u') goto yy733; +yy861: yych = *++YYCURSOR; - if (yych == 'A') goto yy922; + if (yych == 'A') goto yy862; if (yych != 'a') goto yy56; -yy922: +yy862: yych = *++YYCURSOR; - if (yych == 'R') goto yy923; + if (yych == 'R') goto yy863; if (yych != 'r') goto yy56; -yy923: +yy863: yych = *++YYCURSOR; - if (yych == 'Y') goto yy883; - if (yych == 'y') goto yy883; + if (yych == 'Y') goto yy823; + if (yych == 'y') goto yy823; goto yy56; -yy924: +yy864: yych = *++YYCURSOR; - if (yych == 'E') goto yy883; - if (yych == 'e') goto yy883; - goto yy793; -yy925: + if (yych == 'E') goto yy823; + if (yych == 'e') goto yy823; + goto yy733; +yy865: yych = *++YYCURSOR; - if (yych == 'Y') goto yy883; - if (yych == 'y') goto yy883; - goto yy793; -yy926: + if (yych == 'Y') goto yy823; + if (yych == 'y') goto yy823; + goto yy733; +yy866: yych = *++YYCURSOR; - if (yych == 'I') goto yy883; - goto yy793; -yy927: + if (yych == 'I') goto yy823; + goto yy733; +yy867: yych = *++YYCURSOR; - if (yych != 'I') goto yy793; + if (yych != 'I') goto yy733; yych = *++YYCURSOR; - if (yych == 'I') goto yy883; - goto yy793; -yy929: + if (yych == 'I') goto yy823; + goto yy733; +yy869: yych = *++YYCURSOR; - if (yych == 'I') goto yy883; - goto yy793; -yy930: + if (yych == 'I') goto yy823; + goto yy733; +yy870: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '0') goto yy945; - if (yych <= '9') goto yy944; + if (yych <= '0') goto yy885; + if (yych <= '9') goto yy884; goto yy56; -yy931: +yy871: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy943; + if (yych <= '9') goto yy883; goto yy56; -yy932: +yy872: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy941; - if (yych <= '6') goto yy940; + if (yych <= '5') goto yy881; + if (yych <= '6') goto yy880; goto yy56; -yy933: +yy873: yych = *++YYCURSOR; - if (yych == 'E') goto yy912; - if (yych == 'e') goto yy912; + if (yych == 'E') goto yy852; + if (yych == 'e') goto yy852; goto yy56; -yy934: +yy874: yych = *++YYCURSOR; - if (yych == 'A') goto yy909; - if (yych == 'a') goto yy909; + if (yych == 'A') goto yy849; + if (yych == 'a') goto yy849; goto yy56; -yy935: +yy875: yych = *++YYCURSOR; - if (yych == 'E') goto yy939; - if (yych == 'e') goto yy939; + if (yych == 'E') goto yy879; + if (yych == 'e') goto yy879; goto yy56; -yy936: +yy876: yych = *++YYCURSOR; - if (yych == 'E') goto yy877; - if (yych == 'e') goto yy877; + if (yych == 'E') goto yy817; + if (yych == 'e') goto yy817; goto yy56; -yy937: +yy877: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; -yy938: +yy878: switch (yych) { case '\t': case ' ': case '-': - case '.': goto yy937; + case '.': goto yy877; case 'A': - case 'a': goto yy799; + case 'a': goto yy739; case 'D': - case 'd': goto yy936; + case 'd': goto yy876; case 'F': - case 'f': goto yy933; - case 'I': goto yy792; + case 'f': goto yy873; + case 'I': goto yy732; case 'J': - case 'j': goto yy796; + case 'j': goto yy736; case 'M': - case 'm': goto yy934; + case 'm': goto yy874; case 'N': - case 'n': goto yy802; + case 'n': goto yy742; case 'O': - case 'o': goto yy801; + case 'o': goto yy741; case 'S': - case 's': goto yy935; - case 'V': goto yy794; - case 'X': goto yy795; + case 's': goto yy875; + case 'V': goto yy734; + case 'X': goto yy735; default: goto yy56; } -yy939: +yy879: yych = *++YYCURSOR; - if (yych == 'P') goto yy896; - if (yych == 'p') goto yy896; + if (yych == 'P') goto yy836; + if (yych == 'p') goto yy836; goto yy56; -yy940: +yy880: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '6') goto yy942; + if (yych <= '6') goto yy882; goto yy56; -yy941: +yy881: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; -yy942: +yy882: yych = *++YYCURSOR; - goto yy821; -yy943: + goto yy761; +yy883: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy942; + if (yych <= '9') goto yy882; goto yy56; -yy944: +yy884: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy942; + if (yych <= '9') goto yy882; goto yy56; -yy945: +yy885: yych = *++YYCURSOR; if (yych <= '0') goto yy56; - if (yych <= '9') goto yy942; + if (yych <= '9') goto yy882; goto yy56; -yy946: +yy886: yych = *++YYCURSOR; if (yych <= '.') goto yy56; - if (yych <= '/') goto yy949; - if (yych <= '9') goto yy957; + if (yych <= '/') goto yy889; + if (yych <= '9') goto yy897; goto yy56; -yy947: +yy887: yych = *++YYCURSOR; if (yych <= '.') goto yy56; - if (yych <= '/') goto yy949; - if (yych <= '2') goto yy957; + if (yych <= '/') goto yy889; + if (yych <= '2') goto yy897; goto yy56; -yy948: +yy888: yych = *++YYCURSOR; if (yych != '/') goto yy56; -yy949: +yy889: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '2') goto yy950; - if (yych <= '3') goto yy951; - if (yych <= '9') goto yy952; + if (yych <= '2') goto yy890; + if (yych <= '3') goto yy891; + if (yych <= '9') goto yy892; goto yy56; -yy950: - yyaccept = 21; +yy890: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy454; - if (yych <= '9') goto yy952; - if (yych <= 'm') goto yy454; - goto yy954; + if (yych <= '/') goto yy394; + if (yych <= '9') goto yy892; + if (yych <= 'm') goto yy394; + goto yy894; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy955; + if (yych <= 'q') goto yy394; + goto yy895; } else { - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; + if (yych <= 's') goto yy893; + if (yych <= 't') goto yy896; + goto yy394; } } -yy951: - yyaccept = 21; +yy891: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy454; - if (yych <= '1') goto yy952; - if (yych <= 'm') goto yy454; - goto yy954; + if (yych <= '/') goto yy394; + if (yych <= '1') goto yy892; + if (yych <= 'm') goto yy394; + goto yy894; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy955; + if (yych <= 'q') goto yy394; + goto yy895; } else { - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; + if (yych <= 's') goto yy893; + if (yych <= 't') goto yy896; + goto yy394; } } -yy952: - yyaccept = 21; +yy892: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { - if (yych == 'n') goto yy954; - goto yy454; + if (yych == 'n') goto yy894; + goto yy394; } else { - if (yych <= 'r') goto yy955; - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; + if (yych <= 'r') goto yy895; + if (yych <= 's') goto yy893; + if (yych <= 't') goto yy896; + goto yy394; } -yy953: +yy893: yych = *++YYCURSOR; - if (yych == 't') goto yy453; + if (yych == 't') goto yy393; goto yy56; -yy954: +yy894: yych = *++YYCURSOR; - if (yych == 'd') goto yy453; + if (yych == 'd') goto yy393; goto yy56; -yy955: +yy895: yych = *++YYCURSOR; - if (yych == 'd') goto yy453; + if (yych == 'd') goto yy393; goto yy56; -yy956: +yy896: yych = *++YYCURSOR; - if (yych == 'h') goto yy453; + if (yych == 'h') goto yy393; goto yy56; -yy957: +yy897: yych = *++YYCURSOR; if (yych != '/') goto yy56; yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy56; - if (yych >= '1') goto yy960; + if (yych >= '1') goto yy900; } else { - if (yych <= '3') goto yy961; - if (yych <= '9') goto yy952; + if (yych <= '3') goto yy901; + if (yych <= '9') goto yy892; goto yy56; } - yyaccept = 21; + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy454; - if (yych <= '9') goto yy962; - if (yych <= 'm') goto yy454; - goto yy954; + if (yych <= '/') goto yy394; + if (yych <= '9') goto yy902; + if (yych <= 'm') goto yy394; + goto yy894; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy955; + if (yych <= 'q') goto yy394; + goto yy895; } else { - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; + if (yych <= 's') goto yy893; + if (yych <= 't') goto yy896; + goto yy394; } } -yy960: - yyaccept = 21; +yy900: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy454; - if (yych <= '9') goto yy962; - if (yych <= 'm') goto yy454; - goto yy954; + if (yych <= '/') goto yy394; + if (yych <= '9') goto yy902; + if (yych <= 'm') goto yy394; + goto yy894; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy955; + if (yych <= 'q') goto yy394; + goto yy895; } else { - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; + if (yych <= 's') goto yy893; + if (yych <= 't') goto yy896; + goto yy394; } } -yy961: - yyaccept = 21; +yy901: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy454; - if (yych <= '1') goto yy962; - if (yych <= 'm') goto yy454; - goto yy954; + if (yych <= '/') goto yy394; + if (yych <= '1') goto yy902; + if (yych <= 'm') goto yy394; + goto yy894; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy955; + if (yych <= 'q') goto yy394; + goto yy895; } else { - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; + if (yych <= 's') goto yy893; + if (yych <= 't') goto yy896; + goto yy394; } } -yy962: - yyaccept = 21; +yy902: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych == '/') goto yy453; - if (yych <= 'm') goto yy454; - goto yy954; + if (yych == '/') goto yy393; + if (yych <= 'm') goto yy394; + goto yy894; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy955; + if (yych <= 'q') goto yy394; + goto yy895; } else { - if (yych <= 's') goto yy953; - if (yych <= 't') goto yy956; - goto yy454; + if (yych <= 's') goto yy893; + if (yych <= 't') goto yy896; + goto yy394; } } -yy963: +yy903: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'A') goto yy1043; + if (yych == 'A') goto yy983; if (yych <= 'T') goto yy56; - goto yy1042; + goto yy982; } else { if (yych <= 'a') { if (yych <= '`') goto yy56; - goto yy1043; + goto yy983; } else { - if (yych == 'u') goto yy1042; + if (yych == 'u') goto yy982; goto yy56; } } -yy964: +yy904: yych = *++YYCURSOR; - if (yych == 'E') goto yy1040; - if (yych == 'e') goto yy1040; + if (yych == 'E') goto yy980; + if (yych == 'e') goto yy980; goto yy56; -yy965: +yy905: yych = *++YYCURSOR; - if (yych == 'A') goto yy1037; - if (yych == 'a') goto yy1037; + if (yych == 'A') goto yy977; + if (yych == 'a') goto yy977; goto yy56; -yy966: +yy906: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'P') goto yy1034; + if (yych == 'P') goto yy974; if (yych <= 'T') goto yy56; - goto yy1033; + goto yy973; } else { if (yych <= 'p') { if (yych <= 'o') goto yy56; - goto yy1034; + goto yy974; } else { - if (yych == 'u') goto yy1033; + if (yych == 'u') goto yy973; goto yy56; } } -yy967: +yy907: yych = *++YYCURSOR; - if (yych == 'E') goto yy1030; - if (yych == 'e') goto yy1030; + if (yych == 'E') goto yy970; + if (yych == 'e') goto yy970; goto yy56; -yy968: +yy908: yych = *++YYCURSOR; - if (yych == 'C') goto yy1028; - if (yych == 'c') goto yy1028; + if (yych == 'C') goto yy968; + if (yych == 'c') goto yy968; goto yy56; -yy969: +yy909: yych = *++YYCURSOR; - if (yych == 'O') goto yy1026; - if (yych == 'o') goto yy1026; + if (yych == 'O') goto yy966; + if (yych == 'o') goto yy966; goto yy56; -yy970: +yy910: yych = *++YYCURSOR; - if (yych == 'E') goto yy1024; - if (yych == 'e') goto yy1024; + if (yych == 'E') goto yy964; + if (yych == 'e') goto yy964; goto yy56; -yy971: +yy911: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '0') goto yy810; - if (yych <= '4') goto yy811; - if (yych <= '5') goto yy812; + if (yych <= '0') goto yy750; + if (yych <= '4') goto yy751; + if (yych <= '5') goto yy752; goto yy56; -yy972: - yyaccept = 22; +yy912: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy976; - if (yych <= '/') goto yy973; - if (yych <= '9') goto yy995; -yy973: + if (yych == '-') goto yy916; + if (yych <= '/') goto yy913; + if (yych <= '9') goto yy935; +yy913: #line 1269 "ext/date/lib/parse_date.re" { int length = 0; @@ -13653,639 +12749,639 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 13657 "" -yy974: - yyaccept = 22; +#line 12753 "" +yy914: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy976; - if (yych <= '/') goto yy973; - if (yych <= '2') goto yy995; - goto yy973; -yy975: - yyaccept = 22; + if (yych == '-') goto yy916; + if (yych <= '/') goto yy913; + if (yych <= '2') goto yy935; + goto yy913; +yy915: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych != '-') goto yy973; -yy976: + if (yych != '-') goto yy913; +yy916: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '2') goto yy977; - if (yych <= '3') goto yy978; - if (yych <= '9') goto yy979; + if (yych <= '2') goto yy917; + if (yych <= '3') goto yy918; + if (yych <= '9') goto yy919; goto yy56; -yy977: - yyaccept = 13; +yy917: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { - if (yych <= '/') goto yy656; - goto yy979; + if (yych <= '/') goto yy596; + goto yy919; } else { - if (yych == 'T') goto yy984; - goto yy656; + if (yych == 'T') goto yy924; + goto yy596; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy981; - if (yych <= 'q') goto yy656; - goto yy982; + if (yych <= 'n') goto yy921; + if (yych <= 'q') goto yy596; + goto yy922; } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy656; + if (yych <= 's') goto yy920; + if (yych <= 't') goto yy923; + goto yy596; } } -yy978: - yyaccept = 13; +yy918: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { - if (yych <= '/') goto yy656; + if (yych <= '/') goto yy596; } else { - if (yych == 'T') goto yy984; - goto yy656; + if (yych == 'T') goto yy924; + goto yy596; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy981; - if (yych <= 'q') goto yy656; - goto yy982; + if (yych <= 'n') goto yy921; + if (yych <= 'q') goto yy596; + goto yy922; } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy656; + if (yych <= 's') goto yy920; + if (yych <= 't') goto yy923; + goto yy596; } } -yy979: - yyaccept = 13; +yy919: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych == 'T') goto yy984; - if (yych <= 'm') goto yy656; - goto yy981; + if (yych == 'T') goto yy924; + if (yych <= 'm') goto yy596; + goto yy921; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy982; + if (yych <= 'q') goto yy596; + goto yy922; } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy656; + if (yych <= 's') goto yy920; + if (yych <= 't') goto yy923; + goto yy596; } } -yy980: +yy920: yych = *++YYCURSOR; - if (yych == 't') goto yy994; + if (yych == 't') goto yy934; goto yy56; -yy981: +yy921: yych = *++YYCURSOR; - if (yych == 'd') goto yy994; + if (yych == 'd') goto yy934; goto yy56; -yy982: +yy922: yych = *++YYCURSOR; - if (yych == 'd') goto yy994; + if (yych == 'd') goto yy934; goto yy56; -yy983: +yy923: yych = *++YYCURSOR; - if (yych == 'h') goto yy994; + if (yych == 'h') goto yy934; goto yy56; -yy984: +yy924: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '1') goto yy985; - if (yych <= '2') goto yy986; - if (yych <= '9') goto yy987; + if (yych <= '1') goto yy925; + if (yych <= '2') goto yy926; + if (yych <= '9') goto yy927; goto yy56; -yy985: +yy925: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy987; - if (yych <= ':') goto yy988; + if (yych <= '9') goto yy927; + if (yych <= ':') goto yy928; goto yy56; -yy986: +yy926: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '4') goto yy987; - if (yych == ':') goto yy988; + if (yych <= '4') goto yy927; + if (yych == ':') goto yy928; goto yy56; -yy987: +yy927: yych = *++YYCURSOR; if (yych != ':') goto yy56; -yy988: +yy928: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy989; - if (yych <= '9') goto yy990; + if (yych <= '5') goto yy929; + if (yych <= '9') goto yy930; goto yy56; -yy989: +yy929: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy990; - if (yych <= ':') goto yy991; + if (yych <= '9') goto yy930; + if (yych <= ':') goto yy931; goto yy56; -yy990: +yy930: yych = *++YYCURSOR; if (yych != ':') goto yy56; -yy991: +yy931: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy992; - if (yych <= '6') goto yy993; - if (yych <= '9') goto yy841; + if (yych <= '5') goto yy932; + if (yych <= '6') goto yy933; + if (yych <= '9') goto yy781; goto yy56; -yy992: +yy932: yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '9') goto yy841; - goto yy842; -yy993: + if (yych <= '/') goto yy782; + if (yych <= '9') goto yy781; + goto yy782; +yy933: yych = *++YYCURSOR; - if (yych == '0') goto yy841; - goto yy842; -yy994: - yyaccept = 13; + if (yych == '0') goto yy781; + goto yy782; +yy934: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'T') goto yy984; - goto yy656; -yy995: - yyaccept = 22; + if (yych == 'T') goto yy924; + goto yy596; +yy935: + yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); - if (yych != '-') goto yy973; + if (yych != '-') goto yy913; yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy56; - if (yych >= '1') goto yy998; + if (yych >= '1') goto yy938; } else { - if (yych <= '3') goto yy999; - if (yych <= '9') goto yy979; + if (yych <= '3') goto yy939; + if (yych <= '9') goto yy919; goto yy56; } - yyaccept = 13; + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { - if (yych <= '/') goto yy656; - goto yy1000; + if (yych <= '/') goto yy596; + goto yy940; } else { - if (yych == 'T') goto yy984; - goto yy656; + if (yych == 'T') goto yy924; + goto yy596; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy981; - if (yych <= 'q') goto yy656; - goto yy982; + if (yych <= 'n') goto yy921; + if (yych <= 'q') goto yy596; + goto yy922; } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy656; + if (yych <= 's') goto yy920; + if (yych <= 't') goto yy923; + goto yy596; } } -yy998: - yyaccept = 13; +yy938: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { - if (yych <= '/') goto yy656; - goto yy1000; + if (yych <= '/') goto yy596; + goto yy940; } else { - if (yych == 'T') goto yy984; - goto yy656; + if (yych == 'T') goto yy924; + goto yy596; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy981; - if (yych <= 'q') goto yy656; - goto yy982; + if (yych <= 'n') goto yy921; + if (yych <= 'q') goto yy596; + goto yy922; } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy656; + if (yych <= 's') goto yy920; + if (yych <= 't') goto yy923; + goto yy596; } } -yy999: - yyaccept = 13; +yy939: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { - if (yych <= '/') goto yy656; + if (yych <= '/') goto yy596; } else { - if (yych == 'T') goto yy984; - goto yy656; + if (yych == 'T') goto yy924; + goto yy596; } } else { if (yych <= 'r') { - if (yych <= 'n') goto yy981; - if (yych <= 'q') goto yy656; - goto yy982; + if (yych <= 'n') goto yy921; + if (yych <= 'q') goto yy596; + goto yy922; } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy656; + if (yych <= 's') goto yy920; + if (yych <= 't') goto yy923; + goto yy596; } } -yy1000: - yyaccept = 21; +yy940: + yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych == 'T') goto yy1001; - if (yych <= 'm') goto yy454; - goto yy981; + if (yych == 'T') goto yy941; + if (yych <= 'm') goto yy394; + goto yy921; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy454; - goto yy982; + if (yych <= 'q') goto yy394; + goto yy922; } else { - if (yych <= 's') goto yy980; - if (yych <= 't') goto yy983; - goto yy454; + if (yych <= 's') goto yy920; + if (yych <= 't') goto yy923; + goto yy394; } } -yy1001: +yy941: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1002; - if (yych <= '2') goto yy1003; - if (yych <= '9') goto yy987; + if (yych <= '1') goto yy942; + if (yych <= '2') goto yy943; + if (yych <= '9') goto yy927; goto yy56; -yy1002: +yy942: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1004; - if (yych <= ':') goto yy988; + if (yych <= '9') goto yy944; + if (yych <= ':') goto yy928; goto yy56; -yy1003: +yy943: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '4') goto yy1004; - if (yych == ':') goto yy988; + if (yych <= '4') goto yy944; + if (yych == ':') goto yy928; goto yy56; -yy1004: +yy944: yych = *++YYCURSOR; if (yych != ':') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1006; - if (yych <= '9') goto yy990; + if (yych <= '5') goto yy946; + if (yych <= '9') goto yy930; goto yy56; -yy1006: +yy946: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1007; - if (yych <= ':') goto yy991; + if (yych <= '9') goto yy947; + if (yych <= ':') goto yy931; goto yy56; -yy1007: +yy947: yych = *++YYCURSOR; if (yych != ':') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1009; - if (yych <= '6') goto yy1010; - if (yych <= '9') goto yy841; + if (yych <= '5') goto yy949; + if (yych <= '6') goto yy950; + if (yych <= '9') goto yy781; goto yy56; -yy1009: +yy949: yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '9') goto yy1011; - goto yy842; -yy1010: + if (yych <= '/') goto yy782; + if (yych <= '9') goto yy951; + goto yy782; +yy950: yych = *++YYCURSOR; - if (yych != '0') goto yy842; -yy1011: - yyaccept = 23; + if (yych != '0') goto yy782; +yy951: + yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); - if (yych != '.') goto yy842; + if (yych != '.') goto yy782; yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; -yy1013: - yyaccept = 23; +yy953: + yyaccept = 22; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; if (yych <= '-') { - if (yych == '+') goto yy1016; - if (yych <= ',') goto yy842; - goto yy1016; + if (yych == '+') goto yy956; + if (yych <= ',') goto yy782; + goto yy956; } else { if (yych <= '9') { - if (yych <= '/') goto yy842; - goto yy1013; + if (yych <= '/') goto yy782; + goto yy953; } else { - if (yych != 'G') goto yy842; + if (yych != 'G') goto yy782; } } yych = *++YYCURSOR; - if (yych == 'M') goto yy1022; + if (yych == 'M') goto yy962; goto yy56; -yy1016: +yy956: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1017; - if (yych <= '2') goto yy1018; - if (yych <= '9') goto yy1019; + if (yych <= '1') goto yy957; + if (yych <= '2') goto yy958; + if (yych <= '9') goto yy959; goto yy56; -yy1017: +yy957: yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '9') goto yy1019; - if (yych <= ':') goto yy1020; - goto yy842; -yy1018: + if (yych <= '/') goto yy782; + if (yych <= '9') goto yy959; + if (yych <= ':') goto yy960; + goto yy782; +yy958: yych = *++YYCURSOR; if (yych <= '5') { - if (yych <= '/') goto yy842; - if (yych >= '5') goto yy1021; + if (yych <= '/') goto yy782; + if (yych >= '5') goto yy961; } else { - if (yych <= '9') goto yy841; - if (yych <= ':') goto yy1020; - goto yy842; + if (yych <= '9') goto yy781; + if (yych <= ':') goto yy960; + goto yy782; } -yy1019: +yy959: yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '5') goto yy1021; - if (yych <= '9') goto yy841; - if (yych >= ';') goto yy842; -yy1020: + if (yych <= '/') goto yy782; + if (yych <= '5') goto yy961; + if (yych <= '9') goto yy781; + if (yych >= ';') goto yy782; +yy960: yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '5') goto yy1021; - if (yych <= '9') goto yy841; - goto yy842; -yy1021: + if (yych <= '/') goto yy782; + if (yych <= '5') goto yy961; + if (yych <= '9') goto yy781; + goto yy782; +yy961: yych = *++YYCURSOR; - if (yych <= '/') goto yy842; - if (yych <= '9') goto yy841; - goto yy842; -yy1022: + if (yych <= '/') goto yy782; + if (yych <= '9') goto yy781; + goto yy782; +yy962: yych = *++YYCURSOR; if (yych != 'T') goto yy56; yych = *++YYCURSOR; - if (yych == '+') goto yy1016; - if (yych == '-') goto yy1016; + if (yych == '+') goto yy956; + if (yych == '-') goto yy956; goto yy56; -yy1024: +yy964: yych = *++YYCURSOR; - if (yych == 'C') goto yy1025; + if (yych == 'C') goto yy965; if (yych != 'c') goto yy56; -yy1025: - yyaccept = 20; +yy965: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '-') goto yy766; - goto yy793; + if (yych == '-') goto yy706; + goto yy733; } else { - if (yych <= 'E') goto yy879; - if (yych == 'e') goto yy879; - goto yy793; + if (yych <= 'E') goto yy819; + if (yych == 'e') goto yy819; + goto yy733; } -yy1026: +yy966: yych = *++YYCURSOR; - if (yych == 'V') goto yy1027; + if (yych == 'V') goto yy967; if (yych != 'v') goto yy56; -yy1027: - yyaccept = 20; +yy967: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '-') goto yy766; - goto yy793; + if (yych == '-') goto yy706; + goto yy733; } else { - if (yych <= 'E') goto yy886; - if (yych == 'e') goto yy886; - goto yy793; + if (yych <= 'E') goto yy826; + if (yych == 'e') goto yy826; + goto yy733; } -yy1028: +yy968: yych = *++YYCURSOR; - if (yych == 'T') goto yy1029; + if (yych == 'T') goto yy969; if (yych != 't') goto yy56; -yy1029: - yyaccept = 20; +yy969: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { - if (yych == '-') goto yy766; - goto yy793; + if (yych == '-') goto yy706; + goto yy733; } else { - if (yych <= 'O') goto yy892; - if (yych == 'o') goto yy892; - goto yy793; + if (yych <= 'O') goto yy832; + if (yych == 'o') goto yy832; + goto yy733; } -yy1030: +yy970: yych = *++YYCURSOR; - if (yych == 'P') goto yy1031; + if (yych == 'P') goto yy971; if (yych != 'p') goto yy56; -yy1031: - yyaccept = 20; +yy971: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { - if (yych == '-') goto yy766; - goto yy793; + if (yych == '-') goto yy706; + goto yy733; } else { - if (yych <= 'T') goto yy1032; - if (yych != 't') goto yy793; + if (yych <= 'T') goto yy972; + if (yych != 't') goto yy733; } -yy1032: - yyaccept = 20; +yy972: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '-') goto yy766; - goto yy793; + if (yych == '-') goto yy706; + goto yy733; } else { - if (yych <= 'E') goto yy898; - if (yych == 'e') goto yy898; - goto yy793; + if (yych <= 'E') goto yy838; + if (yych == 'e') goto yy838; + goto yy733; } -yy1033: +yy973: yych = *++YYCURSOR; - if (yych == 'G') goto yy1036; - if (yych == 'g') goto yy1036; + if (yych == 'G') goto yy976; + if (yych == 'g') goto yy976; goto yy56; -yy1034: +yy974: yych = *++YYCURSOR; - if (yych == 'R') goto yy1035; + if (yych == 'R') goto yy975; if (yych != 'r') goto yy56; -yy1035: - yyaccept = 20; +yy975: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { - if (yych == '-') goto yy766; - goto yy793; + if (yych == '-') goto yy706; + goto yy733; } else { - if (yych <= 'I') goto yy905; - if (yych == 'i') goto yy905; - goto yy793; + if (yych <= 'I') goto yy845; + if (yych == 'i') goto yy845; + goto yy733; } -yy1036: - yyaccept = 20; +yy976: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { - if (yych == '-') goto yy766; - goto yy793; + if (yych == '-') goto yy706; + goto yy733; } else { - if (yych <= 'U') goto yy907; - if (yych == 'u') goto yy907; - goto yy793; + if (yych <= 'U') goto yy847; + if (yych == 'u') goto yy847; + goto yy733; } -yy1037: +yy977: yych = *++YYCURSOR; if (yych <= 'Y') { - if (yych == 'R') goto yy1038; + if (yych == 'R') goto yy978; if (yych <= 'X') goto yy56; - goto yy1039; + goto yy979; } else { if (yych <= 'r') { if (yych <= 'q') goto yy56; } else { - if (yych == 'y') goto yy1039; + if (yych == 'y') goto yy979; goto yy56; } } -yy1038: - yyaccept = 20; +yy978: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { - if (yych == '-') goto yy766; - goto yy793; + if (yych == '-') goto yy706; + goto yy733; } else { - if (yych <= 'C') goto yy911; - if (yych == 'c') goto yy911; - goto yy793; + if (yych <= 'C') goto yy851; + if (yych == 'c') goto yy851; + goto yy733; } -yy1039: - yyaccept = 20; +yy979: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '-') goto yy766; - goto yy793; -yy1040: + if (yych == '-') goto yy706; + goto yy733; +yy980: yych = *++YYCURSOR; - if (yych == 'B') goto yy1041; + if (yych == 'B') goto yy981; if (yych != 'b') goto yy56; -yy1041: - yyaccept = 20; +yy981: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { - if (yych == '-') goto yy766; - goto yy793; + if (yych == '-') goto yy706; + goto yy733; } else { - if (yych <= 'R') goto yy914; - if (yych == 'r') goto yy914; - goto yy793; + if (yych <= 'R') goto yy854; + if (yych == 'r') goto yy854; + goto yy733; } -yy1042: +yy982: yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'L') goto yy1046; + if (yych == 'L') goto yy986; if (yych <= 'M') goto yy56; - goto yy1045; + goto yy985; } else { if (yych <= 'l') { if (yych <= 'k') goto yy56; - goto yy1046; + goto yy986; } else { - if (yych == 'n') goto yy1045; + if (yych == 'n') goto yy985; goto yy56; } } -yy1043: +yy983: yych = *++YYCURSOR; - if (yych == 'N') goto yy1044; + if (yych == 'N') goto yy984; if (yych != 'n') goto yy56; -yy1044: - yyaccept = 20; +yy984: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { - if (yych == '-') goto yy766; - goto yy793; + if (yych == '-') goto yy706; + goto yy733; } else { - if (yych <= 'U') goto yy921; - if (yych == 'u') goto yy921; - goto yy793; + if (yych <= 'U') goto yy861; + if (yych == 'u') goto yy861; + goto yy733; } -yy1045: - yyaccept = 20; +yy985: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '-') goto yy766; - goto yy793; + if (yych == '-') goto yy706; + goto yy733; } else { - if (yych <= 'E') goto yy883; - if (yych == 'e') goto yy883; - goto yy793; + if (yych <= 'E') goto yy823; + if (yych == 'e') goto yy823; + goto yy733; } -yy1046: - yyaccept = 20; +yy986: + yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { - if (yych == '-') goto yy766; - goto yy793; + if (yych == '-') goto yy706; + goto yy733; } else { - if (yych <= 'Y') goto yy883; - if (yych == 'y') goto yy883; - goto yy793; + if (yych <= 'Y') goto yy823; + if (yych == 'y') goto yy823; + goto yy733; } -yy1047: +yy987: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= '\t') { - if (yych <= 0x08) goto yy577; - goto yy730; + if (yych <= 0x08) goto yy517; + goto yy670; } else { - if (yych <= ',') goto yy577; - if (yych <= '-') goto yy731; - goto yy730; + if (yych <= ',') goto yy517; + if (yych <= '-') goto yy671; + goto yy670; } } else { if (yych <= 'U') { - if (yych <= '/') goto yy729; - if (yych <= 'T') goto yy577; + if (yych <= '/') goto yy669; + if (yych <= 'T') goto yy517; goto yy77; } else { if (yych == 'u') goto yy77; - goto yy577; + goto yy517; } } -yy1048: +yy988: yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy128; if (yych <= 'O') goto yy56; - goto yy585; + goto yy525; } else { if (yych <= 'c') { if (yych <= 'b') goto yy56; goto yy128; } else { - if (yych == 'p') goto yy585; + if (yych == 'p') goto yy525; goto yy56; } } -yy1049: +yy989: yych = *++YYCURSOR; if (yych <= '9') { if (yych <= ',') { - if (yych == '\t') goto yy1051; - goto yy1053; + if (yych == '\t') goto yy991; + goto yy993; } else { - if (yych <= '-') goto yy1050; - if (yych <= '.') goto yy730; - if (yych <= '/') goto yy729; - goto yy740; + if (yych <= '-') goto yy990; + if (yych <= '.') goto yy670; + if (yych <= '/') goto yy669; + goto yy680; } } else { if (yych <= 'q') { - if (yych == 'n') goto yy469; - goto yy1053; + if (yych == 'n') goto yy409; + goto yy993; } else { - if (yych <= 'r') goto yy470; - if (yych <= 's') goto yy463; - if (yych <= 't') goto yy467; - goto yy1053; + if (yych <= 'r') goto yy410; + if (yych <= 's') goto yy403; + if (yych <= 't') goto yy407; + goto yy993; } } -yy1050: +yy990: yych = *++YYCURSOR; switch (yych) { - case '0': goto yy1054; - case '1': goto yy1055; + case '0': goto yy994; + case '1': goto yy995; case '2': case '3': case '4': @@ -14293,230 +13389,230 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case '6': case '7': case '8': - case '9': goto yy617; + case '9': goto yy557; case 'A': - case 'a': goto yy621; + case 'a': goto yy561; case 'D': - case 'd': goto yy625; + case 'd': goto yy565; case 'F': - case 'f': goto yy619; + case 'f': goto yy559; case 'J': - case 'j': goto yy618; + case 'j': goto yy558; case 'M': - case 'm': goto yy620; + case 'm': goto yy560; case 'N': - case 'n': goto yy624; + case 'n': goto yy564; case 'O': - case 'o': goto yy623; + case 'o': goto yy563; case 'S': - case 's': goto yy622; - default: goto yy577; + case 's': goto yy562; + default: goto yy517; } -yy1051: +yy991: yych = *++YYCURSOR; - if (yych <= '/') goto yy1053; - if (yych <= '0') goto yy735; - if (yych <= '1') goto yy736; - if (yych <= '9') goto yy737; - goto yy1053; -yy1052: + if (yych <= '/') goto yy993; + if (yych <= '0') goto yy675; + if (yych <= '1') goto yy676; + if (yych <= '9') goto yy677; + goto yy993; +yy992: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; -yy1053: +yy993: switch (yych) { case '\t': - case ' ': goto yy1052; + case ' ': goto yy992; case '-': - case '.': goto yy576; + case '.': goto yy516; case 'A': - case 'a': goto yy573; + case 'a': goto yy513; case 'D': - case 'd': goto yy465; + case 'd': goto yy405; case 'F': - case 'f': goto yy466; + case 'f': goto yy406; case 'H': case 'h': goto yy63; - case 'I': goto yy474; + case 'I': goto yy414; case 'J': - case 'j': goto yy478; + case 'j': goto yy418; case 'M': - case 'm': goto yy464; + case 'm': goto yy404; case 'N': - case 'n': goto yy481; + case 'n': goto yy421; case 'O': - case 'o': goto yy480; + case 'o': goto yy420; case 'S': - case 's': goto yy462; + case 's': goto yy402; case 'T': case 't': goto yy68; - case 'V': goto yy476; + case 'V': goto yy416; case 'W': case 'w': goto yy67; - case 'X': goto yy477; + case 'X': goto yy417; case 'Y': case 'y': goto yy66; default: goto yy56; } -yy1054: +yy994: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; - if (yych <= '-') goto yy654; - goto yy601; + if (yych <= '-') goto yy594; + goto yy541; } else { if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1056; + if (yych <= '9') goto yy996; goto yy56; } -yy1055: +yy995: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; - if (yych <= '-') goto yy654; - goto yy601; + if (yych <= '-') goto yy594; + goto yy541; } else { if (yych <= '/') goto yy56; if (yych >= '3') goto yy56; } -yy1056: +yy996: yych = *++YYCURSOR; if (yych <= ',') goto yy56; - if (yych <= '-') goto yy1057; - if (yych <= '.') goto yy601; + if (yych <= '-') goto yy997; + if (yych <= '.') goto yy541; goto yy56; -yy1057: +yy997: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy56; - if (yych >= '1') goto yy1059; + if (yych >= '1') goto yy999; } else { - if (yych <= '3') goto yy1060; - if (yych <= '9') goto yy658; + if (yych <= '3') goto yy1000; + if (yych <= '9') goto yy598; goto yy56; } - yyaccept = 13; + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy1061; - if (yych <= 'm') goto yy656; - goto yy660; + if (yych <= '/') goto yy596; + if (yych <= '9') goto yy1001; + if (yych <= 'm') goto yy596; + goto yy600; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; + if (yych <= 'q') goto yy596; + goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy596; } } -yy1059: - yyaccept = 13; +yy999: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy656; - if (yych <= '9') goto yy1061; - if (yych <= 'm') goto yy656; - goto yy660; + if (yych <= '/') goto yy596; + if (yych <= '9') goto yy1001; + if (yych <= 'm') goto yy596; + goto yy600; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; + if (yych <= 'q') goto yy596; + goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy596; } } -yy1060: - yyaccept = 13; +yy1000: + yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '1') { - if (yych <= '/') goto yy656; + if (yych <= '/') goto yy596; } else { - if (yych <= '9') goto yy603; - if (yych <= 'm') goto yy656; - goto yy660; + if (yych <= '9') goto yy543; + if (yych <= 'm') goto yy596; + goto yy600; } } else { if (yych <= 'r') { - if (yych <= 'q') goto yy656; - goto yy661; + if (yych <= 'q') goto yy596; + goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy656; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy596; } } -yy1061: - yyaccept = 15; +yy1001: + yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { - if (yych <= '/') goto yy763; - if (yych <= '9') goto yy604; - if (yych <= 'm') goto yy763; - goto yy660; + if (yych <= '/') goto yy703; + if (yych <= '9') goto yy544; + if (yych <= 'm') goto yy703; + goto yy600; } else { if (yych <= 'r') { - if (yych <= 'q') goto yy763; - goto yy661; + if (yych <= 'q') goto yy703; + goto yy601; } else { - if (yych <= 's') goto yy659; - if (yych <= 't') goto yy662; - goto yy763; + if (yych <= 's') goto yy599; + if (yych <= 't') goto yy602; + goto yy703; } } -yy1062: +yy1002: yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { - if (yych == '\t') goto yy1051; - if (yych <= ',') goto yy1053; - goto yy1050; + if (yych == '\t') goto yy991; + if (yych <= ',') goto yy993; + goto yy990; } else { - if (yych <= '.') goto yy1063; - if (yych <= '/') goto yy729; - if (yych <= '5') goto yy1065; - goto yy740; + if (yych <= '.') goto yy1003; + if (yych <= '/') goto yy669; + if (yych <= '5') goto yy1005; + goto yy680; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy1064; - if (yych == 'n') goto yy469; - goto yy1053; + if (yych <= ':') goto yy1004; + if (yych == 'n') goto yy409; + goto yy993; } else { - if (yych <= 'r') goto yy470; - if (yych <= 's') goto yy463; - if (yych <= 't') goto yy467; - goto yy1053; + if (yych <= 'r') goto yy410; + if (yych <= 's') goto yy403; + if (yych <= 't') goto yy407; + goto yy993; } } -yy1063: +yy1003: yych = *++YYCURSOR; if (yych <= '1') { - if (yych <= '/') goto yy577; - if (yych <= '0') goto yy1087; - goto yy1088; + if (yych <= '/') goto yy517; + if (yych <= '0') goto yy1027; + goto yy1028; } else { - if (yych <= '5') goto yy1089; - if (yych <= '9') goto yy1090; - goto yy577; + if (yych <= '5') goto yy1029; + if (yych <= '9') goto yy1030; + goto yy517; } -yy1064: +yy1004: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1082; - if (yych <= '9') goto yy1083; + if (yych <= '5') goto yy1022; + if (yych <= '9') goto yy1023; goto yy56; -yy1065: +yy1005: yych = *++YYCURSOR; - if (yych == '-') goto yy784; + if (yych == '-') goto yy724; if (yych <= '/') goto yy60; if (yych >= ':') goto yy60; - yyaccept = 24; + yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\t': @@ -14546,25 +13642,25 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) case 's': case 't': case 'w': - case 'y': goto yy790; - case '-': goto yy787; - case '.': goto yy791; - case '/': goto yy788; - case '0': goto yy1068; - case '1': goto yy1069; - case '2': goto yy1070; - case '3': goto yy1071; + case 'y': goto yy730; + case '-': goto yy727; + case '.': goto yy731; + case '/': goto yy728; + case '0': goto yy1008; + case '1': goto yy1009; + case '2': goto yy1010; + case '3': goto yy1011; case '4': - case '5': goto yy1072; - case '6': goto yy1073; + case '5': goto yy1012; + case '6': goto yy1013; case '7': case '8': case '9': goto yy54; - case ':': goto yy806; - case 'W': goto yy809; - default: goto yy1067; + case ':': goto yy746; + case 'W': goto yy749; + default: goto yy1007; } -yy1067: +yy1007: #line 1161 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("gnunocolon"); @@ -14587,44 +13683,44 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } -#line 14591 "" -yy1068: +#line 13687 "" +yy1008: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '0') goto yy1080; - if (yych <= '9') goto yy1081; + if (yych <= '0') goto yy1020; + if (yych <= '9') goto yy1021; goto yy60; -yy1069: +yy1009: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '2') goto yy1079; - if (yych <= '9') goto yy1078; + if (yych <= '2') goto yy1019; + if (yych <= '9') goto yy1018; goto yy60; -yy1070: +yy1010: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '9') goto yy1078; + if (yych <= '9') goto yy1018; goto yy60; -yy1071: +yy1011: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '5') goto yy1076; - if (yych <= '6') goto yy1077; - if (yych <= '9') goto yy1074; + if (yych <= '5') goto yy1016; + if (yych <= '6') goto yy1017; + if (yych <= '9') goto yy1014; goto yy60; -yy1072: +yy1012: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '9') goto yy1074; + if (yych <= '9') goto yy1014; goto yy60; -yy1073: +yy1013: yych = *++YYCURSOR; if (yych <= '/') goto yy60; - if (yych <= '0') goto yy1074; + if (yych <= '0') goto yy1014; if (yych <= '9') goto yy54; goto yy60; -yy1074: - yyaccept = 25; +yy1014: + yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { goto yy54; @@ -14643,7 +13739,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych == 'H') goto yy60; if (yych >= 'M') goto yy60; } else { - if (yych <= 'R') goto yy1075; + if (yych <= 'R') goto yy1015; if (yych <= 'T') goto yy60; if (yych >= 'W') goto yy60; } @@ -14670,7 +13766,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy1075: +yy1015: #line 1207 "ext/date/lib/parse_date.re" { int tz_not_found; @@ -14690,232 +13786,232 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } -#line 14694 "" -yy1076: - yyaccept = 25; +#line 13790 "" +yy1016: + yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy1075; + if (yych <= 0x1F) goto yy1015; goto yy60; } else { - if (yych <= '/') goto yy1075; - if (yych <= '9') goto yy820; - if (yych <= 'C') goto yy1075; + if (yych <= '/') goto yy1015; + if (yych <= '9') goto yy760; + if (yych <= 'C') goto yy1015; goto yy60; } } else { if (yych <= 'H') { if (yych == 'F') goto yy60; - if (yych <= 'G') goto yy1075; + if (yych <= 'G') goto yy1015; goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy1075; + if (yych <= 'L') goto yy1015; goto yy60; } else { - if (yych <= 'R') goto yy1075; + if (yych <= 'R') goto yy1015; if (yych <= 'T') goto yy60; - goto yy1075; + goto yy1015; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy1075; + if (yych == 'X') goto yy1015; if (yych <= 'Y') goto yy60; - goto yy1075; + goto yy1015; } else { if (yych <= 'e') { if (yych <= 'd') goto yy60; - goto yy1075; + goto yy1015; } else { - if (yych == 'g') goto yy1075; + if (yych == 'g') goto yy1015; goto yy60; } } } else { if (yych <= 't') { if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy1075; + if (yych <= 'r') goto yy1015; goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy1075; + if (yych <= 'v') goto yy1015; goto yy60; } else { if (yych == 'y') goto yy60; - goto yy1075; + goto yy1015; } } } } -yy1077: - yyaccept = 25; +yy1017: + yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy1075; + if (yych <= 0x1F) goto yy1015; goto yy60; } else { if (yych <= '6') { - if (yych <= '/') goto yy1075; - goto yy820; + if (yych <= '/') goto yy1015; + goto yy760; } else { if (yych <= '9') goto yy54; - if (yych <= 'C') goto yy1075; + if (yych <= 'C') goto yy1015; goto yy60; } } } else { if (yych <= 'H') { if (yych == 'F') goto yy60; - if (yych <= 'G') goto yy1075; + if (yych <= 'G') goto yy1015; goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy1075; + if (yych <= 'L') goto yy1015; goto yy60; } else { - if (yych <= 'R') goto yy1075; + if (yych <= 'R') goto yy1015; if (yych <= 'T') goto yy60; - goto yy1075; + goto yy1015; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy1075; + if (yych == 'X') goto yy1015; if (yych <= 'Y') goto yy60; - goto yy1075; + goto yy1015; } else { if (yych <= 'e') { if (yych <= 'd') goto yy60; - goto yy1075; + goto yy1015; } else { - if (yych == 'g') goto yy1075; + if (yych == 'g') goto yy1015; goto yy60; } } } else { if (yych <= 't') { if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy1075; + if (yych <= 'r') goto yy1015; goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy1075; + if (yych <= 'v') goto yy1015; goto yy60; } else { if (yych == 'y') goto yy60; - goto yy1075; + goto yy1015; } } } } -yy1078: - yyaccept = 25; +yy1018: + yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy1075; + if (yych <= 0x1F) goto yy1015; goto yy60; } else { - if (yych <= '/') goto yy1075; - if (yych <= '9') goto yy820; - if (yych <= 'C') goto yy1075; + if (yych <= '/') goto yy1015; + if (yych <= '9') goto yy760; + if (yych <= 'C') goto yy1015; goto yy60; } } else { if (yych <= 'H') { if (yych == 'F') goto yy60; - if (yych <= 'G') goto yy1075; + if (yych <= 'G') goto yy1015; goto yy60; } else { if (yych <= 'M') { - if (yych <= 'L') goto yy1075; + if (yych <= 'L') goto yy1015; goto yy60; } else { - if (yych <= 'R') goto yy1075; + if (yych <= 'R') goto yy1015; if (yych <= 'T') goto yy60; - goto yy1075; + goto yy1015; } } } } else { if (yych <= 'h') { if (yych <= 'c') { - if (yych == 'X') goto yy1075; + if (yych == 'X') goto yy1015; if (yych <= 'Y') goto yy60; - goto yy1075; + goto yy1015; } else { if (yych <= 'e') { if (yych <= 'd') goto yy60; - goto yy1075; + goto yy1015; } else { - if (yych == 'g') goto yy1075; + if (yych == 'g') goto yy1015; goto yy60; } } } else { if (yych <= 't') { if (yych == 'm') goto yy60; - if (yych <= 'r') goto yy1075; + if (yych <= 'r') goto yy1015; goto yy60; } else { if (yych <= 'w') { - if (yych <= 'v') goto yy1075; + if (yych <= 'v') goto yy1015; goto yy60; } else { if (yych == 'y') goto yy60; - goto yy1075; + goto yy1015; } } } } -yy1079: - yyaccept = 25; +yy1019: + yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '9') { if (yych <= ' ') { if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy1075; + if (yych <= 0x1F) goto yy1015; goto yy60; } else { if (yych <= '0') { - if (yych <= '/') goto yy1075; - goto yy844; + if (yych <= '/') goto yy1015; + goto yy784; } else { - if (yych <= '2') goto yy845; - if (yych <= '3') goto yy846; - goto yy820; + if (yych <= '2') goto yy785; + if (yych <= '3') goto yy786; + goto yy760; } } } else { if (yych <= 'G') { if (yych <= 'D') { - if (yych <= 'C') goto yy1075; + if (yych <= 'C') goto yy1015; goto yy60; } else { if (yych == 'F') goto yy60; - goto yy1075; + goto yy1015; } } else { if (yych <= 'L') { if (yych <= 'H') goto yy60; - goto yy1075; + goto yy1015; } else { if (yych <= 'M') goto yy60; - if (yych <= 'R') goto yy1075; + if (yych <= 'R') goto yy1015; goto yy60; } } @@ -14924,73 +14020,73 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy60; - if (yych <= 'X') goto yy1075; + if (yych <= 'X') goto yy1015; goto yy60; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy1075; + if (yych <= 'c') goto yy1015; goto yy60; } else { if (yych == 'f') goto yy60; - goto yy1075; + goto yy1015; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy60; - goto yy1075; + goto yy1015; } else { if (yych <= 'm') goto yy60; - if (yych <= 'r') goto yy1075; + if (yych <= 'r') goto yy1015; goto yy60; } } else { if (yych <= 'w') { - if (yych <= 'v') goto yy1075; + if (yych <= 'v') goto yy1015; goto yy60; } else { if (yych == 'y') goto yy60; - goto yy1075; + goto yy1015; } } } } -yy1080: - yyaccept = 25; +yy1020: + yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '9') { if (yych <= ' ') { if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy1075; + if (yych <= 0x1F) goto yy1015; goto yy60; } else { if (yych <= '0') { - if (yych <= '/') goto yy1075; - goto yy876; + if (yych <= '/') goto yy1015; + goto yy816; } else { - if (yych <= '2') goto yy845; - if (yych <= '3') goto yy846; - goto yy820; + if (yych <= '2') goto yy785; + if (yych <= '3') goto yy786; + goto yy760; } } } else { if (yych <= 'G') { if (yych <= 'D') { - if (yych <= 'C') goto yy1075; + if (yych <= 'C') goto yy1015; goto yy60; } else { if (yych == 'F') goto yy60; - goto yy1075; + goto yy1015; } } else { if (yych <= 'L') { if (yych <= 'H') goto yy60; - goto yy1075; + goto yy1015; } else { if (yych <= 'M') goto yy60; - if (yych <= 'R') goto yy1075; + if (yych <= 'R') goto yy1015; goto yy60; } } @@ -14999,73 +14095,73 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy60; - if (yych <= 'X') goto yy1075; + if (yych <= 'X') goto yy1015; goto yy60; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy1075; + if (yych <= 'c') goto yy1015; goto yy60; } else { if (yych == 'f') goto yy60; - goto yy1075; + goto yy1015; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy60; - goto yy1075; + goto yy1015; } else { if (yych <= 'm') goto yy60; - if (yych <= 'r') goto yy1075; + if (yych <= 'r') goto yy1015; goto yy60; } } else { if (yych <= 'w') { - if (yych <= 'v') goto yy1075; + if (yych <= 'v') goto yy1015; goto yy60; } else { if (yych == 'y') goto yy60; - goto yy1075; + goto yy1015; } } } } -yy1081: - yyaccept = 25; +yy1021: + yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '9') { if (yych <= ' ') { if (yych == '\t') goto yy60; - if (yych <= 0x1F) goto yy1075; + if (yych <= 0x1F) goto yy1015; goto yy60; } else { if (yych <= '0') { - if (yych <= '/') goto yy1075; - goto yy844; + if (yych <= '/') goto yy1015; + goto yy784; } else { - if (yych <= '2') goto yy845; - if (yych <= '3') goto yy846; - goto yy820; + if (yych <= '2') goto yy785; + if (yych <= '3') goto yy786; + goto yy760; } } } else { if (yych <= 'G') { if (yych <= 'D') { - if (yych <= 'C') goto yy1075; + if (yych <= 'C') goto yy1015; goto yy60; } else { if (yych == 'F') goto yy60; - goto yy1075; + goto yy1015; } } else { if (yych <= 'L') { if (yych <= 'H') goto yy60; - goto yy1075; + goto yy1015; } else { if (yych <= 'M') goto yy60; - if (yych <= 'R') goto yy1075; + if (yych <= 'R') goto yy1015; goto yy60; } } @@ -15074,207 +14170,207 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy60; - if (yych <= 'X') goto yy1075; + if (yych <= 'X') goto yy1015; goto yy60; } else { if (yych <= 'd') { - if (yych <= 'c') goto yy1075; + if (yych <= 'c') goto yy1015; goto yy60; } else { if (yych == 'f') goto yy60; - goto yy1075; + goto yy1015; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy60; - goto yy1075; + goto yy1015; } else { if (yych <= 'm') goto yy60; - if (yych <= 'r') goto yy1075; + if (yych <= 'r') goto yy1015; goto yy60; } } else { if (yych <= 'w') { - if (yych <= 'v') goto yy1075; + if (yych <= 'v') goto yy1015; goto yy60; } else { if (yych == 'y') goto yy60; - goto yy1075; + goto yy1015; } } } } -yy1082: - yyaccept = 11; +yy1022: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy1084; - goto yy490; + if (yych == '.') goto yy1024; + goto yy430; } else { - if (yych <= '9') goto yy1083; - if (yych <= ':') goto yy1084; - goto yy490; + if (yych <= '9') goto yy1023; + if (yych <= ':') goto yy1024; + goto yy430; } -yy1083: - yyaccept = 11; +yy1023: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy1084; - if (yych != ':') goto yy490; -yy1084: + if (yych == '.') goto yy1024; + if (yych != ':') goto yy430; +yy1024: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1085; - if (yych <= '6') goto yy1086; - if (yych <= '9') goto yy495; + if (yych <= '5') goto yy1025; + if (yych <= '6') goto yy1026; + if (yych <= '9') goto yy435; goto yy56; -yy1085: - yyaccept = 11; +yy1025: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy495; - goto yy490; -yy1086: - yyaccept = 11; + if (yych == '.') goto yy436; + if (yych <= '/') goto yy430; + if (yych <= '9') goto yy435; + goto yy430; +yy1026: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych == '0') goto yy495; - goto yy490; -yy1087: - yyaccept = 11; + if (yych == '.') goto yy436; + if (yych == '0') goto yy435; + goto yy430; +yy1027: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - goto yy1091; + if (yych <= ',') goto yy430; + if (yych <= '-') goto yy541; + goto yy1031; } else { - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy1090; - if (yych <= ':') goto yy1084; - goto yy490; + if (yych <= '/') goto yy430; + if (yych <= '9') goto yy1030; + if (yych <= ':') goto yy1024; + goto yy430; } -yy1088: - yyaccept = 11; +yy1028: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - if (yych <= '.') goto yy1091; - goto yy490; + if (yych <= ',') goto yy430; + if (yych <= '-') goto yy541; + if (yych <= '.') goto yy1031; + goto yy430; } else { - if (yych <= '2') goto yy1090; - if (yych <= '9') goto yy1083; - if (yych <= ':') goto yy1084; - goto yy490; + if (yych <= '2') goto yy1030; + if (yych <= '9') goto yy1023; + if (yych <= ':') goto yy1024; + goto yy430; } -yy1089: - yyaccept = 11; +yy1029: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; - goto yy1091; + if (yych <= ',') goto yy430; + if (yych <= '-') goto yy541; + goto yy1031; } else { - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy1083; - if (yych <= ':') goto yy1084; - goto yy490; + if (yych <= '/') goto yy430; + if (yych <= '9') goto yy1023; + if (yych <= ':') goto yy1024; + goto yy430; } -yy1090: - yyaccept = 11; +yy1030: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { - if (yych <= ',') goto yy490; - if (yych <= '-') goto yy601; + if (yych <= ',') goto yy430; + if (yych <= '-') goto yy541; } else { - if (yych == ':') goto yy1084; - goto yy490; + if (yych == ':') goto yy1024; + goto yy430; } -yy1091: +yy1031: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '5') goto yy1092; - if (yych <= '6') goto yy1093; - if (yych <= '9') goto yy609; + if (yych <= '5') goto yy1032; + if (yych <= '6') goto yy1033; + if (yych <= '9') goto yy549; goto yy56; -yy1092: - yyaccept = 11; +yy1032: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy1094; - goto yy490; -yy1093: - yyaccept = 11; + if (yych == '.') goto yy436; + if (yych <= '/') goto yy430; + if (yych <= '9') goto yy1034; + goto yy430; +yy1033: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy496; - goto yy490; + if (yych == '.') goto yy436; + goto yy430; } else { - if (yych <= '0') goto yy1094; - if (yych <= '9') goto yy610; - goto yy490; + if (yych <= '0') goto yy1034; + if (yych <= '9') goto yy550; + goto yy430; } -yy1094: - yyaccept = 11; +yy1034: + yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '.') goto yy496; - if (yych <= '/') goto yy490; - if (yych <= '9') goto yy604; - goto yy490; -yy1095: + if (yych == '.') goto yy436; + if (yych <= '/') goto yy430; + if (yych <= '9') goto yy544; + goto yy430; +yy1035: yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { - if (yych == '\t') goto yy459; - if (yych <= ',') goto yy461; - goto yy1050; + if (yych == '\t') goto yy399; + if (yych <= ',') goto yy401; + goto yy990; } else { - if (yych <= '.') goto yy473; - if (yych <= '/') goto yy471; - if (yych <= '5') goto yy1065; - goto yy740; + if (yych <= '.') goto yy413; + if (yych <= '/') goto yy411; + if (yych <= '5') goto yy1005; + goto yy680; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy482; - if (yych == 'n') goto yy469; - goto yy461; + if (yych <= ':') goto yy422; + if (yych == 'n') goto yy409; + goto yy401; } else { - if (yych <= 'r') goto yy470; - if (yych <= 's') goto yy463; - if (yych <= 't') goto yy467; - goto yy461; + if (yych <= 'r') goto yy410; + if (yych <= 's') goto yy403; + if (yych <= 't') goto yy407; + goto yy401; } } -yy1096: +yy1036: yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { - if (yych == '\t') goto yy1051; - if (yych <= ',') goto yy1053; - goto yy1050; + if (yych == '\t') goto yy991; + if (yych <= ',') goto yy993; + goto yy990; } else { - if (yych <= '.') goto yy1063; - if (yych <= '/') goto yy471; - if (yych <= '5') goto yy1065; - goto yy740; + if (yych <= '.') goto yy1003; + if (yych <= '/') goto yy411; + if (yych <= '5') goto yy1005; + goto yy680; } } else { if (yych <= 'q') { - if (yych <= ':') goto yy1064; - if (yych == 'n') goto yy469; - goto yy1053; + if (yych <= ':') goto yy1004; + if (yych == 'n') goto yy409; + goto yy993; } else { - if (yych <= 'r') goto yy470; - if (yych <= 's') goto yy463; - if (yych <= 't') goto yy467; - goto yy1053; + if (yych <= 'r') goto yy410; + if (yych <= 's') goto yy403; + if (yych <= 't') goto yy407; + goto yy993; } } -yy1097: +yy1037: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -15290,12 +14386,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'e') goto yy1098; + if (yych <= 'e') goto yy1038; if (yych <= 'z') goto yy141; goto yy3; } } -yy1098: +yy1038: yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { @@ -15311,12 +14407,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'v') goto yy1099; + if (yych <= 'v') goto yy1039; if (yych <= 'z') goto yy142; goto yy3; } } -yy1099: +yy1039: yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { @@ -15332,12 +14428,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'i') goto yy1100; + if (yych <= 'i') goto yy1040; if (yych <= 'z') goto yy143; goto yy3; } } -yy1100: +yy1040: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { @@ -15353,199 +14449,199 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'o') goto yy1101; + if (yych <= 'o') goto yy1041; if (yych <= 'z') goto yy144; goto yy3; } } -yy1101: +yy1041: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'U') goto yy1102; + if (yych <= 'U') goto yy1042; if (yych != 'u') goto yy3; } -yy1102: +yy1042: yych = *++YYCURSOR; - if (yych == 'S') goto yy1103; + if (yych == 'S') goto yy1043; if (yych != 's') goto yy56; -yy1103: +yy1043: yych = *++YYCURSOR; - if (yych == '\t') goto yy1104; + if (yych == '\t') goto yy1044; if (yych != ' ') goto yy56; -yy1104: +yy1044: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; -yy1105: +yy1045: if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { - if (yych == '\t') goto yy1104; + if (yych == '\t') goto yy1044; if (yych <= 0x1F) goto yy56; - goto yy1104; + goto yy1044; } else { - if (yych == 'D') goto yy1109; + if (yych == 'D') goto yy1049; if (yych <= 'E') goto yy56; - goto yy1110; + goto yy1050; } } else { if (yych <= 'M') { - if (yych == 'H') goto yy1108; + if (yych == 'H') goto yy1048; if (yych <= 'L') goto yy56; - goto yy1107; + goto yy1047; } else { if (yych <= 'S') { if (yych <= 'R') goto yy56; } else { - if (yych <= 'T') goto yy1113; + if (yych <= 'T') goto yy1053; if (yych <= 'V') goto yy56; - goto yy1112; + goto yy1052; } } } } else { if (yych <= 'l') { if (yych <= 'd') { - if (yych == 'Y') goto yy1111; + if (yych == 'Y') goto yy1051; if (yych <= 'c') goto yy56; - goto yy1109; + goto yy1049; } else { if (yych <= 'f') { if (yych <= 'e') goto yy56; - goto yy1110; + goto yy1050; } else { - if (yych == 'h') goto yy1108; + if (yych == 'h') goto yy1048; goto yy56; } } } else { if (yych <= 't') { - if (yych <= 'm') goto yy1107; + if (yych <= 'm') goto yy1047; if (yych <= 'r') goto yy56; - if (yych >= 't') goto yy1113; + if (yych >= 't') goto yy1053; } else { if (yych <= 'w') { if (yych <= 'v') goto yy56; - goto yy1112; + goto yy1052; } else { - if (yych == 'y') goto yy1111; + if (yych == 'y') goto yy1051; goto yy56; } } } } -yy1106: +yy1046: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { - if (yych == 'A') goto yy1178; + if (yych == 'A') goto yy1118; goto yy56; } else { - if (yych <= 'E') goto yy1179; + if (yych <= 'E') goto yy1119; if (yych <= 'T') goto yy56; - goto yy1177; + goto yy1117; } } else { if (yych <= 'd') { - if (yych == 'a') goto yy1178; + if (yych == 'a') goto yy1118; goto yy56; } else { - if (yych <= 'e') goto yy1179; - if (yych == 'u') goto yy1177; + if (yych <= 'e') goto yy1119; + if (yych == 'u') goto yy1117; goto yy56; } } -yy1107: +yy1047: yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'I') goto yy1169; + if (yych == 'I') goto yy1109; if (yych <= 'N') goto yy56; - goto yy1168; + goto yy1108; } else { if (yych <= 'i') { if (yych <= 'h') goto yy56; - goto yy1169; + goto yy1109; } else { - if (yych == 'o') goto yy1168; + if (yych == 'o') goto yy1108; goto yy56; } } -yy1108: +yy1048: yych = *++YYCURSOR; - if (yych == 'O') goto yy1166; - if (yych == 'o') goto yy1166; + if (yych == 'O') goto yy1106; + if (yych == 'o') goto yy1106; goto yy56; -yy1109: +yy1049: yych = *++YYCURSOR; - if (yych == 'A') goto yy1165; - if (yych == 'a') goto yy1165; + if (yych == 'A') goto yy1105; + if (yych == 'a') goto yy1105; goto yy56; -yy1110: +yy1050: yych = *++YYCURSOR; if (yych <= 'R') { - if (yych == 'O') goto yy1150; + if (yych == 'O') goto yy1090; if (yych <= 'Q') goto yy56; - goto yy1149; + goto yy1089; } else { if (yych <= 'o') { if (yych <= 'n') goto yy56; - goto yy1150; + goto yy1090; } else { - if (yych == 'r') goto yy1149; + if (yych == 'r') goto yy1089; goto yy56; } } -yy1111: +yy1051: yych = *++YYCURSOR; - if (yych == 'E') goto yy1146; - if (yych == 'e') goto yy1146; + if (yych == 'E') goto yy1086; + if (yych == 'e') goto yy1086; goto yy56; -yy1112: +yy1052: yych = *++YYCURSOR; - if (yych == 'E') goto yy1132; - if (yych == 'e') goto yy1132; + if (yych == 'E') goto yy1072; + if (yych == 'e') goto yy1072; goto yy56; -yy1113: +yy1053: yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'H') goto yy1114; + if (yych == 'H') goto yy1054; if (yych <= 'T') goto yy56; - goto yy1115; + goto yy1055; } else { if (yych <= 'h') { if (yych <= 'g') goto yy56; } else { - if (yych == 'u') goto yy1115; + if (yych == 'u') goto yy1055; goto yy56; } } -yy1114: +yy1054: yych = *++YYCURSOR; - if (yych == 'U') goto yy1127; - if (yych == 'u') goto yy1127; + if (yych == 'U') goto yy1067; + if (yych == 'u') goto yy1067; goto yy56; -yy1115: +yy1055: yych = *++YYCURSOR; - if (yych == 'E') goto yy1116; + if (yych == 'E') goto yy1056; if (yych != 'e') goto yy56; -yy1116: - yyaccept = 26; +yy1056: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych >= ' ') goto yy1118; + if (yych == '\t') goto yy1058; + if (yych >= ' ') goto yy1058; } else { if (yych <= 'S') { - if (yych >= 'S') goto yy1120; + if (yych >= 'S') goto yy1060; } else { - if (yych == 's') goto yy1120; + if (yych == 's') goto yy1060; } } -yy1117: +yy1057: #line 1603 "ext/date/lib/parse_date.re" { timelib_sll i; @@ -15562,47 +14658,47 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 15566 "" -yy1118: +#line 14662 "" +yy1058: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= ' ') { - if (yych == '\t') goto yy1118; + if (yych == '\t') goto yy1058; if (yych <= 0x1F) goto yy56; - goto yy1118; + goto yy1058; } else { if (yych <= 'O') { if (yych <= 'N') goto yy56; - goto yy1124; + goto yy1064; } else { - if (yych == 'o') goto yy1124; + if (yych == 'o') goto yy1064; goto yy56; } } -yy1120: +yy1060: yych = *++YYCURSOR; - if (yych == 'D') goto yy1121; + if (yych == 'D') goto yy1061; if (yych != 'd') goto yy56; -yy1121: +yy1061: yych = *++YYCURSOR; - if (yych == 'A') goto yy1122; + if (yych == 'A') goto yy1062; if (yych != 'a') goto yy56; -yy1122: +yy1062: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; + if (yych == 'Y') goto yy1063; if (yych != 'y') goto yy56; -yy1123: - yyaccept = 26; +yy1063: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '\t') goto yy1118; - if (yych == ' ') goto yy1118; - goto yy1117; -yy1124: + if (yych == '\t') goto yy1058; + if (yych == ' ') goto yy1058; + goto yy1057; +yy1064: yych = *++YYCURSOR; - if (yych == 'F') goto yy1125; + if (yych == 'F') goto yy1065; if (yych != 'f') goto yy56; -yy1125: +yy1065: ++YYCURSOR; #line 1076 "ext/date/lib/parse_date.re" { @@ -15625,99 +14721,99 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_WEEK_DAY_OF_MONTH; } -#line 15629 "" -yy1127: - yyaccept = 26; +#line 14725 "" +yy1067: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1117; - goto yy1118; + if (yych == '\t') goto yy1058; + if (yych <= 0x1F) goto yy1057; + goto yy1058; } else { if (yych <= 'R') { - if (yych <= 'Q') goto yy1117; + if (yych <= 'Q') goto yy1057; } else { - if (yych != 'r') goto yy1117; + if (yych != 'r') goto yy1057; } } yych = *++YYCURSOR; - if (yych == 'S') goto yy1129; + if (yych == 'S') goto yy1069; if (yych != 's') goto yy56; -yy1129: +yy1069: yych = *++YYCURSOR; - if (yych == 'D') goto yy1130; + if (yych == 'D') goto yy1070; if (yych != 'd') goto yy56; -yy1130: +yy1070: yych = *++YYCURSOR; - if (yych == 'A') goto yy1131; + if (yych == 'A') goto yy1071; if (yych != 'a') goto yy56; -yy1131: +yy1071: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych == 'y') goto yy1123; + if (yych == 'Y') goto yy1063; + if (yych == 'y') goto yy1063; goto yy56; -yy1132: +yy1072: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy56; - if (yych <= 'D') goto yy1134; + if (yych <= 'D') goto yy1074; } else { if (yych <= 'c') goto yy56; - if (yych <= 'd') goto yy1134; + if (yych <= 'd') goto yy1074; if (yych >= 'f') goto yy56; } yych = *++YYCURSOR; - if (yych == 'K') goto yy1140; - if (yych == 'k') goto yy1140; + if (yych == 'K') goto yy1080; + if (yych == 'k') goto yy1080; goto yy56; -yy1134: - yyaccept = 26; +yy1074: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1117; - goto yy1118; + if (yych == '\t') goto yy1058; + if (yych <= 0x1F) goto yy1057; + goto yy1058; } else { if (yych <= 'N') { - if (yych <= 'M') goto yy1117; + if (yych <= 'M') goto yy1057; } else { - if (yych != 'n') goto yy1117; + if (yych != 'n') goto yy1057; } } yych = *++YYCURSOR; - if (yych == 'E') goto yy1136; + if (yych == 'E') goto yy1076; if (yych != 'e') goto yy56; -yy1136: +yy1076: yych = *++YYCURSOR; - if (yych == 'S') goto yy1137; + if (yych == 'S') goto yy1077; if (yych != 's') goto yy56; -yy1137: +yy1077: yych = *++YYCURSOR; - if (yych == 'D') goto yy1138; + if (yych == 'D') goto yy1078; if (yych != 'd') goto yy56; -yy1138: +yy1078: yych = *++YYCURSOR; - if (yych == 'A') goto yy1139; + if (yych == 'A') goto yy1079; if (yych != 'a') goto yy56; -yy1139: +yy1079: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych == 'y') goto yy1123; + if (yych == 'Y') goto yy1063; + if (yych == 'y') goto yy1063; goto yy56; -yy1140: - yyaccept = 27; +yy1080: + yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { - if (yych == 'D') goto yy1143; - if (yych >= 'S') goto yy1142; + if (yych == 'D') goto yy1083; + if (yych >= 'S') goto yy1082; } else { if (yych <= 'd') { - if (yych >= 'd') goto yy1143; + if (yych >= 'd') goto yy1083; } else { - if (yych == 's') goto yy1142; + if (yych == 's') goto yy1082; } } -yy1141: +yy1081: #line 1579 "ext/date/lib/parse_date.re" { timelib_sll i; @@ -15741,294 +14837,294 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 15745 "" -yy1142: +#line 14841 "" +yy1082: yych = *++YYCURSOR; - goto yy1117; -yy1143: + goto yy1057; +yy1083: yych = *++YYCURSOR; - if (yych == 'A') goto yy1144; + if (yych == 'A') goto yy1084; if (yych != 'a') goto yy56; -yy1144: +yy1084: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1145; + if (yych == 'Y') goto yy1085; if (yych != 'y') goto yy56; -yy1145: +yy1085: yych = *++YYCURSOR; - if (yych == 'S') goto yy1142; - if (yych == 's') goto yy1142; - goto yy1117; -yy1146: + if (yych == 'S') goto yy1082; + if (yych == 's') goto yy1082; + goto yy1057; +yy1086: yych = *++YYCURSOR; - if (yych == 'A') goto yy1147; + if (yych == 'A') goto yy1087; if (yych != 'a') goto yy56; -yy1147: +yy1087: yych = *++YYCURSOR; - if (yych == 'R') goto yy1148; + if (yych == 'R') goto yy1088; if (yych != 'r') goto yy56; -yy1148: +yy1088: yych = *++YYCURSOR; - if (yych == 'S') goto yy1142; - if (yych == 's') goto yy1142; - goto yy1117; -yy1149: + if (yych == 'S') goto yy1082; + if (yych == 's') goto yy1082; + goto yy1057; +yy1089: yych = *++YYCURSOR; - if (yych == 'I') goto yy1162; - if (yych == 'i') goto yy1162; + if (yych == 'I') goto yy1102; + if (yych == 'i') goto yy1102; goto yy56; -yy1150: +yy1090: yych = *++YYCURSOR; - if (yych == 'R') goto yy1151; + if (yych == 'R') goto yy1091; if (yych != 'r') goto yy56; -yy1151: +yy1091: yych = *++YYCURSOR; - if (yych == 'T') goto yy1152; + if (yych == 'T') goto yy1092; if (yych != 't') goto yy56; -yy1152: +yy1092: yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'H') goto yy1154; + if (yych == 'H') goto yy1094; if (yych <= 'M') goto yy56; } else { if (yych <= 'h') { if (yych <= 'g') goto yy56; - goto yy1154; + goto yy1094; } else { if (yych != 'n') goto yy56; } } yych = *++YYCURSOR; - if (yych == 'I') goto yy1159; - if (yych == 'i') goto yy1159; + if (yych == 'I') goto yy1099; + if (yych == 'i') goto yy1099; goto yy56; -yy1154: +yy1094: yych = *++YYCURSOR; - if (yych == 'N') goto yy1155; + if (yych == 'N') goto yy1095; if (yych != 'n') goto yy56; -yy1155: +yy1095: yych = *++YYCURSOR; - if (yych == 'I') goto yy1156; + if (yych == 'I') goto yy1096; if (yych != 'i') goto yy56; -yy1156: +yy1096: yych = *++YYCURSOR; - if (yych == 'G') goto yy1157; + if (yych == 'G') goto yy1097; if (yych != 'g') goto yy56; -yy1157: +yy1097: yych = *++YYCURSOR; - if (yych == 'H') goto yy1158; + if (yych == 'H') goto yy1098; if (yych != 'h') goto yy56; -yy1158: +yy1098: yych = *++YYCURSOR; - if (yych == 'T') goto yy1148; - if (yych == 't') goto yy1148; + if (yych == 'T') goto yy1088; + if (yych == 't') goto yy1088; goto yy56; -yy1159: +yy1099: yych = *++YYCURSOR; - if (yych == 'G') goto yy1160; + if (yych == 'G') goto yy1100; if (yych != 'g') goto yy56; -yy1160: +yy1100: yych = *++YYCURSOR; - if (yych == 'H') goto yy1161; + if (yych == 'H') goto yy1101; if (yych != 'h') goto yy56; -yy1161: +yy1101: yych = *++YYCURSOR; - if (yych == 'T') goto yy1148; - if (yych == 't') goto yy1148; + if (yych == 'T') goto yy1088; + if (yych == 't') goto yy1088; goto yy56; -yy1162: - yyaccept = 26; +yy1102: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1117; - goto yy1118; + if (yych == '\t') goto yy1058; + if (yych <= 0x1F) goto yy1057; + goto yy1058; } else { if (yych <= 'D') { - if (yych <= 'C') goto yy1117; + if (yych <= 'C') goto yy1057; } else { - if (yych != 'd') goto yy1117; + if (yych != 'd') goto yy1057; } } yych = *++YYCURSOR; - if (yych == 'A') goto yy1164; + if (yych == 'A') goto yy1104; if (yych != 'a') goto yy56; -yy1164: +yy1104: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych == 'y') goto yy1123; + if (yych == 'Y') goto yy1063; + if (yych == 'y') goto yy1063; goto yy56; -yy1165: +yy1105: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1148; - if (yych == 'y') goto yy1148; + if (yych == 'Y') goto yy1088; + if (yych == 'y') goto yy1088; goto yy56; -yy1166: +yy1106: yych = *++YYCURSOR; - if (yych == 'U') goto yy1167; + if (yych == 'U') goto yy1107; if (yych != 'u') goto yy56; -yy1167: +yy1107: yych = *++YYCURSOR; - if (yych == 'R') goto yy1148; - if (yych == 'r') goto yy1148; + if (yych == 'R') goto yy1088; + if (yych == 'r') goto yy1088; goto yy56; -yy1168: +yy1108: yych = *++YYCURSOR; - if (yych == 'N') goto yy1173; - if (yych == 'n') goto yy1173; + if (yych == 'N') goto yy1113; + if (yych == 'n') goto yy1113; goto yy56; -yy1169: +yy1109: yych = *++YYCURSOR; - if (yych == 'N') goto yy1170; + if (yych == 'N') goto yy1110; if (yych != 'n') goto yy56; -yy1170: - yyaccept = 26; +yy1110: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { - if (yych == 'S') goto yy1142; - if (yych <= 'T') goto yy1117; + if (yych == 'S') goto yy1082; + if (yych <= 'T') goto yy1057; } else { if (yych <= 's') { - if (yych <= 'r') goto yy1117; - goto yy1142; + if (yych <= 'r') goto yy1057; + goto yy1082; } else { - if (yych != 'u') goto yy1117; + if (yych != 'u') goto yy1057; } } yych = *++YYCURSOR; - if (yych == 'T') goto yy1172; + if (yych == 'T') goto yy1112; if (yych != 't') goto yy56; -yy1172: +yy1112: yych = *++YYCURSOR; - if (yych == 'E') goto yy1148; - if (yych == 'e') goto yy1148; + if (yych == 'E') goto yy1088; + if (yych == 'e') goto yy1088; goto yy56; -yy1173: - yyaccept = 26; +yy1113: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= 0x1F) { - if (yych == '\t') goto yy1118; - goto yy1117; + if (yych == '\t') goto yy1058; + goto yy1057; } else { - if (yych <= ' ') goto yy1118; - if (yych <= 'C') goto yy1117; + if (yych <= ' ') goto yy1058; + if (yych <= 'C') goto yy1057; } } else { if (yych <= 'c') { - if (yych == 'T') goto yy1175; - goto yy1117; + if (yych == 'T') goto yy1115; + goto yy1057; } else { - if (yych <= 'd') goto yy1174; - if (yych == 't') goto yy1175; - goto yy1117; + if (yych <= 'd') goto yy1114; + if (yych == 't') goto yy1115; + goto yy1057; } } -yy1174: +yy1114: yych = *++YYCURSOR; - if (yych == 'A') goto yy1176; - if (yych == 'a') goto yy1176; + if (yych == 'A') goto yy1116; + if (yych == 'a') goto yy1116; goto yy56; -yy1175: +yy1115: yych = *++YYCURSOR; - if (yych == 'H') goto yy1148; - if (yych == 'h') goto yy1148; + if (yych == 'H') goto yy1088; + if (yych == 'h') goto yy1088; goto yy56; -yy1176: +yy1116: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych == 'y') goto yy1123; + if (yych == 'Y') goto yy1063; + if (yych == 'y') goto yy1063; goto yy56; -yy1177: +yy1117: yych = *++YYCURSOR; - if (yych == 'N') goto yy1188; - if (yych == 'n') goto yy1188; + if (yych == 'N') goto yy1128; + if (yych == 'n') goto yy1128; goto yy56; -yy1178: +yy1118: yych = *++YYCURSOR; - if (yych == 'T') goto yy1183; - if (yych == 't') goto yy1183; + if (yych == 'T') goto yy1123; + if (yych == 't') goto yy1123; goto yy56; -yy1179: +yy1119: yych = *++YYCURSOR; - if (yych == 'C') goto yy1180; + if (yych == 'C') goto yy1120; if (yych != 'c') goto yy56; -yy1180: - yyaccept = 26; +yy1120: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { - if (yych == 'O') goto yy1181; - if (yych <= 'R') goto yy1117; - goto yy1142; + if (yych == 'O') goto yy1121; + if (yych <= 'R') goto yy1057; + goto yy1082; } else { if (yych <= 'o') { - if (yych <= 'n') goto yy1117; + if (yych <= 'n') goto yy1057; } else { - if (yych == 's') goto yy1142; - goto yy1117; + if (yych == 's') goto yy1082; + goto yy1057; } } -yy1181: +yy1121: yych = *++YYCURSOR; - if (yych == 'N') goto yy1182; + if (yych == 'N') goto yy1122; if (yych != 'n') goto yy56; -yy1182: +yy1122: yych = *++YYCURSOR; - if (yych == 'D') goto yy1148; - if (yych == 'd') goto yy1148; + if (yych == 'D') goto yy1088; + if (yych == 'd') goto yy1088; goto yy56; -yy1183: - yyaccept = 26; +yy1123: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1117; - goto yy1118; + if (yych == '\t') goto yy1058; + if (yych <= 0x1F) goto yy1057; + goto yy1058; } else { if (yych <= 'U') { - if (yych <= 'T') goto yy1117; + if (yych <= 'T') goto yy1057; } else { - if (yych != 'u') goto yy1117; + if (yych != 'u') goto yy1057; } } yych = *++YYCURSOR; - if (yych == 'R') goto yy1185; + if (yych == 'R') goto yy1125; if (yych != 'r') goto yy56; -yy1185: +yy1125: yych = *++YYCURSOR; - if (yych == 'D') goto yy1186; + if (yych == 'D') goto yy1126; if (yych != 'd') goto yy56; -yy1186: +yy1126: yych = *++YYCURSOR; - if (yych == 'A') goto yy1187; + if (yych == 'A') goto yy1127; if (yych != 'a') goto yy56; -yy1187: +yy1127: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych == 'y') goto yy1123; + if (yych == 'Y') goto yy1063; + if (yych == 'y') goto yy1063; goto yy56; -yy1188: - yyaccept = 26; +yy1128: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { - if (yych == '\t') goto yy1118; - if (yych <= 0x1F) goto yy1117; - goto yy1118; + if (yych == '\t') goto yy1058; + if (yych <= 0x1F) goto yy1057; + goto yy1058; } else { if (yych <= 'D') { - if (yych <= 'C') goto yy1117; + if (yych <= 'C') goto yy1057; } else { - if (yych != 'd') goto yy1117; + if (yych != 'd') goto yy1057; } } yych = *++YYCURSOR; - if (yych == 'A') goto yy1190; + if (yych == 'A') goto yy1130; if (yych != 'a') goto yy56; -yy1190: +yy1130: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1123; - if (yych == 'y') goto yy1123; + if (yych == 'Y') goto yy1063; + if (yych == 'y') goto yy1063; goto yy56; -yy1191: +yy1131: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -16043,7 +15139,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1098; + if (yych <= 'E') goto yy1038; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -16052,13 +15148,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'e') goto yy1192; + if (yych <= 'e') goto yy1132; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1192: +yy1132: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { @@ -16073,7 +15169,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'V') goto yy1099; + if (yych <= 'V') goto yy1039; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -16082,13 +15178,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 'v') goto yy1193; + if (yych <= 'v') goto yy1133; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1193: +yy1133: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { @@ -16103,7 +15199,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'I') goto yy1100; + if (yych <= 'I') goto yy1040; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -16112,13 +15208,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'i') goto yy1194; + if (yych <= 'i') goto yy1134; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1194: +yy1134: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -16133,7 +15229,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'O') goto yy1101; + if (yych <= 'O') goto yy1041; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -16142,13 +15238,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'o') goto yy1195; + if (yych <= 'o') goto yy1135; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1195: +yy1135: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -16162,18 +15258,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'U') goto yy1102; + if (yych <= 'U') goto yy1042; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 'u') goto yy1196; + if (yych == 'u') goto yy1136; if (yych <= 'z') goto yy153; goto yy3; } } -yy1196: +yy1136: yych = *++YYCURSOR; - if (yych == 'S') goto yy1103; + if (yych == 'S') goto yy1043; if (yych != 's') goto yy154; yych = *++YYCURSOR; if (yybm[0+yych] & 16) { @@ -16182,9 +15278,9 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy56; - goto yy1104; + goto yy1044; } else { - if (yych == ' ') goto yy1104; + if (yych == ' ') goto yy1044; goto yy56; } } else { @@ -16196,7 +15292,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy56; } } -yy1198: +yy1138: yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { @@ -16205,7 +15301,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy141; - goto yy1212; + goto yy1152; } } else { if (yych <= 'f') { @@ -16213,12 +15309,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'g') goto yy1212; + if (yych <= 'g') goto yy1152; if (yych <= 'z') goto yy141; goto yy3; } } -yy1199: +yy1139: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -16234,12 +15330,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'e') goto yy1200; + if (yych <= 'e') goto yy1140; if (yych <= 'z') goto yy141; goto yy3; } } -yy1200: +yy1140: yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { @@ -16255,12 +15351,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'v') goto yy1201; + if (yych <= 'v') goto yy1141; if (yych <= 'z') goto yy142; goto yy3; } } -yy1201: +yy1141: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -16276,12 +15372,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'e') goto yy1202; + if (yych <= 'e') goto yy1142; if (yych <= 'z') goto yy143; goto yy3; } } -yy1202: +yy1142: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -16297,56 +15393,56 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'n') goto yy1203; + if (yych <= 'n') goto yy1143; if (yych <= 'z') goto yy144; goto yy3; } } -yy1203: +yy1143: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'T') goto yy1204; + if (yych <= 'T') goto yy1144; if (yych != 't') goto yy3; } -yy1204: +yy1144: yych = *++YYCURSOR; - if (yych == 'H') goto yy1205; + if (yych == 'H') goto yy1145; if (yych != 'h') goto yy56; -yy1205: +yy1145: yych = *++YYCURSOR; - if (yych == '\t') goto yy1206; + if (yych == '\t') goto yy1146; if (yych != ' ') goto yy56; -yy1206: +yy1146: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; -yy1207: +yy1147: if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { - if (yych == '\t') goto yy1206; + if (yych == '\t') goto yy1146; if (yych <= 0x1F) goto yy56; - goto yy1206; + goto yy1146; } else { - if (yych == 'D') goto yy1109; + if (yych == 'D') goto yy1049; if (yych <= 'E') goto yy56; - goto yy1110; + goto yy1050; } } else { if (yych <= 'M') { - if (yych == 'H') goto yy1108; + if (yych == 'H') goto yy1048; if (yych <= 'L') goto yy56; - goto yy1107; + goto yy1047; } else { if (yych <= 'S') { if (yych <= 'R') goto yy56; - goto yy1106; + goto yy1046; } else { - if (yych <= 'T') goto yy1113; + if (yych <= 'T') goto yy1053; if (yych <= 'V') goto yy56; } } @@ -16354,66 +15450,66 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= 'l') { if (yych <= 'd') { - if (yych == 'Y') goto yy1111; + if (yych == 'Y') goto yy1051; if (yych <= 'c') goto yy56; - goto yy1109; + goto yy1049; } else { if (yych <= 'f') { if (yych <= 'e') goto yy56; - goto yy1110; + goto yy1050; } else { - if (yych == 'h') goto yy1108; + if (yych == 'h') goto yy1048; goto yy56; } } } else { if (yych <= 't') { - if (yych <= 'm') goto yy1107; + if (yych <= 'm') goto yy1047; if (yych <= 'r') goto yy56; - if (yych <= 's') goto yy1106; - goto yy1113; + if (yych <= 's') goto yy1046; + goto yy1053; } else { if (yych <= 'w') { if (yych <= 'v') goto yy56; } else { - if (yych == 'y') goto yy1111; + if (yych == 'y') goto yy1051; goto yy56; } } } } yych = *++YYCURSOR; - if (yych == 'E') goto yy1209; + if (yych == 'E') goto yy1149; if (yych != 'e') goto yy56; -yy1209: +yy1149: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy56; - if (yych <= 'D') goto yy1134; + if (yych <= 'D') goto yy1074; } else { if (yych <= 'c') goto yy56; - if (yych <= 'd') goto yy1134; + if (yych <= 'd') goto yy1074; if (yych >= 'f') goto yy56; } yych = *++YYCURSOR; - if (yych == 'K') goto yy1211; + if (yych == 'K') goto yy1151; if (yych != 'k') goto yy56; -yy1211: +yy1151: yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == 'D') goto yy1143; + if (yych == 'D') goto yy1083; if (yych <= 'R') goto yy56; - goto yy1142; + goto yy1082; } else { if (yych <= 'd') { if (yych <= 'c') goto yy56; - goto yy1143; + goto yy1083; } else { - if (yych == 's') goto yy1142; + if (yych == 's') goto yy1082; goto yy56; } } -yy1212: +yy1152: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -16429,12 +15525,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'h') goto yy1213; + if (yych <= 'h') goto yy1153; if (yych <= 'z') goto yy142; goto yy3; } } -yy1213: +yy1153: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -16450,46 +15546,46 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 't') goto yy1214; + if (yych <= 't') goto yy1154; if (yych <= 'z') goto yy143; goto yy3; } } -yy1214: +yy1154: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= 0x1F) { - if (yych == '\t') goto yy1206; + if (yych == '\t') goto yy1146; goto yy3; } else { - if (yych <= ' ') goto yy1206; + if (yych <= ' ') goto yy1146; if (yych == ')') goto yy139; goto yy3; } } else { if (yych <= '`') { - if (yych == 'H') goto yy1215; + if (yych == 'H') goto yy1155; if (yych <= 'Z') goto yy144; goto yy3; } else { - if (yych == 'h') goto yy1215; + if (yych == 'h') goto yy1155; if (yych <= 'z') goto yy144; goto yy3; } } -yy1215: +yy1155: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy1206; + if (yych == '\t') goto yy1146; goto yy3; } else { - if (yych <= ' ') goto yy1206; + if (yych <= ' ') goto yy1146; if (yych == ')') goto yy139; goto yy3; } -yy1216: +yy1156: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { @@ -16504,7 +15600,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'G') goto yy1212; + if (yych <= 'G') goto yy1152; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -16513,13 +15609,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'g') goto yy1224; + if (yych <= 'g') goto yy1164; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1217: +yy1157: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -16534,7 +15630,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1200; + if (yych <= 'E') goto yy1140; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -16543,13 +15639,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'e') goto yy1218; + if (yych <= 'e') goto yy1158; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1218: +yy1158: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { @@ -16564,7 +15660,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'V') goto yy1201; + if (yych <= 'V') goto yy1141; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -16573,13 +15669,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 'v') goto yy1219; + if (yych <= 'v') goto yy1159; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1219: +yy1159: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -16594,7 +15690,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1202; + if (yych <= 'E') goto yy1142; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -16603,13 +15699,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'e') goto yy1220; + if (yych <= 'e') goto yy1160; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1220: +yy1160: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -16624,7 +15720,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1203; + if (yych <= 'N') goto yy1143; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -16633,13 +15729,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'n') goto yy1221; + if (yych <= 'n') goto yy1161; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1221: +yy1161: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -16653,20 +15749,20 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'T') goto yy1204; + if (yych <= 'T') goto yy1144; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 't') goto yy1222; + if (yych == 't') goto yy1162; if (yych <= 'z') goto yy153; goto yy3; } } -yy1222: +yy1162: yych = *++YYCURSOR; - if (yych == 'H') goto yy1205; + if (yych == 'H') goto yy1145; if (yych != 'h') goto yy154; -yy1223: +yy1163: yych = *++YYCURSOR; if (yybm[0+yych] & 16) { goto yy153; @@ -16674,9 +15770,9 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy56; - goto yy1206; + goto yy1146; } else { - if (yych == ' ') goto yy1206; + if (yych == ' ') goto yy1146; goto yy56; } } else { @@ -16688,7 +15784,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy56; } } -yy1224: +yy1164: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -16703,7 +15799,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'H') goto yy1213; + if (yych <= 'H') goto yy1153; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -16712,13 +15808,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 'h') goto yy1225; + if (yych <= 'h') goto yy1165; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1225: +yy1165: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -16733,7 +15829,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1214; + if (yych <= 'T') goto yy1154; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -16742,22 +15838,22 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 't') goto yy1226; + if (yych <= 't') goto yy1166; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1226: +yy1166: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; - goto yy1206; + goto yy1146; } else { - if (yych == ' ') goto yy1206; + if (yych == ' ') goto yy1146; goto yy3; } } else { @@ -16775,7 +15871,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy3; goto yy144; } else { - if (yych <= 'H') goto yy1215; + if (yych <= 'H') goto yy1155; if (yych <= 'Z') goto yy144; goto yy3; } @@ -16785,13 +15881,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'h') goto yy1227; + if (yych <= 'h') goto yy1167; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1227: +yy1167: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -16799,10 +15895,10 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } if (yych <= ')') { if (yych <= 0x1F) { - if (yych == '\t') goto yy1206; + if (yych == '\t') goto yy1146; goto yy3; } else { - if (yych <= ' ') goto yy1206; + if (yych <= ' ') goto yy1146; if (yych <= '(') goto yy3; goto yy139; } @@ -16816,7 +15912,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy1228: +yy1168: yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= 'B') { @@ -16825,12 +15921,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy141; } else { if (yych <= 'O') { - if (yych <= 'C') goto yy1244; + if (yych <= 'C') goto yy1184; goto yy141; } else { - if (yych <= 'P') goto yy1246; + if (yych <= 'P') goto yy1186; if (yych <= 'U') goto yy141; - goto yy1245; + goto yy1185; } } } else { @@ -16839,21 +15935,21 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy141; goto yy3; } else { - if (yych == 'c') goto yy1244; + if (yych == 'c') goto yy1184; goto yy141; } } else { if (yych <= 'u') { - if (yych <= 'p') goto yy1246; + if (yych <= 'p') goto yy1186; goto yy141; } else { - if (yych <= 'v') goto yy1245; + if (yych <= 'v') goto yy1185; if (yych <= 'z') goto yy141; goto yy3; } } } -yy1229: +yy1169: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -16862,7 +15958,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy141; - goto yy1239; + goto yy1179; } } else { if (yych <= 's') { @@ -16870,12 +15966,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 't') goto yy1239; + if (yych <= 't') goto yy1179; if (yych <= 'z') goto yy141; goto yy3; } } -yy1230: +yy1170: yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { @@ -16884,7 +15980,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy141; - goto yy1236; + goto yy1176; } } else { if (yych <= 'w') { @@ -16892,12 +15988,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'x') goto yy1236; + if (yych <= 'x') goto yy1176; if (yych <= 'z') goto yy141; goto yy3; } } -yy1231: +yy1171: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -16913,12 +16009,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'n') goto yy1232; + if (yych <= 'n') goto yy1172; if (yych <= 'z') goto yy141; goto yy3; } } -yy1232: +yy1172: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -16934,12 +16030,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy166; goto yy142; } else { - if (yych <= 'd') goto yy1233; + if (yych <= 'd') goto yy1173; if (yych <= 'z') goto yy142; goto yy166; } } -yy1233: +yy1173: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy139; @@ -16949,12 +16045,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy143; goto yy3; } else { - if (yych <= 'a') goto yy1234; + if (yych <= 'a') goto yy1174; if (yych <= 'z') goto yy143; goto yy3; } } -yy1234: +yy1174: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { @@ -16970,16 +16066,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'y') goto yy1235; + if (yych <= 'y') goto yy1175; if (yych <= 'z') goto yy144; goto yy3; } } -yy1235: +yy1175: yych = *++YYCURSOR; if (yych == ')') goto yy139; goto yy166; -yy1236: +yy1176: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -16995,12 +16091,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 't') goto yy1237; + if (yych <= 't') goto yy1177; if (yych <= 'z') goto yy142; goto yy3; } } -yy1237: +yy1177: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -17016,20 +16112,20 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'h') goto yy1238; + if (yych <= 'h') goto yy1178; if (yych <= 'z') goto yy143; goto yy3; } } -yy1238: +yy1178: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; - goto yy1206; + goto yy1146; } else { - if (yych == ' ') goto yy1206; + if (yych == ' ') goto yy1146; goto yy3; } } else { @@ -17043,7 +16139,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy1239: +yy1179: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { @@ -17059,12 +16155,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy166; goto yy142; } else { - if (yych <= 'u') goto yy1240; + if (yych <= 'u') goto yy1180; if (yych <= 'z') goto yy142; goto yy166; } } -yy1240: +yy1180: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -17080,12 +16176,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'r') goto yy1241; + if (yych <= 'r') goto yy1181; if (yych <= 'z') goto yy143; goto yy3; } } -yy1241: +yy1181: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -17101,27 +16197,27 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'd') goto yy1242; + if (yych <= 'd') goto yy1182; if (yych <= 'z') goto yy144; goto yy3; } } -yy1242: +yy1182: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'A') goto yy1243; + if (yych <= 'A') goto yy1183; if (yych != 'a') goto yy3; } -yy1243: +yy1183: yych = *++YYCURSOR; if (yych == 'Y') goto yy172; if (yych == 'y') goto yy172; goto yy56; -yy1244: +yy1184: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { @@ -17130,7 +16226,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy142; - goto yy1255; + goto yy1195; } } else { if (yych <= 'n') { @@ -17138,12 +16234,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'o') goto yy1255; + if (yych <= 'o') goto yy1195; if (yych <= 'z') goto yy142; goto yy3; } } -yy1245: +yy1185: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -17152,7 +16248,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy142; - goto yy1252; + goto yy1192; } } else { if (yych <= 'd') { @@ -17160,12 +16256,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'e') goto yy1252; + if (yych <= 'e') goto yy1192; if (yych <= 'z') goto yy142; goto yy3; } } -yy1246: +yy1186: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -17200,13 +16296,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy142; } else { - if (yych <= 't') goto yy1247; + if (yych <= 't') goto yy1187; if (yych <= 'z') goto yy142; goto yy193; } } } -yy1247: +yy1187: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -17241,13 +16337,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy143; } else { - if (yych <= 'e') goto yy1248; + if (yych <= 'e') goto yy1188; if (yych <= 'z') goto yy143; goto yy193; } } } -yy1248: +yy1188: yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { @@ -17263,31 +16359,31 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'm') goto yy1249; + if (yych <= 'm') goto yy1189; if (yych <= 'z') goto yy144; goto yy3; } } -yy1249: +yy1189: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'B') goto yy1250; + if (yych <= 'B') goto yy1190; if (yych != 'b') goto yy3; } -yy1250: +yy1190: yych = *++YYCURSOR; - if (yych == 'E') goto yy1251; + if (yych == 'E') goto yy1191; if (yych != 'e') goto yy56; -yy1251: +yy1191: yych = *++YYCURSOR; - if (yych == 'R') goto yy205; - if (yych == 'r') goto yy205; + if (yych == 'R') goto yy204; + if (yych == 'r') goto yy204; goto yy56; -yy1252: +yy1192: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -17303,12 +16399,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'n') goto yy1253; + if (yych <= 'n') goto yy1193; if (yych <= 'z') goto yy143; goto yy3; } } -yy1253: +yy1193: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -17324,23 +16420,23 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 't') goto yy1254; + if (yych <= 't') goto yy1194; if (yych <= 'z') goto yy144; goto yy3; } } -yy1254: +yy1194: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'H') goto yy1205; - if (yych == 'h') goto yy1205; + if (yych <= 'H') goto yy1145; + if (yych == 'h') goto yy1145; goto yy3; } -yy1255: +yy1195: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -17356,12 +16452,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'n') goto yy1256; + if (yych <= 'n') goto yy1196; if (yych <= 'z') goto yy143; goto yy3; } } -yy1256: +yy1196: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -17370,7 +16466,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy144; - goto yy1215; + goto yy1155; } } else { if (yych <= 'c') { @@ -17378,12 +16474,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'd') goto yy1215; + if (yych <= 'd') goto yy1155; if (yych <= 'z') goto yy144; goto yy3; } } -yy1257: +yy1197: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { @@ -17399,16 +16495,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'C') { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy141; - goto yy1244; + goto yy1184; } else { - if (yych == 'P') goto yy1246; + if (yych == 'P') goto yy1186; goto yy141; } } } else { if (yych <= 'b') { if (yych <= '^') { - if (yych <= 'V') goto yy1245; + if (yych <= 'V') goto yy1185; if (yych <= 'Z') goto yy141; goto yy3; } else { @@ -17418,17 +16514,17 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= 'p') { - if (yych <= 'c') goto yy1273; + if (yych <= 'c') goto yy1213; if (yych <= 'o') goto yy146; - goto yy1275; + goto yy1215; } else { - if (yych == 'v') goto yy1274; + if (yych == 'v') goto yy1214; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1258: +yy1198: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -17443,7 +16539,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1239; + if (yych <= 'T') goto yy1179; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -17452,13 +16548,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 't') goto yy1268; + if (yych <= 't') goto yy1208; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1259: +yy1199: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -17473,7 +16569,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'X') goto yy1236; + if (yych <= 'X') goto yy1176; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -17482,13 +16578,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'x') goto yy1265; + if (yych <= 'x') goto yy1205; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1260: +yy1200: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -17503,7 +16599,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1232; + if (yych <= 'N') goto yy1172; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -17512,13 +16608,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'n') goto yy1261; + if (yych <= 'n') goto yy1201; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1261: +yy1201: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -17533,7 +16629,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1233; + if (yych <= 'D') goto yy1173; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy166; goto yy147; @@ -17542,13 +16638,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy166; goto yy150; } else { - if (yych <= 'd') goto yy1262; + if (yych <= 'd') goto yy1202; if (yych <= 'z') goto yy150; goto yy166; } } } -yy1262: +yy1202: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -17562,18 +16658,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1234; + if (yych <= 'A') goto yy1174; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1263; + if (yych <= 'a') goto yy1203; if (yych <= 'z') goto yy151; goto yy3; } } -yy1263: +yy1203: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -17588,7 +16684,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'Y') goto yy1235; + if (yych <= 'Y') goto yy1175; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -17597,13 +16693,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'y') goto yy1264; + if (yych <= 'y') goto yy1204; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1264: +yy1204: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { @@ -17622,7 +16718,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy166; } } -yy1265: +yy1205: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -17637,7 +16733,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1237; + if (yych <= 'T') goto yy1177; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -17646,13 +16742,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 't') goto yy1266; + if (yych <= 't') goto yy1206; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1266: +yy1206: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -17667,7 +16763,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'H') goto yy1238; + if (yych <= 'H') goto yy1178; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -17676,20 +16772,20 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'h') goto yy1267; + if (yych <= 'h') goto yy1207; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1267: +yy1207: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { - if (yych == '\t') goto yy1206; + if (yych == '\t') goto yy1146; if (yych <= 0x1F) goto yy3; - goto yy1206; + goto yy1146; } else { if (yych == ')') goto yy139; if (yych <= ',') goto yy3; @@ -17711,7 +16807,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy1268: +yy1208: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -17726,7 +16822,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'U') goto yy1240; + if (yych <= 'U') goto yy1180; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy166; goto yy147; @@ -17735,13 +16831,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy166; goto yy150; } else { - if (yych <= 'u') goto yy1269; + if (yych <= 'u') goto yy1209; if (yych <= 'z') goto yy150; goto yy166; } } } -yy1269: +yy1209: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -17756,7 +16852,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'R') goto yy1241; + if (yych <= 'R') goto yy1181; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -17765,13 +16861,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'r') goto yy1270; + if (yych <= 'r') goto yy1210; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1270: +yy1210: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -17786,7 +16882,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1242; + if (yych <= 'D') goto yy1182; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -17795,13 +16891,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'd') goto yy1271; + if (yych <= 'd') goto yy1211; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1271: +yy1211: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -17815,22 +16911,22 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1243; + if (yych <= 'A') goto yy1183; if (yych <= '^') goto yy3; goto yy147; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1272; + if (yych <= 'a') goto yy1212; if (yych <= 'z') goto yy153; goto yy3; } } -yy1272: +yy1212: yych = *++YYCURSOR; if (yych == 'Y') goto yy172; if (yych == 'y') goto yy185; goto yy154; -yy1273: +yy1213: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -17845,7 +16941,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'O') goto yy1255; + if (yych <= 'O') goto yy1195; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -17854,13 +16950,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 'o') goto yy1284; + if (yych <= 'o') goto yy1224; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1274: +yy1214: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -17875,7 +16971,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1252; + if (yych <= 'E') goto yy1192; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -17884,13 +16980,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 'e') goto yy1281; + if (yych <= 'e') goto yy1221; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1275: +yy1215: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -17906,7 +17002,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '-') { if (yych <= ')') goto yy139; if (yych <= ',') goto yy193; - goto yy371; + goto yy311; } else { if (yych == '/') goto yy147; goto yy195; @@ -17918,7 +17014,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy193; goto yy142; } else { - if (yych <= 'T') goto yy1247; + if (yych <= 'T') goto yy1187; if (yych <= 'Z') goto yy142; goto yy193; } @@ -17928,13 +17024,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy150; } else { - if (yych <= 't') goto yy1276; + if (yych <= 't') goto yy1216; if (yych <= 'z') goto yy150; goto yy193; } } } -yy1276: +yy1216: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -17950,7 +17046,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '-') { if (yych <= ')') goto yy139; if (yych <= ',') goto yy193; - goto yy371; + goto yy311; } else { if (yych == '/') goto yy147; goto yy195; @@ -17962,7 +17058,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy193; goto yy143; } else { - if (yych <= 'E') goto yy1248; + if (yych <= 'E') goto yy1188; if (yych <= 'Z') goto yy143; goto yy193; } @@ -17972,13 +17068,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy151; } else { - if (yych <= 'e') goto yy1277; + if (yych <= 'e') goto yy1217; if (yych <= 'z') goto yy151; goto yy193; } } } -yy1277: +yy1217: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { @@ -17993,7 +17089,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'M') goto yy1249; + if (yych <= 'M') goto yy1189; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -18002,13 +17098,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'm') goto yy1278; + if (yych <= 'm') goto yy1218; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1278: +yy1218: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { @@ -18022,24 +17118,24 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'B') goto yy1250; + if (yych <= 'B') goto yy1190; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 'b') goto yy1279; + if (yych == 'b') goto yy1219; if (yych <= 'z') goto yy153; goto yy3; } } -yy1279: +yy1219: yych = *++YYCURSOR; - if (yych == 'E') goto yy1251; + if (yych == 'E') goto yy1191; if (yych != 'e') goto yy154; yych = *++YYCURSOR; - if (yych == 'R') goto yy205; - if (yych == 'r') goto yy376; + if (yych == 'R') goto yy204; + if (yych == 'r') goto yy316; goto yy154; -yy1281: +yy1221: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -18054,7 +17150,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1253; + if (yych <= 'N') goto yy1193; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -18063,13 +17159,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'n') goto yy1282; + if (yych <= 'n') goto yy1222; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1282: +yy1222: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -18084,7 +17180,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1254; + if (yych <= 'T') goto yy1194; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -18093,13 +17189,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 't') goto yy1283; + if (yych <= 't') goto yy1223; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1283: +yy1223: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -18113,16 +17209,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'H') goto yy1205; + if (yych <= 'H') goto yy1145; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 'h') goto yy1223; + if (yych == 'h') goto yy1163; if (yych <= 'z') goto yy153; goto yy3; } } -yy1284: +yy1224: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -18137,7 +17233,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1256; + if (yych <= 'N') goto yy1196; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -18146,13 +17242,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'n') goto yy1285; + if (yych <= 'n') goto yy1225; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1285: +yy1225: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -18167,7 +17263,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1215; + if (yych <= 'D') goto yy1155; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -18176,13 +17272,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'd') goto yy1227; + if (yych <= 'd') goto yy1167; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1286: +yy1226: yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { @@ -18198,12 +17294,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'c') goto yy1287; + if (yych <= 'c') goto yy1227; if (yych <= 'z') goto yy141; goto yy3; } } -yy1287: +yy1227: yych = *++YYCURSOR; if (yych <= 'K') { if (yych <= ')') { @@ -18219,16 +17315,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'k') goto yy1288; + if (yych <= 'k') goto yy1228; if (yych <= 'z') goto yy142; goto yy3; } } -yy1288: +yy1228: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { - if (yych == ' ') goto yy1289; + if (yych == ' ') goto yy1229; if (yych <= '(') goto yy3; goto yy139; } else { @@ -18241,30 +17337,30 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy1289: +yy1229: yych = *++YYCURSOR; - if (yych == 'O') goto yy1290; + if (yych == 'O') goto yy1230; if (yych != 'o') goto yy56; -yy1290: +yy1230: yych = *++YYCURSOR; - if (yych == 'F') goto yy1291; + if (yych == 'F') goto yy1231; if (yych != 'f') goto yy56; -yy1291: +yy1231: yych = *++YYCURSOR; if (yych != ' ') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1293; - if (yych <= '2') goto yy1295; - if (yych <= '9') goto yy1296; + if (yych <= '1') goto yy1233; + if (yych <= '2') goto yy1235; + if (yych <= '9') goto yy1236; goto yy56; -yy1293: - yyaccept = 28; +yy1233: + yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1297; - if (yych <= '9') goto yy1296; - goto yy1297; -yy1294: + if (yych <= '/') goto yy1237; + if (yych <= '9') goto yy1236; + goto yy1237; +yy1234: #line 1053 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("backof | frontof"); @@ -18287,67 +17383,67 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 18291 "" -yy1295: - yyaccept = 28; +#line 17387 "" +yy1235: + yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1297; - if (yych >= '5') goto yy1297; -yy1296: - yyaccept = 28; + if (yych <= '/') goto yy1237; + if (yych >= '5') goto yy1237; +yy1236: + yyaccept = 27; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; -yy1297: +yy1237: if (yych <= 'A') { if (yych <= 0x1F) { - if (yych == '\t') goto yy1296; - goto yy1294; + if (yych == '\t') goto yy1236; + goto yy1234; } else { - if (yych <= ' ') goto yy1296; - if (yych <= '@') goto yy1294; + if (yych <= ' ') goto yy1236; + if (yych <= '@') goto yy1234; } } else { if (yych <= '`') { - if (yych != 'P') goto yy1294; + if (yych != 'P') goto yy1234; } else { - if (yych <= 'a') goto yy1298; - if (yych != 'p') goto yy1294; + if (yych <= 'a') goto yy1238; + if (yych != 'p') goto yy1234; } } -yy1298: +yy1238: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy56; } else { - if (yych <= 'M') goto yy1300; - if (yych == 'm') goto yy1300; + if (yych <= 'M') goto yy1240; + if (yych == 'm') goto yy1240; goto yy56; } yych = *++YYCURSOR; - if (yych == 'M') goto yy1300; + if (yych == 'M') goto yy1240; if (yych != 'm') goto yy56; -yy1300: +yy1240: yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1302; - if (yych == '\t') goto yy1302; + if (yych <= 0x00) goto yy1242; + if (yych == '\t') goto yy1242; goto yy56; } else { - if (yych <= ' ') goto yy1302; + if (yych <= ' ') goto yy1242; if (yych != '.') goto yy56; } yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy1302; + if (yych <= 0x00) goto yy1242; if (yych <= 0x08) goto yy56; } else { if (yych != ' ') goto yy56; } -yy1302: +yy1242: yych = *++YYCURSOR; - goto yy1294; -yy1303: + goto yy1234; +yy1243: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { @@ -18362,7 +17458,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'C') goto yy1287; + if (yych <= 'C') goto yy1227; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -18371,13 +17467,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'c') goto yy1304; + if (yych <= 'c') goto yy1244; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1304: +yy1244: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'J') { @@ -18392,7 +17488,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'K') goto yy1288; + if (yych <= 'K') goto yy1228; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -18401,18 +17497,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 'k') goto yy1305; + if (yych <= 'k') goto yy1245; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1305: +yy1245: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= '(') { - if (yych == ' ') goto yy1289; + if (yych == ' ') goto yy1229; goto yy3; } else { if (yych <= ')') goto yy139; @@ -18432,7 +17528,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy1306: +yy1246: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -18448,12 +17544,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 's') goto yy1307; + if (yych <= 's') goto yy1247; if (yych <= 'z') goto yy141; goto yy3; } } -yy1307: +yy1247: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -18469,18 +17565,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 't') goto yy1308; + if (yych <= 't') goto yy1248; if (yych <= 'z') goto yy142; goto yy3; } } -yy1308: +yy1248: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; - goto yy1104; + goto yy1044; } else { if (yych != ' ') goto yy3; } @@ -18495,36 +17591,36 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy1309: +yy1249: yych = *++YYCURSOR; - if (yych == 'D') goto yy1310; - if (yych != 'd') goto yy1105; -yy1310: + if (yych == 'D') goto yy1250; + if (yych != 'd') goto yy1045; +yy1250: yych = *++YYCURSOR; - if (yych == 'A') goto yy1311; + if (yych == 'A') goto yy1251; if (yych != 'a') goto yy56; -yy1311: +yy1251: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1312; + if (yych == 'Y') goto yy1252; if (yych != 'y') goto yy56; -yy1312: - yyaccept = 26; +yy1252: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { - if (yych != ' ') goto yy1117; + if (yych != ' ') goto yy1057; } else { - if (yych <= 'S') goto yy1142; - if (yych == 's') goto yy1142; - goto yy1117; + if (yych <= 'S') goto yy1082; + if (yych == 's') goto yy1082; + goto yy1057; } yych = *++YYCURSOR; - if (yych == 'O') goto yy1314; + if (yych == 'O') goto yy1254; if (yych != 'o') goto yy56; -yy1314: +yy1254: yych = *++YYCURSOR; - if (yych == 'F') goto yy1315; + if (yych == 'F') goto yy1255; if (yych != 'f') goto yy56; -yy1315: +yy1255: ++YYCURSOR; #line 1036 "ext/date/lib/parse_date.re" { @@ -18542,8 +17638,8 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 18546 "" -yy1317: +#line 17642 "" +yy1257: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -18558,7 +17654,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'S') goto yy1307; + if (yych <= 'S') goto yy1247; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -18567,13 +17663,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 's') goto yy1318; + if (yych <= 's') goto yy1258; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1318: +yy1258: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -18588,7 +17684,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1308; + if (yych <= 'T') goto yy1248; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -18597,20 +17693,20 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 't') goto yy1319; + if (yych <= 't') goto yy1259; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1319: +yy1259: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { - if (yych == '\t') goto yy1104; + if (yych == '\t') goto yy1044; if (yych <= 0x1F) goto yy3; - goto yy1309; + goto yy1249; } else { if (yych == ')') goto yy139; if (yych <= ',') goto yy3; @@ -18632,7 +17728,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy1320: +yy1260: yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { @@ -18641,7 +17737,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy141; - goto yy1356; + goto yy1296; } } else { if (yych <= 'a') { @@ -18649,35 +17745,35 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'b') goto yy1356; + if (yych <= 'b') goto yy1296; if (yych <= 'z') goto yy141; goto yy3; } } -yy1321: +yy1261: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= '@') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych == 'F') goto yy1346; + if (yych == 'F') goto yy1286; if (yych <= 'Q') goto yy141; - goto yy1345; + goto yy1285; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; if (yych <= 'e') goto yy141; - goto yy1346; + goto yy1286; } else { - if (yych == 'r') goto yy1345; + if (yych == 'r') goto yy1285; if (yych <= 'z') goto yy141; goto yy3; } } -yy1322: +yy1262: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { @@ -18686,7 +17782,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'T') goto yy141; - goto yy1342; + goto yy1282; } } else { if (yych <= 't') { @@ -18694,19 +17790,19 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'u') goto yy1342; + if (yych <= 'u') goto yy1282; if (yych <= 'z') goto yy141; goto yy3; } } -yy1323: +yy1263: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= '@') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych == 'I') goto yy1325; + if (yych == 'I') goto yy1265; if (yych <= 'N') goto yy141; } } else { @@ -18714,14 +17810,14 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy141; - goto yy1325; + goto yy1265; } else { - if (yych == 'o') goto yy1324; + if (yych == 'o') goto yy1264; if (yych <= 'z') goto yy141; goto yy3; } } -yy1324: +yy1264: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -18730,7 +17826,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy142; - goto yy1328; + goto yy1268; } } else { if (yych <= 'm') { @@ -18738,12 +17834,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'n') goto yy1328; + if (yych <= 'n') goto yy1268; if (yych <= 'z') goto yy142; goto yy3; } } -yy1325: +yy1265: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -18759,12 +17855,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy166; goto yy142; } else { - if (yych <= 'd') goto yy1326; + if (yych <= 'd') goto yy1266; if (yych <= 'z') goto yy142; goto yy166; } } -yy1326: +yy1266: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy139; @@ -18774,12 +17870,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy143; goto yy3; } else { - if (yych <= 'a') goto yy1327; + if (yych <= 'a') goto yy1267; if (yych <= 'z') goto yy143; goto yy3; } } -yy1327: +yy1267: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { @@ -18788,7 +17884,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'X') goto yy144; - goto yy1235; + goto yy1175; } } else { if (yych <= 'x') { @@ -18796,12 +17892,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'y') goto yy1235; + if (yych <= 'y') goto yy1175; if (yych <= 'z') goto yy144; goto yy3; } } -yy1328: +yy1268: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -18817,16 +17913,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 't') goto yy1329; + if (yych <= 't') goto yy1269; if (yych <= 'z') goto yy143; goto yy3; } } -yy1329: +yy1269: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { - if (yych == ' ') goto yy1330; + if (yych == ' ') goto yy1270; if (yych <= '(') goto yy3; goto yy139; } else { @@ -18839,88 +17935,88 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy1330: +yy1270: yych = *++YYCURSOR; - if (yych == 'O') goto yy1331; + if (yych == 'O') goto yy1271; if (yych != 'o') goto yy56; -yy1331: +yy1271: yych = *++YYCURSOR; - if (yych == 'F') goto yy1332; + if (yych == 'F') goto yy1272; if (yych != 'f') goto yy56; -yy1332: +yy1272: yych = *++YYCURSOR; if (yych != ' ') goto yy56; yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '1') goto yy1334; - if (yych <= '2') goto yy1335; - if (yych <= '9') goto yy1336; + if (yych <= '1') goto yy1274; + if (yych <= '2') goto yy1275; + if (yych <= '9') goto yy1276; goto yy56; -yy1334: - yyaccept = 28; +yy1274: + yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1337; - if (yych <= '9') goto yy1336; - goto yy1337; -yy1335: - yyaccept = 28; + if (yych <= '/') goto yy1277; + if (yych <= '9') goto yy1276; + goto yy1277; +yy1275: + yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1337; - if (yych >= '5') goto yy1337; -yy1336: - yyaccept = 28; + if (yych <= '/') goto yy1277; + if (yych >= '5') goto yy1277; +yy1276: + yyaccept = 27; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; -yy1337: +yy1277: if (yych <= 'A') { if (yych <= 0x1F) { - if (yych == '\t') goto yy1336; - goto yy1294; + if (yych == '\t') goto yy1276; + goto yy1234; } else { - if (yych <= ' ') goto yy1336; - if (yych <= '@') goto yy1294; + if (yych <= ' ') goto yy1276; + if (yych <= '@') goto yy1234; } } else { if (yych <= '`') { - if (yych != 'P') goto yy1294; + if (yych != 'P') goto yy1234; } else { - if (yych <= 'a') goto yy1338; - if (yych != 'p') goto yy1294; + if (yych <= 'a') goto yy1278; + if (yych != 'p') goto yy1234; } } -yy1338: +yy1278: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy56; } else { - if (yych <= 'M') goto yy1340; - if (yych == 'm') goto yy1340; + if (yych <= 'M') goto yy1280; + if (yych == 'm') goto yy1280; goto yy56; } yych = *++YYCURSOR; - if (yych == 'M') goto yy1340; + if (yych == 'M') goto yy1280; if (yych != 'm') goto yy56; -yy1340: +yy1280: yych = *++YYCURSOR; if (yych <= 0x1F) { - if (yych <= 0x00) goto yy1302; - if (yych == '\t') goto yy1302; + if (yych <= 0x00) goto yy1242; + if (yych == '\t') goto yy1242; goto yy56; } else { - if (yych <= ' ') goto yy1302; + if (yych <= ' ') goto yy1242; if (yych != '.') goto yy56; } yych = *++YYCURSOR; if (yych <= '\t') { - if (yych <= 0x00) goto yy1302; + if (yych <= 0x00) goto yy1242; if (yych <= 0x08) goto yy56; - goto yy1302; + goto yy1242; } else { - if (yych == ' ') goto yy1302; + if (yych == ' ') goto yy1242; goto yy56; } -yy1342: +yy1282: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -18936,12 +18032,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'r') goto yy1343; + if (yych <= 'r') goto yy1283; if (yych <= 'z') goto yy142; goto yy3; } } -yy1343: +yy1283: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -18957,12 +18053,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 't') goto yy1344; + if (yych <= 't') goto yy1284; if (yych <= 'z') goto yy143; goto yy3; } } -yy1344: +yy1284: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -18971,7 +18067,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy144; - goto yy1215; + goto yy1155; } } else { if (yych <= 'g') { @@ -18979,12 +18075,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'h') goto yy1215; + if (yych <= 'h') goto yy1155; if (yych <= 'z') goto yy144; goto yy3; } } -yy1345: +yy1285: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -18993,7 +18089,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy142; - goto yy1348; + goto yy1288; } } else { if (yych <= 'r') { @@ -19001,12 +18097,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 's') goto yy1348; + if (yych <= 's') goto yy1288; if (yych <= 'z') goto yy142; goto yy3; } } -yy1346: +yy1286: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -19022,12 +18118,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 't') goto yy1347; + if (yych <= 't') goto yy1287; if (yych <= 'z') goto yy142; goto yy3; } } -yy1347: +yy1287: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -19036,7 +18132,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy143; - goto yy1238; + goto yy1178; } } else { if (yych <= 'g') { @@ -19044,12 +18140,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'h') goto yy1238; + if (yych <= 'h') goto yy1178; if (yych <= 'z') goto yy143; goto yy3; } } -yy1348: +yy1288: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -19065,18 +18161,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 't') goto yy1349; + if (yych <= 't') goto yy1289; if (yych <= 'z') goto yy143; goto yy3; } } -yy1349: +yy1289: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; - goto yy1206; + goto yy1146; } else { if (yych != ' ') goto yy3; } @@ -19091,37 +18187,37 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy1350: +yy1290: yych = *++YYCURSOR; - if (yych == 'D') goto yy1351; - if (yych != 'd') goto yy1207; -yy1351: + if (yych == 'D') goto yy1291; + if (yych != 'd') goto yy1147; +yy1291: yych = *++YYCURSOR; - if (yych == 'A') goto yy1352; + if (yych == 'A') goto yy1292; if (yych != 'a') goto yy56; -yy1352: +yy1292: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1353; + if (yych == 'Y') goto yy1293; if (yych != 'y') goto yy56; -yy1353: - yyaccept = 26; +yy1293: + yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { - if (yych != ' ') goto yy1117; + if (yych != ' ') goto yy1057; } else { - if (yych <= 'S') goto yy1142; - if (yych == 's') goto yy1142; - goto yy1117; + if (yych <= 'S') goto yy1082; + if (yych == 's') goto yy1082; + goto yy1057; } yych = *++YYCURSOR; - if (yych == 'O') goto yy1355; + if (yych == 'O') goto yy1295; if (yych != 'o') goto yy56; -yy1355: +yy1295: yych = *++YYCURSOR; - if (yych == 'F') goto yy1315; - if (yych == 'f') goto yy1315; + if (yych == 'F') goto yy1255; + if (yych == 'f') goto yy1255; goto yy56; -yy1356: +yy1296: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -19156,13 +18252,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy142; } else { - if (yych <= 'r') goto yy1357; + if (yych <= 'r') goto yy1297; if (yych <= 'z') goto yy142; goto yy193; } } } -yy1357: +yy1297: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { @@ -19178,12 +18274,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'u') goto yy1358; + if (yych <= 'u') goto yy1298; if (yych <= 'z') goto yy143; goto yy3; } } -yy1358: +yy1298: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy139; @@ -19193,27 +18289,27 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy144; goto yy3; } else { - if (yych <= 'a') goto yy1359; + if (yych <= 'a') goto yy1299; if (yych <= 'z') goto yy144; goto yy3; } } -yy1359: +yy1299: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'R') goto yy1360; + if (yych <= 'R') goto yy1300; if (yych != 'r') goto yy3; } -yy1360: +yy1300: yych = *++YYCURSOR; - if (yych == 'Y') goto yy205; - if (yych == 'y') goto yy205; + if (yych == 'Y') goto yy204; + if (yych == 'y') goto yy204; goto yy56; -yy1361: +yy1301: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { @@ -19228,7 +18324,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'B') goto yy1356; + if (yych <= 'B') goto yy1296; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -19237,13 +18333,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'b') goto yy1379; + if (yych <= 'b') goto yy1319; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1362: +yy1302: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -19260,14 +18356,14 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '/') goto yy147; goto yy3; } else { - if (yych == 'F') goto yy1346; + if (yych == 'F') goto yy1286; goto yy141; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'R') goto yy1345; + if (yych <= 'R') goto yy1285; goto yy141; } else { if (yych == '_') goto yy147; @@ -19275,16 +18371,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= 'q') { - if (yych == 'f') goto yy1375; + if (yych == 'f') goto yy1315; goto yy146; } else { - if (yych <= 'r') goto yy1374; + if (yych <= 'r') goto yy1314; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1363: +yy1303: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -19299,7 +18395,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'U') goto yy1342; + if (yych <= 'U') goto yy1282; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -19308,13 +18404,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'u') goto yy1371; + if (yych <= 'u') goto yy1311; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1364: +yy1304: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -19331,14 +18427,14 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '/') goto yy147; goto yy3; } else { - if (yych == 'I') goto yy1325; + if (yych == 'I') goto yy1265; goto yy141; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'O') goto yy1324; + if (yych <= 'O') goto yy1264; goto yy141; } else { if (yych == '_') goto yy147; @@ -19346,16 +18442,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= 'n') { - if (yych == 'i') goto yy1366; + if (yych == 'i') goto yy1306; goto yy146; } else { - if (yych <= 'o') goto yy1365; + if (yych <= 'o') goto yy1305; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1365: +yy1305: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -19370,7 +18466,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1328; + if (yych <= 'N') goto yy1268; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -19379,13 +18475,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 'n') goto yy1369; + if (yych <= 'n') goto yy1309; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1366: +yy1306: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -19400,7 +18496,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1326; + if (yych <= 'D') goto yy1266; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy166; goto yy147; @@ -19409,13 +18505,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy166; goto yy150; } else { - if (yych <= 'd') goto yy1367; + if (yych <= 'd') goto yy1307; if (yych <= 'z') goto yy150; goto yy166; } } } -yy1367: +yy1307: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -19429,18 +18525,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1327; + if (yych <= 'A') goto yy1267; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1368; + if (yych <= 'a') goto yy1308; if (yych <= 'z') goto yy151; goto yy3; } } -yy1368: +yy1308: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -19455,7 +18551,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'Y') goto yy1235; + if (yych <= 'Y') goto yy1175; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -19464,13 +18560,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'y') goto yy1264; + if (yych <= 'y') goto yy1204; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1369: +yy1309: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -19485,7 +18581,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1329; + if (yych <= 'T') goto yy1269; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -19494,18 +18590,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 't') goto yy1370; + if (yych <= 't') goto yy1310; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1370: +yy1310: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= '(') { - if (yych == ' ') goto yy1330; + if (yych == ' ') goto yy1270; goto yy3; } else { if (yych <= ')') goto yy139; @@ -19525,7 +18621,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy1371: +yy1311: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -19540,7 +18636,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'R') goto yy1343; + if (yych <= 'R') goto yy1283; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -19549,13 +18645,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 'r') goto yy1372; + if (yych <= 'r') goto yy1312; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1372: +yy1312: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -19570,7 +18666,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1344; + if (yych <= 'T') goto yy1284; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -19579,13 +18675,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 't') goto yy1373; + if (yych <= 't') goto yy1313; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1373: +yy1313: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -19600,7 +18696,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'H') goto yy1215; + if (yych <= 'H') goto yy1155; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -19609,13 +18705,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'h') goto yy1227; + if (yych <= 'h') goto yy1167; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1374: +yy1314: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -19630,7 +18726,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'S') goto yy1348; + if (yych <= 'S') goto yy1288; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -19639,13 +18735,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 's') goto yy1377; + if (yych <= 's') goto yy1317; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1375: +yy1315: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -19660,7 +18756,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1347; + if (yych <= 'T') goto yy1287; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -19669,13 +18765,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 't') goto yy1376; + if (yych <= 't') goto yy1316; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1376: +yy1316: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -19690,7 +18786,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'H') goto yy1238; + if (yych <= 'H') goto yy1178; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -19699,13 +18795,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'h') goto yy1267; + if (yych <= 'h') goto yy1207; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1377: +yy1317: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -19720,7 +18816,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1349; + if (yych <= 'T') goto yy1289; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -19729,20 +18825,20 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 't') goto yy1378; + if (yych <= 't') goto yy1318; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1378: +yy1318: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { - if (yych == '\t') goto yy1206; + if (yych == '\t') goto yy1146; if (yych <= 0x1F) goto yy3; - goto yy1350; + goto yy1290; } else { if (yych == ')') goto yy139; if (yych <= ',') goto yy3; @@ -19764,7 +18860,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy1379: +yy1319: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -19780,7 +18876,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '-') { if (yych <= ')') goto yy139; if (yych <= ',') goto yy193; - goto yy371; + goto yy311; } else { if (yych == '/') goto yy147; goto yy195; @@ -19792,7 +18888,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy193; goto yy142; } else { - if (yych <= 'R') goto yy1357; + if (yych <= 'R') goto yy1297; if (yych <= 'Z') goto yy142; goto yy193; } @@ -19802,13 +18898,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy150; } else { - if (yych <= 'r') goto yy1380; + if (yych <= 'r') goto yy1320; if (yych <= 'z') goto yy150; goto yy193; } } } -yy1380: +yy1320: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -19823,7 +18919,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'U') goto yy1358; + if (yych <= 'U') goto yy1298; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -19832,13 +18928,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'u') goto yy1381; + if (yych <= 'u') goto yy1321; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1381: +yy1321: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -19852,18 +18948,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1359; + if (yych <= 'A') goto yy1299; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1382; + if (yych <= 'a') goto yy1322; if (yych <= 'z') goto yy152; goto yy3; } } -yy1382: +yy1322: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -19877,31 +18973,31 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'R') goto yy1360; + if (yych <= 'R') goto yy1300; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 'r') goto yy1383; + if (yych == 'r') goto yy1323; if (yych <= 'z') goto yy153; goto yy3; } } -yy1383: +yy1323: yych = *++YYCURSOR; - if (yych == 'Y') goto yy205; - if (yych == 'y') goto yy376; + if (yych == 'Y') goto yy204; + if (yych == 'y') goto yy316; goto yy154; -yy1384: +yy1324: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; -yy1385: +yy1325: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if (yych <= '/') goto yy1387; - if (yych <= '9') goto yy1385; -yy1387: + if (yych <= '/') goto yy1327; + if (yych <= '9') goto yy1325; +yy1327: #line 1010 "ext/date/lib/parse_date.re" { timelib_ull i; @@ -19927,8 +19023,8 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 19931 "" -yy1388: +#line 19027 "" +yy1328: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -19937,7 +19033,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy141; - goto yy1429; + goto yy1369; } } else { if (yych <= 'm') { @@ -19945,58 +19041,58 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'n') goto yy1429; + if (yych <= 'n') goto yy1369; if (yych <= 'z') goto yy141; goto yy3; } } -yy1389: +yy1329: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych == 'I') goto yy1421; + if (yych == 'I') goto yy1361; if (yych <= 'T') goto yy141; - goto yy1422; + goto yy1362; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy141; - goto yy1421; + goto yy1361; } else { - if (yych == 'u') goto yy1422; + if (yych == 'u') goto yy1362; if (yych <= 'z') goto yy141; goto yy3; } } -yy1390: +yy1330: yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= '@') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych == 'D') goto yy1410; + if (yych == 'D') goto yy1350; if (yych <= 'L') goto yy141; - goto yy1411; + goto yy1351; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; if (yych <= 'c') goto yy141; - goto yy1410; + goto yy1350; } else { - if (yych == 'm') goto yy1411; + if (yych == 'm') goto yy1351; if (yych <= 'z') goto yy141; goto yy3; } } -yy1391: +yy1331: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -20005,7 +19101,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy141; - goto yy1406; + goto yy1346; } } else { if (yych <= 'd') { @@ -20013,12 +19109,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'e') goto yy1406; + if (yych <= 'e') goto yy1346; if (yych <= 'z') goto yy141; goto yy3; } } -yy1392: +yy1332: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -20027,7 +19123,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy141; - goto yy1402; + goto yy1342; } } else { if (yych <= 'd') { @@ -20035,68 +19131,68 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'e') goto yy1402; + if (yych <= 'e') goto yy1342; if (yych <= 'z') goto yy141; goto yy3; } } -yy1393: +yy1333: yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy1064; + if (yych == '.') goto yy1004; goto yy56; } else { - if (yych <= '9') goto yy1396; - if (yych <= ':') goto yy1064; + if (yych <= '9') goto yy1336; + if (yych <= ':') goto yy1004; goto yy56; } -yy1394: +yy1334: yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy1064; + if (yych == '.') goto yy1004; goto yy56; } else { - if (yych <= '4') goto yy1396; - if (yych == ':') goto yy1064; + if (yych <= '4') goto yy1336; + if (yych == ':') goto yy1004; goto yy56; } -yy1395: +yy1335: yych = *++YYCURSOR; - if (yych == '.') goto yy1064; - if (yych == ':') goto yy1064; + if (yych == '.') goto yy1004; + if (yych == ':') goto yy1004; goto yy56; -yy1396: +yy1336: yych = *++YYCURSOR; if (yych <= '/') { - if (yych == '.') goto yy1064; + if (yych == '.') goto yy1004; goto yy56; } else { - if (yych <= '5') goto yy1397; - if (yych == ':') goto yy1064; + if (yych <= '5') goto yy1337; + if (yych == ':') goto yy1004; goto yy56; } -yy1397: +yy1337: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; - yyaccept = 24; + yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1067; - if (yych <= '5') goto yy1399; - if (yych <= '6') goto yy1400; - goto yy1067; -yy1399: + if (yych <= '/') goto yy1007; + if (yych <= '5') goto yy1339; + if (yych <= '6') goto yy1340; + goto yy1007; +yy1339: yych = *++YYCURSOR; if (yych <= '/') goto yy56; - if (yych <= '9') goto yy1401; + if (yych <= '9') goto yy1341; goto yy56; -yy1400: +yy1340: yych = *++YYCURSOR; if (yych != '0') goto yy56; -yy1401: +yy1341: yych = *++YYCURSOR; - goto yy1075; -yy1402: + goto yy1015; +yy1342: yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { @@ -20112,12 +19208,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'l') goto yy1403; + if (yych <= 'l') goto yy1343; if (yych <= 'z') goto yy142; goto yy3; } } -yy1403: +yy1343: yych = *++YYCURSOR; if (yych <= 'F') { if (yych <= ')') { @@ -20133,12 +19229,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'f') goto yy1404; + if (yych <= 'f') goto yy1344; if (yych <= 'z') goto yy143; goto yy3; } } -yy1404: +yy1344: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -20154,23 +19250,23 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 't') goto yy1405; + if (yych <= 't') goto yy1345; if (yych <= 'z') goto yy144; goto yy3; } } -yy1405: +yy1345: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'H') goto yy1205; - if (yych == 'h') goto yy1205; + if (yych <= 'H') goto yy1145; + if (yych == 'h') goto yy1145; goto yy3; } -yy1406: +yy1346: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -20186,12 +19282,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy166; goto yy142; } else { - if (yych <= 's') goto yy1407; + if (yych <= 's') goto yy1347; if (yych <= 'z') goto yy142; goto yy166; } } -yy1407: +yy1347: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -20207,12 +19303,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'd') goto yy1408; + if (yych <= 'd') goto yy1348; if (yych <= 'z') goto yy143; goto yy3; } } -yy1408: +yy1348: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy139; @@ -20222,12 +19318,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy144; goto yy3; } else { - if (yych <= 'a') goto yy1409; + if (yych <= 'a') goto yy1349; if (yych <= 'z') goto yy144; goto yy3; } } -yy1409: +yy1349: yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy139; @@ -20237,23 +19333,23 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych == 'y') goto yy172; goto yy3; } -yy1410: +yy1350: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy139; if (yych <= '@') goto yy3; - goto yy1418; + goto yy1358; } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; goto yy3; } else { - if (yych <= 'a') goto yy1418; + if (yych <= 'a') goto yy1358; if (yych <= 'z') goto yy142; goto yy3; } } -yy1411: +yy1351: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { @@ -20269,12 +19365,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'o') goto yy1412; + if (yych <= 'o') goto yy1352; if (yych <= 'z') goto yy142; goto yy3; } } -yy1412: +yy1352: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -20290,12 +19386,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'r') goto yy1413; + if (yych <= 'r') goto yy1353; if (yych <= 'z') goto yy143; goto yy3; } } -yy1413: +yy1353: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -20311,28 +19407,28 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'r') goto yy1414; + if (yych <= 'r') goto yy1354; if (yych <= 'z') goto yy144; goto yy3; } } -yy1414: +yy1354: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'O') goto yy1415; + if (yych <= 'O') goto yy1355; if (yych != 'o') goto yy3; } -yy1415: +yy1355: yych = *++YYCURSOR; - if (yych == 'W') goto yy1416; + if (yych == 'W') goto yy1356; if (yych != 'w') goto yy56; -yy1416: +yy1356: ++YYCURSOR; -yy1417: +yy1357: #line 998 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("tomorrow"); @@ -20344,8 +19440,8 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 20348 "" -yy1418: +#line 19444 "" +yy1358: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { @@ -20361,21 +19457,21 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'y') goto yy1419; + if (yych <= 'y') goto yy1359; if (yych <= 'z') goto yy143; goto yy3; } } -yy1419: +yy1359: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy139; } else { if (yych <= 'Z') goto yy144; - if (yych <= '`') goto yy1420; + if (yych <= '`') goto yy1360; if (yych <= 'z') goto yy144; } -yy1420: +yy1360: #line 988 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("midnight | today"); @@ -20385,8 +19481,8 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 20389 "" -yy1421: +#line 19485 "" +yy1361: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= '@') { @@ -20394,8 +19490,8 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } else { if (yych <= 'Q') goto yy142; - if (yych <= 'R') goto yy1427; - goto yy1428; + if (yych <= 'R') goto yy1367; + goto yy1368; } } else { if (yych <= 'q') { @@ -20403,13 +19499,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'r') goto yy1427; - if (yych <= 's') goto yy1428; + if (yych <= 'r') goto yy1367; + if (yych <= 's') goto yy1368; if (yych <= 'z') goto yy142; goto yy3; } } -yy1422: +yy1362: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -20425,12 +19521,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy166; goto yy142; } else { - if (yych <= 'r') goto yy1423; + if (yych <= 'r') goto yy1363; if (yych <= 'z') goto yy142; goto yy166; } } -yy1423: +yy1363: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -20446,12 +19542,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 's') goto yy1424; + if (yych <= 's') goto yy1364; if (yych <= 'z') goto yy143; goto yy3; } } -yy1424: +yy1364: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -20467,27 +19563,27 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'd') goto yy1425; + if (yych <= 'd') goto yy1365; if (yych <= 'z') goto yy144; goto yy3; } } -yy1425: +yy1365: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'A') goto yy1426; + if (yych <= 'A') goto yy1366; if (yych != 'a') goto yy3; } -yy1426: +yy1366: yych = *++YYCURSOR; if (yych == 'Y') goto yy172; if (yych == 'y') goto yy172; goto yy56; -yy1427: +yy1367: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -20496,7 +19592,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy143; - goto yy1238; + goto yy1178; } } else { if (yych <= 'c') { @@ -20504,20 +19600,20 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'd') goto yy1238; + if (yych <= 'd') goto yy1178; if (yych <= 'z') goto yy143; goto yy3; } } -yy1428: +yy1368: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; - goto yy1104; + goto yy1044; } else { - if (yych == ' ') goto yy1104; + if (yych == ' ') goto yy1044; goto yy3; } } else { @@ -20531,7 +19627,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy1429: +yy1369: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -20547,12 +19643,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 't') goto yy1430; + if (yych <= 't') goto yy1370; if (yych <= 'z') goto yy142; goto yy3; } } -yy1430: +yy1370: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -20561,7 +19657,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy143; - goto yy1238; + goto yy1178; } } else { if (yych <= 'g') { @@ -20569,12 +19665,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'h') goto yy1238; + if (yych <= 'h') goto yy1178; if (yych <= 'z') goto yy143; goto yy3; } } -yy1431: +yy1371: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -20589,7 +19685,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1429; + if (yych <= 'N') goto yy1369; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -20598,13 +19694,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'n') goto yy1461; + if (yych <= 'n') goto yy1401; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1432: +yy1372: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { @@ -20621,14 +19717,14 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '/') goto yy147; goto yy3; } else { - if (yych == 'I') goto yy1421; + if (yych == 'I') goto yy1361; goto yy141; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'U') goto yy1422; + if (yych <= 'U') goto yy1362; goto yy141; } else { if (yych == '_') goto yy147; @@ -20636,16 +19732,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= 't') { - if (yych == 'i') goto yy1453; + if (yych == 'i') goto yy1393; goto yy146; } else { - if (yych <= 'u') goto yy1454; + if (yych <= 'u') goto yy1394; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1433: +yy1373: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { @@ -20662,14 +19758,14 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '/') goto yy147; goto yy3; } else { - if (yych == 'D') goto yy1410; + if (yych == 'D') goto yy1350; goto yy141; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'M') goto yy1411; + if (yych <= 'M') goto yy1351; goto yy141; } else { if (yych == '_') goto yy147; @@ -20677,16 +19773,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= 'l') { - if (yych == 'd') goto yy1444; + if (yych == 'd') goto yy1384; goto yy146; } else { - if (yych <= 'm') goto yy1445; + if (yych <= 'm') goto yy1385; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1434: +yy1374: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -20701,7 +19797,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1406; + if (yych <= 'E') goto yy1346; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -20710,13 +19806,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'e') goto yy1440; + if (yych <= 'e') goto yy1380; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1435: +yy1375: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -20731,7 +19827,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1402; + if (yych <= 'E') goto yy1342; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -20740,13 +19836,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'e') goto yy1436; + if (yych <= 'e') goto yy1376; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1436: +yy1376: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'K') { @@ -20761,7 +19857,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'L') goto yy1403; + if (yych <= 'L') goto yy1343; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -20770,13 +19866,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 'l') goto yy1437; + if (yych <= 'l') goto yy1377; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1437: +yy1377: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { @@ -20791,7 +19887,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'F') goto yy1404; + if (yych <= 'F') goto yy1344; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -20800,13 +19896,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'f') goto yy1438; + if (yych <= 'f') goto yy1378; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1438: +yy1378: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -20821,7 +19917,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1405; + if (yych <= 'T') goto yy1345; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -20830,13 +19926,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 't') goto yy1439; + if (yych <= 't') goto yy1379; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1439: +yy1379: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -20850,16 +19946,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'H') goto yy1205; + if (yych <= 'H') goto yy1145; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 'h') goto yy1223; + if (yych == 'h') goto yy1163; if (yych <= 'z') goto yy153; goto yy3; } } -yy1440: +yy1380: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -20874,7 +19970,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'S') goto yy1407; + if (yych <= 'S') goto yy1347; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy166; goto yy147; @@ -20883,13 +19979,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy166; goto yy150; } else { - if (yych <= 's') goto yy1441; + if (yych <= 's') goto yy1381; if (yych <= 'z') goto yy150; goto yy166; } } } -yy1441: +yy1381: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -20904,7 +20000,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1408; + if (yych <= 'D') goto yy1348; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -20913,13 +20009,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'd') goto yy1442; + if (yych <= 'd') goto yy1382; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1442: +yy1382: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -20933,18 +20029,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1409; + if (yych <= 'A') goto yy1349; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1443; + if (yych <= 'a') goto yy1383; if (yych <= 'z') goto yy152; goto yy3; } } -yy1443: +yy1383: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -20967,7 +20063,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy3; } } -yy1444: +yy1384: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -20981,18 +20077,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1418; + if (yych <= 'A') goto yy1358; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1451; + if (yych <= 'a') goto yy1391; if (yych <= 'z') goto yy150; goto yy3; } } -yy1445: +yy1385: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -21007,7 +20103,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'O') goto yy1412; + if (yych <= 'O') goto yy1352; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -21016,13 +20112,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 'o') goto yy1446; + if (yych <= 'o') goto yy1386; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1446: +yy1386: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -21037,7 +20133,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'R') goto yy1413; + if (yych <= 'R') goto yy1353; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -21046,13 +20142,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'r') goto yy1447; + if (yych <= 'r') goto yy1387; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1447: +yy1387: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -21067,7 +20163,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'R') goto yy1414; + if (yych <= 'R') goto yy1354; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -21076,13 +20172,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'r') goto yy1448; + if (yych <= 'r') goto yy1388; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1448: +yy1388: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { @@ -21096,33 +20192,33 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'O') goto yy1415; + if (yych <= 'O') goto yy1355; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 'o') goto yy1449; + if (yych == 'o') goto yy1389; if (yych <= 'z') goto yy153; goto yy3; } } -yy1449: +yy1389: yych = *++YYCURSOR; - if (yych == 'W') goto yy1416; + if (yych == 'W') goto yy1356; if (yych != 'w') goto yy154; - yyaccept = 29; + yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { goto yy153; } if (yych <= '.') { if (yych == '-') goto yy147; - goto yy1417; + goto yy1357; } else { if (yych <= '/') goto yy147; if (yych == '_') goto yy147; - goto yy1417; + goto yy1357; } -yy1451: +yy1391: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -21137,7 +20233,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'Y') goto yy1419; + if (yych <= 'Y') goto yy1359; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -21146,36 +20242,36 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'y') goto yy1452; + if (yych <= 'y') goto yy1392; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1452: - yyaccept = 30; +yy1392: + yyaccept = 29; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych == ')') goto yy139; - goto yy1420; + goto yy1360; } else { - if (yych == '.') goto yy1420; + if (yych == '.') goto yy1360; goto yy147; } } else { if (yych <= '^') { - if (yych <= '@') goto yy1420; + if (yych <= '@') goto yy1360; if (yych <= 'Z') goto yy144; - goto yy1420; + goto yy1360; } else { if (yych <= '_') goto yy147; - if (yych <= '`') goto yy1420; + if (yych <= '`') goto yy1360; if (yych <= 'z') goto yy152; - goto yy1420; + goto yy1360; } } -yy1453: +yy1393: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -21190,13 +20286,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy142; - goto yy1427; + goto yy1367; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'S') goto yy1428; + if (yych <= 'S') goto yy1368; goto yy142; } else { if (yych == '_') goto yy147; @@ -21205,15 +20301,15 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= 'r') { if (yych <= 'q') goto yy150; - goto yy1459; + goto yy1399; } else { - if (yych <= 's') goto yy1460; + if (yych <= 's') goto yy1400; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1454: +yy1394: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -21228,7 +20324,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'R') goto yy1423; + if (yych <= 'R') goto yy1363; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy166; goto yy147; @@ -21237,13 +20333,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy166; goto yy150; } else { - if (yych <= 'r') goto yy1455; + if (yych <= 'r') goto yy1395; if (yych <= 'z') goto yy150; goto yy166; } } } -yy1455: +yy1395: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -21258,7 +20354,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'S') goto yy1424; + if (yych <= 'S') goto yy1364; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -21267,13 +20363,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 's') goto yy1456; + if (yych <= 's') goto yy1396; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1456: +yy1396: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -21288,7 +20384,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1425; + if (yych <= 'D') goto yy1365; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -21297,13 +20393,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'd') goto yy1457; + if (yych <= 'd') goto yy1397; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1457: +yy1397: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -21317,22 +20413,22 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1426; + if (yych <= 'A') goto yy1366; if (yych <= '^') goto yy3; goto yy147; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1458; + if (yych <= 'a') goto yy1398; if (yych <= 'z') goto yy153; goto yy3; } } -yy1458: +yy1398: yych = *++YYCURSOR; if (yych == 'Y') goto yy172; if (yych == 'y') goto yy185; goto yy154; -yy1459: +yy1399: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -21347,7 +20443,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1238; + if (yych <= 'D') goto yy1178; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -21356,20 +20452,20 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'd') goto yy1267; + if (yych <= 'd') goto yy1207; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1460: +yy1400: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { - if (yych == '\t') goto yy1104; + if (yych == '\t') goto yy1044; if (yych <= 0x1F) goto yy3; - goto yy1104; + goto yy1044; } else { if (yych == ')') goto yy139; if (yych <= ',') goto yy3; @@ -21391,7 +20487,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy1461: +yy1401: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -21406,7 +20502,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1430; + if (yych <= 'T') goto yy1370; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -21415,13 +20511,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 't') goto yy1462; + if (yych <= 't') goto yy1402; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1462: +yy1402: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -21436,7 +20532,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'H') goto yy1238; + if (yych <= 'H') goto yy1178; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -21445,36 +20541,36 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'h') goto yy1267; + if (yych <= 'h') goto yy1207; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1463: +yy1403: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= '@') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych == 'R') goto yy1475; + if (yych == 'R') goto yy1415; if (yych <= 'X') goto yy141; - goto yy1476; + goto yy1416; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; if (yych <= 'q') goto yy141; - goto yy1475; + goto yy1415; } else { - if (yych == 'y') goto yy1476; + if (yych == 'y') goto yy1416; if (yych <= 'z') goto yy141; goto yy3; } } -yy1464: +yy1404: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -21483,7 +20579,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy141; - goto yy1469; + goto yy1409; } } else { if (yych <= 'c') { @@ -21491,12 +20587,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'd') goto yy1469; + if (yych <= 'd') goto yy1409; if (yych <= 'z') goto yy141; goto yy3; } } -yy1465: +yy1405: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -21512,12 +20608,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'n') goto yy1466; + if (yych <= 'n') goto yy1406; if (yych <= 'z') goto yy141; goto yy3; } } -yy1466: +yy1406: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { @@ -21533,12 +20629,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy166; goto yy142; } else { - if (yych <= 'd') goto yy1467; + if (yych <= 'd') goto yy1407; if (yych <= 'z') goto yy142; goto yy166; } } -yy1467: +yy1407: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy139; @@ -21548,12 +20644,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= 'Z') goto yy143; goto yy3; } else { - if (yych <= 'a') goto yy1468; + if (yych <= 'a') goto yy1408; if (yych <= 'z') goto yy143; goto yy3; } } -yy1468: +yy1408: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { @@ -21562,7 +20658,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'X') goto yy144; - goto yy1235; + goto yy1175; } } else { if (yych <= 'x') { @@ -21570,12 +20666,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'y') goto yy1235; + if (yych <= 'y') goto yy1175; if (yych <= 'z') goto yy144; goto yy3; } } -yy1469: +yy1409: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -21591,12 +20687,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'n') goto yy1470; + if (yych <= 'n') goto yy1410; if (yych <= 'z') goto yy142; goto yy3; } } -yy1470: +yy1410: yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { @@ -21612,12 +20708,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'i') goto yy1471; + if (yych <= 'i') goto yy1411; if (yych <= 'z') goto yy143; goto yy3; } } -yy1471: +yy1411: yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { @@ -21633,29 +20729,29 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'g') goto yy1472; + if (yych <= 'g') goto yy1412; if (yych <= 'z') goto yy144; goto yy3; } } -yy1472: +yy1412: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'H') goto yy1473; + if (yych <= 'H') goto yy1413; if (yych != 'h') goto yy3; } -yy1473: +yy1413: yych = *++YYCURSOR; - if (yych == 'T') goto yy1474; + if (yych == 'T') goto yy1414; if (yych != 't') goto yy56; -yy1474: +yy1414: yych = *++YYCURSOR; - goto yy1420; -yy1475: + goto yy1360; +yy1415: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -21683,7 +20779,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy195; goto yy193; } else { - if (yych == 'C') goto yy1477; + if (yych == 'C') goto yy1417; goto yy142; } } else { @@ -21691,13 +20787,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy142; } else { - if (yych <= 'c') goto yy1477; + if (yych <= 'c') goto yy1417; if (yych <= 'z') goto yy142; goto yy193; } } } -yy1476: +yy1416: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { @@ -21722,7 +20818,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy193; } } -yy1477: +yy1417: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -21731,7 +20827,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy143; - goto yy395; + goto yy335; } } else { if (yych <= 'g') { @@ -21739,12 +20835,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'h') goto yy395; + if (yych <= 'h') goto yy335; if (yych <= 'z') goto yy143; goto yy3; } } -yy1478: +yy1418: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -21761,14 +20857,14 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '/') goto yy147; goto yy3; } else { - if (yych == 'R') goto yy1475; + if (yych == 'R') goto yy1415; goto yy141; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= 'Y') goto yy1476; + if (yych <= 'Y') goto yy1416; goto yy141; } else { if (yych == '_') goto yy147; @@ -21776,16 +20872,16 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= 'x') { - if (yych == 'r') goto yy1490; + if (yych == 'r') goto yy1430; goto yy146; } else { - if (yych <= 'y') goto yy1491; + if (yych <= 'y') goto yy1431; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1479: +yy1419: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -21800,7 +20896,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1469; + if (yych <= 'D') goto yy1409; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -21809,13 +20905,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'd') goto yy1484; + if (yych <= 'd') goto yy1424; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1480: +yy1420: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -21830,7 +20926,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1466; + if (yych <= 'N') goto yy1406; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -21839,13 +20935,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'n') goto yy1481; + if (yych <= 'n') goto yy1421; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1481: +yy1421: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -21860,7 +20956,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'D') goto yy1467; + if (yych <= 'D') goto yy1407; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy166; goto yy147; @@ -21869,13 +20965,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy166; goto yy150; } else { - if (yych <= 'd') goto yy1482; + if (yych <= 'd') goto yy1422; if (yych <= 'z') goto yy150; goto yy166; } } } -yy1482: +yy1422: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { @@ -21889,18 +20985,18 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'A') goto yy1468; + if (yych <= 'A') goto yy1408; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; } else { if (yych <= '`') goto yy3; - if (yych <= 'a') goto yy1483; + if (yych <= 'a') goto yy1423; if (yych <= 'z') goto yy151; goto yy3; } } -yy1483: +yy1423: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { @@ -21915,7 +21011,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'Y') goto yy1235; + if (yych <= 'Y') goto yy1175; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -21924,13 +21020,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'y') goto yy1264; + if (yych <= 'y') goto yy1204; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1484: +yy1424: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -21945,7 +21041,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1470; + if (yych <= 'N') goto yy1410; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -21954,13 +21050,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 'n') goto yy1485; + if (yych <= 'n') goto yy1425; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1485: +yy1425: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { @@ -21975,7 +21071,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'I') goto yy1471; + if (yych <= 'I') goto yy1411; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -21984,13 +21080,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'i') goto yy1486; + if (yych <= 'i') goto yy1426; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1486: +yy1426: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { @@ -22005,7 +21101,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'G') goto yy1472; + if (yych <= 'G') goto yy1412; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -22014,13 +21110,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'g') goto yy1487; + if (yych <= 'g') goto yy1427; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1487: +yy1427: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -22034,33 +21130,33 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'H') goto yy1473; + if (yych <= 'H') goto yy1413; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 'h') goto yy1488; + if (yych == 'h') goto yy1428; if (yych <= 'z') goto yy153; goto yy3; } } -yy1488: +yy1428: yych = *++YYCURSOR; - if (yych == 'T') goto yy1474; + if (yych == 'T') goto yy1414; if (yych != 't') goto yy154; - yyaccept = 30; + yyaccept = 29; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { goto yy153; } if (yych <= '.') { if (yych == '-') goto yy147; - goto yy1420; + goto yy1360; } else { if (yych <= '/') goto yy147; if (yych == '_') goto yy147; - goto yy1420; + goto yy1360; } -yy1490: +yy1430: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -22076,7 +21172,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '-') { if (yych <= ')') goto yy139; if (yych <= ',') goto yy193; - goto yy371; + goto yy311; } else { if (yych == '/') goto yy147; goto yy195; @@ -22088,7 +21184,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy193; goto yy142; } else { - if (yych <= 'C') goto yy1477; + if (yych <= 'C') goto yy1417; if (yych <= 'Z') goto yy142; goto yy193; } @@ -22098,13 +21194,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy150; } else { - if (yych <= 'c') goto yy1492; + if (yych <= 'c') goto yy1432; if (yych <= 'z') goto yy150; goto yy193; } } } -yy1491: +yy1431: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { @@ -22118,7 +21214,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy139; } else { if (yych <= ',') goto yy193; - if (yych <= '-') goto yy371; + if (yych <= '-') goto yy311; goto yy195; } } @@ -22139,7 +21235,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } } -yy1492: +yy1432: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -22154,7 +21250,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'H') goto yy395; + if (yych <= 'H') goto yy335; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -22163,13 +21259,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'h') goto yy406; + if (yych <= 'h') goto yy346; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1493: +yy1433: yych = *++YYCURSOR; if (yych <= 'W') { if (yych <= 'N') { @@ -22177,29 +21273,29 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy3; goto yy141; } else { - if (yych <= 'O') goto yy1501; + if (yych <= 'O') goto yy1441; if (yych <= 'U') goto yy141; - if (yych <= 'V') goto yy1502; - goto yy1499; + if (yych <= 'V') goto yy1442; + goto yy1439; } } else { if (yych <= 'o') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; if (yych <= 'n') goto yy141; - goto yy1501; + goto yy1441; } else { if (yych <= 'v') { if (yych <= 'u') goto yy141; - goto yy1502; + goto yy1442; } else { - if (yych <= 'w') goto yy1499; + if (yych <= 'w') goto yy1439; if (yych <= 'z') goto yy141; goto yy3; } } } -yy1494: +yy1434: yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { @@ -22208,7 +21304,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy141; - goto yy1498; + goto yy1438; } } else { if (yych <= 'w') { @@ -22216,12 +21312,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'x') goto yy1498; + if (yych <= 'x') goto yy1438; if (yych <= 'z') goto yy141; goto yy3; } } -yy1495: +yy1435: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -22237,12 +21333,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 'n') goto yy1496; + if (yych <= 'n') goto yy1436; if (yych <= 'z') goto yy141; goto yy3; } } -yy1496: +yy1436: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -22258,12 +21354,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 't') goto yy1497; + if (yych <= 't') goto yy1437; if (yych <= 'z') goto yy142; goto yy3; } } -yy1497: +yy1437: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { @@ -22272,7 +21368,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy143; - goto yy1238; + goto yy1178; } } else { if (yych <= 'g') { @@ -22280,12 +21376,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'h') goto yy1238; + if (yych <= 'h') goto yy1178; if (yych <= 'z') goto yy143; goto yy3; } } -yy1498: +yy1438: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -22294,7 +21390,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy142; - goto yy1428; + goto yy1368; } } else { if (yych <= 's') { @@ -22302,21 +21398,21 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 't') goto yy1428; + if (yych <= 't') goto yy1368; if (yych <= 'z') goto yy142; goto yy3; } } -yy1499: +yy1439: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy139; } else { if (yych <= 'Z') goto yy142; - if (yych <= '`') goto yy1500; + if (yych <= '`') goto yy1440; if (yych <= 'z') goto yy142; } -yy1500: +yy1440: #line 967 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("now"); @@ -22325,8 +21421,8 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22329 "" -yy1501: +#line 21425 "" +yy1441: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { @@ -22335,7 +21431,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy142; - goto yy1507; + goto yy1447; } } else { if (yych <= 'm') { @@ -22343,12 +21439,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 'n') goto yy1507; + if (yych <= 'n') goto yy1447; if (yych <= 'z') goto yy142; goto yy3; } } -yy1502: +yy1442: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { @@ -22383,13 +21479,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy142; } else { - if (yych <= 'e') goto yy1503; + if (yych <= 'e') goto yy1443; if (yych <= 'z') goto yy142; goto yy193; } } } -yy1503: +yy1443: yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { @@ -22405,12 +21501,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'm') goto yy1504; + if (yych <= 'm') goto yy1444; if (yych <= 'z') goto yy143; goto yy3; } } -yy1504: +yy1444: yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { @@ -22426,36 +21522,36 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'b') goto yy1505; + if (yych <= 'b') goto yy1445; if (yych <= 'z') goto yy144; goto yy3; } } -yy1505: +yy1445: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'E') goto yy1506; + if (yych <= 'E') goto yy1446; if (yych != 'e') goto yy3; } -yy1506: +yy1446: yych = *++YYCURSOR; - if (yych == 'R') goto yy205; - if (yych == 'r') goto yy205; + if (yych == 'R') goto yy204; + if (yych == 'r') goto yy204; goto yy56; -yy1507: +yy1447: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy139; } else { if (yych <= 'Z') goto yy143; - if (yych <= '`') goto yy1508; + if (yych <= '`') goto yy1448; if (yych <= 'z') goto yy143; } -yy1508: +yy1448: #line 976 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("noon"); @@ -22467,8 +21563,8 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22471 "" -yy1509: +#line 21567 "" +yy1449: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { @@ -22486,15 +21582,15 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy3; goto yy141; } else { - if (yych <= 'O') goto yy1501; + if (yych <= 'O') goto yy1441; if (yych <= 'U') goto yy141; - goto yy1502; + goto yy1442; } } } else { if (yych <= 'n') { if (yych <= '^') { - if (yych <= 'W') goto yy1499; + if (yych <= 'W') goto yy1439; if (yych <= 'Z') goto yy141; goto yy3; } else { @@ -22504,17 +21600,17 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= 'v') { - if (yych <= 'o') goto yy1516; + if (yych <= 'o') goto yy1456; if (yych <= 'u') goto yy146; - goto yy1517; + goto yy1457; } else { - if (yych <= 'w') goto yy1515; + if (yych <= 'w') goto yy1455; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1510: +yy1450: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { @@ -22529,7 +21625,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'X') goto yy1498; + if (yych <= 'X') goto yy1438; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -22538,13 +21634,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'x') goto yy1514; + if (yych <= 'x') goto yy1454; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1511: +yy1451: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -22559,7 +21655,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1496; + if (yych <= 'N') goto yy1436; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -22568,13 +21664,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 'n') goto yy1512; + if (yych <= 'n') goto yy1452; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1512: +yy1452: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -22589,7 +21685,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1497; + if (yych <= 'T') goto yy1437; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -22598,13 +21694,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 't') goto yy1513; + if (yych <= 't') goto yy1453; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1513: +yy1453: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { @@ -22619,7 +21715,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'H') goto yy1238; + if (yych <= 'H') goto yy1178; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -22628,13 +21724,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'h') goto yy1267; + if (yych <= 'h') goto yy1207; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1514: +yy1454: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -22649,7 +21745,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1428; + if (yych <= 'T') goto yy1368; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -22658,36 +21754,36 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 't') goto yy1460; + if (yych <= 't') goto yy1400; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1515: - yyaccept = 31; +yy1455: + yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych == ')') goto yy139; - goto yy1500; + goto yy1440; } else { - if (yych == '.') goto yy1500; + if (yych == '.') goto yy1440; goto yy147; } } else { if (yych <= '^') { - if (yych <= '@') goto yy1500; + if (yych <= '@') goto yy1440; if (yych <= 'Z') goto yy142; - goto yy1500; + goto yy1440; } else { if (yych <= '_') goto yy147; - if (yych <= '`') goto yy1500; + if (yych <= '`') goto yy1440; if (yych <= 'z') goto yy150; - goto yy1500; + goto yy1440; } } -yy1516: +yy1456: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { @@ -22702,7 +21798,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'N') goto yy1507; + if (yych <= 'N') goto yy1447; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -22711,13 +21807,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 'n') goto yy1522; + if (yych <= 'n') goto yy1462; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1517: +yy1457: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { @@ -22733,7 +21829,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '-') { if (yych <= ')') goto yy139; if (yych <= ',') goto yy193; - goto yy371; + goto yy311; } else { if (yych == '/') goto yy147; goto yy195; @@ -22745,7 +21841,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '@') goto yy193; goto yy142; } else { - if (yych <= 'E') goto yy1503; + if (yych <= 'E') goto yy1443; if (yych <= 'Z') goto yy142; goto yy193; } @@ -22755,13 +21851,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy193; goto yy150; } else { - if (yych <= 'e') goto yy1518; + if (yych <= 'e') goto yy1458; if (yych <= 'z') goto yy150; goto yy193; } } } -yy1518: +yy1458: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { @@ -22776,7 +21872,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'M') goto yy1504; + if (yych <= 'M') goto yy1444; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -22785,13 +21881,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'm') goto yy1519; + if (yych <= 'm') goto yy1459; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1519: +yy1459: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { @@ -22806,7 +21902,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'B') goto yy1505; + if (yych <= 'B') goto yy1445; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -22815,13 +21911,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'b') goto yy1520; + if (yych <= 'b') goto yy1460; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1520: +yy1460: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -22835,44 +21931,44 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'E') goto yy1506; + if (yych <= 'E') goto yy1446; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 'e') goto yy1521; + if (yych == 'e') goto yy1461; if (yych <= 'z') goto yy153; goto yy3; } } -yy1521: +yy1461: yych = *++YYCURSOR; - if (yych == 'R') goto yy205; - if (yych == 'r') goto yy376; + if (yych == 'R') goto yy204; + if (yych == 'r') goto yy316; goto yy154; -yy1522: - yyaccept = 32; +yy1462: + yyaccept = 31; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych == ')') goto yy139; - goto yy1508; + goto yy1448; } else { - if (yych == '.') goto yy1508; + if (yych == '.') goto yy1448; goto yy147; } } else { if (yych <= '^') { - if (yych <= '@') goto yy1508; + if (yych <= '@') goto yy1448; if (yych <= 'Z') goto yy143; - goto yy1508; + goto yy1448; } else { if (yych <= '_') goto yy147; - if (yych <= '`') goto yy1508; + if (yych <= '`') goto yy1448; if (yych <= 'z') goto yy151; - goto yy1508; + goto yy1448; } } -yy1523: +yy1463: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { @@ -22888,12 +21984,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy141; } else { - if (yych <= 's') goto yy1524; + if (yych <= 's') goto yy1464; if (yych <= 'z') goto yy141; goto yy3; } } -yy1524: +yy1464: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { @@ -22909,12 +22005,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy142; } else { - if (yych <= 't') goto yy1525; + if (yych <= 't') goto yy1465; if (yych <= 'z') goto yy142; goto yy3; } } -yy1525: +yy1465: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { @@ -22930,12 +22026,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy143; } else { - if (yych <= 'e') goto yy1526; + if (yych <= 'e') goto yy1466; if (yych <= 'z') goto yy143; goto yy3; } } -yy1526: +yy1466: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { @@ -22951,32 +22047,32 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy144; } else { - if (yych <= 'r') goto yy1527; + if (yych <= 'r') goto yy1467; if (yych <= 'z') goto yy144; goto yy3; } } -yy1527: +yy1467: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy139; goto yy3; } else { - if (yych <= 'D') goto yy1528; + if (yych <= 'D') goto yy1468; if (yych != 'd') goto yy3; } -yy1528: +yy1468: yych = *++YYCURSOR; - if (yych == 'A') goto yy1529; + if (yych == 'A') goto yy1469; if (yych != 'a') goto yy56; -yy1529: +yy1469: yych = *++YYCURSOR; - if (yych == 'Y') goto yy1530; + if (yych == 'Y') goto yy1470; if (yych != 'y') goto yy56; -yy1530: +yy1470: ++YYCURSOR; -yy1531: +yy1471: #line 955 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("yesterday"); @@ -22988,8 +22084,8 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22992 "" -yy1532: +#line 22088 "" +yy1472: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { @@ -23004,7 +22100,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'S') goto yy1524; + if (yych <= 'S') goto yy1464; if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy147; @@ -23013,13 +22109,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy146; } else { - if (yych <= 's') goto yy1533; + if (yych <= 's') goto yy1473; if (yych <= 'z') goto yy146; goto yy3; } } } -yy1533: +yy1473: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { @@ -23034,7 +22130,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'T') goto yy1525; + if (yych <= 'T') goto yy1465; if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy147; @@ -23043,13 +22139,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy150; } else { - if (yych <= 't') goto yy1534; + if (yych <= 't') goto yy1474; if (yych <= 'z') goto yy150; goto yy3; } } } -yy1534: +yy1474: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { @@ -23064,7 +22160,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'E') goto yy1526; + if (yych <= 'E') goto yy1466; if (yych <= 'Z') goto yy143; if (yych <= '^') goto yy3; goto yy147; @@ -23073,13 +22169,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy151; } else { - if (yych <= 'e') goto yy1535; + if (yych <= 'e') goto yy1475; if (yych <= 'z') goto yy151; goto yy3; } } } -yy1535: +yy1475: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { @@ -23094,7 +22190,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '_') { - if (yych <= 'R') goto yy1527; + if (yych <= 'R') goto yy1467; if (yych <= 'Z') goto yy144; if (yych <= '^') goto yy3; goto yy147; @@ -23103,13 +22199,13 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '`') goto yy3; goto yy152; } else { - if (yych <= 'r') goto yy1536; + if (yych <= 'r') goto yy1476; if (yych <= 'z') goto yy152; goto yy3; } } } -yy1536: +yy1476: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { @@ -23123,41 +22219,41 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } } else { if (yych <= '`') { - if (yych <= 'D') goto yy1528; + if (yych <= 'D') goto yy1468; if (yych == '_') goto yy147; goto yy3; } else { - if (yych == 'd') goto yy1537; + if (yych == 'd') goto yy1477; if (yych <= 'z') goto yy153; goto yy3; } } -yy1537: +yy1477: yych = *++YYCURSOR; - if (yych == 'A') goto yy1529; + if (yych == 'A') goto yy1469; if (yych != 'a') goto yy154; yych = *++YYCURSOR; - if (yych == 'Y') goto yy1530; + if (yych == 'Y') goto yy1470; if (yych != 'y') goto yy154; - yyaccept = 33; + yyaccept = 32; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { goto yy153; } if (yych <= '.') { if (yych == '-') goto yy147; - goto yy1531; + goto yy1471; } else { if (yych <= '/') goto yy147; if (yych == '_') goto yy147; - goto yy1531; + goto yy1471; } } #line 1729 "ext/date/lib/parse_date.re" } -#define YYMAXFILL 31 +#define YYMAXFILL 33 timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper) { diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re index 79dabe4ef6fa4..8c506990d1d59 100644 --- a/ext/date/lib/parse_date.re +++ b/ext/date/lib/parse_date.re @@ -899,7 +899,7 @@ datefull = day ([ \t.-])* monthtext ([ \t.-])* year; datenoday = monthtext ([ .\t-])* year4; datenodayrev = year4 ([ .\t-])* monthtext; datetextual = monthtext ([ .\t-])* day [,.stndrh\t ]+ year; -datenoyear = monthtext ([ .\t-])* day [,.stndrh\t ]*; +datenoyear = monthtext ([ .\t-])* day ([,.stndrh\t ]+|[\000]); datenoyearrev = day ([ .\t-])* monthtext; datenocolon = year4 monthlz daylz; From f7f4fd470635c30018d7ac71ab3b848195bf8795 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 4 Jul 2017 19:21:28 -0700 Subject: [PATCH 09/16] Fix bug #74087 Ported from https://vcs.pcre.org/pcre/code/trunk/pcre_jit_compile.c?r1=1676&r2=1680&view=patch --- ext/pcre/pcrelib/pcre_jit_compile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/pcre/pcrelib/pcre_jit_compile.c b/ext/pcre/pcrelib/pcre_jit_compile.c index 445de0cbefebc..4684be751a056 100644 --- a/ext/pcre/pcrelib/pcre_jit_compile.c +++ b/ext/pcre/pcrelib/pcre_jit_compile.c @@ -7307,7 +7307,7 @@ if (opcode == OP_COND || opcode == OP_SCOND) if (*matchingpath == OP_FAIL) stacksize = 0; - if (*matchingpath == OP_RREF) + else if (*matchingpath == OP_RREF) { stacksize = GET2(matchingpath, 1); if (common->currententry == NULL) From 12107d619b4380efa8543046357af07b7733020d Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 4 Jul 2017 19:30:29 -0700 Subject: [PATCH 10/16] Update NEWS --- NEWS | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 877e450586543..d9ca91ab0da89 100644 --- a/NEWS +++ b/NEWS @@ -2,9 +2,25 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ?? 2017, PHP 5.6.31 -- Core +- Core: . Fixed bug #73807 (Performance problem with processing post request over 2000000 chars). (Nikita) + . Fixed bug #74111 (Heap buffer overread (READ: 1) finish_nested_data from + unserialize). (Nikita) + . Fixed bug #74603 (PHP INI Parsing Stack Buffer Overflow Vulnerability). + (Stas) + . Fixed bug #74819 (wddx_deserialize() heap out-of-bound read via + php_parse_date()). (Derick) + +GD: + . Fixed bug #74435 (Buffer over-read into uninitialized memory). (cmb) + +OpenSSL: + . Fixed bug #74651 (negative-size-param (-1) in memcpy in zif_openssl_seal()). + (Stas) + +WDDX: + . Fixed bug #74145 (wddx parsing empty boolean tag leads to SIGSEGV). (Stas) 19 Jan 2017, PHP 5.6.30 From 73cabfedf519298e1a11192699f44d53c529315e Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Mon, 19 Jun 2017 23:06:24 -0700 Subject: [PATCH 11/16] Fix bug #74651 - check EVP_SealInit as it can return -1 --- ext/openssl/openssl.c | 2 +- ext/openssl/tests/74651.pem | 27 +++++++++++++++++++++++++++ ext/openssl/tests/bug74651.phpt | 17 +++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 ext/openssl/tests/74651.pem create mode 100644 ext/openssl/tests/bug74651.phpt diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 6203267a05793..2107b9ba5905b 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -5421,7 +5421,7 @@ PHP_FUNCTION(openssl_seal) buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(ctx)); EVP_CIPHER_CTX_cleanup(ctx); - if (!EVP_SealInit(ctx, cipher, eks, eksl, &iv_buf[0], pkeys, nkeys) || + if (EVP_SealInit(ctx, cipher, eks, eksl, &iv_buf[0], pkeys, nkeys) <= 0 || !EVP_SealUpdate(ctx, buf, &len1, (unsigned char *)data, (int)data_len) || !EVP_SealFinal(ctx, buf + len1, &len2)) { RETVAL_FALSE; diff --git a/ext/openssl/tests/74651.pem b/ext/openssl/tests/74651.pem new file mode 100644 index 0000000000000..4ed5905ee54d8 --- /dev/null +++ b/ext/openssl/tests/74651.pem @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEoDCCBAmgAwIBAgIBJzANBgkqhkiG9w0BAQQFADCBkDELMAkGA1UEFhMCUk8x +EDAOBgNVBAgTB1JvbWFuaWExEDAOBgNVBAcTB0NyYWlvdmExDzANBgNVBAoTBlNl +cmdpdTETMBEGA1UECxMKU2VyZ2l1IFNSTDESMBAGA1UEAxMJU2VyZ2l1IENBMSMw +IQYJKoZIhvcNAQkBFhRuX3NlcmdpdUBob3RtYWlsLmNvbTAeFw0wNDA1MTQxMzM0 +NTZaFw0wNTA1MTQxMzM0NTZaMIGaMQswCQYDVQQGEwJSTzEQMA4GA1UECBMHUm9t +YW5pYTEQMA4GA1UEBxMHQ3JhaW92YTETMBEGA1UEChMKU2VyZ2l1IFNSTDETMBEG +A1UECxMKU2VyZ2l1IFNSTDEYMBYGA1UEAxMPU2VyZ2l1IHBlcnNvbmFsMSMwIQYJ +KoZIhvcNAQkBFhRuX3NlcmdpdUBob3RtYWlsLmNvbTCBnzANBgkqhkiG9w0BAQEF +AAOBjQAwgYkCgYEApNj7XXz8T8FcLIWpBniPYom3QcT6T7u0xRPHqtqzj5oboBYp +DJe5d354/y0gJTpiLt8+fTrPgWXnbHm3pOHgXzTcX6Arani0GDU0/xDi4VkCRGcS +YqX2sJpcDzAbmK9UDMt3xf/O1B8AJan3RfO0Bm3ozTEPziLMkmsiYr5b/L4CAwEA +AaOCAfwwggH4MAkGA1UdEwQCMAAwNQYJYIZIAYb4QgENBCgWJkZvciBHcmlkIHVz +ZSBvbmx5OyByZXF1ZXN0IHRhZyB1c2VyVGFnMBEGCWCGSAGG+EIBAQQEAwIF4DA/ +BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vbW9iaWxlLmJsdWUtc29mdHdhcmUucm86 +OTAvY2EvY3JsLnNodG1sMDUGCWCGSAGG+EIBCAQoFiZodHRwOi8vbW9iaWxlLmJs +dWUtc29mdHdhcmUucm86OTAvcHViLzAhBgNVHREEGjAYgRZzZXJnaXVAYmx1ZXNv +ZnR3YXJlLnJvMB0GA1UdDgQWBBSwp//5QRXeIzm93TEPl6CyonTg/DCBpwYDVR0j +BIGfMIGcoYGWpIGTMIGQMQswCQYDVQQGEwJSTzEQMA4GA1UECBMHUm9tYW5pYTEQ +MA4GA1UEBxMHQ3JhaW92YTEPMA0GA1UEChMGU2VyZ2l1MRMwEQYDVQQLEwpTZXJn +aXUgU1JMMRIwEAYDVQQDEwlTZXJnaXUgQ0ExIzAhBgkqhkiG9w0BCQEWFG5fc2Vy +Z2l1QGhvdG1haWwuY29tggEAMAsGA1UdDwQEAwIE8DAjBglghkgBhvhCAQIEFhYU +aHR0cDovLzYyLjIzMS45OC41Mi8wCwYDKgMEBAQ+52I0MA0GCSqGSIb3DQEBBAUA +A4GBAIBIOJ+iiLyQfNJEY+IMefayQea0nmuXYY+F+L1DFjSC7xChytgYoPNnKkhh +3dWPtxbswiqKYUnGi6y3Hi4UhDsOaDW29t2S305hSc2qgjOiNtRYQIVYQ8EHG1k7 +Fl63S7uCOhnVJt+4MnUK1N6/pwgsp+Z2GvEsDG1qCKnvNpf6 +-----END CERTIFICATE----- diff --git a/ext/openssl/tests/bug74651.phpt b/ext/openssl/tests/bug74651.phpt new file mode 100644 index 0000000000000..f86394bdd5fdf --- /dev/null +++ b/ext/openssl/tests/bug74651.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #74651: negative-size-param (-1) in memcpy in zif_openssl_seal() +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +resource(%d) of type (OpenSSL key) +bool(false) \ No newline at end of file From 05255749139b3686c8a6a58ee01131ac0047465e Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 20 Jun 2017 00:09:01 -0700 Subject: [PATCH 12/16] Fix bug #74603 - use correct buffer size --- Zend/tests/bug74603.ini | 1 + Zend/tests/bug74603.phpt | 15 +++++++++++++++ Zend/zend_ini_parser.y | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 Zend/tests/bug74603.ini create mode 100644 Zend/tests/bug74603.phpt diff --git a/Zend/tests/bug74603.ini b/Zend/tests/bug74603.ini new file mode 100644 index 0000000000000..8d74a570ec88a --- /dev/null +++ b/Zend/tests/bug74603.ini @@ -0,0 +1 @@ +0=0&~2000000000 diff --git a/Zend/tests/bug74603.phpt b/Zend/tests/bug74603.phpt new file mode 100644 index 0000000000000..b3194ecd48f7d --- /dev/null +++ b/Zend/tests/bug74603.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug #74603 (PHP INI Parsing Stack Buffer Overflow Vulnerability) +--SKIPIF-- + +--EXPECT-- +array(1) { + [0]=> + string(1) "0" +} diff --git a/Zend/zend_ini_parser.y b/Zend/zend_ini_parser.y index e83f02f98338e..f25258108150a 100644 --- a/Zend/zend_ini_parser.y +++ b/Zend/zend_ini_parser.y @@ -55,7 +55,7 @@ static void zend_ini_do_op(char type, zval *result, zval *op1, zval *op2) int i_result; int i_op1, i_op2; int str_len; - char str_result[MAX_LENGTH_OF_LONG]; + char str_result[MAX_LENGTH_OF_LONG+1]; i_op1 = atoi(Z_STRVAL_P(op1)); zend_string_free(Z_STR_P(op1)); From 3a25a56a92ac1d0d6028a8ecd32ccf03bcd71ade Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sun, 25 Jun 2017 21:15:26 +0200 Subject: [PATCH 13/16] Fixed bug #74111 --- ext/standard/tests/serialize/bug25378.phpt | 2 +- ext/standard/var_unserializer.c | 1157 ++++++++++---------- ext/standard/var_unserializer.re | 11 +- 3 files changed, 572 insertions(+), 598 deletions(-) diff --git a/ext/standard/tests/serialize/bug25378.phpt b/ext/standard/tests/serialize/bug25378.phpt index e865b96e9935f..e95a427006201 100644 --- a/ext/standard/tests/serialize/bug25378.phpt +++ b/ext/standard/tests/serialize/bug25378.phpt @@ -42,7 +42,7 @@ bool(false) Notice: unserialize(): Error at offset 17 of 33 bytes in %sbug25378.php on line %d bool(false) -Notice: unserialize(): Error at offset 33 of 32 bytes in %sbug25378.php on line %d +Notice: unserialize(): Error at offset 32 of 32 bytes in %sbug25378.php on line %d bool(false) Notice: unserialize(): Error at offset 2 of 13 bytes in %sbug25378.php on line %d diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index f9ebbe0a6a53e..c50347d781f07 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.16 */ +/* Generated by re2c 0.15.3 */ #line 1 "ext/standard/var_unserializer.re" /* +----------------------------------------------------------------------+ @@ -428,13 +428,12 @@ static zend_always_inline int process_nested_data(UNSERIALIZE_PARAMETER, HashTab static inline int finish_nested_data(UNSERIALIZE_PARAMETER) { - if (*((*p)++) == '}') - return 1; + if (*p >= max || **p != '}') { + return 0; + } -#if SOMETHING_NEW_MIGHT_LEAD_TO_CRASH_ENABLE_IF_YOU_ARE_BRAVE - zval_ptr_dtor(rval); -#endif - return 0; + (*p)++; + return 1; } static inline int object_custom(UNSERIALIZE_PARAMETER, zend_class_entry *ce) @@ -582,7 +581,7 @@ static int php_var_unserialize_internal(UNSERIALIZE_PARAMETER) start = cursor; -#line 586 "ext/standard/var_unserializer.c" +#line 585 "ext/standard/var_unserializer.c" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -623,410 +622,536 @@ static int php_var_unserialize_internal(UNSERIALIZE_PARAMETER) yych = *YYCURSOR; switch (yych) { case 'C': - case 'O': goto yy4; + case 'O': goto yy13; case 'N': goto yy5; - case 'R': goto yy6; - case 'S': goto yy7; - case 'a': goto yy8; - case 'b': goto yy9; - case 'd': goto yy10; - case 'i': goto yy11; + case 'R': goto yy2; + case 'S': goto yy10; + case 'a': goto yy11; + case 'b': goto yy6; + case 'd': goto yy8; + case 'i': goto yy7; case 'o': goto yy12; - case 'r': goto yy13; - case 's': goto yy14; - case '}': goto yy15; - default: goto yy2; + case 'r': goto yy4; + case 's': goto yy9; + case '}': goto yy14; + default: goto yy16; } yy2: - ++YYCURSOR; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == ':') goto yy95; yy3: -#line 963 "ext/standard/var_unserializer.re" +#line 962 "ext/standard/var_unserializer.re" { return 0; } #line 646 "ext/standard/var_unserializer.c" yy4: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy17; + if (yych == ':') goto yy89; goto yy3; yy5: yych = *++YYCURSOR; - if (yych == ';') goto yy19; + if (yych == ';') goto yy87; goto yy3; yy6: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy21; + if (yych == ':') goto yy83; goto yy3; yy7: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy22; + if (yych == ':') goto yy77; goto yy3; yy8: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy23; + if (yych == ':') goto yy53; goto yy3; yy9: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy24; + if (yych == ':') goto yy46; goto yy3; yy10: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy25; + if (yych == ':') goto yy39; goto yy3; yy11: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy26; + if (yych == ':') goto yy32; goto yy3; yy12: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy27; + if (yych == ':') goto yy25; goto yy3; yy13: yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy28; + if (yych == ':') goto yy17; goto yy3; yy14: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy29; - goto yy3; -yy15: ++YYCURSOR; -#line 957 "ext/standard/var_unserializer.re" +#line 956 "ext/standard/var_unserializer.re" { /* this is the case where we have less data than planned */ php_error_docref(NULL, E_NOTICE, "Unexpected end of serialized data"); return 0; /* not sure if it should be 0 or 1 here? */ } -#line 699 "ext/standard/var_unserializer.c" +#line 695 "ext/standard/var_unserializer.c" +yy16: + yych = *++YYCURSOR; + goto yy3; yy17: yych = *++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy31; + goto yy20; } - if (yych == '+') goto yy30; + if (yych == '+') goto yy19; yy18: YYCURSOR = YYMARKER; goto yy3; yy19: - ++YYCURSOR; -#line 641 "ext/standard/var_unserializer.re" - { - *p = YYCURSOR; - ZVAL_NULL(rval); - return 1; -} -#line 717 "ext/standard/var_unserializer.c" -yy21: yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy33; - goto yy18; - } else { - if (yych <= '-') goto yy33; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy34; - goto yy18; + if (yybm[0+yych] & 128) { + goto yy20; } -yy22: - yych = *++YYCURSOR; - if (yych == '+') goto yy36; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy37; - goto yy18; -yy23: - yych = *++YYCURSOR; - if (yych == '+') goto yy39; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy40; goto yy18; -yy24: - yych = *++YYCURSOR; +yy20: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy20; + } if (yych <= '/') goto yy18; - if (yych <= '1') goto yy42; - goto yy18; -yy25: + if (yych >= ';') goto yy18; yych = *++YYCURSOR; - if (yych <= '/') { - if (yych <= ',') { - if (yych == '+') goto yy43; - goto yy18; - } else { - if (yych <= '-') goto yy44; - if (yych <= '.') goto yy45; - goto yy18; + if (yych != '"') goto yy18; + ++YYCURSOR; +#line 804 "ext/standard/var_unserializer.re" + { + size_t len, len2, len3, maxlen; + zend_long elements; + char *str; + zend_string *class_name; + zend_class_entry *ce; + int incomplete_class = 0; + + int custom_object = 0; + + zval user_func; + zval retval; + zval args[1]; + + if (!var_hash) return 0; + if (*start == 'C') { + custom_object = 1; + } + + len2 = len = parse_uiv(start + 2); + maxlen = max - YYCURSOR; + if (maxlen < len || len == 0) { + *p = start + 2; + return 0; + } + + str = (char*)YYCURSOR; + + YYCURSOR += len; + + if (*(YYCURSOR) != '"') { + *p = YYCURSOR; + return 0; + } + if (*(YYCURSOR+1) != ':') { + *p = YYCURSOR+1; + return 0; + } + + len3 = strspn(str, "0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377\\"); + if (len3 != len) + { + *p = YYCURSOR + len3 - len; + return 0; + } + + class_name = zend_string_init(str, len, 0); + + do { + if(!unserialize_allowed_class(class_name, classes)) { + incomplete_class = 1; + ce = PHP_IC_ENTRY; + break; } - } else { - if (yych <= 'I') { - if (yych <= '9') goto yy46; - if (yych <= 'H') goto yy18; - goto yy48; - } else { - if (yych == 'N') goto yy49; - goto yy18; + + /* Try to find class directly */ + BG(serialize_lock)++; + ce = zend_lookup_class(class_name); + if (ce) { + BG(serialize_lock)--; + if (EG(exception)) { + zend_string_release(class_name); + return 0; + } + break; + } + BG(serialize_lock)--; + + if (EG(exception)) { + zend_string_release(class_name); + return 0; + } + + /* Check for unserialize callback */ + if ((PG(unserialize_callback_func) == NULL) || (PG(unserialize_callback_func)[0] == '\0')) { + incomplete_class = 1; + ce = PHP_IC_ENTRY; + break; + } + + /* Call unserialize callback */ + ZVAL_STRING(&user_func, PG(unserialize_callback_func)); + + ZVAL_STR_COPY(&args[0], class_name); + BG(serialize_lock)++; + if (call_user_function_ex(CG(function_table), NULL, &user_func, &retval, 1, args, 0, NULL) != SUCCESS) { + BG(serialize_lock)--; + if (EG(exception)) { + zend_string_release(class_name); + zval_ptr_dtor(&user_func); + zval_ptr_dtor(&args[0]); + return 0; + } + php_error_docref(NULL, E_WARNING, "defined (%s) but not found", Z_STRVAL(user_func)); + incomplete_class = 1; + ce = PHP_IC_ENTRY; + zval_ptr_dtor(&user_func); + zval_ptr_dtor(&args[0]); + break; + } + BG(serialize_lock)--; + zval_ptr_dtor(&retval); + if (EG(exception)) { + zend_string_release(class_name); + zval_ptr_dtor(&user_func); + zval_ptr_dtor(&args[0]); + return 0; + } + + /* The callback function may have defined the class */ + BG(serialize_lock)++; + if ((ce = zend_lookup_class(class_name)) == NULL) { + php_error_docref(NULL, E_WARNING, "Function %s() hasn't defined the class it was called for", Z_STRVAL(user_func)); + incomplete_class = 1; + ce = PHP_IC_ENTRY; + } + BG(serialize_lock)--; + + zval_ptr_dtor(&user_func); + zval_ptr_dtor(&args[0]); + break; + } while (1); + + *p = YYCURSOR; + + if (custom_object) { + int ret; + + ret = object_custom(UNSERIALIZE_PASSTHRU, ce); + + if (ret && incomplete_class) { + php_store_class_name(rval, ZSTR_VAL(class_name), len2); } + zend_string_release(class_name); + return ret; } -yy26: - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy50; - goto yy18; - } else { - if (yych <= '-') goto yy50; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy51; - goto yy18; + + elements = object_common1(UNSERIALIZE_PASSTHRU, ce); + + if (elements < 0) { + zend_string_release(class_name); + return 0; } -yy27: - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy53; - goto yy18; - } else { - if (yych <= '-') goto yy53; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy54; - goto yy18; + + if (incomplete_class) { + php_store_class_name(rval, ZSTR_VAL(class_name), len2); } -yy28: + zend_string_release(class_name); + + return object_common2(UNSERIALIZE_PASSTHRU, elements); +} +#line 878 "ext/standard/var_unserializer.c" +yy25: yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '+') goto yy56; - goto yy18; + if (yych != '+') goto yy18; } else { - if (yych <= '-') goto yy56; + if (yych <= '-') goto yy26; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy57; + if (yych <= '9') goto yy27; goto yy18; } -yy29: +yy26: yych = *++YYCURSOR; - if (yych == '+') goto yy59; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy60; - goto yy18; -yy30: - yych = *++YYCURSOR; - if (yybm[0+yych] & 128) { - goto yy31; - } - goto yy18; -yy31: + if (yych >= ':') goto yy18; +yy27: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - if (yybm[0+yych] & 128) { - goto yy31; - } if (yych <= '/') goto yy18; - if (yych <= ':') goto yy62; - goto yy18; -yy33: + if (yych <= '9') goto yy27; + if (yych >= ';') goto yy18; yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy34: + if (yych != '"') goto yy18; ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; +#line 793 "ext/standard/var_unserializer.re" + { + zend_long elements; + if (!var_hash) return 0; + + elements = object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR); + if (elements < 0 || elements >= HT_MAX_SIZE) { + return 0; + } + return object_common2(UNSERIALIZE_PASSTHRU, elements); +} +#line 914 "ext/standard/var_unserializer.c" +yy32: + yych = *++YYCURSOR; + if (yych == '+') goto yy33; if (yych <= '/') goto yy18; if (yych <= '9') goto yy34; - if (yych == ';') goto yy63; goto yy18; -yy36: +yy33: yych = *++YYCURSOR; if (yych <= '/') goto yy18; if (yych >= ':') goto yy18; -yy37: +yy34: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy37; - if (yych <= ':') goto yy65; - goto yy18; -yy39: + if (yych <= '9') goto yy34; + if (yych >= ';') goto yy18; yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy40: + if (yych != '{') goto yy18; ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy40; - if (yych <= ':') goto yy66; - goto yy18; -yy42: - yych = *++YYCURSOR; - if (yych == ';') goto yy67; - goto yy18; -yy43: - yych = *++YYCURSOR; - if (yych == '.') goto yy45; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy46; - goto yy18; -yy44: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych != '.') goto yy18; - } else { - if (yych <= '9') goto yy46; - if (yych == 'I') goto yy48; - goto yy18; +#line 769 "ext/standard/var_unserializer.re" + { + zend_long elements = parse_iv(start + 2); + /* use iv() not uiv() in order to check data range */ + *p = YYCURSOR; + if (!var_hash) return 0; + + if (elements < 0 || elements >= HT_MAX_SIZE) { + return 0; } -yy45: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy69; - goto yy18; -yy46: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); - yych = *YYCURSOR; - if (yych <= ':') { - if (yych <= '.') { - if (yych <= '-') goto yy18; - goto yy69; - } else { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy46; - goto yy18; - } - } else { - if (yych <= 'E') { - if (yych <= ';') goto yy71; - if (yych <= 'D') goto yy18; - goto yy73; - } else { - if (yych == 'e') goto yy73; - goto yy18; - } + + array_init_size(rval, elements); + if (elements) { + /* we can't convert from packed to hash during unserialization, because + reference to some zvals might be keept in var_hash (to support references) */ + zend_hash_real_init(Z_ARRVAL_P(rval), 0); } -yy48: - yych = *++YYCURSOR; - if (yych == 'N') goto yy74; - goto yy18; -yy49: - yych = *++YYCURSOR; - if (yych == 'A') goto yy75; - goto yy18; -yy50: + + if (!process_nested_data(UNSERIALIZE_PASSTHRU, Z_ARRVAL_P(rval), elements, 0)) { + return 0; + } + + return finish_nested_data(UNSERIALIZE_PASSTHRU); +} +#line 959 "ext/standard/var_unserializer.c" +yy39: yych = *++YYCURSOR; + if (yych == '+') goto yy40; if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy51: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy51; - if (yych == ';') goto yy76; + if (yych <= '9') goto yy41; goto yy18; -yy53: +yy40: yych = *++YYCURSOR; if (yych <= '/') goto yy18; if (yych >= ':') goto yy18; -yy54: +yy41: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy54; - if (yych <= ':') goto yy78; - goto yy18; -yy56: + if (yych <= '9') goto yy41; + if (yych >= ';') goto yy18; yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy57: + if (yych != '"') goto yy18; ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; +#line 735 "ext/standard/var_unserializer.re" + { + size_t len, maxlen; + zend_string *str; + + len = parse_uiv(start + 2); + maxlen = max - YYCURSOR; + if (maxlen < len) { + *p = start + 2; + return 0; + } + + if ((str = unserialize_str(&YYCURSOR, len, maxlen)) == NULL) { + return 0; + } + + if (*(YYCURSOR) != '"') { + zend_string_free(str); + *p = YYCURSOR; + return 0; + } + + if (*(YYCURSOR + 1) != ';') { + efree(str); + *p = YYCURSOR + 1; + return 0; + } + + YYCURSOR += 2; + *p = YYCURSOR; + + ZVAL_STR(rval, str); + return 1; +} +#line 1014 "ext/standard/var_unserializer.c" +yy46: + yych = *++YYCURSOR; + if (yych == '+') goto yy47; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy57; - if (yych == ';') goto yy79; + if (yych <= '9') goto yy48; goto yy18; -yy59: +yy47: yych = *++YYCURSOR; if (yych <= '/') goto yy18; if (yych >= ':') goto yy18; -yy60: +yy48: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy60; - if (yych <= ':') goto yy81; - goto yy18; -yy62: + if (yych <= '9') goto yy48; + if (yych >= ';') goto yy18; yych = *++YYCURSOR; - if (yych == '"') goto yy82; - goto yy18; -yy63: + if (yych != '"') goto yy18; ++YYCURSOR; -#line 590 "ext/standard/var_unserializer.re" +#line 703 "ext/standard/var_unserializer.re" { - zend_long id; - - *p = YYCURSOR; - if (!var_hash) return 0; + size_t len, maxlen; + char *str; - id = parse_iv(start + 2) - 1; - if (id == -1 || (rval_ref = var_access(var_hash, id)) == NULL) { + len = parse_uiv(start + 2); + maxlen = max - YYCURSOR; + if (maxlen < len) { + *p = start + 2; return 0; } - zval_ptr_dtor(rval); - if (Z_ISUNDEF_P(rval_ref) || (Z_ISREF_P(rval_ref) && Z_ISUNDEF_P(Z_REFVAL_P(rval_ref)))) { - ZVAL_UNDEF(rval); - return 1; + str = (char*)YYCURSOR; + + YYCURSOR += len; + + if (*(YYCURSOR) != '"') { + *p = YYCURSOR; + return 0; } - if (Z_ISREF_P(rval_ref)) { - ZVAL_COPY(rval, rval_ref); - } else { - ZVAL_NEW_REF(rval_ref, rval_ref); - ZVAL_COPY(rval, rval_ref); + + if (*(YYCURSOR + 1) != ';') { + *p = YYCURSOR + 1; + return 0; } + YYCURSOR += 2; + *p = YYCURSOR; + + ZVAL_STRINGL(rval, str, len); return 1; } -#line 993 "ext/standard/var_unserializer.c" -yy65: +#line 1067 "ext/standard/var_unserializer.c" +yy53: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych <= ',') { + if (yych == '+') goto yy57; + goto yy18; + } else { + if (yych <= '-') goto yy55; + if (yych <= '.') goto yy60; + goto yy18; + } + } else { + if (yych <= 'I') { + if (yych <= '9') goto yy58; + if (yych <= 'H') goto yy18; + goto yy56; + } else { + if (yych != 'N') goto yy18; + } + } yych = *++YYCURSOR; - if (yych == '"') goto yy84; + if (yych == 'A') goto yy76; goto yy18; -yy66: +yy55: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy60; + goto yy18; + } else { + if (yych <= '9') goto yy58; + if (yych != 'I') goto yy18; + } +yy56: yych = *++YYCURSOR; - if (yych == '{') goto yy86; + if (yych == 'N') goto yy72; goto yy18; -yy67: +yy57: + yych = *++YYCURSOR; + if (yych == '.') goto yy60; + if (yych <= '/') goto yy18; + if (yych >= ':') goto yy18; +yy58: ++YYCURSOR; -#line 647 "ext/standard/var_unserializer.re" - { - *p = YYCURSOR; - ZVAL_BOOL(rval, parse_iv(start + 2)); - return 1; -} -#line 1010 "ext/standard/var_unserializer.c" -yy69: + if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); + yych = *YYCURSOR; + if (yych <= ':') { + if (yych <= '.') { + if (yych <= '-') goto yy18; + goto yy70; + } else { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy58; + goto yy18; + } + } else { + if (yych <= 'E') { + if (yych <= ';') goto yy63; + if (yych <= 'D') goto yy18; + goto yy65; + } else { + if (yych == 'e') goto yy65; + goto yy18; + } + } +yy60: + yych = *++YYCURSOR; + if (yych <= '/') goto yy18; + if (yych >= ':') goto yy18; +yy61: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych <= ';') { if (yych <= '/') goto yy18; - if (yych <= '9') goto yy69; + if (yych <= '9') goto yy61; if (yych <= ':') goto yy18; } else { if (yych <= 'E') { if (yych <= 'D') goto yy18; - goto yy73; + goto yy65; } else { - if (yych == 'e') goto yy73; + if (yych == 'e') goto yy65; goto yy18; } } -yy71: +yy63: ++YYCURSOR; -#line 695 "ext/standard/var_unserializer.re" +#line 694 "ext/standard/var_unserializer.re" { #if SIZEOF_ZEND_LONG == 4 use_double: @@ -1035,407 +1160,257 @@ static int php_var_unserialize_internal(UNSERIALIZE_PARAMETER) ZVAL_DOUBLE(rval, zend_strtod((const char *)start + 2, NULL)); return 1; } -#line 1039 "ext/standard/var_unserializer.c" -yy73: +#line 1164 "ext/standard/var_unserializer.c" +yy65: yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '+') goto yy88; - goto yy18; + if (yych != '+') goto yy18; } else { - if (yych <= '-') goto yy88; + if (yych <= '-') goto yy66; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy89; + if (yych <= '9') goto yy67; goto yy18; } -yy74: +yy66: yych = *++YYCURSOR; - if (yych == 'F') goto yy91; + if (yych <= ',') { + if (yych == '+') goto yy69; + goto yy18; + } else { + if (yych <= '-') goto yy69; + if (yych <= '/') goto yy18; + if (yych >= ':') goto yy18; + } +yy67: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy67; + if (yych == ';') goto yy63; goto yy18; -yy75: +yy69: yych = *++YYCURSOR; - if (yych == 'N') goto yy91; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy67; goto yy18; -yy76: +yy70: ++YYCURSOR; -#line 653 "ext/standard/var_unserializer.re" - { -#if SIZEOF_ZEND_LONG == 4 - int digits = YYCURSOR - start - 3; - - if (start[2] == '-' || start[2] == '+') { - digits--; - } - - /* Use double for large zend_long values that were serialized on a 64-bit system */ - if (digits >= MAX_LENGTH_OF_LONG - 1) { - if (digits == MAX_LENGTH_OF_LONG - 1) { - int cmp = strncmp((char*)YYCURSOR - MAX_LENGTH_OF_LONG, long_min_digits, MAX_LENGTH_OF_LONG - 1); - - if (!(cmp < 0 || (cmp == 0 && start[2] == '-'))) { - goto use_double; - } + if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); + yych = *YYCURSOR; + if (yych <= ';') { + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy70; + if (yych <= ':') goto yy18; + goto yy63; + } else { + if (yych <= 'E') { + if (yych <= 'D') goto yy18; + goto yy65; } else { - goto use_double; + if (yych == 'e') goto yy65; + goto yy18; } } -#endif - *p = YYCURSOR; - ZVAL_LONG(rval, parse_iv(start + 2)); - return 1; -} -#line 1087 "ext/standard/var_unserializer.c" -yy78: +yy72: yych = *++YYCURSOR; - if (yych == '"') goto yy92; - goto yy18; -yy79: + if (yych != 'F') goto yy18; +yy73: + yych = *++YYCURSOR; + if (yych != ';') goto yy18; ++YYCURSOR; -#line 616 "ext/standard/var_unserializer.re" +#line 678 "ext/standard/var_unserializer.re" { - zend_long id; - - *p = YYCURSOR; - if (!var_hash) return 0; - - id = parse_iv(start + 2) - 1; - if (id == -1 || (rval_ref = var_access(var_hash, id)) == NULL) { - return 0; - } - - if (rval_ref == rval) { - return 0; - } + *p = YYCURSOR; - if (Z_ISUNDEF_P(rval_ref) || (Z_ISREF_P(rval_ref) && Z_ISUNDEF_P(Z_REFVAL_P(rval_ref)))) { - ZVAL_UNDEF(rval); - return 1; + if (!strncmp((char*)start + 2, "NAN", 3)) { + ZVAL_DOUBLE(rval, php_get_nan()); + } else if (!strncmp((char*)start + 2, "INF", 3)) { + ZVAL_DOUBLE(rval, php_get_inf()); + } else if (!strncmp((char*)start + 2, "-INF", 4)) { + ZVAL_DOUBLE(rval, -php_get_inf()); + } else { + ZVAL_NULL(rval); } - ZVAL_COPY(rval, rval_ref); - return 1; } -#line 1119 "ext/standard/var_unserializer.c" -yy81: +#line 1239 "ext/standard/var_unserializer.c" +yy76: yych = *++YYCURSOR; - if (yych == '"') goto yy94; + if (yych == 'N') goto yy73; goto yy18; -yy82: +yy77: + yych = *++YYCURSOR; + if (yych <= ',') { + if (yych != '+') goto yy18; + } else { + if (yych <= '-') goto yy78; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy79; + goto yy18; + } +yy78: + yych = *++YYCURSOR; + if (yych <= '/') goto yy18; + if (yych >= ':') goto yy18; +yy79: ++YYCURSOR; -#line 805 "ext/standard/var_unserializer.re" + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy79; + if (yych != ';') goto yy18; + ++YYCURSOR; +#line 652 "ext/standard/var_unserializer.re" { - size_t len, len2, len3, maxlen; - zend_long elements; - char *str; - zend_string *class_name; - zend_class_entry *ce; - int incomplete_class = 0; - - int custom_object = 0; - - zval user_func; - zval retval; - zval args[1]; - - if (!var_hash) return 0; - if (*start == 'C') { - custom_object = 1; - } - - len2 = len = parse_uiv(start + 2); - maxlen = max - YYCURSOR; - if (maxlen < len || len == 0) { - *p = start + 2; - return 0; - } - - str = (char*)YYCURSOR; - - YYCURSOR += len; - - if (*(YYCURSOR) != '"') { - *p = YYCURSOR; - return 0; - } - if (*(YYCURSOR+1) != ':') { - *p = YYCURSOR+1; - return 0; - } +#if SIZEOF_ZEND_LONG == 4 + int digits = YYCURSOR - start - 3; - len3 = strspn(str, "0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377\\"); - if (len3 != len) - { - *p = YYCURSOR + len3 - len; - return 0; + if (start[2] == '-' || start[2] == '+') { + digits--; } - class_name = zend_string_init(str, len, 0); - - do { - if(!unserialize_allowed_class(class_name, classes)) { - incomplete_class = 1; - ce = PHP_IC_ENTRY; - break; - } - - /* Try to find class directly */ - BG(serialize_lock)++; - ce = zend_lookup_class(class_name); - if (ce) { - BG(serialize_lock)--; - if (EG(exception)) { - zend_string_release(class_name); - return 0; - } - break; - } - BG(serialize_lock)--; - - if (EG(exception)) { - zend_string_release(class_name); - return 0; - } - - /* Check for unserialize callback */ - if ((PG(unserialize_callback_func) == NULL) || (PG(unserialize_callback_func)[0] == '\0')) { - incomplete_class = 1; - ce = PHP_IC_ENTRY; - break; - } - - /* Call unserialize callback */ - ZVAL_STRING(&user_func, PG(unserialize_callback_func)); + /* Use double for large zend_long values that were serialized on a 64-bit system */ + if (digits >= MAX_LENGTH_OF_LONG - 1) { + if (digits == MAX_LENGTH_OF_LONG - 1) { + int cmp = strncmp((char*)YYCURSOR - MAX_LENGTH_OF_LONG, long_min_digits, MAX_LENGTH_OF_LONG - 1); - ZVAL_STR_COPY(&args[0], class_name); - BG(serialize_lock)++; - if (call_user_function_ex(CG(function_table), NULL, &user_func, &retval, 1, args, 0, NULL) != SUCCESS) { - BG(serialize_lock)--; - if (EG(exception)) { - zend_string_release(class_name); - zval_ptr_dtor(&user_func); - zval_ptr_dtor(&args[0]); - return 0; + if (!(cmp < 0 || (cmp == 0 && start[2] == '-'))) { + goto use_double; } - php_error_docref(NULL, E_WARNING, "defined (%s) but not found", Z_STRVAL(user_func)); - incomplete_class = 1; - ce = PHP_IC_ENTRY; - zval_ptr_dtor(&user_func); - zval_ptr_dtor(&args[0]); - break; - } - BG(serialize_lock)--; - zval_ptr_dtor(&retval); - if (EG(exception)) { - zend_string_release(class_name); - zval_ptr_dtor(&user_func); - zval_ptr_dtor(&args[0]); - return 0; - } - - /* The callback function may have defined the class */ - BG(serialize_lock)++; - if ((ce = zend_lookup_class(class_name)) == NULL) { - php_error_docref(NULL, E_WARNING, "Function %s() hasn't defined the class it was called for", Z_STRVAL(user_func)); - incomplete_class = 1; - ce = PHP_IC_ENTRY; - } - BG(serialize_lock)--; - - zval_ptr_dtor(&user_func); - zval_ptr_dtor(&args[0]); - break; - } while (1); - - *p = YYCURSOR; - - if (custom_object) { - int ret; - - ret = object_custom(UNSERIALIZE_PASSTHRU, ce); - - if (ret && incomplete_class) { - php_store_class_name(rval, ZSTR_VAL(class_name), len2); + } else { + goto use_double; } - zend_string_release(class_name); - return ret; - } - - elements = object_common1(UNSERIALIZE_PASSTHRU, ce); - - if (elements < 0) { - zend_string_release(class_name); - return 0; } - - if (incomplete_class) { - php_store_class_name(rval, ZSTR_VAL(class_name), len2); - } - zend_string_release(class_name); - - return object_common2(UNSERIALIZE_PASSTHRU, elements); +#endif + *p = YYCURSOR; + ZVAL_LONG(rval, parse_iv(start + 2)); + return 1; } -#line 1278 "ext/standard/var_unserializer.c" -yy84: +#line 1292 "ext/standard/var_unserializer.c" +yy83: + yych = *++YYCURSOR; + if (yych <= '/') goto yy18; + if (yych >= '2') goto yy18; + yych = *++YYCURSOR; + if (yych != ';') goto yy18; ++YYCURSOR; -#line 736 "ext/standard/var_unserializer.re" +#line 646 "ext/standard/var_unserializer.re" { - size_t len, maxlen; - zend_string *str; - - len = parse_uiv(start + 2); - maxlen = max - YYCURSOR; - if (maxlen < len) { - *p = start + 2; - return 0; - } - - if ((str = unserialize_str(&YYCURSOR, len, maxlen)) == NULL) { - return 0; - } - - if (*(YYCURSOR) != '"') { - zend_string_free(str); - *p = YYCURSOR; - return 0; - } - - if (*(YYCURSOR + 1) != ';') { - efree(str); - *p = YYCURSOR + 1; - return 0; - } - - YYCURSOR += 2; *p = YYCURSOR; - - ZVAL_STR(rval, str); + ZVAL_BOOL(rval, parse_iv(start + 2)); return 1; } -#line 1315 "ext/standard/var_unserializer.c" -yy86: +#line 1306 "ext/standard/var_unserializer.c" +yy87: ++YYCURSOR; -#line 770 "ext/standard/var_unserializer.re" +#line 640 "ext/standard/var_unserializer.re" { - zend_long elements = parse_iv(start + 2); - /* use iv() not uiv() in order to check data range */ *p = YYCURSOR; - if (!var_hash) return 0; - - if (elements < 0 || elements >= HT_MAX_SIZE) { - return 0; - } - - array_init_size(rval, elements); - if (elements) { - /* we can't convert from packed to hash during unserialization, because - reference to some zvals might be keept in var_hash (to support references) */ - zend_hash_real_init(Z_ARRVAL_P(rval), 0); - } - - if (!process_nested_data(UNSERIALIZE_PASSTHRU, Z_ARRVAL_P(rval), elements, 0)) { - return 0; - } - - return finish_nested_data(UNSERIALIZE_PASSTHRU); + ZVAL_NULL(rval); + return 1; } -#line 1342 "ext/standard/var_unserializer.c" -yy88: +#line 1315 "ext/standard/var_unserializer.c" +yy89: yych = *++YYCURSOR; if (yych <= ',') { - if (yych == '+') goto yy96; - goto yy18; + if (yych != '+') goto yy18; } else { - if (yych <= '-') goto yy96; + if (yych <= '-') goto yy90; if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; + if (yych <= '9') goto yy91; + goto yy18; } -yy89: +yy90: + yych = *++YYCURSOR; + if (yych <= '/') goto yy18; + if (yych >= ':') goto yy18; +yy91: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy89; - if (yych == ';') goto yy71; - goto yy18; -yy91: - yych = *++YYCURSOR; - if (yych == ';') goto yy97; - goto yy18; -yy92: + if (yych <= '9') goto yy91; + if (yych != ';') goto yy18; ++YYCURSOR; -#line 794 "ext/standard/var_unserializer.re" +#line 615 "ext/standard/var_unserializer.re" { - zend_long elements; - if (!var_hash) return 0; + zend_long id; - elements = object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR); - if (elements < 0 || elements >= HT_MAX_SIZE) { - return 0; - } - return object_common2(UNSERIALIZE_PASSTHRU, elements); -} -#line 1378 "ext/standard/var_unserializer.c" -yy94: - ++YYCURSOR; -#line 704 "ext/standard/var_unserializer.re" - { - size_t len, maxlen; - char *str; + *p = YYCURSOR; + if (!var_hash) return 0; - len = parse_uiv(start + 2); - maxlen = max - YYCURSOR; - if (maxlen < len) { - *p = start + 2; + id = parse_iv(start + 2) - 1; + if (id == -1 || (rval_ref = var_access(var_hash, id)) == NULL) { return 0; } - str = (char*)YYCURSOR; - - YYCURSOR += len; - - if (*(YYCURSOR) != '"') { - *p = YYCURSOR; + if (rval_ref == rval) { return 0; } - if (*(YYCURSOR + 1) != ';') { - *p = YYCURSOR + 1; - return 0; + if (Z_ISUNDEF_P(rval_ref) || (Z_ISREF_P(rval_ref) && Z_ISUNDEF_P(Z_REFVAL_P(rval_ref)))) { + ZVAL_UNDEF(rval); + return 1; } - YYCURSOR += 2; - *p = YYCURSOR; + ZVAL_COPY(rval, rval_ref); - ZVAL_STRINGL(rval, str, len); return 1; } -#line 1413 "ext/standard/var_unserializer.c" +#line 1363 "ext/standard/var_unserializer.c" +yy95: + yych = *++YYCURSOR; + if (yych <= ',') { + if (yych != '+') goto yy18; + } else { + if (yych <= '-') goto yy96; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy97; + goto yy18; + } yy96: yych = *++YYCURSOR; if (yych <= '/') goto yy18; - if (yych <= '9') goto yy89; - goto yy18; + if (yych >= ':') goto yy18; yy97: ++YYCURSOR; -#line 679 "ext/standard/var_unserializer.re" + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy18; + if (yych <= '9') goto yy97; + if (yych != ';') goto yy18; + ++YYCURSOR; +#line 589 "ext/standard/var_unserializer.re" { - *p = YYCURSOR; + zend_long id; - if (!strncmp((char*)start + 2, "NAN", 3)) { - ZVAL_DOUBLE(rval, php_get_nan()); - } else if (!strncmp((char*)start + 2, "INF", 3)) { - ZVAL_DOUBLE(rval, php_get_inf()); - } else if (!strncmp((char*)start + 2, "-INF", 4)) { - ZVAL_DOUBLE(rval, -php_get_inf()); + *p = YYCURSOR; + if (!var_hash) return 0; + + id = parse_iv(start + 2) - 1; + if (id == -1 || (rval_ref = var_access(var_hash, id)) == NULL) { + return 0; + } + + zval_ptr_dtor(rval); + if (Z_ISUNDEF_P(rval_ref) || (Z_ISREF_P(rval_ref) && Z_ISUNDEF_P(Z_REFVAL_P(rval_ref)))) { + ZVAL_UNDEF(rval); + return 1; + } + if (Z_ISREF_P(rval_ref)) { + ZVAL_COPY(rval, rval_ref); } else { - ZVAL_NULL(rval); + ZVAL_NEW_REF(rval_ref, rval_ref); + ZVAL_COPY(rval, rval_ref); } return 1; } -#line 1437 "ext/standard/var_unserializer.c" +#line 1412 "ext/standard/var_unserializer.c" } -#line 965 "ext/standard/var_unserializer.re" +#line 964 "ext/standard/var_unserializer.re" return 0; diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re index 1f5c7f2eab6a6..f3d17b63f6233 100644 --- a/ext/standard/var_unserializer.re +++ b/ext/standard/var_unserializer.re @@ -432,13 +432,12 @@ string_key: static inline int finish_nested_data(UNSERIALIZE_PARAMETER) { - if (*((*p)++) == '}') - return 1; + if (*p >= max || **p != '}') { + return 0; + } -#if SOMETHING_NEW_MIGHT_LEAD_TO_CRASH_ENABLE_IF_YOU_ARE_BRAVE - zval_ptr_dtor(rval); -#endif - return 0; + (*p)++; + return 1; } static inline int object_custom(UNSERIALIZE_PARAMETER, zend_class_entry *ce) From e46d5896240012f5291fe3f730c76d5f0d124fe4 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 4 Jul 2017 20:12:57 -0700 Subject: [PATCH 14/16] Fix tests --- ext/date/tests/date-time-modify-times.phpt | 4 ++-- ext/standard/tests/strings/bug70436.phpt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/date/tests/date-time-modify-times.phpt b/ext/date/tests/date-time-modify-times.phpt index 258ddbd420b16..e355f18e06b80 100644 --- a/ext/date/tests/date-time-modify-times.phpt +++ b/ext/date/tests/date-time-modify-times.phpt @@ -34,14 +34,14 @@ foreach ( $tests as $start => $data ) echo "\n"; ?> --EXPECT-- -Sat, 23 Oct 2010 00:00:00 +0000 +Fri, 15 Oct 2010 23:00:00 +0000 Wed, 15 Dec 2010 16:15:00 +0000 Mon, 20 Dec 2010 00:00:00 +0000 Mon, 20 Dec 2010 10:00:00 +0000 Tue, 21 Dec 2010 12:00:00 +0000 Mon, 03 Jan 2011 00:00:00 +0000 Mon, 03 Jan 2011 09:00:00 +0000 -Sat, 23 Oct 2010 00:00:00 +0100 +Fri, 15 Oct 2010 23:00:00 +0100 Sun, 28 Mar 2010 00:15:00 +0000 Sun, 28 Mar 2010 02:15:00 +0100 Sun, 28 Mar 2010 02:15:00 +0100 diff --git a/ext/standard/tests/strings/bug70436.phpt b/ext/standard/tests/strings/bug70436.phpt index c62e4687263c0..469988cc7e187 100644 --- a/ext/standard/tests/strings/bug70436.phpt +++ b/ext/standard/tests/strings/bug70436.phpt @@ -48,7 +48,7 @@ DONE --EXPECTF-- Notice: unserialize(): Error at offset 0 of 3 bytes in %sbug70436.php on line %d -Notice: unserialize(): Error at offset 17 of 17 bytes in %sbug70436.php on line %d +Notice: unserialize(): Error at offset 16 of 17 bytes in %sbug70436.php on line %d array(4) { [0]=> int(1) @@ -62,4 +62,4 @@ array(4) { [3]=> bool(false) } -DONE \ No newline at end of file +DONE From 6b18d956de38ecd8913c3d82ce96eb0368a1f9e5 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 4 Jul 2017 20:18:57 -0700 Subject: [PATCH 15/16] Fix wddx --- ext/wddx/wddx.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index 62c9e8eb7641b..c1fe0204a5826 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -761,9 +761,6 @@ static void php_wddx_push_element(void *user_data, const XML_Char *name, const X } else if (!strcmp((char *)name, EL_BOOLEAN)) { int i; - ALLOC_ZVAL(ent.data); - INIT_PZVAL(ent.data); - Z_TYPE_P(ent.data) = IS_BOOL; ent.type = ST_BOOLEAN; SET_STACK_VARNAME; if (atts) for (i = 0; atts[i]; i++) { @@ -774,7 +771,7 @@ static void php_wddx_push_element(void *user_data, const XML_Char *name, const X break; } } else { - ZVAL_FALSE(ent.data); + ZVAL_FALSE(&ent.data); wddx_stack_push((wddx_stack *)stack, &ent, sizeof(st_entry)); } } else if (!strcmp((char *)name, EL_NULL)) { From f269cdcd4f76accbecd03884f327cffb9a7f1ca9 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 4 Jul 2017 21:10:08 -0700 Subject: [PATCH 16/16] Improve fix for #74145 --- ext/wddx/wddx.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index 41fdd3d7954a9..ee72ba21160f3 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -799,18 +799,23 @@ static void php_wddx_push_element(void *user_data, const XML_Char *name, const X } else if (!strcmp(name, EL_BOOLEAN)) { int i; - ALLOC_ZVAL(ent.data); - INIT_PZVAL(ent.data); - Z_TYPE_P(ent.data) = IS_BOOL; - ent.type = ST_BOOLEAN; - SET_STACK_VARNAME; if (atts) for (i = 0; atts[i]; i++) { if (!strcmp(atts[i], EL_VALUE) && atts[i+1] && atts[i+1][0]) { + ALLOC_ZVAL(ent.data); + INIT_PZVAL(ent.data); + Z_TYPE_P(ent.data) = IS_BOOL; + ent.type = ST_BOOLEAN; + SET_STACK_VARNAME; wddx_stack_push((wddx_stack *)stack, &ent, sizeof(st_entry)); php_wddx_process_data(user_data, atts[i+1], strlen(atts[i+1])); break; } } else { + ALLOC_ZVAL(ent.data); + INIT_PZVAL(ent.data); + Z_TYPE_P(ent.data) = IS_BOOL; + ent.type = ST_BOOLEAN; + SET_STACK_VARNAME; ZVAL_FALSE(ent.data); wddx_stack_push((wddx_stack *)stack, &ent, sizeof(st_entry)); }