FreeCalypso > hg > themwi-nanp
diff libnumutil/digit_groups.c @ 0:159dd90eeafe
beginning, libnumutil compiles
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 12 Dec 2023 23:52:50 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libnumutil/digit_groups.c Tue Dec 12 23:52:50 2023 +0000 @@ -0,0 +1,31 @@ +/* + * In version 2 of ThemWi owned number database, NANP numbers are stored as 3 + * uint16_t words: NPA, exchange and prefix, each uint16_t encoding a group of + * 3 or 4 digits of the full telephone number. This library module provides + * functions for turning groups of 3 or 4 digits into uint16_t words. + */ + +#include <stdint.h> + +#include <themwi/nanp/number_utils.h> + +uint16_t digits3_to_uint16(const char *str) +{ + int acc; + + acc = (str[0] - '0') * 100; + acc += (str[1] - '0') * 10; + acc += str[2] - '0'; + return acc; +} + +uint16_t digits4_to_uint16(const char *str) +{ + int acc; + + acc = (str[0] - '0') * 1000; + acc += (str[1] - '0') * 100; + acc += (str[2] - '0') * 10; + acc += str[3] - '0'; + return acc; +}