# lib/misc.c File Reference

`#include "system.h"`
`#include <rpmio.h>`
`#include <rpmlog.h>`
`#include <rpmurl.h>`
`#include <rpmmacro.h>`
`#include <rpmlib.h>`
`#include "misc.h"`
`#include <string.h>`
`#include "debug.h"`
Include dependency graph for misc.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Functions

rpmRC | rpmMkdirPath (const char *dpath, const char *dname)
| Create directory if it does not exist, and make sure path is writable.
char ** | splitString (const char *str, int length, char sep)
| Split string into fields separated by a character.
void | freeSplitString (char **list)
| Free split string argv array.
int | doputenv (const char *str)
| Like the libc function, but malloc()'s the space needed.
int | dosetenv (const char *name, const char *value, int overwrite)
| Like the libc function, but malloc()'s the space needed.
char * | currentDirectory (void)
| Return (malloc'd) current working directory.

## Variables

const char * | RPMVERSION = VERSION

## Detailed Description

Definition in file misc.c.

## Function Documentation

char* currentDirectory | ( | void |  | ) |

Return (malloc'd) current working directory.

Returns:
  current working directory (malloc'ed)

Definition at line 116 of file misc.c.

References errno, and xrealloc().

Referenced by rpmQueryVerify(), and rpmtsRun().

int doputenv | ( | const char * | str | ) |

Like the libc function, but malloc()'s the space needed.

Deprecated:
  Use setenv(3) instead.

Parameters:

  | str | "name=value" string

Returns:
  0 on success

Definition at line 94 of file misc.c.

References xmalloc().

Referenced by runScript().

int dosetenv | ( | const char * | name,
|  | const char * | value,
|  | int | overwrite |
| ) |  |  |

Like the libc function, but malloc()'s the space needed.

Deprecated:
  Use setenv(3) instead.

Parameters:

  | name | variable name
  | value | variable value
  | overwrite | should an existing variable be changed?

Returns:
  0 on success

Definition at line 104 of file misc.c.

References getenv(), stpcpy(), and xmalloc().

void freeSplitString | ( | char ** | list | ) |

Free split string argv array.

Parameters:

  | list | argv array

Definition at line 86 of file misc.c.

References _free().

Referenced by parsePrep(), processPackageFiles(), processSourceFiles(), and skipFiles().

rpmRC rpmMkdirPath | ( | const char * | dpath,
|  | const char * | dname |
| ) |  |  |

Create directory if it does not exist, and make sure path is writable.

Note:
  This will only create last component of directory path.

Parameters:

  | dpath | directory path
  | dname | directory use string

Returns:
  rpmRC return code

Definition at line 18 of file misc.c.

References _, errno, Mkdir(), rpmlog(), RPMLOG_ERR, RPMRC_FAIL, RPMRC_OK, Stat(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

Referenced by prepFetch(), rpmInstallSourcePackage(), and rpmpsmStage().

char** splitString | ( | const char * | str,
|  | int | length,
|  | char | sep |
| ) |  |  |

Split string into fields separated by a character.

Parameters:

  | str | string
  | length | length of string
  | sep | separator character

Returns:
  (malloc'd) argv array

Definition at line 48 of file misc.c.

References xmalloc().

Referenced by parsePrep(), processPackageFiles(), processSourceFiles(), and skipFiles().

## Variable Documentation

const char* RPMVERSION = VERSION

Definition at line 8 of file misc.c.

Referenced by rpmcliImportPubkey(), and rpmtsImportPubkey().