rpm  4.5
Functions
argv.c File Reference
#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 argvCmp (const void *a, const void *b)
 Compare argv arrays (qsort/bsearch).
 
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, const 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.
 

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

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

Referenced by rpmfcApply(), and rpmfcClassify().

int argiCount ( const ARGI_t  argi)

Return no.

of elements in argi array.

Parameters
argiargi array
Returns
no. of elements

Definition at line 52 of file argv.c.

References ARGI_s::nvals.

Referenced by main(), rpmfcApply(), and rpmfcGenerateDepends().

ARGint_t argiData ( ARGI_t  argi)

Return data from argi array.

Parameters
argiargi array
Returns
argi array data address

Definition at line 60 of file argv.c.

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

Referenced by rpmfcGenerateDepends().

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 rpmfcFree().

int argvAdd ( ARGV_t argvp,
ARGstr_t  val 
)

Add a string to an argv array.

Return values
*argvpargv array
Parameters
valstring arg to append
Returns
0 always

Definition at line 132 of file argv.c.

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

Referenced by argvFgets(), missingokTag(), parseFormat(), rpmfcClassify(), rpmfcSaveArg(), and rpmteChain().

int argvAppend ( ARGV_t argvp,
const 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 149 of file argv.c.

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

Referenced by rpmfcExec(), and rpmgiGlobArgv().

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

Compare argv arrays (qsort/bsearch).

Parameters
a1st instance address
b2nd instance address
Returns
result of comparison

Definition at line 84 of file argv.c.

Referenced by argvSearch(), and argvSort().

int argvCount ( const ARGV_t  argv)

Return no.

of elements in argv array.

Parameters
argvargv array
Returns
no. of elements

Definition at line 68 of file argv.c.

Referenced by argvAdd(), argvAppend(), argvSearch(), argvSort(), findTag(), hSaveBlinks(), hSaveFlinks(), main(), rpmfcApply(), rpmfcClassify(), rpmfcExpandAppend(), rpmfcFindRequiredPackages(), rpmfcGenerateDepends(), rpmfcHelper(), and rpnFormat().

ARGV_t argvData ( ARGV_t  argv)

Return data from argv array.

Parameters
argvargv array
Returns
argv array data address

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

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

Referenced by main().

ARGV_t argvFree ( ARGV_t  argv)

Destroy an argv array.

Parameters
argvargv array
Returns
NULL always

Definition at line 39 of file argv.c.

References _free().

Referenced by argvFgets(), delTE(), formatValue(), freeFormat(), missingokTag(), rpmdsNew(), rpmfcClassify(), rpmfcExec(), rpmfcFree(), rpmfcGenerateDepends(), rpmfcHelper(), rpmgiFree(), and rpmgiGlobArgv().

char* argvJoin ( ARGV_t  argv)

Concatenate an argv array into a string.

Parameters
argvargv array
Returns
concatenated string

Definition at line 201 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.

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

References argvCmp(), and argvCount().

Referenced by rpmfcClassify(), and rpmfcSaveArg().

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

References argvCmp(), and argvCount().

Referenced by main(), and rpmfcSaveArg().

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

References xmalloc(), and xstrdup().

Referenced by _RequestPass(), formatValue(), and rpmfcHelper().