diff options
-rw-r--r-- | include/osmocore/utils.h | 3 | ||||
-rw-r--r-- | src/utils.c | 14 |
2 files changed, 17 insertions, 0 deletions
diff --git a/include/osmocore/utils.h b/include/osmocore/utils.h index cf3b46072..51c6f0357 100644 --- a/include/osmocore/utils.h +++ b/include/osmocore/utils.h @@ -13,5 +13,8 @@ struct value_string { const char *get_value_string(const struct value_string *vs, uint32_t val); int get_string_value(const struct value_string *vs, const char *str); +char bcd2char(uint8_t bcd); +/* only works for numbers in ascci */ +uint8_t char2bcd(char c); #endif diff --git a/src/utils.c b/src/utils.c index 0d878c7b1..2a73d397e 100644 --- a/src/utils.c +++ b/src/utils.c @@ -30,3 +30,17 @@ int get_string_value(const struct value_string *vs, const char *str) } return -EINVAL; } + +char bcd2char(uint8_t bcd) +{ + if (bcd < 0xa) + return '0' + bcd; + else + return 'A' + (bcd - 0xa); +} + +/* only works for numbers in ascci */ +uint8_t char2bcd(char c) +{ + return c - 0x30; +} |