summaryrefslogtreecommitdiff
path: root/src/utils/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/utils.h')
-rw-r--r--src/utils/utils.h45
1 files changed, 9 insertions, 36 deletions
diff --git a/src/utils/utils.h b/src/utils/utils.h
index 4661442..1c380f8 100644
--- a/src/utils/utils.h
+++ b/src/utils/utils.h
@@ -45,42 +45,15 @@ static inline bool isHex(uint8_t c)
static inline uint32_t charToHex(uint8_t c)
{
- switch (c) {
- case 'a': case 'A':
- return 0xa;
- case 'b': case 'B':
- return 0xb;
- case 'c': case 'C':
- return 0xc;
- case 'd': case 'D':
- return 0xd;
- case 'e': case 'E':
- return 0xe;
- case 'f': case 'F':
- return 0xf;
- case '0':
- return 0x0;
- case '1':
- return 0x1;
- case '2':
- return 0x2;
- case '3':
- return 0x3;
- case '4':
- return 0x4;
- case '5':
- return 0x5;
- case '6':
- return 0x6;
- case '7':
- return 0x7;
- case '8':
- return 0x8;
- case '9':
- return 0x9;
- }
-
- return 0;
+ c -= '0';
+
+ if (c > 9)
+ c -= 'A' - '9' - 1;
+
+ if (c > 15)
+ c -= 'a' - 'A';
+
+ return c;
}
static inline css_error