diff options
author | Simon Marchi <simark@simark.ca> | 2016-09-16 15:44:29 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@ericsson.com> | 2016-09-16 15:44:29 -0400 |
commit | cd94f6d535d1ebd8f252185cd84d21fe0df3c893 (patch) | |
tree | 617d4e6f8e0d6b7b644458ccff368c73fc9f9539 /gdb/ui-out.c | |
parent | 325fac504a327de9c46a4e5cf9c88ece9d9d7701 (diff) | |
download | gdb-cd94f6d535d1ebd8f252185cd84d21fe0df3c893.zip gdb-cd94f6d535d1ebd8f252185cd84d21fe0df3c893.tar.gz gdb-cd94f6d535d1ebd8f252185cd84d21fe0df3c893.tar.bz2 |
Introduce cleanup to restore current_uiout
Make a globally available cleanup from a pre-existing one in infrun.c.
This is used in a following patch.
gdb/ChangeLog:
* infrun.c (restore_current_uiout_cleanup): Move to ui-out.c.
(print_stop_event): Use make_cleanup_restore_current_uiout.
* python/python.c (execute_gdb_command): Likewise.
* ui-out.c (restore_current_uiout_cleanup): Move from infrun.c.
(make_cleanup_restore_current_uiout): New function definition.
* ui-out.h (make_cleanup_restore_current_uiout): New function
declaration.
* utils.c (do_restore_ui_out): Remove.
(make_cleanup_restore_ui_out): Remove.
* utils.h (make_cleanup_restore_ui_out): Remove.
Diffstat (limited to 'gdb/ui-out.c')
-rw-r--r-- | gdb/ui-out.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gdb/ui-out.c b/gdb/ui-out.c index 3972a56..ec44ab6 100644 --- a/gdb/ui-out.c +++ b/gdb/ui-out.c @@ -953,6 +953,24 @@ ui_out_destroy (struct ui_out *uiout) xfree (uiout); } +/* Cleanup that restores a previous current uiout. */ + +static void +restore_current_uiout_cleanup (void *arg) +{ + struct ui_out *saved_uiout = (struct ui_out *) arg; + + current_uiout = saved_uiout; +} + +/* See ui-out.h. */ + +struct cleanup * +make_cleanup_restore_current_uiout (void) +{ + return make_cleanup (restore_current_uiout_cleanup, current_uiout); +} + /* Standard gdb initialization hook. */ void |