email: Another post optimisation of endofresp() tidy up

This commit is contained in:
Steve Holme 2013-02-12 23:00:34 +00:00
parent e6c1e773d9
commit 508cdf4da4
2 changed files with 15 additions and 13 deletions

View File

@ -339,6 +339,7 @@ static bool imap_endofresp(struct connectdata *conn, char *line, size_t len,
if(len >= id_len + 3) {
if(!memcmp(id, line, id_len) && line[id_len] == ' ') {
*resp = line[id_len + 1]; /* O, N or B */
return TRUE;
}
}
@ -347,6 +348,7 @@ static bool imap_endofresp(struct connectdata *conn, char *line, size_t len,
if((len == 3 && !memcmp("+", line, 1)) ||
(len >= 2 && !memcmp("+ ", line, 2))) {
*resp = '+';
return TRUE;
}
@ -416,12 +418,12 @@ static bool imap_endofresp(struct connectdata *conn, char *line, size_t len,
}
}
}
/* Are we processing FETCH command responses? */
if(imapc->state == IMAP_FETCH) {
else if(imapc->state == IMAP_FETCH) {
/* Do we have a valid response? */
if(len >= 2 && !memcmp("* ", line, 2)) {
*resp = '*';
return TRUE;
}
}

View File

@ -216,10 +216,10 @@ static void pop3_to_pop3s(struct connectdata *conn)
#define pop3_to_pop3s(x) Curl_nop_stmt
#endif
/* Function that checks for an ending pop3 status code at the start of the
/* Function that checks for an ending POP3 status code at the start of the
given string, but also detects the APOP timestamp from the server greeting
as well as the supported authentication types and allowed SASL mechanisms
from the CAPA response. */
and various capabilities from the CAPA response including the supported
authentication types and allowed SASL mechanisms. */
static bool pop3_endofresp(struct connectdata *conn, char *line, size_t len,
int *resp)
{
@ -259,7 +259,6 @@ static bool pop3_endofresp(struct connectdata *conn, char *line, size_t len,
}
/* Are we processing CAPA command responses? */
else if(pop3c->state == POP3_CAPA) {
/* Do we have the terminating line? */
if(len >= 1 && !memcmp(line, ".", 1)) {
*resp = '+';
@ -330,14 +329,15 @@ static bool pop3_endofresp(struct connectdata *conn, char *line, size_t len,
return FALSE;
}
if((len < 1 || memcmp("+", line, 1)) &&
(len < 3 || memcmp("+OK", line, 3)))
/* Do we have a command or continuation response? */
if((len >= 3 && !memcmp("+OK", line, 3)) ||
(len >= 1 && !memcmp("+", line, 1))) {
*resp = '+';
return TRUE;
}
return FALSE; /* Nothing for us */
/* Otherwise it's a positive response */
*resp = '+';
return TRUE;
}
/* This is the ONLY way to change POP3 state! */