gdb/tui: make use of a scoped_restore
authorAndrew Burgess <aburgess@redhat.com>
Thu, 5 Jan 2023 15:13:54 +0000 (15:13 +0000)
committerAndrew Burgess <aburgess@redhat.com>
Wed, 25 Jan 2023 11:35:02 +0000 (11:35 +0000)
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.

gdb/tui/tui-io.c

index 2f39e34df2f9bbfcd2ee1e2779eb0f04eb33c3d4..a17cf38a1f27134f36fa18d3f3a5899e7ab494a6 100644 (file)
@@ -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.