未验证 提交 4539172f 编写于 作者: B Bernard Xiong 提交者: GitHub

Merge pull request #2687 from armink/fix_ulog

[components][ulog] Fix the log length error when using multiple non-c…
/* /*
* Copyright (c) 2006-2018, RT-Thread Development Team * Copyright (c) 2006-2019, RT-Thread Development Team
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
* *
...@@ -403,15 +403,15 @@ void ulog_output_to_all_backend(rt_uint32_t level, const char *tag, rt_bool_t is ...@@ -403,15 +403,15 @@ void ulog_output_to_all_backend(rt_uint32_t level, const char *tag, rt_bool_t is
else else
{ {
/* recalculate the log start address and log size when backend not supported color */ /* recalculate the log start address and log size when backend not supported color */
rt_size_t color_info_len = rt_strlen(color_output_info[level]); rt_size_t color_info_len = rt_strlen(color_output_info[level]), output_size = size;
if (color_info_len) if (color_info_len)
{ {
rt_size_t color_hdr_len = rt_strlen(CSI_START) + color_info_len; rt_size_t color_hdr_len = rt_strlen(CSI_START) + color_info_len;
log += color_hdr_len; log += color_hdr_len;
size -= (color_hdr_len + (sizeof(CSI_END) - 1)); output_size -= (color_hdr_len + (sizeof(CSI_END) - 1));
} }
backend->output(backend, level, tag, is_raw, log, size); backend->output(backend, level, tag, is_raw, log, output_size);
} }
#endif /* !defined(ULOG_USING_COLOR) || defined(ULOG_USING_SYSLOG) */ #endif /* !defined(ULOG_USING_COLOR) || defined(ULOG_USING_SYSLOG) */
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册