X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-daemon%2Fstatic-hosts.c;h=17b268beea535ec233e983e2d0a8fa3bc43f112d;hb=94412d25bf00b1300da97f819c5a85d057f07b94;hp=aba96f720e82e548a4680e54511fce29dc88f7bf;hpb=684f1ab6d4ba2c958192d784ed91298ef2d71d90;p=catta diff --git a/avahi-daemon/static-hosts.c b/avahi-daemon/static-hosts.c index aba96f7..17b268b 100644 --- a/avahi-daemon/static-hosts.c +++ b/avahi-daemon/static-hosts.c @@ -66,11 +66,11 @@ static void entry_group_callback(AvahiServer *s, AVAHI_GCC_UNUSED AvahiSEntryGro break; case AVAHI_ENTRY_GROUP_ESTABLISHED: - avahi_log_notice ("Static Host \"%s\" successfully established.", h->host); + avahi_log_notice ("Static host name \"%s\" successfully established.", h->host); break; case AVAHI_ENTRY_GROUP_FAILURE: - avahi_log_notice ("Failed to establish Static Host \"%s\": %s.", h->host, avahi_strerror (avahi_server_errno (s))); + avahi_log_notice ("Failed to establish static host name \"%s\": %s.", h->host, avahi_strerror (avahi_server_errno (s))); break; case AVAHI_ENTRY_GROUP_UNCOMMITED: @@ -115,12 +115,12 @@ static void add_static_host_to_server(StaticHost *h) h->group = avahi_s_entry_group_new (avahi_server, entry_group_callback, h); if (!avahi_address_parse (h->ip, AVAHI_PROTO_UNSPEC, &a)) { - avahi_log_error("Static host %s: avahi_address_parse failed", h->host); + avahi_log_error("Static host name %s: avahi_address_parse failed", h->host); return; } if ((err = avahi_server_add_address(avahi_server, h->group, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, 0, h->host, &a))) { - avahi_log_error ("Static host %s: avahi_server_add_address failure: %s", h->host, avahi_strerror(err)); + avahi_log_error ("Static host name %s: avahi_server_add_address failure: %s", h->host, avahi_strerror(err)); return; } @@ -171,54 +171,59 @@ void static_hosts_load(int in_chroot) { line++; - /* Find the start of the line, ignore whitespace */ - s = ln + strspn(ln, " \t"); - /* Set the end of the string to NULL */ - s[strcspn(s, "#\r\n")] = 0; + /* Find the start of the line, ignore whitespace */ + s = ln + strspn(ln, " \t"); + /* Set the end of the string to NULL */ + s[strcspn(s, "#\r\n")] = 0; - /* Ignore comment (#) and blank lines (*/ - if (*s == '#' || *s == 0) - continue; + /* Ignore blank lines */ + if (*s == 0) + continue; - /* Read the first string (ip) up to the next whitespace */ - len = strcspn(s, " \t"); - ip = avahi_strndup(s, len); + /* Read the first string (ip) up to the next whitespace */ + len = strcspn(s, " \t"); + ip = avahi_strndup(s, len); - /* Skip past it */ - s += len; + /* Skip past it */ + s += len; - /* Find the next token */ - s += strspn(s, " \t"); - len = strcspn(s, " \t"); - host = avahi_strndup(s, len); + /* Find the next token */ + s += strspn(s, " \t"); + len = strcspn(s, " \t"); + host = avahi_strndup(s, len); - if (*host == 0) - { - avahi_log_error ("%s:%d: Error, unexpected end of line!", filename, line); - break; - } + if (*host == 0) + { + avahi_log_error("%s:%d: Error, unexpected end of line!", filename, line); + avahi_free(host); + avahi_free(ip); + break; + } + + /* Skip over the host */ + s += len; /* Skip past any more spaces */ - s += strspn(s+len, " \t"); + s += strspn(s, " \t"); /* Anything left? */ - if (*(s+len) != 0) { - avahi_log_error ("%s:%d: Junk on the end of the line!", filename, line); + if (*s != 0) { + avahi_log_error ("%s:%d: Junk on the end of the line!", filename, line); + avahi_free(host); + avahi_free(ip); break; - } + } h = static_host_new(); h->host = host; h->ip = ip; } + + fclose(f); } void static_hosts_free_all (void) { - StaticHost *h; - - for (h = hosts; h; h = hosts->hosts_next) - { - static_host_free (h); - } + while(hosts) + static_host_free(hosts); }