X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/ea855e72d026c72658d43f993fc62cfcf2de2ca3..4b99700ccdc541dcc160fd83c2123721eb98322d:/uip/mhshowsbr.c diff --git a/uip/mhshowsbr.c b/uip/mhshowsbr.c index 187f9156..ce82d70c 100644 --- a/uip/mhshowsbr.c +++ b/uip/mhshowsbr.c @@ -1027,19 +1027,7 @@ convert_charset (CT ct, char *dest_charset, int *message_mods) { char *src_charset = content_charset (ct); int status = OK; - /* norm_charmap() is case sensitive. */ - char *src_charset_u = upcase (src_charset); - char *dest_charset_u = upcase (dest_charset); - char *src_charset_n = getcpy (norm_charmap (src_charset)); - char *dest_charset_n = getcpy (norm_charmap (dest_charset)); - int different_charsets = strcmp (src_charset_n, dest_charset_n); - - free (dest_charset_n); - free (src_charset_n); - free (dest_charset_u); - free (src_charset_u); - - if (different_charsets) { + if (strcasecmp (src_charset, dest_charset)) { #ifdef HAVE_ICONV iconv_t conv_desc = NULL; char *dest; @@ -1234,9 +1222,11 @@ convert_content_charset (CT ct, char **file) { * Compile our format string and save any parameters we care about. */ -#define DEFAULT_MARKER "[ part %{part} - %{content-type} - %<{description}" \ - "%{description}%?{cdispo-filename}%{cdispo-filename}" \ - "%|%{ctype-name}%> %<(unseen)\\(suppressed\\)%> ]" +#define DEFAULT_MARKER "[ part %{part} - %{content-type} - " \ + "%<{description}%{description}" \ + "%?{cdispo-filename}%{cdispo-filename}" \ + "%|%{ctype-name}%> " \ + "%(units(size))B %<(unseen)\\(suppressed\\)%> ]" static struct format * compile_marker(char *markerform) @@ -1301,6 +1291,7 @@ output_marker(CT ct, struct format *fmt, int hidden) { char outbuf[BUFSIZ]; struct param_comp_list *pcentry; + int partsize; int dat[5]; /* @@ -1334,11 +1325,18 @@ output_marker(CT ct, struct format *fmt, int hidden) pcentry->param, '?', 0); } + if (ct->c_cesizefnx) + partsize = (*ct->c_cesizefnx) (ct); + else + partsize = ct->c_end - ct->c_begin; + /* make the part's hidden aspect available by overloading the - * %(unseen) function. see comments in h/fmt_scan.h. + * %(unseen) function. make the part's size available via %(size). + * see comments in h/fmt_scan.h. */ - dat[0] = dat[1] = dat[2] = dat[3] = 0; + dat[2] = partsize; dat[4] = hidden; + dat[0] = dat[1] = dat[3] = 0; fmt_scan(fmt, outbuf, sizeof(outbuf), sizeof(outbuf), dat, NULL);