Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

lib/misc.h File Reference

More...

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.

char * stripTrailingChar (char *s, char c)
 Remove occurences of trailing character from string.

int dosetenv (const char *name, const char *value, int overwrite)
 Like the libc function, but malloc()'s the space needed.

int doputenv (const char *str)
 Like the libc function, but malloc()'s the space needed.

int makeTempFile (const char *prefix, const char **fnptr, FD_t *fdptr)
 Return file handle for a temporaray file.

char * currentDirectory (void)
 Return (malloc'd) current working directory.

int myGlobPatternP (const char *patternURL)
int rpmGlob (const char *patterns, int *argcPtr, const char ***argvPtr)


Detailed Description

Definition in file misc.h.


Function Documentation

char* currentDirectory void   ) 
 

Return (malloc'd) current working directory.

Returns:
current working directory (malloc'ed)

Definition at line 227 of file misc.c.

References errno, and xrealloc().

Referenced by rpmtsRun().

int doputenv const char *  str  ) 
 

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

Parameters:
str "name=value" string
Returns:
0 on success

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

Parameters:
name variable name
value variable value
overwrite should an existing variable be changed?
Returns:
0 on success

Definition at line 111 of file misc.c.

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

Referenced by checkPassPhrase(), makeGPGSignature(), and makePGPSignature().

void freeSplitString char **  list  ) 
 

Free split string argv array.

Parameters:
list argv array

Definition at line 93 of file misc.c.

References _free().

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

int makeTempFile const char *  prefix,
const char **  fnptr,
FD_t fdptr
 

Return file handle for a temporaray file.

A unique temporaray file path will be generated using rpmGenPath(prefix, "%{_tmppath}/", "rpm-tmp.XXXXX") where "XXXXXX" is filled in using rand(3). The file is opened, and the link count and (dev,ino) location are verified after opening. The file name and the open file handle are returned.

Parameters:
prefix leading part of temp file path
Return values:
fnptr temp file name (or NULL)
fdptr temp file handle
Returns:
0 on success

Definition at line 123 of file misc.c.

References _, _free(), errno, Fclose(), FD_t, Ferror(), Fileno(), Fopen(), RPMERR_SCRIPT, rpmError, rpmGenPath(), rpmioMkpath(), S_ISLNK, URL_IS_DASH, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

Referenced by doScript(), makeHDRSignature(), manageFile(), runScript(), and writeRPM().

int myGlobPatternP const char *  patternURL  ) 
 

Definition at line 246 of file misc.c.

References urlPath().

Referenced by initGlobs(), processBinaryFile(), and rpmGlob().

int rpmGlob const char *  patterns,
int *  argcPtr,
const char ***  argvPtr
 

Definition at line 284 of file misc.c.

References _debug, _free(), argv, Glob(), glob_error(), Globfree(), myGlobPatternP(), poptParseArgvString(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, urlPath(), xmalloc(), xrealloc(), and xstrdup().

Referenced by IDTXglob(), processBinaryFile(), rpmGraph(), rpmInstall(), rpmQueryVerify(), and rpmReadPackageManifest().

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 21 of file misc.c.

References _, Access(), errno, Mkdir(), RPMERR_CREATE, rpmError, rpmRC, RPMRC_FAIL, RPMRC_OK, Stat(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, urlPath(), and W_OK.

Referenced by main(), and rpmInstallSourcePackage().

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 54 of file misc.c.

References xmalloc().

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

char* stripTrailingChar char *  s,
char  c
[inline, static]
 

Remove occurences of trailing character from string.

Parameters:
s string
c character to strip
Returns:
string

Definition at line 48 of file misc.h.

Referenced by legacyRetrofit(), and relocateFileList().


Generated on Sun Jan 2 18:59:06 2005 for rpm by doxygen 1.3.5