1
6
7
8
9
10
11
12
13
14
15
20
21
22
23
24
28
29
30
31
32
33
34
35
36
37
38
44
45
46
47
48
49
50
54
55
/* ... */
#include <stdint.h>
int esp_log_util_cvt(unsigned long long val, long radix, int pad, const char *digits, char *buf)
{
char *orig_buf = buf;
int length = 0;
do {
*buf++ = digits[val % radix];
val /= radix;
length++;
}{...} while (val);
while (pad > 0 && pad > length) {
*buf++ = '0';
length++;
}{...}
*buf = '\0';
--buf;
while (orig_buf < buf) {
char first_char = *orig_buf;
char last_char = *buf;
*buf-- = first_char;
*orig_buf++ = last_char;
}{...}
return (length);
}{ ... }
int esp_log_util_cvt_hex(unsigned long long val, int pad, char *buf)
{
return esp_log_util_cvt(val, 16, pad, "0123456789abcdef", buf);
}{ ... }
int esp_log_util_cvt_dec(unsigned long long val, int pad, char *buf)
{
return esp_log_util_cvt(val, 10, pad, "0123456789", buf);
}{ ... }