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

Signed-off-by: MurphyZhao <d2014zjt@163.com>
This commit is contained in:
MurphyZhao
2019-01-21 19:28:44 +08:00
parent 929e9c8f4b
commit 5c76d3d516
+2 -1
View File
@@ -601,6 +601,7 @@ static char *print_number(char *buf,
#else
char tmp[16];
#endif
int precision_bak = precision;
const char *digits;
static const char small_digits[] = "0123456789abcdef";
static const char large_digits[] = "0123456789ABCDEF";
@@ -724,7 +725,7 @@ static char *print_number(char *buf,
#endif
/* put number in the temporary buffer */
while (i-- > 0)
while (i-- > 0 && (precision_bak != 0))
{
if (buf <= end)
*buf = tmp[i];