X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-lib%2Frx.h;h=3b57168b64f40492bb93794fdd4e2354f97a5a7a;hp=14709d1038d8914d84a731110dd9c9b335f4999a;hb=68d6b380767702ba11529357f36d178d0dc4cb1e;hpb=5a4df9d0e93209aeade80f632158036799f3e9bc diff --git a/lib-lib/rx.h b/lib-lib/rx.h index 14709d1..3b57168 100644 --- a/lib-lib/rx.h +++ b/lib-lib/rx.h @@ -29,7 +29,7 @@ #ifndef MUTT_LIB_LIB_RX_H #define MUTT_LIB_LIB_RX_H -#include +#include "lib-lib.h" /* this is a non-standard option supported by Solaris 2.5.x which allows * patterns of the form \<...\> @@ -43,14 +43,22 @@ typedef struct rx_t { char *pattern; /* printable version */ regex_t *rx; /* compiled expression */ int not; /* do not match */ + + int nmatch; /* nb matches */ + char *template; /* out template */ } rx_t; -rx_t* rx_compile (const char*, int); -void rx_delete(rx_t **); +rx_t *rx_compile(const char*, int); +int rx_validate(const char*, char*, ssize_t); +void rx_set_template(rx_t *, const char*); +void rx_wipe(rx_t *); +DO_DELETE(rx_t, rx); + DO_SLIST(rx_t, rx, rx_delete); /* for handling lists */ int rx_list_match(rx_t *, const char*); /* match all items list agains string */ +int rx_list_match2(rx_t *l, const char *s, char *dst, int dlen); rx_t **rx_lookup(rx_t**, const char*); /* lookup pattern */ int rx_sanitize_string(char *, ssize_t, const char *);