#include "mutt_crypt.h"
+#include "lib/mem.h"
+#include "lib/intl.h"
+#include "lib/str.h"
+
#include <string.h>
#include <ctype.h>
#include <unistd.h>
#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
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] == '&') {
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') {
return NULL;
}
else {
- safe_free (b->data);
+ FREE(&b->data);
}
memset (b, 0, sizeof (BUFFER));
return b;
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;
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;