Files | |
file | findme.c |
file | findme.h |
file | popt.c |
file | popt.h |
file | poptconfig.c |
file | popthelp.c |
file | poptint.h |
file | poptparse.c |
Data Structures | |
struct | poptOption |
struct | poptAlias |
A popt alias argument for poptAddAlias(). More... | |
struct | poptItem_s |
A popt alias or exec argument for poptAddItem(). More... | |
Typedefs | |
typedef poptItem_s * | poptItem |
A popt alias or exec argument for poptAddItem(). | |
typedef poptContext_s * | poptContext |
typedef poptOption * | poptOption |
typedef void(*) | poptCallbackType (poptContext con, enum poptCallbackReason reason, const struct poptOption *opt, const char *arg, const void *data) |
Table callback prototype. | |
Functions | |
poptContext | poptGetContext (const char *name, int argc, const char **argv, const struct poptOption *options, int flags) |
Initialize popt context. | |
void | poptResetContext (poptContext con) |
Reinitialize popt context. | |
int | poptGetNextOpt (poptContext con) |
Return value of next option found. | |
const char * | poptGetOptArg (poptContext con) |
Return next option argument (if any). | |
const char * | poptGetArg (poptContext con) |
Return next argument. | |
const char * | poptPeekArg (poptContext con) |
Peek at current argument. | |
const char ** | poptGetArgs (poptContext con) |
Return remaining arguments. | |
const char * | poptBadOption (poptContext con, int flags) |
Return the option which caused the most recent error. | |
poptContext | poptFreeContext (poptContext con) |
Destroy context. | |
int | poptStuffArgs (poptContext con, const char **argv) |
Add arguments to context. | |
int | poptAddAlias (poptContext con, struct poptAlias alias, int flags) |
Add alias to context. | |
int | poptAddItem (poptContext con, poptItem newItem, int flags) |
Add alias/exec item to context. | |
int | poptReadConfigFile (poptContext con, const char *fn) |
Read configuration file. | |
int | poptReadDefaultConfig (poptContext con, int useEnv) |
Read default configuration from /etc/popt and $HOME/.popt. | |
int | poptDupArgv (int argc, const char **argv, int *argcPtr, const char ***argvPtr) |
Duplicate an argument array. | |
int | poptParseArgvString (const char *s, int *argcPtr, const char ***argvPtr) |
Parse a string into an argument array. | |
int | poptConfigFileToString (FILE *fp, char **argstrp, int flags) |
Parses an input configuration file and returns an string that is a command line. | |
const char *const | poptStrerror (const int error) |
Return formatted error string for popt failure. | |
void | poptSetExecPath (poptContext con, const char *path, int allowAbsolute) |
Limit search for executables. | |
void | poptPrintHelp (poptContext con, FILE *fp, int flags) |
Print detailed description of options. | |
void | poptPrintUsage (poptContext con, FILE *fp, int flags) |
Print terse description of options. | |
void | poptSetOtherOptionHelp (poptContext con, const char *text) |
Provide text to replace default "[OPTION...]" in help/usage output. | |
const char * | poptGetInvocationName (poptContext con) |
Return argv[0] from context. | |
int | poptStrippedArgv (poptContext con, int argc, char **argv) |
Shuffle argv pointers to remove stripped args, returns new argc. |
typedef void(*) poptCallbackType(poptContext con, enum poptCallbackReason reason,const struct poptOption *opt,const char *arg,const void *data) |
typedef struct poptContext_s* poptContext |
typedef struct poptItem_s * poptItem |
A popt alias or exec argument for poptAddItem().
typedef struct poptOption* poptOption |
int poptAddAlias | ( | poptContext | con, | |
struct poptAlias | alias, | |||
int | flags | |||
) |
Add alias to context.
con | context | |
alias | alias to add | |
flags | (unused) |
Definition at line 1104 of file popt.c.
References alloca(), poptAlias::argc, poptAlias::argv, poptAlias::longName, POPT_ARGFLAG_DOC_HIDDEN, poptAddItem(), and poptAlias::shortName.
int poptAddItem | ( | poptContext | con, | |
poptItem | newItem, | |||
int | flags | |||
) |
Add alias/exec item to context.
con | context | |
newItem | alias/exec item to add | |
flags | 0 for alias, 1 for exec |
Definition at line 1123 of file popt.c.
References poptContext_s::aliases, poptOption::arg, poptItem_s::argc, poptOption::argDescrip, poptOption::argInfo, poptItem_s::argv, poptOption::descrip, poptContext_s::execs, items, poptOption::longName, newItem(), nitems, poptContext_s::numAliases, poptContext_s::numExecs, poptItem_s::option, poptOption::shortName, poptOption::val, and xstrdup().
Referenced by poptAddAlias().
const char* poptBadOption | ( | poptContext | con, | |
int | flags | |||
) |
Return the option which caused the most recent error.
con | context | |
flags |
Definition at line 1168 of file popt.c.
References optionStackEntry::argv, optionStackEntry::next, poptContext_s::optionStack, poptContext_s::os, and POPT_BADOPTION_NOALIAS.
Referenced by doSetupMacro(), main(), parseDescription(), parseFiles(), parseScript(), and rpmcliInit().
int poptConfigFileToString | ( | FILE * | fp, | |
char ** | argstrp, | |||
int | flags | |||
) |
Parses an input configuration file and returns an string that is a command line.
For use with popt. You must free the return value when done.
Given the file:
# this line is ignored # this one too aaa bbb ccc bla=bla this_is = fdsafdas bad_line= reall bad line reall bad line = again 5555= 55555 test = with lots of spaces
The result is:
--aaa --bbb --ccc --bla="bla" --this_is="fdsafdas" --5555="55555" --test="with lots of spaces"
Passing this to poptParseArgvString() yields an argv of:
'--aaa' '--bbb' '--ccc' '--bla=bla' '--this_is=fdsafdas' '--5555=55555' '--test=with lots of spaces'
fp | file handle to read | |
*argstrp | return string of options (malloc'd) | |
flags | unused |
Definition at line 129 of file poptparse.c.
References POPT_ERROR_MALLOC, POPT_ERROR_NULLARG, and POPT_ERROR_OVERFLOW.
int poptDupArgv | ( | int | argc, | |
const char ** | argv, | |||
int * | argcPtr, | |||
const char *** | argvPtr | |||
) |
Duplicate an argument array.
argc | no. of arguments | |
argv | argument array |
argcPtr | address of returned no. of arguments | |
argvPtr | address of returned argument array |
Definition at line 14 of file poptparse.c.
References POPT_ERROR_MALLOC, and POPT_ERROR_NOARG.
Referenced by handleAlias(), poptParseArgvString(), and poptStuffArgs().
poptContext poptFreeContext | ( | poptContext | con | ) |
Destroy context.
con | context |
Definition at line 1060 of file popt.c.
References _free(), poptContext_s::aliases, poptContext_s::appName, poptContext_s::arg_strip, optionStackEntry::argb, poptOption::argDescrip, poptItem_s::argv, poptOption::descrip, poptContext_s::execPath, poptContext_s::execs, poptContext_s::finalArgv, poptContext_s::leftovers, poptOption::longName, poptContext_s::numAliases, poptContext_s::numExecs, poptItem_s::option, poptContext_s::os, poptContext_s::otherHelp, PBM_FREE, and poptResetContext().
Referenced by doSetupMacro(), main(), parseDescription(), parseFiles(), parseScript(), and rpmcliFini().
const char* poptGetArg | ( | poptContext | con | ) |
Return next argument.
con | context |
Definition at line 1028 of file popt.c.
References poptContext_s::leftovers, poptContext_s::nextLeftover, and poptContext_s::numLeftovers.
Referenced by main(), parseDescription(), parseFiles(), and parseScript().
const char** poptGetArgs | ( | poptContext | con | ) |
Return remaining arguments.
con | context |
Definition at line 1045 of file popt.c.
References poptContext_s::leftovers, poptContext_s::nextLeftover, and poptContext_s::numLeftovers.
Referenced by main().
poptContext poptGetContext | ( | const char * | name, | |
int | argc, | |||
const char ** | argv, | |||
const struct poptOption * | options, | |||
int | flags | |||
) |
Initialize popt context.
name | context name (usually argv[0] program name) | |
argc | no. of arguments | |
argv | argument array | |
options | address of popt option table | |
flags | or'd POPT_CONTEXT_* bits |
Definition at line 170 of file popt.c.
References getenv(), invokeCallbacksPRE(), POPT_CONTEXT_KEEP_FIRST, and POPT_CONTEXT_POSIXMEHARDER.
Referenced by doSetupMacro(), main(), parseDescription(), parseFiles(), parseScript(), and rpmcliInit().
const char* poptGetInvocationName | ( | poptContext | con | ) |
Return argv[0] from context.
con | context |
Definition at line 1231 of file popt.c.
References optionStackEntry::argv, and poptContext_s::os.
int poptGetNextOpt | ( | poptContext | con | ) |
Return value of next option found.
con | context |
Definition at line 706 of file popt.c.
References _ABS, _free(), alloca(), poptOption::arg, optionStackEntry::argb, optionStackEntry::argc, poptOption::argInfo, optionStackEntry::argv, cleanOSE(), poptContext_s::doExec, errno, execCommand(), EXIT_FAILURE, expandNextArg(), poptContext_s::finalArgv, poptContext_s::finalArgvAlloced, poptContext_s::finalArgvCount, findOption(), poptContext_s::flags, handleAlias(), handleExec(), invokeCallbacksOPTION(), invokeCallbacksPOST(), poptContext_s::leftovers, poptOption::longName, optionStackEntry::next, optionStackEntry::nextArg, optionStackEntry::nextCharArg, poptContext_s::numLeftovers, poptContext_s::options, poptContext_s::optionStack, poptContext_s::os, PBM_ISSET, POPT_, POPT_ARG_DOUBLE, POPT_ARG_FLOAT, POPT_ARG_INT, POPT_ARG_LONG, POPT_ARG_MASK, POPT_ARG_NONE, POPT_ARG_STRING, POPT_ARG_VAL, POPT_ARGFLAG_ONEDASH, POPT_ARGFLAG_OPTIONAL, POPT_ARGFLAG_STRIP, POPT_CONTEXT_ARG_OPTS, POPT_CONTEXT_POSIXMEHARDER, POPT_ERROR_BADNUMBER, POPT_ERROR_BADOPERATION, POPT_ERROR_BADOPT, POPT_ERROR_NOARG, POPT_ERROR_OVERFLOW, poptSaveInt(), poptSaveLong(), poptStripArg(), poptContext_s::restLeftover, poptOption::shortName, poptOption::val, and xstrdup().
Referenced by doSetupMacro(), main(), parseDescription(), parseFiles(), parseScript(), and rpmcliInit().
const char* poptGetOptArg | ( | poptContext | con | ) |
Return next option argument (if any).
con | context |
Definition at line 1016 of file popt.c.
References optionStackEntry::nextArg, and poptContext_s::os.
Referenced by doSetupMacro(), main(), and rpmcliInit().
int poptParseArgvString | ( | const char * | s, | |
int * | argcPtr, | |||
const char *** | argvPtr | |||
) |
Parse a string into an argument array.
The parse allows ', ", and \ quoting, but ' is treated the same as " and both may include \ quotes.
s | string to parse |
argcPtr | address of returned no. of arguments | |
argvPtr | address of returned argument array |
Definition at line 57 of file poptparse.c.
References alloca(), argv, POPT_ARGV_ARRAY_GROW_DELTA, POPT_ERROR_BADQUOTE, POPT_ERROR_MALLOC, and poptDupArgv().
Referenced by addOrAppendListEntry(), checkPassPhrase(), configLine(), doScript(), doSetupMacro(), handlePreambleTag(), ignoreDep(), makeGPGSignature(), makePGPSignature(), open_dso(), parseDescription(), parseFiles(), parseScript(), and rpmfcExec().
const char* poptPeekArg | ( | poptContext | con | ) |
Peek at current argument.
con | context |
Definition at line 1036 of file popt.c.
References poptContext_s::leftovers, poptContext_s::nextLeftover, and poptContext_s::numLeftovers.
Referenced by main(), parseDescription(), parseFiles(), and parseScript().
void poptPrintHelp | ( | poptContext | con, | |
FILE * | fp, | |||
int | flags | |||
) |
Print detailed description of options.
con | context | |
fp | ouput file handle | |
flags | (unused) |
Definition at line 564 of file popthelp.c.
References maxArgWidth(), poptContext_s::options, poptContext_s::otherHelp, POPT_, showHelpIntro(), and singleTableHelp().
Referenced by displayArgs(), and printUsage().
void poptPrintUsage | ( | poptContext | con, | |
FILE * | fp, | |||
int | flags | |||
) |
Print terse description of options.
con | context | |
fp | ouput file handle | |
flags | (unused) |
Definition at line 785 of file popthelp.c.
References poptContext_s::aliases, alloca(), poptContext_s::execs, itemUsage(), poptContext_s::numAliases, poptContext_s::numExecs, poptContext_s::options, poptContext_s::otherHelp, showHelpIntro(), showShortOptions(), and singleTableUsage().
Referenced by displayArgs(), and printUsage().
int poptReadConfigFile | ( | poptContext | con, | |
const char * | fn | |||
) |
Read configuration file.
con | context | |
fn | file name to read |
Definition at line 96 of file poptconfig.c.
References alloca(), configLine(), errno, file, POPT_ERROR_ERRNO, and SEEK_END.
Referenced by main(), poptReadDefaultConfig(), and rpmcliInit().
int poptReadDefaultConfig | ( | poptContext | con, | |
int | useEnv | |||
) |
Read default configuration from /etc/popt and $HOME/.popt.
con | context | |
useEnv | (unused) |
Definition at line 163 of file poptconfig.c.
References alloca(), poptContext_s::appName, getenv(), and poptReadConfigFile().
Referenced by main(), and rpmcliInit().
void poptResetContext | ( | poptContext | con | ) |
Reinitialize popt context.
con | context |
Definition at line 228 of file popt.c.
References _free(), poptContext_s::arg_strip, optionStackEntry::argb, cleanOSE(), optionStackEntry::currAlias, poptContext_s::doExec, poptContext_s::finalArgv, poptContext_s::finalArgvCount, optionStackEntry::next, optionStackEntry::nextArg, optionStackEntry::nextCharArg, poptContext_s::nextLeftover, poptContext_s::numLeftovers, poptContext_s::optionStack, poptContext_s::os, PBM_FREE, and poptContext_s::restLeftover.
Referenced by poptFreeContext().
void poptSetExecPath | ( | poptContext | con, | |
const char * | path, | |||
int | allowAbsolute | |||
) |
Limit search for executables.
con | context | |
path | single path to search for executables | |
allowAbsolute | absolute paths only? |
Definition at line 54 of file popt.c.
References _free(), poptContext_s::execAbsolute, poptContext_s::execPath, and xstrdup().
Referenced by main(), and rpmcliInit().
void poptSetOtherOptionHelp | ( | poptContext | con, | |
const char * | text | |||
) |
Provide text to replace default "[OPTION...]" in help/usage output.
con | context | |
text | replacement text |
Definition at line 815 of file popthelp.c.
References _free(), poptContext_s::otherHelp, and xstrdup().
const char* const poptStrerror | ( | const int | error | ) |
Return formatted error string for popt failure.
error | popt error |
Definition at line 1180 of file popt.c.
References errno, POPT_, POPT_ERROR_BADNUMBER, POPT_ERROR_BADOPERATION, POPT_ERROR_BADOPT, POPT_ERROR_BADQUOTE, POPT_ERROR_ERRNO, POPT_ERROR_MALLOC, POPT_ERROR_NOARG, POPT_ERROR_NULLARG, POPT_ERROR_OPTSTOODEEP, POPT_ERROR_OVERFLOW, and strerror.
Referenced by doSetupMacro(), main(), parseDescription(), parseFiles(), parseScript(), and rpmcliInit().
int poptStrippedArgv | ( | poptContext | con, | |
int | argc, | |||
char ** | argv | |||
) |
Shuffle argv pointers to remove stripped args, returns new argc.
con | context | |
argc | no. of args | |
argv | arg vector |
Definition at line 1237 of file popt.c.
References poptContext_s::arg_strip, and PBM_ISSET.
int poptStuffArgs | ( | poptContext | con, | |
const char ** | argv | |||
) |
Add arguments to context.
con | context | |
argv | argument array, NULL terminated |
Definition at line 1208 of file popt.c.
References optionStackEntry::argb, optionStackEntry::argc, optionStackEntry::argv, optionStackEntry::currAlias, optionStackEntry::next, optionStackEntry::nextArg, optionStackEntry::nextCharArg, poptContext_s::optionStack, poptContext_s::os, POPT_ERROR_OPTSTOODEEP, POPT_OPTION_DEPTH, poptDupArgv(), and optionStackEntry::stuffed.
Referenced by queryArgCallback().