rpm  5.4.10
Functions
#include "system.h"
#include "rpmio_internal.h"
#include <argv.h>
#include "debug.h"
Include dependency graph for argv.c:

Go to the source code of this file.

Functions

void argvPrint (const char *msg, ARGV_t argv, FILE *fp)
 Print argv array elements.
ARGI_t argiFree (ARGI_t argi)
 Destroy an argi array.
ARGV_t argvFree (ARGV_t argv)
 Destroy an argv array.
int argiCount (ARGI_t argi)
 Return no.
ARGint_t argiData (ARGI_t argi)
 Return data from argi array.
int argvCount (const ARGV_t argv)
 Return no.
ARGV_t argvData (ARGV_t argv)
 Return data from argv array.
int argiCmp (ARGint_t *a, ARGint_t *b)
 Compare argi elements (qsort/bsearch).
int argvCmp (ARGstr_t *a, ARGstr_t *b)
 Compare argv elements using strcmp (qsort/bsearch).
int argvStrcasecmp (ARGstr_t *a, ARGstr_t *b)
 Compare argv elements using strcasecmp (qsort/bsearch).
int argiSort (ARGI_t argi, int(*compar)(ARGint_t *, ARGint_t *))
 Sort an argi array.
int argvSort (ARGV_t argv, int(*compar)(ARGstr_t *, ARGstr_t *))
 Sort an argv array.
ARGV_t argvSearch (ARGV_t argv, ARGstr_t val, int(*compar)(ARGstr_t *, ARGstr_t *))
 Find an element in an argv array.
int argiAdd (ARGI_t *argip, int ix, int val)
 Add an int to an argi array.
int argvAdd (ARGV_t *argvp, ARGstr_t val)
 Add a string to an argv array.
int argvAppend (ARGV_t *argvp, ARGV_t av)
 Append one argv array to another.
int argvSplit (ARGV_t *argvp, const char *str, const char *seps)
 Split a string into an argv array.
char * argvJoin (ARGV_t argv, char sep)
 Concatenate an argv array into a string.
int argvFgets (ARGV_t *argvp, void *_fd)
 Read lines into an argv array.

Detailed Description

Definition in file argv.c.

Function Documentation

int argiAdd ( ARGI_t argip,
int  ix,
int  val 
)

Add an int to an argi array.

Return values
*argipargi array
Parameters
ixargi array index (or -1 to append)
valint arg to add
Returns
0 always

Definition at line 178 of file argv.c.

References ARGI_s::nvals, ARGI_s::vals, xcalloc(), and xrealloc.

Referenced by mtreeArgCallback(), nwlookupTag(), rpmdcParseCoreutils(), rpmdcParseZeroInstall(), rpmfcApply(), rpmfcClassify(), runImmedTriggers(), runTriggersLoop(), set(), and wnlookupTag().

int argiCmp ( ARGint_t a,
ARGint_t b 
)

Compare argi elements (qsort/bsearch).

Parameters
a1st instance address
b2nd instance address
Returns
result of comparison

Definition at line 87 of file argv.c.

Referenced by argiSort().

int argiCount ( const ARGI_t  argi)

Return no.

of elements in argi array.

Parameters
argiargi array
Returns
no. of elements

Definition at line 55 of file argv.c.

References ARGI_s::nvals.

Referenced by argiSort(), main(), nwlookupTag(), rpmfcApply(), rpmfcGenerateDepends(), runImmedTriggers(), runTriggersLoop(), and wnlookupTag().

ARGint_t argiData ( ARGI_t  argi)

Return data from argi array.

Parameters
argiargi array
Returns
argi array data address

Definition at line 63 of file argv.c.

References ARGI_s::nvals, and ARGI_s::vals.

Referenced by argiSort(), nwlookupTag(), rpmfcGenerateDepends(), runImmedTriggers(), runTriggersLoop(), and wnlookupTag().

ARGI_t argiFree ( ARGI_t  argi)

Destroy an argi array.

Parameters
argiargi array
Returns
NULL always

Definition at line 34 of file argv.c.

References _free(), ARGI_s::nvals, and ARGI_s::vals.

Referenced by main(), needswhatTag(), rpmfcFini(), runImmedTriggers(), runTriggersLoop(), and whatneedsTag().

int argiSort ( ARGI_t  argi,
int(*)(ARGint_t *, ARGint_t *)  compar 
)

Sort an argi array.

Parameters
argiargi array
comparstrcmp-like comparison function, or NULL for argiCmp()
Returns
0 always

Definition at line 125 of file argv.c.

