lkml.org 
[lkml]   [2002]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH][2.5] Single linked lists for Linux
Hi,

On Thu, 26 Sep 2002, Peter Chubb wrote:
> +/**
> + * slist_del - remove an entry from list
> + * @head: head to remove it from
> + * @entry: entry to be removed
> + */
> +#define slist_del(_head, _entry) \
> +do { \
> + (_head)->next = (_entry)->next; \
> + (_entry)->next = NULL; \
> +}

What about

#define slist_del(_head) \
do { \
typeof(_head) _entry = (_head)->next; \
(_head)->next = _entry->next; \
_entry->next = NULL; \
} while (0)

> static inline int slist_del(struct slist *head, struct slist *entry)

I don't want to inline (just like once, with list.h) because I want any
type to match here...

Thunder
--
assert(typeof((fool)->next) == typeof(fool)); /* wrong */

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:29    [W:0.030 / U:0.244 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site