Provided by: 9base_6-6_amd64 bug


       getflags, usage - command-line parsing for shell scripts


       getflags $*

       usage [ progname ]


       Getflags  parses  the  options  in its command-line arguments according to the environment
       variable $flagfmt.  This variable should be  a  list  of  comma-separated  options.   Each
       option  can  be  a  single letter, indicating that it does not take arguments, or a letter
       followed by the space-separated names of its arguments.  Getflags prints an  rc(1)  script
       on  standard  output  which  initializes  the environment variable $flagx for every option
       mentioned in $flagfmt.  If the option is not present on the command-line, the script  sets
       that  option's  flag  variable to an empty list.  Otherwise, the script sets that option's
       flag variable with a list containing the option's arguments or, if  the  option  takes  no
       arguments,  with  the  string  1.   The  script  also  sets the variable $* to the list of
       arguments following the options.  The final line in the script sets the $status  variable,
       to  the empty string on success and to the string usage when there is an error parsing the
       command line.

       Usage prints a usage message to standard error.  It creates the message using $flagfmt, as
       described  above,  $args,  which  should  contain the string to be printed explaining non-
       option arguments, and $0, the program name (see rc(1)).  If run under  sh(1),  which  does
       not set $0, the program name must be given explicitly on the command line.


       Parse the arguments for leak(1):

              flagfmt='b,s,f binary,r res,x width'
              args='name | pid list'
              if(! ifs=() eval `{getflags $*} || ~ $#* 0){
                   exit usage