Fixed make_bcc_file () to use contents of From: in draft, if draft_from masquerade...
[mmh] / uip / mhmisc.c
index 75ac158..9f0044a 100644 (file)
@@ -3,14 +3,18 @@
  * mhparse.c -- misc routines to process MIME messages
  *
  * $Id$
+ *
+ * This code is Copyright (c) 2002, by the authors of nmh.  See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
  */
 
 #include <h/mh.h>
 #include <errno.h>
 #include <h/mime.h>
 #include <h/mhparse.h>
+#include <h/utils.h>
 
-extern int errno;
 extern int debugsw;
 
 /*
@@ -42,13 +46,17 @@ int
 part_ok (CT ct, int sP)
 {
     char **ap;
+    int len;
 
     if (npart == 0 || (ct->c_type == CT_MULTIPART && (sP || ct->c_subtype)))
        return 1;
 
-    for (ap = parts; *ap; ap++)
-       if (!strcmp (*ap, ct->c_partno))
-           return 1;
+    for (ap = parts; *ap; ap++) {
+        len = strlen(*ap);
+        if (!strncmp (*ap, ct->c_partno, len) &&
+                (!ct->c_partno[len] || ct->c_partno[len] == '.' ))
+            return 1;
+    }
 
     return 0;
 }
@@ -94,7 +102,7 @@ make_intermediates (char *file)
 {
     char *cp;
 
-    for (cp = file + 1; cp = strchr(cp, '/'); cp++) {
+    for (cp = file + 1; (cp = strchr(cp, '/')); cp++) {
        struct stat st;
 
        *cp = '\0';