Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ihbai
rt-thread
提交
86a10716
R
rt-thread
项目概览
ihbai
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
86a10716
编写于
3月 06, 2022
作者:
mysterywolf
提交者:
GitHub
3月 07, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化ULOG_OUTPUT_FLOAT,避免使用内置libc的vsnprintf函数 (#5632)
上级
38ed2a3e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
2 addition
and
24 deletion
+2
-24
components/utilities/Kconfig
components/utilities/Kconfig
+1
-0
components/utilities/ulog/syslog/syslog.c
components/utilities/ulog/syslog/syslog.c
+0
-9
components/utilities/ulog/ulog.c
components/utilities/ulog/ulog.c
+1
-15
未找到文件。
components/utilities/Kconfig
浏览文件 @
86a10716
...
...
@@ -137,6 +137,7 @@ config RT_USING_ULOG
config ULOG_OUTPUT_FLOAT
bool "Enable float number support. It will using more thread stack."
default n
select PKG_USING_RT_VSNPRINTF_FULL
help
The default formater is using rt_vsnprint and it not supported float number.
When enable this option then it will enable libc. The formater will change to vsnprint on libc.
...
...
components/utilities/ulog/syslog/syslog.c
浏览文件 @
86a10716
...
...
@@ -14,10 +14,6 @@
#include <stdint.h>
#include "syslog.h"
#ifdef ULOG_OUTPUT_FLOAT
#include <stdio.h>
#endif
/*
* reference:
* http://pubs.opengroup.org/onlinepubs/7908799/xsh/syslog.h.html
...
...
@@ -227,12 +223,7 @@ RT_WEAK rt_size_t syslog_formater(char *log_buf, int level, const char *tag, rt_
#endif
/* ULOG_OUTPUT_THREAD_NAME */
log_len
+=
ulog_strcpy
(
log_len
,
log_buf
+
log_len
,
": "
);
#ifdef ULOG_OUTPUT_FLOAT
fmt_result
=
vsnprintf
(
log_buf
+
log_len
,
ULOG_LINE_BUF_SIZE
-
log_len
,
format
,
args
);
#else
fmt_result
=
rt_vsnprintf
(
log_buf
+
log_len
,
ULOG_LINE_BUF_SIZE
-
log_len
,
format
,
args
);
#endif
/* ULOG_OUTPUT_FLOAT */
/* calculate log length */
if
((
log_len
+
fmt_result
<=
ULOG_LINE_BUF_SIZE
)
&&
(
fmt_result
>
-
1
))
...
...
components/utilities/ulog/ulog.c
浏览文件 @
86a10716
...
...
@@ -16,10 +16,6 @@
#include <syslog.h>
#endif
#ifdef ULOG_OUTPUT_FLOAT
#include <stdio.h>
#endif
#ifdef ULOG_TIME_USING_TIMESTAMP
#include <sys/time.h>
#endif
...
...
@@ -367,12 +363,7 @@ RT_WEAK rt_size_t ulog_formater(char *log_buf, rt_uint32_t level, const char *ta
#endif
/* ULOG_OUTPUT_THREAD_NAME */
log_len
+=
ulog_strcpy
(
log_len
,
log_buf
+
log_len
,
": "
);
#ifdef ULOG_OUTPUT_FLOAT
fmt_result
=
vsnprintf
(
log_buf
+
log_len
,
ULOG_LINE_BUF_SIZE
-
log_len
,
format
,
args
);
#else
fmt_result
=
rt_vsnprintf
(
log_buf
+
log_len
,
ULOG_LINE_BUF_SIZE
-
log_len
,
format
,
args
);
#endif
/* ULOG_OUTPUT_FLOAT */
/* calculate log length */
if
((
log_len
+
fmt_result
<=
ULOG_LINE_BUF_SIZE
)
&&
(
fmt_result
>
-
1
))
...
...
@@ -674,15 +665,10 @@ void ulog_raw(const char *format, ...)
/* lock output */
output_lock
();
/* args point to the first variable parameter */
va_start
(
args
,
format
);
#ifdef ULOG_OUTPUT_FLOAT
fmt_result
=
vsnprintf
(
log_buf
,
ULOG_LINE_BUF_SIZE
,
format
,
args
);
#else
fmt_result
=
rt_vsnprintf
(
log_buf
,
ULOG_LINE_BUF_SIZE
,
format
,
args
);
#endif
/* ULOG_OUTPUT_FLOAT */
va_end
(
args
);
/* calculate log length */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录