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

From: Thunder from the hill (thunder@lightweight.ods.org)
Date: Thu Sep 26 2002 - 16:13:35 EST


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/



This archive was generated by hypermail 2b29 : Mon Sep 30 2002 - 22:00:28 EST