X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/6c42153ad9362cc676ea66563bf400d7511b3b68..bf58e45a34dcf8300098abff38c4e7393152f365:/uip/mhmisc.c?ds=sidebyside diff --git a/uip/mhmisc.c b/uip/mhmisc.c index 2a1672e6..7d320239 100644 --- a/uip/mhmisc.c +++ b/uip/mhmisc.c @@ -2,19 +2,16 @@ /* * 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 -#include #include #include +#include -extern int errno; extern int debugsw; /* @@ -25,7 +22,6 @@ int ntype = 0; char *parts[NPARTS + 1]; char *types[NTYPES + 1]; -int endian = 0; /* little or big endian */ int userrs = 0; static char *errs = NULL; @@ -36,8 +32,6 @@ static char *errs = NULL; */ int part_ok (CT, int); int type_ok (CT, int); -void set_endian (void); -int make_intermediates (char *); void content_error (char *, CT, char *, ...); void flush_errors (void); @@ -46,13 +40,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; } @@ -77,22 +75,6 @@ type_ok (CT ct, int sP) } -void -set_endian (void) -{ - union { - long l; - char c[sizeof(long)]; - } un; - - un.l = 1; - endian = un.c[0] ? -1 : 1; - if (debugsw) - fprintf (stderr, "%s endian architecture\n", - endian > 0 ? "big" : "little"); -} - - int make_intermediates (char *file) {