chris...@zoulas.com (Christos Zoulas) wrote: > On Nov 23, 11:24pm, rm...@netbsd.org (Mindaugas Rasiukevicius) wrote: > -- Subject: Re: CVS commit: src/sys/coda > > | mp = mp == TAILQ_END(&mountlist) ? NULL : mp; > | > | Over: > | > | return mp; > | > | Everybody understood NULL, so why obfuscate the code? > > The point (as I understand it) is so that if you want to change to another > ADT where end != NULL (are there any now, that we have banned CIRCLEQ?) > using the END macro lets you s/FOOQ/BARQ/ and have it mostly work.
Since 1990s (or even earlier) none of the lists in queue(3) had _END(), apart from the circle queue (for a very obvious reason it makes sense). Now that CIRCLEQ is banned - you added _END() for LIST and TAILQ. I do not follow the logic. :) I would remove _END() macros to keep the way it always was. If the goal is to improve the interface, then now is a good time to design a new API, but we already have a long thread on tech-userlevel for this.. -- Mindaugas