diff options
Diffstat (limited to 'ext/mbstring/libmbfl/filters/mbfilter_htmlent.c')
-rw-r--r-- | ext/mbstring/libmbfl/filters/mbfilter_htmlent.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c index 0163520f5b..1fe0e6b732 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c @@ -146,6 +146,11 @@ int mbfl_filt_conv_html_enc_flush(mbfl_convert_filter *filter) { filter->status = 0; filter->opaque = NULL; + + if (filter->flush_function != NULL) { + (*filter->flush_function)(filter->data); + } + return 0; } @@ -289,12 +294,18 @@ int mbfl_filt_conv_html_dec_flush(mbfl_convert_filter *filter) buffer = (unsigned char*)filter->opaque; status = filter->status; filter->status = 0; + /* flush fragments */ while (status--) { int e = (*filter->output_function)(buffer[pos++], filter->data); if (e != 0) err = e; } + + if (filter->flush_function != NULL) { + (*filter->flush_function)(filter->data); + } + return err; } |