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().
Bruce
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message