diff options
author | bug1 <bug1@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2002-11-10 21:33:28 +0000 |
---|---|---|
committer | bug1 <bug1@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2002-11-10 21:33:28 +0000 |
commit | 6585a5fc0ae9f48742c7ab8d7a4fb18192cee04e (patch) | |
tree | 88af504fae635390309cb999382c781c4f46ed0e | |
parent | d9a4f2edb68e2900955ca0646b7681f6c7be99e7 (diff) | |
download | busybox-w32-6585a5fc0ae9f48742c7ab8d7a4fb18192cee04e.tar.gz busybox-w32-6585a5fc0ae9f48742c7ab8d7a4fb18192cee04e.tar.bz2 busybox-w32-6585a5fc0ae9f48742c7ab8d7a4fb18192cee04e.zip |
last_patch57 from Vladimir N. Oleynik
git-svn-id: svn://busybox.net/trunk/busybox@5900 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r-- | sysklogd/logger.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/sysklogd/logger.c b/sysklogd/logger.c index 4aa15101a..bb63975e7 100644 --- a/sysklogd/logger.c +++ b/sysklogd/logger.c | |||
@@ -105,8 +105,8 @@ extern int logger_main(int argc, char **argv) | |||
105 | { | 105 | { |
106 | int pri = LOG_USER | LOG_NOTICE; | 106 | int pri = LOG_USER | LOG_NOTICE; |
107 | int option = 0; | 107 | int option = 0; |
108 | int c, i, len, opt; | 108 | int c, i, opt; |
109 | char *message=NULL, buf[1024], name[128]; | 109 | char buf[1024], name[128]; |
110 | 110 | ||
111 | /* Fill out the name string early (may be overwritten later) */ | 111 | /* Fill out the name string early (may be overwritten later) */ |
112 | my_getpwuid(name, geteuid()); | 112 | my_getpwuid(name, geteuid()); |
@@ -143,16 +143,21 @@ extern int logger_main(int argc, char **argv) | |||
143 | } | 143 | } |
144 | } while (c != EOF); | 144 | } while (c != EOF); |
145 | } else { | 145 | } else { |
146 | len = 1; /* for the '\0' */ | 146 | char *message = NULL; |
147 | message = xcalloc(1, 1); | 147 | int len = argc - optind; /* for the space between the args |
148 | for (i = optind; i < argc; i++) { | 148 | and '\0' */ |
149 | len += strlen(argv[i]); | 149 | opt = len; |
150 | len += 1; /* for the space between the args */ | 150 | argv += optind; |
151 | for (i = 0; i < opt; i++) { | ||
152 | len += strlen(*argv); | ||
151 | message = xrealloc(message, len); | 153 | message = xrealloc(message, len); |
152 | strcat(message, argv[i]); | 154 | if(!i) |
155 | message[0] = 0; | ||
156 | else | ||
153 | strcat(message, " "); | 157 | strcat(message, " "); |
158 | strcat(message, *argv); | ||
159 | argv++; | ||
154 | } | 160 | } |
155 | message[strlen(message) - 2] = '\0'; | ||
156 | syslog(pri, "%s", message); | 161 | syslog(pri, "%s", message); |
157 | } | 162 | } |
158 | 163 | ||