summaryrefslogtreecommitdiffstats
path: root/avahi-common/strlst.c
diff options
context:
space:
mode:
Diffstat (limited to 'avahi-common/strlst.c')
-rw-r--r--avahi-common/strlst.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/avahi-common/strlst.c b/avahi-common/strlst.c
index d4d67da..46ed852 100644
--- a/avahi-common/strlst.c
+++ b/avahi-common/strlst.c
@@ -28,14 +28,25 @@
#include "strlst.h"
+AvahiStringList*avahi_string_list_add_anonymous(AvahiStringList *l, guint size) {
+ AvahiStringList *n;
+
+ n = g_malloc(sizeof(AvahiStringList) + size);
+ n->next = l;
+ n->size = size;
+
+ return n;
+}
+
AvahiStringList *avahi_string_list_add_arbitrary(AvahiStringList *l, const guint8*text, guint size) {
AvahiStringList *n;
g_assert(text);
- n = g_malloc(sizeof(AvahiStringList) + size);
- n->next = l;
- memcpy(n->text, text, n->size = size);
+ n = avahi_string_list_add_anonymous(l, size);
+
+ if (size > 0)
+ memcpy(n->text, text, size);
return n;
}