-sw_result sw_text_record_init(
- sw_text_record * self) {
- AVAHI_WARN_UNSUPPORTED;
- return SW_DISCOVERY_E_NOT_SUPPORTED;
+struct _sw_text_record {
+ AvahiStringList *strlst;
+ uint8_t *buffer;
+ size_t buffer_size;
+ 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);
+
+ AVAHI_WARN_LINKAGE;
+
+ if (!(*self = avahi_new(struct _sw_text_record, 1))) {
+ *self = NULL;
+ return SW_E_UNKNOWN;
+ }
+
+ (*self)->strlst = NULL;
+ (*self)->buffer = NULL;
+ (*self)->buffer_size = 0;
+ (*self)->buffer_valid = 0;
+
+ return SW_OKAY;