Use ui_file_as_string in gdb/c-exp.y
authorPedro Alves <palves@redhat.com>
Tue, 8 Nov 2016 15:26:46 +0000 (15:26 +0000)
committerPedro Alves <palves@redhat.com>
Tue, 8 Nov 2016 15:26:46 +0000 (15:26 +0000)
gdb/ChangeLog:
2016-11-08  Pedro Alves  <palves@redhat.com>

* c-exp.y (OPERATOR NEW): Adjust to use ui_file_as_string and
std::string.

gdb/ChangeLog
gdb/c-exp.y

index b07e744..5e83034 100644 (file)
@@ -1,5 +1,10 @@
 2016-11-08  Pedro Alves  <palves@redhat.com>
 
+       * c-exp.y (OPERATOR NEW): Adjust to use ui_file_as_string and
+       std::string.
+
+2016-11-08  Pedro Alves  <palves@redhat.com>
+
        * c-lang.h (c_compute_program): Now returns std::string.
        * compile/compile-internal.h (class compile_file_names): New
        class.
index 29f672f..f65e3a1 100644 (file)
@@ -1555,16 +1555,13 @@ oper:   OPERATOR NEW
        |       OPERATOR OBJC_LBRAC ']'
                        { $$ = operator_stoken ("[]"); }
        |       OPERATOR conversion_type_id
-                       { char *name;
-                         long length;
-                         struct ui_file *buf = mem_fileopen ();
+                       { struct ui_file *buf = mem_fileopen ();
 
                          c_print_type ($2, NULL, buf, -1, 0,
                                        &type_print_raw_options);
-                         name = ui_file_xstrdup (buf, &length);
+                         std::string name = ui_file_as_string (buf);
                          ui_file_delete (buf);
-                         $$ = operator_stoken (name);
-                         free (name);
+                         $$ = operator_stoken (name.c_str ());
                        }
        ;