From 7f014add61da3e0411d742756ce372fc0e2aee30 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Fri, 16 May 2025 11:16:57 -0500 Subject: broadband-modem,modem-helpers: generalize call end regex creation Signed-off-by: Dan Williams --- src/mm-broadband-modem.c | 3 +-- src/mm-modem-helpers.c | 14 ++++++++++++++ src/mm-modem-helpers.h | 6 ++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index 41159a6c..e0f277fe 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -8473,8 +8473,7 @@ set_voice_in_call_unsolicited_events_handlers (MMBroadbandModem *self, g_autoptr(GRegex) in_call_event_regex = NULL; guint i; - in_call_event_regex = g_regex_new ("\\r\\n(NO CARRIER|BUSY|NO ANSWER|NO DIALTONE)(\\r)?\\r\\n$", - G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL); + in_call_event_regex = mm_call_end_regex_get (); ports[0] = MM_PORT_SERIAL_AT (ports_ctx->primary); ports[1] = MM_PORT_SERIAL_AT (ports_ctx->secondary); diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c index 926b1997..c6fa13fc 100644 --- a/src/mm-modem-helpers.c +++ b/src/mm-modem-helpers.c @@ -482,6 +482,20 @@ mm_at_quote_string (const gchar *input) /*****************************************************************************/ +GRegex * +mm_call_end_regex_get (void) +{ + /* Example: + * NO ANSWER + */ + return g_regex_new ("\\r\\n(NO CARRIER)|(BUSY)|(NO ANSWER)|(NO DIALTONE)\\r\\n", + G_REGEX_DOLLAR_ENDONLY | G_REGEX_RAW | G_REGEX_OPTIMIZE, + 0, + NULL); +} + +/*****************************************************************************/ + GRegex * mm_voice_ring_regex_get (void) { diff --git a/src/mm-modem-helpers.h b/src/mm-modem-helpers.h index 469492b2..73203c8b 100644 --- a/src/mm-modem-helpers.h +++ b/src/mm-modem-helpers.h @@ -85,6 +85,12 @@ gchar *mm_bcd_to_string (const guint8 *bcd, */ gchar *mm_at_quote_string (const gchar *input); +/*****************************************************************************/ +/* CALL specific helpers and utilities */ +/*****************************************************************************/ + +GRegex *mm_call_end_regex_get (void); + /*****************************************************************************/ /* VOICE specific helpers and utilities */ /*****************************************************************************/ -- cgit v1.2.3-70-g09d2