about summary refs log tree commit diff
path: root/mshow.c
diff options
context:
space:
mode:
authorChristian Neukirchen <chneukirchen@gmail.com>2016-07-20 14:48:27 +0200
committerChristian Neukirchen <chneukirchen@gmail.com>2016-07-20 14:48:27 +0200
commit6164428d6f5a479c3ebfe7cf3c92503418b4bf47 (patch)
treee6223aa5d474c95304089b856432847537bd9588 /mshow.c
parent785283bd31a8499be4e4f4fe4186d1dc8aae913d (diff)
downloadmblaze-6164428d6f5a479c3ebfe7cf3c92503418b4bf47.tar.gz
mblaze-6164428d6f5a479c3ebfe7cf3c92503418b4bf47.tar.xz
mblaze-6164428d6f5a479c3ebfe7cf3c92503418b4bf47.zip
mshow: export PIPE_CHARSET to filter
Diffstat (limited to 'mshow.c')
-rw-r--r--mshow.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/mshow.c b/mshow.c
index 38949fb..2928be1 100644
--- a/mshow.c
+++ b/mshow.c
@@ -146,6 +146,13 @@ render_mime(int depth, char *ct, char *body, size_t bodylen)
 	if (filters &&
 	    ((cmd = blaze822_chdr(filters, mt)) ||
 	    (cmd = blaze822_chdr(filters, tlmt)))) {
+		char *charset = 0, *cs, *cse;
+		if (blaze822_mime_parameter(ct, "charset", &cs, &cse)) {
+			charset = strndup(cs, cse-cs);
+			printf(" charset=\"%s\"", charset);
+			setenv("PIPE_CHARSET", charset, 1);
+			free(charset);
+		}
 		printf(" filter=\"%s\" ---\n", cmd);
 		FILE *p;
 		fflush(stdout);