$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 };
