[neomutt-devel] New Config Design 3
Richard Russon
rich at flatcap.org
Wed Aug 23 12:18:55 CEST 2017
Part 2 - Address
This takes a fictional Config item "$home_address"
NeoMutt defines the Address Type: DT_ADDR which is backed by a struct
Address pointer.
The 'foo' module registers its variable:
{ "home_address", DT_ADDR, &HomeAddr, "jim at example.com", NULL },
NeoMutt will set the HomeAddr Variable.
* 'home_address' has type DT_NUM
* Lookup 'DT_NUM' in the Type definitions
* Delegate parsing to the "Address" Type
Address Type:
* Allocate a new struct Address
* Parse the string into:
- Real name
- Email address
On success:
* Free the old value of HomeAddr
* Store the new value into HomeAddr
* Notify the Listeners
On failure:
* Free the temporary Address
* Notify the user
This variable doesn't have a validator function.
---
Part 2b - NULL
Some Types will allow an empty value to be set.
By default, NeoMutt stores empty strings as NULL.
Setting an Address Type to an empty string will release the old address and
set HomeAddr to NULL.
---
Rich / FlatCap
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://mailman.neomutt.org/pipermail/neomutt-devel-neomutt.org/attachments/20170823/1dddb9ff/attachment.sig>
More information about the neomutt-devel
mailing list