|
|
|
@ -4110,14 +4110,12 @@ PHP_FUNCTION(mb_check_encoding) |
|
|
|
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to create converter"); |
|
|
|
RETURN_FALSE; |
|
|
|
} |
|
|
|
mbfl_buffer_converter_illegal_mode(convd, MBSTRG(current_filter_illegal_mode)); |
|
|
|
mbfl_buffer_converter_illegal_substchar(convd, MBSTRG(current_filter_illegal_substchar)); |
|
|
|
mbfl_buffer_converter_illegal_mode(convd, MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE); |
|
|
|
mbfl_buffer_converter_illegal_substchar(convd, 0); |
|
|
|
|
|
|
|
/* initialize string */ |
|
|
|
mbfl_string_init(&string); |
|
|
|
mbfl_string_init_set(&string, mbfl_no_language_neutral, no_encoding); |
|
|
|
mbfl_string_init(&result); |
|
|
|
string.no_encoding = no_encoding; |
|
|
|
string.no_language = MBSTRG(language); |
|
|
|
|
|
|
|
string.val = (unsigned char *)var; |
|
|
|
string.len = var_len; |
|
|
|
@ -4125,18 +4123,13 @@ PHP_FUNCTION(mb_check_encoding) |
|
|
|
illegalchars = mbfl_buffer_illegalchars(convd); |
|
|
|
mbfl_buffer_converter_delete(convd); |
|
|
|
|
|
|
|
if (ret != NULL) { |
|
|
|
MBSTRG(illegalchars) += illegalchars; |
|
|
|
if (illegalchars == 0 && strncmp(string.val, ret->val, string.len) == 0) { |
|
|
|
efree(ret->val); |
|
|
|
RETURN_TRUE; |
|
|
|
} else { |
|
|
|
efree(ret->val); |
|
|
|
RETURN_FALSE; |
|
|
|
} |
|
|
|
} else { |
|
|
|
RETURN_FALSE; |
|
|
|
} |
|
|
|
RETVAL_FALSE; |
|
|
|
if (ret != NULL) { |
|
|
|
if (illegalchars == 0 && string.len == result.len && memcmp(string.val, result.val, string.len) == 0) { |
|
|
|
RETVAL_TRUE; |
|
|
|
} |
|
|
|
mbfl_string_clear(&result); |
|
|
|
} |
|
|
|
} |
|
|
|
/* }}} */ |
|
|
|
|
|
|
|
|