diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-11 15:43:19 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-11 15:43:19 +0000 |
commit | bd1aeeb850e441e3fa4f9e1f8aedd804a48b9cb1 (patch) | |
tree | bcd130850cb83d83b7fa2860f741b8451ae3fdcb /sysklogd/logger.c | |
parent | 87f40bac149dcaf1025abd745decafb3a8ac4e0c (diff) | |
download | busybox-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.c | 31 |
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 | */ | ||
25 | typedef struct _code { | ||
26 | char *c_name; /* FIXME: this should be const char *const c_name ! */ | ||
27 | int c_val; | ||
28 | } CODE; | ||
29 | # ifdef __UCLIBC__ | ||
30 | extern const CODE prioritynames[]; | ||
31 | extern const CODE facilitynames[]; | ||
32 | # else | ||
33 | extern CODE prioritynames[]; | ||
34 | extern 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 | ||
91 | int logger_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 71 | int logger_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
92 | int logger_main(int argc, char **argv) | 72 | int 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 |