Prototype for a function to handle POP server responses.
More...
Prototype for a function to handle POP server responses.
- Parameters
-
- Return values
-
◆ fetch_capa()
static int fetch_capa |
( |
const char * |
line, |
|
|
void * |
data |
|
) |
| |
|
static |
Parse CAPA response - Implements pop_fetch_t -.
- Parameters
-
line | List of capabilities |
data | POP data |
- Return values
-
Definition at line 146 of file lib.c.
147{
149
151 {
154 }
156 {
157 adata->cmd_stls =
true;
158 }
160 {
162 }
164 {
166 }
168 {
170 }
171
172 return 0;
173}
size_t buf_strcpy(struct Buffer *buf, const char *s)
Copy a string into a Buffer.
char * mutt_str_skip_email_wsp(const char *s)
Skip over whitespace as defined by RFC5322.
size_t mutt_istr_startswith(const char *str, const char *prefix)
Check whether a string starts with a prefix, ignoring case.
void * adata
Private data (for Mailbox backends)
POP-specific Account data -.
◆ fetch_auth()
static int fetch_auth |
( |
const char * |
line, |
|
|
void * |
data |
|
) |
| |
|
static |
Parse AUTH response - Implements pop_fetch_t -.
- Parameters
-
line | List of authentication methods |
data | POP data |
- Return values
-
Definition at line 181 of file lib.c.
182{
184
186 {
188 }
190
191 return 0;
192}
bool buf_is_empty(const struct Buffer *buf)
Is the Buffer empty?
size_t buf_addstr(struct Buffer *buf, const char *s)
Add a string to a Buffer.
◆ check_uidl()
static int check_uidl |
( |
const char * |
line, |
|
|
void * |
data |
|
) |
| |
|
static |
Parse UIDL response - Implements pop_fetch_t -.
- Parameters
-
line | String containing UIDL |
data | POP data |
- Return values
-
Find message with this UIDL and set refno.
Definition at line 574 of file lib.c.
575{
576 if (!line || !data)
577 return -1;
578
579 char *endp = NULL;
580
581 errno = 0;
582 unsigned int index = strtoul(line, &endp, 10);
583 if (errno != 0)
584 return -1;
585 while (*endp == ' ')
586 endp++;
587
590 {
593 {
595 break;
596 }
597 }
598
599 return 0;
600}
bool mutt_str_equal(const char *a, const char *b)
Compare two strings.
struct PopEmailData * pop_edata_get(struct Email *e)
Get the private data for this Email.
void * edata
Driver-specific data.
int index
The absolute (unsorted) message number.
int msg_count
Total number of messages.
struct Email ** emails
Array of Emails.
POP-specific Email data -.
◆ fetch_message()
static int fetch_message |
( |
const char * |
line, |
|
|
void * |
data |
|
) |
| |
|
static |
Parse a Message response - Implements pop_fetch_t -.
- Parameters
-
line | String to write |
data | FILE pointer to write to |
- Return values
-
Save a Message to a file.
Definition at line 98 of file pop.c.
99{
100 FILE *fp = data;
101
102 fputs(line, fp);
103 if (fputc('\n', fp) == EOF)
104 return -1;
105
106 return 0;
107}
◆ fetch_uidl()
static int fetch_uidl |
( |
const char * |
line, |
|
|
void * |
data |
|
) |
| |
|
static |
Parse UIDL response - Implements pop_fetch_t -.
- Parameters
-
- Return values
-
Definition at line 201 of file pop.c.
202{
205 char *endp = NULL;
206
207 errno = 0;
208 int index = strtol(line, &endp, 10);
209 if (errno)
210 return -1;
211 while (*endp == ' ')
212 endp++;
213 line = endp;
214
215
216 if (strlen(line) == 0)
217 return -1;
218
219 int i;
221 {
224 break;
225 }
226
228 {
230
232
235
238 }
240 {
242 }
243
245
248
249 return 0;
250}
struct Email * email_new(void)
Create a new Email.
void pop_edata_free(void **ptr)
Free the private Email data - Implements Email::edata_free() -.
#define mutt_debug(LEVEL,...)
@ LL_DEBUG1
Log at debug level 1.
void mx_alloc_memory(struct Mailbox *m, int req_size)
Create storage for the emails.
struct PopAccountData * pop_adata_get(struct Mailbox *m)
Get the Account data for this mailbox.
struct PopEmailData * pop_edata_new(const char *uid)
Create a new PopEmailData for an email.
void(* edata_free)(void **ptr)