diff --git a/lib/smtp.c b/lib/smtp.c index 86d45d12c..c967bbd68 100644 --- a/lib/smtp.c +++ b/lib/smtp.c @@ -213,17 +213,18 @@ static int smtp_endofresp(struct pingpong *pp, int *resp) size_t len = pp->nread_resp; struct connectdata *conn = pp->conn; struct smtp_conn *smtpc = &conn->proto.smtpc; - int result; size_t wordlen; if(len < 4 || !ISDIGIT(line[0]) || !ISDIGIT(line[1]) || !ISDIGIT(line[2])) return FALSE; /* Nothing for us */ - /* Extract the response code if necessary */ - if((result = (line[3] == ' ')) != 0) + /* Do we have a command response? */ + if(line[3] == ' ') { *resp = curlx_sltosi(strtol(line, NULL, 10)); + return TRUE; + } - /* Are we processing EHLO command responses? */ + /* Are we processing EHLO command data? */ if(smtpc->state == SMTP_EHLO) { line += 4; len -= 4; @@ -276,7 +277,7 @@ static int smtp_endofresp(struct pingpong *pp, int *resp) } } - return result; + return FALSE; } /* This is the ONLY way to change SMTP state! */