Skip to content

Commit

Permalink
Remove unused functions from mbstring
Browse files Browse the repository at this point in the history
- mbfl_buffer_converter_reset
- mbfl_buffer_converter_strncat
- mbfl_buffer_converter_getbuffer
- mbfl_oddlen
- mbfl_filter_output_pipe_flush
- mbfl_memory_device_output2
- mbfl_memory_device_output4
- mbfl_is_support_encoding
- mbfl_buffer_converter_feed2
- _php_mb_regex_globals_dtor
- mime_header_encoder_feed
- mime_header_decoder_feed
- mbfl_convert_filter_feed
  • Loading branch information
alexdowad committed Aug 31, 2020
1 parent 8d13348 commit a64241b
Show file tree
Hide file tree
Showing 12 changed files with 8 additions and 228 deletions.
117 changes: 6 additions & 111 deletions ext/mbstring/libmbfl/mbfl/mbfilter.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,12 +172,6 @@ mbfl_buffer_converter_delete(mbfl_buffer_converter *convd)
}
}

void
mbfl_buffer_converter_reset(mbfl_buffer_converter *convd)
{
mbfl_memory_device_reset(&convd->device);
}

int
mbfl_buffer_converter_illegal_mode(mbfl_buffer_converter *convd, int mode)
{
Expand Down Expand Up @@ -210,45 +204,16 @@ mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int substc
return 1;
}

int
mbfl_buffer_converter_strncat(mbfl_buffer_converter *convd, const unsigned char *p, size_t n)
{
mbfl_convert_filter *filter;
int (*filter_function)(int c, mbfl_convert_filter *filter);

if (convd != NULL && p != NULL) {
filter = convd->filter1;
if (filter != NULL) {
filter_function = filter->filter_function;
while (n > 0) {
if ((*filter_function)(*p++, filter) < 0) {
break;
}
n--;
}
}
}

return n;
}

int
mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string)
{
return mbfl_buffer_converter_feed2(convd, string, NULL);
}

int
mbfl_buffer_converter_feed2(mbfl_buffer_converter *convd, mbfl_string *string, size_t *loc)
size_t mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string)
{
size_t n;
unsigned char *p;
mbfl_convert_filter *filter;
int (*filter_function)(int c, mbfl_convert_filter *filter);

if (convd == NULL || string == NULL) {
return -1;
}
ZEND_ASSERT(convd);
ZEND_ASSERT(string);

mbfl_memory_device_realloc(&convd->device, convd->device.pos + string->len, string->len/4);
/* feed data */
n = string->len;
Expand All @@ -259,18 +224,12 @@ mbfl_buffer_converter_feed2(mbfl_buffer_converter *convd, mbfl_string *string, s
filter_function = filter->filter_function;
while (n > 0) {
if ((*filter_function)(*p++, filter) < 0) {
if (loc) {
*loc = p - string->val;
}
return -1;
return p - string->val;
}
n--;
}
}
if (loc) {
*loc = p - string->val;
}
return 0;
return p - string->val;
}


Expand All @@ -291,20 +250,6 @@ mbfl_buffer_converter_flush(mbfl_buffer_converter *convd)
return 0;
}

mbfl_string *
mbfl_buffer_converter_getbuffer(mbfl_buffer_converter *convd, mbfl_string *result)
{
if (convd != NULL && result != NULL && convd->device.buffer != NULL) {
result->encoding = convd->to;
result->val = convd->device.buffer;
result->len = convd->device.pos;
} else {
result = NULL;
}

return result;
}

mbfl_string *
mbfl_buffer_converter_result(mbfl_buffer_converter *convd, mbfl_string *result)
{
Expand Down Expand Up @@ -755,44 +700,6 @@ collector_strpos(int c, void* data)
return c;
}

