Lines Matching defs:buf
1 /* $NetBSD: buf.c,v 1.58 2024/04/28 15:10:19 rillig Exp $ */
77 /* "@(#)buf.c 8.1 (Berkeley) 6/6/93" */
78 MAKE_RCSID("$NetBSD: buf.c,v 1.58 2024/04/28 15:10:19 rillig Exp $");
82 Buf_Expand(Buffer *buf)
84 buf->cap += buf->cap > 16 ? buf->cap : 16;
85 buf->data = bmake_realloc(buf->data, buf->cap);
90 Buf_AddBytes(Buffer *buf, const char *bytes, size_t bytes_len)
92 size_t old_len = buf->len;
95 if (old_len + bytes_len >= buf->cap) {
97 buf->cap += buf->cap > minIncr ? buf->cap : minIncr;
98 buf->data = bmake_realloc(buf->data, buf->cap);
101 end = buf->data + old_len;
102 buf->len = old_len + bytes_len;
109 Buf_AddRange(Buffer *buf, const char *start, const char *end)
111 Buf_AddBytes(buf, start, (size_t)(end - start));
116 Buf_AddStr(Buffer *buf, const char *str)
118 Buf_AddBytes(buf, str, strlen(str));
123 Buf_AddInt(Buffer *buf, int n)
128 Buf_AddBytes(buf, str, len);
132 Buf_AddFlag(Buffer *buf, bool flag, const char *name)
135 if (buf->len > 0)
136 Buf_AddByte(buf, '|');
137 Buf_AddBytes(buf, name, strlen(name));
143 Buf_InitSize(Buffer *buf, size_t cap)
145 buf->cap = cap;
146 buf->len = 0;
147 buf->data = bmake_malloc(cap);
148 buf->data[0] = '\0';
152 Buf_Init(Buffer *buf)
154 Buf_InitSize(buf, 256);
162 Buf_Done(Buffer *buf)
164 free(buf->data);
167 buf->cap = 0;
168 buf->len = 0;
169 buf->data = NULL;
178 Buf_DoneData(Buffer *buf)
180 char *data = buf->data;
183 buf->cap = 0;
184 buf->len = 0;
185 buf->data = NULL;