Change captured_mi_execute_command to use scoped_restore
authorTom Tromey <tom@tromey.com>
Fri, 5 May 2017 03:25:55 +0000 (21:25 -0600)
committerTom Tromey <tom@tromey.com>
Sat, 30 Sep 2017 03:12:18 +0000 (21:12 -0600)
Change captured_mi_execute_command to use a scoped_restore, removing a
cleanup.  The old code copied the current token, but I don't believe
that is necessary.

gdb/ChangeLog
2017-09-29  Tom Tromey  <tom@tromey.com>

* mi/mi-main.c (captured_mi_execute_command): Use scope_restore.

gdb/ChangeLog
gdb/mi/mi-main.c

index db456b3d116f1b16fd5075b55fc39dc142c0489e..005e366488e88daf4002a670600a133a3852af8d 100644 (file)
@@ -1,3 +1,7 @@
+2017-09-29  Tom Tromey  <tom@tromey.com>
+
+       * mi/mi-main.c (captured_mi_execute_command): Use scope_restore.
+
 2017-09-29  Tom Tromey  <tom@tromey.com>
 
        * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Update.
index 4d9f37b2bd9518c31b79437dd44608ca68224d40..29acf2df0bf090b1e56060d4d6a9f9d3494b0376 100644 (file)
@@ -1875,20 +1875,19 @@ mi_cmd_remove_inferior (const char *command, char **argv, int argc)
    Return <0 for error; >=0 for ok.
 
    args->action will tell mi_execute_command what action
-   to perfrom after the given command has executed (display/suppress
+   to perform after the given command has executed (display/suppress
    prompt, display error).  */
 
 static void
 captured_mi_execute_command (struct ui_out *uiout, struct mi_parse *context)
 {
   struct mi_interp *mi = (struct mi_interp *) command_interp ();
-  struct cleanup *cleanup;
 
   if (do_timings)
     current_command_ts = context->cmd_start;
 
-  current_token = xstrdup (context->token);
-  cleanup = make_cleanup (free_current_contents, &current_token);
+  scoped_restore save_token = make_scoped_restore (&current_token,
+                                                  context->token);
 
   running_result_record_printed = 0;
   mi_proceeded = 0;
@@ -1964,8 +1963,6 @@ captured_mi_execute_command (struct ui_out *uiout, struct mi_parse *context)
        break;
       }
     }
-
-  do_cleanups (cleanup);
 }
 
 /* Print a gdb exception to the MI output stream.  */