From f49b6dbd5b5428afda1cd3ea9694375c875db7aa Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Tue, 7 Jul 2009 23:47:05 +0000 Subject: Simplify charToHex() svn path=/trunk/libcss/; revision=8384 --- src/utils/utils.h | 45 +++++++++------------------------------------ 1 file changed, 9 insertions(+), 36 deletions(-) (limited to 'src/utils') 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 -- cgit v1.2.3