Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

POPT.


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  poptAlias
struct  poptItem_s
struct  poptOption

Arg type identifiers

#define POPT_ARG_NONE   0
#define POPT_ARG_STRING   1
#define POPT_ARG_INT   2
#define POPT_ARG_LONG   3
#define POPT_ARG_INCLUDE_TABLE   4
#define POPT_ARG_CALLBACK   5
#define POPT_ARG_INTL_DOMAIN   6
#define POPT_ARG_VAL   7
#define POPT_ARG_FLOAT   8
#define POPT_ARG_DOUBLE   9
#define POPT_ARG_MASK   0x0000FFFF

Arg modifiers

#define POPT_ARGFLAG_ONEDASH   0x80000000
#define POPT_ARGFLAG_DOC_HIDDEN   0x40000000
#define POPT_ARGFLAG_STRIP   0x20000000
#define POPT_ARGFLAG_OPTIONAL   0x10000000
#define POPT_ARGFLAG_OR   0x08000000
#define POPT_ARGFLAG_NOR   0x09000000
#define POPT_ARGFLAG_AND   0x04000000
#define POPT_ARGFLAG_NAND   0x05000000
#define POPT_ARGFLAG_XOR   0x02000000
#define POPT_ARGFLAG_NOT   0x01000000
#define POPT_ARGFLAG_LOGICALOPS   (POPT_ARGFLAG_OR|POPT_ARGFLAG_AND|POPT_ARGFLAG_XOR)
#define POPT_BIT_SET   (POPT_ARG_VAL|POPT_ARGFLAG_OR)
#define POPT_BIT_CLR   (POPT_ARG_VAL|POPT_ARGFLAG_NAND)
#define POPT_ARGFLAG_SHOW_DEFAULT   0x00800000

Callback modifiers

#define POPT_CBFLAG_PRE   0x80000000
#define POPT_CBFLAG_POST   0x40000000
#define POPT_CBFLAG_INC_DATA   0x20000000
#define POPT_CBFLAG_SKIPOPTION   0x10000000
#define POPT_CBFLAG_CONTINUE   0x08000000

Error return values

#define POPT_ERROR_NOARG   -10
#define POPT_ERROR_BADOPT   -11
#define POPT_ERROR_OPTSTOODEEP   -13
#define POPT_ERROR_BADQUOTE   -15
#define POPT_ERROR_ERRNO   -16
#define POPT_ERROR_BADNUMBER   -17
#define POPT_ERROR_OVERFLOW   -18
#define POPT_ERROR_BADOPERATION   -19
#define POPT_ERROR_NULLARG   -20
#define POPT_ERROR_MALLOC   -21

poptBadOption() flags

#define POPT_BADOPTION_NOALIAS   (1 << 0)

poptGetContext() flags

#define POPT_CONTEXT_NO_EXEC   (1 << 0)
#define POPT_CONTEXT_KEEP_FIRST   (1 << 1)
#define POPT_CONTEXT_POSIXMEHARDER   (1 << 2)
#define POPT_CONTEXT_ARG_OPTS   (1 << 4)

Auto-generated help/usage

poptOption poptAliasOptions []
 Empty table marker to enable displaying popt alias/exec options.


Typedefs

typedef poptItem_spoptItem
typedef poptContext_spoptContext
typedef poptOptionpoptOption
typedef void(* poptCallbackType )(poptContext con, enum poptCallbackReason reason, const struct poptOption *opt, const char *arg, const void *data)

Functions

poptContext poptGetContext (const char *name, int argc, const char **argv, const struct poptOption *options, int flags)
void poptResetContext (poptContext con)
int poptGetNextOpt (poptContext con)
const char * poptGetOptArg (poptContext con)
const char * poptGetArg (poptContext con)
const char * poptPeekArg (poptContext con)
const char ** poptGetArgs (poptContext con)
const char * poptBadOption (poptContext con, int flags)
poptContext poptFreeContext (poptContext con)
int poptStuffArgs (poptContext con, const char **argv)
int poptAddAlias (poptContext con, struct poptAlias alias, int flags)
int poptAddItem (poptContext con, poptItem newItem, int flags)
int poptReadConfigFile (poptContext con, const char *fn)
int poptReadDefaultConfig (poptContext con, int useEnv)
int poptDupArgv (int argc, const char **argv, int *argcPtr, const char ***argvPtr)
int poptParseArgvString (const char *s, int *argcPtr, const char ***argvPtr)
int poptConfigFileToString (FILE *fp, char **argstrp, int flags)
const char *const  poptStrerror (const int error)
void poptSetExecPath (poptContext con, const char *path, int allowAbsolute)
void poptPrintHelp (poptContext con, FILE *fp, int flags)
void poptPrintUsage (poptContext con, FILE *fp, int flags)
void poptSetOtherOptionHelp (poptContext con, const char *text)
const char * poptGetInvocationName (poptContext con)
int poptStrippedArgv (poptContext con, int argc, char **argv)

