static void remove_entries(void) {
if (group)
- avahi_entry_group_free(group);
-
- group = NULL;
+ avahi_entry_group_reset(group);
}
static void create_entries(gboolean new_name) {
AvahiAddress a;
+
remove_entries();
-
- group = avahi_entry_group_new(server, entry_group_callback, NULL);
+
+ if (!group)
+ group = avahi_entry_group_new(server, entry_group_callback, NULL);
+
+ g_assert(avahi_entry_group_is_empty(group));
if (!service_name)
service_name = g_strdup("Test Service");
AvahiServiceBrowser *sb;
AvahiServiceResolver *sr;
AvahiDNSServerBrowser *dsb;
+ gint error;
avahi_server_config_init(&config);
/* config.host_name = g_strdup("test"); */
- server = avahi_server_new(NULL, &config, server_callback, NULL);
+ server = avahi_server_new(NULL, &config, server_callback, NULL, &error);
avahi_server_config_free(&config);
k = avahi_key_new("_http._tcp.local", AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_PTR);