/*
* oddlen
*/
size_t
mbfl_oddlen(mbfl_string *string)
{
size_t len, n, k;
unsigned char *p;
const mbfl_encoding *encoding = string->encoding;

len = 0;
if (encoding->flag & MBFL_ENCTYPE_SBCS) {
return 0;
} else if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) {
return len % 2;
} else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) {
return len % 4;
} else if (encoding->mblen_table != NULL) {
const unsigned char *mbtab = encoding->mblen_table;
n = 0;
p = string->val;
k = string->len;
/* count */
if (p != NULL) {
while (n < k) {
unsigned m = mbtab[*p];
n += m;
p += m;
};
}
return n-k;
} else {
/* how can i do ? */
return 0;
}
/* NOT REACHED */
}

static const unsigned char *mbfl_find_offset_utf8(
const unsigned char *str, const unsigned char *end, ssize_t offset) {
if (offset < 0) {
Expand Down Expand Up @@ -2007,12 +1914,6 @@ mime_header_encoder_delete(struct mime_header_encoder_data *pe)
}
}

int
mime_header_encoder_feed(int c, struct mime_header_encoder_data *pe)
{
return (*pe->conv1_filter->filter_function)(c, pe->conv1_filter);
}

mbfl_string *
mbfl_mime_header_encode(
mbfl_string *string,
Expand Down Expand Up @@ -2301,12 +2202,6 @@ mime_header_decoder_delete(struct mime_header_decoder_data *pd)
}
}

int
mime_header_decoder_feed(int c, struct mime_header_decoder_data *pd)
{
return mime_header_decoder_collector(c, pd);
}

mbfl_string *
mbfl_mime_header_decode(
mbfl_string *string,
Expand Down
18 changes: 1 addition & 17 deletions ext/mbstring/libmbfl/mbfl/mbfilter.h
Original file line number Diff line number Diff line change
Expand Up @@ -143,14 +143,10 @@ 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_reset(mbfl_buffer_converter *convd);
MBFLAPI extern int mbfl_buffer_converter_illegal_mode(mbfl_buffer_converter *convd, int mode);
MBFLAPI extern int mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int substchar);
MBFLAPI extern int mbfl_buffer_converter_strncat(mbfl_buffer_converter *convd, const unsigned char *p, size_t n);
MBFLAPI extern int mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string);
MBFLAPI extern int mbfl_buffer_converter_feed2(mbfl_buffer_converter *convd, mbfl_string *string, size_t *loc);
MBFLAPI extern size_t mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string);
MBFLAPI extern int mbfl_buffer_converter_flush(mbfl_buffer_converter *convd);
MBFLAPI extern mbfl_string * mbfl_buffer_converter_getbuffer(mbfl_buffer_converter *convd, mbfl_string *result);
MBFLAPI extern mbfl_string * mbfl_buffer_converter_result(mbfl_buffer_converter *convd, mbfl_string *result);
MBFLAPI extern mbfl_string * mbfl_buffer_converter_feed_result(mbfl_buffer_converter *convd, mbfl_string *string, mbfl_string *result);
MBFLAPI extern size_t mbfl_buffer_illegalchars(mbfl_buffer_converter *convd);
Expand Down Expand Up @@ -196,12 +192,6 @@ static inline int mbfl_is_error(size_t len) {
MBFLAPI extern size_t
mbfl_strlen(const mbfl_string *string);

/*
* oddlen
*/
MBFLAPI extern size_t
mbfl_oddlen(mbfl_string *string);

#define MBFL_ERROR_NOT_FOUND ((size_t) -1)
#define MBFL_ERROR_ENCODING ((size_t) -4)
#define MBFL_ERROR_EMPTY ((size_t) -8)
Expand Down Expand Up @@ -263,9 +253,6 @@ mime_header_encoder_new(
MBFLAPI extern void
mime_header_encoder_delete(struct mime_header_encoder_data *pe);

MBFLAPI extern int
mime_header_encoder_feed(int c, struct mime_header_encoder_data *pe);

MBFLAPI extern mbfl_string *
mime_header_encoder_result(struct mime_header_encoder_data *pe, mbfl_string *result);

Expand All @@ -288,9 +275,6 @@ mime_header_decoder_new(const mbfl_encoding *outcode);
MBFLAPI extern void
mime_header_decoder_delete(struct mime_header_decoder_data *pd);

MBFLAPI extern int
mime_header_decoder_feed(int c, struct mime_header_decoder_data *pd);

MBFLAPI extern mbfl_string *
mime_header_decoder_result(struct mime_header_decoder_data *pd, mbfl_string *result);

Expand Down
6 changes: 0 additions & 6 deletions ext/mbstring/libmbfl/mbfl/mbfl_convert.c
Original file line number Diff line number Diff line change
Expand Up @@ -220,12 +220,6 @@ mbfl_convert_filter_delete(mbfl_convert_filter *filter)
}
}