Define Documentation

#define POPT_ARG_CALLBACK   5
 

table-wide callback... must be set first in table; arg points to callback, descrip points to callback data to pass

Definition at line 25 of file popt.h.

Referenced by findOption(), invokeCallbacksOPTION(), invokeCallbacksPOST(), and invokeCallbacksPRE().

#define POPT_ARG_DOUBLE   9
 

arg will be converted to double

Definition at line 35 of file popt.h.

Referenced by getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_FLOAT   8
 

arg will be converted to float

Definition at line 34 of file popt.h.

Referenced by getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_INCLUDE_TABLE   4
 

arg points to table

Definition at line 24 of file popt.h.

Referenced by findOption(), invokeCallbacksOPTION(), invokeCallbacksPOST(), invokeCallbacksPRE(), maxArgWidth(), showShortOptions(), singleTableHelp(), and singleTableUsage().

#define POPT_ARG_INT   2
 

arg will be converted to int

Definition at line 22 of file popt.h.

Referenced by db3New(), getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_INTL_DOMAIN   6
 

set the translation domain for this table and any included tables; arg points to the domain string

Definition at line 29 of file popt.h.

Referenced by getTableTranslationDomain(), itemUsage(), and singleTableUsage().

#define POPT_ARG_LONG   3
 

arg will be converted to long

Definition at line 23 of file popt.h.

Referenced by db3New(), getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_MASK   0x0000FFFF
 

Definition at line 37 of file popt.h.

Referenced by db3New(), findOption(), getArgDescrip(), invokeCallbacksOPTION(), invokeCallbacksPOST(), invokeCallbacksPRE(), itemUsage(), maxArgWidth(), poptGetNextOpt(), showShortOptions(), singleOptionDefaultValue(), singleOptionHelp(), singleTableHelp(), and singleTableUsage().

#define POPT_ARG_NONE   0
 

no arg

Definition at line 20 of file popt.h.

Referenced by db3New(), getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_STRING   1
 

arg will be saved as string

Definition at line 21 of file popt.h.

Referenced by configLine(), db3New(), getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_VAL   7
 

arg should take value val

Definition at line 33 of file popt.h.

Referenced by db3New(), getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARGFLAG_AND   0x04000000
 

arg will be and'ed

Definition at line 51 of file popt.h.

Referenced by poptSaveInt(), poptSaveLong(), and singleOptionHelp().

#define POPT_ARGFLAG_DOC_HIDDEN   0x40000000
 

don't show in help/usage

Definition at line 45 of file popt.h.

Referenced by configLine(), itemHelp(), itemUsage(), maxArgWidth(), poptAddAlias(), singleTableHelp(), and singleTableUsage().

#define POPT_ARGFLAG_LOGICALOPS   (POPT_ARGFLAG_OR|POPT_ARGFLAG_AND|POPT_ARGFLAG_XOR)
 

Definition at line 55 of file popt.h.

Referenced by poptSaveInt(), poptSaveLong(), and singleOptionHelp().

#define POPT_ARGFLAG_NAND   0x05000000
 

arg will be nand'ed

Definition at line 52 of file popt.h.

#define POPT_ARGFLAG_NOR   0x09000000
 

arg will be nor'ed

Definition at line 50 of file popt.h.

#define POPT_ARGFLAG_NOT   0x01000000
 

arg will be negated

Definition at line 54 of file popt.h.

Referenced by poptSaveInt(), poptSaveLong(), and singleOptionHelp().

#define POPT_ARGFLAG_ONEDASH   0x80000000
 

allow -longoption

Definition at line 44 of file popt.h.

Referenced by findOption(), maxArgWidth(), poptGetNextOpt(), singleOptionHelp(), and singleOptionUsage().

#define POPT_ARGFLAG_OPTIONAL   0x10000000
 

arg may be missing

Definition at line 47 of file popt.h.

Referenced by maxArgWidth(), poptGetNextOpt(), and singleOptionHelp().

#define POPT_ARGFLAG_OR   0x08000000
 

arg will be or'ed

Definition at line 49 of file popt.h.

Referenced by poptSaveInt(), poptSaveLong(), and singleOptionHelp().

#define POPT_ARGFLAG_SHOW_DEFAULT   0x00800000
 

show default value in --help

Definition at line 63 of file popt.h.

Referenced by singleOptionHelp().

#define POPT_ARGFLAG_STRIP   0x20000000
 

strip this arg from argv(only applies to long args)

Definition at line 46 of file popt.h.

Referenced by poptGetNextOpt().

#define POPT_ARGFLAG_XOR   0x02000000
 

arg will be xor'ed

Definition at line 53 of file popt.h.

Referenced by poptSaveInt(), poptSaveLong(), and singleOptionHelp().

#define POPT_BADOPTION_NOALIAS   (1 << 0)
 

don't go into an alias

Definition at line 99 of file popt.h.

Referenced by doSetupMacro(), main(), parseDescription(), parseFiles(), parseScript(), poptBadOption(), and rpmcliInit().

#define POPT_BIT_CLR   (POPT_ARG_VAL|POPT_ARGFLAG_NAND)
 

clear arg bit(s)

Definition at line 60 of file popt.h.

Referenced by db3New().

#define POPT_BIT_SET   (POPT_ARG_VAL|POPT_ARGFLAG_OR)
 

set arg bit(s)

Definition at line 58 of file popt.h.

Referenced by db3New(), and prDbiOpenFlags().

#define POPT_CBFLAG_CONTINUE   0x08000000
 

continue callbacks with option

Definition at line 76 of file popt.h.

Referenced by invokeCallbacksOPTION().

#define POPT_CBFLAG_INC_DATA   0x20000000
 

use data from the include line, not the subtable

Definition at line 73 of file popt.h.

Referenced by findOption().

#define POPT_CBFLAG_POST   0x40000000
 

call the callback after parse

Definition at line 72 of file popt.h.

Referenced by invokeCallbacksPOST().

#define POPT_CBFLAG_PRE   0x80000000
 

call the callback before parse

Definition at line 71 of file popt.h.

Referenced by invokeCallbacksPRE().

#define POPT_CBFLAG_SKIPOPTION   0x10000000
 

don't callback with option

Definition at line 75 of file popt.h.

Referenced by invokeCallbacksOPTION().

#define POPT_CONTEXT_ARG_OPTS   (1 << 4)
 

return args as options with value 0

Definition at line 109 of file popt.h.

Referenced by poptGetNextOpt().

#define POPT_CONTEXT_KEEP_FIRST   (1 << 1)
 

pay attention to argv[0]

Definition at line 107 of file popt.h.

Referenced by poptGetContext(), and showHelpIntro().

#define POPT_CONTEXT_NO_EXEC   (1 << 0)
 

ignore exec expansions

Definition at line 106 of file popt.h.

Referenced by handleExec().

#define POPT_CONTEXT_POSIXMEHARDER   (1 << 2)
 

options can't follow args

Definition at line 108 of file popt.h.

Referenced by poptGetContext(), and poptGetNextOpt().

#define POPT_ERROR_BADNUMBER   -17
 

invalid numeric value

Definition at line 88 of file popt.h.

Referenced by poptGetNextOpt(), and poptStrerror().

#define POPT_ERROR_BADOPERATION   -19
 

mutually exclusive logical operations requested

Definition at line 90 of file popt.h.

Referenced by poptGetNextOpt(), poptSaveInt(), poptSaveLong(), and poptStrerror().

#define POPT_ERROR_BADOPT   -11
 

unknown option

Definition at line 84 of file popt.h.

Referenced by poptGetNextOpt(), and poptStrerror().

#define POPT_ERROR_BADQUOTE   -15
 

error in paramter quoting

Definition at line 86 of file popt.h.

Referenced by poptParseArgvString(), and poptStrerror().

#define POPT_ERROR_ERRNO   -16
 

errno set, use strerror(errno)

Definition at line 87 of file popt.h.

Referenced by execCommand(), poptReadConfigFile(), and poptStrerror().

#define POPT_ERROR_MALLOC   -21
 

memory allocation failed

Definition at line 92 of file popt.h.

Referenced by execCommand(), poptConfigFileToString(), poptDupArgv(), poptParseArgvString(), and poptStrerror().

#define POPT_ERROR_NOARG   -10
 

missing argument

Definition at line 83 of file popt.h.

Referenced by execCommand(), poptDupArgv(), poptGetNextOpt(), and poptStrerror().

#define POPT_ERROR_NULLARG   -20
 

opt->arg should not be NULL

Definition at line 91 of file popt.h.

Referenced by poptConfigFileToString(), poptSaveInt(), poptSaveLong(), and poptStrerror().

#define POPT_ERROR_OPTSTOODEEP   -13
 

aliases nested too deeply

Definition at line 85 of file popt.h.

Referenced by handleAlias(), poptStrerror(), and poptStuffArgs().

#define POPT_ERROR_OVERFLOW   -18
 

number too large or too small

Definition at line 89 of file popt.h.

Referenced by poptConfigFileToString(), poptGetNextOpt(), and poptStrerror().


Typedef Documentation

typedef void(* poptCallbackType)(poptContext con, enum poptCallbackReason reason, const struct poptOption * opt, const char * arg, const void * data)
 

Table callback prototype.

Parameters:
con context
reason reason for callback
opt option that triggered callback
arg 
Todo:
Document.

Document.

Parameters:
data 

Definition at line 221 of file popt.h.

Referenced by findOption(), invokeCallbacksOPTION(), invokeCallbacksPOST(), invokeCallbacksPRE(), and poptGetNextOpt().

typedef struct poptContext_s* poptContext
 

Definition at line 189 of file popt.h.

Referenced by buildArgCallback(), configLine(), displayArgs(), doSetupMacro(), execCommand(), expandNextArg(), findNextArg(), handleAlias(), handleExec(), installArgCallback(), invokeCallbacksOPTION(), invokeCallbacksPOST(), invokeCallbacksPRE(), main(), parseDescription(), parseFiles(), parseScript(), poptAddAlias(), poptAddItem(), poptBadOption(), poptFreeContext(), poptGetArg(), poptGetArgs(), poptGetContext(), poptGetInvocationName(), poptGetNextOpt(), poptGetOptArg(), poptPeekArg(), poptPrintHelp(), poptPrintUsage(), poptReadConfigFile(), poptReadDefaultConfig(), poptResetContext(), poptSetExecPath(), poptSetOtherOptionHelp(), poptStripArg(), poptStrippedArgv(), poptStuffArgs(), printUsage(), queryArgCallback(), rpmcliAllArgCallback(), rpmcliFini(), rpmcliInit(), rpmQVSourceArgCallback(), showHelpIntro(), singleTableHelp(), and singleTableUsage().

typedef struct poptItem_s * poptItem
 

A popt alias or exec argument for poptAddItem().

Referenced by configLine(), execCommand(), handleAlias(), handleExec(), itemHelp(), itemUsage(), poptAddAlias(), poptAddItem(), and poptFreeContext().

typedef struct poptOption* poptOption
 

Definition at line 196 of file popt.h.


Function Documentation

int poptAddAlias poptContext  con,
struct poptAlias  alias,
int  flags
 

Add alias to context.

Todo:
Pass alias by reference, not value.

Deprecated:
Use poptAddItem instead.
Parameters:
con context
alias alias to add
flags (unused)
Returns:
0 on success

Definition at line 1104 of file popt.c.

References alloca(), poptOption::arg, poptAlias::argc, poptItem_s::argc, poptOption::argDescrip, poptOption::argInfo, poptAlias::argv, poptItem_s::argv, poptOption::descrip, poptAlias::longName, poptOption::longName, poptItem_s::option, POPT_ARGFLAG_DOC_HIDDEN, poptAddItem(), poptContext, poptItem, poptAlias::shortName, poptOption::shortName, and poptOption::val.

int poptAddItem poptContext  con,
poptItem  newItem,
int  flags
 

Add alias/exec item to context.

Parameters:
con context
newItem alias/exec item to add
flags 0 for alias, 1 for exec
Returns:
0 on success

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, poptOption::longName, poptContext_s::numAliases, poptContext_s::numExecs, poptItem_s::option, poptContext, poptItem, poptOption::shortName, poptOption::val, and xstrdup().

Referenced by configLine(), and poptAddAlias().

const char* poptBadOption poptContext  con,
int  flags
 

Return the option which caused the most recent error.

Parameters:
con context
flags 
Returns:
offending option

Definition at line 1168 of file popt.c.

References poptContext_s::optionStack, poptContext_s::os, POPT_BADOPTION_NOALIAS, and poptContext.

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' 

Bug:
NULL is returned if file line is too long.

Silently ignores invalid lines.

Parameters:
fp file handle to read
*argstrp return string of options (malloc'd)
flags unused
Returns:
0 on success
See also:
poptParseArgvString

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.

Note:
: The argument array is malloc'd as a single area, so only argv must be free'd.
Parameters:
argc no. of arguments
argv argument array
Return values:
argcPtr address of returned no. of arguments
argvPtr address of returned argument array
Returns:
0 on success, POPT_ERROR_NOARG on failure

Definition at line 14 of file poptparse.c.

References argv, POPT_ERROR_MALLOC, and POPT_ERROR_NOARG.

Referenced by handleAlias(), poptParseArgvString(), and poptStuffArgs().

poptContext poptFreeContext poptContext  con  ) 
 

Destroy context.

Parameters:
con context
Returns:
NULL always

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, poptContext, poptItem, and poptResetContext().

Referenced by doSetupMacro(), main(), parseDescription(), parseFiles(), parseScript(), and rpmcliFini().

const char* poptGetArg poptContext  con  ) 
 

Return next argument.

Parameters:
con context
Returns:
next argument, NULL if no argument is available

Definition at line 1028 of file popt.c.

References poptContext_s::leftovers, poptContext_s::nextLeftover, poptContext_s::numLeftovers, and poptContext.

Referenced by main(), parseDescription(), parseFiles(), and parseScript().

const char** poptGetArgs poptContext  con  ) 
 

Return remaining arguments.

Parameters:
con context
Returns:
argument array, NULL terminated

Definition at line 1045 of file popt.c.

References poptContext_s::leftovers, poptContext_s::nextLeftover, poptContext_s::numLeftovers, and poptContext.

Referenced by main().

poptContext poptGetContext const char *  name,
int  argc,
const char **  argv,
const struct poptOption options,
int  flags
 

Initialize popt context.

Parameters:
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
Returns:
initialized popt context

Definition at line 170 of file popt.c.

References poptContext_s::aliases, poptContext_s::appName, poptContext_s::arg_strip, optionStackEntry::argb, optionStackEntry::argc, argv, optionStackEntry::argv, poptContext_s::execAbsolute, poptContext_s::execs, poptContext_s::finalArgv, poptContext_s::finalArgvAlloced, poptContext_s::flags, getenv(), invokeCallbacksPRE(), poptContext_s::leftovers, optionStackEntry::next, poptContext_s::numAliases, poptContext_s::numExecs, poptContext_s::options, poptContext_s::optionStack, poptContext_s::os, POPT_CONTEXT_KEEP_FIRST, POPT_CONTEXT_POSIXMEHARDER, and poptContext.

Referenced by doSetupMacro(), main(), parseDescription(), parseFiles(), parseScript(), and rpmcliInit().

const char* poptGetInvocationName poptContext  con  ) 
 

Return argv[0] from context.

Parameters:
con context
Returns:
argv[0]

Definition at line 1231 of file popt.c.

References optionStackEntry::argv, poptContext_s::os, and poptContext.

int poptGetNextOpt poptContext  con  ) 
 

Return value of next option found.

Parameters:
con context
Returns:
next option val, -1 on last item, POPT_ERROR_* on error

Definition at line 706 of file popt.c.

References _ABS, _free(), alloca(), optionStackEntry::argb, optionStackEntry::argc, 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, 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, poptCallbackType, poptContext, poptSaveInt(), poptSaveLong(), poptStripArg(), poptContext_s::restLeftover, and xstrdup().

Referenced by doSetupMacro(), main(), parseDescription(), parseFiles(), parseScript(), and rpmcliInit().

const char* poptGetOptArg poptContext  con  ) 
 

Return next option argument (if any).

Parameters:
con context
Returns:
option argument, NULL if no argument is available

Definition at line 1016 of file popt.c.

References optionStackEntry::nextArg, poptContext_s::os, and poptContext.

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.

