X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=query.c;h=398f3b4b9390d4210ee3aca1ceef3f97dc703087;hp=1e1937d685ac74cd8921082e26c5f00d04024609;hb=61fec8f6b3bff64d96d016a14729ab1ea2c4a2e8;hpb=9274cbe8e6410ddb95ddc667faa678a29da85420 diff --git a/query.c b/query.c index 1e1937d..398f3b4 100644 --- a/query.c +++ b/query.c @@ -14,11 +14,12 @@ #include #include #include +#include +#include #include "mutt.h" #include "mutt_menu.h" #include "mutt_idna.h" -#include "mapping.h" #include "sort.h" #include "lib/debug.h" @@ -28,7 +29,7 @@ #include typedef struct query { - ADDRESS *addr; + address_t *addr; char *name; char *other; struct query *next; @@ -56,11 +57,11 @@ static int SecondColumn; 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); @@ -208,7 +209,7 @@ static int query_tag (MUTTMENU * menu, int n, int m) 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."); @@ -224,7 +225,7 @@ int mutt_query_complete (char *buf, size_t buflen) 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); } @@ -309,7 +310,7 @@ static void query_menu (char *buf, size_t buflen, QUERY * results, int retbuf) 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; @@ -375,23 +376,20 @@ static void query_menu (char *buf, size_t buflen, QUERY * results, int retbuf) 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; @@ -411,10 +409,7 @@ static void query_menu (char *buf, size_t buflen, QUERY * results, int retbuf) 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); @@ -438,40 +433,40 @@ static void query_menu (char *buf, size_t buflen, QUERY * results, int retbuf) 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;