* please see the file GPL in the top level source directory.
*/
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <string.h>
-#include <ctype.h>
-
-#include <lib-lib/mem.h>
-#include <lib-lib/ascii.h>
-#include <lib-lib/str.h>
-#include <lib-lib/file.h>
-#include <lib-lib/macros.h>
-#include <lib-lib/mapping.h>
-#include <lib-lib/debug.h>
-#include <lib-lib/rx.h>
+#include <lib-lib/lib-lib.h>
#include <lib-sys/unix.h>
#include <lib-ui/enter.h>
#include <lib-ui/menu.h>
+#include "alias.h"
#include "mutt_idna.h"
#include "sort.h"
{NULL, OP_NULL}
};
+static void mutt_alias_menu(char *, size_t, alias_t *);
+
const address_t *alias_lookup(const char *s)
{
alias_t *list;
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);
if (mutt_addrlist_to_idna(new->addr, &err)) {
mutt_error(_("Error: '%s' is a bad IDN."), err);
+ p_delete(&err);
mutt_sleep(1);
continue;
}
buf[0] = '\0';
rfc822_write_address(buf, sizeof(buf), new->addr, 0);
write_safe_address(rc, buf);
- fclose(rc);
+ m_fclose(&rc);
mutt_message _("Alias added.");
} else {
mutt_perror(buf);
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)