summaryrefslogtreecommitdiffstats
path: root/avahi-compat-howl/text.c
diff options
context:
space:
mode:
Diffstat (limited to 'avahi-compat-howl/text.c')
-rw-r--r--avahi-compat-howl/text.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/avahi-compat-howl/text.c b/avahi-compat-howl/text.c
index 1cd34fe..fb05acf 100644
--- a/avahi-compat-howl/text.c
+++ b/avahi-compat-howl/text.c
@@ -39,6 +39,22 @@ struct _sw_text_record {
int buffer_valid;
};
+#ifndef HAVE_STRLCPY
+
+static size_t strlcpy(char *dest, const char *src, size_t n) {
+ assert(dest);
+ assert(src);
+
+ if (n > 0) {
+ strncpy(dest, src, n-1);
+ dest[n-1] = 0;
+ }
+
+ return strlen(src);
+}
+
+#endif
+
sw_result sw_text_record_init(sw_text_record *self) {
assert(self);
@@ -223,7 +239,7 @@ sw_result sw_text_record_iterator_next(
if (avahi_string_list_get_pair(self->index, &mkey, &mvalue, &msize) < 0)
return SW_E_UNKNOWN;
- avahi_strlcpy(key, mkey, SW_TEXT_RECORD_MAX_LEN);
+ strlcpy(key, mkey, SW_TEXT_RECORD_MAX_LEN);
memset(val, 0, SW_TEXT_RECORD_MAX_LEN);
memcpy(val, mvalue, msize);
*val_len = msize;