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