From patchwork Sun Jun 23 22:42:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 33285 Received: (qmail 47962 invoked by alias); 23 Jun 2019 22:43:45 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 47757 invoked by uid 89); 23 Jun 2019 22:43:43 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-20.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.1 spammy= X-HELO: gateway36.websitewelcome.com Received: from gateway36.websitewelcome.com (HELO gateway36.websitewelcome.com) (192.185.193.12) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 23 Jun 2019 22:43:40 +0000 Received: from cm16.websitewelcome.com (cm16.websitewelcome.com [100.42.49.19]) by gateway36.websitewelcome.com (Postfix) with ESMTP id 56D13400FA23D for ; Sun, 23 Jun 2019 17:05:37 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id fBD1hLtnj4FKpfBD1hcV7X; Sun, 23 Jun 2019 17:43:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Sender:Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Bczf7CfxpdKylzHnAUS2vmwxB/GqkbbndYojfwiIKfs=; b=rOT/Q4EzOaydmq01QJ3lp9cfKv WXOyVpFLGjdlzRprmuepY/0NDxNpPmPQDBRENLhPy2A4ncG4NW0Lprw3PPmaLlWmNP2igA4XhigB3 Zx4U7ahmxyCT5rGjI+W16Vup7; Received: from 75-166-12-78.hlrn.qwest.net ([75.166.12.78]:54396 helo=bapiya.Home) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1hfBD1-000vDQ-7U; Sun, 23 Jun 2019 17:43:39 -0500 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 06/66] Simplify source and disassembly window creation Date: Sun, 23 Jun 2019 16:42:29 -0600 Message-Id: <20190623224329.16060-7-tom@tromey.com> In-Reply-To: <20190623224329.16060-1-tom@tromey.com> References: <20190623224329.16060-1-tom@tromey.com> 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-23 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. --- gdb/ChangeLog | 8 +++++++ gdb/tui/tui-layout.c | 54 ++++++++++++++++++++------------------------ 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c index 3eddc56578b..8c3ece0eef8 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,