AvahiServer *server;
AvahiKey *key;
- gint interface;
- guchar protocol;
+ AvahiIfIndex interface;
+ AvahiProtocol protocol;
guint sec_delay;
AvahiTimeEvent *time_event;
avahi_cache_walk(i->cache, s->key, scan_cache_callback, &cbdata);
}
-gboolean scan_idle_callback(gpointer data) {
+static gboolean scan_idle_callback(gpointer data) {
AvahiRecordBrowser *b = data;
g_assert(b);
return FALSE;
}
-AvahiRecordBrowser *avahi_record_browser_new(AvahiServer *server, gint interface, guchar protocol, AvahiKey *key, AvahiRecordBrowserCallback callback, gpointer userdata) {
+AvahiRecordBrowser *avahi_record_browser_new(AvahiServer *server, AvahiIfIndex interface, AvahiProtocol protocol, AvahiKey *key, AvahiRecordBrowserCallback callback, gpointer userdata) {
AvahiRecordBrowser *b, *t;
GTimeVal tv;
g_assert(key);
g_assert(callback);
- g_assert(!avahi_key_is_pattern(key));
+ if (avahi_key_is_pattern(key)) {
+ avahi_server_set_errno(server, AVAHI_ERR_IS_PATTERN);
+ return NULL;
+ }
+
+ if (!avahi_key_valid(key)) {
+ avahi_server_set_errno(server, AVAHI_ERR_INVALID_KEY);
+ return NULL;
+ }
b = g_new(AvahiRecordBrowser, 1);
b->dead = FALSE;