Unix/Linux Go Back    

Plan 9 - man page for getflags (plan9 section 9)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

GETFLAGS(9.2)									    GETFLAGS(9.2)

       getflags, usage - process flag arguments in argv

       #include <libg.h>

       #include <fb.h>

       int getflags(int argc, char *argv[], char *flags)

       int usage(char *tail)

       extern char **flag[], cmdline[], *cmdname, *flagset[];

       Getflags  digests  an argument vector argv, finding flag arguments listed in flags.  Flags
       is a string of flag letters.  A letter followed by a colon and a  number  is  expected  to
       have  the  given number of parameters.  A flag argument starts with `-' and is followed by
       any number of flag letters.  A flag with one or more parameters must be the last  flag  in
       an argument.  If any characters follow it, they are the flag's first parameter.	Otherwise
       the following argument is the first parameter.  Subsequent parameters are taken from  sub-
       sequent arguments.

       The  global  array  flag  is  set  to point to an array of parameters for each flag found.
       Thus, if flag -x was seen, flag['x'] is non-zero,  and  flag['x'][i]  is  the  flag's  ith
       parameter.   If	flag -x has no parameters flag['x']==flagset.  Flags not found are marked
       with a zero.  Flags and their parameters are deleted  from  argv.   Getflags  returns  the
       adjusted argument count.

       Getflags  stops	scanning for flags upon encountering a non-flag argument, or the argument
       --, which is deleted.

       Getflags places a pointer to argv[0] in the external variable cmdname.  It  also  concate-
       nates  the  original  members  of  argv, separated by spaces, and places the result in the
       external array cmdline.

       Usage constructs a usage message, prints it on the standard error  file,  and  exits  with
       status  1.   The command name printed is argv[0].  Appropriate flag usage syntax is gener-
       ated from flags.  As an aid, explanatory information about flag parameters may be included
       in flags in square brackets as in the example.  Tail is printed at the end of the message.
       If getflags encountered an error, usage tries to indicate the cause.

	    main(int argc, char *argv[]){
		 if((argc=getflags(argc, argv, "vinclbhse:1[expr]", 1))==-1)
		      usage("[file ...]");
       might print:
	    Illegal flag -u
	    Usage: grep [-vinclbhs] [-e expr] [file ...]



       Getflags returns -1 on error: a syntax error in flags, setting a flag more than once, set-
       ting  a flag not mentioned in flags, or running out of arguments while collecting a flag's

Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 07:10 PM.