Home | History | Annotate | Download | only in dist

Lines Matching refs:xbuf

2 #include "xbuf.h"
7 public void xbuf_init(struct xbuffer *xbuf)
9 xbuf->data = NULL;
10 xbuf->size = xbuf->end = 0;
13 public void xbuf_deinit(struct xbuffer *xbuf)
15 if (xbuf->data != NULL)
16 free(xbuf->data);
17 xbuf_init(xbuf);
20 public void xbuf_reset(struct xbuffer *xbuf)
22 xbuf->end = 0;
28 public void xbuf_add_byte(struct xbuffer *xbuf, unsigned char b)
30 if (xbuf->end >= xbuf->size)
33 if (ckd_add(&xbuf->size, xbuf->size, xbuf->size ? xbuf->size : 16))
35 data = (unsigned char *) ecalloc(xbuf->size, sizeof(unsigned char));
36 if (xbuf->data != NULL)
38 memcpy(data, xbuf->data, xbuf->end);
39 free(xbuf->data);
41 xbuf->data = data;
43 xbuf->data[xbuf->end++] = (unsigned char) b;
46 public void xbuf_add_data(struct xbuffer *xbuf, unsigned char *data, int len)
50 xbuf_add_byte(xbuf, data[i]);
66 public char * xbuf_char_data(struct xbuffer *xbuf)
68 return (char *)(xbuf->data);