summaryrefslogtreecommitdiff
path: root/strbuf.h
diff options
context:
space:
mode:
Diffstat (limited to 'strbuf.h')
-rw-r--r--strbuf.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/strbuf.h b/strbuf.h
index 52e44c9..c8d98df 100644
--- a/strbuf.h
+++ b/strbuf.h
@@ -245,6 +245,15 @@ void strbuf_addchars(struct strbuf *sb, int c, size_t n);
void strbuf_insert(struct strbuf *sb, size_t pos, const void *, size_t);
/**
+ * Insert data to the given position of the buffer giving a printf format
+ * string. The contents will be shifted, not overwritten.
+ */
+void strbuf_vinsertf(struct strbuf *sb, size_t pos, const char *fmt,
+ va_list ap);
+
+void strbuf_insertf(struct strbuf *sb, size_t pos, const char *fmt, ...);
+
+/**
* Remove given amount of data from a given position of the buffer.
*/
void strbuf_remove(struct strbuf *sb, size_t pos, size_t len);
@@ -289,6 +298,13 @@ static inline void strbuf_addstr(struct strbuf *sb, const char *s)
void strbuf_addbuf(struct strbuf *sb, const struct strbuf *sb2);
/**
+ * Join the arguments into a buffer. `delim` is put between every
+ * two arguments.
+ */
+const char *strbuf_join_argv(struct strbuf *buf, int argc,
+ const char **argv, char delim);
+
+/**
* This function can be used to expand a format string containing
* placeholders. To that end, it parses the string and calls the specified
* function for every percent sign found.