[binutils-gdb] Use std::string in ppscm_make_pp_type_error_exception

Tom Tromey tromey@sourceware.org
Tue Jul 17 19:25:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7eb1a66c26b57803bb4245f84cf15278297bb649

commit 7eb1a66c26b57803bb4245f84cf15278297bb649
Author: Tom Tromey <tom@tromey.com>
Date:   Sat May 26 23:16:13 2018 -0600

    Use std::string in ppscm_make_pp_type_error_exception
    
    This changes ppscm_make_pp_type_error_exception to use std::string,
    removing a cleanup.
    
    gdb/ChangeLog
    2018-07-17  Tom Tromey  <tom@tromey.com>
    
    	* guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
    	Use string_printf.

Diff:
---
 gdb/ChangeLog                |  5 +++++
 gdb/guile/scm-pretty-print.c | 14 ++++----------
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f4a3f75..584ea6f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2018-07-17  Tom Tromey  <tom@tromey.com>
+
+	* guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
+	Use string_printf.
+
 2018-07-17  Jim Wilson  <jimw@sifive.com>
 
 	* riscv-tdep.c (riscv_has_feature): Delete comment that refers to
diff --git a/gdb/guile/scm-pretty-print.c b/gdb/guile/scm-pretty-print.c
index da1b7d2..5e8a2a9 100644
--- a/gdb/guile/scm-pretty-print.c
+++ b/gdb/guile/scm-pretty-print.c
@@ -327,16 +327,10 @@ gdbscm_pretty_printer_worker_p (SCM scm)
 static SCM
 ppscm_make_pp_type_error_exception (const char *message, SCM object)
 {
-  char *msg = xstrprintf ("%s: ~S", message);
-  struct cleanup *cleanup = make_cleanup (xfree, msg);
-  SCM exception
-    = gdbscm_make_error (pp_type_error_symbol,
-			 NULL /* func */, msg,
-			 scm_list_1 (object), scm_list_1 (object));
-
-  do_cleanups (cleanup);
-
-  return exception;
+  std::string msg = string_printf ("%s: ~S", message);
+  return gdbscm_make_error (pp_type_error_symbol,
+			    NULL /* func */, msg.c_str (),
+			    scm_list_1 (object), scm_list_1 (object));
 }
 
 /* Print MESSAGE as an exception (meaning it is controlled by



More information about the Gdb-cvs mailing list