Lines Matching +full:0 +full:c
2 * Copyright (c) 2019 Nordic Semiconductor ASA
12 int char2hex(char c, uint8_t *x) in char2hex() argument
14 if ((c >= '0') && (c <= '9')) { in char2hex()
15 *x = c - '0'; in char2hex()
16 } else if ((c >= 'a') && (c <= 'f')) { in char2hex()
17 *x = c - 'a' + 10; in char2hex()
18 } else if ((c >= 'A') && (c <= 'F')) { in char2hex()
19 *x = c - 'A' + 10; in char2hex()
24 return 0; in char2hex()
27 int hex2char(uint8_t x, char *c) in hex2char() argument
30 *c = x + (char)'0'; in hex2char()
32 *c = x - 10 + (char)'a'; in hex2char()
37 return 0; in hex2char()
43 return 0; in bin2hex()
46 for (size_t i = 0; i < buflen; i++) { in bin2hex()
47 if (hex2char(buf[i] >> 4, &hex[2U * i]) < 0) { in bin2hex()
48 return 0; in bin2hex()
50 if (hex2char(buf[i] & 0xf, &hex[2U * i + 1U]) < 0) { in bin2hex()
51 return 0; in bin2hex()
55 hex[2U * buflen] = '\0'; in bin2hex()
64 return 0; in hex2bin()
68 if ((hexlen % 2U) != 0) { in hex2bin()
69 if (char2hex(hex[0], &dec) < 0) { in hex2bin()
70 return 0; in hex2bin()
72 buf[0] = dec; in hex2bin()
78 for (size_t i = 0; i < (hexlen / 2U); i++) { in hex2bin()
79 if (char2hex(hex[2U * i], &dec) < 0) { in hex2bin()
80 return 0; in hex2bin()
84 if (char2hex(hex[2U * i + 1U], &dec) < 0) { in hex2bin()
85 return 0; in hex2bin()