aboutsummaryrefslogtreecommitdiff
path: root/sysklogd
diff options
context:
space:
mode:
Diffstat (limited to 'sysklogd')
-rw-r--r--sysklogd/logger.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/sysklogd/logger.c b/sysklogd/logger.c
index 1ed6dc639..1c454e5af 100644
--- a/sysklogd/logger.c
+++ b/sysklogd/logger.c
@@ -149,10 +149,19 @@ extern int logger_main(int argc, char **argv)
}
message = buf;
} else {
- if (argc >= 1)
- message = *argv;
- else
+ if (argc >= 1) {
+ int len = 1; /* for the '\0' */
+ for (; *argv != NULL; argv++) {
+ len += strlen(*argv);
+ len += 1; /* for the space between the args */
+ message = xrealloc(message, len);
+ strcat(message, *argv);
+ strcat(message, " ");
+ }
+ message[strlen(message)-1] = '\0';
+ } else {
error_msg_and_die("No message\n");
+ }
}
openlog(name, option, (pri | LOG_FACMASK));