summaryrefslogtreecommitdiff
path: root/ext/standard/var_unserializer.c.orig
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/var_unserializer.c.orig')
-rw-r--r--ext/standard/var_unserializer.c.orig55
1 files changed, 31 insertions, 24 deletions
diff --git a/ext/standard/var_unserializer.c.orig b/ext/standard/var_unserializer.c.orig
index f8989865c..678877067 100644
--- a/ext/standard/var_unserializer.c.orig
+++ b/ext/standard/var_unserializer.c.orig
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.9.4 on Thu Mar 10 02:54:37 2005 */
+/* Generated by re2c 0.9.6 on Fri Apr 15 01:39:24 2005 */
#line 1 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re"
/*
+----------------------------------------------------------------------+
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: var_unserializer.c,v 1.38.2.13 2005/03/10 01:58:13 helly Exp $ */
+/* $Id: var_unserializer.c,v 1.38.2.15 2005/06/01 10:53:25 dmitry Exp $ */
#include "php.h"
#include "ext/standard/php_var.h"
@@ -298,7 +298,8 @@ static inline int object_common2(UNSERIALIZE_PARAMETER, long elements)
return 0;
}
- if(Z_OBJCE_PP(rval) != PHP_IC_ENTRY) {
+ if (Z_OBJCE_PP(rval) != PHP_IC_ENTRY &&
+ zend_hash_exists(&Z_OBJCE_PP(rval)->function_table, "__wakeup", sizeof("__wakeup"))) {
INIT_PZVAL(&fname);
ZVAL_STRINGL(&fname, "__wakeup", sizeof("__wakeup") - 1, 0);
call_user_function_ex(CG(function_table), rval, &fname, &retval_ptr, 0, 0, 1, NULL TSRMLS_CC);
@@ -366,7 +367,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
0, 0, 0, 0, 0, 0, 0, 0,
};
goto yy0;
-yy1: ++YYCURSOR;
+ ++YYCURSOR;
yy0:
if((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
yych = *YYCURSOR;
@@ -471,17 +472,23 @@ yy15:
yy16: yych = *++YYCURSOR;
goto yy4;
yy17: yych = *++YYCURSOR;
- if(yybm[0+yych] & 128) goto yy19;
+ if(yybm[0+yych] & 128) {
+ goto yy19;
+ }
if(yych != '+') goto yy2;
goto yy18;
yy18: yych = *++YYCURSOR;
- if(yybm[0+yych] & 128) goto yy19;
+ if(yybm[0+yych] & 128) {
+ goto yy19;
+ }
goto yy2;
yy19: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
goto yy20;
-yy20: if(yybm[0+yych] & 128) goto yy19;
+yy20: if(yybm[0+yych] & 128) {
+ goto yy19;
+ }
if(yych != ':') goto yy2;
goto yy21;
yy21: yych = *++YYCURSOR;
@@ -590,7 +597,7 @@ yy23:
return object_common2(UNSERIALIZE_PASSTHRU, elements);
}
-#line 271 "<stdout>"
+#line 277 "<stdout>"
yy24: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
@@ -606,7 +613,7 @@ yy25: yych = *++YYCURSOR;
if(yych >= ':') goto yy2;
goto yy26;
yy26: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
goto yy27;
yy27: if(yych <= '/') goto yy2;
@@ -627,7 +634,7 @@ yy30:
return object_common2(UNSERIALIZE_PASSTHRU,
object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR));
}
-#line 309 "<stdout>"
+#line 315 "<stdout>"
yy31: yych = *++YYCURSOR;
if(yych == '+') goto yy32;
if(yych <= '/') goto yy2;
@@ -638,7 +645,7 @@ yy32: yych = *++YYCURSOR;
if(yych >= ':') goto yy2;
goto yy33;
yy33: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
goto yy34;
yy34: if(yych <= '/') goto yy2;
@@ -677,7 +684,7 @@ yy37:
return finish_nested_data(UNSERIALIZE_PASSTHRU);
}
-#line 360 "<stdout>"
+#line 366 "<stdout>"
yy38: yych = *++YYCURSOR;
if(yych == '+') goto yy39;
if(yych <= '/') goto yy2;
@@ -688,7 +695,7 @@ yy39: yych = *++YYCURSOR;
if(yych >= ':') goto yy2;
goto yy40;
yy40: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
+ if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
goto yy41;
yy41: if(yych <= '/') goto yy2;
@@ -729,7 +736,7 @@ yy44:
ZVAL_STRINGL(*rval, str, len, 1);
return 1;
}
-#line 413 "<stdout>"
+#line 419 "<stdout>"
yy45: yych = *++YYCURSOR;
if(yych <= '/'){
if(yych <= ','){
@@ -771,7 +778,7 @@ yy49: yych = *++YYCURSOR;
if(yych >= ':') goto yy2;
goto yy50;
yy50: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
+ if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
goto yy51;
yy51: if(yych <= ':'){
@@ -798,7 +805,7 @@ yy52: yych = *++YYCURSOR;
if(yych >= ':') goto yy2;
goto yy53;
yy53: ++YYCURSOR;
- if(YYLIMIT == YYCURSOR) YYFILL(1);
+ if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
goto yy54;
yy54: if(yych <= ';'){
@@ -825,7 +832,7 @@ yy56:
ZVAL_DOUBLE(*rval, zend_strtod((const char *)start + 2, NULL));
return 1;
}
-#line 511 "<stdout>"
+#line 517 "<stdout>"
yy57: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
@@ -900,7 +907,7 @@ yy67:
return 1;
}
-#line 588 "<stdout>"
+#line 594 "<stdout>"
yy68: yych = *++YYCURSOR;
if(yych == 'N') goto yy65;
goto yy2;
@@ -936,7 +943,7 @@ yy74:
ZVAL_LONG(*rval, parse_iv(start + 2));
return 1;
}
-#line 625 "<stdout>"
+#line 631 "<stdout>"
yy75: yych = *++YYCURSOR;
if(yych <= '/') goto yy2;
if(yych >= '2') goto yy2;
@@ -954,7 +961,7 @@ yy78:
ZVAL_BOOL(*rval, parse_iv(start + 2));
return 1;
}
-#line 643 "<stdout>"
+#line 649 "<stdout>"
yy79: ++YYCURSOR;
goto yy80;
yy80:
@@ -965,7 +972,7 @@ yy80:
ZVAL_NULL(*rval);
return 1;
}
-#line 654 "<stdout>"
+#line 660 "<stdout>"
yy81: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
@@ -1014,7 +1021,7 @@ yy86:
return 1;
}
-#line 704 "<stdout>"
+#line 710 "<stdout>"
yy87: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
@@ -1061,7 +1068,7 @@ yy92:
return 1;
}
-#line 752 "<stdout>"
+#line 758 "<stdout>"
}
#line 591 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re"