nasmlib: Add list_last helper
authorCyrill Gorcunov <gorcunov@gmail.com>
Wed, 13 Apr 2011 06:19:30 +0000 (10:19 +0400)
committerCyrill Gorcunov <gorcunov@gmail.com>
Sat, 25 Jun 2011 14:15:21 +0000 (18:15 +0400)
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
nasmlib.h

index e571159..4d67e8b 100644 (file)
--- a/nasmlib.h
+++ b/nasmlib.h
@@ -248,12 +248,16 @@ void standard_extension(char *inname, char *outname, char *extension);
  *
  *  list_for_each - regular iterator over list
  *  list_for_each_safe - the same but safe against list items removal
+ *  list_last - find the last element in a list
  */
 #define list_for_each(pos, head)                        \
     for (pos = head; pos; pos = pos->next)
 #define list_for_each_safe(pos, n, head)                \
     for (pos = head, n = (pos ? pos->next : NULL); pos; \
         pos = n, n = (n ? n->next : NULL))
+#define list_last(pos, head)                            \
+    for (pos = head; pos && pos->next; pos = pos->next) \
+        ;
 
 /*
  * Power of 2 align helpers