X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/9a33ff618b5901a3af815650d4b84d39ee96e529..3789a22b9fd7711d55e9b54997e4677d2b96dc78:/uip/mhmisc.c diff --git a/uip/mhmisc.c b/uip/mhmisc.c index 9f0044ac..f4b89168 100644 --- a/uip/mhmisc.c +++ b/uip/mhmisc.c @@ -2,15 +2,12 @@ /* * 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 @@ -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); @@ -81,21 +75,28 @@ type_ok (CT ct, int sP) } -void -set_endian (void) +/* + * Returns true if this content is marked as "inline". + * + * Technically we should check parent content to see if they have + * disposition to use as a default, but we don't right now. Maybe + * later .... + */ + +int +is_inline(CT ct) { - 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"); -} + /* + * If there isn't any disposition at all, it's "inline". Obviously + * if it's "inline", then it's inline. RFC 2183 says if it's an unknown + * disposition, treat it as 'attachment'. + */ + if (! ct->c_dispo_type || strcasecmp(ct->c_dispo_type, "inline") == 0) + return 1; + else + return 0; +} int make_intermediates (char *file)