Re: [PATCH][2.5] Single linked lists for Linux, overly complicated

Thunder from the hill (thunder@lightweight.ods.org)
Thu, 26 Sep 2002 15:13:35 -0600 (MDT)


Hi,

On Thu, 26 Sep 2002, Rik van Riel wrote:
> > > In the case of slist_del() you HAVE to know it.

What about

/**
* slist_del - remove an entry from list
* @buf: a storage area, just as long as the entry
* @entry: entry to be removed
*/
#define slist_del(_entry_in,_buf) \
do { \
typeof(_entry_in) _entry = (_entry_in), \
_head = (_buf), _free; \
memcpy(_head, _entry, sizeof(_entry)); \
_free = _entry; \
_entry = _entry->next; \
_head->next = NULL; \
(_buf) = _head; \
} while (0)

?

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/