[gnome-builder/wip/chergert/debugger] mi2: fix adding more than one item to list in message parsing
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/debugger] mi2: fix adding more than one item to list in message parsing
- Date: Mon, 27 Mar 2017 21:37:48 +0000 (UTC)
commit a643033221ed461643a7b09844aa682c86c828ab
Author: Christian Hergert <chergert redhat com>
Date: Mon Mar 27 14:37:36 2017 -0700
mi2: fix adding more than one item to list in message parsing
contrib/mi2/mi2-util.c | 10 ++++++----
contrib/mi2/test-stream-1.txt | 1 +
2 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/contrib/mi2/mi2-util.c b/contrib/mi2/mi2-util.c
index 299720e..8b9822d 100644
--- a/contrib/mi2/mi2-util.c
+++ b/contrib/mi2/mi2-util.c
@@ -200,8 +200,6 @@ mi2_util_parse_list (const gchar *line,
if (*line != ']')
{
- g_variant_builder_open (&builder, G_VARIANT_TYPE ("v"));
-
while (*line != ']')
{
if (*line == '"')
@@ -211,7 +209,9 @@ mi2_util_parse_list (const gchar *line,
if (!(value = mi2_util_parse_string (line, &line)))
goto failure;
+ g_variant_builder_open (&builder, G_VARIANT_TYPE ("v"));
g_variant_builder_add (&builder, "s", value);
+ g_variant_builder_close (&builder);
}
else if (*line == '{')
{
@@ -220,7 +220,9 @@ mi2_util_parse_list (const gchar *line,
if (!(v = mi2_util_parse_record (line, &line)))
goto failure;
+ g_variant_builder_open (&builder, G_VARIANT_TYPE ("v"));
g_variant_builder_add_value (&builder, v);
+ g_variant_builder_close (&builder);
}
else if (*line == '[')
{
@@ -229,7 +231,9 @@ mi2_util_parse_list (const gchar *line,
if (!(ar = mi2_util_parse_list (line, &line)))
goto failure;
+ g_variant_builder_open (&builder, G_VARIANT_TYPE ("v"));
g_variant_builder_add_value (&builder, ar);
+ g_variant_builder_close (&builder);
}
else
goto failure;
@@ -238,8 +242,6 @@ mi2_util_parse_list (const gchar *line,
if (*line == ',')
line++;
}
-
- g_variant_builder_close (&builder);
}
g_assert (*line == ']');
diff --git a/contrib/mi2/test-stream-1.txt b/contrib/mi2/test-stream-1.txt
index 6c0cf32..7cfd226 100644
--- a/contrib/mi2/test-stream-1.txt
+++ b/contrib/mi2/test-stream-1.txt
@@ -38,6 +38,7 @@
~"\n"
~"Breakpoint 1, 0x00005555555578b0 in main ()\n"
*stopped,reason="breakpoint-hit",disp="keep",bkptno="1",frame={addr="0x00005555555578b0",func="main",args=[]},thread-id="1",stopped-threads="all",core="1"
+*stopped,reason="breakpoint-hit",disp="del",bkptno="1",frame={addr="0x00000000004009e0",func="main",args=[{name="argc",value="1"},{name="argv",value="0x7fffffffe9a8"}],file="main.c",fullname="/home/christian/Projects/rtfm/src/main.c",line="26"},thread-id="1",stopped-threads="all",core="2"
(gdb)
&"c\n"
~"Continuing.\n"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]