GETFILES(3)
π GETFILES(3) π
okay so welcome to GETFILES(3), live and direct from SchilyΒ΄s LIBRARY FUNCTIONS β¨. bestie, this page is all about grabbing the next non-flag-type argument, and it's giving βoption parser bestieβ energy fr fr π
.
β¨ NAME β¨
getfiles()β gets next non flag-type argument π―
πΈ SYNOPSIS πΈ
#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 */
π¦ DESCRIPTION π¦
getfiles() is part of the advanced option parsing interface together with the getargs() and getallrgs() family. no cap, getfiles() skips options until a file type argument is encountered. it's literally built for that β¨.
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. lowkey important, bestie π.
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 π
FLAGDELIM2β The command line argument"--"stopped flag processing. πNOTAFLAG1β The argument*pavdoes not appear to be a flag. πNOARGS0β All arguments have been successfully examined. βBADFLAG-1β A bad flag (option) argument was supplied to the program. The argument*pavcontains the offending command line argument. πBADFMT-2β A bad format descriptor string has been detected. This means an error in the calling program, not a user input data error. π
π General rules for the return code π
> 0β A file type argument was found. π0β All arguments have been parsed.< 0β An error occurred or not a file type argument.
Flag and file arg processing should be terminated after getting a return code <= 0. periodt π
π₯ SEE ALSO π₯
π NOTES π
Initially, *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. iykyk π§
π BUGS π
None currently known.
Mail bugs and suggestions to schilytools@mlists.in-berlin.de or open a ticket at https://codeberg.org/schilytools/schilytools/issues.
The mailing list archive may be found at:
https://mlists.in-berlin.de/mailman/listinfo/schilytools-mlists.in-berlin.de
π AUTHOR π
Joerg Schilling and the schilytools project authors.
xoxo π this iconic page is GETFILES(3) from SchilyΒ΄s LIBRARY FUNCTIONS, dated 2022/09/09, by Joerg Schilling π«Ά
π¦ where this page comes from
- opensuse-leap 16.0: libschily-devel-doc 2022.10.16-160000.2.2 Β· CDDL-1.0
- Copyright 1985-2020 J. Schilling
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms