]> diplodocus.org Git - mdfrm/commitdiff
Apply patch from Doug Porter to eliminate control characters from
authorepg <>
Wed, 10 Mar 2004 00:05:34 +0000 (00:05 +0000)
committerepg <>
Wed, 10 Mar 2004 00:05:34 +0000 (00:05 +0000)
output.

mdfrm.c

diff --git a/mdfrm.c b/mdfrm.c
index 8977cdd..2f4add9 100644 (file)
--- a/mdfrm.c
+++ b/mdfrm.c
@@ -39,6 +39,18 @@ enum {
 
 static char ident[] = "$Id$";
 
+static void
+sanitize(char *str, size_t len)
+{
+    int i;
+
+    for (i = 0; i < len; i++) {
+        if (iscntrl(str[i])) {
+            str[i] = '?';
+        }
+    }
+}
+
 static void
 scan_message(char *filename, char *fromheader, char *subjheader)
 {
@@ -72,6 +84,7 @@ scan_message(char *filename, char *fromheader, char *subjheader)
             }
             strncpy(fromheader, line, fromcount);
             fromheader[fromcount] = '\0';
+            sanitize(fromheader, fromcount);
         } else if (len > SUBJLEN && strncasecmp(line, "Subject:", SUBJLEN) == 0) {
             line += SUBJLEN;
             len -= SUBJLEN;
@@ -86,6 +99,7 @@ scan_message(char *filename, char *fromheader, char *subjheader)
             }
             strncpy(subjheader, line, subjcount);
             subjheader[subjcount] = '\0';
+            sanitize(subjheader, subjcount);
         }
     }