# 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)
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)
static void | cleanOSE (struct optionStackEntry *os)
void | poptResetContext (poptContext con)
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 const struct poptOption * | findOption (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)
static int | poptSaveLong (const struct poptOption *opt, long aLong)
static int | poptSaveInt (const struct poptOption *opt, long aLong)
int | poptGetNextOpt (poptContext con)
const char * | poptGetOptArg (poptContext con)
const char * | poptGetArg (poptContext con)
const char * | poptPeekArg (poptContext con)
const char ** | poptGetArgs (poptContext con)
poptContext | poptFreeContext (poptContext con)
int | poptAddAlias (poptContext con, struct poptAlias alias, int flags)
int | poptAddItem (poptContext con, poptItem newItem, int flags)
const char * | poptBadOption (poptContext con, int flags)
const char *const | poptStrerror (const int error)
int | poptStuffArgs (poptContext con, const char **argv)
const char * | poptGetInvocationName (poptContext con)
int | poptStrippedArgv (poptContext con, int argc, char **argv)

## Detailed Description

Definition in file popt.c.

## Define Documentation

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

| Referenced by poptGetNextOpt().

## Function Documentation

static void cleanOSE | ( | struct optionStackEntry * | os | ) | `[static]`

| Definition at line 195 of file popt.c. References _free(), and PBM_FREE. Referenced by poptGetNextOpt(), and poptResetContext().

static int execCommand | ( | poptContext | con | ) | `[static]`

| Definition at line 349 of file popt.c. References alloca(), poptItem_s::argc, poptItem_s::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 538 of file popt.c. References findNextArg(). Referenced by poptGetNextOpt().

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

| Definition at line 500 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 const struct poptOption* findOption | ( | const struct poptOption * | opt,
|  | const char * | longName,
|  | char | shortName,
|  | poptCallbackType * | callback,
|  | const void ** | callbackData,
|  | int | singleDash
| ) | `[static]`

| Definition at line 434 of file popt.c. References poptOption::arg, poptOption::argInfo, poptOption::descrip, POPT_ARG_CALLBACK, POPT_ARG_INCLUDE_TABLE, POPT_ARG_MASK, POPT_ARGFLAG_ONEDASH, and POPT_CBFLAG_INC_DATA. Referenced by poptGetNextOpt().

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

Definition at line 297 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 238 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 103 of file popt.c. References poptOption::arg, poptOption::argInfo, poptOption::descrip, optionStackEntry::nextArg, poptContext_s::os, POPT_ARG_CALLBACK, POPT_ARG_INCLUDE_TABLE, POPT_ARG_MASK, POPT_CALLBACK_REASON_OPTION, POPT_CBFLAG_CONTINUE, and POPT_CBFLAG_SKIPOPTION. Referenced by poptGetNextOpt().

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

| Definition at line 80 of file popt.c. References POPT_ARG_CALLBACK, POPT_ARG_INCLUDE_TABLE, POPT_ARG_MASK, POPT_CALLBACK_REASON_POST, and POPT_CBFLAG_POST. Referenced by poptGetNextOpt().

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

| Definition at line 57 of file popt.c. References POPT_ARG_CALLBACK, POPT_ARG_INCLUDE_TABLE, POPT_ARG_MASK, POPT_CALLBACK_REASON_PRE, and POPT_CBFLAG_PRE. Referenced by poptGetContext().

static int poptSaveInt | ( | const struct poptOption * | opt,
|  | long | aLong
| ) | `[static]`

| Definition at line 630 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 poptGetNextOpt().

static int poptSaveLong | ( | const struct poptOption * | opt,
|  | long | aLong
| ) | `[static]`

| Definition at line 602 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 poptGetNextOpt().

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

| Definition at line 586 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 22 of file popt.c.

References errno, and POPT_.

Referenced by checkOwners(), checkPassPhrase(), cpioStrerror(), dbiOpen(), doScript(), fdFgets(), fdWritable(), Fstrerror(), getFdErrstr(), getFilesystemList(), getOutputFrom(), makeGPGSignature(), makePGPSignature(), packageBinaries(), poptStrerror(), processSourceFiles(), rpmdbRebuild(), rpmGetFilesystemUsage(), rpmProblemString(), rpmQueryVerify(), ufdRead(), ufdWrite(), urlStrerror(), verifyGPGSignature(), and verifyPGPSignature().