int
mbfl_convert_filter_feed(int c, mbfl_convert_filter *filter)
{
return (*filter->filter_function)(c, filter);
}

This comment has been minimized.

Copy link
@remicollet

remicollet Sep 2, 2020

Contributor

This help was used in mailparse extension... :(

Fixed by php/pecl-mail-mailparse@fa3c4f0

This comment has been minimized.

Copy link
@alexdowad

alexdowad Sep 2, 2020

Author Contributor

Sorry, didn't think that any of these functions were used outside of mbstring. Should we restore mbfl_convert_filter_feed?

This comment has been minimized.

Copy link
@remicollet

remicollet Sep 2, 2020

Contributor

No need, as now fixed in mailparse ext (if more impact I will have revert needed stuff)

This comment has been minimized.

Copy link
@alexdowad

alexdowad Sep 2, 2020

Author Contributor

OK. Well, I'm sorry for the inconvenience.

int
mbfl_convert_filter_feed_string(mbfl_convert_filter *filter, const unsigned char *p, size_t len) {
while (len > 0) {
Expand Down
1 change: 0 additions & 1 deletion ext/mbstring/libmbfl/mbfl/mbfl_convert.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ MBFLAPI extern mbfl_convert_filter *mbfl_convert_filter_new2(
int (*flush_function)(void *),
void *data );
MBFLAPI extern void mbfl_convert_filter_delete(mbfl_convert_filter *filter);
MBFLAPI extern int mbfl_convert_filter_feed(int c, mbfl_convert_filter *filter);
MBFLAPI extern int mbfl_convert_filter_feed_string(mbfl_convert_filter *filter, const unsigned char *p, size_t len);
MBFLAPI extern int mbfl_convert_filter_flush(mbfl_convert_filter *filter);
MBFLAPI extern void mbfl_convert_filter_reset(mbfl_convert_filter *filter, const mbfl_encoding *from, const mbfl_encoding *to);
Expand Down
13 changes: 0 additions & 13 deletions ext/mbstring/libmbfl/mbfl/mbfl_encoding.c
Original file line number Diff line number Diff line change
Expand Up @@ -308,16 +308,3 @@ mbfl_no2preferred_mime_name(enum mbfl_no_encoding no_encoding)
return NULL;
}
}

int
mbfl_is_support_encoding(const char *name)
{
const mbfl_encoding *encoding;

encoding = mbfl_name2encoding(name);
if (encoding == NULL) {
return 0;
} else {
return 1;
}
}
1 change: 0 additions & 1 deletion ext/mbstring/libmbfl/mbfl/mbfl_encoding.h
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,6 @@ MBFLAPI extern enum mbfl_no_encoding mbfl_name2no_encoding(const char *name);
MBFLAPI extern const mbfl_encoding ** mbfl_get_supported_encodings();
MBFLAPI extern const char * mbfl_no_encoding2name(enum mbfl_no_encoding no_encoding);
MBFLAPI extern const char * mbfl_no2preferred_mime_name(enum mbfl_no_encoding no_encoding);
MBFLAPI extern int mbfl_is_support_encoding(const char *name);


#endif /* MBFL_ENCODING_H */
10 changes: 0 additions & 10 deletions ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,6 @@ int mbfl_filter_output_pipe(int c, void* data)
return (*filter->filter_function)(c, filter);
}

int mbfl_filter_output_pipe_flush(void *data)
{
mbfl_convert_filter *filter = (mbfl_convert_filter*)data;
if (filter->filter_flush != NULL) {
return (*filter->filter_flush)(filter);
}

return 0;
}

