]> git.marmaro.de Git - mmh/blobdiff - uip/pick.c
pick(1) decode rfc2047-fields
[mmh] / uip / pick.c
index 819d81a247399dacaea06a9f771cde48fc278cf2..8448d968bc8ee654c1eb9e86f71bcfe699c2c81e 100644 (file)
@@ -381,6 +381,7 @@ static struct swit parswit[] = {
 
 
 static char linebuf[LBSIZE + 1];
+static char decoded_linebuf[LBSIZE + 1];
 
 /* the magic array for case-independence */
 static char cc[] = {
@@ -1016,6 +1017,13 @@ plist
                p1 = linebuf;
                p2 = n->n_expbuf;
 
+               /* Attempt to decode as a MIME header.  If it's the last header,
+                * body will be 1 and lf will be at least 1. */
+               if ((body == 0 || lf > 0)  &&
+                    decode_rfc2047 (linebuf, decoded_linebuf, sizeof decoded_linebuf)) {
+                               p1 = decoded_linebuf;
+               }
+
                if (n->n_circf) {
                        if (advance(p1, p2))
                                return 1;