/n/dump/2021/0122/sys/src/cmd/news.c:44,65 - news.c:44,72 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; + // eachitem(print_item, 1, 0); break; case 'n': /* names only */ - eachitem(note, 0, 0); - if(n_items) - Bputc(&bout, '\n'); + doupdate = 0; + printer = note; + // eachitem(note, 0, 0); + // if(n_items) + // Bputc(&bout, '\n'); break; default: /n/dump/2021/0122/sys/src/cmd/news.c:66,73 - news.c:73,87 fprint(2, "news: bad option %c\n", ARGC()); exits("usage"); }ARGEND - for(i=0; i