diff --git a/drivers/syslog/syslog_rpmsg.c b/drivers/syslog/syslog_rpmsg.c index 168ea1bbed3..e39e8dbe3fe 100644 --- a/drivers/syslog/syslog_rpmsg.c +++ b/drivers/syslog/syslog_rpmsg.c @@ -347,7 +347,8 @@ ssize_t syslog_rpmsg_write(FAR struct syslog_channel_s *channel, void syslog_rpmsg_init_early(FAR void *buffer, size_t size) { FAR struct syslog_rpmsg_s *priv = &g_syslog_rpmsg; - char prev, cur; + char prev; + char cur; size_t i; size_t j; @@ -364,15 +365,14 @@ void syslog_rpmsg_init_early(FAR void *buffer, size_t size) if (!isascii(cur)) { - goto out; + memset(priv->buffer, 0, size); + break; } - - if (prev && !cur) + else if (prev && !cur) { priv->head = C2B(i) + j; } - - if (!prev && cur) + else if (!prev && cur) { priv->tail = i; } @@ -381,11 +381,9 @@ void syslog_rpmsg_init_early(FAR void *buffer, size_t size) } } -out: if (i != size) { priv->head = priv->tail = 0; - memset(priv->buffer, 0, size); } }