|
|
|
@ -232,8 +232,7 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) |
|
|
|
mbfl_filt_conv_html_dec_flush(filter); |
|
|
|
if (c=='&') |
|
|
|
{ |
|
|
|
filter->status = 1; |
|
|
|
buffer[0] = '&'; |
|
|
|
buffer[filter->status++] = '&'; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -244,17 +243,19 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) |
|
|
|
int mbfl_filt_conv_html_dec_flush(mbfl_convert_filter *filter) |
|
|
|
{ |
|
|
|
int status, pos = 0; |
|
|
|
char *buffer; |
|
|
|
unsigned char *buffer; |
|
|
|
int err = 0; |
|
|
|
|
|
|
|
buffer = (char*)filter->opaque; |
|
|
|
buffer = (unsigned char*)filter->opaque; |
|
|
|
status = filter->status; |
|
|
|
filter->status = 0; |
|
|
|
/* flush fragments */ |
|
|
|
while (status--) { |
|
|
|
CK((*filter->output_function)(buffer[pos++], filter->data)); |
|
|
|
int e = (*filter->output_function)(buffer[pos++], filter->data); |
|
|
|
if (e != 0) |
|
|
|
err = e; |
|
|
|
} |
|
|
|
filter->status = 0; |
|
|
|
/*filter->buffer = 0; of cause NOT*/ |
|
|
|
return 0; |
|
|
|
return err; |
|
|
|
} |
|
|
|
|
|
|
|
|