Branch data Line data Source code
1 : : /* 2 : : * Copyright (c) 2019 Oticon A/S 3 : : * 4 : : * SPDX-License-Identifier: Apache-2.0 5 : : */ 6 : : 7 : : #include <zephyr/sys/util.h> 8 : : 9 : 0 : uint8_t u8_to_dec(char *buf, uint8_t buflen, uint8_t value) 10 : : { 11 : 0 : uint8_t divisor = 100; 12 : 0 : uint8_t num_digits = 0; 13 : 0 : uint8_t digit; 14 : : 15 [ # # ]: 0 : while ((buflen > 0) && (divisor > 0)) { 16 : 0 : digit = value / divisor; 17 [ # # # # ]: 0 : if ((digit != 0) || (divisor == 1) || (num_digits != 0)) { 18 : 0 : *buf = digit + (char)'0'; 19 : 0 : buf++; 20 : 0 : buflen--; 21 : 0 : num_digits++; 22 : : } 23 : : 24 : 0 : value -= digit * divisor; 25 : 0 : divisor /= 10; 26 : : } 27 : : 28 [ # # ]: 0 : if (buflen != 0) { 29 : 0 : *buf = '\0'; 30 : : } 31 : : 32 : 0 : return num_digits; 33 : : }