mirror of
https://github.com/pygos/init.git
synced 2024-11-16 08:47:10 +01:00
usyslogd: do logfile lookup by facility number
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
This commit is contained in:
parent
f1cc12f55e
commit
8a8f49a501
3 changed files with 6 additions and 4 deletions
|
@ -25,7 +25,7 @@
|
||||||
#include "logfile.h"
|
#include "logfile.h"
|
||||||
|
|
||||||
|
|
||||||
logfile_t *logfile_create(const char *name)
|
logfile_t *logfile_create(const char *name, int facility)
|
||||||
{
|
{
|
||||||
logfile_t *file;
|
logfile_t *file;
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ logfile_t *logfile_create(const char *name)
|
||||||
}
|
}
|
||||||
|
|
||||||
strcpy(file->name, name);
|
strcpy(file->name, name);
|
||||||
|
file->facility = facility;
|
||||||
|
|
||||||
file->fd = open(file->name, O_WRONLY | O_CREAT, 0640);
|
file->fd = open(file->name, O_WRONLY | O_CREAT, 0640);
|
||||||
if (file->fd < 0)
|
if (file->fd < 0)
|
||||||
|
|
|
@ -20,12 +20,13 @@
|
||||||
|
|
||||||
typedef struct logfile_t {
|
typedef struct logfile_t {
|
||||||
struct logfile_t *next;
|
struct logfile_t *next;
|
||||||
|
int facility;
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
char name[];
|
char name[];
|
||||||
} logfile_t;
|
} logfile_t;
|
||||||
|
|
||||||
logfile_t *logfile_create(const char *name);
|
logfile_t *logfile_create(const char *name, int facility);
|
||||||
|
|
||||||
void logfile_destroy(logfile_t *file);
|
void logfile_destroy(logfile_t *file);
|
||||||
|
|
||||||
|
|
|
@ -134,12 +134,12 @@ static int print_to_log(const syslog_msg_t *msg)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
for (log = logfiles; log != NULL; log = log->next) {
|
for (log = logfiles; log != NULL; log = log->next) {
|
||||||
if (!strcmp(log->name, fac_name))
|
if (log->facility == msg->facility)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (log == NULL) {
|
if (log == NULL) {
|
||||||
log = logfile_create(fac_name);
|
log = logfile_create(fac_name, msg->facility);
|
||||||
if (log == NULL)
|
if (log == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
log->next = logfiles;
|
log->next = logfiles;
|
||||||
|
|
Loading…
Reference in a new issue