This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] mi_load_progress: Restore current_uiout using a scoped_restore


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

commit 5846367a24e24f334077ceb7f7389acbd072b11a
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Sep 16 13:45:56 2017 +0200

    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.

Diff:
---
 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 a7a87ee..9ee44fb 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
 
+	* mi/mi-main.c (mi_load_progress): Restore current_uiout using a
+	scoped_restore.
+
+2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
+
 	* mi/mi-main.c (mi_load_progress): Make uiout variable
 	a unique_ptr.
 
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 0359dc1..c06ef18 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<ui_out> 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 (&current_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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]