From 9788418026d3db107a953bdeea2a8d330efc5eea Mon Sep 17 00:00:00 2001 From: leitner Date: Thu, 18 Oct 2007 11:51:17 +0000 Subject: [PATCH] slight optimization --- scan/scan_fromhex.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scan/scan_fromhex.c b/scan/scan_fromhex.c index 7da5c93..62fdfa7 100644 --- a/scan/scan_fromhex.c +++ b/scan/scan_fromhex.c @@ -1,6 +1,13 @@ #include "scan.h" int scan_fromhex(unsigned char c) { + c-='0'; + if (c<=9) return c; + c&=~0x20; + c-='A'-'0'; + if (c<6) return c+10; + return -1; +/* more readable but creates worse code: if (c>='0' && c<='9') return c-'0'; else if (c>='A' && c<='F') @@ -8,5 +15,6 @@ int scan_fromhex(unsigned char c) { else if (c>='a' && c<='f') return c-'a'+10; return -1; +*/ }