$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ --- ndisc6-0.9.8.orig/rdnssd/rdnssd.c 2008-05-01 14:52:28.000000000 +0200 +++ ndisc6-0.9.8/rdnssd/rdnssd.c 2009-05-10 19:42:36.000000000 +0200 @@ -76,6 +76,7 @@ static struct static void write_resolv(const char *resolvpath) { + size_t i; FILE *resolv; int rval; char tmpfile[strlen(resolvpath) + sizeof(".tmp")]; @@ -89,7 +90,7 @@ static void write_resolv(const char *res return; } - for (size_t i = 0; i < servers.count; i++) { + for (i = 0; i < servers.count; i++) { char addr[INET6_ADDRSTRLEN]; inet_ntop(AF_INET6, &servers.list[i].addr, addr, INET6_ADDRSTRLEN); @@ -132,6 +133,7 @@ static int rdnss_older (const void *a, c static void rdnss_update (const struct in6_addr *addr, unsigned int ifindex, time_t expiry) { size_t i; + unsigned int j; /* Does this entry already exist? */ for (i = 0; i < servers.count; i++) @@ -165,12 +167,12 @@ static void rdnss_update (const struct i qsort (servers.list, servers.count, sizeof (rdnss_t), rdnss_older); #ifndef NDEBUG - for (unsigned i = 0; i < servers.count; i++) + for (j = 0; j < servers.count; j++) { char buf[INET6_ADDRSTRLEN]; - inet_ntop (AF_INET6, &servers.list[i].addr, buf, + inet_ntop (AF_INET6, &servers.list[j].addr, buf, sizeof (buf)); - syslog (LOG_DEBUG, "%u: %48s expires at %u\n", i, buf, + syslog (LOG_DEBUG, "%u: %48s expires at %u\n", j, buf, (unsigned)servers.list[i].expiry); } #endif @@ -178,6 +180,7 @@ static void rdnss_update (const struct i int parse_nd_opts (const struct nd_opt_hdr *opt, size_t opts_len, unsigned int ifindex) { + struct in6_addr *addr; for (; opts_len >= sizeof(struct nd_opt_hdr); opts_len -= opt->nd_opt_len << 3, opt = (const struct nd_opt_hdr *) @@ -206,7 +209,7 @@ int parse_nd_opts (const struct nd_opt_h lifetime = now + ntohl(rdnss_opt->nd_opt_rdnss_lifetime); - for (struct in6_addr *addr = (struct in6_addr *) (rdnss_opt + 1); + for (addr = (struct in6_addr *) (rdnss_opt + 1); nd_opt_len >= 2; addr++, nd_opt_len -= 2) rdnss_update(addr, ifindex, lifetime); @@ -255,6 +258,7 @@ static void ignore_handler (int signum) static int worker (int pipe, const char *resolvpath, const char *username) { + bool ready; sigset_t emptyset; int rval = 0, sock = -1; const rdnss_src_t *src; @@ -283,7 +287,7 @@ static int worker (int pipe, const char sigemptyset (&emptyset); - for (bool ready = false; termsig == 0;) + for (ready = false; termsig == 0;) { struct pollfd pfd = { .fd = sock, .events = POLLIN, .revents = 0 };