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

Function toml_buffer_reserve

src/cli/config_toml_edit.c:162–189  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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