/*
+ * Copyright notice from original mutt:
* Copyright (C) 1996-2000 Michael R. Elkins <me@mutt.org>
* Copyright (C) 1999-2000 Thomas Roessler <roessler@does-not-exist.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ *
+ * This file is part of mutt-ng, see http://www.muttng.org/.
+ * It's licensed under the GNU General Public License,
+ * please see the file GPL in the top level source directory.
*/
#if HAVE_CONFIG_H
#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);
- }
-}
-
-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;
- }
+ rx_free (&p->rx);
+ FREE(&p->template);
+ FREE(&p);
}
-
- return 0;
}
int mutt_match_spam_list (const char *s, SPAM_LIST * l, char *text, int x)