syslog: optimize init logic for early buffer initialize
N/A Change-Id: I3295803977fa51e8ed8dedf7f0966b9604f8204d Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
This commit is contained in:
parent
4bb48892d0
commit
0c3cb0cb66
|
@ -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)
|
void syslog_rpmsg_init_early(FAR void *buffer, size_t size)
|
||||||
{
|
{
|
||||||
FAR struct syslog_rpmsg_s *priv = &g_syslog_rpmsg;
|
FAR struct syslog_rpmsg_s *priv = &g_syslog_rpmsg;
|
||||||
char prev, cur;
|
char prev;
|
||||||
|
char cur;
|
||||||
size_t i;
|
size_t i;
|
||||||
size_t j;
|
size_t j;
|
||||||
|
|
||||||
|
@ -364,15 +365,14 @@ void syslog_rpmsg_init_early(FAR void *buffer, size_t size)
|
||||||
|
|
||||||
if (!isascii(cur))
|
if (!isascii(cur))
|
||||||
{
|
{
|
||||||
goto out;
|
memset(priv->buffer, 0, size);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
else if (prev && !cur)
|
||||||
if (prev && !cur)
|
|
||||||
{
|
{
|
||||||
priv->head = C2B(i) + j;
|
priv->head = C2B(i) + j;
|
||||||
}
|
}
|
||||||
|
else if (!prev && cur)
|
||||||
if (!prev && cur)
|
|
||||||
{
|
{
|
||||||
priv->tail = i;
|
priv->tail = i;
|
||||||
}
|
}
|
||||||
|
@ -381,11 +381,9 @@ void syslog_rpmsg_init_early(FAR void *buffer, size_t size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
|
||||||
if (i != size)
|
if (i != size)
|
||||||
{
|
{
|
||||||
priv->head = priv->tail = 0;
|
priv->head = priv->tail = 0;
|
||||||
memset(priv->buffer, 0, size);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue