popt/popt.c File Reference

#include "system.h"
#include <math.h>
#include "findme.h"
#include "poptint.h"

Go to the source code of this file.

Defines

#define _ABS(a)   ((((a) - 0.0) < DBL_EPSILON) ? -(a) : (a))

Functions

static char * strerror (int errno)
void poptSetExecPath (poptContext con, const char *path, int allowAbsolute)
 Limit search for executables.
static void invokeCallbacksPRE (poptContext con, const struct poptOption *opt)
static void invokeCallbacksPOST (poptContext con, const struct poptOption *opt)
static void invokeCallbacksOPTION (poptContext con, const struct poptOption *opt, const struct poptOption *myOpt, const void *myData, int shorty)
poptContext poptGetContext (const char *name, int argc, const char **argv, const struct poptOption *options, int flags)
 Initialize popt context.
static void cleanOSE (struct optionStackEntry *os)
void poptResetContext (poptContext con)
 Reinitialize popt context.
static int handleExec (poptContext con, const char *longName, char shortName)
static int handleAlias (poptContext con, const char *longName, char shortName, const char *nextCharArg)
static int execCommand (poptContext con)
static struct poptOptionfindOption (const struct poptOption *opt, const char *longName, char shortName, poptCallbackType *callback, const void **callbackData, int singleDash)
static const char * findNextArg (poptContext con, unsigned argx, int delete_arg)
static const char * expandNextArg (poptContext con, const char *s)
static void poptStripArg (poptContext con, int which)
int poptSaveLong (long *arg, int argInfo, long aLong)
 Save a long, performing logical operation with value.
int poptSaveInt (int *arg, int argInfo, long aLong)
 Save an integer, performing logical operation with value.
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.
poptContext poptFreeContext (poptContext con)
 Destroy 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.
const char * poptBadOption (poptContext con, int flags)
 Return the option which caused the most recent error.
const char *const poptStrerror (const int error)
 Return formatted error string for popt failure.
int poptStuffArgs (poptContext con, const char **argv)
 Add arguments to context.
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.


Detailed Description

Definition in file popt.c.


Define Documentation

#define _ABS (  )     ((((a) - 0.0) < DBL_EPSILON) ? -(a) : (a))

Referenced by poptGetNextOpt().


Function Documentation

static void cleanOSE ( struct optionStackEntry os  )  [static]

Definition at line 217 of file popt.c.

References _free(), optionStackEntry::argb, optionStackEntry::argv, optionStackEntry::nextArg, and PBM_FREE.

Referenced by poptGetNextOpt(), and poptResetContext().

static int execCommand ( poptContext  con  )  [static]

Definition at line 379 of file popt.c.

References alloca(), poptItem_s::argc, poptItem_s::argv, argv, poptContext_s::doExec, poptContext_s::execAbsolute, poptContext_s::execPath, poptContext_s::finalArgv, poptContext_s::finalArgvCount, findProgramPath(), poptContext_s::leftovers, poptContext_s::numLeftovers, POPT_ERROR_ERRNO, POPT_ERROR_MALLOC, and POPT_ERROR_NOARG.

Referenced by poptGetNextOpt().

static const char* expandNextArg ( poptContext  con,
const char *  s 
) [static]

Definition at line 583 of file popt.c.

References findNextArg().

Referenced by poptGetNextOpt().

static const char* findNextArg ( poptContext  con,
unsigned  argx,
int  delete_arg 
) [static]

Definition at line 544 of file popt.c.

References optionStackEntry::argb, optionStackEntry::argc, optionStackEntry::argv, optionStackEntry::next, poptContext_s::optionStack, poptContext_s::os, PBM_ALLOC, PBM_ISSET, and PBM_SET.

Referenced by expandNextArg().

static struct poptOption* findOption ( const struct poptOption opt,
const char *  longName,
char  shortName,
poptCallbackType callback,
const void **  callbackData,
int  singleDash 
) [static]

Definition at line 472 of file popt.c.

References poptOption::arg, poptOption::argInfo, poptOption::descrip, poptOption::longName, POPT_ARG_CALLBACK, POPT_ARG_INCLUDE_TABLE, POPT_ARG_MASK, POPT_ARGFLAG_ONEDASH, poptHelpOptions, poptHelpOptionsI18N, and poptOption::shortName.

Referenced by poptGetNextOpt().

static int handleAlias ( poptContext  con,
const char *  longName,
char  shortName,
const char *  nextCharArg 
) [static]

Definition at line 324 of file popt.c.

