From: Nikita Popov Date: Thu, 7 May 2020 09:36:57 +0000 (+0200) Subject: Remove no_language from mbfl_string X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=217f6013b31758f802e0d46affa369c861e607bf;p=php Remove no_language from mbfl_string This is not actually used for anything and just causes confusion. --- diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index 13afc161da..9c8515b3ef 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -1038,7 +1038,6 @@ mbfl_substr( unsigned char *p, *w; mbfl_string_init(result); - result->no_language = string->no_language; result->encoding = string->encoding; if ((encoding->flag & (MBFL_ENCTYPE_SBCS | MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE | MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) || @@ -1125,7 +1124,6 @@ mbfl_substr( mbfl_memory_device_init(&device, length + 1, 0); mbfl_string_init(result); - result->no_language = string->no_language; result->encoding = string->encoding; /* output code filter */ decoder = mbfl_convert_filter_new( @@ -1187,7 +1185,6 @@ mbfl_strcut( } mbfl_string_init(result); - result->no_language = string->no_language; result->encoding = string->encoding; if ((encoding->flag & (MBFL_ENCTYPE_SBCS @@ -1573,7 +1570,6 @@ mbfl_strimwidth( return NULL; } mbfl_string_init(result); - result->no_language = string->no_language; result->encoding = string->encoding; mbfl_memory_device_init(&pc.device, MIN(string->len, width), 0); @@ -1675,7 +1671,6 @@ mbfl_ja_jp_hantozen( mbfl_memory_device_init(&device, string->len, 0); mbfl_string_init(result); - result->no_language = string->no_language; result->encoding = string->encoding; decoder = mbfl_convert_filter_new( @@ -2028,7 +2023,6 @@ mbfl_mime_header_encode( struct mime_header_encoder_data *pe; mbfl_string_init(result); - result->no_language = string->no_language; result->encoding = &mbfl_encoding_ascii; pe = mime_header_encoder_new(string->encoding, outcode, encoding); @@ -2320,7 +2314,6 @@ mbfl_mime_header_decode( struct mime_header_decoder_data *pd; mbfl_string_init(result); - result->no_language = string->no_language; result->encoding = outcode; pd = mime_header_decoder_new(outcode); @@ -2715,7 +2708,6 @@ mbfl_html_numeric_entity( return NULL; } mbfl_string_init(result); - result->no_language = string->no_language; result->encoding = string->encoding; mbfl_memory_device_init(&device, string->len, 0); diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_string.c b/ext/mbstring/libmbfl/mbfl/mbfl_string.c index b1acecb259..fc9f211092 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_string.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_string.c @@ -44,33 +44,25 @@ void mbfl_string_init(mbfl_string *string) { - if (string) { - string->no_language = mbfl_no_language_uni; - string->encoding = &mbfl_encoding_pass; - string->val = (unsigned char*)NULL; - string->len = 0; - } + string->encoding = &mbfl_encoding_pass; + string->val = (unsigned char*)NULL; + string->len = 0; } void -mbfl_string_init_set(mbfl_string *string, mbfl_language_id no_language, const mbfl_encoding *encoding) +mbfl_string_init_set(mbfl_string *string, const mbfl_encoding *encoding) { - if (string) { - string->no_language = no_language; - string->encoding = encoding; - string->val = (unsigned char*)NULL; - string->len = 0; - } + string->encoding = encoding; + string->val = (unsigned char*)NULL; + string->len = 0; } void mbfl_string_clear(mbfl_string *string) { - if (string) { - if (string->val != (unsigned char*)NULL) { - mbfl_free(string->val); - } - string->val = (unsigned char*)NULL; - string->len = 0; + if (string->val != (unsigned char*)NULL) { + mbfl_free(string->val); } + string->val = (unsigned char*)NULL; + string->len = 0; } diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_string.h b/ext/mbstring/libmbfl/mbfl/mbfl_string.h index 43f4a5fa75..d96a77cca7 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_string.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_string.h @@ -40,14 +40,13 @@ * string object */ typedef struct _mbfl_string { - enum mbfl_no_language no_language; const mbfl_encoding *encoding; unsigned char *val; size_t len; } mbfl_string; MBFLAPI extern void mbfl_string_init(mbfl_string *string); -MBFLAPI extern void mbfl_string_init_set(mbfl_string *string, mbfl_language_id no_language, const mbfl_encoding *encoding); +MBFLAPI extern void mbfl_string_init_set(mbfl_string *string, const mbfl_encoding *encoding); MBFLAPI extern void mbfl_string_clear(mbfl_string *string); #ifndef NULL diff --git a/ext/mbstring/mb_gpc.c b/ext/mbstring/mb_gpc.c index 9651d21131..01f3d8ce8b 100644 --- a/ext/mbstring/mb_gpc.c +++ b/ext/mbstring/mb_gpc.c @@ -192,9 +192,9 @@ const mbfl_encoding *_php_mb_encoding_handler_ex(const php_mb_encoding_handler_i mbfl_encoding_detector *identd = NULL; mbfl_buffer_converter *convd = NULL; - mbfl_string_init_set(&string, info->to_language, info->to_encoding); - mbfl_string_init_set(&resvar, info->to_language, info->to_encoding); - mbfl_string_init_set(&resval, info->to_language, info->to_encoding); + mbfl_string_init_set(&string, info->to_encoding); + mbfl_string_init_set(&resvar, info->to_encoding); + mbfl_string_init_set(&resval, info->to_encoding); if (!res || *res == '\0') { goto out; diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 02a4aeba00..f42b449c34 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -469,7 +469,6 @@ static const zend_encoding *php_mb_zend_encoding_detector(const unsigned char *a } mbfl_string_init(&string); - string.no_language = MBSTRG(language); string.val = (unsigned char *)arg_string; string.len = arg_length; return (const zend_encoding *) mbfl_identify_encoding(&string, (const mbfl_encoding **)list, list_size, 0); @@ -485,7 +484,6 @@ static size_t php_mb_zend_encoding_converter(unsigned char **to, size_t *to_leng /* new encoding */ /* initialize string */ string.encoding = (const mbfl_encoding*)encoding_from; - string.no_language = MBSTRG(language); string.val = (unsigned char*)from; string.len = from_length; @@ -1753,7 +1751,6 @@ PHP_FUNCTION(mb_output_handler) /* feed the string */ mbfl_string_init(&string); /* these are not needed. convd has encoding info. - string.no_language = MBSTRG(language); string.encoding = MBSTRG(current_internal_encoding); */ string.val = (unsigned char *)arg_string; @@ -1834,7 +1831,6 @@ PHP_FUNCTION(mb_str_split) /* fill mbfl_string structure */ string.val = (unsigned char *) ZSTR_VAL(str); string.len = ZSTR_LEN(str); - string.no_language = MBSTRG(language); string.encoding = php_mb_get_encoding(encoding, 3); if (!string.encoding) { RETURN_THROWS(); @@ -1959,7 +1955,6 @@ PHP_FUNCTION(mb_strlen) string.val = (unsigned char *) str; string.len = str_len; - string.no_language = MBSTRG(language); string.encoding = php_mb_get_encoding(enc_name, 2); if (!string.encoding) { RETURN_THROWS(); @@ -2003,7 +1998,6 @@ PHP_FUNCTION(mb_strpos) RETURN_THROWS(); } - haystack.no_language = needle.no_language = MBSTRG(language); haystack.encoding = needle.encoding = php_mb_get_encoding(enc_name, 4); if (!haystack.encoding) { RETURN_THROWS(); @@ -2031,7 +2025,6 @@ PHP_FUNCTION(mb_strrpos) RETURN_THROWS(); } - haystack.no_language = needle.no_language = MBSTRG(language); haystack.encoding = needle.encoding = php_mb_get_encoding(enc_name, 4); if (!haystack.encoding) { RETURN_THROWS(); @@ -2127,7 +2120,6 @@ static void php_mb_strstr_variants(INTERNAL_FUNCTION_PARAMETERS, unsigned int va RETURN_THROWS(); } - haystack.no_language = needle.no_language = MBSTRG(language); haystack.encoding = needle.encoding = php_mb_get_encoding(encoding_name, 4); if (!haystack.encoding) { RETURN_THROWS(); @@ -2216,7 +2208,6 @@ PHP_FUNCTION(mb_substr_count) RETURN_THROWS(); } - haystack.no_language = needle.no_language = MBSTRG(language); haystack.encoding = needle.encoding = php_mb_get_encoding(enc_name, 3); if (!haystack.encoding) { RETURN_THROWS(); @@ -2248,7 +2239,6 @@ PHP_FUNCTION(mb_substr) RETURN_THROWS(); } - string.no_language = MBSTRG(language); string.encoding = php_mb_get_encoding(encoding, 4); if (!string.encoding) { RETURN_THROWS(); @@ -2309,7 +2299,6 @@ PHP_FUNCTION(mb_strcut) RETURN_THROWS(); } - string.no_language = MBSTRG(language); string.encoding = php_mb_get_encoding(encoding, 4); if (!string.encoding) { RETURN_THROWS(); @@ -2365,7 +2354,6 @@ PHP_FUNCTION(mb_strwidth) RETURN_THROWS(); } - string.no_language = MBSTRG(language); string.encoding = php_mb_get_encoding(enc_name, 2); if (!string.encoding) { RETURN_THROWS(); @@ -2391,7 +2379,6 @@ PHP_FUNCTION(mb_strimwidth) RETURN_THROWS(); } - string.no_language = marker.no_language = MBSTRG(language); string.encoding = marker.encoding = php_mb_get_encoding(encoding, 5); if (!string.encoding) { RETURN_THROWS(); @@ -2466,7 +2453,6 @@ MBSTRING_API char *php_mb_convert_encoding_ex(const char *input, size_t length, /* initialize string */ string.encoding = from_encoding; - string.no_language = MBSTRG(language); string.val = (unsigned char *)input; string.len = length; @@ -2834,7 +2820,6 @@ PHP_FUNCTION(mb_detect_encoding) } mbfl_string_init(&string); - string.no_language = MBSTRG(language); string.val = (unsigned char *)str; string.len = str_len; ret = mbfl_identify_encoding(&string, elist, size, strict); @@ -2911,7 +2896,6 @@ PHP_FUNCTION(mb_encode_mimeheader) size_t linefeed_len; zend_long indent = 0; - string.no_language = MBSTRG(language); string.encoding = MBSTRG(current_internal_encoding); if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|Sssl", (char **)&string.val, &string.len, &charset_name, &trans_enc_name, &trans_enc_name_len, &linefeed, &linefeed_len, &indent) == FAILURE) { @@ -2957,7 +2941,6 @@ PHP_FUNCTION(mb_decode_mimeheader) { mbfl_string string, result, *ret; - string.no_language = MBSTRG(language); string.encoding = MBSTRG(current_internal_encoding); if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", (char **)&string.val, &string.len) == FAILURE) { @@ -3053,7 +3036,6 @@ PHP_FUNCTION(mb_convert_kana) } /* encoding */ - string.no_language = MBSTRG(language); string.encoding = php_mb_get_encoding(encname, 3); if (!string.encoding) { RETURN_THROWS(); @@ -3195,7 +3177,6 @@ PHP_FUNCTION(mb_convert_variables) mbfl_string_init(&result); from_encoding = MBSTRG(current_internal_encoding); string.encoding = from_encoding; - string.no_language = MBSTRG(language); /* pre-conversion encoding */ if (from_enc_ht) { @@ -3302,7 +3283,6 @@ php_mb_numericentity_exec(INTERNAL_FUNCTION_PARAMETERS, int type) } } - string.no_language = MBSTRG(language); string.val = (unsigned char *)str; string.len = str_len; string.encoding = php_mb_get_encoding(encoding, 3); @@ -3706,7 +3686,6 @@ PHP_FUNCTION(mb_send_mail) } /* Subject: */ - orig_str.no_language = MBSTRG(language); orig_str.val = (unsigned char *)subject; orig_str.len = subject_len; orig_str.encoding = MBSTRG(current_internal_encoding); @@ -3720,7 +3699,6 @@ PHP_FUNCTION(mb_send_mail) } /* message body */ - orig_str.no_language = MBSTRG(language); orig_str.val = (unsigned char *)message; orig_str.len = message_len; orig_str.encoding = MBSTRG(current_internal_encoding); @@ -3997,7 +3975,7 @@ static inline int php_mb_check_encoding_impl(mbfl_buffer_converter *convd, const size_t illegalchars = 0; /* initialize string */ - mbfl_string_init_set(&string, mbfl_no_language_neutral, encoding); + mbfl_string_init_set(&string, encoding); mbfl_string_init(&result); string.val = (unsigned char *) input; @@ -4463,9 +4441,7 @@ MBSTRING_API size_t php_mb_stripos(int mode, const char *old_haystack, size_t ol mbfl_string_init(&haystack); mbfl_string_init(&needle); - haystack.no_language = MBSTRG(language); haystack.encoding = enc; - needle.no_language = MBSTRG(language); needle.encoding = enc; do {