diff options
author | Denis Kenzior <denkenz@gmail.com> | 2018-12-22 16:00:19 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2018-12-27 18:18:51 -0600 |
commit | 4059d4226bc4cf9afac361db5d52fa6c2b20249d (patch) | |
tree | 58a4b8cbbe76bddea173ae473c4d7a876d3c3042 /src/smsutil.c | |
parent | 44415e754b4606043c9975cb56eb66e945067ed2 (diff) | |
download | ofono-4059d4226bc4cf9afac361db5d52fa6c2b20249d.tar.gz |
util: Switch character conversions to ell
Switch various conversions from GSM/UCS2 to UTF8 from glib based
implementation over to ell.
This also converts all related g_free calls to l_free calls (though in
the end they are equivalent calls to free)
Diffstat (limited to 'src/smsutil.c')
-rw-r--r-- | src/smsutil.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/smsutil.c b/src/smsutil.c index 23472e84..8c084d42 100644 --- a/src/smsutil.c +++ b/src/smsutil.c @@ -677,10 +677,9 @@ gboolean sms_decode_address_field(const unsigned char *pdu, int len, return FALSE; utf8 = convert_gsm_to_utf8(res, written, NULL, NULL, 0); - l_free(res); - if (utf8 == NULL) + if (!utf8) return FALSE; /* @@ -688,13 +687,12 @@ gboolean sms_decode_address_field(const unsigned char *pdu, int len, * 22 bytes+terminator in UTF-8. */ if (strlen(utf8) > 22) { - g_free(utf8); + l_free(utf8); return FALSE; } strcpy(out->address, utf8); - - g_free(utf8); + l_free(utf8); } return TRUE; @@ -2294,7 +2292,7 @@ char *sms_decode_text(GSList *sms_list) single_shift); if (converted) { g_string_append(str, converted); - g_free(converted); + l_free(converted); } } else { const guint8 *from = ud + taken; @@ -4107,7 +4105,7 @@ char *cbs_decode_text(GSList *cbs_list, char *iso639_lang) } } - buf = g_new(unsigned char, bufsize); + buf = l_new(unsigned char, bufsize); bufsize = 0; for (l = cbs_list; l; l = l->next) { @@ -4203,10 +4201,9 @@ char *cbs_decode_text(GSList *cbs_list, char *iso639_lang) if (charset == SMS_CHARSET_7BIT) utf8 = convert_gsm_to_utf8(buf, bufsize, NULL, NULL, 0); else - utf8 = g_convert((char *) buf, bufsize, "UTF-8//TRANSLIT", - "UCS-2BE", NULL, NULL, NULL); + utf8 = l_utf8_from_ucs2be(buf, bufsize); - g_free(buf); + l_free(buf); return utf8; } |