summaryrefslogtreecommitdiff
path: root/gdb/ui-out.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2019-06-07 22:45:09 +0100
committerPedro Alves <palves@redhat.com>2019-07-01 14:07:58 +0100
commitebcc5fb83fb0c6e98db2501c5868ba8cee6dd1f8 (patch)
tree87214c30bd185cb519d7aef6d14471608577581e /gdb/ui-out.c
parentfd5bce2ea4716552ce9c3f9fdac7628cbf5a5cd2 (diff)
downloadbinutils-gdb-users/palves/format_strings-experiment.tar.gz
Diffstat (limited to 'gdb/ui-out.c')
-rw-r--r--gdb/ui-out.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/gdb/ui-out.c b/gdb/ui-out.c
index 92e461f850e..86bb2f5289a 100644
--- a/gdb/ui-out.c
+++ b/gdb/ui-out.c
@@ -607,8 +607,22 @@ ui_out::vmessage (const char *format, va_list args)
{
case 'F':
{
- int_field_s *field = va_arg (args, int_field_s *);
- field_int (field->name, field->val);
+ base_field_s *bf = va_arg (args, base_field_s *);
+ switch (bf->kind)
+ {
+ case field_kind::INT:
+ {
+ auto *f = (int_field_s *) bf;
+ field_int (f->name, f->val);
+ }
+ break;
+ case field_kind::STRING:
+ {
+ auto *f = (string_field_s *) bf;
+ field_string (f->name, f->str);
+ }
+ break;
+ }
}
break;
case 's':