static int alias_sort_address(const void *a, const void *b)
{
- ADDRESS *pa = (*(ALIAS **) a)->addr;
- ADDRESS *pb = (*(ALIAS **) b)->addr;
+ struct Address *pa = (*(ALIAS **) a)->addr;
+ struct Address *pb = (*(ALIAS **) b)->addr;
int r;
if (pa == pb)
int mutt_check_alias_name(const char *s, char *dest, size_t destlen);
-ADDRESS *mutt_lookup_alias(const char *s)
+struct Address *mutt_lookup_alias(const char *s)
{
ALIAS *t = Aliases;
return NULL; /* no such alias */
}
-static ADDRESS *expand_aliases_r(ADDRESS *a, LIST **expn)
+static struct Address *expand_aliases_r(struct Address *a, LIST **expn)
{
- ADDRESS *head = NULL, *last = NULL, *t = NULL, *w = NULL;
+ struct Address *head = NULL, *last = NULL, *t = NULL, *w = NULL;
LIST *u = NULL;
char i;
const char *fqdn = NULL;
return head;
}
-ADDRESS *mutt_expand_aliases(ADDRESS *a)
+struct Address *mutt_expand_aliases(struct Address *a)
{
- ADDRESS *t = NULL;
+ struct Address *t = NULL;
LIST *expn = NULL; /* previously expanded aliases to avoid loops */
t = expand_aliases_r(a, &expn);
}
}
-ADDRESS *mutt_get_address(ENVELOPE *env, char **pfxp)
+struct Address *mutt_get_address(ENVELOPE *env, char **pfxp)
{
- ADDRESS *adr = NULL;
+ struct Address *adr = NULL;
char *pfx = NULL;
if (mutt_addr_is_user(env->from))
FREE(&s);
}
-void mutt_create_alias(ENVELOPE *cur, ADDRESS *iadr)
+void mutt_create_alias(ENVELOPE *cur, struct Address *iadr)
{
ALIAS *new = NULL, *t = NULL;
char buf[LONG_STRING], tmp[LONG_STRING], prompt[SHORT_STRING], *pc = NULL;
char *err = NULL;
char fixed[LONG_STRING];
FILE *rc = NULL;
- ADDRESS *adr = NULL;
+ struct Address *adr = NULL;
if (cur)
{
* This routine looks to see if the user has an alias defined for the given
* address.
*/
-ADDRESS *alias_reverse_lookup(ADDRESS *a)
+struct Address *alias_reverse_lookup(struct Address *a)
{
if (!a || !a->mailbox)
return NULL;
void mutt_alias_add_reverse(ALIAS *t)
{
- ADDRESS *ap = NULL;
+ struct Address *ap = NULL;
if (!t)
return;
void mutt_alias_delete_reverse(ALIAS *t)
{
- ADDRESS *ap = NULL;
+ struct Address *ap = NULL;
if (!t)
return;
}
/* returns true if the given address belongs to the user. */
-bool mutt_addr_is_user(ADDRESS *addr)
+bool mutt_addr_is_user(struct Address *addr)
{
const char *fqdn = NULL;
char prompt[SHORT_STRING];
char scratch[SHORT_STRING];
char buf[HUGE_STRING] = { 0 };
- ADDRESS *adr = NULL;
+ struct Address *adr = NULL;
char *err = NULL;
int rc;
{
char *pfx = NULL;
char buf[SHORT_STRING];
- ADDRESS *adr = NULL;
+ struct Address *adr = NULL;
adr = mutt_get_address(env, &pfx);
return 0;
}
-static void draw_envelope_addr(int line, ADDRESS *addr)
+static void draw_envelope_addr(int line, struct Address *addr)
{
char buf[LONG_STRING];
NORMAL_COLOR;
}
-static void edit_address_list(int line, ADDRESS **addr)
+static void edit_address_list(int line, struct Address **addr)
{
char buf[HUGE_STRING] = ""; /* needs to be large for alias expansion */
char *err = NULL;
*
* XXX - fix that.
*/
-static void format_address_header(char **h, ADDRESS *a)
+static void format_address_header(char **h, struct Address *a)
{
char buf[HUGE_STRING];
char cbuf[STRING];
safe_realloc(h, buflen);
for (count = 0; a; a = a->next, count++)
{
- ADDRESS *tmp = a->next;
+ struct Address *tmp = a->next;
a->next = NULL;
*buf = *cbuf = *c2buf = '\0';
l = rfc822_write_address(buf, sizeof(buf), a, 0);
char *s = *h;
int l, rp = 0;
- ADDRESS *a = NULL;
- ADDRESS *cur = NULL;
+ struct Address *a = NULL;
+ struct Address *cur = NULL;
switch (tolower((unsigned char) *s))
{
{
int i;
char tempfname[_POSIX_PATH_MAX], *mbox = NULL;
- ADDRESS *tmp = NULL;
+ struct Address *tmp = NULL;
FILE *fpout = NULL;
if (!WithCrypto)
int crypt_get_keys(HEADER *msg, char **keylist, int oppenc_mode)
{
- ADDRESS *adrlist = NULL, *last = NULL;
+ struct Address *adrlist = NULL, *last = NULL;
const char *fqdn = mutt_fqdn(1);
/* Do a quick check to make sure that we can find all of the encryption
/* Return a bit vector describing how well the addresses ADDR and
U_ADDR match and whether KEY is valid. */
-static int crypt_id_matches_addr(ADDRESS *addr, ADDRESS *u_addr, crypt_key_t *key)
+static int crypt_id_matches_addr(struct Address *addr, struct Address *u_addr, crypt_key_t *key)
{
int rv = 0;
/* Display a menu to select a key from the array KEYS. FORCED_VALID
will be set to true on return if the user did override the
key's validity. */
-static crypt_key_t *crypt_select_key(crypt_key_t *keys, ADDRESS *p, const char *s,
+static crypt_key_t *crypt_select_key(crypt_key_t *keys, struct Address *p, const char *s,
unsigned int app, int *forced_valid)
{
int keymax;
return k;
}
-static crypt_key_t *crypt_getkeybyaddr(ADDRESS *a, short abilities, unsigned int app,
+static crypt_key_t *crypt_getkeybyaddr(struct Address *a, short abilities, unsigned int app,
int *forced_valid, int oppenc_mode)
{
- ADDRESS *r = NULL, *p = NULL;
+ struct Address *r = NULL, *p = NULL;
LIST *hints = NULL;
int weak = 0;
message. It returns NULL if any of the keys can not be found.
If oppenc_mode is true, only keys that can be determined without
prompting will be used. */
-static char *find_keys(ADDRESS *adrlist, unsigned int app, int oppenc_mode)
+static char *find_keys(struct Address *adrlist, unsigned int app, int oppenc_mode)
{
LIST *crypt_hook_list = NULL, *crypt_hook = NULL;
char *crypt_hook_val = NULL;
char *keylist = NULL, *t = NULL;
size_t keylist_size = 0;
size_t keylist_used = 0;
- ADDRESS *addr = NULL;
- ADDRESS *p = NULL, *q = NULL;
+ struct Address *addr = NULL;
+ struct Address *p = NULL, *q = NULL;
crypt_key_t *k_info = NULL;
const char *fqdn = mutt_fqdn(1);
char buf[LONG_STRING];
return keylist;
}
-char *pgp_gpgme_findkeys(ADDRESS *adrlist, int oppenc_mode)
+char *pgp_gpgme_findkeys(struct Address *adrlist, int oppenc_mode)
{
return find_keys(adrlist, APPLICATION_PGP, oppenc_mode);
}
-char *smime_gpgme_findkeys(ADDRESS *adrlist, int oppenc_mode)
+char *smime_gpgme_findkeys(struct Address *adrlist, int oppenc_mode)
{
return find_keys(adrlist, APPLICATION_SMIME, oppenc_mode);
}
static int verify_sender(HEADER *h, gpgme_protocol_t protocol)
{
- ADDRESS *sender = NULL;
+ struct Address *sender = NULL;
unsigned int ret = 1;
if (h->env->from)
void pgp_gpgme_init(void);
void smime_gpgme_init(void);
-char *pgp_gpgme_findkeys(ADDRESS *adrlist, int oppenc_mode);
-char *smime_gpgme_findkeys(ADDRESS *adrlist, int oppenc_mode);
+char *pgp_gpgme_findkeys(struct Address *adrlist, int oppenc_mode);
+char *smime_gpgme_findkeys(struct Address *adrlist, int oppenc_mode);
BODY *pgp_gpgme_encrypt_message(BODY *a, char *keylist, int sign);
BODY *smime_gpgme_build_smime_entity(BODY *a, char *keylist);
typedef int (*crypt_func_application_handler_t)(BODY *m, STATE *s);
typedef int (*crypt_func_encrypted_handler_t)(BODY *m, STATE *s);
-typedef void (*crypt_func_pgp_invoke_getkeys_t)(ADDRESS *addr);
+typedef void (*crypt_func_pgp_invoke_getkeys_t)(struct Address *addr);
typedef int (*crypt_func_pgp_check_traditional_t)(FILE *fp, BODY *b, int tagged_only);
typedef BODY *(*crypt_func_pgp_traditional_encryptsign_t)(BODY *a, int flags, char *keylist);
typedef BODY *(*crypt_func_pgp_make_key_attachment_t)(char *tempf);
-typedef char *(*crypt_func_findkeys_t)(ADDRESS *adrlist, int oppenc_mode);
+typedef char *(*crypt_func_findkeys_t)(struct Address *adrlist, int oppenc_mode);
typedef BODY *(*crypt_func_sign_message_t)(BODY *a);
typedef BODY *(*crypt_func_pgp_encrypt_message_t)(BODY *a, char *keylist, int sign);
typedef void (*crypt_func_pgp_invoke_import_t)(const char *fname);
return pgp_application_pgp_handler(m, s);
}
-static char *crypt_mod_pgp_findkeys(ADDRESS *adrlist, int oppenc_mode)
+static char *crypt_mod_pgp_findkeys(struct Address *adrlist, int oppenc_mode)
{
return pgp_find_keys(adrlist, oppenc_mode);
}
return pgp_encrypted_handler(m, s);
}
-static void crypt_mod_pgp_invoke_getkeys(ADDRESS *addr)
+static void crypt_mod_pgp_invoke_getkeys(struct Address *addr)
{
pgp_invoke_getkeys(addr);
}
pgp_gpgme_invoke_import(fname);
}
-static char *crypt_mod_pgp_findkeys(ADDRESS *adrlist, int oppenc_mode)
+static char *crypt_mod_pgp_findkeys(struct Address *adrlist, int oppenc_mode)
{
return pgp_gpgme_findkeys(adrlist, oppenc_mode);
}
return smime_application_smime_handler(m, s);
}
-static char *crypt_mod_smime_findkeys(ADDRESS *adrlist, int oppenc_mode)
+static char *crypt_mod_smime_findkeys(struct Address *adrlist, int oppenc_mode)
{
return smime_find_keys(adrlist, oppenc_mode);
}
return smime_gpgme_application_handler(m, s);
}
-static char *crypt_mod_smime_findkeys(ADDRESS *adrlist, int oppenc_mode)
+static char *crypt_mod_smime_findkeys(struct Address *adrlist, int oppenc_mode)
{
return smime_gpgme_findkeys(adrlist, oppenc_mode);
}
}
/* fixme: needs documentation. */
-void crypt_pgp_invoke_getkeys(ADDRESS *addr)
+void crypt_pgp_invoke_getkeys(struct Address *addr)
{
if (CRYPT_MOD_CALL_CHECK(PGP, pgp_invoke_getkeys))
(CRYPT_MOD_CALL(PGP, pgp_invoke_getkeys))(addr);
message. It returns NULL if any of the keys can not be found.
If oppenc_mode is true, only keys that can be determined without
prompting will be used. */
-char *crypt_pgp_findkeys(ADDRESS *adrlist, int oppenc_mode)
+char *crypt_pgp_findkeys(struct Address *adrlist, int oppenc_mode)
{
if (CRYPT_MOD_CALL_CHECK(PGP, findkeys))
return (CRYPT_MOD_CALL(PGP, findkeys))(adrlist, oppenc_mode);
message. It returns NULL if any of the keys can not be found.
If oppenc_mode is true, only keys that can be determined without
prompting will be used. */
-char *crypt_smime_findkeys(ADDRESS *adrlist, int oppenc_mode)
+char *crypt_smime_findkeys(struct Address *adrlist, int oppenc_mode)
{
if (CRYPT_MOD_CALL_CHECK(SMIME, findkeys))
return (CRYPT_MOD_CALL(SMIME, findkeys))(adrlist, oppenc_mode);
WHERE char *MuttDotlock;
#endif
-WHERE ADDRESS *EnvFrom;
-WHERE ADDRESS *From;
+WHERE struct Address *EnvFrom;
+WHERE struct Address *From;
WHERE char *AliasFile;
WHERE char *AliasFmt;
}
}
-static void group_add_adrlist(group_t *g, ADDRESS *a)
+static void group_add_adrlist(group_t *g, struct Address *a)
{
- ADDRESS **p = NULL, *q = NULL;
+ struct Address **p = NULL, *q = NULL;
if (!g)
return;
*p = q;
}
-static int group_remove_adrlist(group_t *g, ADDRESS *a)
+static int group_remove_adrlist(group_t *g, struct Address *a)
{
- ADDRESS *p = NULL;
+ struct Address *p = NULL;
if (!g)
return -1;
return mutt_remove_from_rx_list(&g->rs, s);
}
-void mutt_group_context_add_adrlist(group_context_t *ctx, ADDRESS *a)
+void mutt_group_context_add_adrlist(group_context_t *ctx, struct Address *a)
{
for (; ctx; ctx = ctx->next)
group_add_adrlist(ctx->g, a);
}
-int mutt_group_context_remove_adrlist(group_context_t *ctx, ADDRESS *a)
+int mutt_group_context_remove_adrlist(group_context_t *ctx, struct Address *a)
{
int rv = 0;
bool mutt_group_match(group_t *g, const char *s)
{
- ADDRESS *ap = NULL;
+ struct Address *ap = NULL;
if (s && g)
{
void mutt_group_context_add(group_context_t **ctx, group_t *group);
void mutt_group_context_destroy(group_context_t **ctx);
-void mutt_group_context_add_adrlist(group_context_t *ctx, ADDRESS *a);
+void mutt_group_context_add_adrlist(group_context_t *ctx, struct Address *a);
int mutt_group_context_add_rx(group_context_t *ctx, const char *s, int flags, BUFFER *err);
bool mutt_group_match(group_t *g, const char *s);
int mutt_group_context_clear(group_context_t **ctx);
int mutt_group_context_remove_rx(group_context_t *ctx, const char *s);
-int mutt_group_context_remove_adrlist(group_context_t *ctx, ADDRESS *a);
+int mutt_group_context_remove_adrlist(group_context_t *ctx, struct Address *a);
#endif /* _MUTT_GROUP_H */
*off += size;
}
-static unsigned char *dump_address(ADDRESS *a, unsigned char *d, int *off, int convert)
+static unsigned char *dump_address(struct Address *a, unsigned char *d, int *off, int convert)
{
unsigned int counter = 0;
unsigned int start_off = *off;
return d;
}
-static void restore_address(ADDRESS **a, const unsigned char *d, int *off, int convert)
+static void restore_address(struct Address **a, const unsigned char *d, int *off, int convert)
{
unsigned int counter;
FlagCharZEmpty
};
-bool mutt_is_mail_list(ADDRESS *addr)
+bool mutt_is_mail_list(struct Address *addr)
{
if (!mutt_match_rx_list(addr->mailbox, UnMailLists))
return mutt_match_rx_list(addr->mailbox, MailLists);
return false;
}
-bool mutt_is_subscribed_list(ADDRESS *addr)
+bool mutt_is_subscribed_list(struct Address *addr)
{
if (!mutt_match_rx_list(addr->mailbox, UnMailLists) &&
!mutt_match_rx_list(addr->mailbox, UnSubscribedLists))
* If one is found, print pfx and the name of the list into buf, then
* return 1. Otherwise, simply return 0.
*/
-static bool check_for_mailing_list(ADDRESS *adr, const char *pfx, char *buf, int buflen)
+static bool check_for_mailing_list(struct Address *adr, const char *pfx, char *buf, int buflen)
{
for (; adr; adr = adr->next)
{
* If one is found, print the address of the list into buf, then return 1.
* Otherwise, simply return 0.
*/
-static bool check_for_mailing_list_addr(ADDRESS *adr, char *buf, int buflen)
+static bool check_for_mailing_list_addr(struct Address *adr, char *buf, int buflen)
{
for (; adr; adr = adr->next)
{
}
-static bool first_mailing_list(char *buf, size_t buflen, ADDRESS *a)
+static bool first_mailing_list(char *buf, size_t buflen, struct Address *a)
{
for (; a; a = a->next)
{
bool me;
enum FieldType disp;
- ADDRESS *name = NULL;
+ struct Address *name = NULL;
me = mutt_addr_is_user(env->from);
*buf = 0;
}
-static bool user_in_addr(ADDRESS *a)
+static bool user_in_addr(struct Address *a)
{
for (; a; a = a->next)
if (mutt_addr_is_user(a))
if (addr_hook(path, pathlen, MUTT_SAVEHOOK, Context, hdr) != 0)
{
char tmp[_POSIX_PATH_MAX];
- ADDRESS *adr = NULL;
+ struct Address *adr = NULL;
ENVELOPE *env = hdr->env;
bool fromMe = mutt_addr_is_user(env->from);
void mutt_select_fcc(char *path, size_t pathlen, HEADER *hdr)
{
- ADDRESS *adr = NULL;
+ struct Address *adr = NULL;
char buf[_POSIX_PATH_MAX];
ENVELOPE *env = hdr->env;
return _mutt_string_hook(chs, MUTT_ICONVHOOK);
}
-LIST *mutt_crypt_hook(ADDRESS *adr)
+LIST *mutt_crypt_hook(struct Address *adr)
{
return _mutt_list_hook(adr->mailbox, MUTT_CRYPTHOOK);
}
}
break;
case DT_ADDR:
- rfc822_free_address((ADDRESS **) MuttVars[idx].data);
- *((ADDRESS **) MuttVars[idx].data) =
+ rfc822_free_address((struct Address **) MuttVars[idx].data);
+ *((struct Address **) MuttVars[idx].data) =
rfc822_parse_adrlist(NULL, (const char *) val->data);
break;
case DT_PATH:
switch (p->type & DT_MASK)
{
case DT_ADDR:
- rfc822_free_address((ADDRESS **) p->data);
+ rfc822_free_address((struct Address **) p->data);
break;
case DT_RX:
pp = (REGEXP *) p->data;
{
group_context_t *gc = NULL;
group_state_t state = NONE;
- ADDRESS *addr = NULL;
+ struct Address *addr = NULL;
char *estr = NULL;
do
#ifdef DEBUG
if (debuglevel >= 2)
{
- ADDRESS *a = NULL;
+ struct Address *a = NULL;
/* A group is terminated with an empty address, so check a->mailbox */
for (a = tmp->addr; a && a->mailbox; a = a->next)
{
}
break;
case DT_ADDR:
- if (!p->init && *((ADDRESS **) p->data))
+ if (!p->init && *((struct Address **) p->data))
{
char tmp[HUGE_STRING];
*tmp = '\0';
- rfc822_write_address(tmp, sizeof(tmp), *((ADDRESS **) p->data), 0);
+ rfc822_write_address(tmp, sizeof(tmp), *((struct Address **) p->data), 0);
p->init = (unsigned long) safe_strdup(tmp);
}
break;
}
break;
case DT_ADDR:
- rfc822_free_address((ADDRESS **) p->data);
+ rfc822_free_address((struct Address **) p->data);
if (p->init)
- *((ADDRESS **) p->data) = rfc822_parse_adrlist(NULL, (char *) p->init);
+ *((struct Address **) p->data) = rfc822_parse_adrlist(NULL, (char *) p->init);
break;
case DT_BOOL:
if (p->init)
if (myvar)
myvar_del(myvar);
else if (DTYPE(MuttVars[idx].type) == DT_ADDR)
- rfc822_free_address((ADDRESS **) MuttVars[idx].data);
+ rfc822_free_address((struct Address **) MuttVars[idx].data);
else if (DTYPE(MuttVars[idx].type) == DT_MBCHARTBL)
free_mbchar_table((mbchar_table **) MuttVars[idx].data);
else
else if (DTYPE(MuttVars[idx].type) == DT_ADDR)
{
_tmp[0] = '\0';
- rfc822_write_address(_tmp, sizeof(_tmp), *((ADDRESS **) MuttVars[idx].data), 0);
+ rfc822_write_address(_tmp, sizeof(_tmp), *((struct Address **) MuttVars[idx].data), 0);
val = _tmp;
}
else if (DTYPE(MuttVars[idx].type) == DT_PATH)
}
else
{
- rfc822_free_address((ADDRESS **) MuttVars[idx].data);
- *((ADDRESS **) MuttVars[idx].data) = rfc822_parse_adrlist(NULL, tmp->data);
+ rfc822_free_address((struct Address **) MuttVars[idx].data);
+ *((struct Address **) MuttVars[idx].data) = rfc822_parse_adrlist(NULL, tmp->data);
}
}
}
}
else if (DTYPE(MuttVars[idx].type) == DT_ADDR)
{
- rfc822_write_address(tmp, sizeof(tmp), *((ADDRESS **) MuttVars[idx].data), 0);
+ rfc822_write_address(tmp, sizeof(tmp), *((struct Address **) MuttVars[idx].data), 0);
}
else if (DTYPE(MuttVars[idx].type) == DT_QUAD)
strfcpy(tmp, vals[quadoption(MuttVars[idx].data)], sizeof(tmp));
if (alias_queries)
{
int rv = 0;
- ADDRESS *a = NULL;
+ struct Address *a = NULL;
for (; optind < argc; optind++)
alias_queries = mutt_add_list(alias_queries, argv[optind]);
for (; alias_queries; alias_queries = alias_queries->next)
}
/* return 1 if address lists are strictly identical */
-static int strict_addrcmp(const ADDRESS *a, const ADDRESS *b)
+static int strict_addrcmp(const struct Address *a, const struct Address *b)
{
while (a && b)
{
{
struct alias *self; /* XXX - ugly hack */
char *name;
- ADDRESS *addr;
+ struct Address *addr;
struct alias *next;
bool tagged;
bool del;
typedef struct envelope
{
- ADDRESS *return_path;
- ADDRESS *from;
- ADDRESS *to;
- ADDRESS *cc;
- ADDRESS *bcc;
- ADDRESS *sender;
- ADDRESS *reply_to;
- ADDRESS *mail_followup_to;
- ADDRESS *x_original_to;
+ struct Address *return_path;
+ struct Address *from;
+ struct Address *to;
+ struct Address *cc;
+ struct Address *bcc;
+ struct Address *sender;
+ struct Address *reply_to;
+ struct Address *mail_followup_to;
+ struct Address *x_original_to;
char *list_post; /* this stores a mailto URL, or nothing */
char *subject;
char *real_subj; /* offset of the real subject */
typedef struct group_t
{
- ADDRESS *as;
+ struct Address *as;
RX_LIST *rs;
char *name;
} group_t;
int crypt_pgp_encrypted_handler(BODY *a, STATE *s);
/* fixme: needs documentation. */
-void crypt_pgp_invoke_getkeys(ADDRESS *addr);
+void crypt_pgp_invoke_getkeys(struct Address *addr);
/* Check for a traditional PGP message in body B. */
int crypt_pgp_check_traditional(FILE *fp, BODY *b, int tagged_only);
message. It returns NULL if any of the keys can not be found.
If oppenc_mode is true, only keys that can be determined without
prompting will be used. */
-char *crypt_pgp_findkeys(ADDRESS *adrlist, int oppenc_mode);
+char *crypt_pgp_findkeys(struct Address *adrlist, int oppenc_mode);
/* Create a new body with a PGP signed message from A. */
BODY *crypt_pgp_sign_message(BODY *a);
message. It returns NULL if any of the keys can not be found.
If oppenc_mode is true, only keys that can be determined without
prompting will be used. */
-char *crypt_smime_findkeys(ADDRESS *adrlist, int oppenc_mode);
+char *crypt_smime_findkeys(struct Address *adrlist, int oppenc_mode);
/* fixme: Needs documentation. */
BODY *crypt_smime_sign_message(BODY *a);
return 0;
}
-static int addr_is_local(ADDRESS *a)
+static int addr_is_local(struct Address *a)
{
return (a->intl_checked && !a->is_intl);
}
-static int addr_is_intl(ADDRESS *a)
+static int addr_is_intl(struct Address *a)
{
return (a->intl_checked && a->is_intl);
}
-static void set_local_mailbox(ADDRESS *a, char *local_mailbox)
+static void set_local_mailbox(struct Address *a, char *local_mailbox)
{
FREE(&a->mailbox);
a->mailbox = local_mailbox;
a->is_intl = false;
}
-static void set_intl_mailbox(ADDRESS *a, char *intl_mailbox)
+static void set_intl_mailbox(struct Address *a, char *intl_mailbox)
{
FREE(&a->mailbox);
a->mailbox = intl_mailbox;
/* higher level functions */
-int mutt_addrlist_to_intl(ADDRESS *a, char **err)
+int mutt_addrlist_to_intl(struct Address *a, char **err)
{
char *user = NULL, *domain = NULL;
char *intl_mailbox = NULL;
return rv;
}
-int mutt_addrlist_to_local(ADDRESS *a)
+int mutt_addrlist_to_local(struct Address *a)
{
char *user = NULL, *domain = NULL;
char *local_mailbox = NULL;
}
/* convert just for displaying purposes */
-const char *mutt_addr_for_display(ADDRESS *a)
+const char *mutt_addr_for_display(struct Address *a)
{
char *user = NULL, *domain = NULL;
static char *buff = NULL;
#endif /* HAVE_LIBIDN */
-int mutt_addrlist_to_intl(ADDRESS *a, char **err);
-int mutt_addrlist_to_local(ADDRESS *a);
+int mutt_addrlist_to_intl(struct Address *a, char **err);
+int mutt_addrlist_to_local(struct Address *a);
void mutt_env_to_local(ENVELOPE *e);
int mutt_env_to_intl(ENVELOPE *env, char **tag, char **err);
-const char *mutt_addr_for_display(ADDRESS *a);
+const char *mutt_addr_for_display(struct Address *a);
#endif /* _MUTT_IDNA_H */
case DT_ADDR:
{
char value[LONG_STRING] = "";
- rfc822_write_address(value, LONG_STRING, *((ADDRESS **) opt->data), 0);
+ rfc822_write_address(value, LONG_STRING, *((struct Address **) opt->data), 0);
lua_pushstring(l, value);
return 1;
}
case '@':
{
HEADER *h = NULL;
- ADDRESS *alias = NULL;
+ struct Address *alias = NULL;
if ((alias = mutt_lookup_alias(s + 1)))
{
return 0;
}
-void mutt_save_path(char *d, size_t dsize, ADDRESS *a)
+void mutt_save_path(char *d, size_t dsize, struct Address *a)
{
if (a && a->mailbox)
{
*d = 0;
}
-void mutt_safe_path(char *s, size_t l, ADDRESS *a)
+void mutt_safe_path(char *s, size_t l, struct Address *a)
{
char *p = NULL;
*/
MESSAGE *mx_open_new_message(CONTEXT *dest, HEADER *hdr, int flags)
{
- ADDRESS *p = NULL;
+ struct Address *p = NULL;
MESSAGE *msg = NULL;
if (!dest->mx_ops || !dest->mx_ops->open_new_msg)
return e;
}
-ADDRESS *mutt_parse_adrlist(ADDRESS *p, const char *s)
+struct Address *mutt_parse_adrlist(struct Address *p, const char *s)
{
const char *q = NULL;
static int match_adrlist(pattern_t *pat, int match_personal, int n, ...)
{
va_list ap;
- ADDRESS *a = NULL;
+ struct Address *a = NULL;
va_start(ap, n);
for (; n; n--)
{
- for (a = va_arg(ap, ADDRESS *); a; a = a->next)
+ for (a = va_arg(ap, struct Address *); a; a = a->next)
{
if (pat->alladdr ^ ((!pat->isalias || alias_reverse_lookup(a)) &&
((a->mailbox && !patmatch(pat, a->mailbox)) ||
/*
* Matches subscribed mailing lists
*/
-int mutt_is_list_recipient(int alladdr, ADDRESS *a1, ADDRESS *a2)
+int mutt_is_list_recipient(int alladdr, struct Address *a1, struct Address *a2)
{
for (; a1; a1 = a1->next)
if (alladdr ^ mutt_is_subscribed_list(a1))
* The function name may seem a little bit misleading: It checks all
* recipients in To and Cc for known mailing lists, subscribed or not.
*/
-int mutt_is_list_cc(int alladdr, ADDRESS *a1, ADDRESS *a2)
+int mutt_is_list_cc(int alladdr, struct Address *a1, struct Address *a2)
{
for (; a1; a1 = a1->next)
if (alladdr ^ mutt_is_mail_list(a1))
return alladdr;
}
-static int match_user(int alladdr, ADDRESS *a1, ADDRESS *a2)
+static int match_user(int alladdr, struct Address *a1, struct Address *a2)
{
for (; a1; a1 = a1->next)
if (alladdr ^ mutt_addr_is_user(a1))
* If oppenc_mode is true, only keys that can be determined without
* prompting will be used.
*/
-char *pgp_find_keys(ADDRESS *adrlist, int oppenc_mode)
+char *pgp_find_keys(struct Address *adrlist, int oppenc_mode)
{
LIST *crypt_hook_list = NULL, *crypt_hook = NULL;
char *keyID = NULL, *keylist = NULL;
size_t keylist_size = 0;
size_t keylist_used = 0;
- ADDRESS *addr = NULL;
- ADDRESS *p = NULL, *q = NULL;
+ struct Address *addr = NULL;
+ struct Address *p = NULL, *q = NULL;
pgp_key_t k_info = NULL;
char buf[LONG_STRING];
int r;
pgp_key_t pgp_ask_for_key(char *tag, char *whatfor, short abilities, pgp_ring_t keyring);
pgp_key_t pgp_get_candidates(pgp_ring_t keyring, LIST *hints);
-pgp_key_t pgp_getkeybyaddr(ADDRESS *a, short abilities, pgp_ring_t keyring, int oppenc_mode);
+pgp_key_t pgp_getkeybyaddr(struct Address *a, short abilities, pgp_ring_t keyring, int oppenc_mode);
pgp_key_t pgp_getkeybystr(char *p, short abilities, pgp_ring_t keyring);
-char *pgp_find_keys(ADDRESS *adrlist, int oppenc_mode);
+char *pgp_find_keys(struct Address *adrlist, int oppenc_mode);
int pgp_application_pgp_handler(BODY *m, STATE *s);
int pgp_encrypted_handler(BODY *a, STATE *s);
void pgp_invoke_import(const char *fname);
-void pgp_invoke_getkeys(ADDRESS *addr);
+void pgp_invoke_getkeys(struct Address *addr);
/* private ? */
mutt_system(cmd);
}
-void pgp_invoke_getkeys(ADDRESS *addr)
+void pgp_invoke_getkeys(struct Address *addr)
{
char buff[LONG_STRING];
char tmp[LONG_STRING];
#define PGP_KV_MATCH (PGP_KV_ADDR | PGP_KV_STRING)
-static int pgp_id_matches_addr(ADDRESS *addr, ADDRESS *u_addr, pgp_uid_t *uid)
+static int pgp_id_matches_addr(struct Address *addr, struct Address *u_addr, pgp_uid_t *uid)
{
int rv = 0;
return rv;
}
-static pgp_key_t pgp_select_key(pgp_key_t keys, ADDRESS *p, const char *s)
+static pgp_key_t pgp_select_key(pgp_key_t keys, struct Address *p, const char *s)
{
int keymax;
pgp_uid_t **KeyTable;
return NULL;
}
-pgp_key_t pgp_getkeybyaddr(ADDRESS *a, short abilities, pgp_ring_t keyring, int oppenc_mode)
+pgp_key_t pgp_getkeybyaddr(struct Address *a, short abilities, pgp_ring_t keyring, int oppenc_mode)
{
- ADDRESS *r = NULL, *p = NULL;
+ struct Address *r = NULL, *p = NULL;
LIST *hints = NULL;
int multi = 0;
char *mutt_extract_message_id(const char *s, const char **saveptr);
-ADDRESS *mutt_default_from(void);
-ADDRESS *mutt_get_address(ENVELOPE *env, char **pfxp);
-ADDRESS *mutt_lookup_alias(const char *s);
-ADDRESS *mutt_remove_duplicates(ADDRESS *addr);
-ADDRESS *mutt_remove_xrefs(ADDRESS *a, ADDRESS *b);
-ADDRESS *mutt_expand_aliases(ADDRESS *a);
-ADDRESS *mutt_parse_adrlist(ADDRESS *p, const char *s);
+struct Address *mutt_default_from(void);
+struct Address *mutt_get_address(ENVELOPE *env, char **pfxp);
+struct Address *mutt_lookup_alias(const char *s);
+struct Address *mutt_remove_duplicates(struct Address *addr);
+struct Address *mutt_remove_xrefs(struct Address *a, struct Address *b);
+struct Address *mutt_expand_aliases(struct Address *a);
+struct Address *mutt_parse_adrlist(struct Address *p, const char *s);
BODY *mutt_make_file_attach(const char *path);
BODY *mutt_make_message_attach(CONTEXT *ctx, HEADER *hdr, int attach_msg);
char *mutt_find_hook(int type, const char *pat);
char *mutt_gecos_name(char *dest, size_t destlen, struct passwd *pw);
char *mutt_get_body_charset(char *d, size_t dlen, BODY *b);
-const char *mutt_get_name(ADDRESS *a);
+const char *mutt_get_name(struct Address *a);
char *mutt_get_parameter(const char *s, PARAMETER *p);
-LIST *mutt_crypt_hook(ADDRESS *adr);
+LIST *mutt_crypt_hook(struct Address *adr);
char *mutt_make_date(char *s, size_t len);
void mutt_timeout_hook(void);
void mutt_startup_shutdown_hook(int type);
void mutt_block_signals(void);
void mutt_block_signals_system(void);
int mutt_body_handler(BODY *b, STATE *s);
-int mutt_bounce_message(FILE *fp, HEADER *h, ADDRESS *to);
+int mutt_bounce_message(FILE *fp, HEADER *h, struct Address *to);
void mutt_break_thread(HEADER *hdr);
void mutt_buffy(char *s, size_t slen);
int mutt_buffy_list(void);
void mutt_check_rescore(CONTEXT *ctx);
void mutt_clear_error(void);
void mutt_clear_pager_position(void);
-void mutt_create_alias(ENVELOPE *cur, ADDRESS *iadr);
+void mutt_create_alias(ENVELOPE *cur, struct Address *iadr);
void mutt_decode_attachment(BODY *b, STATE *s);
void mutt_decode_base64(STATE *s, long len, int istext, iconv_t cd);
void mutt_default_save(char *path, size_t pathlen, HEADER *hdr);
void mutt_print_message(HEADER *h);
void mutt_query_exit(void);
void mutt_query_menu(char *buf, size_t buflen);
-void mutt_safe_path(char *s, size_t l, ADDRESS *a);
-void mutt_save_path(char *d, size_t dsize, ADDRESS *a);
+void mutt_safe_path(char *s, size_t l, struct Address *a);
+void mutt_save_path(char *d, size_t dsize, struct Address *a);
void mutt_score_message(CONTEXT *ctx, HEADER *hdr, int upd_ctx);
void mutt_select_fcc(char *path, size_t pathlen, HEADER *hdr);
#define mutt_select_file(A, B, C) _mutt_select_file(A, B, C, NULL, NULL)
void mutt_update_encoding(BODY *a);
void mutt_version(void);
void mutt_view_attachments(HEADER *hdr);
-void mutt_write_address_list(ADDRESS *adr, FILE *fp, int linelen, int display);
+void mutt_write_address_list(struct Address *adr, FILE *fp, int linelen, int display);
void mutt_set_virtual(CONTEXT *ctx);
int mutt_add_to_rx_list(RX_LIST **list, const char *s, int flags, BUFFER *err);
-bool mutt_addr_is_user(ADDRESS *addr);
+bool mutt_addr_is_user(struct Address *addr);
int mutt_addwch(wchar_t wc);
int mutt_alias_complete(char *s, size_t buflen);
void mutt_alias_add_reverse(ALIAS *t);
int mutt_get_postponed(CONTEXT *ctx, HEADER *hdr, HEADER **cur, char *fcc, size_t fcclen);
int mutt_get_tmp_attachment(BODY *a);
int mutt_index_menu(void);
-int mutt_invoke_sendmail(ADDRESS *from, ADDRESS *to, ADDRESS *cc, ADDRESS *bcc,
+int mutt_invoke_sendmail(struct Address *from, struct Address *to, struct Address *cc, struct Address *bcc,
const char *msg, int eightbit);
-bool mutt_is_mail_list(ADDRESS *addr);
+bool mutt_is_mail_list(struct Address *addr);
bool mutt_is_message_type(int type, const char *subtype);
-int mutt_is_list_cc(int alladdr, ADDRESS *a1, ADDRESS *a2);
-int mutt_is_list_recipient(int alladdr, ADDRESS *a1, ADDRESS *a2);
-bool mutt_is_subscribed_list(ADDRESS *addr);
+int mutt_is_list_cc(int alladdr, struct Address *a1, struct Address *a2);
+int mutt_is_list_recipient(int alladdr, struct Address *a1, struct Address *a2);
+bool mutt_is_subscribed_list(struct Address *addr);
bool mutt_is_text_part(BODY *b);
int mutt_link_threads(HEADER *cur, HEADER *last, CONTEXT *ctx);
int mutt_lookup_mime_type(BODY *att, const char *path);
int mutt_save_message(HEADER *h, int delete, int decode, int decrypt);
int mutt_search_command(int cur, int op);
#ifdef USE_SMTP
-int mutt_smtp_send(const ADDRESS *from, const ADDRESS *to, const ADDRESS *cc,
- const ADDRESS *bcc, const char *msgfile, int eightbit);
+int mutt_smtp_send(const struct Address *from, const struct Address *to, const struct Address *cc,
+ const struct Address *bcc, const char *msgfile, int eightbit);
#endif
size_t mutt_wstr_trunc(const char *src, size_t maxlen, size_t maxwid, size_t *width);
uint64_t mutt_rand64(void);
-ADDRESS *alias_reverse_lookup(ADDRESS *a);
+struct Address *alias_reverse_lookup(struct Address *a);
/* base64.c */
size_t mutt_to_base64(char *out, const char *cin, size_t len, size_t olen);
typedef struct query
{
int num;
- ADDRESS *addr;
+ struct Address *addr;
char *name;
char *other;
struct query *next;
{ NULL, 0 },
};
-static ADDRESS *result_to_addr(QUERY *r)
+static struct Address *result_to_addr(QUERY *r)
{
- static ADDRESS *tmp = NULL;
+ static struct Address *tmp = NULL;
if (!(tmp = rfc822_cpy_adr(r->addr, 0)))
return NULL;
case OP_CREATE_ALIAS:
if (menu->tagprefix)
{
- ADDRESS *naddr = NULL;
+ struct Address *naddr = NULL;
for (i = 0; i < menu->max; i++)
if (QueryTable[i].tagged)
{
- ADDRESS *a = result_to_addr(QueryTable[i].data);
+ struct Address *a = result_to_addr(QueryTable[i].data);
rfc822_append(&naddr, a, 0);
rfc822_free_address(&a);
}
}
else
{
- ADDRESS *a = result_to_addr(QueryTable[menu->current].data);
+ struct Address *a = result_to_addr(QueryTable[menu->current].data);
mutt_create_alias(NULL, a);
rfc822_free_address(&a);
}
for (i = 0; i < menu->max; i++)
if (QueryTable[i].tagged)
{
- ADDRESS *a = result_to_addr(QueryTable[i].data);
+ struct Address *a = result_to_addr(QueryTable[i].data);
rfc822_append(&msg->env->to, a, 0);
rfc822_free_address(&a);
}
{
if (curpos == 0)
{
- ADDRESS *tmpa = result_to_addr(QueryTable[i].data);
+ struct Address *tmpa = result_to_addr(QueryTable[i].data);
mutt_addrlist_to_local(tmpa);
tagged = 1;
rfc822_write_address(buf, buflen, tmpa, 0);
}
else if (curpos + 2 < buflen)
{
- ADDRESS *tmpa = result_to_addr(QueryTable[i].data);
+ struct Address *tmpa = result_to_addr(QueryTable[i].data);
mutt_addrlist_to_local(tmpa);
strcat(buf, ", ");
rfc822_write_address((char *) buf + curpos + 1, buflen - curpos - 1, tmpa, 0);
/* then enter current message */
if (!tagged)
{
- ADDRESS *tmpa = result_to_addr(QueryTable[menu->current].data);
+ struct Address *tmpa = result_to_addr(QueryTable[menu->current].data);
mutt_addrlist_to_local(tmpa);
rfc822_write_address(buf, buflen, tmpa, 0);
rfc822_free_address(&tmpa);
int mutt_query_complete(char *buf, size_t buflen)
{
QUERY *results = NULL;
- ADDRESS *tmpa = NULL;
+ struct Address *tmpa = NULL;
if (!QueryCmd)
{
char prompt[STRING];
char buf[HUGE_STRING];
char *err = NULL;
- ADDRESS *adr = NULL;
+ struct Address *adr = NULL;
int ret = 0;
int p = 0;
{
const char *fqdn = NULL;
short need_hostname = 0;
- ADDRESS *p = NULL;
+ struct Address *p = NULL;
if (msg->env->cc || msg->env->bcc)
{
*pd = e;
}
-void rfc2047_encode_adrlist(ADDRESS *addr, const char *tag)
+void rfc2047_encode_adrlist(struct Address *addr, const char *tag)
{
- ADDRESS *ptr = addr;
+ struct Address *ptr = addr;
int col = tag ? strlen(tag) + 2 : 32;
while (ptr)
mutt_str_adjust(pd);
}
-void rfc2047_decode_adrlist(ADDRESS *a)
+void rfc2047_decode_adrlist(struct Address *a)
{
while (a)
{
int convert_nonmime_string(char **ps);
void _rfc2047_encode_string(char **pd, int encode_specials, int col);
-void rfc2047_encode_adrlist(ADDRESS *addr, const char *tag);
+void rfc2047_encode_adrlist(struct Address *addr, const char *tag);
#define rfc2047_encode_string(a) _rfc2047_encode_string(a, 0, 32);
void rfc2047_decode(char **pd);
-void rfc2047_decode_adrlist(ADDRESS *a);
+void rfc2047_decode_adrlist(struct Address *a);
#endif /* _MUTT_RFC2047_H */
*w = 0;
}
-static void free_address(ADDRESS *a)
+static void free_address(struct Address *a)
{
FREE(&a->personal);
FREE(&a->mailbox);
FREE(&a);
}
-int rfc822_remove_from_adrlist(ADDRESS **a, const char *mailbox)
+int rfc822_remove_from_adrlist(struct Address **a, const char *mailbox)
{
- ADDRESS *p = NULL, *last = NULL, *t = NULL;
+ struct Address *p = NULL, *last = NULL, *t = NULL;
int rv = -1;
p = *a;
return rv;
}
-void rfc822_free_address(ADDRESS **p)
+void rfc822_free_address(struct Address **p)
{
- ADDRESS *t = NULL;
+ struct Address *t = NULL;
while (*p)
{
static const char *parse_address(const char *s, char *token, size_t *tokenlen,
size_t tokenmax, char *comment, size_t *commentlen,
- size_t commentmax, ADDRESS *addr)
+ size_t commentmax, struct Address *addr)
{
s = parse_mailboxdomain(s, ".\"(\\", token, tokenlen, tokenmax, comment,
commentlen, commentmax);
}
static const char *parse_route_addr(const char *s, char *comment, size_t *commentlen,
- size_t commentmax, ADDRESS *addr)
+ size_t commentmax, struct Address *addr)
{
char token[LONG_STRING];
size_t tokenlen = 0;
}
static const char *parse_addr_spec(const char *s, char *comment, size_t *commentlen,
- size_t commentmax, ADDRESS *addr)
+ size_t commentmax, struct Address *addr)
{
char token[LONG_STRING];
size_t tokenlen = 0;
return s;
}
-static void add_addrspec(ADDRESS **top, ADDRESS **last, const char *phrase,
+static void add_addrspec(struct Address **top, struct Address **last, const char *phrase,
char *comment, size_t *commentlen, size_t commentmax)
{
- ADDRESS *cur = rfc822_new_address();
+ struct Address *cur = rfc822_new_address();
if (parse_addr_spec(phrase, comment, commentlen, commentmax, cur) == NULL)
{
*last = cur;
}
-ADDRESS *rfc822_parse_adrlist(ADDRESS *top, const char *s)
+struct Address *rfc822_parse_adrlist(struct Address *top, const char *s)
{
int ws_pending, nl;
#ifdef EXACT_ADDRESS
const char *ps = NULL;
char comment[LONG_STRING], phrase[LONG_STRING];
size_t phraselen = 0, commentlen = 0;
- ADDRESS *cur = NULL, *last = NULL;
+ struct Address *cur = NULL, *last = NULL;
RFC822Error = 0;
return top;
}
-void rfc822_qualify(ADDRESS *addr, const char *host)
+void rfc822_qualify(struct Address *addr, const char *host)
{
char *p = NULL;
strfcpy(buf, value, buflen);
}
-void rfc822_write_address_single(char *buf, size_t buflen, ADDRESS *addr, int display)
+void rfc822_write_address_single(char *buf, size_t buflen, struct Address *addr, int display)
{
size_t len;
char *pbuf = buf;
}
/* note: it is assumed that `buf' is nul terminated! */
-int rfc822_write_address(char *buf, size_t buflen, ADDRESS *addr, int display)
+int rfc822_write_address(char *buf, size_t buflen, struct Address *addr, int display)
{
char *pbuf = buf;
size_t len = mutt_strlen(buf);
}
/* this should be rfc822_cpy_adr */
-ADDRESS *rfc822_cpy_adr_real(ADDRESS *addr)
+struct Address *rfc822_cpy_adr_real(struct Address *addr)
{
- ADDRESS *p = rfc822_new_address();
+ struct Address *p = rfc822_new_address();
#ifdef EXACT_ADDRESS
p->val = safe_strdup(addr->val);
}
/* this should be rfc822_cpy_adrlist */
-ADDRESS *rfc822_cpy_adr(ADDRESS *addr, int prune)
+struct Address *rfc822_cpy_adr(struct Address *addr, int prune)
{
- ADDRESS *top = NULL, *last = NULL;
+ struct Address *top = NULL, *last = NULL;
for (; addr; addr = addr->next)
{
}
/* append list 'b' to list 'a' and return the last element in the new list */
-ADDRESS *rfc822_append(ADDRESS **a, ADDRESS *b, int prune)
+struct Address *rfc822_append(struct Address **a, struct Address *b, int prune)
{
- ADDRESS *tmp = *a;
+ struct Address *tmp = *a;
while (tmp && tmp->next)
tmp = tmp->next;
int main(int argc, char **argv)
{
- ADDRESS *list = NULL;
+ struct Address *list = NULL;
char buf[256];
char *str = "a b c ";
ERR_BAD_ADDR_SPEC
};
-typedef struct address_t
+struct Address
{
#ifdef EXACT_ADDRESS
char *val; /* value of address as parsed */
char *personal; /* real name of address */
char *mailbox; /* mailbox and host address */
int group; /* group mailbox? */
- struct address_t *next;
+ struct Address *next;
bool is_intl : 1;
bool intl_checked : 1;
-} ADDRESS;
+};
void rfc822_dequote_comment(char *s);
-void rfc822_free_address(ADDRESS **p);
-void rfc822_qualify(ADDRESS *addr, const char *host);
-ADDRESS *rfc822_parse_adrlist(ADDRESS *top, const char *s);
-ADDRESS *rfc822_cpy_adr(ADDRESS *addr, int prune);
-ADDRESS *rfc822_cpy_adr_real(ADDRESS *addr);
-ADDRESS *rfc822_append(ADDRESS **a, ADDRESS *b, int prune);
-int rfc822_write_address(char *buf, size_t buflen, ADDRESS *addr, int display);
-void rfc822_write_address_single(char *buf, size_t buflen, ADDRESS *addr, int display);
-void rfc822_free_address(ADDRESS **p);
+void rfc822_free_address(struct Address **p);
+void rfc822_qualify(struct Address *addr, const char *host);
+struct Address *rfc822_parse_adrlist(struct Address *top, const char *s);
+struct Address *rfc822_cpy_adr(struct Address *addr, int prune);
+struct Address *rfc822_cpy_adr_real(struct Address *addr);
+struct Address *rfc822_append(struct Address **a, struct Address *b, int prune);
+int rfc822_write_address(char *buf, size_t buflen, struct Address *addr, int display);
+void rfc822_write_address_single(char *buf, size_t buflen, struct Address *addr, int display);
+void rfc822_free_address(struct Address **p);
void rfc822_cat(char *buf, size_t buflen, const char *value, const char *specials);
bool rfc822_valid_msgid(const char *msgid);
-int rfc822_remove_from_adrlist(ADDRESS **a, const char *mailbox);
+int rfc822_remove_from_adrlist(struct Address **a, const char *mailbox);
extern int RFC822Error;
extern const char *const RFC822Errors[];
#define rfc822_error(x) RFC822Errors[x]
-static inline ADDRESS *rfc822_new_address(void)
+static inline struct Address *rfc822_new_address(void)
{
- return safe_calloc(1, sizeof(ADDRESS));
+ return safe_calloc(1, sizeof(struct Address));
}
#endif /* _MUTT_RFC822_H */
}
/* compare two e-mail addresses and return 1 if they are equivalent */
-static bool addrcmp(ADDRESS *a, ADDRESS *b)
+static bool addrcmp(struct Address *a, struct Address *b)
{
if (!a->mailbox || !b->mailbox)
return false;
}
/* search an e-mail address in a list */
-static int addrsrc(ADDRESS *a, ADDRESS *lst)
+static int addrsrc(struct Address *a, struct Address *lst)
{
for (; lst; lst = lst->next)
{
}
/* removes addresses from "b" which are contained in "a" */
-ADDRESS *mutt_remove_xrefs(ADDRESS *a, ADDRESS *b)
+struct Address *mutt_remove_xrefs(struct Address *a, struct Address *b)
{
- ADDRESS *top = NULL, *p = NULL, *prev = NULL;
+ struct Address *top = NULL, *p = NULL, *prev = NULL;
top = b;
while (b)
/* remove any address which matches the current user. if `leave_only' is
* nonzero, don't remove the user's address if it is the only one in the list
*/
-static ADDRESS *remove_user(ADDRESS *a, int leave_only)
+static struct Address *remove_user(struct Address *a, int leave_only)
{
- ADDRESS *top = NULL, *last = NULL;
+ struct Address *top = NULL, *last = NULL;
while (a)
{
}
else
{
- ADDRESS *tmp = a;
+ struct Address *tmp = a;
a = a->next;
if (!leave_only || a || last)
return top;
}
-static ADDRESS *find_mailing_lists(ADDRESS *t, ADDRESS *c)
+static struct Address *find_mailing_lists(struct Address *t, struct Address *c)
{
- ADDRESS *top = NULL, *ptr = NULL;
+ struct Address *top = NULL, *ptr = NULL;
for (; t || c; t = c, c = NULL)
{
return top;
}
-static int edit_address(ADDRESS **a, /* const */ char *field)
+static int edit_address(struct Address **a, /* const */ char *field)
{
char buf[HUGE_STRING];
char *err = NULL;
return 0;
}
-static int default_to(ADDRESS **to, ENVELOPE *env, int flags, int hmfupto)
+static int default_to(struct Address **to, ENVELOPE *env, int flags, int hmfupto)
{
char prompt[STRING];
int mutt_fetch_recips(ENVELOPE *out, ENVELOPE *in, int flags)
{
char prompt[STRING];
- ADDRESS *tmp = NULL;
+ struct Address *tmp = NULL;
int hmfupto = -1;
if ((flags & (SENDLISTREPLY | SENDGROUPREPLY)) && in->mail_followup_to)
void mutt_set_followup_to(ENVELOPE *e)
{
- ADDRESS *t = NULL;
- ADDRESS *from = NULL;
+ struct Address *t = NULL;
+ struct Address *from = NULL;
/*
* Only generate the Mail-Followup-To if the user has requested it, and
/* look through the recipients of the message we are replying to, and if
we find an address that matches $alternates, we use that as the default
from field */
-static ADDRESS *set_reverse_name(ENVELOPE *env)
+static struct Address *set_reverse_name(ENVELOPE *env)
{
- ADDRESS *tmp = NULL;
+ struct Address *tmp = NULL;
for (tmp = env->to; tmp; tmp = tmp->next)
{
return tmp;
}
-ADDRESS *mutt_default_from(void)
+struct Address *mutt_default_from(void)
{
- ADDRESS *adr = NULL;
+ struct Address *adr = NULL;
const char *fqdn = mutt_fqdn(1);
/*
mutt_find_list(orig->env->in_reply_to, reply->env->message_id);
}
-static int has_recips(ADDRESS *a)
+static int has_recips(struct Address *a)
{
int c = 0;
/* wrapper around mutt_write_address() so we can handle very large
recipient lists without needing a huge temporary buffer in memory */
-void mutt_write_address_list(ADDRESS *adr, FILE *fp, int linelen, int display)
+void mutt_write_address_list(struct Address *adr, FILE *fp, int linelen, int display)
{
- ADDRESS *tmp = NULL;
+ struct Address *tmp = NULL;
char buf[LONG_STRING];
int count = 0;
int len;
return st;
}
-static char **add_args(char **args, size_t *argslen, size_t *argsmax, ADDRESS *addr)
+static char **add_args(char **args, size_t *argslen, size_t *argsmax, struct Address *addr)
{
for (; addr; addr = addr->next)
{
return args;
}
-int mutt_invoke_sendmail(ADDRESS *from, /* the sender */
- ADDRESS *to, ADDRESS *cc, ADDRESS *bcc, /* recips */
+int mutt_invoke_sendmail(struct Address *from, /* the sender */
+ struct Address *to, struct Address *cc, struct Address *bcc, /* recips */
const char *msg, /* file containing message */
int eightbit) /* message contains 8bit chars */
{
rfc2047_decode(&env->subject);
}
-static int _mutt_bounce_message(FILE *fp, HEADER *h, ADDRESS *to,
- const char *resent_from, ADDRESS *env_from)
+static int _mutt_bounce_message(FILE *fp, HEADER *h, struct Address *to,
+ const char *resent_from, struct Address *env_from)
{
int i, ret = 0;
FILE *f = NULL;
return ret;
}
-int mutt_bounce_message(FILE *fp, HEADER *h, ADDRESS *to)
+int mutt_bounce_message(FILE *fp, HEADER *h, struct Address *to)
{
- ADDRESS *from = NULL, *resent_to = NULL;
+ struct Address *from = NULL, *resent_to = NULL;
const char *fqdn = mutt_fqdn(1);
char resent_from[STRING];
int ret;
/* given a list of addresses, return a list of unique addresses */
-ADDRESS *mutt_remove_duplicates(ADDRESS *addr)
+struct Address *mutt_remove_duplicates(struct Address *addr)
{
- ADDRESS *top = addr;
- ADDRESS **last = ⊤
- ADDRESS *tmp = NULL;
+ struct Address *top = addr;
+ struct Address **last = ⊤
+ struct Address *tmp = NULL;
int dup;
while (addr)
void smime_getkeys(ENVELOPE *env)
{
- ADDRESS *t = NULL;
+ struct Address *t = NULL;
int found = 0;
if (option(OPTSDEFAULTDECRYPTKEY) && SmimeDefaultKey && *SmimeDefaultKey)
* If oppenc_mode is true, only keys that can be determined without
* prompting will be used.
*/
-char *smime_find_keys(ADDRESS *adrlist, int oppenc_mode)
+char *smime_find_keys(struct Address *adrlist, int oppenc_mode)
{
smime_key_t *key = NULL;
char *keyID = NULL, *keylist = NULL;
size_t keylist_size = 0;
size_t keylist_used = 0;
- ADDRESS *p = NULL, *q = NULL;
+ struct Address *p = NULL, *q = NULL;
for (p = adrlist; p; p = p->next)
{
void smime_getkeys(ENVELOPE *env);
-char *smime_find_keys(ADDRESS *adrlist, int oppenc_mode);
+char *smime_find_keys(struct Address *adrlist, int oppenc_mode);
void smime_invoke_import(char *infile, char *mailbox);
return -1;
}
-static int smtp_rcpt_to(CONNECTION *conn, const ADDRESS *a)
+static int smtp_rcpt_to(CONNECTION *conn, const struct Address *a)
{
char buf[1024];
int r;
/* Returns 1 if any address in a contains at least one 8-bit
* character, 0 if none do.
*/
-static bool addresses_use_unicode(const ADDRESS *a)
+static bool addresses_use_unicode(const struct Address *a)
{
while (a)
{
return 0;
}
-int mutt_smtp_send(const ADDRESS *from, const ADDRESS *to, const ADDRESS *cc,
- const ADDRESS *bcc, const char *msgfile, int eightbit)
+int mutt_smtp_send(const struct Address *from, const struct Address *to, const struct Address *cc,
+ const struct Address *bcc, const char *msgfile, int eightbit)
{
CONNECTION *conn = NULL;
struct Account account;
return (SORTCODE(rc));
}
-const char *mutt_get_name(ADDRESS *a)
+const char *mutt_get_name(struct Address *a)
{
- ADDRESS *ali = NULL;
+ struct Address *ali = NULL;
if (a)
{