diff options
Diffstat (limited to 'Zend/zend_multibyte.c')
-rw-r--r-- | Zend/zend_multibyte.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Zend/zend_multibyte.c b/Zend/zend_multibyte.c index 8453d25785..4d8ff969e8 100644 --- a/Zend/zend_multibyte.c +++ b/Zend/zend_multibyte.c @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | Zend Engine | +----------------------------------------------------------------------+ - | Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) | + | Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) | +----------------------------------------------------------------------+ | This source file is subject to version 2.00 of the Zend license, | | that is bundled with this package in the file LICENSE, and is | @@ -67,6 +67,7 @@ static int dummy_internal_encoding_setter(const zend_encoding *encoding) return FAILURE; } +static zend_multibyte_functions multibyte_functions_dummy; static zend_multibyte_functions multibyte_functions = { NULL, dummy_encoding_fetcher, @@ -108,6 +109,7 @@ ZEND_API int zend_multibyte_set_functions(const zend_multibyte_functions *functi return FAILURE; } + multibyte_functions_dummy = multibyte_functions; multibyte_functions = *functions; /* As zend_multibyte_set_functions() gets called after ini settings were @@ -120,6 +122,11 @@ ZEND_API int zend_multibyte_set_functions(const zend_multibyte_functions *functi return SUCCESS; } +ZEND_API void zend_multibyte_restore_functions(void) +{ + multibyte_functions = multibyte_functions_dummy; +} + ZEND_API const zend_multibyte_functions *zend_multibyte_get_functions(void) { return multibyte_functions.provider_name ? &multibyte_functions: NULL; |