X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-dnsconfd%2Fmain.c;h=d10374b83a858eec0aae36d8d2e986ab3b86f2ac;hb=f8f00d3edbecf619548779dc4244f075d6f4b32f;hp=b384a038e0df19196c76cf40a7d2f702afec1435;hpb=aa157bc129efe89e13972c40a283df9a3ca46480;p=catta diff --git a/avahi-dnsconfd/main.c b/avahi-dnsconfd/main.c index b384a03..d10374b 100644 --- a/avahi-dnsconfd/main.c +++ b/avahi-dnsconfd/main.c @@ -202,8 +202,18 @@ static char *concat_dns_servers(AvahiIfIndex interface) { for (i = servers; i; i = i->servers_next) if (i->interface == interface || interface <= 0) { + DNSServerInfo *j; char *t; + /* Filter out double entries */ + for (j = servers; j != i; j = j->servers_next) + if (j->interface == interface || interface <= 0) + if (strcmp(i->address, j->address) == 0) + break; + + if (j != i) + continue; + if (!r) t = avahi_strdup(i->address); else @@ -383,9 +393,9 @@ static int parse_command_line(int argc, char *argv[]) { { "version", no_argument, NULL, 'V' }, { "refresh", no_argument, NULL, 'r' }, { "check", no_argument, NULL, 'c' }, + { NULL, 0, NULL, 0 } }; - opterr = 0; while ((c = getopt_long(argc, argv, "hDkVrc", long_options, NULL)) >= 0) { switch(c) { @@ -408,7 +418,6 @@ static int parse_command_line(int argc, char *argv[]) { command = DAEMON_CHECK; break; default: - fprintf(stderr, "Invalid command line argument: %c\n", c); return -1; } }