optionProcess(3)
okay so bestie, welcome to optionProcess(3) β itβs from the Programmerβs Manual, and itβs literally the main character of option processing. π
β¨
π NAME π
optionProcess β this is the main option processing routine, periodt.
β¨ SYNOPSIS β¨
#include <your-opts.h>
cc [...] -o outfile infile.c -lopts [...]
int optionProcess(tOptions * opts, int a_ct, char ** a_v);
π DESCRIPTION π
okay so this is the main entry point for processing options, and the intended vibe is: call it once at the beginning of the execution of a program. π«Ά
Depending on options selected earlier, it is sometimes necessary to stop and restart option processing, or to select completely different sets of options. This can be done easily, but you generally do not want to do this. π
The number of arguments processed always includes the program name. If one of the arguments is --, then it is counted and the processing stops. If an error was encountered and errors are to be tolerated, then the returned value is the index of the argument causing the error. A hyphen by itself (-) will also cause processing to stop and will not be counted among the processed arguments. A hyphen by itself is treated as an operand. Encountering an operand stops option processing. π
optsβ program options descriptora_ctβ program arg counta_vβ program arg vector
π RETURN VALUE π
the count of the arguments processed. thatβs it, thatβs the tea. π
π ERRORS π
Errors will cause diagnostics to be printed. exit(3) may or may not be called. It depends upon whether or not the options were generated with the "allow-errors" attribute, or if the ERRSKIP_OPTERR or ERRSTOP_OPTERR macros were invoked. π
π¦ SEE ALSO π¦
The info documentation for the -lopts library. also these iconic pages:
ao_string_tokenize(3)configFileLoad(3)optionFileLoad(3)optionFindNextValue(3)optionFindValue(3)optionFree(3)optionGetValue(3)optionLoadLine(3)optionMemberList(3)optionNextValue(3)optionOnlyUsage(3)optionPrintVersion(3)optionPrintVersionAndReturn(3)optionRestore(3)optionSaveFile(3)optionSaveState(3)optionUnloadNested(3)optionVersion(3)strequate(3)streqvcmp(3)streqvmap(3)strneqvcmp(3)strtransform(3)
okay thatβs the whole page, bestie β dated 2018-08-26, and itβs the optionProcess(3) page. mwah πβ¨
π¦ where this page comes from
- debian trixie: libopts25-dev 1:5.18.16-7 Β· GPL-3.0-or-later
- nixpkgs unstable: autogen 5.18.16
- ubuntu questing: libopts25-dev 1:5.18.16-7build1
- ubuntu resolute: libopts25-dev 1:5.18.16-7build2 Β· GPL-3.0-or-later
- ubuntu stonking: libopts25-dev 1:5.18.16-9 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms