@@ -1756,10 +1756,10 @@ static zend_long php_extract_ref_if_exists(zend_array *arr, zend_array *symbol_t
1756
1756
if (!php_valid_var_name (ZSTR_VAL (var_name ), ZSTR_LEN (var_name ))) {
1757
1757
continue ;
1758
1758
}
1759
- if (ZSTR_LEN (var_name ) == sizeof ( "GLOBALS" ) - 1 && ! strcmp ( ZSTR_VAL ( var_name ) , "GLOBALS" )) {
1759
+ if (zend_string_equals_literal (var_name , "GLOBALS" )) {
1760
1760
continue ;
1761
1761
}
1762
- if (ZSTR_LEN (var_name ) == sizeof ( "this" ) - 1 && ! strcmp ( ZSTR_VAL ( var_name ) , "this" )) {
1762
+ if (zend_string_equals_literal (var_name , "this" )) {
1763
1763
if (!exception_thrown ) {
1764
1764
exception_thrown = 1 ;
1765
1765
zend_throw_error (NULL , "Cannot re-assign $this" );
@@ -1800,10 +1800,10 @@ static zend_long php_extract_if_exists(zend_array *arr, zend_array *symbol_table
1800
1800
if (!php_valid_var_name (ZSTR_VAL (var_name ), ZSTR_LEN (var_name ))) {
1801
1801
continue ;
1802
1802
}
1803
- if (ZSTR_LEN (var_name ) == sizeof ( "GLOBALS" ) - 1 && ! strcmp ( ZSTR_VAL ( var_name ) , "GLOBALS" )) {
1803
+ if (zend_string_equals_literal (var_name , "GLOBALS" )) {
1804
1804
continue ;
1805
1805
}
1806
- if (ZSTR_LEN (var_name ) == sizeof ( "this" ) - 1 && ! strcmp ( ZSTR_VAL ( var_name ) , "this" )) {
1806
+ if (zend_string_equals_literal (var_name , "this" )) {
1807
1807
if (!exception_thrown ) {
1808
1808
exception_thrown = 1 ;
1809
1809
zend_throw_error (NULL , "Cannot re-assign $this" );
@@ -1837,7 +1837,7 @@ static zend_long php_extract_ref_overwrite(zend_array *arr, zend_array *symbol_t
1837
1837
if (!php_valid_var_name (ZSTR_VAL (var_name ), ZSTR_LEN (var_name ))) {
1838
1838
continue ;
1839
1839
}
1840
- if (ZSTR_LEN (var_name ) == sizeof ( "this" ) - 1 && ! strcmp ( ZSTR_VAL ( var_name ) , "this" )) {
1840
+ if (zend_string_equals_literal (var_name , "this" )) {
1841
1841
if (!exception_thrown ) {
1842
1842
exception_thrown = 1 ;
1843
1843
zend_throw_error (NULL , "Cannot re-assign $this" );
@@ -1849,7 +1849,7 @@ static zend_long php_extract_ref_overwrite(zend_array *arr, zend_array *symbol_t
1849
1849
if (Z_TYPE_P (orig_var ) == IS_INDIRECT ) {
1850
1850
orig_var = Z_INDIRECT_P (orig_var );
1851
1851
}
1852
- if (ZSTR_LEN (var_name ) == sizeof ( "GLOBALS" ) - 1 && ! strcmp ( ZSTR_VAL ( var_name ) , "GLOBALS" )) {
1852
+ if (zend_string_equals_literal (var_name , "GLOBALS" )) {
1853
1853
continue ;
1854
1854
}
1855
1855
ZVAL_MAKE_REF (entry );
@@ -1882,7 +1882,7 @@ static zend_long php_extract_overwrite(zend_array *arr, zend_array *symbol_table
1882
1882
if (!php_valid_var_name (ZSTR_VAL (var_name ), ZSTR_LEN (var_name ))) {
1883
1883
continue ;
1884
1884
}
1885
- if (ZSTR_LEN (var_name ) == sizeof ( "this" ) - 1 && ! strcmp ( ZSTR_VAL ( var_name ) , "this" )) {
1885
+ if (zend_string_equals_literal (var_name , "this" )) {
1886
1886
if (!exception_thrown ) {
1887
1887
exception_thrown = 1 ;
1888
1888
zend_throw_error (NULL , "Cannot re-assign $this" );
@@ -1894,7 +1894,7 @@ static zend_long php_extract_overwrite(zend_array *arr, zend_array *symbol_table
1894
1894
if (Z_TYPE_P (orig_var ) == IS_INDIRECT ) {
1895
1895
orig_var = Z_INDIRECT_P (orig_var );
1896
1896
}
1897
- if (ZSTR_LEN (var_name ) == sizeof ( "GLOBALS" ) - 1 && ! strcmp ( ZSTR_VAL ( var_name ) , "GLOBALS" )) {
1897
+ if (zend_string_equals_literal (var_name , "GLOBALS" )) {
1898
1898
continue ;
1899
1899
}
1900
1900
ZVAL_DEREF (entry );
@@ -1939,7 +1939,7 @@ static zend_long php_extract_ref_prefix_if_exists(zend_array *arr, zend_array *s
1939
1939
}
1940
1940
php_prefix_varname (& final_name , prefix , ZSTR_VAL (var_name ), ZSTR_LEN (var_name ), 1 );
1941
1941
if (php_valid_var_name (Z_STRVAL (final_name ), Z_STRLEN (final_name ))) {
1942
- if (Z_STRLEN ( final_name ) == sizeof ( "this" ) - 1 && ! strcmp ( Z_STRVAL (final_name ), "this" )) {
1942
+ if (zend_string_equals_literal ( Z_STR (final_name ), "this" )) {
1943
1943
if (!exception_thrown ) {
1944
1944
exception_thrown = 1 ;
1945
1945
zend_throw_error (NULL , "Cannot re-assign $this" );
@@ -1992,7 +1992,7 @@ static zend_long php_extract_prefix_if_exists(zend_array *arr, zend_array *symbo
1992
1992
}
1993
1993
php_prefix_varname (& final_name , prefix , ZSTR_VAL (var_name ), ZSTR_LEN (var_name ), 1 );
1994
1994
if (php_valid_var_name (Z_STRVAL (final_name ), Z_STRLEN (final_name ))) {
1995
- if (Z_STRLEN ( final_name ) == sizeof ( "this" ) - 1 && ! strcmp ( Z_STRVAL (final_name ), "this" )) {
1995
+ if (zend_string_equals_literal ( Z_STR (final_name ), "this" )) {
1996
1996
if (!exception_thrown ) {
1997
1997
exception_thrown = 1 ;
1998
1998
zend_throw_error (NULL , "Cannot re-assign $this" );
@@ -2047,9 +2047,10 @@ static zend_long php_extract_ref_prefix_same(zend_array *arr, zend_array *symbol
2047
2047
continue ;
2048
2048
}
2049
2049
}
2050
+ prefix :
2050
2051
php_prefix_varname (& final_name , prefix , ZSTR_VAL (var_name ), ZSTR_LEN (var_name ), 1 );
2051
2052
if (php_valid_var_name (Z_STRVAL (final_name ), Z_STRLEN (final_name ))) {
2052
- if (Z_STRLEN ( final_name ) == sizeof ( "this" ) - 1 && ! strcmp ( Z_STRVAL (final_name ), "this" )) {
2053
+ if (zend_string_equals_literal ( Z_STR (final_name ), "this" )) {
2053
2054
if (!exception_thrown ) {
2054
2055
exception_thrown = 1 ;
2055
2056
zend_throw_error (NULL , "Cannot re-assign $this" );
@@ -2074,12 +2075,8 @@ static zend_long php_extract_ref_prefix_same(zend_array *arr, zend_array *symbol
2074
2075
if (!php_valid_var_name (ZSTR_VAL (var_name ), ZSTR_LEN (var_name ))) {
2075
2076
continue ;
2076
2077
}
2077
- if (ZSTR_LEN (var_name ) == sizeof ("this" )- 1 && !strcmp (ZSTR_VAL (var_name ), "this" )) {
2078
- if (!exception_thrown ) {
2079
- exception_thrown = 1 ;
2080
- zend_throw_error (NULL , "Cannot re-assign $this" );
2081
- }
2082
- continue ;
2078
+ if (zend_string_equals_literal (var_name , "this" )) {
2079
+ goto prefix ;
2083
2080
}
2084
2081
ZVAL_MAKE_REF (entry );
2085
2082
Z_ADDREF_P (entry );
@@ -2118,9 +2115,10 @@ static zend_long php_extract_prefix_same(zend_array *arr, zend_array *symbol_tab
2118
2115
continue ;
2119
2116
}
2120
2117
}
2118
+ prefix :
2121
2119
php_prefix_varname (& final_name , prefix , ZSTR_VAL (var_name ), ZSTR_LEN (var_name ), 1 );
2122
2120
if (php_valid_var_name (Z_STRVAL (final_name ), Z_STRLEN (final_name ))) {
2123
- if (Z_STRLEN ( final_name ) == sizeof ( "this" ) - 1 && ! strcmp ( Z_STRVAL (final_name ), "this" )) {
2121
+ if (zend_string_equals_literal ( Z_STR (final_name ), "this" )) {
2124
2122
if (!exception_thrown ) {
2125
2123
exception_thrown = 1 ;
2126
2124
zend_throw_error (NULL , "Cannot re-assign $this" );
@@ -2146,12 +2144,8 @@ static zend_long php_extract_prefix_same(zend_array *arr, zend_array *symbol_tab
2146
2144
if (!php_valid_var_name (ZSTR_VAL (var_name ), ZSTR_LEN (var_name ))) {
2147
2145
continue ;
2148
2146
}
2149
- if (ZSTR_LEN (var_name ) == sizeof ("this" )- 1 && !strcmp (ZSTR_VAL (var_name ), "this" )) {
2150
- if (!exception_thrown ) {
2151
- exception_thrown = 1 ;
2152
- zend_throw_error (NULL , "Cannot re-assign $this" );
2153
- }
2154
- continue ;
2147
+ if (zend_string_equals_literal (var_name , "this" )) {
2148
+ goto prefix ;
2155
2149
}
2156
2150
ZVAL_DEREF (entry );
2157
2151
if (Z_REFCOUNTED_P (entry )) Z_ADDREF_P (entry );
@@ -2184,7 +2178,7 @@ static zend_long php_extract_ref_prefix_all(zend_array *arr, zend_array *symbol_
2184
2178
zend_string_release (str );
2185
2179
}
2186
2180
if (php_valid_var_name (Z_STRVAL (final_name ), Z_STRLEN (final_name ))) {
2187
- if (Z_STRLEN ( final_name ) == sizeof ( "this" ) - 1 && ! strcmp ( Z_STRVAL (final_name ), "this" )) {
2181
+ if (zend_string_equals_literal ( Z_STR (final_name ), "this" )) {
2188
2182
if (!exception_thrown ) {
2189
2183
exception_thrown = 1 ;
2190
2184
zend_throw_error (NULL , "Cannot re-assign $this" );
@@ -2231,7 +2225,7 @@ static zend_long php_extract_prefix_all(zend_array *arr, zend_array *symbol_tabl
2231
2225
zend_string_release (str );
2232
2226
}
2233
2227
if (php_valid_var_name (Z_STRVAL (final_name ), Z_STRLEN (final_name ))) {
2234
- if (Z_STRLEN ( final_name ) == sizeof ( "this" ) - 1 && ! strcmp ( Z_STRVAL (final_name ), "this" )) {
2228
+ if (zend_string_equals_literal ( Z_STR (final_name ), "this" )) {
2235
2229
if (!exception_thrown ) {
2236
2230
exception_thrown = 1 ;
2237
2231
zend_throw_error (NULL , "Cannot re-assign $this" );
@@ -2269,7 +2263,8 @@ static zend_long php_extract_ref_prefix_invalid(zend_array *arr, zend_array *sym
2269
2263
2270
2264
ZEND_HASH_FOREACH_KEY_VAL_IND (arr , num_key , var_name , entry ) {
2271
2265
if (var_name ) {
2272
- if (!php_valid_var_name (ZSTR_VAL (var_name ), ZSTR_LEN (var_name ))) {
2266
+ if (!php_valid_var_name (ZSTR_VAL (var_name ), ZSTR_LEN (var_name ))
2267
+ || zend_string_equals_literal (var_name , "this" )) {
2273
2268
php_prefix_varname (& final_name , prefix , ZSTR_VAL (var_name ), ZSTR_LEN (var_name ), 1 );
2274
2269
if (!php_valid_var_name (Z_STRVAL (final_name ), Z_STRLEN (final_name ))) {
2275
2270
zend_string_release (Z_STR (final_name ));
@@ -2287,7 +2282,7 @@ static zend_long php_extract_ref_prefix_invalid(zend_array *arr, zend_array *sym
2287
2282
continue ;
2288
2283
}
2289
2284
}
2290
- if (Z_STRLEN ( final_name ) == sizeof ( "this" ) - 1 && ! strcmp ( Z_STRVAL (final_name ), "this" )) {
2285
+ if (zend_string_equals_literal ( Z_STR (final_name ), "this" )) {
2291
2286
if (!exception_thrown ) {
2292
2287
exception_thrown = 1 ;
2293
2288
zend_throw_error (NULL , "Cannot re-assign $this" );
@@ -2323,7 +2318,8 @@ static zend_long php_extract_prefix_invalid(zend_array *arr, zend_array *symbol_
2323
2318
2324
2319
ZEND_HASH_FOREACH_KEY_VAL_IND (arr , num_key , var_name , entry ) {
2325
2320
if (var_name ) {
2326
- if (!php_valid_var_name (ZSTR_VAL (var_name ), ZSTR_LEN (var_name ))) {
2321
+ if (!php_valid_var_name (ZSTR_VAL (var_name ), ZSTR_LEN (var_name ))
2322
+ || zend_string_equals_literal (var_name , "this" )) {
2327
2323
php_prefix_varname (& final_name , prefix , ZSTR_VAL (var_name ), ZSTR_LEN (var_name ), 1 );
2328
2324
if (!php_valid_var_name (Z_STRVAL (final_name ), Z_STRLEN (final_name ))) {
2329
2325
zend_string_release (Z_STR (final_name ));
@@ -2341,7 +2337,7 @@ static zend_long php_extract_prefix_invalid(zend_array *arr, zend_array *symbol_
2341
2337
continue ;
2342
2338
}
2343
2339
}
2344
- if (Z_STRLEN ( final_name ) == sizeof ( "this" ) - 1 && ! strcmp ( Z_STRVAL (final_name ), "this" )) {
2340
+ if (zend_string_equals_literal ( Z_STR (final_name ), "this" )) {
2345
2341
if (!exception_thrown ) {
2346
2342
exception_thrown = 1 ;
2347
2343
zend_throw_error (NULL , "Cannot re-assign $this" );
@@ -2370,7 +2366,6 @@ static zend_long php_extract_prefix_invalid(zend_array *arr, zend_array *symbol_
2370
2366
2371
2367
static zend_long php_extract_ref_skip (zend_array * arr , zend_array * symbol_table ) /* {{{ */
2372
2368
{
2373
- int exception_thrown = 0 ;
2374
2369
zend_long count = 0 ;
2375
2370
zend_string * var_name ;
2376
2371
zval * entry , * orig_var ;
@@ -2382,11 +2377,7 @@ static zend_long php_extract_ref_skip(zend_array *arr, zend_array *symbol_table)
2382
2377
if (!php_valid_var_name (ZSTR_VAL (var_name ), ZSTR_LEN (var_name ))) {
2383
2378
continue ;
2384
2379
}
2385
- if (ZSTR_LEN (var_name ) == sizeof ("this" )- 1 && !strcmp (ZSTR_VAL (var_name ), "this" )) {
2386
- if (!exception_thrown ) {
2387
- exception_thrown = 1 ;
2388
- zend_throw_error (NULL , "Cannot re-assign $this" );
2389
- }
2380
+ if (zend_string_equals_literal (var_name , "this" )) {
2390
2381
continue ;
2391
2382
}
2392
2383
orig_var = zend_hash_find (symbol_table , var_name );
@@ -2414,7 +2405,6 @@ static zend_long php_extract_ref_skip(zend_array *arr, zend_array *symbol_table)
2414
2405
2415
2406
static zend_long php_extract_skip (zend_array * arr , zend_array * symbol_table ) /* {{{ */
2416
2407
{
2417
- int exception_thrown = 0 ;
2418
2408
zend_long count = 0 ;
2419
2409
zend_string * var_name ;
2420
2410
zval * entry , * orig_var ;
@@ -2426,11 +2416,7 @@ static zend_long php_extract_skip(zend_array *arr, zend_array *symbol_table) /*
2426
2416
if (!php_valid_var_name (ZSTR_VAL (var_name ), ZSTR_LEN (var_name ))) {
2427
2417
continue ;
2428
2418
}
2429
- if (ZSTR_LEN (var_name ) == sizeof ("this" )- 1 && !strcmp (ZSTR_VAL (var_name ), "this" )) {
2430
- if (!exception_thrown ) {
2431
- exception_thrown = 1 ;
2432
- zend_throw_error (NULL , "Cannot re-assign $this" );
2433
- }
2419
+ if (zend_string_equals_literal (var_name , "this" )) {
2434
2420
continue ;
2435
2421
}
2436
2422
orig_var = zend_hash_find (symbol_table , var_name );
0 commit comments