Code

plugin: Make sdb_plugin_info_t public.
[sysdb.git] / src / utils / strbuf.c
index 6c881be18e4975517f4c5080747e5d6f83a183f1..7d8bc5527f6138f7a1c8ad6cf6730c6445c3460b 100644 (file)
@@ -154,8 +154,8 @@ sdb_strbuf_vappend(sdb_strbuf_t *strbuf, const char *fmt, va_list ap)
        }
 
        /* '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;
                }
@@ -364,5 +364,13 @@ sdb_strbuf_len(sdb_strbuf_t *strbuf)
        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 : */