From owner-svn-src-head@FreeBSD.ORG Wed Sep 12 22:54:12 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EDFAE1065670; Wed, 12 Sep 2012 22:54:11 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D9ACC8FC08; Wed, 12 Sep 2012 22:54:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8CMsB2n064954; Wed, 12 Sep 2012 22:54:11 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8CMsBjx064951; Wed, 12 Sep 2012 22:54:11 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <201209122254.q8CMsBjx064951@svn.freebsd.org> From: Ed Schouten Date: Wed, 12 Sep 2012 22:54:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240426 - head/sys/sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Sep 2012 22:54:12 -0000 Author: ed Date: Wed Sep 12 22:54:11 2012 New Revision: 240426 URL: http://svn.freebsd.org/changeset/base/240426 Log: Correctness: use __member2struct() on the correct fields. The prev-pointers point to the next-pointers of the previous element -- not the ENTRY structure. The next-pointers are stored in the ENTRY structures first, so the code would already work correctly. Still, it is more accurate to use the next-fields. To prevent misuse of __member2struct() in the future, I've got a patch that requires the pointer to be passed to this macro to be compatible with the member of the structure. I'll commit this patch after I've tested it properly. MFC after: 1 month. Modified: head/sys/sys/queue.h Modified: head/sys/sys/queue.h ============================================================================== --- head/sys/sys/queue.h Wed Sep 12 22:16:31 2012 (r240425) +++ head/sys/sys/queue.h Wed Sep 12 22:54:11 2012 (r240426) @@ -289,7 +289,7 @@ struct { \ #define STAILQ_LAST(head, type, field) \ (STAILQ_EMPTY((head)) ? \ NULL : \ - __member2struct(type, field, (head)->stqh_last)) + __member2struct(type, field.stqe_next, (head)->stqh_last)) #define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next) @@ -427,7 +427,7 @@ struct { \ #define LIST_PREV(elm, head, type, field) \ ((elm)->field.le_prev == &LIST_FIRST((head)) ? \ NULL : \ - __member2struct(type, field, (elm)->field.le_prev)) + __member2struct(type, field.le_next, (elm)->field.le_prev)) #define LIST_REMOVE(elm, field) do { \ QMD_SAVELINK(oldnext, (elm)->field.le_next); \