aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbug1 <bug1@69ca8d6d-28ef-0310-b511-8ec308f3f277>2002-11-10 21:33:28 +0000
committerbug1 <bug1@69ca8d6d-28ef-0310-b511-8ec308f3f277>2002-11-10 21:33:28 +0000
commit6585a5fc0ae9f48742c7ab8d7a4fb18192cee04e (patch)
tree88af504fae635390309cb999382c781c4f46ed0e
parentd9a4f2edb68e2900955ca0646b7681f6c7be99e7 (diff)
downloadbusybox-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.c23
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