From d50bb5772a702359bdec40aefb05ace9f1226389 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Mon, 30 Mar 2020 19:02:55 +0200 Subject: maddr: add -d to only print display name. --- maddr.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'maddr.c') diff --git a/maddr.c b/maddr.c index 6f2e2e5..339acad 100644 --- a/maddr.c +++ b/maddr.c @@ -9,6 +9,7 @@ #include "blaze822.h" static int aflag; +static int dflag; static char defaulthflags[] = "from:sender:reply-to:to:cc:bcc:" "resent-from:resent-sender:resent-to:resent-cc:resent-bcc:"; static char *hflag = defaulthflags; @@ -63,15 +64,22 @@ addr(char *file) while ((v = blaze822_addr(v, &disp, &addr))) { if (disp && addr && strcmp(disp, addr) == 0) disp = 0; - if (disp && addr) { - if (aflag) { + + if (aflag) { + if (addr) printf("%s\n", addr); - } else { + } else if (dflag) { + if (disp) { + print_quoted(disp); + printf("\n"); + } + } else { + if (disp && addr) { print_quoted(disp); printf(" <%s>\n", addr); + } else if (addr) { + printf("%s\n", addr); } - } else if (addr) { - printf("%s\n", addr); } } } @@ -89,13 +97,14 @@ int main(int argc, char *argv[]) { int c; - while ((c = getopt(argc, argv, "ah:")) != -1) + while ((c = getopt(argc, argv, "adh:")) != -1) switch (c) { case 'a': aflag = 1; break; + case 'd': dflag = 1; break; case 'h': hflag = optarg; break; default: fprintf(stderr, - "Usage: maddr [-a] [-h headers] [msgs...]\n"); + "Usage: maddr [-ad] [-h headers] [msgs...]\n"); exit(1); } -- cgit 1.4.1