diff --git a/mail_menu.c b/mail_menu.c index 1042663..2fabbc5 100644 --- a/mail_menu.c +++ b/mail_menu.c @@ -820,11 +820,21 @@ void read_message(int socket, struct user_record *user, struct msg_headers *msgh ansi = z; while (strchr("ABCDEFGHIGJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", body[z]) == NULL) z++; - if (body[z] == 'm' || body[z] == 'C') { - strncpy(buffer, &body[ansi], z - ansi); - buffer[z - ansi] = '\0'; + if (body[z] == 'm' || body[z] == 'C' || body[z] == 'B' || body[z] == 'D') { + strncpy(buffer, &body[ansi], (z - ansi) + 1); + buffer[z - ansi + 1] = '\0'; s_putstring(socket, buffer); } + if (body[z] == 'C') { + chars += atoi(&body[ansi + 2]); + } + if (body[z] == 'B') { + lines += atoi(&body[ansi + 2]); + } + if (body[z] == 'D') { + chars -= atoi(&body[ansi + 2]); + } + } else { chars++; s_putchar(socket, body[z]);