strbuf: added strbuf_setlen
This commit is contained in:
parent
3ed80a13ae
commit
6538fd9369
4 changed files with 45 additions and 0 deletions
11
src/strbuf.c
11
src/strbuf.c
|
|
@ -46,6 +46,17 @@ void strbuf_reduce(strbuf_t *s, size_t len) {
|
|||
s->buf[s->len] = '\0';
|
||||
}
|
||||
|
||||
void strbuf_setlen(strbuf_t *s, size_t len) {
|
||||
|
||||
if (!s->alloc_size)
|
||||
return;
|
||||
|
||||
if (len >= s->alloc_size)
|
||||
len = s->alloc_size - 1;
|
||||
s->len = len;
|
||||
s->buf[s->len] = '\0';
|
||||
}
|
||||
|
||||
char* strbuf_release(strbuf_t *s) {
|
||||
|
||||
char *ret;
|
||||
|
|
|
|||
|
|
@ -29,6 +29,8 @@ void strbuf_expand(strbuf_t *s, size_t len);
|
|||
|
||||
void strbuf_reduce(strbuf_t *s, size_t len);
|
||||
|
||||
void strbuf_setlen(strbuf_t *s, size_t len);
|
||||
|
||||
char* strbuf_release(strbuf_t *s);
|
||||
|
||||
void strbuf_free(strbuf_t *s);
|
||||
|
|
|
|||
Reference in a new issue