|
|
|
@ -153,16 +153,17 @@ void buffer_string_set_length(buffer *b, uint32_t len) {
|
|
|
|
|
|
|
|
|
|
void buffer_commit(buffer *b, size_t size) |
|
|
|
|
{ |
|
|
|
|
if (0 == b->used) b->used = 1; |
|
|
|
|
size_t sz = b->used; |
|
|
|
|
if (0 == sz) sz = 1; |
|
|
|
|
|
|
|
|
|
if (size > 0) { |
|
|
|
|
/* check for overflow: unsigned overflow is defined to wrap around */ |
|
|
|
|
size_t sz = b->used + size; |
|
|
|
|
force_assert(sz > b->used); |
|
|
|
|
b->used = sz; |
|
|
|
|
sz += size; |
|
|
|
|
force_assert(sz > size); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
b->ptr[b->used - 1] = '\0'; |
|
|
|
|
b->used = sz; |
|
|
|
|
b->ptr[sz - 1] = '\0'; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void buffer_copy_string(buffer * restrict b, const char * restrict s) { |
|
|
|
|