[Expat-discuss] Re: Beginner Problem

Josh Martin Josh.Martin@abq.sc.philips.com
Thu, 19 Sep 2002 12:12:58 -0600 (MDT)


> From: "Karl Waclawek" <karl@waclawek.net>
> I am not a Unix guy, but I have seen this a few times
> in Expat code I have encountered, causing a problem
> almost every time..
> Why is fread actually returning a different value than fstat?
> 
> Karl

In my experience this problem (invalid token error at end) is caused by sending 
the size of the buffer in bytes to XML_Parse() instead of the length of the 
string. This causes the terminating NULL in the string/buffer to be parsed by 
Expat, which always seems to confuse it.

Now, would it be possible/desirable to hack the expat release so that it will 
ignore any single terminating NULL character that it does not understand? Or, if 
not that, then maybe put an explicit warning in the documentation (near 
XML_Parse/XML_ParseBuffer) about this behavior?

I don't see any problems with the hack approach, as long as the character is 
only ignored when it causes a problem, so that any intentional nulls aren't 
stripped/ignored.

 - Josh Martin