|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Genx
> Joe Gregorio: > > David Tolpin wrote: > > > passing data in buffers oftern requires number of bytes or characters to be passed; > > > consider getting data from Expat and writing it to the output. > > > > > > int genxText(genxWriter w, const utf8Byte * text, int nbytes); > > > int genxTextW(genxWriter w, const codePoint * text, int nchars); > > > > This is a C interface and null terminated strings are > > the standard way of handling this, the nbytes would > > just be redundant information. If the implmentation of > > genxText() needs the length it can call strlen(text), > > if it doesn't need the length then why force it to > > be passed in? > > Have you looked at the API of James Clark's Expat? The reason there is that (especially) character data are passed through pointers into an internal working buffer. Having a null terminator in the API would effectively force Expat to allocate a new copy of the string. Could there be a similar siutation for a writer API? Possibly yes - as it is conceivable that the data to be written out are part of some larger text/structure and there is no reason to force a new string allocation on the caller. Karl
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








