@@ -174,25 +174,6 @@ static const php_mb_nls_ident_list php_mb_default_identify_list[] = {
174
174
175
175
/* }}} */
176
176
177
- /* {{{ mb_overload_def mb_ovld[] */
178
- static const struct mb_overload_def mb_ovld [] = {
179
- {MB_OVERLOAD_MAIL , "mail" , "mb_send_mail" , "mb_orig_mail" },
180
- {MB_OVERLOAD_STRING , "strlen" , "mb_strlen" , "mb_orig_strlen" },
181
- {MB_OVERLOAD_STRING , "strpos" , "mb_strpos" , "mb_orig_strpos" },
182
- {MB_OVERLOAD_STRING , "strrpos" , "mb_strrpos" , "mb_orig_strrpos" },
183
- {MB_OVERLOAD_STRING , "stripos" , "mb_stripos" , "mb_orig_stripos" },
184
- {MB_OVERLOAD_STRING , "strripos" , "mb_strripos" , "mb_orig_strripos" },
185
- {MB_OVERLOAD_STRING , "strstr" , "mb_strstr" , "mb_orig_strstr" },
186
- {MB_OVERLOAD_STRING , "strrchr" , "mb_strrchr" , "mb_orig_strrchr" },
187
- {MB_OVERLOAD_STRING , "stristr" , "mb_stristr" , "mb_orig_stristr" },
188
- {MB_OVERLOAD_STRING , "substr" , "mb_substr" , "mb_orig_substr" },
189
- {MB_OVERLOAD_STRING , "strtolower" , "mb_strtolower" , "mb_orig_strtolower" },
190
- {MB_OVERLOAD_STRING , "strtoupper" , "mb_strtoupper" , "mb_orig_strtoupper" },
191
- {MB_OVERLOAD_STRING , "substr_count" , "mb_substr_count" , "mb_orig_substr_count" },
192
- {0 , NULL , NULL , NULL }
193
- };
194
- /* }}} */
195
-
196
177
/* {{{ arginfo */
197
178
ZEND_BEGIN_ARG_INFO_EX (arginfo_mb_language , 0 , 0 , 0 )
198
179
ZEND_ARG_INFO (0 , language )
@@ -1486,8 +1467,6 @@ PHP_INI_BEGIN()
1486
1467
PHP_INI_ENTRY ("mbstring.http_output" , NULL , PHP_INI_ALL , OnUpdate_mbstring_http_output )
1487
1468
STD_PHP_INI_ENTRY ("mbstring.internal_encoding" , NULL , PHP_INI_ALL , OnUpdate_mbstring_internal_encoding , internal_encoding_name , zend_mbstring_globals , mbstring_globals )
1488
1469
PHP_INI_ENTRY ("mbstring.substitute_character" , NULL , PHP_INI_ALL , OnUpdate_mbstring_substitute_character )
1489
- STD_PHP_INI_ENTRY ("mbstring.func_overload" , "0" ,
1490
- PHP_INI_SYSTEM , OnUpdateLong , func_overload , zend_mbstring_globals , mbstring_globals )
1491
1470
1492
1471
STD_PHP_INI_BOOLEAN ("mbstring.encoding_translation" , "0" ,
1493
1472
PHP_INI_SYSTEM | PHP_INI_PERDIR ,
@@ -1535,7 +1514,6 @@ ZEND_TSRMLS_CACHE_UPDATE();
1535
1514
mbstring_globals -> current_filter_illegal_mode = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR ;
1536
1515
mbstring_globals -> current_filter_illegal_substchar = 0x3f ; /* '?' */
1537
1516
mbstring_globals -> illegalchars = 0 ;
1538
- mbstring_globals -> func_overload = 0 ;
1539
1517
mbstring_globals -> encoding_translation = 0 ;
1540
1518
mbstring_globals -> strict_detection = 0 ;
1541
1519
mbstring_globals -> outconv = NULL ;
@@ -1584,10 +1562,6 @@ ZEND_TSRMLS_CACHE_UPDATE();
1584
1562
sapi_register_post_entries (mbstr_post_entries );
1585
1563
}
1586
1564
1587
- REGISTER_LONG_CONSTANT ("MB_OVERLOAD_MAIL" , MB_OVERLOAD_MAIL , CONST_CS | CONST_PERSISTENT );
1588
- REGISTER_LONG_CONSTANT ("MB_OVERLOAD_STRING" , MB_OVERLOAD_STRING , CONST_CS | CONST_PERSISTENT );
1589
- REGISTER_LONG_CONSTANT ("MB_OVERLOAD_REGEX" , MB_OVERLOAD_REGEX , CONST_CS | CONST_PERSISTENT );
1590
-
1591
1565
REGISTER_LONG_CONSTANT ("MB_CASE_UPPER" , PHP_UNICODE_CASE_UPPER , CONST_CS | CONST_PERSISTENT );
1592
1566
REGISTER_LONG_CONSTANT ("MB_CASE_LOWER" , PHP_UNICODE_CASE_LOWER , CONST_CS | CONST_PERSISTENT );
1593
1567
REGISTER_LONG_CONSTANT ("MB_CASE_TITLE" , PHP_UNICODE_CASE_TITLE , CONST_CS | CONST_PERSISTENT );
@@ -1613,64 +1587,13 @@ ZEND_TSRMLS_CACHE_UPDATE();
1613
1587
php_mb_rfc1867_getword_conf ,
1614
1588
php_mb_rfc1867_basename );
1615
1589
1616
- /* override original function (deprecated). */
1617
- if (MBSTRG (func_overload )){
1618
- zend_function * func , * orig ;
1619
- const struct mb_overload_def * p ;
1620
- zend_string * str ;
1621
-
1622
- p = & (mb_ovld [0 ]);
1623
- while (p -> type > 0 ) {
1624
- if ((MBSTRG (func_overload ) & p -> type ) == p -> type &&
1625
- !zend_hash_str_exists (CG (function_table ), p -> save_func , strlen (p -> save_func ))
1626
- ) {
1627
- func = zend_hash_str_find_ptr (CG (function_table ), p -> ovld_func , strlen (p -> ovld_func ));
1628
-
1629
- if ((orig = zend_hash_str_find_ptr (CG (function_table ), p -> orig_func , strlen (p -> orig_func ))) == NULL ) {
1630
- php_error_docref ("ref.mbstring" , E_WARNING , "mbstring couldn't find function %s." , p -> orig_func );
1631
- return FAILURE ;
1632
- } else {
1633
- ZEND_ASSERT (orig -> type == ZEND_INTERNAL_FUNCTION );
1634
- str = zend_string_init_interned (p -> save_func , strlen (p -> save_func ), 1 );
1635
- zend_hash_add_mem (CG (function_table ), str , orig , sizeof (zend_internal_function ));
1636
- zend_string_release_ex (str , 1 );
1637
- function_add_ref (orig );
1638
-
1639
- str = zend_string_init_interned (p -> orig_func , strlen (p -> orig_func ), 1 );
1640
- zend_hash_update_mem (CG (function_table ), str , func , sizeof (zend_internal_function ));
1641
- zend_string_release_ex (str , 1 );
1642
- function_add_ref (func );
1643
- }
1644
- }
1645
- p ++ ;
1646
- }
1647
- }
1648
-
1649
1590
return SUCCESS ;
1650
1591
}
1651
1592
/* }}} */
1652
1593
1653
1594
/* {{{ PHP_MSHUTDOWN_FUNCTION(mbstring) */
1654
1595
PHP_MSHUTDOWN_FUNCTION (mbstring )
1655
1596
{
1656
- /* clear overloaded function. */
1657
- if (MBSTRG (func_overload )){
1658
- const struct mb_overload_def * p ;
1659
- zend_function * orig ;
1660
-
1661
- p = & (mb_ovld [0 ]);
1662
- while (p -> type > 0 ) {
1663
- if ((MBSTRG (func_overload ) & p -> type ) == p -> type &&
1664
- (orig = zend_hash_str_find_ptr (CG (function_table ), p -> save_func , strlen (p -> save_func )))) {
1665
-
1666
- zend_hash_str_update_mem (CG (function_table ), p -> orig_func , strlen (p -> orig_func ), orig , sizeof (zend_internal_function ));
1667
- function_add_ref (orig );
1668
- zend_hash_str_del (CG (function_table ), p -> save_func , strlen (p -> save_func ));
1669
- }
1670
- p ++ ;
1671
- }
1672
- }
1673
-
1674
1597
UNREGISTER_INI_ENTRIES ();
1675
1598
1676
1599
zend_multibyte_restore_functions ();
@@ -1695,12 +1618,6 @@ PHP_RINIT_FUNCTION(mbstring)
1695
1618
1696
1619
php_mb_populate_current_detect_order_list ();
1697
1620
1698
- /* override original function. */
1699
- if (MBSTRG (func_overload )){
1700
- zend_error (E_DEPRECATED , "The mbstring.func_overload directive is deprecated" );
1701
-
1702
- CG (compiler_options ) |= ZEND_COMPILE_NO_BUILTIN_STRLEN ;
1703
- }
1704
1621
#if HAVE_MBREGEX
1705
1622
PHP_RINIT (mb_regex ) (INIT_FUNC_ARGS_PASSTHRU );
1706
1623
#endif
@@ -2782,11 +2699,6 @@ PHP_FUNCTION(mb_substr)
2782
2699
real_len = 0 ;
2783
2700
}
2784
2701
2785
- if (((MBSTRG (func_overload ) & MB_OVERLOAD_STRING ) == MB_OVERLOAD_STRING )
2786
- && (real_from > mbfl_strlen (& string ))) {
2787
- RETURN_FALSE ;
2788
- }
2789
-
2790
2702
ret = mbfl_substr (& string , & result , real_from , real_len );
2791
2703
if (NULL == ret ) {
2792
2704
RETURN_FALSE ;
@@ -4411,8 +4323,7 @@ PHP_FUNCTION(mb_get_info)
4411
4323
size_t typ_len ;
4412
4324
size_t n ;
4413
4325
char * name ;
4414
- const struct mb_overload_def * over_func ;
4415
- zval row1 , row2 ;
4326
+ zval row ;
4416
4327
const mbfl_language * lang = mbfl_no2language (MBSTRG (language ));
4417
4328
const mbfl_encoding * * entry ;
4418
4329
@@ -4434,20 +4345,6 @@ PHP_FUNCTION(mb_get_info)
4434
4345
if ((name = (char * )zend_ini_string ("mbstring.http_output_conv_mimetypes" , sizeof ("mbstring.http_output_conv_mimetypes" ) - 1 , 0 )) != NULL ) {
4435
4346
add_assoc_string (return_value , "http_output_conv_mimetypes" , name );
4436
4347
}
4437
- add_assoc_long (return_value , "func_overload" , MBSTRG (func_overload ));
4438
- if (MBSTRG (func_overload )){
4439
- over_func = & (mb_ovld [0 ]);
4440
- array_init (& row1 );
4441
- while (over_func -> type > 0 ) {
4442
- if ((MBSTRG (func_overload ) & over_func -> type ) == over_func -> type ) {
4443
- add_assoc_string (& row1 , over_func -> orig_func , over_func -> ovld_func );
4444
- }
4445
- over_func ++ ;
4446
- }
4447
- add_assoc_zval (return_value , "func_overload_list" , & row1 );
4448
- } else {
4449
- add_assoc_string (return_value , "func_overload_list" , "no overload" );
4450
- }
4451
4348
if (lang != NULL ) {
4452
4349
if ((name = (char * )mbfl_no_encoding2name (lang -> mail_charset )) != NULL ) {
4453
4350
add_assoc_string (return_value , "mail_charset" , name );
@@ -4472,12 +4369,12 @@ PHP_FUNCTION(mb_get_info)
4472
4369
entry = MBSTRG (current_detect_order_list );
4473
4370
if (n > 0 ) {
4474
4371
size_t i ;
4475
- array_init (& row2 );
4372
+ array_init (& row );
4476
4373
for (i = 0 ; i < n ; i ++ ) {
4477
- add_next_index_string (& row2 , (* entry )-> name );
4374
+ add_next_index_string (& row , (* entry )-> name );
4478
4375
entry ++ ;
4479
4376
}
4480
- add_assoc_zval (return_value , "detect_order" , & row2 );
4377
+ add_assoc_zval (return_value , "detect_order" , & row );
4481
4378
}
4482
4379
if (MBSTRG (current_filter_illegal_mode ) == MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE ) {
4483
4380
add_assoc_string (return_value , "substitute_character" , "none" );
@@ -4509,21 +4406,6 @@ PHP_FUNCTION(mb_get_info)
4509
4406
if ((name = (char * )zend_ini_string ("mbstring.http_output_conv_mimetypes" , sizeof ("mbstring.http_output_conv_mimetypes" ) - 1 , 0 )) != NULL ) {
4510
4407
RETVAL_STRING (name );
4511
4408
}
4512
- } else if (!strcasecmp ("func_overload" , typ )) {
4513
- RETVAL_LONG (MBSTRG (func_overload ));
4514
- } else if (!strcasecmp ("func_overload_list" , typ )) {
4515
- if (MBSTRG (func_overload )){
4516
- over_func = & (mb_ovld [0 ]);
4517
- array_init (return_value );
4518
- while (over_func -> type > 0 ) {
4519
- if ((MBSTRG (func_overload ) & over_func -> type ) == over_func -> type ) {
4520
- add_assoc_string (return_value , over_func -> orig_func , over_func -> ovld_func );
4521
- }
4522
- over_func ++ ;
4523
- }
4524
- } else {
4525
- RETVAL_STRING ("no overload" );
4526
- }
4527
4409
} else if (!strcasecmp ("mail_charset" , typ )) {
4528
4410
if (lang != NULL && (name = (char * )mbfl_no_encoding2name (lang -> mail_charset )) != NULL ) {
4529
4411
RETVAL_STRING (name );
0 commit comments