]> git.meshlink.io Git - catta/blob - libavahi-core/strlst-test.c
5e28ce2df36a9943e0feea35f7841100f813299c
[catta] / libavahi-core / strlst-test.c
1 #include <glib.h>
2 #include <stdio.h>
3
4 #include "strlst.h"
5
6 int main(int argc, char *argv[]) {
7     gchar *t;
8     guint8 data[1024];
9     AvahiStringList *a = NULL, *b;
10     guint size, n;
11
12     a = avahi_string_list_add(a, "start");
13     a = avahi_string_list_add(a, "foo");
14     a = avahi_string_list_add(a, "bar");
15     a = avahi_string_list_add(a, "quux");
16     a = avahi_string_list_add_arbitrary(a, "null\0null", 9);
17     a = avahi_string_list_add(a, "end");
18
19     t = avahi_string_list_to_string(a);
20     printf("--%s--\n", t);
21     g_free(t);
22
23     size = avahi_string_list_serialize(a, data, sizeof(data));
24
25     printf("%u\n", size);
26
27     for (t = (gchar*) data, n = 0; n < size; n++, t++) {
28         if (*t <= 32)
29             printf("(%u)", *t);
30         else
31             printf("%c", *t);
32     }
33
34     printf("\n");
35     
36     b = avahi_string_list_parse(data, size);
37
38     g_assert(avahi_string_list_equal(a, b));
39     
40     t = avahi_string_list_to_string(b);
41     printf("--%s--\n", t);
42     g_free(t);
43
44     avahi_string_list_free(b);
45
46     b = avahi_string_list_copy(a);
47
48     g_assert(avahi_string_list_equal(a, b));
49
50     t = avahi_string_list_to_string(b);
51     printf("--%s--\n", t);
52     g_free(t);
53     
54     avahi_string_list_free(a);
55     avahi_string_list_free(b);
56     
57     return 0;
58 }