Rocco Rutte:
[apps/madmutt.git] / alias.c
diff --git a/alias.c b/alias.c
index e664784..5a58449 100644 (file)
--- a/alias.c
+++ b/alias.c
@@ -1,19 +1,10 @@
 /*
+ * Copyright notice from original mutt:
  * Copyright (C) 1996-2002 Michael R. Elkins <me@mutt.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
 #endif
 
 #include "mutt.h"
-#include "mutt_regex.h"
 #include "mutt_curses.h"
 #include "mutt_idna.h"
 
+#include "lib/mem.h"
+#include "lib/intl.h"
+#include "lib/str.h"
+#include "lib/rx.h"
+#include "lib/debug.h"
+
 #include <string.h>
 #include <ctype.h>
 
@@ -33,7 +29,7 @@ ADDRESS *mutt_lookup_alias (const char *s)
   ALIAS *t = Aliases;
 
   for (; t; t = t->next)
-    if (!mutt_strcasecmp (s, t->name))
+    if (!str_casecmp (s, t->name))
       return (t->addr);
   return (NULL);                /* no such alias */
 }
@@ -53,19 +49,16 @@ static ADDRESS *mutt_expand_aliases_r (ADDRESS * a, LIST ** expn)
       if (t) {
         i = 0;
         for (u = *expn; u; u = u->next) {
-          if (mutt_strcmp (a->mailbox, u->data) == 0) { /* alias already found */
-            dprint (1,
-                    (debugfile,
-                     "mutt_expand_aliases_r(): loop in alias found for '%s'\n",
-                     a->mailbox));
+          if (str_cmp (a->mailbox, u->data) == 0) { /* alias already found */
+            debug_print(1, ("loop in alias found for '%s'\n", a->mailbox));
             i = 1;
             break;
           }
         }
 
         if (!i) {
-          u = safe_malloc (sizeof (LIST));
-          u->data = safe_strdup (a->mailbox);
+          u = mem_malloc (sizeof (LIST));
+          u->data = str_dup (a->mailbox);
           u->next = *expn;
           *expn = u;
           w = rfc822_cpy_adr (t);
@@ -90,11 +83,7 @@ static ADDRESS *mutt_expand_aliases_r (ADDRESS * a, LIST ** expn)
           char namebuf[STRING];
 
           mutt_gecos_name (namebuf, sizeof (namebuf), pw);
-          mutt_str_replace (&a->personal, namebuf);
-
-#ifdef EXACT_ADDRESS
-          FREE (&a->val);
-#endif
+          str_replace (&a->personal, namebuf);
         }
       }
     }
@@ -249,9 +238,9 @@ retry_name:
     }
   }
 
-  new = safe_calloc (1, sizeof (ALIAS));
+  new = mem_calloc (1, sizeof (ALIAS));
   new->self = new;
-  new->name = safe_strdup (buf);
+  new->name = str_dup (buf);
 
   mutt_addrlist_to_local (adr);
 
@@ -287,7 +276,7 @@ retry_name:
     mutt_free_alias (&new);
     return;
   }
-  new->addr->personal = safe_strdup (buf);
+  new->addr->personal = str_dup (buf);
 
   buf[0] = 0;
   rfc822_write_address (buf, sizeof (buf), new->addr, 1);
