]> granicus.if.org Git - php/commitdiff
- Generated with re2c 0.9.4
authorfoobar <sniper@php.net>
Thu, 24 Feb 2005 17:50:20 +0000 (17:50 +0000)
committerfoobar <sniper@php.net>
Thu, 24 Feb 2005 17:50:20 +0000 (17:50 +0000)
ext/standard/var_unserializer.c

index 8c787a00f802773a1a09a8ea0856fe03e5bba8fb..4af17d0c376b405e668aa9bd167cfaaf47a8fa52 100644 (file)
@@ -1,5 +1,5 @@
-/* Generated by re2c 0.5 on Tue Feb 22 15:14:56 2005 */
-#line 1 "/php5/ext/standard/var_unserializer.re"
+/* Generated by re2c 0.9.4 on Thu Feb 24 19:48:52 2005 */
+#line 1 "/usr/src/php/php5/ext/standard/var_unserializer.re"
 /*
   +----------------------------------------------------------------------+
   | PHP Version 5                                                        |
@@ -147,7 +147,7 @@ PHPAPI void var_destroy(php_unserialize_data_t *var_hashx)
 #define YYMARKER marker
 
 
-#line 155
+#line 155 "/usr/src/php/php5/ext/standard/var_unserializer.re"
 
 
 
@@ -353,6 +353,8 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
 
        
        
+
+#line 7 "<stdout>"
 {
        YYCTYPE yych;
        unsigned int yyaccept;
@@ -432,7 +434,8 @@ yy0:
                                goto yy16;
                        } else {
                                if(yych <= '}') goto yy14;
-                               if(yych <= '\277')      goto yy16;
+                               if(yych <= 0xBF)        goto yy16;
+                               goto yy2;
                        }
                }
        }
@@ -443,9 +446,11 @@ yy2:       YYCURSOR = YYMARKER;
 yy3:   yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == ':') goto yy87;
+       goto yy4;
 yy4:
-#line 620
-       { return 0; }
+#line 621 "/usr/src/php/php5/ext/standard/var_unserializer.re"
+{ return 0; }
+#line 103 "<stdout>"
 yy5:   yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == ':') goto yy81;
@@ -481,41 +486,49 @@ yy13:     yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == ':') goto yy17;
        goto yy4;
-yy14:  yych = *++YYCURSOR;
+yy14:  ++YYCURSOR;
+       goto yy15;
 yy15:
-#line 614
-       {
+#line 615 "/usr/src/php/php5/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 148 "<stdout>"
 yy16:  yych = *++YYCURSOR;
        goto yy4;
 yy17:  yych = *++YYCURSOR;
        if(yybm[0+yych] & 128)  goto yy19;
        if(yych != '+') goto yy2;
+       goto yy18;
 yy18:  yych = *++YYCURSOR;
        if(yybm[0+yych] & 128)  goto yy19;
        goto yy2;
 yy19:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
+       goto yy20;
 yy20:  if(yybm[0+yych] & 128)  goto yy19;
        if(yych != ':') goto yy2;
+       goto yy21;
 yy21:  yych = *++YYCURSOR;
        if(yych != '"') goto yy2;
-yy22:  yych = *++YYCURSOR;
+       goto yy22;
+yy22:  ++YYCURSOR;
+       goto yy23;
 yy23:
-#line 503
-       {
+#line 503 "/usr/src/php/php5/ext/standard/var_unserializer.re"
+{
        size_t len, len2, len3, maxlen;
        int 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];
@@ -617,9 +630,11 @@ yy23:
 
        return object_common2(UNSERIALIZE_PASSTHRU, elements);
 }
+#line 284 "<stdout>"
 yy24:  yych = *++YYCURSOR;
        if(yych <= ','){
                if(yych != '+') goto yy2;
+               goto yy25;
        } else {
                if(yych <= '-') goto yy25;
                if(yych <= '/') goto yy2;
@@ -629,24 +644,30 @@ yy24:     yych = *++YYCURSOR;
 yy25:  yych = *++YYCURSOR;
        if(yych <= '/') goto yy2;
        if(yych >= ':') goto yy2;
+       goto yy26;
 yy26:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
+       goto yy27;
 yy27:  if(yych <= '/') goto yy2;
        if(yych <= '9') goto yy26;
        if(yych >= ';') goto yy2;
+       goto yy28;
 yy28:  yych = *++YYCURSOR;
        if(yych != '"') goto yy2;
-yy29:  yych = *++YYCURSOR;
+       goto yy29;
+yy29:  ++YYCURSOR;
+       goto yy30;
 yy30:
-#line 495
-       {
+#line 495 "/usr/src/php/php5/ext/standard/var_unserializer.re"
+{
 
        INIT_PZVAL(*rval);
        
        return object_common2(UNSERIALIZE_PASSTHRU,
                        object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR));
 }
+#line 322 "<stdout>"
 yy31:  yych = *++YYCURSOR;
        if(yych == '+') goto yy32;
        if(yych <= '/') goto yy2;
@@ -655,18 +676,23 @@ yy31:     yych = *++YYCURSOR;
 yy32:  yych = *++YYCURSOR;
        if(yych <= '/') goto yy2;
        if(yych >= ':') goto yy2;
+       goto yy33;
 yy33:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
+       goto yy34;
 yy34:  if(yych <= '/') goto yy2;
        if(yych <= '9') goto yy33;
        if(yych >= ';') goto yy2;
+       goto yy35;
 yy35:  yych = *++YYCURSOR;
        if(yych != '{') goto yy2;
-yy36:  yych = *++YYCURSOR;
+       goto yy36;
+yy36:  ++YYCURSOR;
+       goto yy37;
 yy37:
-#line 477
-       {
+#line 477 "/usr/src/php/php5/ext/standard/var_unserializer.re"
+{
        int elements = parse_iv(start + 2);
 
        *p = YYCURSOR;
@@ -683,6 +709,7 @@ yy37:
 
        return finish_nested_data(UNSERIALIZE_PASSTHRU);
 }
+#line 365 "<stdout>"
 yy38:  yych = *++YYCURSOR;
        if(yych == '+') goto yy39;
        if(yych <= '/') goto yy2;
@@ -691,18 +718,23 @@ yy38:     yych = *++YYCURSOR;
 yy39:  yych = *++YYCURSOR;
        if(yych <= '/') goto yy2;
        if(yych >= ':') goto yy2;
+       goto yy40;
 yy40:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
+       goto yy41;
 yy41:  if(yych <= '/') goto yy2;
        if(yych <= '9') goto yy40;
        if(yych >= ';') goto yy2;
+       goto yy42;
 yy42:  yych = *++YYCURSOR;
        if(yych != '"') goto yy2;
-yy43:  yych = *++YYCURSOR;
+       goto yy43;
+yy43:  ++YYCURSOR;
+       goto yy44;
 yy44:
-#line 449
-       {
+#line 449 "/usr/src/php/php5/ext/standard/var_unserializer.re"
+{
        size_t len, maxlen;
        char *str;
 
@@ -729,6 +761,7 @@ yy44:
        ZVAL_STRINGL(*rval, str, len, 1);
        return 1;
 }
+#line 418 "<stdout>"
 yy45:  yych = *++YYCURSOR;
        if(yych <= '/'){
                if(yych <= ','){
@@ -746,6 +779,7 @@ yy45:       yych = *++YYCURSOR;
                        goto yy48;
                } else {
                        if(yych != 'N') goto yy2;
+                       goto yy46;
                }
        }
 yy46:  yych = *++YYCURSOR;
@@ -758,6 +792,7 @@ yy47:       yych = *++YYCURSOR;
        } else {
                if(yych <= '9') goto yy50;
                if(yych != 'I') goto yy2;
+               goto yy48;
        }
 yy48:  yych = *++YYCURSOR;
        if(yych == 'N') goto yy64;
@@ -766,9 +801,11 @@ yy49:      yych = *++YYCURSOR;
        if(yych == '.') goto yy52;
        if(yych <= '/') goto yy2;
        if(yych >= ':') goto yy2;
+       goto yy50;
 yy50:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
+       goto yy51;
 yy51:  if(yych <= ':'){
                if(yych <= '.'){
                        if(yych <= '-') goto yy2;
@@ -791,13 +828,16 @@ yy51:     if(yych <= ':'){
 yy52:  yych = *++YYCURSOR;
        if(yych <= '/') goto yy2;
        if(yych >= ':') goto yy2;
+       goto yy53;
 yy53:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
+       goto yy54;
 yy54:  if(yych <= ';'){
                if(yych <= '/') goto yy2;
                if(yych <= '9') goto yy53;
                if(yych <= ':') goto yy2;
+               goto yy55;
        } else {
                if(yych <= 'E'){
                        if(yych <= 'D') goto yy2;
@@ -807,18 +847,21 @@ yy54:     if(yych <= ';'){
                        goto yy2;
                }
        }
-yy55:  yych = *++YYCURSOR;
+yy55:  ++YYCURSOR;
+       goto yy56;
 yy56:
-#line 442
-       {
+#line 442 "/usr/src/php/php5/ext/standard/var_unserializer.re"
+{
        *p = YYCURSOR;
        INIT_PZVAL(*rval);
        ZVAL_DOUBLE(*rval, zend_strtod(start + 2, NULL));
        return 1;
 }
+#line 516 "<stdout>"
 yy57:  yych = *++YYCURSOR;
        if(yych <= ','){
                if(yych != '+') goto yy2;
+               goto yy58;
        } else {
                if(yych <= '-') goto yy58;
                if(yych <= '/') goto yy2;
@@ -833,10 +876,12 @@ yy58:     yych = *++YYCURSOR;
                if(yych <= '-') goto yy61;
                if(yych <= '/') goto yy2;
                if(yych >= ':') goto yy2;
+               goto yy59;
        }
 yy59:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
+       goto yy60;
 yy60:  if(yych <= '/') goto yy2;
        if(yych <= '9') goto yy59;
        if(yych == ';') goto yy55;
@@ -848,6 +893,7 @@ yy61:       yych = *++YYCURSOR;
 yy62:  ++YYCURSOR;
        if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
        yych = *YYCURSOR;
+       goto yy63;
 yy63:  if(yych <= ';'){
                if(yych <= '/') goto yy2;
                if(yych <= '9') goto yy62;
@@ -864,12 +910,15 @@ yy63:     if(yych <= ';'){
        }
 yy64:  yych = *++YYCURSOR;
        if(yych != 'F') goto yy2;
+       goto yy65;
 yy65:  yych = *++YYCURSOR;
        if(yych != ';') goto yy2;
-yy66:  yych = *++YYCURSOR;
+       goto yy66;
+yy66:  ++YYCURSOR;
+       goto yy67;
 yy67:
-#line 427
-       {
+#line 427 "/usr/src/php/php5/ext/standard/var_unserializer.re"
+{
        *p = YYCURSOR;
        INIT_PZVAL(*rval);
 
@@ -883,12 +932,14 @@ yy67:
 
        return 1;
 }
+#line 593 "<stdout>"
 yy68:  yych = *++YYCURSOR;
        if(yych == 'N') goto yy65;
        goto yy2;
 yy69:  yych = *++YYCURSOR;
        if(yych <= ','){
                if(yych != '+') goto yy2;
+               goto yy70;
        } else {
                if(yych <= '-') goto yy70;
                if(yych <= '/') goto yy2;
@@ -898,47 +949,59 @@ yy69:     yych = *++YYCURSOR;
 yy70:  yych = *++YYCURSOR;
        if(yych <= '/') goto yy2;
        if(yych >= ':') goto yy2;
+       goto yy71;
 yy71:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
+       goto yy72;
 yy72:  if(yych <= '/') goto yy2;
        if(yych <= '9') goto yy71;
        if(yych != ';') goto yy2;
-yy73:  yych = *++YYCURSOR;
+       goto yy73;
+yy73:  ++YYCURSOR;
+       goto yy74;
 yy74:
-#line 420
-       {
+#line 420 "/usr/src/php/php5/ext/standard/var_unserializer.re"
+{
        *p = YYCURSOR;
        INIT_PZVAL(*rval);
        ZVAL_LONG(*rval, parse_iv(start + 2));
        return 1;
 }
+#line 630 "<stdout>"
 yy75:  yych = *++YYCURSOR;
        if(yych <= '/') goto yy2;
        if(yych >= '2') goto yy2;
+       goto yy76;
 yy76:  yych = *++YYCURSOR;
        if(yych != ';') goto yy2;
-yy77:  yych = *++YYCURSOR;
+       goto yy77;
+yy77:  ++YYCURSOR;
+       goto yy78;
 yy78:
-#line 413
-       {
+#line 413 "/usr/src/php/php5/ext/standard/var_unserializer.re"
+{
        *p = YYCURSOR;
        INIT_PZVAL(*rval);
        ZVAL_BOOL(*rval, parse_iv(start + 2));
        return 1;
 }
-yy79:  yych = *++YYCURSOR;
+#line 648 "<stdout>"
+yy79:  ++YYCURSOR;
+       goto yy80;
 yy80:
-#line 406
-       {
+#line 406 "/usr/src/php/php5/ext/standard/var_unserializer.re"
+{
        *p = YYCURSOR;
        INIT_PZVAL(*rval);
        ZVAL_NULL(*rval);
        return 1;
 }
+#line 659 "<stdout>"
 yy81:  yych = *++YYCURSOR;
        if(yych <= ','){
                if(yych != '+') goto yy2;
+               goto yy82;
        } else {
                if(yych <= '-') goto yy82;
                if(yych <= '/') goto yy2;
@@ -948,16 +1011,20 @@ yy81:    yych = *++YYCURSOR;
 yy82:  yych = *++YYCURSOR;
        if(yych <= '/') goto yy2;
        if(yych >= ':') goto yy2;
+       goto yy83;
 yy83:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
+       goto yy84;
 yy84:  if(yych <= '/') goto yy2;
        if(yych <= '9') goto yy83;
        if(yych != ';') goto yy2;
-yy85:  yych = *++YYCURSOR;
+       goto yy85;
+yy85:  ++YYCURSOR;
+       goto yy86;
 yy86:
-#line 383
-       {
+#line 383 "/usr/src/php/php5/ext/standard/var_unserializer.re"
+{
        int id;
 
        *p = YYCURSOR;
@@ -979,9 +1046,11 @@ yy86:
        
        return 1;
 }
+#line 709 "<stdout>"
 yy87:  yych = *++YYCURSOR;
        if(yych <= ','){
                if(yych != '+') goto yy2;
+               goto yy88;
        } else {
                if(yych <= '-') goto yy88;
                if(yych <= '/') goto yy2;
@@ -991,16 +1060,20 @@ yy87:    yych = *++YYCURSOR;
 yy88:  yych = *++YYCURSOR;
        if(yych <= '/') goto yy2;
        if(yych >= ':') goto yy2;
+       goto yy89;
 yy89:  ++YYCURSOR;
        if(YYLIMIT == YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
+       goto yy90;
 yy90:  if(yych <= '/') goto yy2;
        if(yych <= '9') goto yy89;
        if(yych != ';') goto yy2;
-yy91:  yych = *++YYCURSOR;
+       goto yy91;
+yy91:  ++YYCURSOR;
+       goto yy92;
 yy92:
-#line 362
-       {
+#line 362 "/usr/src/php/php5/ext/standard/var_unserializer.re"
+{
        int id;
 
        *p = YYCURSOR;
@@ -1020,8 +1093,9 @@ yy92:
        
        return 1;
 }
+#line 757 "<stdout>"
 }
-#line 622
+#line 623 "/usr/src/php/php5/ext/standard/var_unserializer.re"
 
 
        return 0;