From bd1aeeb850e441e3fa4f9e1f8aedd804a48b9cb1 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Wed, 11 Jun 2008 15:43:19 +0000 Subject: logger: "clean up" a dirty hack a bit --- sysklogd/syslogd_and_logger.c | 51 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 sysklogd/syslogd_and_logger.c (limited to 'sysklogd/syslogd_and_logger.c') 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 + * + * Licensed under GPLv2, see file LICENSE in this tarball for details. + */ + +#include "libbb.h" +#define SYSLOG_NAMES +#define SYSLOG_NAMES_CONST +#include + +#if 0 +/* For the record: with SYSLOG_NAMES 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 + * will not emit extern decls for prioritynames[]! Attempts to + * emit "matching" struct _code declaration defeat the whole purpose + * of . + * + * 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 -- cgit v1.2.3