logging: fix printing of '\0' when filename printed last

As was demonstrated in I54bf5e5c036efb1908232fe3d8e8e2989715fbb3,
when the logging is configured to print the filename *after* the
logging message, each logging line contains an artifact - '\0'.

The problem is that the 'len' variable is not updated.  Fix this.

Change-Id: I5c920a0d5c1cf45bcdd327b39e33d63346b4f51c
Fixes: I393907b3c9e0cc1145e102328adad0a83ee13a9f
This commit is contained in:
Vadim Yanitskiy 2022-01-29 20:34:45 +06:00 committed by fixeria
parent 09d6574a45
commit 83f423b11e
2 changed files with 2 additions and 0 deletions

View File

@ -586,6 +586,7 @@ static int _output_buf(char *buf, int buf_len, struct log_target *target, unsign
break;
case LOG_FILENAME_PATH:
offset--;
len--;
ret = snprintf(buf + offset, rem, " (%s:%d)\n", file, line);
if (ret < 0)
goto err;
@ -593,6 +594,7 @@ static int _output_buf(char *buf, int buf_len, struct log_target *target, unsign
break;
case LOG_FILENAME_BASENAME:
offset--;
len--;
ret = snprintf(buf + offset, rem, " (%s:%d)\n", const_basename(file), line);
if (ret < 0)
goto err;