References poptContext_s::aliases, optionStackEntry::argb, optionStackEntry::argc, poptItem_s::argc, optionStackEntry::argv, poptItem_s::argv, optionStackEntry::currAlias, poptOption::longName, optionStackEntry::next, optionStackEntry::nextArg, optionStackEntry::nextCharArg, poptContext_s::numAliases, poptItem_s::option, poptContext_s::optionStack, poptContext_s::os, POPT_ERROR_OPTSTOODEEP, POPT_OPTION_DEPTH, poptDupArgv(), poptOption::shortName, and optionStackEntry::stuffed.

Referenced by poptGetNextOpt().

static int handleExec ( poptContext  con,
const char *  longName,
char  shortName 
) [static]

Definition at line 264 of file popt.c.

References poptContext_s::doExec, poptContext_s::execs, poptContext_s::finalArgv, poptContext_s::finalArgvAlloced, poptContext_s::finalArgvCount, poptContext_s::flags, poptOption::longName, poptContext_s::numExecs, poptItem_s::option, POPT_CONTEXT_NO_EXEC, and poptOption::shortName.

Referenced by poptGetNextOpt().

static void invokeCallbacksOPTION ( poptContext  con,
const struct poptOption opt,
const struct poptOption myOpt,
const void *  myData,
int  shorty 
) [static]

Definition at line 120 of file popt.c.

References poptOption::arg, poptOption::argInfo, poptOption::longName, POPT_ARG_CALLBACK, POPT_ARG_INCLUDE_TABLE, POPT_ARG_MASK, POPT_CBFLAG_SKIPOPTION, poptHelpOptions, poptHelpOptionsI18N, and poptOption::shortName.

Referenced by poptGetNextOpt().

static void invokeCallbacksPOST ( poptContext  con,
const struct poptOption opt 
) [static]

Definition at line 92 of file popt.c.

References poptOption::arg, poptOption::argInfo, poptOption::descrip, poptOption::longName, POPT_ARG_CALLBACK, POPT_ARG_INCLUDE_TABLE, POPT_ARG_MASK, POPT_CALLBACK_REASON_POST, POPT_CBFLAG_POST, poptHelpOptions, poptHelpOptionsI18N, and poptOption::shortName.

Referenced by poptGetNextOpt().

static void invokeCallbacksPRE ( poptContext  con,
const struct poptOption opt 
) [static]

Definition at line 64 of file popt.c.

References poptOption::arg, poptOption::argInfo, poptOption::descrip, poptOption::longName, POPT_ARG_CALLBACK, POPT_ARG_INCLUDE_TABLE, POPT_ARG_MASK, POPT_CALLBACK_REASON_PRE, POPT_CBFLAG_PRE, poptHelpOptions, poptHelpOptionsI18N, and poptOption::shortName.

Referenced by poptGetContext().

int poptSaveInt ( int *  arg,
int  argInfo,
long  aLong 
)

Save an integer, performing logical operation with value.

Warning:
Alignment check may be too strict on certain platorms.
Parameters:
arg integer pointer, aligned on int boundary.
argInfo logical operation (see POPT_ARGFLAG_*)
aLong value to use
Returns:
0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERATION

Definition at line 676 of file popt.c.

References POPT_ARGFLAG_AND, POPT_ARGFLAG_LOGICALOPS, POPT_ARGFLAG_NOT, POPT_ARGFLAG_OR, POPT_ARGFLAG_XOR, POPT_ERROR_BADOPERATION, and POPT_ERROR_NULLARG.

Referenced by db3New(), and poptGetNextOpt().

int poptSaveLong ( long *  arg,
int  argInfo,
long  aLong 
)

Save a long, performing logical operation with value.

Warning:
Alignment check may be too strict on certain platorms.
Parameters:
arg integer pointer, aligned on int boundary.
argInfo logical operation (see POPT_ARGFLAG_*)
aLong value to use
Returns:
0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERATION

Definition at line 648 of file popt.c.

References POPT_ARGFLAG_AND, POPT_ARGFLAG_LOGICALOPS, POPT_ARGFLAG_NOT, POPT_ARGFLAG_OR, POPT_ARGFLAG_XOR, POPT_ERROR_BADOPERATION, and POPT_ERROR_NULLARG.

Referenced by db3New(), and poptGetNextOpt().

static void poptStripArg ( poptContext  con,
int  which 
) [static]

Definition at line 632 of file popt.c.

References poptContext_s::arg_strip, optionStackEntry::argc, poptContext_s::optionStack, PBM_ALLOC, and PBM_SET.

Referenced by poptGetNextOpt().

static char* strerror ( int  errno  )  [static]

Definition at line 27 of file popt.c.

References POPT_, sys_errlist, and sys_nerr.


Generated on Thu Oct 25 09:23:19 2007 for rpm by  doxygen 1.5.1