Skip to content

Commit 3ce888a

Browse files
committed
Use uint32_t for 'illegal_substchar' codepoint in mbstring
This value is a wchar, so the best type for it is uint32_t.
1 parent 20769fb commit 3ce888a

File tree

8 files changed

+13
-13
lines changed

8 files changed

+13
-13
lines changed

ext/mbstring/libmbfl/mbfl/mbfilter.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ void mbfl_buffer_converter_illegal_mode(mbfl_buffer_converter *convd, int mode)
154154
}
155155
}
156156

157-
void mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int substchar)
157+
void mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, uint32_t substchar)
158158
{
159159
if (convd->filter2) {
160160
convd->filter2->illegal_substchar = substchar;
@@ -387,7 +387,7 @@ mbfl_convert_encoding(
387387

388388
if (filter2 != NULL) {
389389
filter2->illegal_mode = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR;
390-
filter2->illegal_substchar = 0x3f; /* '?' */
390+
filter2->illegal_substchar = '?';
391391
}
392392

393393
mbfl_memory_device_init(&device, string->len, (string->len >> 2) + 8);

ext/mbstring/libmbfl/mbfl/mbfilter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ struct _mbfl_buffer_converter {
142142
MBFLAPI extern mbfl_buffer_converter * mbfl_buffer_converter_new(const mbfl_encoding *from, const mbfl_encoding *to, size_t buf_initsz);
143143
MBFLAPI extern void mbfl_buffer_converter_delete(mbfl_buffer_converter *convd);
144144
MBFLAPI extern void mbfl_buffer_converter_illegal_mode(mbfl_buffer_converter *convd, int mode);
145-
MBFLAPI extern void mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int substchar);
145+
MBFLAPI extern void mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, uint32_t substchar);
146146
MBFLAPI extern size_t mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string);
147147
MBFLAPI extern void mbfl_buffer_converter_flush(mbfl_buffer_converter *convd);
148148
MBFLAPI extern mbfl_string * mbfl_buffer_converter_result(mbfl_buffer_converter *convd, mbfl_string *result);

ext/mbstring/libmbfl/mbfl/mbfl_convert.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ int mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter)
243243
unsigned int w = c;
244244
int ret = 0;
245245
int mode_backup = filter->illegal_mode;
246-
int substchar_backup = filter->illegal_substchar;
246+
uint32_t substchar_backup = filter->illegal_substchar;
247247

248248
/* The used substitution character may not be supported by the target character encoding.
249249
* If that happens, first try to use "?" instead and if that also fails, silently drop the

ext/mbstring/libmbfl/mbfl/mbfl_convert.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ struct _mbfl_convert_filter {
5757
const mbfl_encoding *from;
5858
const mbfl_encoding *to;
5959
int illegal_mode;
60-
int illegal_substchar;
60+
uint32_t illegal_substchar;
6161
size_t num_illegalchar;
6262
void *opaque;
6363
};

ext/mbstring/mbstring.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -883,8 +883,8 @@ static PHP_INI_MH(OnUpdate_mbstring_substitute_character)
883883
} else {
884884
MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR;
885885
MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR;
886-
MBSTRG(filter_illegal_substchar) = 0x3f; /* '?' */
887-
MBSTRG(current_filter_illegal_substchar) = 0x3f; /* '?' */
886+
MBSTRG(filter_illegal_substchar) = '?';
887+
MBSTRG(current_filter_illegal_substchar) = '?';
888888
}
889889

890890
return SUCCESS;
@@ -1015,9 +1015,9 @@ ZEND_TSRMLS_CACHE_UPDATE();
10151015
mbstring_globals->default_detect_order_list = (enum mbfl_no_encoding *) php_mb_default_identify_list_neut;
10161016
mbstring_globals->default_detect_order_list_size = sizeof(php_mb_default_identify_list_neut) / sizeof(php_mb_default_identify_list_neut[0]);
10171017
mbstring_globals->filter_illegal_mode = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR;
1018-
mbstring_globals->filter_illegal_substchar = 0x3f; /* '?' */
1018+
mbstring_globals->filter_illegal_substchar = '?';
10191019
mbstring_globals->current_filter_illegal_mode = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR;
1020-
mbstring_globals->current_filter_illegal_substchar = 0x3f; /* '?' */
1020+
mbstring_globals->current_filter_illegal_substchar = '?';
10211021
mbstring_globals->illegalchars = 0;
10221022
mbstring_globals->encoding_translation = 0;
10231023
mbstring_globals->strict_detection = 0;

ext/mbstring/mbstring.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ ZEND_BEGIN_MODULE_GLOBALS(mbstring)
8787
enum mbfl_no_encoding *default_detect_order_list;
8888
size_t default_detect_order_list_size;
8989
int filter_illegal_mode;
90-
int filter_illegal_substchar;
90+
uint32_t filter_illegal_substchar;
9191
int current_filter_illegal_mode;
92-
int current_filter_illegal_substchar;
92+
uint32_t current_filter_illegal_substchar;
9393
enum mbfl_no_language language;
9494
bool encoding_translation;
9595
bool strict_detection;

ext/mbstring/php_unicode.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ static uint32_t *emit_special_casing_sequence(uint32_t w, uint32_t *out)
238238
return out;
239239
}
240240

241-
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)
241+
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)
242242
{
243243
/* A Unicode codepoint can expand out to up to 3 codepoints when uppercased, lowercased, or title cased
244244
* See http://www.unicode.org/Public/UNIDATA/SpecialCasing.txt */

ext/mbstring/php_unicode.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ typedef enum {
9191

9292
MBSTRING_API zend_string *php_unicode_convert_case(
9393
php_case_mode case_mode, const char *srcstr, size_t srclen,
94-
const mbfl_encoding *src_encoding, int illegal_mode, int illegal_substchar);
94+
const mbfl_encoding *src_encoding, int illegal_mode, uint32_t illegal_substchar);
9595

9696
/* Optimize the common ASCII case for lower/upper */
9797

0 commit comments

Comments
 (0)