diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-11 19:43:19 +0400 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-11 19:43:19 +0400 |
commit | bd1aeeb850e441e3fa4f9e1f8aedd804a48b9cb1 (patch) | |
tree | bcd130850cb83d83b7fa2860f741b8451ae3fdcb /sysklogd/syslogd_and_logger.c | |
parent | 87f40bac149dcaf1025abd745decafb3a8ac4e0c (diff) |
logger: "clean up" a dirty hack a bit
Diffstat (limited to 'sysklogd/syslogd_and_logger.c')
-rw-r--r-- | sysklogd/syslogd_and_logger.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/sysklogd/syslogd_and_logger.c b/sysklogd/syslogd_and_logger.c new file mode 100644 index 000000000..51573bd92 --- /dev/null +++ b/sysklogd/syslogd_and_logger.c @@ -0,0 +1,51 @@ +/* vi: set sw=4 ts=4: */ +/* + * prioritynames[] and facilitynames[] + * + * Copyright (C) 2008 by Denys Vlasenko <vda.linux@gmail.com> + * + * Licensed under GPLv2, see file LICENSE in this tarball for details. + */ + +#include "libbb.h" +#define SYSLOG_NAMES +#define SYSLOG_NAMES_CONST +#include <syslog.h> + +#if 0 +/* For the record: with SYSLOG_NAMES <syslog.h> defines + * (not declares) the following: + */ +typedef struct _code { + /*const*/ char *c_name; + int c_val; +} CODE; +/*const*/ CODE prioritynames[] = { + { "alert", LOG_ALERT }, +... + { NULL, -1 } +}; +/* same for facilitynames[] */ + +/* This MUST occur only once per entire executable, + * therefore we can't just do it in syslogd.c and logger.c - + * there will be two copies of it. + * + * We cannot even do it in separate file and then just reference + * prioritynames[] from syslogd.c and logger.c - bare <syslog.h> + * will not emit extern decls for prioritynames[]! Attempts to + * emit "matching" struct _code declaration defeat the whole purpose + * of <syslog.h>. + * + * For now, syslogd.c and logger.c are simply compiled into + * one object file. + */ +#endif + +#if ENABLE_SYSLOGD +#include "syslogd.c" +#endif + +#if ENABLE_LOGGER +#include "logger.c" +#endif |