[Expat-discuss] characterData
Sebastian Pipping
webmaster at hartwork.org
Sat Jul 21 06:57:08 CEST 2007
Gert Cuykens wrote:
> On 7/21/07, Nick MacDonald <nickmacd at gmail.com> wrote:
>> Since you are NOT guaranteed to get only ONE CharacterData handler
>> call, you should really be writing:
>>
>> static void
>> characterData(void *userData, const XML_Char *s, int l)
>> {
>> PAGE *page = (PAGE *)userData;
>> if (NULL == page->data)
>> {
>> char *data=malloc(l);
>> memcpy(data,s,l);
>> page->data=data;
>> page->dataSize=l; /* a new structure member */
>> }
>> else
>> {
>> char *data=realloc(data, l+page->dataSize);
>> memcpy(data+page->dataSize,s,l);
>> page->data=data;
>> page->dataSize+=l;
>> }
>> }
>>
>
> Thanks :)
---------------------------------------
I still wonder how all this can work
without zero-termination. Am I missing
something?
Sebastian
More information about the Expat-discuss
mailing list