From 755a89ba3762f88ab7210d103700a3e3c9b8fcd2 Mon Sep 17 00:00:00 2001 From: epg <> Date: Sun, 8 Sep 2002 03:51:08 +0000 Subject: [PATCH] (scan_message): Don't set first elements of fromheader and subjheader to '\0'; that was pointless. Don't assign to line[--len], only decrement len; line is a private buffer beloging to fgetln and we should not be scribbling in it; this was also pointless anyway. Set fromheader[fromcount] to '\0' after copying the characters from line into it; do the same for subjheader. --- mdfrm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mdfrm.c b/mdfrm.c index 3e51e93..2f48ee5 100644 --- a/mdfrm.c +++ b/mdfrm.c @@ -49,13 +49,12 @@ scan_message(char *filename, char *fromheader, char *subjheader) err(EX_OSERR, "Failed fopen(%s)", filename); } - fromheader[0] = subjheader[0] = '\0'; fromcount = subjcount = 0; while ((line = fgetln(file, &len))) { if (len <= 1) { break; } - line[--len] = '\0'; + --len; if (len > FROMLEN && strncmp(line, "From: ", FROMLEN) == 0) { line += FROMLEN; @@ -66,6 +65,7 @@ scan_message(char *filename, char *fromheader, char *subjheader) fromcount = FROMCOUNT; } strncpy(fromheader, line, fromcount); + fromheader[fromcount] = '\0'; } else if (len > SUBJLEN && strncmp(line, "Subject: ", SUBJLEN) == 0) { line += SUBJLEN; len -= SUBJLEN; @@ -75,6 +75,7 @@ scan_message(char *filename, char *fromheader, char *subjheader) subjcount = SUBJCOUNT; } strncpy(subjheader, line, subjcount); + subjheader[subjcount] = '\0'; } } -- 2.56.0