summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/mbstring/mbstring.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index fe1a383f92..d30e54a83f 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -1394,6 +1394,11 @@ static PHP_INI_MH(OnUpdate_mbstring_substitute_character)
}
}
}
+ } else {
+ MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR;
+ MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR;
+ MBSTRG(filter_illegal_substchar) = 0x3f; /* '?' */
+ MBSTRG(current_filter_illegal_substchar) = 0x3f; /* '?' */
}
return SUCCESS;
@@ -1429,7 +1434,8 @@ static PHP_INI_MH(OnUpdate_mbstring_http_output_conv_mimetypes)
void *re = NULL;
if (!new_value) {
- return SUCCESS;
+ new_value = entry->orig_value;
+ new_value_length = entry->orig_value_length;
}
php_trim(new_value, new_value_length, NULL, 0, &tmp, 3 TSRMLS_CC);
@@ -1604,9 +1610,7 @@ PHP_RINIT_FUNCTION(mbstring)
MBSTRG(current_filter_illegal_mode) = MBSTRG(filter_illegal_mode);
MBSTRG(current_filter_illegal_substchar) = MBSTRG(filter_illegal_substchar);
- if (!MBSTRG(encoding_translation)) {
- MBSTRG(illegalchars) = 0;
- }
+ MBSTRG(illegalchars) = 0;
n = 0;
if (MBSTRG(detect_order_list)) {