From 01e8e0574f463dc03cccc4a6b8c9dacb754abae1 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 8 Jan 2013 14:26:31 -0600 Subject: [PATCH] broadband-modem: more compatible CSQ parsing Some devices (usually CDMA modems like the Sierra MC5725 and others) don't prefix their +CSQ replies with +CSQ. So don't require that. The scanf() should ensure the reply is valid even without the +CSQ. --- src/mm-broadband-modem.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index c30a8c53..b6466339 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -1473,13 +1473,13 @@ signal_quality_csq_ready (MMBroadbandModem *self, } result_str = g_variant_get_string (result, NULL); - if (result_str && - !strncmp (result_str, "+CSQ: ", 6)) { + if (result_str) { /* Got valid reply */ int quality; int ber; - if (sscanf (result_str + 6, "%d, %d", &quality, &ber)) { + result_str = mm_strip_tag (result_str, "+CSQ:"); + if (sscanf (result_str, "%d, %d", &quality, &ber)) { /* 99 means unknown */ if (quality == 99) { g_simple_async_result_take_error (