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);
-- 
2.22.0

_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to