aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2016-11-08 15:26:46 +0000
committerPedro Alves <palves@redhat.com>2016-11-08 15:26:46 +0000
commit66bbce5bda870c49a68f2b77a29fb96eca72632f (patch)
tree8ad83673be44216679d9fdd7b2ba742288469205
parentaaee65aea29ac8f7317e866d5dbef9f96cfdb253 (diff)
downloadgdb-66bbce5bda870c49a68f2b77a29fb96eca72632f.zip
gdb-66bbce5bda870c49a68f2b77a29fb96eca72632f.tar.gz
gdb-66bbce5bda870c49a68f2b77a29fb96eca72632f.tar.bz2
Use ui_file_as_string in gdb/c-exp.y
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.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/c-exp.y9
2 files changed, 8 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b07e744..5e83034 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/c-exp.y b/gdb/c-exp.y
index 29f672f..f65e3a1 100644
--- a/gdb/c-exp.y
+++ b/gdb/c-exp.y
@@ -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 ());
}
;