Blame debug.c

Packit ea8578
/*
Packit ea8578
 * $Id: debug.c,v 1.5 2006/01/26 02:16:28 mclark Exp $
Packit ea8578
 *
Packit ea8578
 * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd.
Packit ea8578
 * Michael Clark <michael@metaparadigm.com>
Packit ea8578
 *
Packit ea8578
 * This library is free software; you can redistribute it and/or modify
Packit ea8578
 * it under the terms of the MIT license. See COPYING for details.
Packit ea8578
 *
Packit ea8578
 */
Packit ea8578
Packit ea8578
#include "config.h"
Packit ea8578
Packit ea8578
#include <stdio.h>
Packit ea8578
#include <stdlib.h>
Packit ea8578
#include <string.h>
Packit ea8578
#include <stdarg.h>
Packit ea8578
Packit ea8578
#if HAVE_SYSLOG_H
Packit ea8578
# include <syslog.h>
Packit ea8578
#endif /* HAVE_SYSLOG_H */
Packit ea8578
Packit ea8578
#if HAVE_UNISTD_H
Packit ea8578
# include <unistd.h>
Packit ea8578
#endif /* HAVE_UNISTD_H */
Packit ea8578
Packit ea8578
#if HAVE_SYS_PARAM_H
Packit ea8578
#include <sys/param.h>
Packit ea8578
#endif /* HAVE_SYS_PARAM_H */
Packit ea8578
Packit ea8578
#include "debug.h"
Packit ea8578
Packit ea8578
static int _syslog = 0;
Packit ea8578
static int _debug = 0;
Packit ea8578
Packit ea8578
void mc_set_debug(int debug) { _debug = debug; }
Packit ea8578
int mc_get_debug(void) { return _debug; }
Packit ea8578
Packit ea8578
extern void mc_set_syslog(int syslog)
Packit ea8578
{
Packit ea8578
  _syslog = syslog;
Packit ea8578
}
Packit ea8578
Packit ea8578
void mc_debug(const char *msg, ...)
Packit ea8578
{
Packit ea8578
  va_list ap;
Packit ea8578
  if(_debug) {
Packit ea8578
    va_start(ap, msg);
Packit ea8578
#if HAVE_VSYSLOG
Packit ea8578
    if(_syslog) {
Packit ea8578
		vsyslog(LOG_DEBUG, msg, ap);
Packit ea8578
	} else
Packit ea8578
#endif
Packit ea8578
		vprintf(msg, ap);
Packit ea8578
    va_end(ap);
Packit ea8578
  }
Packit ea8578
}
Packit ea8578
Packit ea8578
void mc_error(const char *msg, ...)
Packit ea8578
{
Packit ea8578
  va_list ap;
Packit ea8578
  va_start(ap, msg);
Packit ea8578
#if HAVE_VSYSLOG
Packit ea8578
    if(_syslog) {
Packit ea8578
		vsyslog(LOG_ERR, msg, ap);
Packit ea8578
	} else
Packit ea8578
#endif
Packit ea8578
		vfprintf(stderr, msg, ap);
Packit ea8578
  va_end(ap);
Packit ea8578
}
Packit ea8578
Packit ea8578
void mc_info(const char *msg, ...)
Packit ea8578
{
Packit ea8578
  va_list ap;
Packit ea8578
  va_start(ap, msg);
Packit ea8578
#if HAVE_VSYSLOG
Packit ea8578
    if(_syslog) {
Packit ea8578
		vsyslog(LOG_INFO, msg, ap);
Packit ea8578
	} else
Packit ea8578
#endif
Packit ea8578
		vfprintf(stderr, msg, ap);
Packit ea8578
  va_end(ap);
Packit ea8578
}