X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=alias.c;h=460217626c7a48702749b56c6554baf237e7e06f;hp=e03536bf39eb7c144f9cc4ddbd68b38c0ad82ad8;hb=a742b680bdba8cb47d2b81ab3397cdbec7ed5b69;hpb=7d6add87dcf687d93906c297d335029effbed909 diff --git a/alias.c b/alias.c index e03536b..4602176 100644 --- a/alias.c +++ b/alias.c @@ -38,7 +38,6 @@ #include #include #include -#include #include #include @@ -47,10 +46,15 @@ #include #include -#include "mutt.h" +#include "alias.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[] = { @@ -62,12 +66,13 @@ 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; @@ -75,12 +80,14 @@ const address_t *alias_lookup(const alias_t *list, const char *s) /* This routine looks to see if the user has an alias defined for the given address. */ -const address_t *alias_reverse_lookup(const alias_t *list, const address_t *a) +const address_t *alias_reverse_lookup(const address_t *a) { + alias_t *list; + if (!a || !a->mailbox) return NULL; - for (; list; list = list->next) { + for (list = Aliases; list; list = list->next) { address_t *ap; /* cycle through all addresses if this is a group alias */ @@ -225,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; } @@ -244,7 +251,7 @@ void mutt_create_alias(ENVELOPE *cur, address_t *iadr) mutt_addrlist_to_idna(adr, NULL); do { - const char *err = NULL; + char *err = NULL; if (mutt_get_field(_("Address: "), buf, sizeof(buf), 0) || !buf[0]) { alias_list_wipe(&new); @@ -257,6 +264,7 @@ void mutt_create_alias(ENVELOPE *cur, address_t *iadr) if (mutt_addrlist_to_idna(new->addr, &err)) { mutt_error(_("Error: '%s' is a bad IDN."), err); + p_delete(&err); mutt_sleep(1); continue; } @@ -319,7 +327,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; @@ -673,5 +681,4 @@ new_aliases: mutt_menuDestroy (&menu); p_delete(&AliasTable); - }