From a5517fca5fff3b6038b5e5a1f3dbc828d798fe92 Mon Sep 17 00:00:00 2001 From: Ori Bernstein Date: Tue, 26 Jan 2021 18:07:04 -0800 Subject: [PATCH] news: make -a and -n get along (thanks lyndon) currently, -a and -n are mutually exclusive. this change allows them to be used together. --- sys/src/cmd/news.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/sys/src/cmd/news.c b/sys/src/cmd/news.c index ddc58d6de..ef601172c 100644 --- a/sys/src/cmd/news.c +++ b/sys/src/cmd/news.c @@ -44,30 +44,39 @@ void note(char *s); void main(int argc, char *argv[]) { - int i; + int i, aflag = 0, nflag = 0; + int doupdate = 1; + int printall = 0; + void (*printer)(char*) = print_item; Binit(&bout, 1, OWRITE); if(argc == 1) { - eachitem(print_item, 0, 1); + eachitem(print_item, printall, doupdate); exits(0); } ARGBEGIN{ case 'a': /* print all */ - eachitem(print_item, 1, 0); + doupdate = 0; + printall = 1; break; case 'n': /* names only */ - eachitem(note, 0, 0); - if(n_items) - Bputc(&bout, '\n'); + doupdate = 0; + printer = note; break; default: fprint(2, "news: bad option %c\n", ARGC()); exits("usage"); }ARGEND - for(i=0; i