From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 34289 invoked by alias); 10 Sep 2019 15:27:02 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 34279 invoked by uid 89); 10 Sep 2019 15:27:02 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-3.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,RCVD_IN_JMF_BL,SPF_HELO_PASS autolearn=no version=3.3.1 spammy=management X-HELO: gateway31.websitewelcome.com Received: from gateway31.websitewelcome.com (HELO gateway31.websitewelcome.com) (192.185.143.39) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 10 Sep 2019 15:27:00 +0000 Received: from cm14.websitewelcome.com (cm14.websitewelcome.com [100.42.49.7]) by gateway31.websitewelcome.com (Postfix) with ESMTP id 6C3BF6D39 for ; Tue, 10 Sep 2019 10:26:59 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id 7i2likZsu2qH77i2lienEh; Tue, 10 Sep 2019 10:26:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To: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=gru5q6lcjOY1VCHLc+BNF3wDcoHHU4PePSmOvnoA9Go=; b=MddiG9sAVycuwj9uRbsIuMAbHS msykmrJk0Z2v6LkUG30fLfm+ExytZx33QymWt7gk9fQw8KQ6U/bymt6/naF885af0fIo9vmFi9HyO x5+XX/J2cp1gvd0wODO9uOAcx; Received: from 71-218-73-27.hlrn.qwest.net ([71.218.73.27]:57624 helo=murgatroyd) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1i7i2l-003VAu-4E; Tue, 10 Sep 2019 10:26:59 -0500 From: Tom Tromey To: "Christian Biesinger via gdb-patches" Cc: Christian Biesinger Subject: Re: [PATCH 3/3] Make relocate_{path,gdb_directory} return std::string References: <20190909180830.215313-1-cbiesinger@google.com> <20190909180830.215313-4-cbiesinger@google.com> Date: Tue, 10 Sep 2019 15:27:00 -0000 In-Reply-To: <20190909180830.215313-4-cbiesinger@google.com> (Christian Biesinger via gdb-patches's message of "Mon, 9 Sep 2019 13:08:30 -0500") Message-ID: <87ftl46uke.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2019-09/txt/msg00160.txt.bz2 >>>>> "Christian" == Christian Biesinger via gdb-patches writes: Christian> This simplifies memory management. I've also changed some global variables Christian> to std::string accordingly (which store the result of these functions), Christian> but not all because some are used with add_setshow_optional_filename_cmd Christian> which requires a char*. Thank you. Christian> - xfree (gdb_datadir); Christian> - gdb_datadir = gdb_realpath (new_datadir).release (); Christian> + gdb_datadir = gdb_realpath (new_datadir).get (); I wonder if using a unique_xmalloc_ptr would be better. I suppose it doesn't matter hugely, but it would eliminate some of these double allocations. Christian> + gdb::unique_xmalloc_ptr abs_datadir = Christian> + gdb_abspath (gdb_datadir.c_str ()); "=" on continuation line. Christian> -static char * Christian> +static std::string Christian> relocate_path (const char *progname, const char *initial, bool relocatable) Christian> { Christian> if (relocatable) Christian> - return make_relative_prefix (progname, BINDIR, initial); Christian> - return xstrdup (initial); Christian> + { Christian> + char *str = make_relative_prefix (progname, BINDIR, initial); Christian> + if (str != nullptr) Christian> + return str; This seems to leak "str". Christian> + char *canon_sysroot = lrealpath (dir.c_str ()); Changing this to a unique_xmalloc_ptr would mean one less call to xfree... Christian> + debug_file_directory = "=" on the next line, there is one more of these in this spot. Tom