diff options
-rw-r--r-- | gdb/c-exp.y | 9 |
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 ()); } ; |