diff options
Diffstat (limited to 'gdb/complaints.c')
-rw-r--r-- | gdb/complaints.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/gdb/complaints.c b/gdb/complaints.c index aba305c..58b6b7b 100644 --- a/gdb/complaints.c +++ b/gdb/complaints.c @@ -192,16 +192,14 @@ vcomplaint (struct complaints **c, const char *file, vwarning (fmt, args); else { - char *msg; - struct cleanup *cleanups; - msg = xstrvprintf (fmt, args); - cleanups = make_cleanup (xfree, msg); + std::string msg = string_vprintf (fmt, args); wrap_here (""); if (series != SUBSEQUENT_MESSAGE) begin_line (); /* XXX: i18n */ fprintf_filtered (gdb_stderr, "%s%s%s", - complaints->explanation[series].prefix, msg, + complaints->explanation[series].prefix, + msg.c_str (), complaints->explanation[series].postfix); /* Force a line-break after any isolated message. For the other cases, clear_complaints() takes care of any missing @@ -214,7 +212,6 @@ vcomplaint (struct complaints **c, const char *file, fputs_filtered ("\n", gdb_stderr); else wrap_here (""); - do_cleanups (cleanups); } } |