]> git.meshlink.io Git - catta/blobdiff - avahi-core/browse.c
* Rename various data structures to prevent a namespace conflict with avahi-core
[catta] / avahi-core / browse.c
index 5f4d216be74ecf728460421a25432d40031886e9..e2d996e2372d366103efa3391a45133d2bd1d1e7 100644 (file)
@@ -24,7 +24,7 @@
 #endif
 
 #include "browse.h"
-#include "util.h"
+#include "timeval.h"
 #include "log.h"
 
 struct AvahiRecordBrowser {
@@ -48,7 +48,7 @@ struct AvahiRecordBrowser {
 
 static void elapse(AvahiTimeEvent *e, void *userdata) {
     AvahiRecordBrowser *s = userdata;
-    GTimeVal tv;
+    struct timeval tv;
 /*     gchar *t;  */
     
     g_assert(s);
@@ -118,13 +118,21 @@ static gboolean scan_idle_callback(gpointer data) {
 
 AvahiRecordBrowser *avahi_record_browser_new(AvahiServer *server, AvahiIfIndex interface, AvahiProtocol protocol, AvahiKey *key, AvahiRecordBrowserCallback callback, gpointer userdata) {
     AvahiRecordBrowser *b, *t;
-    GTimeVal tv;
+    struct timeval tv;
 
     g_assert(server);
     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;