X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-core%2Fbrowse.c;h=5885cb4fb2152161969e8f7ddab5724abda1c012;hb=88a99a094e561b6c87404f4999e61e7b9ed754f6;hp=897cb2b062e5262ca7a7d9a544c59c6cb86f8879;hpb=66142b071a2497d7e3cf58d7bf5159bb1c970d84;p=catta diff --git a/avahi-core/browse.c b/avahi-core/browse.c index 897cb2b..5885cb4 100644 --- a/avahi-core/browse.c +++ b/avahi-core/browse.c @@ -32,8 +32,8 @@ struct AvahiRecordBrowser { AvahiServer *server; AvahiKey *key; - gint interface; - guchar protocol; + AvahiIfIndex interface; + AvahiProtocol protocol; guint sec_delay; AvahiTimeEvent *time_event; @@ -116,7 +116,7 @@ static gboolean scan_idle_callback(gpointer data) { 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; @@ -124,7 +124,15 @@ AvahiRecordBrowser *avahi_record_browser_new(AvahiServer *server, gint interface 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;