提交 5c76d3d5 编写于 作者: M MurphyZhao

[src][kservice.c] 修复 snprintf 中 `print_number` 函数错误解析 `.0` format 的问题

Signed-off-by: NMurphyZhao <d2014zjt@163.com>
上级 929e9c8f
...@@ -601,6 +601,7 @@ static char *print_number(char *buf, ...@@ -601,6 +601,7 @@ static char *print_number(char *buf,
#else #else
char tmp[16]; char tmp[16];
#endif #endif
int precision_bak = precision;
const char *digits; const char *digits;
static const char small_digits[] = "0123456789abcdef"; static const char small_digits[] = "0123456789abcdef";
static const char large_digits[] = "0123456789ABCDEF"; static const char large_digits[] = "0123456789ABCDEF";
...@@ -724,7 +725,7 @@ static char *print_number(char *buf, ...@@ -724,7 +725,7 @@ static char *print_number(char *buf,
#endif #endif
/* put number in the temporary buffer */ /* put number in the temporary buffer */
while (i-- > 0) while (i-- > 0 && (precision_bak != 0))
{ {
if (buf <= end) if (buf <= end)
*buf = tmp[i]; *buf = tmp[i];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册