From 82432e10143669d4936848d77e2a7b78c62c26e0 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 16 Jun 2019 10:32:35 -0600 Subject: Simplify command window creation make_command_window is never called when *win_info_ptr is non-NULL, so this patch simplifies the function by removing the parameter and having it return its result directly. This in turn makes it more obvious that a NULL check in show_source_disasm_command can be removed. gdb/ChangeLog 2019-06-25 Tom Tromey * tui/tui-layout.c (make_command_window): Remove win_info_ptr parameter. Return the new window. (show_source_disasm_command): Update and remove NULL check. (show_source_or_disasm_and_command): Update. --- gdb/tui/tui-layout.c | 146 ++++++++++++++++++++++++--------------------------- 1 file changed, 69 insertions(+), 77 deletions(-) (limited to 'gdb/tui/tui-layout.c') diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c index 695c560..3eddc56 100644 --- a/gdb/tui/tui-layout.c +++ b/gdb/tui/tui-layout.c @@ -52,7 +52,7 @@ static void show_source_or_disasm_and_command (enum tui_layout_type); static void make_source_or_disasm_window (struct tui_win_info **, enum tui_win_type, int, int); -static void make_command_window (struct tui_win_info **, int, int); +static struct tui_win_info *make_command_window (int, int); static void make_source_window (struct tui_win_info **, int, int); static void make_disasm_window (struct tui_win_info **, int, int); static void make_data_window (struct tui_win_info **, int, int); @@ -540,20 +540,19 @@ prev_layout (void) -static void -make_command_window (struct tui_win_info **win_info_ptr, - int height, int origin_y) +static struct tui_win_info * +make_command_window (int height, int origin_y) { - *win_info_ptr - = (struct tui_win_info *) init_and_make_win (*win_info_ptr, + struct tui_win_info *result + = (struct tui_win_info *) init_and_make_win (NULL, CMD_WIN, height, tui_term_width (), 0, origin_y, DONT_BOX_WINDOW); - - (*win_info_ptr)->can_highlight = FALSE; + result->can_highlight = FALSE; + return result; } @@ -650,76 +649,69 @@ show_source_disasm_command (void) tui_make_visible (TUI_SRC_WIN->detail.source_info.execution_info); TUI_SRC_WIN->detail.source_info.has_locator = FALSE;; } - if (TUI_SRC_WIN != NULL) - { - struct tui_gen_win_info *locator = tui_locator_win_info_ptr (); - tui_show_source_content (TUI_SRC_WIN); - if (TUI_DISASM_WIN == NULL) - { - make_disasm_window (&TUI_DISASM_WIN, asm_height, src_height - 1); - locator - = ((struct tui_gen_win_info *) - init_and_make_win (locator, - LOCATOR_WIN, - 2 /* 1 */ , - tui_term_width (), - 0, - (src_height + asm_height) - 1, - DONT_BOX_WINDOW)); - } - else - { - init_gen_win_info (locator, - LOCATOR_WIN, - 2 /* 1 */ , - tui_term_width (), - 0, - (src_height + asm_height) - 1); - TUI_DISASM_WIN->detail.source_info.has_locator = TRUE; - init_gen_win_info (&TUI_DISASM_WIN->generic, - TUI_DISASM_WIN->generic.type, - asm_height, - TUI_DISASM_WIN->generic.width, - TUI_DISASM_WIN->detail.source_info.execution_info->width, - src_height - 1); - init_gen_win_info (TUI_DISASM_WIN->detail.source_info.execution_info, - EXEC_INFO_WIN, - asm_height, - 3, - 0, - src_height - 1); - TUI_DISASM_WIN->can_highlight = TRUE; - tui_make_visible (&TUI_DISASM_WIN->generic); - tui_make_visible (TUI_DISASM_WIN->detail.source_info.execution_info); - } - if (TUI_DISASM_WIN != NULL) - { - TUI_SRC_WIN->detail.source_info.has_locator = FALSE; - TUI_DISASM_WIN->detail.source_info.has_locator = TRUE; - tui_make_visible (locator); - tui_show_locator_content (); - tui_show_source_content (TUI_DISASM_WIN); - - if (TUI_CMD_WIN == NULL) - make_command_window (&TUI_CMD_WIN, - cmd_height, - tui_term_height () - cmd_height); - else - { - init_gen_win_info (&TUI_CMD_WIN->generic, - TUI_CMD_WIN->generic.type, - TUI_CMD_WIN->generic.height, - TUI_CMD_WIN->generic.width, - 0, - TUI_CMD_WIN->generic.origin.y); - TUI_CMD_WIN->can_highlight = FALSE; - tui_make_visible (&TUI_CMD_WIN->generic); - } - if (TUI_CMD_WIN != NULL) - tui_refresh_win (&TUI_CMD_WIN->generic); - } + struct tui_gen_win_info *locator = tui_locator_win_info_ptr (); + + tui_show_source_content (TUI_SRC_WIN); + if (TUI_DISASM_WIN == NULL) + { + make_disasm_window (&TUI_DISASM_WIN, asm_height, src_height - 1); + locator + = ((struct tui_gen_win_info *) + init_and_make_win (locator, + LOCATOR_WIN, + 2 /* 1 */ , + tui_term_width (), + 0, + (src_height + asm_height) - 1, + DONT_BOX_WINDOW)); + } + else + { + init_gen_win_info (locator, + LOCATOR_WIN, + 2 /* 1 */ , + tui_term_width (), + 0, + (src_height + asm_height) - 1); + TUI_DISASM_WIN->detail.source_info.has_locator = TRUE; + init_gen_win_info (&TUI_DISASM_WIN->generic, + TUI_DISASM_WIN->generic.type, + asm_height, + TUI_DISASM_WIN->generic.width, + TUI_DISASM_WIN->detail.source_info.execution_info->width, + src_height - 1); + init_gen_win_info (TUI_DISASM_WIN->detail.source_info.execution_info, + EXEC_INFO_WIN, + asm_height, + 3, + 0, + src_height - 1); + TUI_DISASM_WIN->can_highlight = TRUE; + tui_make_visible (&TUI_DISASM_WIN->generic); + tui_make_visible (TUI_DISASM_WIN->detail.source_info.execution_info); + } + TUI_SRC_WIN->detail.source_info.has_locator = FALSE; + TUI_DISASM_WIN->detail.source_info.has_locator = TRUE; + tui_make_visible (locator); + tui_show_locator_content (); + tui_show_source_content (TUI_DISASM_WIN); + + if (TUI_CMD_WIN == NULL) + TUI_CMD_WIN = make_command_window (cmd_height, + tui_term_height () - cmd_height); + else + { + init_gen_win_info (&TUI_CMD_WIN->generic, + TUI_CMD_WIN->generic.type, + TUI_CMD_WIN->generic.height, + TUI_CMD_WIN->generic.width, + 0, + TUI_CMD_WIN->generic.origin.y); + TUI_CMD_WIN->can_highlight = FALSE; + tui_make_visible (&TUI_CMD_WIN->generic); } + tui_refresh_win (&TUI_CMD_WIN->generic); tui_set_current_layout_to (SRC_DISASSEM_COMMAND); } } @@ -964,7 +956,7 @@ show_source_or_disasm_and_command (enum tui_layout_type layout_type) if (TUI_CMD_WIN == NULL) { - make_command_window (&TUI_CMD_WIN, cmd_height, src_height); + TUI_CMD_WIN = make_command_window (cmd_height, src_height); tui_refresh_win (&TUI_CMD_WIN->generic); } else -- cgit v1.1