I made the changes in the first attachment to get client-test to run on Solaris and got the results in the second attachment.

Most of the changes I made were because printf crashes when a NULL argument is provided for %s on Solaris.

The one change not of this type was because of a crash in avahi_address_resolve because the third argument was NULL.

I noticed that the name of a service is NULL in avahi_service_browser_callback. Is this what should happen? I was expecting to get "Lathiat's Site".

Padraig
--- client-test.c	Wed May 10 09:05:06 2006
+++ /var/tmp/avahi-0.6.10/avahi-client/client-test.c	Tue Nov  8 22:28:24 2005
@@ -60,7 +60,7 @@
     AVAHI_GCC_UNUSED AvahiLookupResultFlags flags,
     void *userdata) {
     
-    printf ("DOMAIN-BROWSER: Callback on %p, interface (%d), protocol (%d), event (%d), domain (%s), data (%s)\n", (void*) b, interface, protocol, event, domain ? domain : "NULL", (char*)userdata);
+    printf ("DOMAIN-BROWSER: Callback on %p, interface (%d), protocol (%d), event (%d), domain (%s), data (%s)\n", (void*) b, interface, protocol, event, domain, (char*)userdata);
 }
 
 static void avahi_service_resolver_callback(
@@ -103,7 +103,7 @@
     
     AvahiServiceResolver *sr;
 
-    printf ("SERVICE-BROWSER: Callback on %p, interface (%d), protocol (%d), event (%d), name (%s), type (%s), domain (%s), data (%s) %d\n", (void*) b, interface, protocol, event, name ? name : "NULL", type ? type : "NULL", domain ? domain : "NULL", (char*)userdata, AVAHI_BROWSER_CACHE_EXHAUSTED);
+    printf ("SERVICE-BROWSER: Callback on %p, interface (%d), protocol (%d), event (%d), name (%s), type (%s), domain (%s), data (%s)\n", (void*) b, interface, protocol, event, name, type, domain, (char*)userdata);
 
     if (b && name)
     {
@@ -122,7 +122,7 @@
     AVAHI_GCC_UNUSED AvahiLookupResultFlags flags,
     void *userdata) {
     
-    printf ("SERVICE-TYPE-BROWSER: Callback on %p, interface (%d), protocol (%d), event (%d), type (%s), domain (%s), data (%s)\n", (void*) b, interface, protocol, event, type ? type: "NULL", domain ? domain : "NULL", (char*)userdata);
+    printf ("SERVICE-TYPE-BROWSER: Callback on %p, interface (%d), protocol (%d), event (%d), type (%s), domain (%s), data (%s)\n", (void*) b, interface, protocol, event, type, domain, (char*)userdata);
 }
 
 static void avahi_address_resolver_callback (
@@ -220,7 +220,6 @@
     AvahiServiceTypeBrowser *st;
     AvahiHostNameResolver *hnr;
     AvahiAddress *aar;
-    AvahiAddress ar;
     const char *ret;
     int error;
     uint32_t cookie;
@@ -288,7 +287,7 @@
     else
         printf ("Successfully created hostname resolver object\n");
 
-    aar = avahi_address_parse ("224.0.0.251", AVAHI_PROTO_UNSPEC, &ar);
+    aar = avahi_address_parse ("224.0.0.251", AVAHI_PROTO_UNSPEC, aar);
     if (aar == NULL) {
         printf ("failed to create address object\n");
     } else {
anymachine:/export/home/padraigo/avahi-0.6.10/avahi-client 128 % ./client-test
CLIENT: Callback on 24108, state -> 2, data -> omghai2u
State: 2
Avahi Server Version: avahi 0.6.10 (Error Return: OK)
Host Name: anymachine (Error Return: OK)
Domain Name: local (Error Return: OK)
FQDN: anymachine.local (Error Return: OK)
Local service cookie: 84325950 (Error Return: OK)
Creating entry group: OK
Sucessfully created entry group 24170
OK
add_record: 0
Sucessfully created domain browser 28468
Sucessfully created service type browser 28518
Sucessfully created service browser 28c58
Successfully created hostname resolver object
*** success, added address
ENTRY-GROUP: Callback on 24170, state -> 1, data -> omghai
ENTRY-GROUP: Callback on 24170, state -> 2, data -> omghai
DOMAIN-BROWSER: Callback on 28468, interface (-1), protocol (-1), event (2), domain (NULL), data (omghai3u)
DOMAIN-BROWSER: Callback on 28468, interface (-1), protocol (-1), event (0), domain (zeroconf.org), data (omghai3u)
DOMAIN-BROWSER: Callback on 28468, interface (-1), protocol (-1), event (0), domain (0pointer.de), data (omghai3u)
DOMAIN-BROWSER: Callback on 28468, interface (-1), protocol (-1), event (3), domain (NULL), data (omghai3u)
SERVICE-TYPE-BROWSER: Callback on 28518, interface (-1), protocol (-1), event (2), type (NULL), domain (NULL), data (omghai3u)
SERVICE-TYPE-BROWSER: Callback on 28518, interface (-1), protocol (-1), event (3), type (NULL), domain (NULL), data (omghai3u)
SERVICE-BROWSER: Callback on 28c58, interface (-1), protocol (-1), event (2), name (NULL), type (_http._tcp), domain (NULL), data (omghai3u) 2
SERVICE-BROWSER: Callback on 28c58, interface (-1), protocol (-1), event (3), name (NULL), type (_http._tcp), domain (NULL), data (omghai3u) 2
ENTRY-GROUP2: Callback on 24238, state -> 1, data -> omghai222
ENTRY-GROUP2: Callback on 24238, state -> 2, data -> omghai222
HOST-NAME-RESOLVER: Callback on HostNameResolver, timed out.
Resetting entry group
ENTRY-GROUP: Callback on 24170, state -> 0, data -> omghai
ENTRY-GROUP: Callback on 24170, state -> 1, data -> omghai
ENTRY-GROUP: Callback on 24170, state -> 2, data -> omghai
Updating entry group
Freeing entry group
Freeing domain browser
terminating...

_______________________________________________
avahi mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/avahi

Reply via email to