From 621fc7ed18fe798cc517859161d5e14889211ccf Mon Sep 17 00:00:00 2001 From: Andrew Pamment Date: Fri, 22 Apr 2016 15:11:00 +1000 Subject: [PATCH] more experimentation --- mail_menu.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mail_menu.c b/mail_menu.c index 96dbf63..d71ac65 100644 --- a/mail_menu.c +++ b/mail_menu.c @@ -820,13 +820,18 @@ 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' || body[z] == 'B' || body[z] == 'D' || body[z] == 'A') { + 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] == 'A') { - lines -= atoi(&body[ansi + 2]); + if (lines >= atoi(&body[ansi + 2])) { + lines -= atoi(&body[ansi + 2]); + 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]);