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 575 of file lib.c.
576{
577 if (!line || !data)
578 return -1;
579
580 char *endp = NULL;
581
582 errno = 0;
583 unsigned int index = strtoul(line, &endp, 10);
584 if ((errno != 0) || (endp == line))
585 return -1;
586 while (*endp == ' ')
587 endp++;
588
591 {
594 {
596 break;
597 }
598 }
599
600 return 0;
601}
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 97 of file pop.c.
98{
99 FILE *fp = data;
100
101 fputs(line, fp);
102 if (fputc('\n', fp) == EOF)
103 return -1;
104
105 return 0;
106}
◆ 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 206 of file pop.c.
207{
210 char *endp = NULL;
211
212 errno = 0;
213 int index = strtol(line, &endp, 10);
214 if ((errno != 0) || (endp == line))
215 return -1;
216 while (*endp == ' ')
217 endp++;
218 line = endp;
219
220
221 if (strlen(line) == 0)
222 return -1;
223
224 int i;
226 {
229 break;
230 }
231
233 {
235
237
240
243 }
245 {
247 }
248
250
253
254 return 0;
255}
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)
bool clear_cache
Clear the cache.