NeoMutt  2025-12-11-236-g400a5f
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
maillist.c
Go to the documentation of this file.
1
23
29
30#include "config.h"
31#include <stdbool.h>
32#include <stdio.h>
33#include "mutt/lib.h"
34#include "email/lib.h"
35#include "maillist.h"
36#include "address.h"
37#include "muttlib.h"
38
44bool mutt_is_mail_list(const struct Address *addr)
45{
48 return false;
49}
50
56bool mutt_is_subscribed_list(const struct Address *addr)
57{
60 {
62 }
63 return false;
64}
65
78bool check_for_mailing_list(struct AddressList *al, const char *pfx, char *buf, int buflen)
79{
80 struct Address *a = NULL;
81 TAILQ_FOREACH(a, al, entries)
82 {
84 {
85 if (pfx && buf && buflen)
86 snprintf(buf, buflen, "%s%s", pfx, mutt_get_name(a));
87 return true;
88 }
89 }
90 return false;
91}
92
102bool check_for_mailing_list_addr(struct AddressList *al, char *buf, int buflen)
103{
104 struct Address *a = NULL;
105 TAILQ_FOREACH(a, al, entries)
106 {
108 {
109 if (buf && buflen)
110 snprintf(buf, buflen, "%s", buf_string(a->mailbox));
111 return true;
112 }
113 }
114 return false;
115}
116
123bool first_mailing_list(struct AddressList *al, struct Buffer *buf)
124{
125 struct Address *a = NULL;
126 TAILQ_FOREACH(a, al, entries)
127 {
129 {
130 generate_save_path(buf, a);
131 return true;
132 }
133 }
134 return false;
135}
Representation of an email address.
static const char * buf_string(const struct Buffer *buf)
Convert a buffer to a const char * "string".
Definition buffer.h:96
struct RegexList SubscribedLists
List of header patterns to unignore (see)
Definition globals.c:48
struct RegexList UnSubscribedLists
Definition globals.c:54
struct RegexList UnMailLists
List of regexes to exclude false matches in SubscribedLists.
Definition globals.c:52
struct RegexList MailLists
List of permitted fields in a mailto: url.
Definition globals.c:40
Structs that make up an email.
const char * mutt_get_name(const struct Address *a)
Pick the best name to display from an address.
Definition sort.c:138
bool mutt_is_mail_list(const struct Address *addr)
Is this the email address of a mailing list?
Definition maillist.c:44
bool mutt_is_subscribed_list(const struct Address *addr)
Is this the email address of a user-subscribed mailing list?
Definition maillist.c:56
bool check_for_mailing_list(struct AddressList *al, const char *pfx, char *buf, int buflen)
Search list of addresses for a mailing list.
Definition maillist.c:78
bool check_for_mailing_list_addr(struct AddressList *al, char *buf, int buflen)
Check an address list for a mailing list.
Definition maillist.c:102
bool first_mailing_list(struct AddressList *al, struct Buffer *buf)
Get the first mailing list in the list of addresses.
Definition maillist.c:123
Handle mailing lists.
Convenience wrapper for the library headers.
bool mutt_regexlist_match(struct RegexList *rl, const char *str)
Does a string match any Regex in the list?
Definition regex.c:200
void generate_save_path(struct Buffer *dest, const struct Address *a)
Make a safe filename from an email address.
Definition muttlib.c:607
Some miscellaneous functions.
#define TAILQ_FOREACH(var, head, field)
Definition queue.h:782
An email address.
Definition address.h:35
struct Buffer * mailbox
Mailbox and host address.
Definition address.h:37
String manipulation buffer.
Definition buffer.h:36