X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=alias.c;h=c511fd7f2aec114c826b50e9863fa8746d634259;hp=1500dbc22d121c41918dcf09c78f580638c9e160;hb=4679714d372c301752dd4b26f4e3fa45641be4b9;hpb=711f787502b6a1a1c150b948a5ed9156c8ef9ba1 diff --git a/alias.c b/alias.c index 1500dbc..c511fd7 100644 --- a/alias.c +++ b/alias.c @@ -25,21 +25,7 @@ * please see the file GPL in the top level source directory. */ -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include +#include #include @@ -67,6 +53,8 @@ static struct mapping_t AliasHelp[] = { {NULL, OP_NULL} }; +static void mutt_alias_menu(char *, size_t, alias_t *); + const address_t *alias_lookup(const char *s) { alias_t *list; @@ -252,7 +240,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); @@ -265,6 +253,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; } @@ -283,7 +272,7 @@ void mutt_create_alias(ENVELOPE *cur, address_t *iadr) new->addr->personal = m_strdup(buf); buf[0] = '\0'; - rfc822_write_address(buf, sizeof(buf), new->addr, 1); + rfc822_addrcat(buf, sizeof(buf), new->addr, 1); snprintf(prompt, sizeof(prompt), _("[%s = %s] Accept?"), new->name, buf); if (mutt_yesorno(prompt, M_YES) != M_YES) { alias_list_wipe(&new); @@ -309,9 +298,9 @@ void mutt_create_alias(ENVELOPE *cur, address_t *iadr) } buf[0] = '\0'; - rfc822_write_address(buf, sizeof(buf), new->addr, 0); + rfc822_addrcat(buf, sizeof(buf), new->addr, 0); write_safe_address(rc, buf); - fclose(rc); + m_fclose(&rc); mutt_message _("Alias added."); } else { mutt_perror(buf); @@ -366,9 +355,7 @@ static address_t *mutt_expand_aliases_r(address_t *a, string_list_t **expn) if (option(OPTUSEDOMAIN)) { /* now qualify all local addresses */ - const char *fqdn = mutt_fqdn(1); - if (fqdn) - rfc822_qualify(head, fqdn); + rfc822_qualify(head, mutt_fqdn(1)); } return head; @@ -381,7 +368,8 @@ address_t *mutt_expand_aliases(address_t *a) t = mutt_expand_aliases_r(a, &expn); string_list_wipe(&expn); - return mutt_remove_duplicates(t); + address_list_uniq(t); + return t; } void mutt_expand_aliases_env(ENVELOPE *env) @@ -509,7 +497,7 @@ static const format_t *alias_format_str (char *dest, size_t destlen, char op, break; case 'r': adr[0] = '\0'; - rfc822_write_address(adr, sizeof(adr), alias->addr, 1); + rfc822_addrcat(adr, sizeof(adr), alias->addr, 1); snprintf(tmp, sizeof(tmp), "%%%ss", fmt); snprintf(dest, destlen, tmp, adr); break; @@ -669,14 +657,14 @@ new_aliases: for (i = 0; i < menu->max; i++) { if (AliasTable[i]->tagged) { mutt_addrlist_to_local (AliasTable[i]->addr); - rfc822_write_address (buf, buflen, AliasTable[i]->addr, 0); + rfc822_addrcat(buf, buflen, AliasTable[i]->addr, 0); t = -1; } } if (t != -1) { mutt_addrlist_to_local (AliasTable[t]->addr); - rfc822_write_address (buf, buflen, AliasTable[t]->addr, 0); + rfc822_addrcat(buf, buflen, AliasTable[t]->addr, 0); } mutt_menuDestroy (&menu);