Consolidate "if"s in tui_show_frame_info
authorTom Tromey <tom@tromey.com>
Mon, 24 Jun 2019 03:00:01 +0000 (21:00 -0600)
committerTom Tromey <tom@tromey.com>
Wed, 17 Jul 2019 18:18:52 +0000 (12:18 -0600)
tui_show_frame_info has two parallel "if"s with the same condition and
no intervening code.  The second "if" perhaps wasn't obviously
identical, but earlier refactorings made it clearer, by pointing out
that only source and disassembly windows can be handled here.  This
merges the two statements.

gdb/ChangeLog
2019-07-17  Tom Tromey  <tom@tromey.com>

* tui/tui-stack.c (tui_show_frame_info): Consolidate "if"s.

gdb/ChangeLog
gdb/tui/tui-stack.c

index f3cd6e9826480c51cc04f0b3dcebc66e14e3fa08..54c19e0144a7268b44f05f1022a9b3764dd47fed 100644 (file)
@@ -1,3 +1,7 @@
+2019-07-17  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-stack.c (tui_show_frame_info): Consolidate "if"s.
+
 2019-07-17  Tom Tromey  <tom@tromey.com>
 
        * tui/tui-winsource.c (tui_update_source_window_as_is)
index f761ac1f7017a50dbc5d1d26d022c193ca4a8815..e1b996d7e6cd9fd500222c34f360051c2e32ca9d 100644 (file)
@@ -341,8 +341,6 @@ tui_show_frame_info (struct frame_info *fi)
 
   if (fi)
     {
-      int start_line;
-      CORE_ADDR low;
       struct tui_locator_window *locator = tui_locator_win_info_ptr ();
       int source_already_displayed;
       CORE_ADDR pc;
@@ -372,32 +370,15 @@ tui_show_frame_info (struct frame_info *fi)
        return 0;
 
       tui_show_locator_content ();
-      start_line = 0;
       for (struct tui_source_window_base *win_info : tui_source_windows ())
        {
          if (win_info == TUI_SRC_WIN)
            {
-             start_line = (locator->line_no -
-                          (win_info->viewport_height / 2)) + 1;
+             int start_line = (locator->line_no -
+                               (win_info->viewport_height / 2)) + 1;
              if (start_line <= 0)
                start_line = 1;
-           }
-         else
-           {
-             if (find_pc_partial_function (get_frame_pc (fi),
-                                           NULL, &low, NULL) == 0)
-               {
-                 /* There is no symbol available for current PC.  There is no
-                    safe way how to "disassemble backwards".  */
-                 low = get_frame_pc (fi);
-               }
-             else
-               low = tui_get_low_disassembly_address (get_frame_arch (fi),
-                                                      low, get_frame_pc (fi));
-           }
 
-         if (win_info == TUI_SRC_WIN)
-           {
              struct tui_line_or_address l;
 
              l.loa = LOA_LINE;
@@ -415,23 +396,34 @@ tui_show_frame_info (struct frame_info *fi)
            }
          else
            {
-             if (win_info == TUI_DISASM_WIN)
+             CORE_ADDR low;
+
+             if (find_pc_partial_function (get_frame_pc (fi),
+                                           NULL, &low, NULL) == 0)
+               {
+                 /* There is no symbol available for current PC.  There is no
+                    safe way how to "disassemble backwards".  */
+                 low = get_frame_pc (fi);
+               }
+             else
+               low = tui_get_low_disassembly_address (get_frame_arch (fi),
+                                                      low, get_frame_pc (fi));
+
+             struct tui_line_or_address a;
+
+             a.loa = LOA_ADDRESS;
+             a.u.addr = low;
+             if (!tui_addr_is_displayed (locator->addr,
+                                         win_info, TRUE))
+               tui_update_source_window (win_info, get_frame_arch (fi),
+                                         sal.symtab, a, TRUE);
+             else
                {
-                 struct tui_line_or_address a;
-
-                 a.loa = LOA_ADDRESS;
-                 a.u.addr = low;
-                 if (!tui_addr_is_displayed (locator->addr,
-                                             win_info, TRUE))
-                   tui_update_source_window (win_info, get_frame_arch (fi),
-                                             sal.symtab, a, TRUE);
-                 else
-                   {
-                     a.u.addr = locator->addr;
-                     win_info->set_is_exec_point_at (a);
-                   }
+                 a.u.addr = locator->addr;
+                 win_info->set_is_exec_point_at (a);
                }
            }
+
          tui_update_exec_info (win_info);
        }