X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib%2Frx.c;h=c0f6982281dd505bf30751a60b06647a27711194;hp=1330af8529b145ce7de597f4156b910d90fc21c0;hb=ba5e3af4ea19e1d20c80941c077039871ec84258;hpb=fa7f733a61a6fe3143198791ab470ddf4d08fdbe diff --git a/lib/rx.c b/lib/rx.c index 1330af8..c0f6982 100644 --- a/lib/rx.c +++ b/lib/rx.c @@ -4,16 +4,20 @@ * please see the file GPL in the top level source directory. */ +#if HAVE_CONFIG_H +#include "config.h" +#endif + #include "rx.h" #include "mem.h" #include "str.h" rx_t *rx_compile (const char *s, int flags) { - rx_t *pp = safe_calloc (sizeof (rx_t), 1); + rx_t *pp = mem_calloc (1, sizeof (rx_t)); - pp->pattern = safe_strdup (s); - pp->rx = safe_calloc (sizeof (regex_t), 1); + pp->pattern = str_dup (s); + pp->rx = mem_calloc (1, sizeof (regex_t)); if (REGCOMP(pp->rx, NONULL (s), flags) != 0) rx_free (&pp); @@ -21,19 +25,19 @@ rx_t *rx_compile (const char *s, int flags) { } void rx_free (rx_t** p) { - FREE(&(*p)->pattern); + mem_free(&(*p)->pattern); regfree ((*p)->rx); - FREE(&(*p)->rx); - FREE(p); + mem_free(&(*p)->rx); + mem_free(p); } int rx_compare (const rx_t* r1, const rx_t* r2) { - return (mutt_strcmp (r1->pattern, r2->pattern)); + return (str_cmp (r1->pattern, r2->pattern)); } int rx_list_match (list2_t* l, const char* pat) { int i = 0; - if (!pat || list_empty(l)) + if (!pat || !*pat || list_empty(l)) return (0); for (i = 0; i < l->length; i++) if (REGEXEC(((rx_t*) l->data[i])->rx, pat) == 0) @@ -46,7 +50,7 @@ int rx_lookup (list2_t* l, const char* pat) { if (!pat || !*pat || list_empty(l)) return (-1); for (i = 0; i < l->length; i++) - if (mutt_strcmp (((rx_t*) l->data[i])->pattern, pat) == 0) + if (str_cmp (((rx_t*) l->data[i])->pattern, pat) == 0) return (i); return (-1); }