various fixes.
[apps/madmutt.git] / lib-lib / list.h
index bba82b1..957c900 100644 (file)
         list = prefix##_list_last(list);                                     \
         *list = item;                                                        \
         return list;                                                         \
         list = prefix##_list_last(list);                                     \
         *list = item;                                                        \
         return list;                                                         \
+    }                                                                        \
+    static inline type *prefix##_list_rev(type *list) {                      \
+        type *l = NULL;                                                      \
+        while (list) {                                                       \
+            prefix##_list_push(&l, prefix##_list_pop(&list));                \
+        }                                                                    \
+        return l;                                                            \
     }                                                                        \
                                                                              \
     static inline type **prefix##_list_init(type **list) {                   \
     }                                                                        \
                                                                              \
     static inline type **prefix##_list_init(type **list) {                   \