import bcd2char() and char2bcd() from OpenBSC
authorHarald Welte <laforge@gnumonks.org>
Thu, 4 Mar 2010 09:50:32 +0000 (10:50 +0100)
committerHarald Welte <laforge@gnumonks.org>
Thu, 4 Mar 2010 09:50:32 +0000 (10:50 +0100)
include/osmocore/utils.h
src/utils.c

index cf3b460..51c6f03 100644 (file)
@@ -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
index 0d878c7..2a73d39 100644 (file)
@@ -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;
+}