summaryrefslogtreecommitdiff
path: root/Zend/zend_multibyte.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_multibyte.c')
-rw-r--r--Zend/zend_multibyte.c7
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;