public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] gdb/tui: make use of a scoped_restore
@ 2023-01-25 12:01 Andrew Burgess
  0 siblings, 0 replies; only message in thread
From: Andrew Burgess @ 2023-01-25 12:01 UTC (permalink / raw)
  To: gdb-cvs

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

commit 2e10cefd83b6a5b0b3745da1134d35a4924db6c5
Author: Andrew Burgess <aburgess@redhat.com>
Date:   Thu Jan 5 15:13:54 2023 +0000

    gdb/tui: make use of a scoped_restore
    
    Make use of a scoped_restore object in tui_mld_read_key instead of
    doing a manual save/restore.
    
    I don't think the existing code can throw an exception, so this is
    just a cleanup rather than a bug fix.
    
    There should be no user visible changes after this commit.

Diff:
---
 gdb/tui/tui-io.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c
index 2f39e34df2f..a17cf38a1f2 100644
--- a/gdb/tui/tui-io.c
+++ b/gdb/tui/tui-io.c
@@ -773,14 +773,10 @@ tui_mld_getc (FILE *fp)
 static int
 tui_mld_read_key (const struct match_list_displayer *displayer)
 {
-  rl_getc_func_t *prev = rl_getc_function;
-  int c;
-
   /* We can't use tui_getc as we need NEWLINE to not get emitted.  */
-  rl_getc_function = tui_mld_getc;
-  c = rl_read_key ();
-  rl_getc_function = prev;
-  return c;
+  scoped_restore restore_getc_function
+    = make_scoped_restore (&rl_getc_function, tui_mld_getc);
+  return rl_read_key ();
 }
 
 /* TUI version of rl_completion_display_matches_hook.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-01-25 12:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-25 12:01 [binutils-gdb] gdb/tui: make use of a scoped_restore Andrew Burgess

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).