]> diplodocus.org Git - mdfrm/commitdiff
(scan_message): Don't set first elements of fromheader and subjheader to
authorepg <>
Sun, 8 Sep 2002 03:51:08 +0000 (03:51 +0000)
committerepg <>
Sun, 8 Sep 2002 03:51:08 +0000 (03:51 +0000)
'\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

diff --git a/mdfrm.c b/mdfrm.c
index 3e51e93..2f48ee5 100644 (file)
--- 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';
         }
     }