rpm 5.2.1
Data Structures | Typedefs | Functions

rpmio/argv.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ARGI_s

Typedefs

typedef const char * ARGstr_t
typedef ARGstr_tARGV_t
typedef unsigned int * ARGint_t
typedef struct ARGI_sARGI_t

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 (const 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 (const void *a, const void *b)
 Compare argi elements (qsort/bsearch).
int argvCmp (const void *a, const void *b)
 Compare argv elements using strcmp (qsort/bsearch).
int argvStrcasecmp (const void *a, const void *b)
 Compare argv elements using strcasecmp (qsort/bsearch).
int argiSort (ARGI_t argi, int(*compar)(const void *, const void *))
 Sort an argi array.
int argvSort (ARGV_t argv, int(*compar)(const void *, const void *))
 Sort an argv array.
ARGV_t argvSearch (ARGV_t argv, ARGstr_t val, int(*compar)(const void *, const void *))
 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)
 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.h.


Typedef Documentation

typedef struct ARGI_s* ARGI_t

Definition at line 17 of file argv.h.

typedef unsigned int* ARGint_t

Definition at line 11 of file argv.h.

typedef const char* ARGstr_t

Definition at line 8 of file argv.h.

typedef ARGstr_t* ARGV_t

Definition at line 9 of file argv.h.


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 170 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 ( const void *  a,
const void *  b 
)

Compare argi elements (qsort/bsearch).

Parameters:
a1st instance address
b2nd instance address
Returns:
result of comparison

Definition at line 82 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 50 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 58 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 29 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(*)(const void *, const void *)  compar 
)

Sort an argi array.

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

Definition at line 120 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 208 of file argv.c.

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

Referenced by main(), rpmcliInstallElementPath(), rpmdbMireApply(), rpmfcExec(), and rpmgiGlobArgv().

int argvCmp ( const void *  a,
const void *  b 
)

Compare argv elements using strcmp (qsort/bsearch).

Parameters:
a1st instance address
b2nd instance address
Returns:
result of comparison

Definition at line 90 of file argv.c.

Referenced by argvSearch(), and argvSort().

int argvCount ( const 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 75 of file argv.c.

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

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 291 of file argv.c.

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

Referenced by main().

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

Concatenate an argv array into a string.

Parameters:
argvargv array
Returns:
concatenated string

Definition at line 266 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 14 of file argv.c.

Referenced by main(), repoGetFileList(), and rpmtsFini().

ARGV_t argvSearch ( ARGV_t  argv,
ARGstr_t  val,
int(*)(const void *, const void *)  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 139 of file argv.c.

References argvCmp(), and argvCount().

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

int argvSort ( ARGV_t  argv,
int(*)(const void *, const void *)  compar 
)

Sort an argv array.

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

Definition at line 131 of file argv.c.

References argvCmp(), and argvCount().

Referenced by main(), nwlookupTag(), 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 225 of file argv.c.

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

Referenced by _RequestPass(), formatValue(), getMachineInfo(), parsePrep(), processPackageFiles(), processSourceFiles(), rpmcliInstallElementPath(), rpmfcHelper(), skipFiles(), tagLoadATags(), and unsatisfiedDepend().

int argvStrcasecmp ( const void *  a,
const void *  b 
)

Compare argv elements using strcasecmp (qsort/bsearch).

Parameters:
a1st instance address
b2nd instance address
Returns:
result of comparison

Definition at line 97 of file argv.c.

References xstrcasecmp().

Referenced by findPreambleTag(), and isPart().