1
- /* Generated by re2c 0.13.7. 5 */
1
+ /* Generated by re2c 0.13.5 */
2
2
#line 1 "ext/standard/var_unserializer.re"
3
3
/*
4
4
+----------------------------------------------------------------------+
@@ -319,8 +319,7 @@ static inline int process_nested_data(UNSERIALIZE_PARAMETER, HashTable *ht, long
319
319
if (!php_var_unserialize (& data , p , max , var_hash TSRMLS_CC )) {
320
320
zval_dtor (key );
321
321
FREE_ZVAL (key );
322
- zval_dtor (data );
323
- FREE_ZVAL (data );
322
+ zval_ptr_dtor (& data );
324
323
return 0 ;
325
324
}
326
325
@@ -478,7 +477,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
478
477
479
478
480
479
481
- #line 482 "ext/standard/var_unserializer.c"
480
+ #line 481 "ext/standard/var_unserializer.c"
482
481
{
483
482
YYCTYPE yych ;
484
483
static const unsigned char yybm [] = {
@@ -538,9 +537,9 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
538
537
yych = * (YYMARKER = ++ YYCURSOR );
539
538
if (yych == ':' ) goto yy95 ;
540
539
yy3 :
541
- #line 833 "ext/standard/var_unserializer.re"
540
+ #line 832 "ext/standard/var_unserializer.re"
542
541
{ return 0 ; }
543
- #line 544 "ext/standard/var_unserializer.c"
542
+ #line 543 "ext/standard/var_unserializer.c"
544
543
yy4 :
545
544
yych = * (YYMARKER = ++ YYCURSOR );
546
545
if (yych == ':' ) goto yy89 ;
@@ -583,13 +582,13 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
583
582
goto yy3 ;
584
583
yy14 :
585
584
++ YYCURSOR ;
586
- #line 827 "ext/standard/var_unserializer.re"
585
+ #line 826 "ext/standard/var_unserializer.re"
587
586
{
588
587
/* this is the case where we have less data than planned */
589
588
php_error_docref (NULL TSRMLS_CC , E_NOTICE , "Unexpected end of serialized data" );
590
589
return 0 ; /* not sure if it should be 0 or 1 here? */
591
590
}
592
- #line 593 "ext/standard/var_unserializer.c"
591
+ #line 592 "ext/standard/var_unserializer.c"
593
592
yy16 :
594
593
yych = * ++ YYCURSOR ;
595
594
goto yy3 ;
@@ -615,12 +614,11 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
615
614
if (yybm [0 + yych ] & 128 ) {
616
615
goto yy20 ;
617
616
}
618
- if (yych <= '/' ) goto yy18 ;
619
- if (yych >= ';' ) goto yy18 ;
617
+ if (yych != ':' ) goto yy18 ;
620
618
yych = * ++ YYCURSOR ;
621
619
if (yych != '"' ) goto yy18 ;
622
620
++ YYCURSOR ;
623
- #line 681 "ext/standard/var_unserializer.re"
621
+ #line 680 "ext/standard/var_unserializer.re"
624
622
{
625
623
size_t len , len2 , len3 , maxlen ;
626
624
long elements ;
@@ -766,7 +764,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
766
764
767
765
return object_common2 (UNSERIALIZE_PASSTHRU , elements );
768
766
}
769
- #line 770 "ext/standard/var_unserializer.c"
767
+ #line 768 "ext/standard/var_unserializer.c"
770
768
yy25 :
771
769
yych = * ++ YYCURSOR ;
772
770
if (yych <= ',' ) {
@@ -791,15 +789,15 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
791
789
yych = * ++ YYCURSOR ;
792
790
if (yych != '"' ) goto yy18 ;
793
791
++ YYCURSOR ;
794
- #line 673 "ext/standard/var_unserializer.re"
792
+ #line 672 "ext/standard/var_unserializer.re"
795
793
{
796
794
797
795
INIT_PZVAL (* rval );
798
796
799
797
return object_common2 (UNSERIALIZE_PASSTHRU ,
800
798
object_common1 (UNSERIALIZE_PASSTHRU , ZEND_STANDARD_CLASS_DEF_PTR ));
801
799
}
802
- #line 803 "ext/standard/var_unserializer.c"
800
+ #line 801 "ext/standard/var_unserializer.c"
803
801
yy32 :
804
802
yych = * ++ YYCURSOR ;
805
803
if (yych == '+' ) goto yy33 ;
@@ -820,7 +818,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
820
818
yych = * ++ YYCURSOR ;
821
819
if (yych != '{' ) goto yy18 ;
822
820
++ YYCURSOR ;
823
- #line 653 "ext/standard/var_unserializer.re"
821
+ #line 652 "ext/standard/var_unserializer.re"
824
822
{
825
823
long elements = parse_iv (start + 2 );
826
824
/* use iv() not uiv() in order to check data range */
@@ -840,7 +838,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
840
838
841
839
return finish_nested_data (UNSERIALIZE_PASSTHRU );
842
840
}
843
- #line 844 "ext/standard/var_unserializer.c"
841
+ #line 842 "ext/standard/var_unserializer.c"
844
842
yy39 :
845
843
yych = * ++ YYCURSOR ;
846
844
if (yych == '+' ) goto yy40 ;
@@ -861,7 +859,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
861
859
yych = * ++ YYCURSOR ;
862
860
if (yych != '"' ) goto yy18 ;
863
861
++ YYCURSOR ;
864
- #line 624 "ext/standard/var_unserializer.re"
862
+ #line 623 "ext/standard/var_unserializer.re"
865
863
{
866
864
size_t len , maxlen ;
867
865
char * str ;
@@ -890,7 +888,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
890
888
ZVAL_STRINGL (* rval , str , len , 0 );
891
889
return 1 ;
892
890
}
893
- #line 894 "ext/standard/var_unserializer.c"
891
+ #line 892 "ext/standard/var_unserializer.c"
894
892
yy46 :
895
893
yych = * ++ YYCURSOR ;
896
894
if (yych == '+' ) goto yy47 ;
@@ -911,7 +909,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
911
909
yych = * ++ YYCURSOR ;
912
910
if (yych != '"' ) goto yy18 ;
913
911
++ YYCURSOR ;
914
- #line 596 "ext/standard/var_unserializer.re"
912
+ #line 595 "ext/standard/var_unserializer.re"
915
913
{
916
914
size_t len , maxlen ;
917
915
char * str ;
@@ -939,7 +937,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
939
937
ZVAL_STRINGL (* rval , str , len , 1 );
940
938
return 1 ;
941
939
}
942
- #line 943 "ext/standard/var_unserializer.c"
940
+ #line 941 "ext/standard/var_unserializer.c"
943
941
yy53 :
944
942
yych = * ++ YYCURSOR ;
945
943
if (yych <= '/' ) {
@@ -1027,7 +1025,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1027
1025
}
1028
1026
yy63 :
1029
1027
++ YYCURSOR ;
1030
- #line 586 "ext/standard/var_unserializer.re"
1028
+ #line 585 "ext/standard/var_unserializer.re"
1031
1029
{
1032
1030
#if SIZEOF_LONG == 4
1033
1031
use_double :
@@ -1037,7 +1035,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1037
1035
ZVAL_DOUBLE (* rval , zend_strtod ((const char * )start + 2 , NULL ));
1038
1036
return 1 ;
1039
1037
}
1040
- #line 1041 "ext/standard/var_unserializer.c"
1038
+ #line 1039 "ext/standard/var_unserializer.c"
1041
1039
yy65 :
1042
1040
yych = * ++ YYCURSOR ;
1043
1041
if (yych <= ',' ) {
@@ -1096,7 +1094,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1096
1094
yych = * ++ YYCURSOR ;
1097
1095
if (yych != ';' ) goto yy18 ;
1098
1096
++ YYCURSOR ;
1099
- #line 571 "ext/standard/var_unserializer.re"
1097
+ #line 570 "ext/standard/var_unserializer.re"
1100
1098
{
1101
1099
* p = YYCURSOR ;
1102
1100
INIT_PZVAL (* rval );
@@ -1111,7 +1109,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1111
1109
1112
1110
return 1 ;
1113
1111
}
1114
- #line 1115 "ext/standard/var_unserializer.c"
1112
+ #line 1113 "ext/standard/var_unserializer.c"
1115
1113
yy76 :
1116
1114
yych = * ++ YYCURSOR ;
1117
1115
if (yych == 'N' ) goto yy73 ;
@@ -1138,7 +1136,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1138
1136
if (yych <= '9' ) goto yy79 ;
1139
1137
if (yych != ';' ) goto yy18 ;
1140
1138
++ YYCURSOR ;
1141
- #line 544 "ext/standard/var_unserializer.re"
1139
+ #line 543 "ext/standard/var_unserializer.re"
1142
1140
{
1143
1141
#if SIZEOF_LONG == 4
1144
1142
int digits = YYCURSOR - start - 3 ;
@@ -1165,32 +1163,32 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1165
1163
ZVAL_LONG (* rval , parse_iv (start + 2 ));
1166
1164
return 1 ;
1167
1165
}
1168
- #line 1169 "ext/standard/var_unserializer.c"
1166
+ #line 1167 "ext/standard/var_unserializer.c"
1169
1167
yy83 :
1170
1168
yych = * ++ YYCURSOR ;
1171
1169
if (yych <= '/' ) goto yy18 ;
1172
1170
if (yych >= '2' ) goto yy18 ;
1173
1171
yych = * ++ YYCURSOR ;
1174
1172
if (yych != ';' ) goto yy18 ;
1175
1173
++ YYCURSOR ;
1176
- #line 537 "ext/standard/var_unserializer.re"
1174
+ #line 536 "ext/standard/var_unserializer.re"
1177
1175
{
1178
1176
* p = YYCURSOR ;
1179
1177
INIT_PZVAL (* rval );
1180
1178
ZVAL_BOOL (* rval , parse_iv (start + 2 ));
1181
1179
return 1 ;
1182
1180
}
1183
- #line 1184 "ext/standard/var_unserializer.c"
1181
+ #line 1182 "ext/standard/var_unserializer.c"
1184
1182
yy87 :
1185
1183
++ YYCURSOR ;
1186
- #line 530 "ext/standard/var_unserializer.re"
1184
+ #line 529 "ext/standard/var_unserializer.re"
1187
1185
{
1188
1186
* p = YYCURSOR ;
1189
1187
INIT_PZVAL (* rval );
1190
1188
ZVAL_NULL (* rval );
1191
1189
return 1 ;
1192
1190
}
1193
- #line 1194 "ext/standard/var_unserializer.c"
1191
+ #line 1192 "ext/standard/var_unserializer.c"
1194
1192
yy89 :
1195
1193
yych = * ++ YYCURSOR ;
1196
1194
if (yych <= ',' ) {
@@ -1213,7 +1211,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1213
1211
if (yych <= '9' ) goto yy91 ;
1214
1212
if (yych != ';' ) goto yy18 ;
1215
1213
++ YYCURSOR ;
1216
- #line 507 "ext/standard/var_unserializer.re"
1214
+ #line 506 "ext/standard/var_unserializer.re"
1217
1215
{
1218
1216
long id ;
1219
1217
@@ -1236,7 +1234,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1236
1234
1237
1235
return 1 ;
1238
1236
}
1239
- #line 1240 "ext/standard/var_unserializer.c"
1237
+ #line 1238 "ext/standard/var_unserializer.c"
1240
1238
yy95 :
1241
1239
yych = * ++ YYCURSOR ;
1242
1240
if (yych <= ',' ) {
@@ -1259,7 +1257,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1259
1257
if (yych <= '9' ) goto yy97 ;
1260
1258
if (yych != ';' ) goto yy18 ;
1261
1259
++ YYCURSOR ;
1262
- #line 486 "ext/standard/var_unserializer.re"
1260
+ #line 485 "ext/standard/var_unserializer.re"
1263
1261
{
1264
1262
long id ;
1265
1263
@@ -1280,9 +1278,9 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
1280
1278
1281
1279
return 1 ;
1282
1280
}
1283
- #line 1284 "ext/standard/var_unserializer.c"
1281
+ #line 1282 "ext/standard/var_unserializer.c"
1284
1282
}
1285
- #line 835 "ext/standard/var_unserializer.re"
1283
+ #line 834 "ext/standard/var_unserializer.re"
1286
1284
1287
1285
1288
1286
return 0 ;
0 commit comments