diff options
Diffstat (limited to 'scripts/dtc/dtc.h')
| -rw-r--r-- | scripts/dtc/dtc.h | 44 | 
1 files changed, 10 insertions, 34 deletions
diff --git a/scripts/dtc/dtc.h b/scripts/dtc/dtc.h index d501c8605f2..3e42a071070 100644 --- a/scripts/dtc/dtc.h +++ b/scripts/dtc/dtc.h @@ -161,51 +161,27 @@ struct node {  	struct label *labels;  }; -static inline struct label *for_each_label_next(struct label *l) -{ -	do { -		l = l->next; -	} while (l && l->deleted); - -	return l; -} - -#define for_each_label(l0, l) \ -	for ((l) = (l0); (l); (l) = for_each_label_next(l)) -  #define for_each_label_withdel(l0, l) \  	for ((l) = (l0); (l); (l) = (l)->next) -static inline struct property *for_each_property_next(struct property *p) -{ -	do { -		p = p->next; -	} while (p && p->deleted); - -	return p; -} - -#define for_each_property(n, p) \ -	for ((p) = (n)->proplist; (p); (p) = for_each_property_next(p)) +#define for_each_label(l0, l) \ +	for_each_label_withdel(l0, l) \ +		if (!(l)->deleted)  #define for_each_property_withdel(n, p) \  	for ((p) = (n)->proplist; (p); (p) = (p)->next) -static inline struct node *for_each_child_next(struct node *c) -{ -	do { -		c = c->next_sibling; -	} while (c && c->deleted); - -	return c; -} - -#define for_each_child(n, c) \ -	for ((c) = (n)->children; (c); (c) = for_each_child_next(c)) +#define for_each_property(n, p) \ +	for_each_property_withdel(n, p) \ +		if (!(p)->deleted)  #define for_each_child_withdel(n, c) \  	for ((c) = (n)->children; (c); (c) = (c)->next_sibling) +#define for_each_child(n, c) \ +	for_each_child_withdel(n, c) \ +		if (!(c)->deleted) +  void add_label(struct label **labels, char *label);  void delete_labels(struct label **labels);  |