diff options
author | Denis Kenzior <denkenz@gmail.com> | 2009-09-08 12:42:52 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2009-09-08 12:44:51 -0500 |
commit | b1932334da4f8672f0c75fe11762cfe4cc380dc7 (patch) | |
tree | 91e4e56810b46312abd8f1b780f7704d7deee777 /src/util.h | |
parent | bfbe1427745636698ace237edda12a0642a2c655 (diff) | |
download | ofono-b1932334da4f8672f0c75fe11762cfe4cc380dc7.tar.bz2 |
Refactor SMS language dialect encoding / decoding
- Introduce new enum gsm_dialect instead of unsigned char arguments
- Use ISO639 3 letter codes for conversion tables
- Use a single lookup table instead of 4 different ones
Diffstat (limited to 'src/util.h')
-rw-r--r-- | src/util.h | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -19,21 +19,29 @@ * */ +enum gsm_dialect { + GSM_DIALECT_DEFAULT = 0, + GSM_DIALECT_TURKISH, + GSM_DIALECT_SPANISH, + GSM_DIALECT_PORTUGUESE, + GSM_DIALECT_INVALID +}; + char *convert_gsm_to_utf8(const unsigned char *text, long len, long *items_read, long *items_written, unsigned char terminator); char *convert_gsm_to_utf8_with_lang(const unsigned char *text, long len, long *items_read, long *items_written, unsigned char terminator, - unsigned char locking_shift_lang, - unsigned char single_shift_lang); + enum gsm_dialect locking_shift_lang, + enum gsm_dialect single_shift_lang); unsigned char *convert_utf8_to_gsm(const char *text, long len, long *items_read, long *items_written, unsigned char terminator); unsigned char *convert_utf8_to_gsm_with_lang(const char *text, long len, long *items_read, long *items_written, unsigned char terminator, - unsigned char locking_shift_lang, - unsigned char single_shifth_lang); + enum gsm_dialect locking_shift_lang, + enum gsm_dialect single_shift_lang); unsigned char *decode_hex_own_buf(const char *in, long len, long *items_written, unsigned char terminator, |