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;
* 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)
{
char outbuf[BUFSIZ];
struct param_comp_list *pcentry;
+ int partsize;
int dat[5];
/*
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);