projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
dc4e660
)
glsl/list: Add a foreach_list_typed_safe_reverse macro
author
Jason Ekstrand
<jason.ekstrand@intel.com>
Sat, 8 Nov 2014 02:26:50 +0000
(18:26 -0800)
committer
Jason Ekstrand
<jason.ekstrand@intel.com>
Thu, 15 Jan 2015 15:19:01 +0000
(07:19 -0800)
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
src/glsl/list.h
patch
|
blob
|
history
diff --git
a/src/glsl/list.h
b/src/glsl/list.h
index 4774ccca218a7f3076adc74b7c01fa88afd21b5f..330c17e378b193fe10ed0bb219889e2a39d67669 100644
(file)
--- a/
src/glsl/list.h
+++ b/
src/glsl/list.h
@@
-678,4
+678,13
@@
inline void exec_node::insert_before(exec_list *before)
__node = __next, __next = \
exec_node_data(__type, (__next)->__field.next, __field))
+#define foreach_list_typed_safe_reverse(__type, __node, __field, __list) \
+ for (__type * __node = \
+ exec_node_data(__type, (__list)->tail_pred, __field), \
+ * __prev = \
+ exec_node_data(__type, (__node)->__field.prev, __field); \
+ __prev != NULL; \
+ __node = __prev, __prev = \
+ exec_node_data(__type, (__prev)->__field.prev, __field))
+
#endif /* LIST_CONTAINER_H */