#include <ctype.h>
typedef struct query {
- ADDRESS *addr;
+ address_t *addr;
char *name;
char *other;
struct query *next;
static void query_menu (char *buf, size_t buflen, QUERY * results,
int retbuf);
-static ADDRESS *result_to_addr (QUERY * r)
+static address_t *result_to_addr (QUERY * r)
{
- static ADDRESS *tmp;
+ static address_t *tmp;
- tmp = rfc822_cpy_adr (r->addr);
+ tmp = address_list_dup (r->addr);
if (!tmp->next && !tmp->personal)
tmp->personal = m_strdup(r->name);
int mutt_query_complete (char *buf, size_t buflen)
{
QUERY *results = NULL;
- ADDRESS *tmpa;
+ address_t *tmpa;
if (!QueryCmd) {
mutt_error _("Query command not defined.");
mutt_addrlist_to_local (tmpa);
buf[0] = '\0';
rfc822_write_address (buf, buflen, tmpa, 0);
- rfc822_free_address (&tmpa);
+ address_delete (&tmpa);
mutt_clear_error ();
return (0);
}
if (op == OP_QUERY) {
queryp = results;
while (queryp) {
- rfc822_free_address (&queryp->addr);
+ address_delete (&queryp->addr);
p_delete(&queryp->name);
p_delete(&queryp->other);
results = queryp->next;
case OP_CREATE_ALIAS:
if (menu->tagprefix) {
- ADDRESS *naddr = NULL;
+ address_t *naddr = NULL;
for (i = 0; i < menu->max; i++)
if (QueryTable[i].tagged) {
- ADDRESS *a = result_to_addr (QueryTable[i].data);
-
- rfc822_append (&naddr, a);
- rfc822_free_address (&a);
+ address_list_append(&naddr, result_to_addr(QueryTable[i].data));
}
mutt_create_alias (NULL, naddr);
}
else {
- ADDRESS *a = result_to_addr (QueryTable[menu->current].data);
+ address_t *a = result_to_addr (QueryTable[menu->current].data);
mutt_create_alias (NULL, a);
- rfc822_free_address (&a);
+ address_delete (&a);
}
break;
else {
for (i = 0; i < menu->max; i++)
if (QueryTable[i].tagged) {
- ADDRESS *a = result_to_addr (QueryTable[i].data);
-
- rfc822_append (&msg->env->to, a);
- rfc822_free_address (&a);
+ address_list_append(&msg->env->to, result_to_addr(QueryTable[i].data));
}
}
ci_send_message (0, msg, NULL, Context, NULL);
for (i = 0; i < menu->max; i++) {
if (QueryTable[i].tagged) {
if (curpos == 0) {
- ADDRESS *tmpa = result_to_addr (QueryTable[i].data);
+ address_t *tmpa = result_to_addr (QueryTable[i].data);
mutt_addrlist_to_local (tmpa);
tagged = 1;
rfc822_write_address (buf, buflen, tmpa, 0);
curpos = m_strlen(buf);
- rfc822_free_address (&tmpa);
+ address_delete (&tmpa);
}
else if (curpos + 2 < buflen) {
- ADDRESS *tmpa = result_to_addr (QueryTable[i].data);
+ address_t *tmpa = result_to_addr (QueryTable[i].data);
mutt_addrlist_to_local (tmpa);
strcat (buf, ", "); /* __STRCAT_CHECKED__ */
rfc822_write_address ((char *) buf + curpos + 1,
buflen - curpos - 1, tmpa, 0);
curpos = m_strlen(buf);
- rfc822_free_address (&tmpa);
+ address_delete (&tmpa);
}
}
}
/* then enter current message */
if (!tagged) {
- ADDRESS *tmpa = result_to_addr (QueryTable[menu->current].data);
+ address_t *tmpa = result_to_addr (QueryTable[menu->current].data);
mutt_addrlist_to_local (tmpa);
rfc822_write_address (buf, buflen, tmpa, 0);
- rfc822_free_address (&tmpa);
+ address_delete (&tmpa);
}
}
queryp = results;
while (queryp) {
- rfc822_free_address (&queryp->addr);
+ address_delete (&queryp->addr);
p_delete(&queryp->name);
p_delete(&queryp->other);
results = queryp->next;