From owner-cvs-all Tue Feb 6 9: 8:27 2001 Delivered-To: cvs-all@freebsd.org Received: from critter.freebsd.dk (flutter.freebsd.dk [212.242.40.147]) by hub.freebsd.org (Postfix) with ESMTP id 0249337B401; Tue, 6 Feb 2001 09:08:01 -0800 (PST) Received: from critter (localhost [127.0.0.1]) by critter.freebsd.dk (8.11.1/8.11.1) with ESMTP id f16H83B35664; Tue, 6 Feb 2001 18:08:03 +0100 (CET) (envelope-from phk@critter.freebsd.dk) To: Peter Wemm Cc: Garrett Wollman , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/awi awi.c src/sys/dev/ed if_ed.c src/sys/dev/fe if_fe.c src/sys/dev/ie if_ie.c src/sys/dev/lnc if_lnc.c src/sys/dev/pdq pdq_ifsubr.c src/sys/dev/ray if_ray.c src/sys/dev/sn if_sn.c src/sys/dev/snc dp83932.c src/sys/dev/usb ... In-Reply-To: Your message of "Tue, 06 Feb 2001 09:04:38 PST." <200102061704.f16H4ct48889@mobile.wemm.org> Date: Tue, 06 Feb 2001 18:08:03 +0100 Message-ID: <35662.981479283@critter> From: Poul-Henning Kamp Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG In message <200102061704.f16H4ct48889@mobile.wemm.org>, Peter Wemm writes: >Garrett Wollman wrote: >> < said: >> >> > I thought LIST was doubly linked, which means we should be able to have a >> > LIST_PREV(), right? SLIST is singly linked as is STAILQ. >> >> There is a LIST_PREV macro, but in order to traverse the entire list >> backwards, one must first get to the very end, which requires a loop >> in LIST and a single dereference in TAILQ. > >Do you know where we can get one? For completeness we should have it and it >is missing from our queue.h. It could probably be a simple enough variant >of the recently added TAILQ_PREV() macro - which still gives me a headache >trying to understand. :-) If you want to implement it, you have to put a second pointer in the LIST_HEAD, and then you might as well make that pointer point to the last element at which point a global s/LIST/TAILQ/g makes more sense. The TAILQ_PREV is nasty, but as far as I can tell safe. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message