summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/php_ini.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/main/php_ini.c b/main/php_ini.c
index 91c29e0f15..3acac20c32 100644
--- a/main/php_ini.c
+++ b/main/php_ini.c
@@ -55,6 +55,9 @@ static int php_remove_ini_entries(php_ini_entry *ini_entry, int *module_number)
static int php_restore_ini_entry_cb(php_ini_entry *ini_entry)
{
if (ini_entry->modified) {
+ if (ini_entry->on_modify) {
+ ini_entry->on_modify(ini_entry, ini_entry->orig_value, ini_entry->orig_value_length, ini_entry->mh_arg1, ini_entry->mh_arg2, ini_entry->mh_arg3);
+ }
efree(ini_entry->value);
ini_entry->value = ini_entry->orig_value;
ini_entry->value_length = ini_entry->orig_value_length;
@@ -176,9 +179,7 @@ PHPAPI int php_restore_ini_entry(char *name, uint name_length)
}
if (ini_entry->orig_value) {
- STR_FREE(ini_entry->value);
- ini_entry->value = ini_entry->orig_value;
- ini_entry->value_length = ini_entry->orig_value_length;
+ php_restore_ini_entry_cb(ini_entry);
}
return SUCCESS;
}