diff options
-rw-r--r-- | src/utils.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/utils.c b/src/utils.c index f5894d89..a62f5e97 100644 --- a/src/utils.c +++ b/src/utils.c @@ -117,7 +117,14 @@ char osmo_bcd2char(uint8_t bcd) */ uint8_t osmo_char2bcd(char c) { - return c - 0x30; + if (c >= '0' && c <= '9') + return c - 0x30; + else if (c >= 'A' && c <= 'F') + return 0xa + (c - 'A'); + else if (c >= 'a' && c <= 'f') + return 0xa + (c - 'a'); + else + return 0; } /*! Parse a string containing hexadecimal digits |