NeoMutt  2022-04-29-81-g9c5a59
Teaching an old dog new tricks
adata.c File Reference

Nntp-specific Account data. More...

#include "config.h"
#include "private.h"
#include "mutt/lib.h"
#include "adata.h"
+ Include dependency graph for adata.c:

Go to the source code of this file.


void nntp_adata_free (void **ptr)
 Free the private Account data - Implements Account::adata_free() More...
struct NntpAccountDatanntp_adata_new (struct Connection *conn)
 Allocate and initialise a new NntpAccountData structure. More...

Detailed Description

Nntp-specific Account data.

  • Richard Russon

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

Definition in file adata.c.

Function Documentation

◆ nntp_adata_free()

void nntp_adata_free ( void **  ptr)

Free the private Account data - Implements Account::adata_free()

The NntpAccountData struct stores global NNTP data, such as the connection to the database. This function will close the database, free the resources and the struct itself.

Definition at line 43 of file adata.c.

44 {
45  struct NntpAccountData *adata = *ptr;
47  mutt_file_fclose(&adata->fp_newsrc);
48  FREE(&adata->newsrc_file);
49  FREE(&adata->authenticators);
50  FREE(&adata->overview_fmt);
51  FREE(&adata->conn);
52  FREE(&adata->groups_list);
53  mutt_hash_free(&adata->groups_hash);
54  FREE(ptr);
55 }
int mutt_file_fclose(FILE **fp)
Close a FILE handle (and NULL the pointer)
Definition: file.c:152
void mutt_hash_free(struct HashTable **ptr)
Free a hash table.
Definition: hash.c:457
#define FREE(x)
Definition: memory.h:40
void * adata
Private data (for Mailbox backends)
Definition: account.h:43
NNTP-specific Account data -.
Definition: adata.h:37
+ Here is the call graph for this function:

◆ nntp_adata_new()

struct NntpAccountData* nntp_adata_new ( struct Connection conn)

Allocate and initialise a new NntpAccountData structure.

connNetwork connection
Return values
ptrNew NntpAccountData

Definition at line 62 of file adata.c.

63 {
64  struct NntpAccountData *adata = mutt_mem_calloc(1, sizeof(struct NntpAccountData));
65  adata->conn = conn;
66  adata->groups_hash = mutt_hash_new(1009, MUTT_HASH_NO_FLAGS);
68  adata->groups_max = 16;
69  adata->groups_list = mutt_mem_malloc(adata->groups_max * sizeof(struct NntpMboxData *));
70  return adata;
71 }
void nntp_hashelem_free(int type, void *obj, intptr_t data)
Free our hash table data - Implements hash_hdata_free_t -.
Definition: nntp.c:116
struct HashTable * mutt_hash_new(size_t num_elems, HashFlags flags)
Create a new Hash Table (with string keys)
Definition: hash.c:259
void mutt_hash_set_destructor(struct HashTable *table, hash_hdata_free_t fn, intptr_t fn_data)
Set the destructor for a Hash Table.
Definition: hash.c:301
No flags are set.
Definition: hash.h:109
void * mutt_mem_malloc(size_t size)
Allocate memory on the heap.
Definition: memory.c:90
void * mutt_mem_calloc(size_t nmemb, size_t size)
Allocate zeroed memory on the heap.
Definition: memory.c:50
struct Connection * conn
Connection to NNTP Server.
Definition: adata.h:63
NNTP-specific Mailbox data -.
Definition: mdata.h:33
+ Here is the call graph for this function:
+ Here is the caller graph for this function: