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_t * | ARGV_t
typedef uint32_t * | ARGint_t
typedef struct ARGI_s * | ARGI_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 | argvCmp (const void *a, const void *b)
| Compare argv arrays using strcmp (qsort/bsearch).
int | argvStrcasecmp (const void *a, const void *b)
| Compare argv arrays using strcasecmp (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.

## Detailed Description

Definition in file argv.h.

## Typedef Documentation

typedef struct ARGI_s* ARGI_t

Definition at line 16 of file argv.h.

typedef uint32_t* 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:

  *argip | argi array

Parameters:

  ix | argi array index (or -1 to append)
  val | int arg to add

Returns:
  0 always

Definition at line 151 of file argv.c.

References ARGI_s::nvals, 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:

  argi | argi array

Returns:
  no. of elements

Definition at line 50 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:

  argi | argi array

Returns:
  argi array data address

Definition at line 58 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:

  argi | argi 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:

  *argvp | argv array

Parameters:

  val | string arg to append

Returns:
  0 always

Definition at line 172 of file argv.c.

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

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

int argvAppend | ( | ARGV_t * | argvp,
|  | const ARGV_t | av
| ) |  |

Append one argv array to another.

Return values:

  *argvp | argv array

Parameters:

  av | argv array to append

Returns:
  0 always

Definition at line 189 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 using strcmp (qsort/bsearch).

Parameters:

  a | 1st instance address
  b | 2nd instance address

Returns:
  result of comparison

Definition at line 82 of file argv.c.

Referenced by argvSearch(), and argvSort().

int argvCount | ( | const ARGV_t | argv ) |

Return no.

of elements in argv array.

Parameters:

  argv | argv array

Returns:
  no. of elements

Definition at line 66 of file argv.c.

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

ARGV_t argvData | ( | ARGV_t | argv ) |

Return data from argv array.

Parameters:

  argv | argv 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:

  *argvp | argv array

Parameters:

  fd | rpmio FD_t (NULL uses stdin)

Returns:
  0 on success

Definition at line 265 of file argv.c.

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

Referenced by main().

ARGV_t argvFree | ( | ARGV_t | argv ) |

Destroy an argv array.

Parameters:

  argv | argv array

Returns:
  NULL always

Definition at line 39 of file argv.c.

References _free().

Referenced by argvFgets(), delTE(), missingokTag(), packageSources(), rpmcliInstall(), rpmdsNew(), rpmfcClassify(), rpmfcExec(), rpmfcFree(), rpmfcGenerateDepends(), rpmfcHelper(), rpmfiNew(), rpmgiFree(), rpmgiGlobArgv(), rpmtsFree(), tagClean(), tagLoadATags(), and unsatisfiedDepend().

char* argvJoin | ( | ARGV_t | argv ) |

Concatenate an argv array into a string.

Parameters:

  argv | argv array

Returns:
  concatenated string

Definition at line 241 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:

  msg | output message prefix (or NULL)
  argv | argv array
  fp | output file handle (NULL uses stderr)

Definition at line 14 of file argv.c.

Referenced by rpmtsFree().

ARGV_t argvSearch | ( | ARGV_t | argv,
|  | ARGstr_t | val,
|  | int(*)(const void *, const void *) | compar
| ) |  |

Find an element in an argv array.

Parameters:

  argv | argv array
  val | string to find
  compar | strcmp-like comparison function, or NULL for argvCmp()

Returns:
  found string (NULL on failure)

Definition at line 120 of file argv.c.

References argvCmp(), and argvCount().

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

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

Sort an argv array.

Parameters:

  argv | argv array
  compar | strcmp-like comparison function, or NULL for argvCmp()

Returns:
  0 always

Definition at line 112 of file argv.c.

References argvCmp(), and argvCount().

Referenced by main(), rpmfcSaveArg(), and tagLoadATags().

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

Split a string into an argv array.

Return values:

  *argvp | argv array

Parameters:

  str | string arg to split
  seps | separator characters (NULL is C isspace() chars)

Returns:
  0 always

Definition at line 204 of file argv.c.

References xmalloc(), and xstrdup().

Referenced by _RequestPass(), rpmfcHelper(), tagLoadATags(), and unsatisfiedDepend().

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

Compare argv arrays using strcasecmp (qsort/bsearch).

Parameters:

  a | 1st instance address
  b | 2nd instance address

Returns:
  result of comparison

Definition at line 89 of file argv.c.

References xstrcasecmp().

Referenced by findPreambleTag(), and isPart().