From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 112787 invoked by alias); 25 Jun 2019 13:57:35 -0000 Mailing-List: contact gdb-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: , Sender: gdb-cvs-owner@sourceware.org List-Subscribe: Sender: gdb-cvs-owner@sourceware.org Received: (qmail 112763 invoked by uid 306); 25 Jun 2019 13:57:35 -0000 Date: Tue, 25 Jun 2019 13:57:00 -0000 Message-ID: <20190625135735.112762.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Tom Tromey To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Simplify source and disassembly window creation X-Act-Checkin: binutils-gdb X-Git-Author: Tom Tromey X-Git-Refname: refs/heads/master X-Git-Oldrev: 82432e10143669d4936848d77e2a7b78c62c26e0 X-Git-Newrev: 0ed69edaab683b9290a05962faa50d970facfa84 X-SW-Source: 2019-06/txt/msg00142.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0ed69edaab683b9290a05962faa50d970facfa84 commit 0ed69edaab683b9290a05962faa50d970facfa84 Author: Tom Tromey Date: Sun Jun 16 10:37:25 2019 -0600 Simplify source and disassembly window creation Similar to the previous patch, neither make_source_window nor make_disasm_window could be called when *win_info_ptr was non-NULL. This patch simplifies the functions by removing the parameter and having them return their results directly. gdb/ChangeLog 2019-06-25 Tom Tromey * tui/tui-layout.c (make_source_window, make_disasm_window) (make_source_or_disasm_window): Remove win_info_ptr parameter. Return the new window. (show_source_disasm_command, show_data) (show_source_or_disasm_and_command): Update. Diff: --- gdb/ChangeLog | 8 ++++++++ gdb/tui/tui-layout.c | 54 +++++++++++++++++++++++----------------------------- 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1df099e..a9f7089 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,13 @@ 2019-06-25 Tom Tromey + * tui/tui-layout.c (make_source_window, make_disasm_window) + (make_source_or_disasm_window): Remove win_info_ptr parameter. + Return the new window. + (show_source_disasm_command, show_data) + (show_source_or_disasm_and_command): Update. + +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. diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c index 3eddc56..8c3ece0 100644 --- a/gdb/tui/tui-layout.c +++ b/gdb/tui/tui-layout.c @@ -49,12 +49,11 @@ static void init_gen_win_info (struct tui_gen_win_info *, static void *init_and_make_win (void *, enum tui_win_type, int, int, int, int, int); 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 struct tui_win_info *make_source_or_disasm_window (enum tui_win_type, + 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 struct tui_win_info *make_source_window (int, int); +static struct tui_win_info *make_disasm_window (int, int); static void make_data_window (struct tui_win_info **, int, int); static void show_source_command (void); static void show_disasm_command (void); @@ -558,25 +557,19 @@ make_command_window (int height, int origin_y) /* make_source_window(). */ -static void -make_source_window (struct tui_win_info **win_info_ptr, - int height, int origin_y) +static struct tui_win_info * +make_source_window (int height, int origin_y) { - make_source_or_disasm_window (win_info_ptr, SRC_WIN, height, origin_y); - - return; + return make_source_or_disasm_window (SRC_WIN, height, origin_y); } /* make_source_window */ /* make_disasm_window(). */ -static void -make_disasm_window (struct tui_win_info **win_info_ptr, - int height, int origin_y) +static struct tui_win_info * +make_disasm_window (int height, int origin_y) { - make_source_or_disasm_window (win_info_ptr, DISASSEM_WIN, height, origin_y); - - return; + return make_source_or_disasm_window (DISASSEM_WIN, height, origin_y); } /* make_disasm_window */ @@ -629,7 +622,7 @@ show_source_disasm_command (void) asm_height = tui_term_height () - (src_height + cmd_height); if (TUI_SRC_WIN == NULL) - make_source_window (&TUI_SRC_WIN, src_height, 0); + TUI_SRC_WIN = make_source_window (src_height, 0); else { init_gen_win_info (&TUI_SRC_WIN->generic, @@ -655,7 +648,7 @@ show_source_disasm_command (void) tui_show_source_content (TUI_SRC_WIN); if (TUI_DISASM_WIN == NULL) { - make_disasm_window (&TUI_DISASM_WIN, asm_height, src_height - 1); + TUI_DISASM_WIN = make_disasm_window (asm_height, src_height - 1); locator = ((struct tui_gen_win_info *) init_and_make_win (locator, @@ -741,9 +734,11 @@ show_data (enum tui_layout_type new_layout) if (tui_win_list[win_type] == NULL) { if (win_type == SRC_WIN) - make_source_window (&tui_win_list[win_type], src_height, data_height - 1); + tui_win_list[win_type] + = make_source_window (src_height, data_height - 1); else - make_disasm_window (&tui_win_list[win_type], src_height, data_height - 1); + tui_win_list[win_type] + = make_disasm_window (src_height, data_height - 1); locator = ((struct tui_gen_win_info *) init_and_make_win (locator, @@ -848,9 +843,8 @@ init_and_make_win (void *opaque_win_info, } -static void -make_source_or_disasm_window (struct tui_win_info **win_info_ptr, - enum tui_win_type type, +static struct tui_win_info * +make_source_or_disasm_window (enum tui_win_type type, int height, int origin_y) { struct tui_gen_win_info *execution_info = NULL; @@ -871,17 +865,17 @@ make_source_or_disasm_window (struct tui_win_info **win_info_ptr, DONT_BOX_WINDOW)); /* Now create the source window. */ - *win_info_ptr + struct tui_win_info *result = ((struct tui_win_info *) - init_and_make_win (*win_info_ptr, + init_and_make_win (NULL, type, height, tui_term_width () - execution_info->width, execution_info->width, origin_y, BOX_WINDOW)); - - (*win_info_ptr)->detail.source_info.execution_info = execution_info; + result->detail.source_info.execution_info = execution_info; + return result; } @@ -909,9 +903,9 @@ show_source_or_disasm_and_command (enum tui_layout_type layout_type) if ((*win_info_ptr) == NULL) { if (layout_type == SRC_COMMAND) - make_source_window (win_info_ptr, src_height - 1, 0); + *win_info_ptr = make_source_window (src_height - 1, 0); else - make_disasm_window (win_info_ptr, src_height - 1, 0); + *win_info_ptr = make_disasm_window (src_height - 1, 0); locator = ((struct tui_gen_win_info *) init_and_make_win (locator,