From 4edc9fd57f7e1c59ccf77c027e19e98879601fce Mon Sep 17 00:00:00 2001 From: Vincent Cesson Date: Fri, 13 Jan 2017 14:27:53 +0100 Subject: [PATCH] atmodem: Fix CGDCONT result parsing. CGDCONT result parsing fails if first list contains several ranges. For example with modem Cinterion PHS8: AT+CGDCONT=? +CGDCONT: (1-17,101-116),"IP",,,(0),(0-4) Solution: read first range and jump to second list instead of trying to close the brackets. --- drivers/atmodem/gprs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/atmodem/gprs.c b/drivers/atmodem/gprs.c index 5ee757a1..5724f861 100644 --- a/drivers/atmodem/gprs.c +++ b/drivers/atmodem/gprs.c @@ -522,7 +522,7 @@ static void at_cgdcont_test_cb(gboolean ok, GAtResult *result, if (g_at_result_iter_next_range(&iter, &min, &max) == FALSE) continue; - if (!g_at_result_iter_close_list(&iter)) + if (!g_at_result_iter_skip_next(&iter)) continue; if (g_at_result_iter_open_list(&iter))