summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2010-08-17 00:49:23 +0200
committerMarcel Holtmann <marcel@holtmann.org>2010-08-17 00:49:23 +0200
commit3adf7a07ca7ce63ebff27ab818d7f28be1bd227f (patch)
treefca8f1e14959d3924e9a230b352cf2a3af797c00 /drivers
parentfda71cefbafb07c517ce87ed072c7bfc619fd7e2 (diff)
downloadofono-3adf7a07ca7ce63ebff27ab818d7f28be1bd227f.tar.bz2
atmodem: Allow missing DCS parameter in USSD result
Diffstat (limited to 'drivers')
-rw-r--r--drivers/atmodem/ussd.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/atmodem/ussd.c b/drivers/atmodem/ussd.c
index 13b049f3..1e1fc255 100644
--- a/drivers/atmodem/ussd.c
+++ b/drivers/atmodem/ussd.c
@@ -73,15 +73,15 @@ static void cusd_parse(GAtResult *result, struct ofono_ussd *ussd)
if (!g_at_result_iter_next_string(&iter, &content))
goto out;
- if (!g_at_result_iter_next_number(&iter, &dcs))
- goto out;
-
- if (!cbs_dcs_decode(dcs, &udhi, NULL, &charset,
- &compressed, NULL, &iso639))
- goto out;
-
- if (udhi || compressed || iso639)
- goto out;
+ if (g_at_result_iter_next_number(&iter, &dcs)) {
+ if (!cbs_dcs_decode(dcs, &udhi, NULL, &charset,
+ &compressed, NULL, &iso639))
+ goto out;
+
+ if (udhi || compressed || iso639)
+ goto out;
+ } else
+ charset = SMS_CHARSET_7BIT;
if (charset == SMS_CHARSET_7BIT)
converted = convert_gsm_to_utf8((const guint8 *) content,