#include <errno.h>
#include <h/mime.h>
#include <h/mhparse.h>
+#include <h/utils.h>
extern int debugsw;
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;
}
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;