X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=muttlib.c;h=676b9225e22c4fef76f5a640c2bd2d1de09c8b96;hp=6b9258f18a7e119f8005fb7b43c343f80b8520de;hb=05dc13941fb8fcaf3a95f0d34a3021e3aa73b3f2;hpb=c3e57678c8be193fc137854020f3a90887be97c9 diff --git a/muttlib.c b/muttlib.c index 6b9258f..676b922 100644 --- a/muttlib.c +++ b/muttlib.c @@ -27,6 +27,10 @@ #include "mutt_crypt.h" +#include "lib/mem.h" +#include "lib/intl.h" +#include "lib/str.h" + #include #include #include @@ -361,8 +365,8 @@ char *_mutt_expand_path (char *s, size_t slen, int rx) #ifdef USE_IMAP /* if folder = {host} or imap[s]://host/: don't append slash */ if (mx_is_imap (NONULL (Maildir)) && - (Maildir[strlen (Maildir) - 1] == '}' || - Maildir[strlen (Maildir) - 1] == '/')) + (Maildir[mutt_strlen (Maildir) - 1] == '}' || + Maildir[mutt_strlen (Maildir) - 1] == '/')) strfcpy (p, NONULL (Maildir), sizeof (p)); else #endif @@ -494,7 +498,7 @@ char *mutt_gecos_name (char *dest, size_t destlen, struct passwd *pw) else strfcpy (dest, pw->pw_gecos, destlen); - pwnl = strlen (pw->pw_name); + pwnl = mutt_strlen (pw->pw_name); for (idx = 0; dest[idx]; idx++) { if (dest[idx] == '&') { @@ -1235,7 +1239,7 @@ void state_prefix_putc (char c, STATE * s) if (s->flags & M_PENDINGPREFIX) { int i; - i = strlen (Quotebuf); + i = mutt_strlen (Quotebuf); Quotebuf[i++] = c; Quotebuf[i] = '\0'; if (i == sizeof (Quotebuf) - 1 || c == '\n') { @@ -1336,7 +1340,7 @@ BUFFER *mutt_buffer_init (BUFFER * b) return NULL; } else { - safe_free (b->data); + FREE(&b->data); } memset (b, 0, sizeof (BUFFER)); return b; @@ -1433,40 +1437,6 @@ const char *mutt_make_version (void) return vstring; } -REGEXP *mutt_compile_regexp (const char *s, int flags) -{ - REGEXP *pp = safe_calloc (sizeof (REGEXP), 1); - - pp->pattern = safe_strdup (s); - pp->rx = safe_calloc (sizeof (regex_t), 1); - if (REGCOMP (pp->rx, NONULL (s), flags) != 0) - mutt_free_regexp (&pp); - - return pp; -} - -void mutt_free_regexp (REGEXP ** pp) -{ - FREE (&(*pp)->pattern); - regfree ((*pp)->rx); - FREE (&(*pp)->rx); - FREE (pp); -} - -void mutt_free_rx_list (RX_LIST ** list) -{ - RX_LIST *p; - - if (!list) - return; - while (*list) { - p = *list; - *list = (*list)->next; - mutt_free_regexp (&p->rx); - FREE (&p); - } -} - void mutt_free_spam_list (SPAM_LIST ** list) { SPAM_LIST *p; @@ -1476,29 +1446,12 @@ void mutt_free_spam_list (SPAM_LIST ** list) while (*list) { p = *list; *list = (*list)->next; - mutt_free_regexp (&p->rx); - safe_free (&p->template); - FREE (&p); + rx_free (&p->rx); + FREE(&p->template); + FREE(&p); } } -int mutt_match_rx_list (const char *s, RX_LIST * l) -{ - if (!s) - return 0; - - for (; l; l = l->next) { - if (regexec (l->rx->rx, s, (size_t) 0, (regmatch_t *) 0, (int) 0) == 0) { - dprint (5, - (debugfile, "mutt_match_rx_list: %s matches %s\n", s, - l->rx->pattern)); - return 1; - } - } - - return 0; -} - int mutt_match_spam_list (const char *s, SPAM_LIST * l, char *text, int x) { static regmatch_t *pmatch = NULL;