Sophie

Sophie

distrib > Mandriva > mes5 > i586 > by-pkgid > 4ce0e10e609da153748d596c9b140d1e > files > 1

libmbfl-1.0.2-3.1mdv2009.0.src.rpm

--- filters/mbfilter_htmlent.c	2005-02-21 11:09:40.000000000 +0100
+++ filters/mbfilter_htmlent.c.oden	2009-02-20 11:41:40.000000000 +0100
@@ -232,8 +232,7 @@ int mbfl_filt_conv_html_dec(int c, mbfl_
 				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_
 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;
 }