X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=lib%2Frx.c;h=e7c4f3cc43aed8cab7a155e72baca9320959c33c;hb=a8477ebaa09990b3688164cbe5cf661c4189541d;hp=1330af8529b145ce7de597f4156b910d90fc21c0;hpb=fa7f733a61a6fe3143198791ab470ddf4d08fdbe;p=apps%2Fmadmutt.git diff --git a/lib/rx.c b/lib/rx.c index 1330af8..e7c4f3c 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 = safe_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 = safe_calloc (1, sizeof (regex_t)); if (REGCOMP(pp->rx, NONULL (s), flags) != 0) rx_free (&pp); @@ -28,12 +32,12 @@ void rx_free (rx_t** 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); }