make rx_t be chaine-able so that we can get rid of list2_t (stage 1).
[apps/madmutt.git] / lib-lib / rx.h
index d12fe85..14709d1 100644 (file)
@@ -29,7 +29,7 @@
 #ifndef MUTT_LIB_LIB_RX_H
 #define MUTT_LIB_LIB_RX_H
 
-#include "../lib/list.h"
+#include <lib-lib/lib-lib.h>
 
 /* this is a non-standard option supported by Solaris 2.5.x which allows
  * patterns of the form \<...\>
@@ -39,6 +39,7 @@
 #endif
 
 typedef struct rx_t {
+    struct rx_t *next;
     char *pattern;                /* printable version */
     regex_t *rx;                  /* compiled expression */
     int not;                      /* do not match */
@@ -46,13 +47,13 @@ typedef struct rx_t {
 
 rx_t* rx_compile (const char*, int);
 void rx_delete(rx_t **);
+DO_SLIST(rx_t, rx, rx_delete);
 
 /* for handling lists */
-int rx_list_match(list2_t*, const char*);      /* match all items list agains string */
-int rx_lookup(list2_t*, const char*);          /* lookup pattern */
+int rx_list_match(rx_t *, const char*);      /* match all items list agains string */
+rx_t **rx_lookup(rx_t**, const char*);       /* lookup pattern */
 int rx_sanitize_string(char *, ssize_t, const char *);
 
-
 #define REGCOMP(X,Y,Z)  regcomp(X, Y, REG_WORDS|REG_EXTENDED|(Z))
 #define REGEXEC(X,Y)    regexec(X, Y, 0, NULL, 0)