diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2013-02-22 18:58:06 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-02-22 19:43:49 +0100 |
commit | b1bb8e30b4fd835649b5790895fcd519f1809141 (patch) | |
tree | 256c59922b255d6f451c58318ffee0be87fcefef /src | |
parent | ca49af0c5d4b649950ef3ed038e70f58a37050f3 (diff) |
broadband-modem: don't assume the returned string is always hex-encoded
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-broadband-modem.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index ab26b345..a3f5ba47 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -4373,8 +4373,13 @@ decode_ussd_response (MMBroadbandModem *self, if (p) *p = '\0'; - decoded = mm_iface_modem_3gpp_ussd_decode (MM_IFACE_MODEM_3GPP_USSD (self), str, error); + /* If reply doesn't seem to be hex; just return itself... */ + if (!mm_utils_ishexstr (str)) + decoded = g_strdup (str); + else + decoded = mm_iface_modem_3gpp_ussd_decode (MM_IFACE_MODEM_3GPP_USSD (self), str, error); g_strfreev (items); + return decoded; } |