Home | History | Annotate | Download | only in patches
      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