aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem-helpers.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2017-08-09 12:02:36 +0200
committerAleksander Morgado <aleksander@aleksander.es>2017-08-09 21:59:31 +0200
commitdec53d6ef65d1e0ebd10e278fe11762edd14e5bf (patch)
tree1ae27bf3ac0e6a2b69b8108b8fa065dbe72e5662 /src/mm-modem-helpers.c
parent9528450684bb7b3e28b7d8f3b61b6bf191ef2aca (diff)
modem-helpers: allow unquoted strings in +CCLK responses
Also: * define the leading '+' as a escaped value * allow any number of spaces between '+CCLK' and the string value.
Diffstat (limited to 'src/mm-modem-helpers.c')
-rw-r--r--src/mm-modem-helpers.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c
index 83a48648..b2806dfa 100644
--- a/src/mm-modem-helpers.c
+++ b/src/mm-modem-helpers.c
@@ -4157,8 +4157,11 @@ mm_parse_cclk_response (const char *response,
g_assert (iso8601p || tzp); /* at least one */
- /* Sample reply: +CCLK: "15/03/05,14:14:26-32" */
- r = g_regex_new ("[+]CCLK: \"(\\d+)/(\\d+)/(\\d+),(\\d+):(\\d+):(\\d+)([-+]\\d+)?\"", 0, 0, NULL);
+ /* Sample replies:
+ * +CCLK: "15/03/05,14:14:26-32"
+ * +CCLK: 17/07/26,11:42:15+01
+ */
+ r = g_regex_new ("\\+CCLK:\\s*\"?(\\d+)/(\\d+)/(\\d+),(\\d+):(\\d+):(\\d+)([-+]\\d+)?\"?", 0, 0, NULL);
g_assert (r != NULL);
if (!g_regex_match_full (r, response, -1, 0, 0, &match_info, &match_error)) {