Parcho el último mensaje tomado de las lineas de estatus.
parent
83f4d50846
commit
a965af97b4
|
@ -210,6 +210,7 @@ int smtp_session_continue (SMTPSession *session, int what) {
|
||||||
char linea[8192];
|
char linea[8192];
|
||||||
size_t linea_size;
|
size_t linea_size;
|
||||||
int res;
|
int res;
|
||||||
|
int e;
|
||||||
|
|
||||||
if (session->internal == SMTP_INTERNAL_FREE) {
|
if (session->internal == SMTP_INTERNAL_FREE) {
|
||||||
return SMTP_ERROR;
|
return SMTP_ERROR;
|
||||||
|
@ -285,6 +286,12 @@ smtp_continue_read_line_again:
|
||||||
/* Linea buena, guardar el estado y el mensaje de la linea */
|
/* Linea buena, guardar el estado y el mensaje de la linea */
|
||||||
/* Estamos conectados */
|
/* Estamos conectados */
|
||||||
strncpy (session->last_message, &linea[4], sizeof (session->last_message) - 1);
|
strncpy (session->last_message, &linea[4], sizeof (session->last_message) - 1);
|
||||||
|
e = strlen (session->last_message) - 1;
|
||||||
|
while (e > 0 && (session->last_message[e] == '\r' || session->last_message[e] == '\n')) {
|
||||||
|
session->last_message[e] = 0;
|
||||||
|
e--;
|
||||||
|
}
|
||||||
|
|
||||||
session->last_code = ((linea[0] - '0') * 100) + ((linea[1] - '0') * 10) + (linea[2] - '0');
|
session->last_code = ((linea[0] - '0') * 100) + ((linea[1] - '0') * 10) + (linea[2] - '0');
|
||||||
/* Correr la función correcta para pasar al siguiente estado */
|
/* Correr la función correcta para pasar al siguiente estado */
|
||||||
switch (session->estado) {
|
switch (session->estado) {
|
||||||
|
|
Loading…
Reference in New Issue