version 1.9, 2022/04/03 09:14:25 |
version 1.10, 2022/04/03 11:01:52 |
|
|
#include <syslog.h> |
#include <syslog.h> |
#include <time.h> |
#include <time.h> |
|
|
static int log_bgnd; |
static int log_bgnd; |
static int log_verb; |
static int log_verb; |
const char *log_name; |
const char *log_name; |
|
|
void log_init(int, int); |
void log_init(int, int); |
void log_set(int); |
void log_set(int); |
|
|
void |
void |
log_send(const char *info, va_list ap) |
log_send(const char *info, va_list ap) |
{ |
{ |
|
char *ninf; |
|
|
if (info != NULL) { |
if (info != NULL) { |
if (log_bgnd) |
if (log_bgnd) |
vsyslog(LOG_INFO, info, ap); |
vsyslog(LOG_INFO, info, ap); |
else { |
else { |
vfprintf(stderr, info, ap); |
if (asprintf(&ninf, "%s\n", info) == -1) { |
fprintf(stderr, "\n"); |
vfprintf(stderr, info, ap); |
|
fprintf(stderr, "\n"); |
|
} else { |
|
vfprintf(stderr, ninf, ap); |
|
free(ninf); |
|
} |
|
fflush(stderr); |
} |
} |
} |
} |
} |
} |
Line 103 log_debug(const char *info, ...) |
|
Line 111 log_debug(const char *info, ...) |
|
void |
void |
log_fatal(const char *info, ...) |
log_fatal(const char *info, ...) |
{ |
{ |
extern struct blind *bl; |
extern struct blind *bl; |
|
static char s[BUFSIZ]; |
va_list ap; |
va_list ap; |
|
|
va_start(ap, info); |
va_start(ap, info); |
log_send(info, ap); |
if (info != NULL) |
|
(void)vsnprintf(s, sizeof(s), info, ap); |
|
else |
|
s[0] = '\0'; |
|
if (errno) |
|
log_info("%s: %s", strerror(errno), s); |
|
else |
|
log_info("Unknown error: %s", s); |
va_end(ap); |
va_end(ap); |
log_info("%s", strerror(errno)); |
if (bl != NULL) |
if (bl != NULL) |
free(bl); |
free(bl); |
|
exit(1); |
exit(1); |
} |
} |