Module Name: src Committed By: christos Date: Mon Nov 2 14:49:07 UTC 2015
Modified Files: src/sys/sys: queue.h Log Message: Use existing macros to implement TAILQ_FOREACH_REVERSE, like TAILQ_FOREACH_REVERSE_SAFE does. To generate a diff of this commit: cvs rdiff -u -r1.68 -r1.69 src/sys/sys/queue.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/sys/queue.h diff -u src/sys/sys/queue.h:1.68 src/sys/sys/queue.h:1.69 --- src/sys/sys/queue.h:1.68 Wed Nov 19 03:10:01 2014 +++ src/sys/sys/queue.h Mon Nov 2 09:49:07 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: queue.h,v 1.68 2014/11/19 08:10:01 uebayasi Exp $ */ +/* $NetBSD: queue.h,v 1.69 2015/11/02 14:49:07 christos Exp $ */ /* * Copyright (c) 1991, 1993 @@ -421,9 +421,9 @@ struct { \ #define TAILQ_END(head) (NULL) #define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) #define TAILQ_LAST(head, headname) \ - (*(((struct headname *)((head)->tqh_last))->tqh_last)) + (*(((struct headname *)(void *)((head)->tqh_last))->tqh_last)) #define TAILQ_PREV(elm, headname, field) \ - (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last)) + (*(((struct headname *)(void *)((elm)->field.tqe_prev))->tqh_last)) #define TAILQ_EMPTY(head) (TAILQ_FIRST(head) == TAILQ_END(head)) @@ -438,9 +438,9 @@ struct { \ ((next) = TAILQ_NEXT(var, field), 1); (var) = (next)) #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));\ + for ((var) = TAILQ_LAST((head), headname); \ (var) != TAILQ_END(head); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) + (var) = TAILQ_PREV((var), headname, field) #define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, prev) \ for ((var) = TAILQ_LAST((head), headname); \