aboutsummaryrefslogtreecommitdiff
path: root/sysklogd/logger.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-06-11 15:43:19 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-06-11 15:43:19 +0000
commitbd1aeeb850e441e3fa4f9e1f8aedd804a48b9cb1 (patch)
treebcd130850cb83d83b7fa2860f741b8451ae3fdcb /sysklogd/logger.c
parent87f40bac149dcaf1025abd745decafb3a8ac4e0c (diff)
downloadbusybox-w32-bd1aeeb850e441e3fa4f9e1f8aedd804a48b9cb1.tar.gz
busybox-w32-bd1aeeb850e441e3fa4f9e1f8aedd804a48b9cb1.tar.bz2
busybox-w32-bd1aeeb850e441e3fa4f9e1f8aedd804a48b9cb1.zip
logger: "clean up" a dirty hack a bit
Diffstat (limited to 'sysklogd/logger.c')
-rw-r--r--sysklogd/logger.c31
1 files changed, 6 insertions, 25 deletions
diff --git a/sysklogd/logger.c b/sysklogd/logger.c
index 090750173..625811356 100644
--- a/sysklogd/logger.c
+++ b/sysklogd/logger.c
@@ -7,34 +7,13 @@
7 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 7 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
8 */ 8 */
9 9
10/*
11 * Done in syslogd_and_logger.c:
10#include "libbb.h" 12#include "libbb.h"
11#ifndef CONFIG_SYSLOGD
12#define SYSLOG_NAMES 13#define SYSLOG_NAMES
13#define SYSLOG_NAMES_CONST 14#define SYSLOG_NAMES_CONST
14#include <syslog.h> 15#include <syslog.h>
15#else 16*/
16/* brokenness alert. Everybody except dietlibc get's this wrong by neither
17 * providing a typedef nor an extern for facilitynames and prioritynames
18 * in syslog.h.
19 */
20# include <syslog.h>
21# ifndef __dietlibc__
22/* We have to do this since the header file does neither provide a sane type
23 * for this structure nor extern definitions. Argh.... bad libc, bad, bad...
24 */
25typedef struct _code {
26 char *c_name; /* FIXME: this should be const char *const c_name ! */
27 int c_val;
28} CODE;
29# ifdef __UCLIBC__
30extern const CODE prioritynames[];
31extern const CODE facilitynames[];
32# else
33extern CODE prioritynames[];
34extern CODE facilitynames[];
35# endif
36# endif
37#endif
38 17
39/* Decode a symbolic name to a numeric value 18/* Decode a symbolic name to a numeric value
40 * this function is based on code 19 * this function is based on code
@@ -87,6 +66,7 @@ static int pencode(char *s)
87 return ((lev & LOG_PRIMASK) | (fac & LOG_FACMASK)); 66 return ((lev & LOG_PRIMASK) | (fac & LOG_FACMASK));
88} 67}
89 68
69#define strbuf bb_common_bufsiz1
90 70
91int logger_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 71int logger_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
92int logger_main(int argc, char **argv) 72int logger_main(int argc, char **argv)
@@ -113,7 +93,6 @@ int logger_main(int argc, char **argv)
113 argc -= optind; 93 argc -= optind;
114 argv += optind; 94 argv += optind;
115 if (!argc) { 95 if (!argc) {
116#define strbuf bb_common_bufsiz1
117 while (fgets(strbuf, COMMON_BUFSIZE, stdin)) { 96 while (fgets(strbuf, COMMON_BUFSIZE, stdin)) {
118 if (strbuf[0] 97 if (strbuf[0]
119 && NOT_LONE_CHAR(strbuf, '\n') 98 && NOT_LONE_CHAR(strbuf, '\n')
@@ -139,6 +118,8 @@ int logger_main(int argc, char **argv)
139 return EXIT_SUCCESS; 118 return EXIT_SUCCESS;
140} 119}
141 120
121/* Clean up. Needed because we are included from syslogd_and_logger.c */
122#undef strbuf
142 123
143/*- 124/*-
144 * Copyright (c) 1983, 1993 125 * Copyright (c) 1983, 1993