 +        sm->msgid =
 +        sm->message = "-";
 +}
-+
+ 
  void server_forward_syslog(Server *s, int priority, const char *identifier, const char *message, const struct ucred *ucred, const struct timeval *tv) {
 -        struct iovec iovec[5];
 -        char header_priority[DECIMAL_STR_MAX(priority) + 3], header_time[64],
 -             header_pid[sizeof("[]: ")-1 + DECIMAL_STR_MAX(pid_t) + 1];
+-        int n = 0;
 +        struct iovec iovec[10];
-         int n = 0;
++        unsigned int n = 0;
          time_t t;
 -        struct tm *tm;
          char *ident_buf = NULL;

 
         if (s->forward_to_kmsg || s->server->forward_to_kmsg)
diff --git a/src/journal/journald-syslog.c b/src/journal/journald-syslog.c
index 5153fd0..19baa89 100644
--- a/src/journal/journald-syslog.c
+++ b/src/journal/journald-syslog.c
@@ -19,6 +19,9 @@

 #include <unistd.h>
 
 #include "sd-messages.h"
@@ -32,6 +35,7 @@
 #include "journald-server.h"
 #include "journald-syslog.h"
 #include "journald-wall.h"
+#include "parse-util.h"
 #include "process-util.h"
 #include "selinux-util.h"
 #include "socket-util.h"
@@ -116,6 +120,56 @@ static void forward_syslog_iovec(Server *s, const struct iovec *iovec, unsigned
                 log_debug_errno(errno, "Failed to forward syslog message: %m");
 }
 
