rpm  4.17.0
Files | Functions
Argument Manipulation API.

Argument Manipulation API. More...

Collaboration diagram for Argument Manipulation API.:

Files

file  argv.h
 Argument Manipulation API.
 

Functions

void argvPrint (const char *msg, ARGV_const_t argv, FILE *fp)
 Print argv array elements. More...
 
ARGI_t argiFree (ARGI_t argi)
 Destroy an argi array. More...
 
ARGV_t argvNew (void)
 Create an empty argv array. More...
 
ARGV_t argvFree (ARGV_t argv)
 Destroy an argv array. More...
 
int argiCount (ARGI_const_t argi)
 Return no. More...
 
ARGint_t argiData (ARGI_const_t argi)
 Return data from argi array. More...
 
int argvCount (ARGV_const_t argv)
 Return no. More...
 
ARGV_t argvData (ARGV_t argv)
 Return data from argv array. More...
 
int argvCmp (const void *a, const void *b)
 Compare argv arrays (qsort/bsearch). More...
 
int argvSort (ARGV_t argv, int(*compar)(const void *, const void *))
 Sort an argv array. More...
 
ARGV_t argvSearch (ARGV_const_t argv, const char *val, int(*compar)(const void *, const void *))
 Find an element in an argv array. More...
 
int argiAdd (ARGI_t *argip, int ix, int val)
 Add an int to an argi array. More...
 
int argvAdd (ARGV_t *argvp, const char *val)
 Add a string to an argv array. More...
 
int argvAddN (ARGV_t *argvp, const char *val, size_t len)
 Add a string to an argv array, does not need to be nil-terminated. More...
 
int argvAddNum (ARGV_t *argvp, int val)
 Add a number to an argv array (converting to a string). More...
 
int argvAppend (ARGV_t *argvp, ARGV_const_t av)
 Append one argv array to another. More...
 
ARGV_t argvSplitString (const char *str, const char *seps, argvFlags flags)
 Split a string into an argv array. More...
 
int argvSplit (ARGV_t *argvp, const char *str, const char *seps)
 Split a string into an argv array. More...
 
char * argvJoin (ARGV_const_t argv, const char *sep)
 Join an argv array into a string. More...
 

Detailed Description

Argument Manipulation API.

Function Documentation

◆ argiAdd()

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

Add an int to an argi array.

Parameters
[out]*argipargi array
ixargi array index (or -1 to append)
valint arg to add
Returns
0 always

◆ argiCount()

int argiCount ( ARGI_const_t  argi)

Return no.

of elements in argi array.

Parameters
argiargi array
Returns
no. of elements

◆ argiData()

ARGint_t argiData ( ARGI_const_t  argi)

Return data from argi array.

Parameters
argiargi array
Returns
argi array data address

◆ argiFree()

ARGI_t argiFree ( ARGI_t  argi)

Destroy an argi array.

Parameters
argiargi array
Returns
NULL always

◆ argvAdd()

int argvAdd ( ARGV_t argvp,
const char *  val 
)

Add a string to an argv array.

Parameters
[out]*argvpargv array
valstring arg to append
Returns
0 always

◆ argvAddN()

int argvAddN ( ARGV_t argvp,
const char *  val,
size_t  len 
)

Add a string to an argv array, does not need to be nil-terminated.

Parameters
[out]*argvpargv array
valstring arg to append
lenstring arg length
Returns
0 always

◆ argvAddNum()

int argvAddNum ( ARGV_t argvp,
int  val 
)

Add a number to an argv array (converting to a string).

Parameters
[out]*argvpargv array
valnumeric arg to append
Returns
0 always

◆ argvAppend()

int argvAppend ( ARGV_t argvp,
ARGV_const_t  av 
)

Append one argv array to another.

Parameters
[out]*argvpargv array
avargv array to append
Returns
0 always

◆ argvCmp()

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

Compare argv arrays (qsort/bsearch).

Parameters
a1st instance address
b2nd instance address
Returns
result of comparison

◆ argvCount()

int argvCount ( ARGV_const_t  argv)

Return no.

of elements in argv array.

Parameters
argvargv array
Returns
no. of elements

◆ argvData()

ARGV_t argvData ( ARGV_t  argv)

Return data from argv array.

Parameters
argvargv array
Returns
argv array data address

◆ argvFree()

ARGV_t argvFree ( ARGV_t  argv)

Destroy an argv array.

Parameters
argvargv array
Returns
NULL always

◆ argvJoin()

char* argvJoin ( ARGV_const_t  argv,
const char *  sep 
)

Join an argv array into a string.

Parameters
*argvargv array to join
sepseparator string to use
Returns
malloc'ed string

◆ argvNew()

ARGV_t argvNew ( void  )

Create an empty argv array.

Returns
pointer to empty argv

◆ argvPrint()

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

Print argv array elements.

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

◆ argvSearch()

ARGV_t argvSearch ( ARGV_const_t  argv,
const char *  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)

◆ argvSort()

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

◆ argvSplit()

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

Split a string into an argv array.

Parameters
[out]*argvpargv array
strstring arg to split
sepsseparator characters
Returns
0 always

◆ argvSplitString()

ARGV_t argvSplitString ( const char *  str,
const char *  seps,
argvFlags  flags 
)

Split a string into an argv array.

Parameters
strstring arg to split
sepsseparator characters
flagsflags to control behavior
Returns
argv array