1
- /* Generated by re2c 0.13.7.5 on Thu Jan 1 14:43:18 2015 */
1
+ /* Generated by re2c 0.13.5 */
2
2
#line 1 "ext/standard/var_unserializer.re"
3
3
/*
4
4
+----------------------------------------------------------------------+
@@ -320,8 +320,7 @@ static inline int process_nested_data(UNSERIALIZE_PARAMETER, HashTable *ht, long
320
320
if (!php_var_unserialize (& data , p , max , var_hash TSRMLS_CC )) {
321
321
zval_dtor (key );
322
322
FREE_ZVAL (key );
323
- zval_dtor (data );
324
- FREE_ZVAL (data );
323
+ zval_ptr_dtor (& data );
325
324
return 0 ;
326
325
}
327
326
@@ -483,7 +482,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
483
482
484
483
485
484
486
- #line 487 "ext/standard/var_unserializer.c"
485
+ #line 486 "ext/standard/var_unserializer.c"
487
486
{
488
487
YYCTYPE yych ;
489
488
static const unsigned char yybm [] = {
@@ -543,9 +542,9 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
543
542
yych = * (YYMARKER = ++ YYCURSOR );
544
543
if (yych == ':' ) goto yy95 ;
545
544
yy3 :
546
- #line 838 "ext/standard/var_unserializer.re"
545
+ #line 837 "ext/standard/var_unserializer.re"
547
546
{ return 0 ; }
548
- #line 549 "ext/standard/var_unserializer.c"
547
+ #line 548 "ext/standard/var_unserializer.c"
549
548
yy4 :
550
549
yych = * (YYMARKER = ++ YYCURSOR );
551
550
if (yych == ':' ) goto yy89 ;
@@ -588,13 +587,13 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
588
587
goto yy3 ;
589
588
yy14 :
590
589
++ YYCURSOR ;
591
- #line 832 "ext/standard/var_unserializer.re"
590
+ #line 831 "ext/standard/var_unserializer.re"
592
591
{
593
592
/* this is the case where we have less data than planned */
594
593
php_error_docref (NULL TSRMLS_CC , E_NOTICE , "Unexpected end of serialized data" );
595
594
return 0 ; /* not sure if it should be 0 or 1 here? */
596
595
}
597
- #line 598 "ext/standard/var_unserializer.c"
596
+ #line 597 "ext/standard/var_unserializer.c"
598
597
yy16 :
599
598
yych = * ++ YYCURSOR ;
600
599
goto yy3 ;
@@ -620,12 +619,11 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
620
619
if (yybm [0 + yych ] & 128 ) {
621
620
goto yy20 ;
622
621
}
623
- if (yych <= '/' ) goto yy18 ;
624
- if (yych >= ';' ) goto yy18 ;
622
+ if (yych != ':' ) goto yy18 ;
625
623
yych = * ++ YYCURSOR ;
626
624
if (yych != '"' ) goto yy18 ;
627
625
++ YYCURSOR ;
628
- #line 686 "ext/standard/var_unserializer.re"
626
+ #line 685 "ext/standard/var_unserializer.re"
629
627
{
630
628
size_t len , len2 , len3 , maxlen ;
631
629
long elements ;
@@ -771,7 +769,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
771
769
772
770
return object_common2 (UNSERIALIZE_PASSTHRU , elements );
773
771
}
774
- #line 775 "ext/standard/var_unserializer.c"
772
+ #line 773 "ext/standard/var_unserializer.c"
775
773
yy25 :
776
774
yych = * ++ YYCURSOR ;
777
775
if (yych <= ',' ) {
@@ -796,15 +794,15 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
796
794
yych = * ++ YYCURSOR ;
797
795
if (yych != '"' ) goto yy18 ;
798
796
++ YYCURSOR ;
799
- #line 678 "ext/standard/var_unserializer.re"
797
+ #line 677 "ext/standard/var_unserializer.re"
800
798
{
801
799
802
800
INIT_PZVAL (* rval );
803
801
804
802
return object_common2 (UNSERIALIZE_PASSTHRU ,
805
803
object_common1 (UNSERIALIZE_PASSTHRU , ZEND_STANDARD_CLASS_DEF_PTR ));
806
804
}
807
- #line 808 "ext/standard/var_unserializer.c"
805
+ #line 806 "ext/standard/var_unserializer.c"
808
806
yy32 :
809
807
yych = * ++ YYCURSOR ;
810
808
if (yych == '+' ) goto yy33 ;
@@ -825,7 +823,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
825
823
yych = * ++ YYCURSOR ;
826
824
if (yych != '{' ) goto yy18 ;
827
825
++ YYCURSOR ;
828
- #line 658 "ext/standard/var_unserializer.re"
826
+ #line 657 "ext/standard/var_unserializer.re"
829
827
{
830
828
long elements = parse_iv (start + 2 );
831
829
/* use iv() not uiv() in order to check data range */
@@ -845,7 +843,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
845
843
846
844
return finish_nested_data (UNSERIALIZE_PASSTHRU );
847
845
}
848
- #line 849 "ext/standard/var_unserializer.c"
846
+ #line 847 "ext/standard/var_unserializer.c"
849
847
yy39 :
850
848
yych = * ++ YYCURSOR ;
851
849
if (yych == '+' ) goto yy40 ;
@@ -866,7 +864,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
866
864
yych = * ++ YYCURSOR ;
867
865
if (yych != '"' ) goto yy18 ;
868
866
++ YYCURSOR ;
869
- #line 629 "ext/standard/var_unserializer.re"
867
+ #line 628 "ext/standard/var_unserializer.re"
870
868
{
871
869
size_t len , maxlen ;
872
870
char * str ;
@@ -895,7 +893,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
895
893
ZVAL_STRINGL (* rval , str , len , 0 );
896
894
return 1 ;
897
895
}
898
- #line 899 "ext/standard/var_unserializer.c"
896
+ #line 897 "ext/standard/var_unserializer.c"
899
897
yy46 :
900
898
yych = * ++ YYCURSOR ;
901
899
if (yych == '+' ) goto yy47 ;
@@ -916,7 +914,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
916
914
yych = * ++ YYCURSOR ;
917
915
if (yych != '"' ) goto yy18 ;
918
916
++ YYCURSOR ;
919
- #line 601 "ext/standard/var_unserializer.re"
917
+ #line 600 "ext/standard/var_unserializer.re"
920
918
{
921
919
size_t len , maxlen ;
922
920
char * str ;
@@ -944,7 +942,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
944
942
ZVAL_STRINGL (* rval , str , len , 1 );
945
943
return 1 ;
946
944
}
947
- #line 948 "ext/standard/var_unserializer.c"
945
+ #line 946 "ext/standard/var_unserializer.c"
948
946
yy53 :
949
947
yych = * ++ YYCURSOR ;
950
948
if (yych <= '/' ) {
@@ -1032,7 +1030,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1032
1030
}
1033
1031
yy63 :
1034
1032
++ YYCURSOR ;
1035
- #line 591 "ext/standard/var_unserializer.re"
1033
+ #line 590 "ext/standard/var_unserializer.re"
1036
1034
{
1037
1035
#if SIZEOF_LONG == 4
1038
1036
use_double :
@@ -1042,7 +1040,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1042
1040
ZVAL_DOUBLE (* rval , zend_strtod ((const char * )start + 2 , NULL ));
1043
1041
return 1 ;
1044
1042
}
1045
- #line 1046 "ext/standard/var_unserializer.c"
1043
+ #line 1044 "ext/standard/var_unserializer.c"
1046
1044
yy65 :
1047
1045
yych = * ++ YYCURSOR ;
1048
1046
if (yych <= ',' ) {
@@ -1101,7 +1099,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1101
1099
yych = * ++ YYCURSOR ;
1102
1100
if (yych != ';' ) goto yy18 ;
1103
1101
++ YYCURSOR ;
1104
- #line 576 "ext/standard/var_unserializer.re"
1102
+ #line 575 "ext/standard/var_unserializer.re"
1105
1103
{
1106
1104
* p = YYCURSOR ;
1107
1105
INIT_PZVAL (* rval );
@@ -1116,7 +1114,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1116
1114
1117
1115
return 1 ;
1118
1116
}
1119
- #line 1120 "ext/standard/var_unserializer.c"
1117
+ #line 1118 "ext/standard/var_unserializer.c"
1120
1118
yy76 :
1121
1119
yych = * ++ YYCURSOR ;
1122
1120
if (yych == 'N' ) goto yy73 ;
@@ -1143,7 +1141,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1143
1141
if (yych <= '9' ) goto yy79 ;
1144
1142
if (yych != ';' ) goto yy18 ;
1145
1143
++ YYCURSOR ;
1146
- #line 549 "ext/standard/var_unserializer.re"
1144
+ #line 548 "ext/standard/var_unserializer.re"
1147
1145
{
1148
1146
#if SIZEOF_LONG == 4
1149
1147
int digits = YYCURSOR - start - 3 ;
@@ -1170,32 +1168,32 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1170
1168
ZVAL_LONG (* rval , parse_iv (start + 2 ));
1171
1169
return 1 ;
1172
1170
}
1173
- #line 1174 "ext/standard/var_unserializer.c"
1171
+ #line 1172 "ext/standard/var_unserializer.c"
1174
1172
yy83 :
1175
1173
yych = * ++ YYCURSOR ;
1176
1174
if (yych <= '/' ) goto yy18 ;
1177
1175
if (yych >= '2' ) goto yy18 ;
1178
1176
yych = * ++ YYCURSOR ;
1179
1177
if (yych != ';' ) goto yy18 ;
1180
1178
++ YYCURSOR ;
1181
- #line 542 "ext/standard/var_unserializer.re"
1179
+ #line 541 "ext/standard/var_unserializer.re"
1182
1180
{
1183
1181
* p = YYCURSOR ;
1184
1182
INIT_PZVAL (* rval );
1185
1183
ZVAL_BOOL (* rval , parse_iv (start + 2 ));
1186
1184
return 1 ;
1187
1185
}
1188
- #line 1189 "ext/standard/var_unserializer.c"
1186
+ #line 1187 "ext/standard/var_unserializer.c"
1189
1187
yy87 :
1190
1188
++ YYCURSOR ;
1191
- #line 535 "ext/standard/var_unserializer.re"
1189
+ #line 534 "ext/standard/var_unserializer.re"
1192
1190
{
1193
1191
* p = YYCURSOR ;
1194
1192
INIT_PZVAL (* rval );
1195
1193
ZVAL_NULL (* rval );
1196
1194
return 1 ;
1197
1195
}
1198
- #line 1199 "ext/standard/var_unserializer.c"
1196
+ #line 1197 "ext/standard/var_unserializer.c"
1199
1197
yy89 :
1200
1198
yych = * ++ YYCURSOR ;
1201
1199
if (yych <= ',' ) {
@@ -1218,7 +1216,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1218
1216
if (yych <= '9' ) goto yy91 ;
1219
1217
if (yych != ';' ) goto yy18 ;
1220
1218
++ YYCURSOR ;
1221
- #line 512 "ext/standard/var_unserializer.re"
1219
+ #line 511 "ext/standard/var_unserializer.re"
1222
1220
{
1223
1221
long id ;
1224
1222
@@ -1241,7 +1239,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1241
1239
1242
1240
return 1 ;
1243
1241
}
1244
- #line 1245 "ext/standard/var_unserializer.c"
1242
+ #line 1243 "ext/standard/var_unserializer.c"
1245
1243
yy95 :
1246
1244
yych = * ++ YYCURSOR ;
1247
1245
if (yych <= ',' ) {
@@ -1264,7 +1262,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1264
1262
if (yych <= '9' ) goto yy97 ;
1265
1263
if (yych != ';' ) goto yy18 ;
1266
1264
++ YYCURSOR ;
1267
- #line 491 "ext/standard/var_unserializer.re"
1265
+ #line 490 "ext/standard/var_unserializer.re"
1268
1266
{
1269
1267
long id ;
1270
1268
@@ -1285,9 +1283,9 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1285
1283
1286
1284
return 1 ;
1287
1285
}
1288
- #line 1289 "ext/standard/var_unserializer.c"
1286
+ #line 1287 "ext/standard/var_unserializer.c"
1289
1287
}
1290
- #line 840 "ext/standard/var_unserializer.re"
1288
+ #line 839 "ext/standard/var_unserializer.re"
1291
1289
1292
1290
1293
1291
return 0 ;
0 commit comments