Note:
: The argument array is malloc'd as a single area, so only argv must be free'd.
Parameters:
s string to parse
Return values:
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(), rpmfcExec(), and rpmGlob().

const char* poptPeekArg poptContext  con  ) 
 

Peek at current argument.

Parameters:
con context
Returns:
current argument, NULL if no argument is available

Definition at line 1036 of file popt.c.

References poptContext_s::leftovers, poptContext_s::nextLeftover, poptContext_s::numLeftovers, and poptContext.

Referenced by main(), parseDescription(), parseFiles(), and parseScript().

void poptPrintHelp poptContext  con,
FILE *  fp,
int  flags
 

Print detailed description of options.

Parameters:
con context
fp ouput file handle
flags (unused)

Definition at line 561 of file popthelp.c.

References maxArgWidth(), poptContext_s::options, poptContext_s::otherHelp, POPT_, poptContext, showHelpIntro(), and singleTableHelp().

Referenced by displayArgs(), and printUsage().

void poptPrintUsage poptContext  con,
FILE *  fp,
int  flags
 

Print terse description of options.

Parameters:
con context
fp ouput file handle
flags (unused)

Definition at line 780 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, poptContext, poptDone, showHelpIntro(), showShortOptions(), and singleTableUsage().

Referenced by displayArgs(), and printUsage().

int poptReadConfigFile poptContext  con,
const char *  fn
 

Read configuration file.

Parameters:
con context
fn file name to read
Returns:
0 on success, POPT_ERROR_ERRNO on failure

Definition at line 96 of file poptconfig.c.

References alloca(), configLine(), errno, POPT_ERROR_ERRNO, poptContext, and SEEK_END.

Referenced by main(), poptReadDefaultConfig(), and rpmcliInit().

int poptReadDefaultConfig poptContext  con,
int  useEnv
 

Read default configuration from /etc/popt and $HOME/.popt.

Parameters:
con context
useEnv (unused)
Returns:
0 on success, POPT_ERROR_ERRNO on failure

Definition at line 163 of file poptconfig.c.

References alloca(), poptContext_s::appName, getenv(), poptContext, and poptReadConfigFile().

Referenced by main(), and rpmcliInit().

void poptResetContext poptContext  con  ) 
 

Reinitialize popt context.

Parameters:
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, poptContext, and poptContext_s::restLeftover.

Referenced by poptFreeContext().

void poptSetExecPath poptContext  con,
const char *  path,
int  allowAbsolute
 

Limit search for executables.

Parameters:
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, poptContext, and xstrdup().

Referenced by main(), and rpmcliInit().

void poptSetOtherOptionHelp poptContext  con,
const char *  text
 

Provide text to replace default "[OPTION...]" in help/usage output.

Parameters:
con context
text replacement text

Definition at line 810 of file popthelp.c.

References _free(), poptContext_s::otherHelp, poptContext, and xstrdup().

const char* const poptStrerror const int  error  ) 
 

Return formatted error string for popt failure.

Parameters:
error popt error
Returns:
error string

Definition at line 1180 of file popt.c.

References errno, error(), 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.

Parameters:
con context
argc no. of args
argv arg vector
Returns:
new argc

Definition at line 1237 of file popt.c.

References poptContext_s::arg_strip, argv, PBM_ISSET, and poptContext.

int poptStuffArgs poptContext  con,
const char **  argv
 

Add arguments to context.

Parameters:
con context
argv argument array, NULL terminated
Returns:
0 on success, POPT_ERROR_OPTSTOODEEP on failure

Definition at line 1208 of file popt.c.

References optionStackEntry::argb, optionStackEntry::argc, optionStackEntry::argv, argv, optionStackEntry::currAlias, optionStackEntry::next, optionStackEntry::nextArg, optionStackEntry::nextCharArg, poptContext_s::optionStack, poptContext_s::os, POPT_ERROR_OPTSTOODEEP, POPT_OPTION_DEPTH, poptContext, poptDupArgv(), and optionStackEntry::stuffed.

Referenced by queryArgCallback().


Variable Documentation

struct poptOption poptAliasOptions[]
 

Empty table marker to enable displaying popt alias/exec options.

Definition at line 162 of file popt.h.

Referenced by singleTableHelp().


Generated on Sat Dec 11 02:31:20 2004 for rpm by doxygen 1.3.5