References argiCmp(), argiCount(), and argiData().

Referenced by runImmedTriggers(), and runTriggersLoop().

int argvAdd ( ARGV_t argvp,
ARGstr_t  val 
)
int argvAppend ( ARGV_t argvp,
ARGV_t  av 
)

Append one argv array to another.

Return values
*argvpargv array
Parameters
avargv array to append (NULL does nothing)
Returns
0 always

Definition at line 216 of file argv.c.

References argvCount(), xrealloc, and xstrdup().

Referenced by dbiMireKeys(), main(), rpmcliInstallElementPath(), rpmfcExec(), rpmgiGlobArgv(), rpmperlNew(), rpmsqlNew(), and rpmvtNew().

int argvCmp ( ARGstr_t a,
ARGstr_t b 
)

Compare argv elements using strcmp (qsort/bsearch).

Parameters
a1st instance address
b2nd instance address
Returns
result of comparison

Definition at line 95 of file argv.c.

Referenced by argvSearch(), and argvSort().

int argvCount ( ARGV_t  argv)
ARGV_t argvData ( ARGV_t  argv)

Return data from argv array.

Parameters
argvargv array
Returns
argv array data address

Definition at line 80 of file argv.c.

Referenced by hSaveBlinks(), hSaveFlinks(), rpmfcGenerateDepends(), and runScript().

int argvFgets ( ARGV_t argvp,
void *  fd 
)

Read lines into an argv array.

Return values
*argvpargv array
Parameters
fdrpmio FD_t (NULL uses stdin)
Returns
0 on success

Definition at line 299 of file argv.c.

References argvAdd(), argvFree(), and fdGetFILE.

Referenced by main().

ARGV_t argvFree ( ARGV_t  argv)
char* argvJoin ( ARGV_t  argv,
char  sep 
)

Concatenate an argv array into a string.

Parameters
argvargv array
separg separator
Returns
concatenated string

Definition at line 274 of file argv.c.

References stpcpy(), and xmalloc.

Referenced by getOutputFrom().

void argvPrint ( const char *  msg,
ARGV_t  argv,
FILE *  fp 
)

Print argv array elements.

Parameters
msgoutput message prefix (or NULL)
argvargv array
fpoutput file handle (NULL uses stderr)

Definition at line 19 of file argv.c.

Referenced by main(), rpmrepoGetFileList(), rpmsqlNew(), and rpmtsFini().

ARGV_t argvSearch ( ARGV_t  argv,
ARGstr_t  val,
int(*)(ARGstr_t *, ARGstr_t *)  compar 
)

Find an element in an argv array.

Parameters
argvargv array
valstring to find
comparstrcmp-like comparison function, or NULL for argvCmp()
Returns
found string (NULL on failure)

Definition at line 146 of file argv.c.

References argvCmp(), and argvCount().

Referenced by findPreambleTag(), isPart(), nwlookupTag(), rpmfcClassify(), rpmfcSaveArg(), and wnlookupTag().

int argvSort ( ARGV_t  argv,
int(*)(ARGstr_t *, ARGstr_t *)  compar 
)

Sort an argv array.

Parameters
argvargv array
comparstrcmp-like comparison function, or NULL for argvCmp()
Returns
0 always

Definition at line 137 of file argv.c.

References argvCmp(), and argvCount().

Referenced by main(), nwlookupTag(), rpmfcHelper(), rpmfcSaveArg(), tagLoadATags(), and wnlookupTag().

int argvSplit ( ARGV_t argvp,
const char *  str,
const char *  seps 
)

Split a string into an argv array.

Return values
*argvpargv array
Parameters
strstring arg to split
sepsseparator characters (NULL is C isspace() chars)
Returns
0 always

Definition at line 233 of file argv.c.

References _free(), argvFree(), xmalloc, and xstrdup().

Referenced by _RequestPass(), formatValue(), getMachineInfo(), parsePrep(), processPackageFiles(), processSourceFiles(), rpmcliInstallElementPath(), rpmdbURIPath(), rpmfcHelper(), rpmtsOpenSDB(), rpmtsSkipFiles(), rpmvtNew(), tagLoadATags(), and unsatisfiedDepend().

int argvStrcasecmp ( ARGstr_t a,
ARGstr_t b 
)

Compare argv elements using strcasecmp (qsort/bsearch).

Parameters
a1st instance address
b2nd instance address
Returns
result of comparison

Definition at line 102 of file argv.c.

References xstrcasecmp().

Referenced by findPreambleTag(), and isPart().