-/* Generated by re2c 0.9.12 on Thu Dec 14 15:32:34 2006 */
+/* Generated by re2c 0.10.2 on Thu Dec 21 19:19:25 2006 */
#line 1 "ext/standard/var_unserializer.re"
/*
+----------------------------------------------------------------------+
static inline int object_custom(UNSERIALIZE_PARAMETER, zend_class_entry *ce)
{
long datalen;
+ int type;
if(ce->unserialize == NULL) {
zend_error(E_WARNING, "Class %v has no unserializer", ce->name);
datalen = parse_iv2((*p) + 2, p);
- (*p) += 2;
-
+ switch((*p)[1]) {
+ case 'U':
+ type = IS_UNICODE;
+ (*p) += 4;
+ break;
+ case 'N':
+ (*p) += 2;
+ return finish_nested_data(UNSERIALIZE_PASSTHRU);
+ case '{':
+ type = IS_STRING;
+ (*p) += 2;
+ break;
+ default:
+ zend_error(E_WARNING, "Illegal data for unserializing");
+ return 0;
+ }
+
if(datalen < 0 || (*p) + datalen >= max) {
zend_error(E_WARNING, "Insufficient data for unserializing - %ld required, %d present", datalen, max - (*p));
return 0;
}
- if(ce->unserialize(rval, ce, (const unsigned char*)*p, datalen, (zend_unserialize_data *)var_hash TSRMLS_CC) != SUCCESS) {
+ if(ce->unserialize(rval, ce, type, ZSTR((char*)*p), datalen, (zend_unserialize_data *)var_hash TSRMLS_CC) != SUCCESS) {
return 0;
}
{
static unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
};
-#line 462 "ext/standard/var_unserializer.c"
-{
- YYCTYPE yych;
- unsigned int yyaccept = 0;
- goto yy0;
- ++YYCURSOR;
-yy0:
- if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
- yych = *YYCURSOR;
- switch(yych){
- case 'C': case 'O': goto yy14;
- case 'N': goto yy5;
- case 'R': goto yy2;
- case 'S': goto yy10;
- case 'U': goto yy11;
- case 'a': goto yy12;
- case 'b': goto yy6;
- case 'd': goto yy8;
- case 'i': goto yy7;
- case 'o': goto yy13;
- case 'r': goto yy4;
- case 's': goto yy9;
- case '}': goto yy15;
- default: goto yy17;
- }
-yy2: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy103;
- goto yy3;
+#line 478 "ext/standard/var_unserializer.c"
+ {
+ YYCTYPE yych;
+
+ if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+ yych = *YYCURSOR;
+ switch(yych){
+ case 'C':
+ case 'O': goto yy14;
+ case 'N': goto yy5;
+ case 'R': goto yy2;
+ case 'S': goto yy10;
+ case 'U': goto yy11;
+ case 'a': goto yy12;
+ case 'b': goto yy6;
+ case 'd': goto yy8;
+ case 'i': goto yy7;
+ case 'o': goto yy13;
+ case 'r': goto yy4;
+ case 's': goto yy9;
+ case '}': goto yy15;
+ default: goto yy17;
+ }
+yy2:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == ':') goto yy103;
yy3:
-#line 753 "ext/standard/var_unserializer.re"
-{ return 0; }
-#line 494 "ext/standard/var_unserializer.c"
-yy4: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy97;
- goto yy3;
-yy5: yych = *++YYCURSOR;
- if(yych == ';') goto yy95;
- goto yy3;
-yy6: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy91;
- goto yy3;
-yy7: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy85;
- goto yy3;
-yy8: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy61;
- goto yy3;
-yy9: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy54;
- goto yy3;
-yy10: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy47;
- goto yy3;
-yy11: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy40;
- goto yy3;
-yy12: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy33;
- goto yy3;
-yy13: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy26;
- goto yy3;
-yy14: yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if(yych == ':') goto yy18;
- goto yy3;
-yy15: ++YYCURSOR;
- goto yy16;
-yy16:
-#line 747 "ext/standard/var_unserializer.re"
-{
+#line 769 "ext/standard/var_unserializer.re"
+ { return 0; }
+#line 507 "ext/standard/var_unserializer.c"
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == ':') goto yy97;
+ goto yy3;
+yy5:
+ yych = *++YYCURSOR;
+ if(yych == ';') goto yy95;
+ goto yy3;
+yy6:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == ':') goto yy91;
+ goto yy3;
+yy7:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == ':') goto yy85;
+ goto yy3;
+yy8:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == ':') goto yy61;
+ goto yy3;
+yy9:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == ':') goto yy54;
+ goto yy3;
+yy10:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == ':') goto yy47;
+ goto yy3;
+yy11:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == ':') goto yy40;
+ goto yy3;
+yy12:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == ':') goto yy33;
+ goto yy3;
+yy13:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == ':') goto yy26;
+ goto yy3;
+yy14:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if(yych == ':') goto yy18;
+ goto yy3;
+yy15:
+ ++YYCURSOR;
+#line 763 "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 547 "ext/standard/var_unserializer.c"
-yy17: yych = *++YYCURSOR;
- goto yy3;
-yy18: yych = *++YYCURSOR;
- if(yybm[0+yych] & 128) {
- goto yy21;
- }
- if(yych == '+') goto yy20;
- goto yy19;
-yy19: YYCURSOR = YYMARKER;
- switch(yyaccept){
- case 0: goto yy3;
- }
-yy20: yych = *++YYCURSOR;
- if(yybm[0+yych] & 128) {
- goto yy21;
- }
- goto yy19;
-yy21: ++YYCURSOR;
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- goto yy22;
-yy22: if(yybm[0+yych] & 128) {
- goto yy21;
- }
- if(yych != ':') goto yy19;
- goto yy23;
-yy23: yych = *++YYCURSOR;
- if(yych != '"') goto yy19;
- goto yy24;
-yy24: ++YYCURSOR;
- goto yy25;
-yy25:
-#line 634 "ext/standard/var_unserializer.re"
-{
+#line 560 "ext/standard/var_unserializer.c"
+yy17:
+ yych = *++YYCURSOR;
+ goto yy3;
+yy18:
+ yych = *++YYCURSOR;
+ if(yybm[0+yych] & 128) {
+ goto yy21;
+ }
+ if(yych == '+') goto yy20;
+yy19:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy20:
+ yych = *++YYCURSOR;
+ if(yybm[0+yych] & 128) {
+ goto yy21;
+ }
+ goto yy19;
+yy21:
+ ++YYCURSOR;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if(yybm[0+yych] & 128) {
+ goto yy21;
+ }
+ if(yych != ':') goto yy19;
+ yych = *++YYCURSOR;
+ if(yych != '"') goto yy19;
+ ++YYCURSOR;
+#line 650 "ext/standard/var_unserializer.re"
+ {
size_t len, len2, len3, maxlen;
long elements;
zstr class_name;
return object_common2(UNSERIALIZE_PASSTHRU, elements);
}
-#line 693 "ext/standard/var_unserializer.c"
-yy26: yych = *++YYCURSOR;
- if(yych <= ','){
- if(yych != '+') goto yy19;
- goto yy27;
- } else {
- if(yych <= '-') goto yy27;
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy28;
- goto yy19;
- }
-yy27: yych = *++YYCURSOR;
- if(yych <= '/') goto yy19;
- if(yych >= ':') goto yy19;
- goto yy28;
-yy28: ++YYCURSOR;
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- goto yy29;
-yy29: if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy28;
- if(yych >= ';') goto yy19;
- goto yy30;
-yy30: yych = *++YYCURSOR;
- if(yych != '"') goto yy19;
- goto yy31;
-yy31: ++YYCURSOR;
- goto yy32;
-yy32:
-#line 626 "ext/standard/var_unserializer.re"
-{
+#line 703 "ext/standard/var_unserializer.c"
+yy26:
+ yych = *++YYCURSOR;
+ if(yych <= ',') {
+ if(yych != '+') goto yy19;
+ } else {
+ if(yych <= '-') goto yy27;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy28;
+ goto yy19;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych >= ':') goto yy19;
+yy28:
+ ++YYCURSOR;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy28;
+ if(yych >= ';') goto yy19;
+ yych = *++YYCURSOR;
+ if(yych != '"') goto yy19;
+ ++YYCURSOR;
+#line 642 "ext/standard/var_unserializer.re"
+ {
INIT_PZVAL(*rval);
return object_common2(UNSERIALIZE_PASSTHRU,
object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR));
}
-#line 730 "ext/standard/var_unserializer.c"
-yy33: yych = *++YYCURSOR;
- if(yych == '+') goto yy34;
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy35;
- goto yy19;
-yy34: yych = *++YYCURSOR;
- if(yych <= '/') goto yy19;
- if(yych >= ':') goto yy19;
- goto yy35;
-yy35: ++YYCURSOR;
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- goto yy36;
-yy36: if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy35;
- if(yych >= ';') goto yy19;
- goto yy37;
-yy37: yych = *++YYCURSOR;
- if(yych != '{') goto yy19;
- goto yy38;
-yy38: ++YYCURSOR;
- goto yy39;
-yy39:
-#line 604 "ext/standard/var_unserializer.re"
-{
+#line 736 "ext/standard/var_unserializer.c"
+yy33:
+ yych = *++YYCURSOR;
+ if(yych == '+') goto yy34;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy35;
+ goto yy19;
+yy34:
+ yych = *++YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych >= ':') goto yy19;
+yy35:
+ ++YYCURSOR;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy35;
+ if(yych >= ';') goto yy19;
+ yych = *++YYCURSOR;
+ if(yych != '{') goto yy19;
+ ++YYCURSOR;
+#line 620 "ext/standard/var_unserializer.re"
+ {
long elements = parse_iv(start + 2);
/* use iv() not uiv() in order to check data range */
*p = YYCURSOR;
return finish_nested_data(UNSERIALIZE_PASSTHRU);
}
-#line 776 "ext/standard/var_unserializer.c"
-yy40: yych = *++YYCURSOR;
- if(yych == '+') goto yy41;
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy42;
- goto yy19;
-yy41: yych = *++YYCURSOR;
- if(yych <= '/') goto yy19;
- if(yych >= ':') goto yy19;
- goto yy42;
-yy42: ++YYCURSOR;
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- goto yy43;
-yy43: if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy42;
- if(yych >= ';') goto yy19;
- goto yy44;
-yy44: yych = *++YYCURSOR;
- if(yych != '"') goto yy19;
- goto yy45;
-yy45: ++YYCURSOR;
- goto yy46;
-yy46:
-#line 575 "ext/standard/var_unserializer.re"
-{
+#line 779 "ext/standard/var_unserializer.c"
+yy40:
+ yych = *++YYCURSOR;
+ if(yych == '+') goto yy41;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy42;
+ goto yy19;
+yy41:
+ yych = *++YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych >= ':') goto yy19;
+yy42:
+ ++YYCURSOR;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy42;
+ if(yych >= ';') goto yy19;
+ yych = *++YYCURSOR;
+ if(yych != '"') goto yy19;
+ ++YYCURSOR;
+#line 591 "ext/standard/var_unserializer.re"
+ {
size_t len, maxlen;
UChar *ustr;
return 1;
}
#line 829 "ext/standard/var_unserializer.c"
-yy47: yych = *++YYCURSOR;
- if(yych == '+') goto yy48;
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy49;
- goto yy19;
-yy48: yych = *++YYCURSOR;
- if(yych <= '/') goto yy19;
- if(yych >= ':') goto yy19;
- goto yy49;
-yy49: ++YYCURSOR;
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- goto yy50;
-yy50: if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy49;
- if(yych >= ';') goto yy19;
- goto yy51;
-yy51: yych = *++YYCURSOR;
- if(yych != '"') goto yy19;
- goto yy52;
-yy52: ++YYCURSOR;
- goto yy53;
-yy53:
-#line 546 "ext/standard/var_unserializer.re"
-{
+yy47:
+ yych = *++YYCURSOR;
+ if(yych == '+') goto yy48;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy49;
+ goto yy19;
+yy48:
+ yych = *++YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych >= ':') goto yy19;
+yy49:
+ ++YYCURSOR;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy49;
+ if(yych >= ';') goto yy19;
+ yych = *++YYCURSOR;
+ if(yych != '"') goto yy19;
+ ++YYCURSOR;
+#line 562 "ext/standard/var_unserializer.re"
+ {
size_t len, maxlen;
char *str;
ZVAL_STRINGL(*rval, str, len, 0);
return 1;
}
-#line 882 "ext/standard/var_unserializer.c"
-yy54: yych = *++YYCURSOR;
- if(yych == '+') goto yy55;
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy56;
- goto yy19;
-yy55: yych = *++YYCURSOR;
- if(yych <= '/') goto yy19;
- if(yych >= ':') goto yy19;
- goto yy56;
-yy56: ++YYCURSOR;
- if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- goto yy57;
-yy57: if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy56;
- if(yych >= ';') goto yy19;
- goto yy58;
-yy58: yych = *++YYCURSOR;
- if(yych != '"') goto yy19;
- goto yy59;
-yy59: ++YYCURSOR;
- goto yy60;
-yy60:
-#line 518 "ext/standard/var_unserializer.re"
-{
+#line 879 "ext/standard/var_unserializer.c"
+yy54:
+ yych = *++YYCURSOR;
+ if(yych == '+') goto yy55;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy56;
+ goto yy19;
+yy55:
+ yych = *++YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych >= ':') goto yy19;
+yy56:
+ ++YYCURSOR;
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy56;
+ if(yych >= ';') goto yy19;
+ yych = *++YYCURSOR;
+ if(yych != '"') goto yy19;
+ ++YYCURSOR;
+#line 534 "ext/standard/var_unserializer.re"
+ {
size_t len, maxlen;
char *str;
ZVAL_STRINGL(*rval, str, len, 1);
return 1;
}
-#line 934 "ext/standard/var_unserializer.c"
-yy61: yych = *++YYCURSOR;
- if(yych <= '/'){
- if(yych <= ','){
- if(yych == '+') goto yy65;
- goto yy19;
- } else {
- if(yych <= '-') goto yy63;
- if(yych <= '.') goto yy68;
- goto yy19;
- }
- } else {
- if(yych <= 'I'){
- if(yych <= '9') goto yy66;
- if(yych <= 'H') goto yy19;
- goto yy64;
+#line 928 "ext/standard/var_unserializer.c"
+yy61:
+ yych = *++YYCURSOR;
+ if(yych <= '/') {
+ if(yych <= ',') {
+ if(yych == '+') goto yy65;
+ goto yy19;
+ } else {
+ if(yych <= '-') goto yy63;
+ if(yych <= '.') goto yy68;
+ goto yy19;
+ }
} else {
- if(yych != 'N') goto yy19;
- goto yy62;
+ if(yych <= 'I') {
+ if(yych <= '9') goto yy66;
+ if(yych <= 'H') goto yy19;
+ goto yy64;
+ } else {
+ if(yych != 'N') goto yy19;
+ }
}
- }
-yy62: yych = *++YYCURSOR;
- if(yych == 'A') goto yy84;
- goto yy19;
-yy63: yych = *++YYCURSOR;
- if(yych <= '/'){
- if(yych == '.') goto yy68;
+ yych = *++YYCURSOR;
+ if(yych == 'A') goto yy84;
goto yy19;
- } else {
- if(yych <= '9') goto yy66;
- if(yych != 'I') goto yy19;
- goto yy64;
- }
-yy64: yych = *++YYCURSOR;
- if(yych == 'N') goto yy80;
- goto yy19;
-yy65: yych = *++YYCURSOR;
- if(yych == '.') goto yy68;
- if(yych <= '/') goto yy19;
- if(yych >= ':') goto yy19;
- goto yy66;
-yy66: ++YYCURSOR;
- if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
- yych = *YYCURSOR;
- goto yy67;
-yy67: if(yych <= ':'){
- if(yych <= '.'){
- if(yych <= '-') goto yy19;
- goto yy78;
- } else {
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy66;
+yy63:
+ yych = *++YYCURSOR;
+ if(yych <= '/') {
+ if(yych == '.') goto yy68;
goto yy19;
+ } else {
+ if(yych <= '9') goto yy66;
+ if(yych != 'I') goto yy19;
}
- } else {
- if(yych <= 'E'){
- if(yych <= ';') goto yy71;
- if(yych <= 'D') goto yy19;
- goto yy73;
+yy64:
+ yych = *++YYCURSOR;
+ if(yych == 'N') goto yy80;
+ goto yy19;
+yy65:
+ yych = *++YYCURSOR;
+ if(yych == '.') goto yy68;
+ if(yych <= '/') goto yy19;
+ if(yych >= ':') goto yy19;
+yy66:
+ ++YYCURSOR;
+ if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ if(yych <= ':') {
+ if(yych <= '.') {
+ if(yych <= '-') goto yy19;
+ goto yy78;
+ } else {
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy66;
+ goto yy19;
+ }
} else {
- if(yych == 'e') goto yy73;
- goto yy19;
+ if(yych <= 'E') {
+ if(yych <= ';') goto yy71;
+ if(yych <= 'D') goto yy19;
+ goto yy73;
+ } else {
+ if(yych == 'e') goto yy73;
+ goto yy19;
+ }
}
- }
-yy68: yych = *++YYCURSOR;
- if(yych <= '/') goto yy19;
- if(yych >= ':') goto yy19;
- goto yy69;
-yy69: ++YYCURSOR;
- if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
- yych = *YYCURSOR;
- goto yy70;
-yy70: if(yych <= ';'){
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy69;
- if(yych <= ':') goto yy19;
- goto yy71;
- } else {
- if(yych <= 'E'){
- if(yych <= 'D') goto yy19;
- goto yy73;
+yy68:
+ yych = *++YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych >= ':') goto yy19;
+yy69:
+ ++YYCURSOR;
+ if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ if(yych <= ';') {
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy69;
+ if(yych <= ':') goto yy19;
} else {
- if(yych == 'e') goto yy73;
- goto yy19;
+ if(yych <= 'E') {
+ if(yych <= 'D') goto yy19;
+ goto yy73;
+ } else {
+ if(yych == 'e') goto yy73;
+ goto yy19;
+ }
}
- }
-yy71: ++YYCURSOR;
- goto yy72;
-yy72:
-#line 511 "ext/standard/var_unserializer.re"
-{
+yy71:
+ ++YYCURSOR;
+#line 527 "ext/standard/var_unserializer.re"
+ {
*p = YYCURSOR;
INIT_PZVAL(*rval);
ZVAL_DOUBLE(*rval, zend_strtod((const char *)start + 2, NULL));
return 1;
}
-#line 1030 "ext/standard/var_unserializer.c"
-yy73: yych = *++YYCURSOR;
- if(yych <= ','){
- if(yych != '+') goto yy19;
- goto yy74;
- } else {
- if(yych <= '-') goto yy74;
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy75;
+#line 1023 "ext/standard/var_unserializer.c"
+yy73:
+ yych = *++YYCURSOR;
+ if(yych <= ',') {
+ if(yych != '+') goto yy19;
+ } else {
+ if(yych <= '-') goto yy74;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy75;
+ goto yy19;
+ }
+yy74:
+ yych = *++YYCURSOR;
+ if(yych <= ',') {
+ if(yych == '+') goto yy77;
+ goto yy19;
+ } else {
+ if(yych <= '-') goto yy77;
+ if(yych <= '/') goto yy19;
+ if(yych >= ':') goto yy19;
+ }
+yy75:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy75;
+ if(yych == ';') goto yy71;
goto yy19;
- }
-yy74: yych = *++YYCURSOR;
- if(yych <= ','){
- if(yych == '+') goto yy77;
+yy77:
+ yych = *++YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy75;
goto yy19;
- } else {
- if(yych <= '-') goto yy77;
- if(yych <= '/') goto yy19;
- if(yych >= ':') goto yy19;
- goto yy75;
- }
-yy75: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy76;
-yy76: if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy75;
- if(yych == ';') goto yy71;
- goto yy19;
-yy77: yych = *++YYCURSOR;
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy75;
- goto yy19;
-yy78: ++YYCURSOR;
- if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
- yych = *YYCURSOR;
- goto yy79;
-yy79: if(yych <= ';'){
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy78;
- if(yych <= ':') goto yy19;
- goto yy71;
- } else {
- if(yych <= 'E'){
- if(yych <= 'D') goto yy19;
- goto yy73;
+yy78:
+ ++YYCURSOR;
+ if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ if(yych <= ';') {
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy78;
+ if(yych <= ':') goto yy19;
+ goto yy71;
} else {
- if(yych == 'e') goto yy73;
- goto yy19;
+ if(yych <= 'E') {
+ if(yych <= 'D') goto yy19;
+ goto yy73;
+ } else {
+ if(yych == 'e') goto yy73;
+ goto yy19;
+ }
}
- }
-yy80: yych = *++YYCURSOR;
- if(yych != 'F') goto yy19;
- goto yy81;
-yy81: yych = *++YYCURSOR;
- if(yych != ';') goto yy19;
- goto yy82;
-yy82: ++YYCURSOR;
- goto yy83;
-yy83:
-#line 496 "ext/standard/var_unserializer.re"
-{
+yy80:
+ yych = *++YYCURSOR;
+ if(yych != 'F') goto yy19;
+yy81:
+ yych = *++YYCURSOR;
+ if(yych != ';') goto yy19;
+ ++YYCURSOR;
+#line 512 "ext/standard/var_unserializer.re"
+ {
*p = YYCURSOR;
INIT_PZVAL(*rval);
return 1;
}
-#line 1105 "ext/standard/var_unserializer.c"
-yy84: yych = *++YYCURSOR;
- if(yych == 'N') goto yy81;
- goto yy19;
-yy85: yych = *++YYCURSOR;
- if(yych <= ','){
- if(yych != '+') goto yy19;
- goto yy86;
- } else {
- if(yych <= '-') goto yy86;
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy87;
+#line 1097 "ext/standard/var_unserializer.c"
+yy84:
+ yych = *++YYCURSOR;
+ if(yych == 'N') goto yy81;
goto yy19;
- }
-yy86: yych = *++YYCURSOR;
- if(yych <= '/') goto yy19;
- if(yych >= ':') goto yy19;
- goto yy87;
-yy87: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy88;
-yy88: if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy87;
- if(yych != ';') goto yy19;
- goto yy89;
-yy89: ++YYCURSOR;
- goto yy90;
-yy90:
-#line 489 "ext/standard/var_unserializer.re"
-{
+yy85:
+ yych = *++YYCURSOR;
+ if(yych <= ',') {
+ if(yych != '+') goto yy19;
+ } else {
+ if(yych <= '-') goto yy86;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy87;
+ goto yy19;
+ }
+yy86:
+ yych = *++YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych >= ':') goto yy19;
+yy87:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy87;
+ if(yych != ';') goto yy19;
+ ++YYCURSOR;
+#line 505 "ext/standard/var_unserializer.re"
+ {
*p = YYCURSOR;
INIT_PZVAL(*rval);
ZVAL_LONG(*rval, parse_iv(start + 2));
return 1;
}
-#line 1141 "ext/standard/var_unserializer.c"
-yy91: yych = *++YYCURSOR;
- if(yych <= '/') goto yy19;
- if(yych >= '2') goto yy19;
- goto yy92;
-yy92: yych = *++YYCURSOR;
- if(yych != ';') goto yy19;
- goto yy93;
-yy93: ++YYCURSOR;
- goto yy94;
-yy94:
-#line 482 "ext/standard/var_unserializer.re"
-{
+#line 1131 "ext/standard/var_unserializer.c"
+yy91:
+ yych = *++YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych >= '2') goto yy19;
+ yych = *++YYCURSOR;
+ if(yych != ';') goto yy19;
+ ++YYCURSOR;
+#line 498 "ext/standard/var_unserializer.re"
+ {
*p = YYCURSOR;
INIT_PZVAL(*rval);
ZVAL_BOOL(*rval, parse_iv(start + 2));
return 1;
}
-#line 1159 "ext/standard/var_unserializer.c"
-yy95: ++YYCURSOR;
- goto yy96;
-yy96:
-#line 475 "ext/standard/var_unserializer.re"
-{
+#line 1146 "ext/standard/var_unserializer.c"
+yy95:
+ ++YYCURSOR;
+#line 491 "ext/standard/var_unserializer.re"
+ {
*p = YYCURSOR;
INIT_PZVAL(*rval);
ZVAL_NULL(*rval);
return 1;
}
-#line 1170 "ext/standard/var_unserializer.c"
-yy97: yych = *++YYCURSOR;
- if(yych <= ','){
- if(yych != '+') goto yy19;
- goto yy98;
- } else {
- if(yych <= '-') goto yy98;
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy99;
- goto yy19;
- }
-yy98: yych = *++YYCURSOR;
- if(yych <= '/') goto yy19;
- if(yych >= ':') goto yy19;
- goto yy99;
-yy99: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy100;
-yy100: if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy99;
- if(yych != ';') goto yy19;
- goto yy101;
-yy101: ++YYCURSOR;
- goto yy102;
-yy102:
-#line 452 "ext/standard/var_unserializer.re"
-{
+#line 1156 "ext/standard/var_unserializer.c"
+yy97:
+ yych = *++YYCURSOR;
+ if(yych <= ',') {
+ if(yych != '+') goto yy19;
+ } else {
+ if(yych <= '-') goto yy98;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy99;
+ goto yy19;
+ }
+yy98:
+ yych = *++YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych >= ':') goto yy19;
+yy99:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy99;
+ if(yych != ';') goto yy19;
+ ++YYCURSOR;
+#line 468 "ext/standard/var_unserializer.re"
+ {
long id;
*p = YYCURSOR;
return 1;
}
-#line 1219 "ext/standard/var_unserializer.c"
-yy103: yych = *++YYCURSOR;
- if(yych <= ','){
- if(yych != '+') goto yy19;
- goto yy104;
- } else {
- if(yych <= '-') goto yy104;
- if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy105;
- goto yy19;
- }
-yy104: yych = *++YYCURSOR;
- if(yych <= '/') goto yy19;
- if(yych >= ':') goto yy19;
- goto yy105;
-yy105: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy106;
-yy106: if(yych <= '/') goto yy19;
- if(yych <= '9') goto yy105;
- if(yych != ';') goto yy19;
- goto yy107;
-yy107: ++YYCURSOR;
- goto yy108;
-yy108:
-#line 431 "ext/standard/var_unserializer.re"
-{
+#line 1202 "ext/standard/var_unserializer.c"
+yy103:
+ yych = *++YYCURSOR;
+ if(yych <= ',') {
+ if(yych != '+') goto yy19;
+ } else {
+ if(yych <= '-') goto yy104;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy105;
+ goto yy19;
+ }
+yy104:
+ yych = *++YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych >= ':') goto yy19;
+yy105:
+ ++YYCURSOR;
+ if(YYLIMIT == YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if(yych <= '/') goto yy19;
+ if(yych <= '9') goto yy105;
+ if(yych != ';') goto yy19;
+ ++YYCURSOR;
+#line 447 "ext/standard/var_unserializer.re"
+ {
long id;
*p = YYCURSOR;
return 1;
}
-#line 1266 "ext/standard/var_unserializer.c"
-}
+#line 1246 "ext/standard/var_unserializer.c"
+ }
}
-#line 755 "ext/standard/var_unserializer.re"
+#line 771 "ext/standard/var_unserializer.re"
return 0;