1 --- /usr/tmp/clean/avahi-0.6.12/avahi-core/server.c 2006-06-21 22:51:19.000000000 +0100 2 +++ avahi-0.6.12/avahi-core/server.c 2006-08-21 10:49:46.941313000 +0100 3 @@ -1064,7 +1064,9 @@ 4 5 s->state = state; 6 7 +#ifndef HAVE_BONJOUR 8 avahi_interface_monitor_update_rrs(s->monitor, 0); 9 +#endif 10 11 if (s->callback) 12 s->callback(s, state, s->userdata); 13 @@ -1201,9 +1203,11 @@ 14 server_set_state(s, AVAHI_SERVER_REGISTERING); 15 s->n_host_rr_pending ++; /** Make sure that the state isn't changed tp AVAHI_SERVER_RUNNING too early */ 16 17 +#ifndef HAVE_BONJOUR 18 register_hinfo(s); 19 register_browse_domain(s); 20 avahi_interface_monitor_update_rrs(s->monitor, 0); 21 +#endif 22 23 s->n_host_rr_pending --; 24 25 @@ -1330,6 +1334,10 @@ 26 else 27 avahi_server_config_init(&s->config); 28 29 +#ifdef HAVE_BONJOUR 30 + s->need_service_cleanup = 0; 31 + s->cleanup_time_event = NULL; 32 +#else 33 if ((e = setup_sockets(s)) < 0) { 34 if (error) 35 *error = e; 36 @@ -1340,6 +1348,7 @@ 37 return NULL; 38 } 39 40 +#endif 41 s->n_host_rr_pending = 0; 42 s->need_entry_cleanup = 0; 43 s->need_group_cleanup = 0; 44 @@ -1384,6 +1393,12 @@ 45 s->local_service_cookie = (uint32_t) rand() * (uint32_t) rand(); 46 } while (s->local_service_cookie == AVAHI_SERVICE_COOKIE_INVALID); 47 48 +#ifdef HAVE_BONJOUR 49 + AVAHI_LLIST_HEAD_INIT(AvahiService, s->services); 50 + s->wide_area_lookup_engine = NULL; 51 + s->multicast_lookup_engine = NULL; 52 + s->monitor = NULL; 53 +#else 54 if (s->config.enable_wide_area) { 55 s->wide_area_lookup_engine = avahi_wide_area_engine_new(s); 56 avahi_wide_area_set_servers(s->wide_area_lookup_engine, s->config.wide_area_servers, s->config.n_wide_area_servers); 57 @@ -1394,6 +1409,7 @@ 58 59 s->monitor = avahi_interface_monitor_new(s); 60 avahi_interface_monitor_sync(s->monitor); 61 +#endif 62 63 register_localhost(s); 64 register_stuff(s); 65 @@ -1428,7 +1444,8 @@ 66 while(s->entries) 67 avahi_entry_free(s, s->entries); 68 69 - avahi_interface_monitor_free(s->monitor); 70 + if (s->monitor) 71 + avahi_interface_monitor_free(s->monitor); 72 73 while (s->groups) 74 avahi_entry_group_free(s, s->groups); 75 @@ -1441,7 +1458,8 @@ 76 77 if (s->wide_area_lookup_engine) 78 avahi_wide_area_engine_free(s->wide_area_lookup_engine); 79 - avahi_multicast_lookup_engine_free(s->multicast_lookup_engine); 80 + if (s->multicast_lookup_engine) 81 + avahi_multicast_lookup_engine_free(s->multicast_lookup_engine); 82 83 avahi_time_event_queue_free(s->time_event_queue); 84 85 @@ -1477,6 +1495,11 @@ 86 87 avahi_server_config_free(&s->config); 88 89 +#ifdef HAVE_BONJOUR 90 + if (s->cleanup_time_event) 91 + avahi_time_event_free(s->cleanup_time_event); 92 +#endif 93 + 94 avahi_free(s); 95 } 96 97