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
39{
40 struct AutocryptData *ad = MUTT_MEM_CALLOC(1, struct AutocryptData);
41
42 ARRAY_INIT(&ad->entries);
43
44 return ad;
45}
46
53void account_entry_array_clear(struct AccountEntryArray *entries)
54{
55 struct AccountEntry **pe = NULL;
56 ARRAY_FOREACH(pe, entries)
57 {
58 struct AccountEntry *e = *pe;
61 FREE(pe);
62 }
63
64 ARRAY_FREE(entries);
65}
66
70void autocrypt_data_free(struct Menu *menu, void **ptr)
71{
72 if (!ptr || !*ptr)
73 return;
74
75 struct AutocryptData *ad = *ptr;
77
78 FREE(ptr);
79}
void mutt_addr_free(struct Address **ptr)
Free a single Address.
Definition: address.c:462
Email Address Handling.
#define ARRAY_FOREACH(elem, head)
Iterate over all elements of the array.
Definition: array.h:212
#define ARRAY_FREE(head)
Release all memory.
Definition: array.h:204
#define ARRAY_INIT(head)
Initialize an array.
Definition: array.h:65
void mutt_autocrypt_db_account_free(struct AutocryptAccount **ptr)
Free an AutocryptAccount.
Definition: db.c:246
struct AutocryptData * autocrypt_data_new(void)
Create new Autocrypt Data.
void account_entry_array_clear(struct AccountEntryArray *entries)
Clear an AccountEntry array.
Private Autocrypt Data.
void autocrypt_data_free(struct Menu *menu, void **ptr)
Free Autocrypt Data - Implements Menu::mdata_free() -.
#define FREE(x)
Definition: memory.h:55
#define MUTT_MEM_CALLOC(n, type)
Definition: memory.h:40
An entry in the Autocrypt account Menu.
Definition: private.h:47
struct Address * addr
Email address associated with the account.
Definition: private.h:50
struct AutocryptAccount * account
Account details.
Definition: private.h:49
Data to pass to the Autocrypt Functions.
struct AccountEntryArray entries
Account Entries.
Definition: lib.h:79