@@ -403,7 +392,7 @@ int mutt_alias_complete (char *s, size_t buflen)
       if (a->name && strstr (a->name, s) == a->name) {
         if (!bestname[0])       /* init */
           strfcpy (bestname, a->name,
-                   min (mutt_strlen (a->name) + 1, sizeof (bestname)));
+                   min (str_len (a->name) + 1, sizeof (bestname)));
         else {
           for (i = 0; a->name[i] && a->name[i] == bestname[i]; i++);
           bestname[i] = 0;
@@ -413,9 +402,9 @@ int mutt_alias_complete (char *s, size_t buflen)
     }
 
     if (bestname[0] != 0) {
-      if (mutt_strcmp (bestname, s) != 0) {
+      if (str_cmp (bestname, s) != 0) {
         /* we are adding something to the completion */
-        strfcpy (s, bestname, mutt_strlen (bestname) + 1);
+        strfcpy (s, bestname, str_len (bestname) + 1);
         return 1;
       }
 
@@ -425,9 +414,9 @@ int mutt_alias_complete (char *s, size_t buflen)
       while (a) {
         if (a->name && (strstr (a->name, s) == a->name)) {
           if (!a_list)          /* init */
-            a_cur = a_list = (ALIAS *) safe_malloc (sizeof (ALIAS));
+            a_cur = a_list = (ALIAS *) mem_malloc (sizeof (ALIAS));
           else {
-            a_cur->next = (ALIAS *) safe_malloc (sizeof (ALIAS));
+            a_cur->next = (ALIAS *) mem_malloc (sizeof (ALIAS));
             a_cur = a_cur->next;
           }
           memcpy (a_cur, a, sizeof (ALIAS));
@@ -447,7 +436,7 @@ int mutt_alias_complete (char *s, size_t buflen)
   while (a_list) {
     a_cur = a_list;
     a_list = a_list->next;
-    FREE (&a_cur);
+    mem_free (&a_cur);
   }
 
   /* remove any aliases marked for deletion */
@@ -492,59 +481,44 @@ int mutt_addr_is_user (ADDRESS * addr)
 {
   /* NULL address is assumed to be the user. */
   if (!addr) {
-    dprint (5, (debugfile, "mail_addr_is_user: yes, NULL address\n"));
+    debug_print(5, ("yes, NULL address\n"));
     return 1;
   }
   if (!addr->mailbox) {
-    dprint (5, (debugfile, "mail_addr_is_user: no, no mailbox\n"));
+    debug_print(5, ("no, no mailbox\n"));
     return 0;
   }
 
   if (ascii_strcasecmp (addr->mailbox, Username) == 0) {
-    dprint (5,
-            (debugfile, "mail_addr_is_user: yes, %s = %s\n", addr->mailbox,
-             Username));
+    debug_print(5, ("yes, %s = %s\n", addr->mailbox, Username));
     return 1;
   }
   if (string_is_address (addr->mailbox, Username, Hostname)) {
-    dprint (5,
-            (debugfile, "mail_addr_is_user: yes, %s = %s @ %s \n",
-             addr->mailbox, Username, Hostname));
+    debug_print(5, ("yes, %s = %s @ %s \n", addr->mailbox, Username, Hostname));
     return 1;
   }
   if (string_is_address (addr->mailbox, Username, mutt_fqdn (0))) {
-    dprint (5,
-            (debugfile, "mail_addr_is_user: yes, %s = %s @ %s \n",
-             addr->mailbox, Username, mutt_fqdn (0)));
+    debug_print(5, ("yes, %s = %s @ %s \n", addr->mailbox, Username, mutt_fqdn (0)));
     return 1;
   }
   if (string_is_address (addr->mailbox, Username, mutt_fqdn (1))) {
-    dprint (5,
-            (debugfile, "mail_addr_is_user: yes, %s = %s @ %s \n",
-             addr->mailbox, Username, mutt_fqdn (1)));
+    debug_print(5, ("yes, %s = %s @ %s \n", addr->mailbox, Username, mutt_fqdn (1)));
     return 1;
   }
 
   if (From && !ascii_strcasecmp (From->mailbox, addr->mailbox)) {
-    dprint (5,
-            (debugfile, "mail_addr_is_user: yes, %s = %s\n", addr->mailbox,
-             From->mailbox));
+    debug_print(5, ("yes, %s = %s\n", addr->mailbox, From->mailbox));
     return 1;
   }
 
-  if (mutt_match_rx_list (addr->mailbox, Alternates)) {
-    dprint (5,
-            (debugfile, "mail_addr_is_user: yes, %s matched by alternates.\n",
-             addr->mailbox));
-    if (mutt_match_rx_list (addr->mailbox, UnAlternates))
-      dprint (5,
-              (debugfile,
-               "mail_addr_is_user: but, %s matched by unalternates.\n",
-               addr->mailbox));
+  if (rx_list_match (Alternates, addr->mailbox)) {
+    debug_print(5, ("yes, %s matched by alternates.\n", addr->mailbox));
+    if (rx_list_match (UnAlternates, addr->mailbox))
+      debug_print(5, ("but, %s matched by unalternates.\n", addr->mailbox));
     else
       return 1;
   }
 
-  dprint (5, (debugfile, "mail_addr_is_user: no, all failed.\n"));
+  debug_print(5, ("no, all failed.\n"));
   return 0;
 }