diff options
| -rw-r--r-- | lib/smtp.c | 24 | ||||
| -rw-r--r-- | lib/smtp.h | 2 | 
2 files changed, 13 insertions, 13 deletions
diff --git a/lib/smtp.c b/lib/smtp.c index 6e802b253..8b882afc3 100644 --- a/lib/smtp.c +++ b/lib/smtp.c @@ -1007,16 +1007,17 @@ static CURLcode smtp_mail(struct connectdata *conn)  static CURLcode smtp_rcpt_to(struct connectdata *conn)  {    CURLcode result = CURLE_OK; -  struct smtp_conn *smtpc = &conn->proto.smtpc; +  struct SessionHandle *data = conn->data; +  struct SMTP *smtp = data->state.proto.smtp;    /* Send the RCPT TO command */ -  if(smtpc->rcpt) { -    if(smtpc->rcpt->data[0] == '<') +  if(smtp->rcpt) { +    if(smtp->rcpt->data[0] == '<')        result = Curl_pp_sendf(&conn->proto.smtpc.pp, "RCPT TO:%s", -                             smtpc->rcpt->data); +                             smtp->rcpt->data);      else        result = Curl_pp_sendf(&conn->proto.smtpc.pp, "RCPT TO:<%s>", -                             smtpc->rcpt->data); +                             smtp->rcpt->data);      if(!result)        state(conn, SMTP_RCPT);    } @@ -1030,6 +1031,7 @@ static CURLcode smtp_state_mail_resp(struct connectdata *conn, int smtpcode,  {    CURLcode result = CURLE_OK;    struct SessionHandle *data = conn->data; +  struct SMTP *smtp = data->state.proto.smtp;    (void)instate; /* no use for this yet */ @@ -1039,8 +1041,7 @@ static CURLcode smtp_state_mail_resp(struct connectdata *conn, int smtpcode,      state(conn, SMTP_STOP);    }    else { -    struct smtp_conn *smtpc = &conn->proto.smtpc; -    smtpc->rcpt = data->set.mail_rcpt; +    smtp->rcpt = data->set.mail_rcpt;      result = smtp_rcpt_to(conn);    } @@ -1054,6 +1055,7 @@ static CURLcode smtp_state_rcpt_resp(struct connectdata *conn, int smtpcode,  {    CURLcode result = CURLE_OK;    struct SessionHandle *data = conn->data; +  struct SMTP *smtp = data->state.proto.smtp;    (void)instate; /* no use for this yet */ @@ -1063,14 +1065,12 @@ static CURLcode smtp_state_rcpt_resp(struct connectdata *conn, int smtpcode,      state(conn, SMTP_STOP);    }    else { -    struct smtp_conn *smtpc = &conn->proto.smtpc; - -    if(smtpc->rcpt) { -      smtpc->rcpt = smtpc->rcpt->next; +    if(smtp->rcpt) { +      smtp->rcpt = smtp->rcpt->next;        result = smtp_rcpt_to(conn);        /* If we failed or still are sending RCPT data then return */ -      if(result || smtpc->rcpt) +      if(result || smtp->rcpt)          return result;      } diff --git a/lib/smtp.h b/lib/smtp.h index f78e2c5b4..ee057af79 100644 --- a/lib/smtp.h +++ b/lib/smtp.h @@ -62,6 +62,7 @@ struct SMTP {    char *user;             /* User name string */    char *passwd;           /* Password string */    curl_pp_transfer transfer; +  struct curl_slist *rcpt; /* Recipient list */  };  /* smtp_conn is used for struct connection-oriented data in the connectdata @@ -74,7 +75,6 @@ struct smtp_conn {    unsigned int authmechs;  /* Accepted authentication mechanisms */    unsigned int authused;   /* Auth mechanism used for the connection */    smtpstate state;         /* Always use smtp.c:state() to change state! */ -  struct curl_slist *rcpt; /* Recipient list */    bool ssldone;            /* Is connect() over SSL done? */    bool tls_supported;      /* StartTLS capability supported by server */    bool size_supported;     /* If server supports SIZE extension according to  | 
