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

Function toml_buffer_reserve

src/cli/config_toml_edit.c:158–185  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

156}
157
158static int toml_buffer_reserve(toml_buffer_t *buffer, size_t additional) {
159 if (!buffer || buffer->len == SIZE_MAX || additional > SIZE_MAX - buffer->len - 1) {
160 return TOML_EDIT_ERR;
161 }
162 size_t needed = buffer->len + additional + 1;
163 if (needed > (size_t)TOML_EDIT_MAX_BYTES + 1U) {
164 return TOML_EDIT_ERR;
165 }
166 if (needed <= buffer->cap) {
167 return TOML_EDIT_OK;
168 }
169
170 size_t cap = buffer->cap ? buffer->cap : 128;
171 while (cap < needed) {
172 if (cap > SIZE_MAX / 2) {
173 cap = needed;
174 break;
175 }
176 cap *= 2;
177 }
178 char *grown = (char *)realloc(buffer->data, cap);
179 if (!grown) {
180 return TOML_EDIT_ERR;
181 }
182 buffer->data = grown;
183 buffer->cap = cap;
184 return TOML_EDIT_OK;
185}
186
187static int toml_buffer_append(toml_buffer_t *buffer, const char *data, size_t len) {
188 if ((!data && len != 0) || toml_buffer_reserve(buffer, len) != TOML_EDIT_OK) {

Callers 2

toml_buffer_appendFunction · 0.85
toml_parse_stringFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected