move menu.[hc].
[apps/madmutt.git] / lib / list.h
index 9cb4bb3..0040c4d 100644 (file)
@@ -28,9 +28,12 @@ typedef struct list2_t {
  */
 
 list2_t* list_new (void);
-/* frees all memory used by list and optionally used edel func
- * ptr to free items */
-void list_del (list2_t**, void (*edel) (void**));
+
+typedef void list_del_t (void**);
+
+/* free() all memory used by list and optionally
+ * use del function to free() items as well */
+void list_del (list2_t**, list_del_t* del);
 
 #define list_empty(l) (!l || l->length == 0 || !l->data)
 
@@ -64,6 +67,12 @@ list2_t* list_dup (list2_t*, void* (*dup) (void*));
  *      index in data array otherwise
  * the callback must return 0 on equality
  */
-int list_lookup (list2_t*, int (*cmp) (const void*, const void*), const void*);
+typedef int list_lookup_t (const void*, const void*);
+int list_lookup (list2_t*, list_lookup_t* cmp, const void*);
+
+/*
+ * dumb-splits string at boundary characters into list
+ */
+list2_t* list_from_str (const char* str, const char* delim);
 
 #endif /* !_LIB_LIST_H */