projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Updated docs/README-ATTACHMENTS, mainly to reflect that no setup is
[mmh]
/
uip
/
mhmisc.c
diff --git
a/uip/mhmisc.c
b/uip/mhmisc.c
index
825ec87
..
86b8ad8
100644
(file)
--- a/
uip/mhmisc.c
+++ b/
uip/mhmisc.c
@@
-2,8
+2,6
@@
/*
* mhparse.c -- misc routines to process MIME messages
*
/*
* 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.
* 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.
@@
-13,6
+11,7
@@
#include <errno.h>
#include <h/mime.h>
#include <h/mhparse.h>
#include <errno.h>
#include <h/mime.h>
#include <h/mhparse.h>
+#include <h/utils.h>
extern int debugsw;
extern int debugsw;
@@
-24,7
+23,6
@@
int ntype = 0;
char *parts[NPARTS + 1];
char *types[NTYPES + 1];
char *parts[NPARTS + 1];
char *types[NTYPES + 1];
-int endian = 0; /* little or big endian */
int userrs = 0;
static char *errs = NULL;
int userrs = 0;
static char *errs = NULL;
@@
-35,8
+33,6
@@
static char *errs = NULL;
*/
int part_ok (CT, int);
int type_ok (CT, int);
*/
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);
void content_error (char *, CT, char *, ...);
void flush_errors (void);
@@
-45,13
+41,17
@@
int
part_ok (CT ct, int sP)
{
char **ap;
part_ok (CT ct, int sP)
{
char **ap;
+ int len;
if (npart == 0 || (ct->c_type == CT_MULTIPART && (sP || ct->c_subtype)))
return 1;
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;
}
return 0;
}
@@
-69,29
+69,13
@@
type_ok (CT ct, int sP)
snprintf (buffer, sizeof(buffer), "%s/%s", ci->ci_type, ci->ci_subtype);
for (ap = types; *ap; ap++)
snprintf (buffer, sizeof(buffer), "%s/%s", ci->ci_type, ci->ci_subtype);
for (ap = types; *ap; ap++)
- if (!strcasecmp (*ap, ci->ci_type) || !strcasecmp (*ap, buffer))
+ if (!mh_strcasecmp (*ap, ci->ci_type) || !mh_strcasecmp (*ap, buffer))
return 1;
return 0;
}
return 1;
return 0;
}
-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)
{
int
make_intermediates (char *file)
{