mhdr: print_addresses: first decode RFC2047, then parse address

pull/11/head
Leah Neukirchen 7 years ago
parent 55ded86ad5
commit 1918eb7ba9

@ -61,21 +61,22 @@ void
print_addresses(char *s) print_addresses(char *s)
{ {
char *disp, *addr; char *disp, *addr;
char sdec[4096];
if (dflag) {
blaze822_decode_rfc2047(sdec, s, sizeof sdec, "UTF-8");
sdec[sizeof sdec - 1] = 0;
s = sdec;
}
while ((s = blaze822_addr(s, &disp, &addr))) { while ((s = blaze822_addr(s, &disp, &addr))) {
if (Hflag && (disp || addr)) if (Hflag && (disp || addr))
printf("%s\t", curfile); printf("%s\t", curfile);
if (disp && addr) {
if (dflag) { if (disp && addr)
char d[4096]; printf("%s <%s>\n", disp, addr);
blaze822_decode_rfc2047(d, disp, sizeof d, else if (addr)
"UTF-8");
printf("%s <%s>\n", d, addr);
} else {
printf("%s <%s>\n", disp, addr);
}
} else if (addr) {
printf("%s\n", addr); printf("%s\n", addr);
}
} }
} }

Loading…
Cancel
Save