diff options
| -rw-r--r-- | lib/Utils/strbuf.c | 4 | ||||
| -rw-r--r-- | lib/Utils/strbuf.h | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/Utils/strbuf.c b/lib/Utils/strbuf.c index 4c9bddaa..02062336 100644 --- a/lib/Utils/strbuf.c +++ b/lib/Utils/strbuf.c @@ -41,9 +41,11 @@ void strbuf_free(struct strbuf *strbuf) free(strbuf); } -void strbuf_free_nobuf(struct strbuf *strbuf) +char* strbuf_free_nobuf(struct strbuf *strbuf) { + char *ret = strbuf->buf; free(strbuf); + return ret; } diff --git a/lib/Utils/strbuf.h b/lib/Utils/strbuf.h index bc843f95..3f3ba51a 100644 --- a/lib/Utils/strbuf.h +++ b/lib/Utils/strbuf.h @@ -36,7 +36,7 @@ struct strbuf extern struct strbuf *strbuf_new(); extern void strbuf_free(struct strbuf *strbuf); /* Releases strbuf, but not the internal buffer. */ -extern void strbuf_free_nobuf(struct strbuf *strbuf); +extern char* strbuf_free_nobuf(struct strbuf *strbuf); extern void strbuf_clear(struct strbuf *strbuf); extern struct strbuf *strbuf_append_char(struct strbuf *strbuf, char c); extern struct strbuf *strbuf_append_str(struct strbuf *strbuf, const char *str); |
