extern int skip_mp_cte_check; /* flag to InitMultiPart */
extern int suppress_bogus_mp_content_warning; /* flag to InitMultiPart */
extern int bogus_mp_content; /* flag from InitMultiPart */
-CT parse_mime (char *);
void reverse_parts (CT);
/* mhoutsbr.c */
int output_message (CT, char *);
-/* mhshowsbr.c */
-int show_content_aux (CT, int, char *, char *);
-
/* mhmisc.c */
void flush_errors (void);
Could show_multi() in mhshowsbr.c avoid this? */
/* Check for invo_name-format-type/subtype. */
- cp = concat (invo_name, "-format-", type, "/", subtype, NULL);
- if ((cf = context_find (cp)) && *cf != '\0') {
+ if ((cf = context_find_by_type ("format", type, subtype)) == NULL) {
+ if (verbosw) {
+ advise (NULL, "Don't know how to convert %s, there is no "
+ "%s-format-%s/%s profile entry",
+ ct->c_file, invo_name, type, subtype);
+ }
+ return NOTOK;
+ } else {
if (strchr (cf, '>')) {
- free (cp);
advise (NULL, "'>' prohibited in \"%s\",\nplease fix your "
"%s-format-%s/%s profile entry", cf, invo_name, type,
- subtype);
- return NOTOK;
- }
- } else {
- free (cp);
-
- /* Check for invo_name-format-type. */
- cp = concat (invo_name, "-format-", type, NULL);
- if (! (cf = context_find (cp)) || *cf == '\0') {
- free (cp);
- if (verbosw) {
- advise (NULL, "Don't know how to convert %s, there is no "
- "%s-format-%s/%s profile entry",
- ct->c_file, invo_name, type, subtype);
- }
- return NOTOK;
- }
+ subtype ? subtype : "");
- if (strchr (cf, '>')) {
- free (cp);
- advise (NULL, "'>' prohibited in \"%s\"", cf);
return NOTOK;
}
}
- free (cp);
cp = concat (cf, " >", file, NULL);
- status = show_content_aux (ct, 0, cp, NULL);
+ status = show_content_aux (ct, 0, cp, NULL, NULL);
free (cp);
/* Unlink decoded content tmp file and free its filename to avoid
/* Identifies 7bit or 8bit content based on charset. */
static int
charset_encoding (CT ct) {
- /* norm_charmap() is case sensitive. */
- char *charset = upcase (content_charset (ct));
int encoding =
- strcmp (norm_charmap (charset), "US-ASCII") ? CE_8BIT : CE_7BIT;
+ strcasecmp (content_charset (ct), "US-ASCII") ? CE_8BIT : CE_7BIT;
- free (charset);
return encoding;
}
static int
strip_crs (CT ct, int *message_mods) {
- /* norm_charmap() is case sensitive. */
- char *charset = upcase (content_charset (ct));
+ char *charset = content_charset (ct);
int status = OK;
/* Only strip carriage returns if content is ASCII or another
LF. We can include UTF-8 here because if the high-order bit of
a UTF-8 byte is 0, then it must be a single-byte ASCII
character. */
- if (! strcmp (norm_charmap (charset), "US-ASCII") ||
- ! strncmp (norm_charmap (charset), "ISO-8859-", 9) ||
- ! strncmp (norm_charmap (charset), "UTF-8", 5) ||
- ! strncmp (norm_charmap (charset), "WINDOWS-12", 10)) {
+ if (! strcasecmp (charset, "US-ASCII") ||
+ ! strcasecmp (charset, "UTF-8") ||
+ ! strncasecmp (charset, "ISO-8859-", 9) ||
+ ! strncasecmp (charset, "WINDOWS-12", 10)) {
char **file = NULL;
FILE **fp = NULL;
size_t begin;
}
}
- free (charset);
return status;
}