[ Originally send to 9front-bugs, but this is applicable across the board ... ]
This patch makes 'news -an' do the right thing.
/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<argc; i++) - print_item(argv[i]); + + if (argc == 0){ + eachitem(printer, printall, doupdate); + }else{ + for(i=0; i<argc; i++) + print_item(argv[i]); + } + if (n_items) + Bputc(&bout, '\n'); exits(0); } ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Td990983e87321183-M486341df8c5b1a9191d4c728 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription