diff options
author | Mark Kettenis <kettenis@gnu.org> | 2001-01-27 17:57:53 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2001-01-27 17:57:53 +0000 |
commit | 8b8a5bf645db53e005a2f85733decd905af4af66 (patch) | |
tree | 00ea6a052de2f8665cbf87790aeed99f2ffe915d /gdb/ui-out.c | |
parent | c1c4884a9e4442abf0d0993ec213fdb9207f1c5a (diff) | |
download | gdb-8b8a5bf645db53e005a2f85733decd905af4af66.tar.gz |
* ui-out.c (do_list_end): New function.
(make_cleanup_ui_out_list_end): New function.
* ui-out.h: Provide prototype for make_cleanup_ui_out_list_end.
* stack.c (print_frame) [UI_OUT]: Call
make_cleanup_ui_out_list_end to make sure we mark the end of the
list if we do a non-local exit. At the end of the function,
instead of calling ui_out_list_end directly, let do_cleanups
handle it.
Diffstat (limited to 'gdb/ui-out.c')
-rw-r--r-- | gdb/ui-out.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/ui-out.c b/gdb/ui-out.c index 79533267edc..0d36639dd47 100644 --- a/gdb/ui-out.c +++ b/gdb/ui-out.c @@ -281,6 +281,18 @@ ui_out_list_end (struct ui_out *uiout) uiout->list_flag--; } +static void +do_list_end (void *uiout) +{ + ui_out_list_end (uiout); +} + +struct cleanup * +make_cleanup_ui_out_list_end (struct ui_out *uiout) +{ + return make_cleanup (do_list_end, uiout); +} + void ui_out_field_int (struct ui_out *uiout, char *fldname, int value) { |