|
NAMEgetfiles() - gets next non flag-type argumentSYNOPSIS#include <schily/getargs.h> int getfiles(pac, pav, fmt) int *pac; /* pointer to arg count */ char *(*pav)[]; /* pointer to address of arg vector */ char *fmt; /* format string */ int getlfiles(pac, pav, props, fmt) int *pac; /* pointer to arg count */ char *(*pav)[]; /* pointer to address of arg vector */ struct ga_props *props; /* control properties */ char *fmt; /* format string */ int getvfiles(pac, pav, props, vfmt) int *pac; /* pointer to arg count */ char *(*pav)[]; /* pointer to address of arg vector */ struct ga_props *props; /* control properties */ struct ga_flags *vfmt; /* array of formats and args */ DESCRIPTIONgetfiles() is part of the advanced option parsing interface together with the getargs() and getallrgs() family. getfiles() skips options until a file type argument is encountered.getfiles() returns, with a value of +1 (NOTAFLAG) or +2 (FLAGDELIM), whenever a non-flag type argument is encountered. Flag-type (option) arguments, along with their values, are ignored. The filename is at *pav[0]. The caller must increment *pav and decrement *pac before calling getfiles() again. getlfiles() is similar to getfiles() but it implements an additional ga_props parameter that must be initialized with getarginit() before it is passed. getvfiles() is similar to getlfiles() but uses a structure ga_flags instead of a format string and a variable arg list with pointers. The array of structures ga_flags: struct ga_flags { const char *ga_format; /* Comma separated list for one flag */ void *ga_arg; /* Ptr. to variable to fill for flag */ getpargfun ga_funcp; /* Ptr. for function to call (&/~) */ }; is terminated by an element with ga_format == NULL. For a ga_format that does not expect a function pointer, ga_funcp is NULL. RETURNS
General rules for the return code:
Flag and file arg processing should be terminated after getting a return code <= 0. EXAMPLESSEE ALSOgetallargs(3), getargerror(3), getargs(3). NOTESInitially, *pav must point to the first argument (not the program name) and *pac must not count the program name. Before calling getfiles() again, decrement *pac and increment *pav, or the same name will be pointed to by *pav.BUGSnoneAUTHORJoerg Schilling D-13353 Berlin Germany Mail bugs and suggestions to: joerg@schily.net
Visit the GSP FreeBSD Man Page Interface. |