index af4a9ccd0251326386bb5ed2d946f6d5b55ecf66..20cf8706b53038165e73d7892401eb8066e94b59 100644 (file)
#include <stdarg.h>
#include <stdio.h>
+#include <unistd.h>
#ifdef __cplusplus
extern "C" {
/*
* sdb_strbuf_skip:
- * Removes the first 'n' bytes from the buffer.
+ * Removes 'n' bytes from the buffer starting at offset 'offset'.
*/
void
-sdb_strbuf_skip(sdb_strbuf_t *strbuf, size_t n);
+sdb_strbuf_skip(sdb_strbuf_t *strbuf, size_t offset, size_t n);
+
+/*
+ * sdb_strbuf_clear:
+ * Clear the buffer but do not deallocate memory.
+ */
+void
+sdb_strbuf_clear(sdb_strbuf_t *strbuf);
/*
* sdb_strbuf_string:
size_t
sdb_strbuf_len(sdb_strbuf_t *strbuf);
+/*
+ * sdb_strbuf_cap:
+ * Returns the current capacity of the string buffer. It describes the max
+ * length of the buffer's content (including terminating nul byte) that may be
+ * stored in the buffer without resizing it.
+ */
+size_t
+sdb_strbuf_cap(sdb_strbuf_t *strbuf);
+
#ifdef __cplusplus
} /* extern "C" */
#endif