MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / yaml_buf_reserve

Function yaml_buf_reserve

src/cli/config_yaml_edit.c:216–247  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

214}
215
216static int yaml_buf_reserve(yaml_buf_t *buf, size_t extra) {
217 if (extra > YAML_OUTPUT_MAX || buf->len > YAML_OUTPUT_MAX - extra) {
218 return YAML_ERROR;
219 }
220 size_t needed = buf->len + extra;
221 if (needed == SIZE_MAX) {
222 return YAML_ERROR;
223 }
224 needed++;
225 if (needed <= buf->cap) {
226 return 0;
227 }
228
229 size_t cap = buf->cap ? buf->cap : YAML_BUFFER_INITIAL_CAPACITY;
230 while (cap < needed) {
231 if (cap > YAML_OUTPUT_MAX / YAML_GROWTH_FACTOR) {
232 cap = YAML_OUTPUT_MAX + YAML_UNIT;
233 break;
234 }
235 cap *= YAML_GROWTH_FACTOR;
236 }
237 if (cap < needed || cap > YAML_OUTPUT_MAX + YAML_UNIT) {
238 return YAML_ERROR;
239 }
240 char *grown = (char *)realloc(buf->data, cap);
241 if (!grown) {
242 return YAML_ERROR;
243 }
244 buf->data = grown;
245 buf->cap = cap;
246 return 0;
247}
248
249static int yaml_buf_append(yaml_buf_t *buf, const char *data, size_t len) {
250 if (len == 0U) {

Callers 1

yaml_buf_appendFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected