Module Name: src Committed By: christos Date: Thu Feb 2 19:35:18 UTC 2012
Modified Files: src/sys/netinet6: nd6.c Log Message: use FOREACH_SAFE. To generate a diff of this commit: cvs rdiff -u -r1.139 -r1.140 src/sys/netinet6/nd6.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/netinet6/nd6.c diff -u src/sys/netinet6/nd6.c:1.139 src/sys/netinet6/nd6.c:1.140 --- src/sys/netinet6/nd6.c:1.139 Mon Dec 19 06:59:58 2011 +++ src/sys/netinet6/nd6.c Thu Feb 2 14:35:18 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: nd6.c,v 1.139 2011/12/19 11:59:58 drochner Exp $ */ +/* $NetBSD: nd6.c,v 1.140 2012/02/02 19:35:18 christos Exp $ */ /* $KAME: nd6.c,v 1.279 2002/06/08 11:16:51 itojun Exp $ */ /* @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: nd6.c,v 1.139 2011/12/19 11:59:58 drochner Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nd6.c,v 1.140 2012/02/02 19:35:18 christos Exp $"); #include "opt_ipsec.h" @@ -534,8 +534,7 @@ nd6_timer(void *ignored_arg) /* expire default router list */ - for (dr = TAILQ_FIRST(&nd_defrouter); dr != NULL; dr = next_dr) { - next_dr = TAILQ_NEXT(dr, dr_entry); + TAILQ_FOREACH_SAFE(dr, &nd_defrouter, dr_entry, next_dr) { if (dr->expire && dr->expire < time_second) { defrtrlist_del(dr); } @@ -613,8 +612,7 @@ nd6_timer(void *ignored_arg) } /* expire prefix list */ - for (pr = LIST_FIRST(&nd_prefix); pr != NULL; pr = next_pr) { - next_pr = LIST_NEXT(pr, ndpr_entry); + LIST_FOREACH_SAFE(pr, &nd_prefix, ndpr_entry, next_pr) { /* * check prefix lifetime. * since pltime is just for autoconf, pltime processing for @@ -735,16 +733,15 @@ nd6_purge(struct ifnet *ifp) * in the routing table, in order to keep additional side effects as * small as possible. */ - for (dr = TAILQ_FIRST(&nd_defrouter); dr != NULL; dr = ndr) { - ndr = TAILQ_NEXT(dr, dr_entry); + TAILQ_FOREACH_SAFE(dr, &nd_defrouter, dr_entry, ndr) { if (dr->installed) continue; if (dr->ifp == ifp) defrtrlist_del(dr); } - for (dr = TAILQ_FIRST(&nd_defrouter); dr != NULL; dr = ndr) { - ndr = TAILQ_NEXT(dr, dr_entry); + + TAILQ_FOREACH_SAFE(dr, &nd_defrouter, dr_entry, ndr) { if (!dr->installed) continue; @@ -753,8 +750,7 @@ nd6_purge(struct ifnet *ifp) } /* Nuke prefix list entries toward ifp */ - for (pr = LIST_FIRST(&nd_prefix); pr != NULL; pr = npr) { - npr = LIST_NEXT(pr, ndpr_entry); + LIST_FOREACH_SAFE(pr, &nd_prefix, ndpr_entry, npr) { if (pr->ndpr_ifp == ifp) { /* * Because if_detach() does *not* release prefixes @@ -1593,11 +1589,9 @@ nd6_ioctl(u_long cmd, void *data, struct struct nd_prefix *pfx, *next; s = splsoftnet(); - for (pfx = LIST_FIRST(&nd_prefix); pfx; pfx = next) { + LIST_FOREACH_SAFE(pfx, &nd_prefix, ndpr_entry, next) { struct in6_ifaddr *ia, *ia_next; - next = LIST_NEXT(pfx, ndpr_entry); - if (IN6_IS_ADDR_LINKLOCAL(&pfx->ndpr_prefix.sin6_addr)) continue; /* XXX */ @@ -1624,8 +1618,7 @@ nd6_ioctl(u_long cmd, void *data, struct s = splsoftnet(); defrouter_reset(); - for (drtr = TAILQ_FIRST(&nd_defrouter); drtr; drtr = next) { - next = TAILQ_NEXT(drtr, dr_entry); + TAILQ_FOREACH_SAFE(drtr, &nd_defrouter, dr_entry, next) { defrtrlist_del(drtr); } defrouter_select();