[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