]> granicus.if.org Git - neomutt/commit
Fix several alias hashtable issues.
authorKevin McCarthy <kevin@8t8.us>
Wed, 18 Jan 2017 00:09:16 +0000 (16:09 -0800)
committerRichard Russon <rich@flatcap.org>
Fri, 10 Feb 2017 03:32:55 +0000 (03:32 +0000)
commitfdd76ef3d6992539ef0e7d391ff37d3e0fd47fbb
tree19d4375d1d0fad24cc8cc08463138ba86c1c7fba
parentbb2207048575f11637b495e7a5c5ab05537cf10e
Fix several alias hashtable issues.

Convert to use the strdup keys hash.  Addresses can be converted back
and forth from intl to local forms.  This frees and recreates a new
addr->mailbox string, resulting in the hash table key being a dangling
pointer.

Change alias hash table insert/remove to ensure the address is in intl
form.  The alias menu (previously) converted address entries to local
form when performing a completion.  Even with the pointer issue fixed,
the entries may not be removed from the hash if the intl and local
forms are different.

Lastly, there is no reason for the alias menu to manually convert to
local form before writing the address to the output buffer.
rfc822_write_address() has a display parameter that will call
mutt_addr_for_display() instead when set.  Change to set the display
parameter and remove the conversion calls.

This last change obviates the first two changes, but they are a good idea
in any case.
addrbook.c
alias.c
init.c