diff options
Diffstat (limited to 'src/stkutil.c')
-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; } |