Lines Matching refs:buf
46 buf_init(struct buffer *buf)
48 buf->ptr = buf->bptr = calloc(BUF_SIZE, sizeof(*buf->ptr));
49 if (buf->ptr == NULL)
51 buf->eptr = buf->ptr + BUF_SIZE;
55 buf_end(struct buffer *buf)
57 free(buf->bptr);
61 buf_grow(struct buffer *buf, size_t minsize)
64 size_t len = (buf->eptr - buf->bptr) +
66 wchar_t *nptr = realloc(buf->bptr, len * sizeof(*buf->ptr));
71 if (nptr == buf->bptr) {
72 buf->eptr = buf->bptr + len;
76 diff = nptr - buf->bptr;
77 buf->bptr += diff;
78 buf->eptr = buf->bptr + len;
79 buf->ptr += diff;
83 buf_putc(struct buffer *buf, wchar_t c)
85 if (buf->ptr >= buf->eptr)
86 buf_grow(buf, 1);
87 *buf->ptr++ = c;
91 buf_reset(struct buffer *buf)
93 buf->ptr = buf->bptr;
97 buf_unputc(struct buffer *buf)
99 return buf->ptr > buf->bptr ? *--buf->ptr : '\0';