[RFA,2/2] Remove cleanups from prompt_for_continue

Message ID 20180323033843.29577-3-tom@tromey.com
State New
Headers show
Series
  • two simple cleanup removals
Related show

Commit Message

Tom Tromey March 23, 2018, 3:38 a.m.
This removes the cleanups from prompt_for_continue by the use of
unique_xmalloc_ptr.

gdb/ChangeLog
2018-03-22  Tom Tromey  <tom@tromey.com>

	* utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
---
 gdb/ChangeLog | 4 ++++
 gdb/utils.c   | 9 ++-------
 2 files changed, 6 insertions(+), 7 deletions(-)

-- 
2.13.6

Comments

Pedro Alves March 24, 2018, 11:19 a.m. | #1
On 03/23/2018 03:38 AM, Tom Tromey wrote:
> This removes the cleanups from prompt_for_continue by the use of

> unique_xmalloc_ptr.

> 

> gdb/ChangeLog

> 2018-03-22  Tom Tromey  <tom@tromey.com>

> 

> 	* utils.c (prompt_for_continue): Use unique_xmalloc_ptr.

OK.

Thanks,
Pedro Alves

Patch

diff --git a/gdb/utils.c b/gdb/utils.c
index 3886efd840..ee31f39661 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -1479,9 +1479,7 @@  set_screen_width_and_height (int width, int height)
 static void
 prompt_for_continue (void)
 {
-  char *ignore;
   char cont_prompt[120];
-  struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
   /* Used to add duration we waited for user to respond to
      prompt_for_continue_wait_time.  */
   using namespace std::chrono;
@@ -1504,8 +1502,7 @@  prompt_for_continue (void)
 
   /* Call gdb_readline_wrapper, not readline, in order to keep an
      event loop running.  */
-  ignore = gdb_readline_wrapper (cont_prompt);
-  make_cleanup (xfree, ignore);
+  gdb::unique_xmalloc_ptr<char> ignore (gdb_readline_wrapper (cont_prompt));
 
   /* Add time spend in this routine to prompt_for_continue_wait_time.  */
   prompt_for_continue_wait_time += steady_clock::now () - prompt_started;
@@ -1515,7 +1512,7 @@  prompt_for_continue (void)
 
   if (ignore != NULL)
     {
-      char *p = ignore;
+      char *p = ignore.get ();
 
       while (*p == ' ' || *p == '\t')
 	++p;
@@ -1529,8 +1526,6 @@  prompt_for_continue (void)
   reinitialize_more_filter ();
 
   dont_repeat ();		/* Forget prev cmd -- CR won't repeat it.  */
-
-  do_cleanups (old_chain);
 }
 
 /* Initialize timer to keep track of how long we waited for the user.  */