mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
Use uint32_t for 'illegal_substchar' codepoint in mbstring
This value is a wchar, so the best type for it is uint32_t.
This commit is contained in:
parent
20769fb9ab
commit
3ce888a837
@ -154,7 +154,7 @@ void mbfl_buffer_converter_illegal_mode(mbfl_buffer_converter *convd, int mode)
|
||||
}
|
||||
}
|
||||
|
||||
void mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int substchar)
|
||||
void mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, uint32_t substchar)
|
||||
{
|
||||
if (convd->filter2) {
|
||||
convd->filter2->illegal_substchar = substchar;
|
||||
@ -387,7 +387,7 @@ mbfl_convert_encoding(
|
||||
|
||||
if (filter2 != NULL) {
|
||||
filter2->illegal_mode = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR;
|
||||
filter2->illegal_substchar = 0x3f; /* '?' */
|
||||
filter2->illegal_substchar = '?';
|
||||
}
|
||||
|
||||
mbfl_memory_device_init(&device, string->len, (string->len >> 2) + 8);
|
||||
|
@ -142,7 +142,7 @@ struct _mbfl_buffer_converter {
|
||||
MBFLAPI extern mbfl_buffer_converter * mbfl_buffer_converter_new(const mbfl_encoding *from, const mbfl_encoding *to, size_t buf_initsz);
|
||||
MBFLAPI extern void mbfl_buffer_converter_delete(mbfl_buffer_converter *convd);
|
||||
MBFLAPI extern void mbfl_buffer_converter_illegal_mode(mbfl_buffer_converter *convd, int mode);
|
||||
MBFLAPI extern void mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int substchar);
|
||||
MBFLAPI extern void mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, uint32_t substchar);
|
||||
MBFLAPI extern size_t mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string);
|
||||
MBFLAPI extern void mbfl_buffer_converter_flush(mbfl_buffer_converter *convd);
|
||||
MBFLAPI extern mbfl_string * mbfl_buffer_converter_result(mbfl_buffer_converter *convd, mbfl_string *result);
|
||||
|
@ -243,7 +243,7 @@ int mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter)
|
||||
unsigned int w = c;
|
||||
int ret = 0;
|
||||
int mode_backup = filter->illegal_mode;
|
||||
int substchar_backup = filter->illegal_substchar;
|
||||
uint32_t substchar_backup = filter->illegal_substchar;
|
||||
|
||||
/* The used substitution character may not be supported by the target character encoding.
|
||||
* If that happens, first try to use "?" instead and if that also fails, silently drop the
|
||||
|
@ -57,7 +57,7 @@ struct _mbfl_convert_filter {
|
||||
const mbfl_encoding *from;
|
||||
const mbfl_encoding *to;
|
||||
int illegal_mode;
|
||||
int illegal_substchar;
|
||||
uint32_t illegal_substchar;
|
||||
size_t num_illegalchar;
|
||||
void *opaque;
|
||||
};
|
||||
|
@ -883,8 +883,8 @@ 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; /* '?' */
|
||||
MBSTRG(filter_illegal_substchar) = '?';
|
||||
MBSTRG(current_filter_illegal_substchar) = '?';
|
||||
}
|
||||
|
||||
return SUCCESS;
|
||||
@ -1015,9 +1015,9 @@ ZEND_TSRMLS_CACHE_UPDATE();
|
||||
mbstring_globals->default_detect_order_list = (enum mbfl_no_encoding *) php_mb_default_identify_list_neut;
|
||||
mbstring_globals->default_detect_order_list_size = sizeof(php_mb_default_identify_list_neut) / sizeof(php_mb_default_identify_list_neut[0]);
|
||||
mbstring_globals->filter_illegal_mode = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR;
|
||||
mbstring_globals->filter_illegal_substchar = 0x3f; /* '?' */
|
||||
mbstring_globals->filter_illegal_substchar = '?';
|
||||
mbstring_globals->current_filter_illegal_mode = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR;
|
||||
mbstring_globals->current_filter_illegal_substchar = 0x3f; /* '?' */
|
||||
mbstring_globals->current_filter_illegal_substchar = '?';
|
||||
mbstring_globals->illegalchars = 0;
|
||||
mbstring_globals->encoding_translation = 0;
|
||||
mbstring_globals->strict_detection = 0;
|
||||
|
@ -87,9 +87,9 @@ ZEND_BEGIN_MODULE_GLOBALS(mbstring)
|
||||
enum mbfl_no_encoding *default_detect_order_list;
|
||||
size_t default_detect_order_list_size;
|
||||
int filter_illegal_mode;
|
||||
int filter_illegal_substchar;
|
||||
uint32_t filter_illegal_substchar;
|
||||
int current_filter_illegal_mode;
|
||||
int current_filter_illegal_substchar;
|
||||
uint32_t current_filter_illegal_substchar;
|
||||
enum mbfl_no_language language;
|
||||
bool encoding_translation;
|
||||
bool strict_detection;
|
||||
|
@ -238,7 +238,7 @@ static uint32_t *emit_special_casing_sequence(uint32_t w, uint32_t *out)
|
||||
return out;
|
||||
}
|
||||
|
||||
MBSTRING_API zend_string *php_unicode_convert_case(php_case_mode case_mode, const char *srcstr, size_t in_len, const mbfl_encoding *src_encoding, int illegal_mode, int illegal_substchar)
|
||||
MBSTRING_API zend_string *php_unicode_convert_case(php_case_mode case_mode, const char *srcstr, size_t in_len, const mbfl_encoding *src_encoding, int illegal_mode, uint32_t illegal_substchar)
|
||||
{
|
||||
/* A Unicode codepoint can expand out to up to 3 codepoints when uppercased, lowercased, or title cased
|
||||
* See http://www.unicode.org/Public/UNIDATA/SpecialCasing.txt */
|
||||
|
@ -91,7 +91,7 @@ typedef enum {
|
||||
|
||||
MBSTRING_API zend_string *php_unicode_convert_case(
|
||||
php_case_mode case_mode, const char *srcstr, size_t srclen,
|
||||
const mbfl_encoding *src_encoding, int illegal_mode, int illegal_substchar);
|
||||
const mbfl_encoding *src_encoding, int illegal_mode, uint32_t illegal_substchar);
|
||||
|
||||
/* Optimize the common ASCII case for lower/upper */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user