5 * Initialize an expandable text buffer.
12 xbuf->size = xbuf->end = 0;
19 if (xbuf->data != NULL)
32 * Add a char to an expandable text buffer.
39 if (xbuf->end >= xbuf->size)
42 xbuf->size = (xbuf->size == 0) ? 16 : xbuf->size * 2;
43 data = (char *) ecalloc(xbuf->size, sizeof(char));
44 if (xbuf->data != NULL)
46 memcpy(data, xbuf->data, xbuf->end);
51 xbuf->data[xbuf->end++] = ch;