In message <[EMAIL PROTECTED]>, Bruce Evans
 writes:
>On Wed, 24 May 2000, Garrett Wollman wrote:
>
>> <<On Tue, 23 May 2000 20:27:10 -0700, Jake Burkholder <[EMAIL PROTECTED]> said:
>> 
>> > I've just built a fresh world here; if you use the cvs-crypto from
>> > internat, it may be broken.  I submitted a patch to Mark Murray which
>> > should fix it, here it is again just in case:
>> 
>> I still think (and am going on record) that this is a REALLY, REALLY
>> BAD idea.
>
>Especially since most of the queue macros require the type to be a struct
>to work.  E.g.:
>
>#define        SLIST_REMOVE(head, elm, type, field) do {                       \
>                                ^^^^ a supposedly general type
>       if (SLIST_FIRST((head)) == (elm)) {                             \
>               SLIST_REMOVE_HEAD((head), field);                       \
>       }                                                               \
>       else {                                                          \
>               type *curelm = SLIST_FIRST((head));                     \
>               while (SLIST_NEXT(curelm, field) != (elm))              \
>                      ^^^^^^^^^^^^^^^^^^^^^^^^^
>
>I objected to a recent commit hiding the fact that this is
>"(elm)->field.sle_next".  Anyway, curelm must be a pointer to a struct.
>Not just any struct; the struct must contain a "field" declared using
>SLIST_ENTRY().

It could be an union or class as well...

--
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
[EMAIL PROTECTED]         | TCP/IP since RFC 956
FreeBSD coreteam member | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to