patches/glibc/2_9/190-queue-header-updates.patch
branchnewlib
changeset 1365 c4d124ed9f8e
parent 1364 9227d2a2c080
child 1366 5e5d1e6f55d3
     1.1 --- a/patches/glibc/2_9/190-queue-header-updates.patch	Sat Apr 11 19:03:02 2009 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,89 +0,0 @@
     1.4 -Original patch from: gentoo/src/patchsets/glibc/2.9/1010_all_glibc-queue-header-updates.patch
     1.5 -
     1.6 --= BEGIN original header =-
     1.7 -grab some updates from FreeBSD
     1.8 -
     1.9 -http://bugs.gentoo.org/201979
    1.10 -
    1.11 --= END original header =-
    1.12 -
    1.13 -diff -durN glibc-2_9.orig/misc/sys/queue.h glibc-2_9/misc/sys/queue.h
    1.14 ---- glibc-2_9.orig/misc/sys/queue.h	2008-03-05 06:50:30.000000000 +0100
    1.15 -+++ glibc-2_9/misc/sys/queue.h	2009-02-02 22:00:48.000000000 +0100
    1.16 -@@ -136,6 +136,11 @@
    1.17 - 		(var);							\
    1.18 - 		(var) = ((var)->field.le_next))
    1.19 - 
    1.20 -+#define	LIST_FOREACH_SAFE(var, head, field, tvar)			\
    1.21 -+	for ((var) = LIST_FIRST((head));				\
    1.22 -+	    (var) && ((tvar) = LIST_NEXT((var), field), 1);		\
    1.23 -+	    (var) = (tvar))
    1.24 -+
    1.25 - /*
    1.26 -  * List access methods.
    1.27 -  */
    1.28 -@@ -197,6 +202,16 @@
    1.29 - #define	SLIST_FOREACH(var, head, field)					\
    1.30 - 	for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
    1.31 - 
    1.32 -+#define	SLIST_FOREACH_SAFE(var, head, field, tvar)			\
    1.33 -+	for ((var) = SLIST_FIRST((head));				\
    1.34 -+	    (var) && ((tvar) = SLIST_NEXT((var), field), 1);		\
    1.35 -+	    (var) = (tvar))
    1.36 -+
    1.37 -+#define	SLIST_FOREACH_PREVPTR(var, varp, head, field)			\
    1.38 -+	for ((varp) = &SLIST_FIRST((head));				\
    1.39 -+	    ((var) = *(varp)) != NULL;					\
    1.40 -+	    (varp) = &SLIST_NEXT((var), field))
    1.41 -+
    1.42 - /*
    1.43 -  * Singly-linked List access methods.
    1.44 -  */
    1.45 -@@ -242,6 +257,12 @@
    1.46 - 	(head)->stqh_last = &(elm)->field.stqe_next;			\
    1.47 - } while (/*CONSTCOND*/0)
    1.48 - 
    1.49 -+#define	STAILQ_LAST(head, type, field)					\
    1.50 -+	(STAILQ_EMPTY((head)) ?						\
    1.51 -+		NULL :							\
    1.52 -+	        ((struct type *)(void *)				\
    1.53 -+		((char *)((head)->stqh_last) - __offsetof(struct type, field))))
    1.54 -+
    1.55 - #define	STAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
    1.56 - 	if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
    1.57 - 		(head)->stqh_last = &(elm)->field.stqe_next;		\
    1.58 -@@ -286,6 +307,11 @@
    1.59 - #define	STAILQ_FIRST(head)	((head)->stqh_first)
    1.60 - #define	STAILQ_NEXT(elm, field)	((elm)->field.stqe_next)
    1.61 - 
    1.62 -+#define	STAILQ_FOREACH_SAFE(var, head, field, tvar)			\
    1.63 -+	for ((var) = STAILQ_FIRST((head));				\
    1.64 -+	    (var) && ((tvar) = STAILQ_NEXT((var), field), 1);		\
    1.65 -+	    (var) = (tvar))
    1.66 -+
    1.67 - 
    1.68 - /*
    1.69 -  * Simple queue definitions.
    1.70 -@@ -437,11 +463,22 @@
    1.71 - 		(var);							\
    1.72 - 		(var) = ((var)->field.tqe_next))
    1.73 - 
    1.74 -+#define	TAILQ_FOREACH_SAFE(var, head, field, tvar)			\
    1.75 -+	for ((var) = TAILQ_FIRST((head));				\
    1.76 -+	    (var) && ((tvar) = TAILQ_NEXT((var), field), 1);		\
    1.77 -+	    (var) = (tvar))
    1.78 -+
    1.79 - #define	TAILQ_FOREACH_REVERSE(var, head, headname, field)		\
    1.80 - 	for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));	\
    1.81 - 		(var);							\
    1.82 - 		(var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
    1.83 - 
    1.84 -+#define	TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar)	\
    1.85 -+	for ((var) = TAILQ_LAST((head), headname);			\
    1.86 -+	    (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1);	\
    1.87 -+	    (var) = (tvar))
    1.88 -+
    1.89 -+
    1.90 - #define	TAILQ_CONCAT(head1, head2, field) do {				\
    1.91 - 	if (!TAILQ_EMPTY(head2)) {					\
    1.92 - 		*(head1)->tqh_last = (head2)->tqh_first;		\