--- On Tue, 15/4/08, Tomasz Jezierski - Tefnet developers@tefnet.pl wrote: <snipped>
While reading this patch I found another bug:
if (i ==
sizeof(char_refs)/sizeof(char_refs[0]))
{
FIXME("character entity %s not
found\n", debugstr_wn(start + 1, p - start - 1));
continue;
}
I think *start should be changed to another char in that case, because if we will not change it, we will fall into infinite loop like it happens with help file in GPSTRACK from bug #6801.
I have experience the infinite loop myself, but I haven't quite checked where it is - it happens if the table is incomplete and the code encounters an html entity that's not mentioned in the table. I encountered it when I tried to view some help pages containing german ¨aute; 's in another help file I happened to have around. (gpstrack is about french accented characters.)
So in that sense, the patch is dangerous - infinite loop is far worse than not seeing a couple of help pages. I think it needs to do something sensible (e.g. don't translate) even if the table is incomplete.
___________________________________________________________ Yahoo! For Good helps you make a difference