diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-04-02 11:19:03 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-04-02 11:19:03 -0500 |
commit | 5665cefd475ba97653d8c3bdc399843127e9a775 (patch) | |
tree | 81f5283a94192a6edfaef13260c4bb9f8eba6e5b /src | |
parent | af3af57696188b7534cadd241e4b291cb628137f (diff) | |
download | ofono-5665cefd475ba97653d8c3bdc399843127e9a775.tar.bz2 |
Fix: Tweak the language parser
Diffstat (limited to 'src')
-rw-r--r-- | src/stkutil.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/stkutil.c b/src/stkutil.c index 9ba7fa0d..8e56972f 100644 --- a/src/stkutil.c +++ b/src/stkutil.c @@ -979,7 +979,7 @@ static gboolean parse_dataobj_dtmf_string(struct comprehension_tlv_iter *iter, static gboolean parse_dataobj_language(struct comprehension_tlv_iter *iter, void *user) { - char **lang = user; + char *lang = user; const unsigned char *data; unsigned int len = comprehension_tlv_iter_get_length(iter); @@ -988,7 +988,14 @@ static gboolean parse_dataobj_language(struct comprehension_tlv_iter *iter, data = comprehension_tlv_iter_get_data(iter); - memcpy(*lang, data, len); + /* + * This is a 2 character pair as defined in ISO 639, coded using + * GSM default 7 bit alphabet with bit 8 set to 0. Since the english + * letters have the same mapping in GSM as ASCII, no conversion + * is required here + */ + memcpy(lang, data, len); + lang[len] = '\0'; return TRUE; } |