9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Lyndon Nerenberg <lyndon@orthanc.ca>
To: Plan 9 from Bell Labs <9fans@9fans.net>
Subject: [9fans] news(1) patch: make -a and -n get along
Date: Sun, 24 Jan 2021 13:01:40 -0800	[thread overview]
Message-ID: <1efbef698158c7c6@orthanc.ca> (raw)

[-- Attachment #1: Type: text/plain, Size: 132 bytes --]

[ Originally send to 9front-bugs, but this is applicable
  across the board ... ]

This patch makes 'news -an' do the right thing.


[-- Attachment #2: Type: text/plain, Size: 1847 bytes --]

/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

                 reply	other threads:[~2021-01-24 21:01 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1efbef698158c7c6@orthanc.ca \
    --to=lyndon@orthanc.ca \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).