summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/dynamic-string.c6
-rw-r--r--lib/dynamic-string.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/dynamic-string.c b/lib/dynamic-string.c
index 1df85ac31..2c2effbe8 100644
--- a/lib/dynamic-string.c
+++ b/lib/dynamic-string.c
@@ -95,6 +95,12 @@ ds_put_char_multiple(struct ds *ds, char c, size_t n)
}
void
+ds_put_buffer(struct ds *ds, const char *s, size_t n)
+{
+ memcpy(ds_put_uninit(ds, n), s, n);
+}
+
+void
ds_put_cstr(struct ds *ds, const char *s)
{
size_t s_len = strlen(s);
diff --git a/lib/dynamic-string.h b/lib/dynamic-string.h
index 7bd58cba2..0fb5ce4c0 100644
--- a/lib/dynamic-string.h
+++ b/lib/dynamic-string.h
@@ -57,6 +57,7 @@ void ds_reserve(struct ds *, size_t min_length);
char *ds_put_uninit(struct ds *, size_t n);
void ds_put_char(struct ds *, char);
void ds_put_char_multiple(struct ds *, char, size_t n);
+void ds_put_buffer(struct ds *, const char *, size_t n);
void ds_put_cstr(struct ds *, const char *);
void ds_put_format(struct ds *, const char *, ...) PRINTF_FORMAT(2, 3);
void ds_put_format_valist(struct ds *, const char *, va_list)