int mbfl_filter_output_null(int c, void* data)
{
return c;
Expand Down
1 change: 0 additions & 1 deletion ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
#define MBFL_FILTER_OUTPUT_H

MBFLAPI extern int mbfl_filter_output_pipe(int c, void* data);
MBFLAPI extern int mbfl_filter_output_pipe_flush(void* data);
MBFLAPI extern int mbfl_filter_output_null(int c, void* data);

#endif /* MBFL_FILTER_OUTPUT_H */
52 changes: 0 additions & 52 deletions ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,58 +150,6 @@ mbfl_memory_device_output(int c, void *data)
return c;
}

int
mbfl_memory_device_output2(int c, void *data)
{
mbfl_memory_device *device = (mbfl_memory_device *)data;

if (2 > device->length - device->pos) {
/* reallocate buffer */
size_t newlen;

if (device->length > SIZE_MAX - device->allocsz) {
/* overflow */
return -1;
}

newlen = device->length + device->allocsz;
device->buffer = erealloc(device->buffer, newlen);
device->length = newlen;
}

device->buffer[device->pos++] = (unsigned char)((c >> 8) & 0xff);
device->buffer[device->pos++] = (unsigned char)(c & 0xff);

return c;
}

int
mbfl_memory_device_output4(int c, void* data)
{
mbfl_memory_device *device = (mbfl_memory_device *)data;

if (4 > device->length - device->pos) {
/* reallocate buffer */
size_t newlen;

if (device->length > SIZE_MAX - device->allocsz) {
/* overflow */
return -1;
}

newlen = device->length + device->allocsz;
device->buffer = erealloc(device->buffer, newlen);
device->length = newlen;
}

device->buffer[device->pos++] = (unsigned char)((c >> 24) & 0xff);
device->buffer[device->pos++] = (unsigned char)((c >> 16) & 0xff);
device->buffer[device->pos++] = (unsigned char)((c >> 8) & 0xff);
device->buffer[device->pos++] = (unsigned char)(c & 0xff);

return c;
}

int
mbfl_memory_device_strcat(mbfl_memory_device *device, const char *psrc)
{
Expand Down
2 changes: 0 additions & 2 deletions ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,6 @@ MBFLAPI extern mbfl_string * mbfl_memory_device_result(
mbfl_memory_device *device, mbfl_string *result);
MBFLAPI extern void mbfl_memory_device_unput(mbfl_memory_device *device);
MBFLAPI extern int mbfl_memory_device_output(int c, void *data);
MBFLAPI extern int mbfl_memory_device_output2(int c, void *data);
MBFLAPI extern int mbfl_memory_device_output4(int c, void *data);
MBFLAPI extern int mbfl_memory_device_strcat(mbfl_memory_device *device, const char *psrc);
MBFLAPI extern int mbfl_memory_device_strncat(
mbfl_memory_device *device, const char *psrc, size_t len);
Expand Down
8 changes: 1 addition & 7 deletions ext/mbstring/mbstring.c
Original file line number Diff line number Diff line change
Expand Up @@ -451,8 +451,6 @@ static size_t php_mb_zend_encoding_converter(unsigned char **to, size_t *to_leng
{
mbfl_string string, result;
mbfl_buffer_converter *convd;
int status;
size_t loc;

/* new encoding */
/* initialize string */
Expand All @@ -470,11 +468,7 @@ static size_t php_mb_zend_encoding_converter(unsigned char **to, size_t *to_leng
mbfl_buffer_converter_illegal_substchar(convd, MBSTRG(current_filter_illegal_substchar));

/* do it */
status = mbfl_buffer_converter_feed2(convd, &string, &loc);
if (status) {
mbfl_buffer_converter_delete(convd);
return (size_t)-1;
}
size_t loc = mbfl_buffer_converter_feed(convd, &string);

mbfl_buffer_converter_flush(convd);
mbfl_string_init(&result);
Expand Down

0 comments on commit a64241b

Please sign in to comment.