diff options
Diffstat (limited to 'Zend/zend_multibyte.c')
-rw-r--r-- | Zend/zend_multibyte.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Zend/zend_multibyte.c b/Zend/zend_multibyte.c index 5245a10517..ea762952fe 100644 --- a/Zend/zend_multibyte.c +++ b/Zend/zend_multibyte.c @@ -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; |