#include "strlst.h"
#include "malloc.h"
-int main(int argc, char *argv[]) {
+int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) {
char *t, *v;
uint8_t data[1024];
AvahiStringList *a = NULL, *b, *p;
a = avahi_string_list_add(a, "start");
a = avahi_string_list_add(a, "foo=99");
a = avahi_string_list_add(a, "bar");
+ a = avahi_string_list_add(a, "");
+ a = avahi_string_list_add(a, "");
a = avahi_string_list_add(a, "quux");
+ a = avahi_string_list_add(a, "");
a = avahi_string_list_add_arbitrary(a, (const uint8_t*) "null\0null", 9);
a = avahi_string_list_add_printf(a, "seven=%i %c", 7, 'x');
a = avahi_string_list_add_pair(a, "blubb", "blaa");
t = avahi_string_list_to_string(a);
printf("--%s--\n", t);
avahi_free(t);
-
+
+ n = avahi_string_list_serialize(a, NULL, 0);
size = avahi_string_list_serialize(a, data, sizeof(data));
+ assert(size == n);
printf("%u\n", size);
printf("\n");
- b = avahi_string_list_parse(data, size);
+ assert(avahi_string_list_parse(data, size, &b) == 0);
- assert(avahi_string_list_equal(a, b));
+ printf("equal: %i\n", avahi_string_list_equal(a, b));
t = avahi_string_list_to_string(b);
printf("--%s--\n", t);
avahi_string_list_free(a);
avahi_string_list_free(b);
+
+ n = avahi_string_list_serialize(NULL, NULL, 0);
+ size = avahi_string_list_serialize(NULL, data, sizeof(data));
+ assert(size == 1);
+ assert(size == n);
+
+ assert(avahi_string_list_parse(data, size, &a) == 0);
+ assert(!a);
return 0;
}