[TUHS] Any Good dmr Anecdotes?

ron minnich rminnich at gmail.com
Wed Jul 11 11:37:23 AEST 2018


this is a DMR anecdote?

On Tue, Jul 10, 2018 at 6:32 PM Larry McVoy <lm at mcvoy.com> wrote:

> On Wed, Jul 11, 2018 at 10:20:50AM +1000, Noel Hunt wrote:
> > I'm surprised why anyone would bother with these routines
> > anymore, given the startling simplicity of Plan9's arg(3).
> > One stands in awe of such simplicity. I believe it was
> > William Cheswick who designed it, but I may be wrong.
>
> It's nice but I like long opts.  The getopt in BK (and now in L)
> looks like this and produces its own help (which does miss the
> short opts, my bad, I could fix that).  Look at the default in
> the switch:
>
> int
> main(int ac, string av[])
> {
>         string  c;
>         string  lopts[] = {
>                 "bigy:",
>                 "date-split",
>                 "exif",
>                 "exif-hover",
>                 "force",
>                 "index:",
>                 "names",
>                 "nav",
>                 "parallel:",
>                 "quiet",
>                 "regen",
>                 "reverse",
>                 "sharpen",
>                 "slide:",
>                 "thumbnails",
>                 "title:",
>                 "ysize:",
>         };
>
>         while (c = getopt(av, "fj:", lopts)) {
>                 switch (c) {
>                     case "bigy": bigy = (int)optarg; break;
>                     case "date-split": dates = 1; break;
>                     case "exif": exif = 1; break;
>                     case "exif-hover": exif_hover = 1; break;
>                     case "f":
>                     case "force":
>                     case "regen":
>                         force = 1; break;
>                     case "index": indexf = optarg; break;
>                     case "j":
>                     case "parallel": parallel = (int)optarg; break;
>                     case "quiet": quiet = 1; break;
>                     case "names": names = 1; break;
>                     case "nav": nav = 1; break;
>                     case "reverse": reverse = 1; break;
>                     case "sharpen": sharpen = 1; break;
>                     case "slide": slidef = optarg; break;
>                     case "title": title = optarg; break;
>                     case "thumbnails": thumbnails = 1; break;
>                     case "ysize": ysize = (int)optarg; break;
>                     default:
>                         printf("Usage: photos.l");
>                         foreach(c in lopts) {
>                                 if (c =~ /(.*):/) {
>                                         printf(" --%s=<val>", $1);
>                                 } else {
>                                         printf(" --%s", c);
>                                 }
>                         }
>                         printf("\n");
>                         return(0);
>                 }
>         }
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20180710/69fd5f30/attachment.html>


More information about the TUHS mailing list