for (ctp = cts; *ctp; ctp++) {
ct = *ctp;
- /* if top-level type is ok, then display message */
- if (type_ok(ct, 1))
- show_single_message(ct, formsw);
+ if (!type_ok(ct, 1)) { /* top-level type */
+ continue;
+ }
+ if (cts[1]) {
+ if (ctp != cts) {
+ printf("\n\n");
+ }
+ printf(">>> Message %s\n\n", ct->c_file);
+ }
+ show_single_message(ct, formsw);
}
}
CI ci = &ct->c_ctinfo;
/* Check for mhshow-show-type/subtype */
- snprintf(buffer, sizeof(buffer), "%s-show-%s/%s",
- invo_name, ci->ci_type, ci->ci_subtype);
+ snprintf(buffer, sizeof(buffer), "mhshow-show-%s/%s",
+ ci->ci_type, ci->ci_subtype);
if ((cp = context_find(buffer)) && *cp != '\0')
return show_content_aux(ct, alternate, cp, NULL);
/* Check for mhshow-show-type */
- snprintf(buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type);
+ snprintf(buffer, sizeof(buffer), "mhshow-show-%s", ci->ci_type);
if ((cp = context_find(buffer)) && *cp != '\0')
return show_content_aux(ct, alternate, cp, NULL);
case 'c':
/* insert charset */
- if (ct->c_charset) {
- strncpy(bp, ct->c_charset, buflen);
- }
+ strncpy(bp, ct->c_charset ? ct->c_charset :
+ "US-ASCII", buflen);
break;
case 'd':
CI ci = &ct->c_ctinfo;
/* Check for mhshow-show-type/subtype */
- snprintf(buffer, sizeof(buffer), "%s-show-%s/%s",
- invo_name, ci->ci_type, ci->ci_subtype);
+ snprintf(buffer, sizeof(buffer), "mhshow-show-%s/%s",
+ ci->ci_type, ci->ci_subtype);
if ((cp = context_find(buffer)) && *cp != '\0')
return show_content_aux(ct, alternate, cp, NULL);
/* Check for mhshow-show-type */
- snprintf(buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type);
+ snprintf(buffer, sizeof(buffer), "mhshow-show-%s", ci->ci_type);
if ((cp = context_find(buffer)) && *cp != '\0')
return show_content_aux(ct, alternate, cp, NULL);
** if it is not a text part of a multipart/alternative
*/
if (!alternate || ct->c_subtype == TEXT_PLAIN) {
- if (!check_charset(ct->c_charset, strlen(ct->c_charset))) {
+ if (ct->c_charset && !check_charset(ct->c_charset,
+ strlen(ct->c_charset))) {
snprintf(buffer, sizeof(buffer), "%%liconv -f '%s'",
ct->c_charset);
} else {
CI ci = &ct->c_ctinfo;
/* Check for mhshow-show-type/subtype */
- snprintf(buffer, sizeof(buffer), "%s-show-%s/%s",
- invo_name, ci->ci_type, ci->ci_subtype);
+ snprintf(buffer, sizeof(buffer), "mhshow-show-%s/%s",
+ ci->ci_type, ci->ci_subtype);
if ((cp = context_find(buffer)) && *cp != '\0')
return show_multi_aux(ct, alternate, cp);
/* Check for mhshow-show-type */
- snprintf(buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type);
+ snprintf(buffer, sizeof(buffer), "mhshow-show-%s", ci->ci_type);
if ((cp = context_find(buffer)) && *cp != '\0')
return show_multi_aux(ct, alternate, cp);
case 'c':
/* insert charset */
- if (ct->c_charset) {
- strncpy(bp, ct->c_charset, buflen);
- }
+ strncpy(bp, ct->c_charset ? ct->c_charset :
+ "US-ASCII", buflen);
break;
case 'd':
CI ci = &ct->c_ctinfo;
/* Check for mhshow-show-type/subtype */
- snprintf(buffer, sizeof(buffer), "%s-show-%s/%s",
- invo_name, ci->ci_type, ci->ci_subtype);
+ snprintf(buffer, sizeof(buffer), "mhshow-show-%s/%s",
+ ci->ci_type, ci->ci_subtype);
if ((cp = context_find(buffer)) && *cp != '\0')
return show_content_aux(ct, alternate, cp, NULL);
/* Check for mhshow-show-type */
- snprintf(buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type);
+ snprintf(buffer, sizeof(buffer), "mhshow-show-%s", ci->ci_type);
if ((cp = context_find(buffer)) && *cp != '\0')
return show_content_aux(ct, alternate, cp, NULL);