X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/55f65ae2d3baf60396d3359db952460939de03ca..4dc32bd4c12c4bdba806e91d0319ea677cd87362:/uip/mhshowsbr.c diff --git a/uip/mhshowsbr.c b/uip/mhshowsbr.c index 60c4b837..61b00573 100644 --- a/uip/mhshowsbr.c +++ b/uip/mhshowsbr.c @@ -223,39 +223,31 @@ show_switch (CT ct, int serial, int alternate) switch (ct->c_type) { case CT_MULTIPART: return show_multi (ct, serial, alternate); - break; case CT_MESSAGE: switch (ct->c_subtype) { case MESSAGE_PARTIAL: return show_partial (ct, serial, alternate); - break; case MESSAGE_EXTERNAL: return show_external (ct, serial, alternate); - break; case MESSAGE_RFC822: default: return show_message_rfc822 (ct, serial, alternate); - break; } - break; case CT_TEXT: return show_text (ct, serial, alternate); - break; case CT_AUDIO: case CT_IMAGE: case CT_VIDEO: case CT_APPLICATION: return show_content (ct, serial, alternate); - break; default: adios (NULL, "unknown content type %d", ct->c_type); - break; } return 0; /* NOT REACHED */ @@ -344,11 +336,12 @@ show_content_aux (CT ct, int serial, int alternate, char *cp, char *cracked) case 'a': /* insert parameters from Content-Type field */ { - char **ap, **ep; + PM pm; char *s = ""; - for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) { - snprintf (bp, buflen, "%s%s=\"%s\"", s, *ap, *ep); + for (pm = ci->ci_first_pm; pm; pm = pm->pm_next) { + snprintf (bp, buflen, "%s%s=\"%s\"", s, pm->pm_name, + pm->pm_value); len = strlen (bp); bp += len; buflen -= len; @@ -620,7 +613,7 @@ show_text (CT ct, int serial, int alternate) */ if (!alternate || ct->c_subtype == TEXT_PLAIN) { snprintf (buffer, sizeof(buffer), "%%p%s '%%F'", progsw ? progsw : - moreproc && *moreproc ? moreproc : "more"); + moreproc && *moreproc ? moreproc : DEFAULT_PAGER); cp = (ct->c_showproc = add (buffer, NULL)); return show_content_aux (ct, serial, alternate, cp, NULL); } @@ -851,11 +844,12 @@ show_multi_aux (CT ct, int serial, int alternate, char *cp) case 'a': /* insert parameters from Content-Type field */ { - char **ap, **ep; + PM pm; char *s = ""; - for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) { - snprintf (bp, buflen, "%s%s=\"%s\"", s, *ap, *ep); + for (pm = ci->ci_first_pm; pm; pm = pm->pm_next) { + snprintf (bp, buflen, "%s%s=\"%s\"", s, pm->pm_name, + pm->pm_value); len = strlen (bp); bp += len; buflen -= len;