NeoMutt
2024-11-14-34-g5aaf0d
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
autocrypt_data.c
Go to the documentation of this file.
1
29
#include "config.h"
30
#include <stddef.h>
31
#include "
address/lib.h
"
32
#include "
autocrypt_data.h
"
33
38
struct
AutocryptData
*
autocrypt_data_new
(
void
)
39
{
40
struct
AutocryptData
*ad =
MUTT_MEM_CALLOC
(1,
struct
AutocryptData
);
41
42
ARRAY_INIT
(&ad->
entries
);
43
44
return
ad;
45
}
46
53
void
account_entry_array_clear
(
struct
AccountEntryArray *
entries
)
54
{
55
struct
AccountEntry
**pe = NULL;
56
ARRAY_FOREACH
(pe, entries)
57
{
58
struct
AccountEntry
*e = *pe;
59
mutt_autocrypt_db_account_free
(&e->
account
);
60
mutt_addr_free
(&e->
addr
);
61
FREE
(pe);
62
}
63
64
ARRAY_FREE
(entries);
65
}
66
70
void
autocrypt_data_free
(
struct
Menu
*menu,
void
**ptr)
71
{
72
if
(!ptr || !*ptr)
73
return
;
74
75
struct
AutocryptData
*ad = *ptr;
76
account_entry_array_clear
(&ad->
entries
);
77
78
FREE
(ptr);
79
}
mutt_addr_free
void mutt_addr_free(struct Address **ptr)
Free a single Address.
Definition:
address.c:462
lib.h
Email Address Handling.
ARRAY_FOREACH
#define ARRAY_FOREACH(elem, head)
Iterate over all elements of the array.
Definition:
array.h:212
ARRAY_FREE
#define ARRAY_FREE(head)
Release all memory.
Definition:
array.h:204
ARRAY_INIT
#define ARRAY_INIT(head)
Initialize an array.
Definition:
array.h:65
mutt_autocrypt_db_account_free
void mutt_autocrypt_db_account_free(struct AutocryptAccount **ptr)
Free an AutocryptAccount.
Definition:
db.c:246
autocrypt_data_new
struct AutocryptData * autocrypt_data_new(void)
Create new Autocrypt Data.
Definition:
autocrypt_data.c:38
account_entry_array_clear
void account_entry_array_clear(struct AccountEntryArray *entries)
Clear an AccountEntry array.
Definition:
autocrypt_data.c:53
autocrypt_data.h
Private Autocrypt Data.
autocrypt_data_free
void autocrypt_data_free(struct Menu *menu, void **ptr)
Free Autocrypt Data - Implements Menu::mdata_free() -.
Definition:
autocrypt_data.c:70
FREE
#define FREE(x)
Definition:
memory.h:55
MUTT_MEM_CALLOC
#define MUTT_MEM_CALLOC(n, type)
Definition:
memory.h:40
AccountEntry
An entry in the Autocrypt account Menu.
Definition:
private.h:47
AccountEntry::addr
struct Address * addr
Email address associated with the account.
Definition:
private.h:50
AccountEntry::account
struct AutocryptAccount * account
Account details.
Definition:
private.h:49
AutocryptData
Data to pass to the Autocrypt Functions.
Definition:
autocrypt_data.h:36
AutocryptData::entries
struct AccountEntryArray entries
Account Entries.
Definition:
autocrypt_data.h:39
Menu
Definition:
lib.h:79