+/*
+ * 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-2000 Michael R. Elkins <me@mutt.org>
#ifndef _MUTT_ALIAS_H
#define _MUTT_ALIAS_H
-#include <lib-lib/list.h>
+#include <lib-lib/lib-lib.h>
#include <lib-mime/mime.h>
typedef struct alias_t {
- struct alias_t *next;
- char *name;
- address_t *addr;
- short tagged;
- short del;
- short num;
+ struct alias_t *next;
+ char *name;
+ address_t *addr;
+ short tagged;
+ short del;
+ short num;
} alias_t;
-DO_INIT(alias_t, alias);
-void alias_wipe(alias_t *a);
+extern char *AliasFmt;
+extern char *AliasFile;
+extern alias_t *Aliases;
+extern rx_t GecosMask;
+DO_INIT(alias_t, alias);
+static inline void alias_wipe(alias_t *a) {
+ address_list_wipe(&a->addr);
+}
DO_NEW(alias_t, alias);
DO_DELETE(alias_t, alias);
-DO_SLIST(alias_t, alias);
-
-address_t *alias_lookup(alias_t *list, const char *s);
-
-void mutt_create_alias (ENVELOPE *, address_t *);
-address_t *mutt_get_address (ENVELOPE *, const char **);
-address_t *mutt_expand_aliases (address_t *);
-void mutt_expand_aliases_env (ENVELOPE *);
-address_t *alias_reverse_lookup (address_t *);
-int mutt_alias_complete (char *, size_t);
-int mutt_addr_is_user (address_t *);
-void mutt_alias_menu (char *, size_t, alias_t *);
+DO_SLIST(alias_t, alias, alias_delete);
+
+const address_t *alias_lookup(const char *s);
+const address_t *alias_reverse_lookup(const address_t *);
+
+int mutt_addr_is_user(address_t *);
+address_t *mutt_get_address(ENVELOPE *, const char **);
+void mutt_create_alias(ENVELOPE *, address_t *);
+
+address_t *mutt_expand_aliases(address_t *);
+void mutt_expand_aliases_env(ENVELOPE *);
+int mutt_alias_complete(char *, size_t);
#endif /* !_MUTT_ALIAS_H */