Commit 508cdf4d authored by Steve Holme's avatar Steve Holme
Browse files

email: Another post optimisation of endofresp() tidy up

parent e6c1e773
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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;
    }
  }
+10 −10
Original line number Diff line number Diff line
@@ -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,16 +329,17 @@ 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)))
  return FALSE; /* Nothing for us */

  /* Otherwise it's a positive response */
  /* 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 */
}

/* This is the ONLY way to change POP3 state! */
static void state(struct connectdata *conn, pop3state newstate)
{