summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/c-exp.y9
1 files changed, 3 insertions, 6 deletions
diff --git a/gdb/c-exp.y b/gdb/c-exp.y
index 29f672f54c8..f65e3a19e7b 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 ());
}
;