push_list(foo_list, foo_node);
and
foo_node = pop_list(foo_list);
They came out predictably ugly:
#define push_list(_LIST_, _NODE_) \
_NODE_->next = _LIST_; \
_LIST_ =_NODE_;
#define pop_list(_LIST_) ({ \
typeof(_LIST_) _NODE_ = _LIST_; \
_LIST_ = _LIST_->next; \
_NODE_; })
These work but imho, they are too ugly to live. For one thing, they assume
the link field is named 'next' and I don't see a nice way around that.
Before moving them to my scraps.c file I thought I'd let other people throw
some tomatoes at them.
-- Daniel - 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/