rpmlog.c File Reference
RPMIO.
`#include "system.h"`
`#include <stdarg.h>`
`#include <rpmlog.h>`
`#include "debug.h"`
Include dependency graph for rpmlog.c:

Go to the source code of this file.

## Macros

#define | _RPMLOG_INTERNAL

## Functions

static void * | _free (const void *p)
| Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. More...
int | rpmlogGetNrecs (void)
| Return number of messages. More...
int | rpmlogCode (void)
| Return error code from last rpmError() message. More...
const char * | rpmlogMessage (void)
| Return text of last rpmError() message. More...
const char * | rpmlogRecMessage (rpmlogRec rec)
| Retrieve log message string from rpmlog record. More...
rpmlogLvl | rpmlogRecPriority (rpmlogRec rec)
| Retrieve log priority from rpmlog record. More...
void | rpmlogPrint (FILE *f)
| Print all rpmError() messages. More...
void | rpmlogClose (void)
| Close desriptor used to write to system logger. More...
void | rpmlogOpen (const char *ident, int option, int facility)
| Open connection to system logger. More...
int | rpmlogSetMask (int mask)
| Set the log mask level. More...
rpmlogCallback | rpmlogSetCallback (rpmlogCallback cb, rpmlogCallbackData data)
| Set rpmlog callback function. More...
void | rpmlogGetCallback (rpmlogCallback *cb, rpmlogCallbackData *data)
| Get rpmlog callback function and data. More...
static int | rpmlogDefault (rpmlogRec rec)
FILE * | rpmlogSetFile (FILE *fp)
| Set rpmlog file handle. More...
const char * | rpmlogLevelPrefix (rpmlogLvl pri)
| Return translated prefix string (if any) given log level. More...
static int | vsnprintf (char *buf, int nb, const char *fmt, va_list ap)
void | vrpmlog (unsigned code, const char *fmt, va_list ap)
| Same as _rpmlog with stdarg argument list. More...
void | _rpmlog (int code, const char *fmt,...)
| Generate a log message using FMT string and option arguments. More...

## Variables

static int | nrecs = 0
static rpmlogRec | recs = NULL
static unsigned | rpmlogMask = RPMLOG_UPTO( RPMLOG_NOTICE )
static rpmlogCallback | _rpmlogCallback
static rpmlogCallbackData | _rpmlogCallbackData
static FILE * | _stdlog = NULL
static const char * | rpmlogMsgPrefix []

## Macro Definition Documentation

#define _RPMLOG_INTERNAL

Definition at line 7 of file rpmlog.c.

## Function Documentation

static void* _free | ( | const void * | p | ) |

inlinestatic

Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.

Parameters

  p | memory to free

Return values

  NULL | always

Definition at line 24 of file rpmlog.c.

Referenced by rpmlogClose(), and vrpmlog().

void _rpmlog | ( | int | code,
|  | const char * | fmt,
|  |  | ...
| ) |  |

Generate a log message using FMT string and option arguments.

Note: inline'd to avoid debugging insturmentation overhead.

Definition at line 294 of file rpmlog.c.

References vrpmlog().

void rpmlogClose | ( | void |  | ) |

Close desriptor used to write to system logger.

Todo:
  Implement.

Definition at line 78 of file rpmlog.c.

References _free(), nrecs, and recs.

Referenced by rpmioClean().

int rpmlogCode | ( | void |  | ) |

Return error code from last rpmError() message.

Deprecated:
  Perl-RPM needs, what's really needed is predictable, non-i18n encumbered, error text that can be retrieved through rpmlogMessage() and parsed IMHO.

Returns
  code from last message

Definition at line 35 of file rpmlog.c.

References nrecs, and recs.

static int rpmlogDefault | ( | rpmlogRec | rec | ) |

static

Definition at line 144 of file rpmlog.c.

References _stdlog, RPMLOG_ALERT, RPMLOG_CRIT, RPMLOG_DEBUG, RPMLOG_EMERG, RPMLOG_ERR, RPMLOG_EXIT, RPMLOG_INFO, RPMLOG_NOTICE, RPMLOG_WARNING, and rpmlogLevelPrefix().

Referenced by vrpmlog().

void rpmlogGetCallback | ( | rpmlogCallback * | cb,
|  | rpmlogCallbackData * | data
| ) |  |

Get rpmlog callback function and data.

Parameters

  cb | pointer to rpmlog callback function
  data | pointer to callback private (user) data

Returns
  none

Definition at line 133 of file rpmlog.c.

References _rpmlogCallback, and _rpmlogCallbackData.

int rpmlogGetNrecs | ( | void |  | ) |

Return number of messages.

Returns
  number of messages

Definition at line 30 of file rpmlog.c.

References nrecs.

Referenced by buildSpec().

const char* rpmlogLevelPrefix | ( | rpmlogLvl | pri | ) |

Return translated prefix string (if any) given log level.

