# rpmio/argv.c File Reference

`#include "system.h"`
`#include "rpmio_internal.h"`
`#include <rpmio.h>`
`#include <rpmurl.h>`
`#include <rpmpgp.h>`
`#include <rpmxar.h>`
`#include <argv.h>`
`#include "debug.h"`
Include dependency graph for argv.c:
This graph shows which files directly or indirectly include this file:

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 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.c.

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