From ee75d23f00a59141c5b3e4c9b484fd3b322f42df Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Fri, 5 Sep 2025 11:28:40 -0500 Subject: [PATCH] modem-helpers: handle no space after "+CESQ:" See https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1277 for more details. Signed-off-by: Dan Williams --- src/mm-modem-helpers.c | 2 +- src/tests/test-modem-helpers.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c index 43d162ce..ed04a329 100644 --- a/src/mm-modem-helpers.c +++ b/src/mm-modem-helpers.c @@ -2755,7 +2755,7 @@ mm_3gpp_parse_cesq_response (const gchar *response, /* Response may be e.g.: * +CESQ: 99,99,255,255,20,80 */ - r = g_regex_new ("\\+CESQ: (\\d+),(\\d+),(\\d+),(\\d+),(\\d+),(\\d+)(?:\\r\\n)?", 0, 0, NULL); + r = g_regex_new ("\\+CESQ:\\s*(\\d+),(\\d+),(\\d+),(\\d+),(\\d+),(\\d+)(?:\\r\\n)?", 0, 0, NULL); g_assert (r != NULL); g_regex_match_full (r, response, strlen (response), 0, 0, &match_info, &inner_error); diff --git a/src/tests/test-modem-helpers.c b/src/tests/test-modem-helpers.c index f3cdb438..7684fce7 100644 --- a/src/tests/test-modem-helpers.c +++ b/src/tests/test-modem-helpers.c @@ -4171,6 +4171,13 @@ static const CesqResponseTest cesq_response_tests[] = { .gsm_info = TRUE, .rxlev = 10, .rssi = -101.0, .ber = 6, .umts_info = FALSE, .rscp_level = 255, .ecn0_level = 255, .lte_info = FALSE, .rsrq_level = 255, .rsrp_level = 255, + }, + { + /* No space after ':' */ + .str = "+CESQ:10,6,255,255,255,255", + .gsm_info = TRUE, .rxlev = 10, .rssi = -101.0, .ber = 6, + .umts_info = FALSE, .rscp_level = 255, .ecn0_level = 255, + .lte_info = FALSE, .rsrq_level = 255, .rsrp_level = 255, } };