From 5846367a24e24f334077ceb7f7389acbd072b11a Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Sat, 16 Sep 2017 13:45:56 +0200 Subject: [PATCH] mi_load_progress: Restore current_uiout using a scoped_restore Simply use a scoped_restore instead of manually saving and restoring current_uiout. gdb/ChangeLog: * mi/mi-main.c (mi_load_progress): Restore current_uiout using a scoped_restore. --- gdb/ChangeLog | 5 +++++ gdb/mi/mi-main.c | 7 ++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a7a87ee797d..9ee44fbca89 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-09-16 Simon Marchi + + * mi/mi-main.c (mi_load_progress): Restore current_uiout using a + scoped_restore. + 2017-09-16 Simon Marchi * mi/mi-main.c (mi_load_progress): Make uiout variable diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index 0359dc123fb..c06ef18b415 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -2324,13 +2324,11 @@ mi_load_progress (const char *section_name, static steady_clock::time_point last_update; static char *previous_sect_name = NULL; int new_section; - struct ui_out *saved_uiout; struct mi_interp *mi = (struct mi_interp *) current_interpreter (); /* This function is called through deprecated_show_load_progress which means uiout may not be correct. Fix it for the duration of this function. */ - saved_uiout = current_uiout; std::unique_ptr uiout; @@ -2344,7 +2342,8 @@ mi_load_progress (const char *section_name, else return; - current_uiout = uiout.get (); + scoped_restore save_uiout + = make_scoped_restore (¤t_uiout, uiout.get ()); new_section = (previous_sect_name ? strcmp (previous_sect_name, section_name) : 1); @@ -2386,8 +2385,6 @@ mi_load_progress (const char *section_name, fputs_unfiltered ("\n", mi->raw_stdout); gdb_flush (mi->raw_stdout); } - - current_uiout = saved_uiout; } static void -- 2.30.2