a whole lot of size_t -> ssize_t.
[apps/madmutt.git] / alias.c
diff --git a/alias.c b/alias.c
index dc5084b..8128587 100644 (file)
--- a/alias.c
+++ b/alias.c
@@ -1,3 +1,21 @@
+/*
+ *  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., 51 Franklin Street, Fifth Floor, Boston,
+ *  MA 02110-1301, USA.
+ *
+ *  Copyright © 2006 Pierre Habouzit
+ */
 /*
  * Copyright notice from original mutt:
  * Copyright (C) 1996-2002 Michael R. Elkins <me@mutt.org>
 #include <lib-ui/enter.h>
 #include <lib-ui/menu.h>
 
-#include "mutt.h"
 #include "mutt_idna.h"
 #include "sort.h"
 
+char    *AliasFmt;
+char    *AliasFile;
+alias_t *Aliases;
+rx_t     GecosMask;
+
 #define RSORT(x) (SortAlias & SORT_REVERSE) ? -x : x
 
 static struct mapping_t AliasHelp[] = {
@@ -44,12 +66,36 @@ static struct mapping_t AliasHelp[] = {
     {NULL, OP_NULL}
 };
 
-const address_t *alias_lookup(const alias_t *list, const char *s)
+const address_t *alias_lookup(const char *s)
 {
-    while (list) {
+    alias_t *list;
+
+    for (list = Aliases; list; list = list->next) {
         if (!m_strcasecmp(s, list->name))
             return list->addr;
-        list = list->next;
+    }
+
+    return NULL;
+}
+
+/* This routine looks to see if the user has an alias defined for the given
+   address.                                                                 */
+const address_t *alias_reverse_lookup(const address_t *a)
+{
+    alias_t *list;
+
+    if (!a || !a->mailbox)
+        return NULL;
+
+    for (list = Aliases; list; list = list->next) {
+        address_t *ap;
+
+        /* cycle through all addresses if this is a group alias */
+        for (ap = list->addr; ap; ap = ap->next) {
+            if (!ap->group && ap->mailbox
+            &&  !ascii_strcasecmp(ap->mailbox, a->mailbox))
+                return ap;
+        }
     }
 
     return NULL;
@@ -186,7 +232,7 @@ void mutt_create_alias(ENVELOPE *cur, address_t *iadr)
         return;
 
     /* check to see if the user already has an alias defined */
-    if (alias_lookup(Aliases, buf)) {
+    if (alias_lookup(buf)) {
         mutt_error _("You already have an alias defined with that name!");
         return;
     }
@@ -280,7 +326,7 @@ static address_t *mutt_expand_aliases_r(address_t *a, string_list_t **expn)
         if (!pop->group && !pop->personal
         &&  pop->mailbox && !strchr(pop->mailbox, '@'))
         {
-            const address_t *t = alias_lookup(Aliases, pop->mailbox);
+            const address_t *t = alias_lookup(pop->mailbox);
 
             if (t) {
                 string_list_t *u;
@@ -349,30 +395,6 @@ void mutt_expand_aliases_env(ENVELOPE *env)
 
 /************* READ MARK *********************/
 
-
-/*
- * This routine looks to see if the user has an alias defined for the given
- * address.
- */
-address_t *alias_reverse_lookup (address_t * a)
-{
-  alias_t *t = Aliases;
-  address_t *ap;
-
-  if (!a || !a->mailbox)
-    return NULL;
-
-  for (; t; t = t->next) {
-    /* cycle through all addresses if this is a group alias */
-    for (ap = t->addr; ap; ap = ap->next) {
-      if (!ap->group && ap->mailbox &&
-          ascii_strcasecmp (ap->mailbox, a->mailbox) == 0)
-        return ap;
-    }
-  }
-  return 0;
-}
-
 /* alias_complete() -- alias completion routine
  *
  * given a partial alias, this routine attempts to fill in the alias
@@ -658,5 +680,4 @@ new_aliases:
 
   mutt_menuDestroy (&menu);
   p_delete(&AliasTable);
-
 }