ch->data = ch->data ? (char *)realloc(ch->data, ch->allocated) : (char *)calloc(1, ch->allocated); if (ch->data == NULL)
data = ch->data ? (char *)realloc(ch->data, ch->allocated) : typecallocn(char, ch->allocated); if (data) { ch->data = data; } else if (ch->failok) { HTChunkClear(ch);	 return;		 } else {
PUBLIC void HTChunkPutb ARGS3 (HTChunk *,ch, CONST char *,b, int,l){    int needed = ch->size + l;    if (l <= 0) return;    if (needed > ch->allocated) {	ch->allocated = needed-1 - ((needed-1) % ch->growby)	    + ch->growby; /* Round up */        ch->data = ch->data ? (char *)realloc(ch->data, ch->allocated)			    : (char *)calloc(1, ch->allocated);	if (ch->data == NULL)	    outofmem(__FILE__, "HTChunkPutb");    }    memcpy(ch->data + ch->size, b, l);    ch->size += l;}