aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2013-02-22 18:58:06 +0100
committerAleksander Morgado <aleksander@lanedo.com>2013-02-22 19:43:49 +0100
commitb1bb8e30b4fd835649b5790895fcd519f1809141 (patch)
tree256c59922b255d6f451c58318ffee0be87fcefef /src
parentca49af0c5d4b649950ef3ed038e70f58a37050f3 (diff)
broadband-modem: don't assume the returned string is always hex-encoded
Diffstat (limited to 'src')
-rw-r--r--src/mm-broadband-modem.c7
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;
}