diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b07e744b0b..5e83034746 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2016-11-08 Pedro Alves + + * c-exp.y (OPERATOR NEW): Adjust to use ui_file_as_string and + std::string. + 2016-11-08 Pedro Alves * c-lang.h (c_compute_program): Now returns std::string. diff --git a/gdb/c-exp.y b/gdb/c-exp.y index 29f672f54c..f65e3a19e7 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 ()); } ;