From 8905150bda45226eab4ba052d6fb383312fb3501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Hundeb=C3=B8ll?= Date: Tue, 16 Jul 2019 21:10:47 +0200 Subject: [PATCH] gatresult: strip trailing spaces from unquoted strings Some vendors might print trailing spaces after unsolicited result codes. Avoid duplicating and stripping the string after calling g_at_result_iter_next_unquoted_string() by stripping the spaces in gatresult instead. --- gatchat/gatresult.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gatchat/gatresult.c b/gatchat/gatresult.c index 2659db28..883b4105 100644 --- a/gatchat/gatresult.c +++ b/gatchat/gatresult.c @@ -111,6 +111,7 @@ gboolean g_at_result_iter_next_unquoted_string(GAtResultIter *iter, unsigned int pos; unsigned int end; unsigned int len; + unsigned int stripped; char *line; if (iter == NULL) @@ -139,7 +140,12 @@ gboolean g_at_result_iter_next_unquoted_string(GAtResultIter *iter, while (end < len && line[end] != ',' && line[end] != ')') end += 1; - iter->buf[end] = '\0'; + stripped = end; + + while (line[stripped - 1] == ' ') + stripped -= 1; + + iter->buf[stripped] = '\0'; out: iter->line_pos = skip_to_next_field(line, end, len);