Parameters

  pri | log priority

Returns
  message prefix (or "" for none)

Definition at line 197 of file rpmlog.c.

References rpmlogMsgPrefix.

Referenced by rpmlogDefault().

const char* rpmlogMessage | ( | void |  | ) |

Return text of last rpmError() message.

Returns
  text of last message

Definition at line 42 of file rpmlog.c.

References _, nrecs, and recs.

void rpmlogOpen | ( | const char * | ident,
|  | int | option,
|  | int | facility
| ) |  |

Open connection to system logger.

Todo:
  Implement.

Definition at line 93 of file rpmlog.c.

void rpmlogPrint | ( | FILE * | f | ) |

Print all rpmError() messages.

Parameters

  f | file handle (NULL uses stderr)

Definition at line 62 of file rpmlog.c.

References nrecs, and recs.

Referenced by buildSpec().

const char* rpmlogRecMessage | ( | rpmlogRec | rec | ) |

Retrieve log message string from rpmlog record.

Parameters

  rec | rpmlog record

Returns
  log message

Definition at line 49 of file rpmlog.c.

rpmlogLvl rpmlogRecPriority | ( | rpmlogRec | rec | ) |

Retrieve log priority from rpmlog record.

Parameters

  rec | rpmlog record

Returns
  log priority

Definition at line 55 of file rpmlog.c.

rpmlogCallback rpmlogSetCallback | ( | rpmlogCallback | cb,
|  | rpmlogCallbackData | data
| ) |  |

Set rpmlog callback function.

Parameters

  cb | rpmlog callback function
  data | callback private (user) data

Returns
  previous rpmlog callback function

Definition at line 123 of file rpmlog.c.

References _rpmlogCallback, and _rpmlogCallbackData.

FILE* rpmlogSetFile | ( | FILE * | fp | ) |

Set rpmlog file handle.

Parameters

  fp | rpmlog file handle (NULL uses stdout/stderr)

Returns
  previous rpmlog file handle

Definition at line 174 of file rpmlog.c.

References _stdlog.

Referenced by setLogFile().

int rpmlogSetMask | ( | int | mask | ) |

Set the log mask level.

Parameters

  mask | log mask (0 is no operation)

Returns
  previous log mask

Definition at line 107 of file rpmlog.c.

References rpmlogMask.

Referenced by doFoo(), and rpmlog().

void vrpmlog | ( | unsigned | code,
|  | const char * | fmt,
|  | va_list | ap
| ) |  |

Same as _rpmlog with stdarg argument list.

Definition at line 213 of file rpmlog.c.

References _free(), _rpmlogCallback, _rpmlogCallbackData, EXIT_FAILURE, nrecs, recs, RPMLOG_DEFAULT, RPMLOG_EXIT, RPMLOG_FAC, RPMLOG_MASK, RPMLOG_PRI, RPMLOG_WARNING, rpmlogDefault(), rpmlogMask, vsnprintf(), xmalloc(), xrealloc(), and xstrdup().

Referenced by _rpmlog(), and rpmlog().

static int vsnprintf | ( | char * | buf,
|  | int | nb,
|  | const char * | fmt,
|  | va_list | ap
| ) |  |

inlinestatic

Definition at line 203 of file rpmlog.c.

Referenced by vrpmlog().

## Variable Documentation

rpmlogCallback _rpmlogCallback

static

Definition at line 118 of file rpmlog.c.

Referenced by rpmlogGetCallback(), rpmlogSetCallback(), and vrpmlog().

rpmlogCallbackData _rpmlogCallbackData

static

Definition at line 121 of file rpmlog.c.

Referenced by rpmlogGetCallback(), rpmlogSetCallback(), and vrpmlog().

FILE* _stdlog = NULL

static

Definition at line 142 of file rpmlog.c.

Referenced by rpmlogDefault(), and rpmlogSetFile().

int nrecs = 0

static

Definition at line 14 of file rpmlog.c.

Referenced by rpmlogClose(), rpmlogCode(), rpmlogGetNrecs(), rpmlogMessage(), rpmlogPrint(), and vrpmlog().

rpmlogRec recs = NULL

static

Definition at line 16 of file rpmlog.c.

Referenced by dbiAppendSet(), handleOverlappedFiles(), rpmlogClose(), rpmlogCode(), rpmlogMessage(), rpmlogPrint(), and vrpmlog().

unsigned rpmlogMask = RPMLOG_UPTO( RPMLOG_NOTICE )

static

Definition at line 100 of file rpmlog.c.

Referenced by rpmlogSetMask(), and vrpmlog().

const char* rpmlogMsgPrefix[]

static

Initial value:
= {
N_("fatal error: "),
N_("fatal error: "),
N_("fatal error: "),
N_("error: "),
N_("warning: "),
"",
"",
"D: ",
}

Definition at line 185 of file rpmlog.c.

Referenced by rpmlogLevelPrefix().