diff --git a/src/utils/strbuf.c b/src/utils/strbuf.c
index 6c881be18e4975517f4c5080747e5d6f83a183f1..7d8bc5527f6138f7a1c8ad6cf6730c6445c3460b 100644 (file)
--- a/src/utils/strbuf.c
+++ b/src/utils/strbuf.c
}
/* 'status' does not include nul-byte */
}
/* 'status' does not include nul-byte */
- if ((size_t)status >= strbuf->size - strbuf->pos - 1) {
- if (strbuf_resize(strbuf, strbuf->size + (size_t)status + 1)) {
+ if ((size_t)status >= strbuf->size - strbuf->pos) {
+ if (strbuf_resize(strbuf, strbuf->pos + (size_t)status + 1)) {
va_end(aq);
return -1;
}
va_end(aq);
return -1;
}
return strbuf->pos;
} /* sdb_strbuf_string */
return strbuf->pos;
} /* sdb_strbuf_string */
+size_t
+sdb_strbuf_cap(sdb_strbuf_t *strbuf)
+{
+ if (! strbuf)
+ return 0;
+ return strbuf->size;
+} /* sdb_strbuf_cap */
+
/* vim: set tw=78 sw=4 ts=4 noexpandtab : */
/* vim: set tw=78 sw=4 ts=4 noexpandtab : */