From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id EMc9IsYHk2BTDQAAWB0awg (envelope-from ) for ; Wed, 05 May 2021 17:01:58 -0400 Received: by simark.ca (Postfix, from userid 112) id 856921F11E; Wed, 5 May 2021 17:01:58 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED, MAILING_LIST_MULTI,T_DKIM_INVALID,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id ED2EE1E813 for ; Wed, 5 May 2021 17:01:56 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B494D3848038; Wed, 5 May 2021 21:01:56 +0000 (GMT) Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by sourceware.org (Postfix) with ESMTPS id 3031C384780C for ; Wed, 5 May 2021 21:01:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3031C384780C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embecosm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=andrew.burgess@embecosm.com Received: by mail-wm1-x32a.google.com with SMTP id i128so2180965wma.5 for ; Wed, 05 May 2021 14:01:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3vzf8zvjYiH33MdagVPiBzHkxidNWMMsodbYZGNemGg=; b=fFklfduMMxD4w1ZlWEbxdbExV0PZnzIFFTPgfD/OsAwx5UV261Sykh+xfrWmKpxSxA 5kMafXDmLh4UgNOC0cguqPtD1jdvUXcs75s1wHqB7MDZ7uM3gbh5Feq6tUz15yknSq1H pXI9MgTmIHOadej/qE8Eek9dPbp6GtbYjq47jHChKfwhS3YVK4pYl+hsNteK6ZRyG7+a eZEPNfUgXDxG+C5FloeKXBwHpt/wqfq9fuG48oZbfwc+g4GS0bKxd3zx4/qiTNLh+pU6 t4T8c2lOtKwrQ9Oodw08acryjgsAEP61hJdUF17E9cVXValVcbwfwrQ6sRRhJE5nknPv iyYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3vzf8zvjYiH33MdagVPiBzHkxidNWMMsodbYZGNemGg=; b=DtxwW6gZysrrnymIoP6V2io7pEqM61JG8IA+TVzMsT66AzkFbYFqVV/qoLPil52vkh AHkXhg1JsTKW6+IziQ8OxoXnza+wpBjVV/plLiypCQQ9P1b96zgB6bJkBXKQ6xoRDpOW jRwVF/vphq3rdPfX2g6rwxBQ0wab6K9vP9a7/PQ2HQgd8bFsSCOpNJB0ToAIGEFY6ffy T09c9Y6URh0cAVl59RVSO7huU902nFm0prp8jgWHofaNt205RxBEuwJ1pJ5aM8Sl/FTM JwTrGYa5ApxRZL83ZNvW+YwINbsJKeaBqIMuq+8sXdDq2A5fuUgCelu8Btpyaaw4Qdgm lOpA== X-Gm-Message-State: AOAM531GSpCt4Y069XItASKxT7bsXx/rOcN0iIE9oSioXsc90de2vCuy +w5h5EpouV3I7xcRameGJvbhGgpJdfGTow== X-Google-Smtp-Source: ABdhPJyBQg3ykX5Uf8xPDC/cFUpHht6KR6PBwVtsWmBpUm5rrMch0ff/JgGK+KqI4xDloI/wxJOrLA== X-Received: by 2002:a1c:bc05:: with SMTP id m5mr10003572wmf.173.1620248513134; Wed, 05 May 2021 14:01:53 -0700 (PDT) Received: from localhost (host109-151-46-70.range109-151.btcentralplus.com. [109.151.46.70]) by smtp.gmail.com with ESMTPSA id z6sm577631wmf.9.2021.05.05.14.01.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 May 2021 14:01:52 -0700 (PDT) From: Andrew Burgess To: gdb-patches@sourceware.org Subject: [PATCHv2 2/2] gdb/guile: Have gdbscm_safe_source_script return a unique_ptr Date: Wed, 5 May 2021 22:01:41 +0100 Message-Id: <17720e44850a8a0ed172812da5ce6a3919f9bb4e.1620248278.git.andrew.burgess@embecosm.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: References: <87bl9pq9li.fsf@tromey.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" Change gdbscm_safe_source_script to return a gdb::unique_xmalloc_ptr instead of a raw char*. Update the users of this function. There should be no user visible change after this commit. gdb/ChangeLog: * guile/guile-internal.h (gdbscm_safe_source_script): Change function return type. * guile/guile.c (gdbscm_source_script): Update to handle change in gdbscm_safe_source_script. * guile/scm-objfile.c (gdbscm_source_objfile_script): Likewise. * guile/scm-safe-call.c (gdbscm_safe_source_script): Change return type. --- gdb/ChangeLog | 10 ++++++++++ gdb/guile/guile-internal.h | 3 ++- gdb/guile/guile.c | 7 ++----- gdb/guile/scm-objfile.c | 9 ++------- gdb/guile/scm-safe-call.c | 4 ++-- 5 files changed, 18 insertions(+), 15 deletions(-) diff --git a/gdb/guile/guile-internal.h b/gdb/guile/guile-internal.h index c48547a41cd..73fa3803dfd 100644 --- a/gdb/guile/guile-internal.h +++ b/gdb/guile/guile-internal.h @@ -408,7 +408,8 @@ extern SCM gdbscm_unsafe_call_1 (SCM proc, SCM arg0); extern gdb::unique_xmalloc_ptr gdbscm_safe_eval_string (const char *string, int display_result); -extern char *gdbscm_safe_source_script (const char *filename); +extern gdb::unique_xmalloc_ptr gdbscm_safe_source_script + (const char *filename); extern void gdbscm_enter_repl (void); diff --git a/gdb/guile/guile.c b/gdb/guile/guile.c index c6959f5b713..71d61f375b3 100644 --- a/gdb/guile/guile.c +++ b/gdb/guile/guile.c @@ -270,13 +270,10 @@ static void gdbscm_source_script (const struct extension_language_defn *extlang, FILE *file, const char *filename) { - char *msg = gdbscm_safe_source_script (filename); + gdb::unique_xmalloc_ptr msg = gdbscm_safe_source_script (filename); if (msg != NULL) - { - fprintf_filtered (gdb_stderr, "%s\n", msg); - xfree (msg); - } + fprintf_filtered (gdb_stderr, "%s\n", msg.get ()); } /* (execute string [#:from-tty boolean] [#:to-string boolean]) diff --git a/gdb/guile/scm-objfile.c b/gdb/guile/scm-objfile.c index 30e63f374e7..cc8bbe63a70 100644 --- a/gdb/guile/scm-objfile.c +++ b/gdb/guile/scm-objfile.c @@ -310,16 +310,11 @@ gdbscm_source_objfile_script (const struct extension_language_defn *extlang, struct objfile *objfile, FILE *file, const char *filename) { - char *msg; - ofscm_current_objfile = objfile; - msg = gdbscm_safe_source_script (filename); + gdb::unique_xmalloc_ptr msg = gdbscm_safe_source_script (filename); if (msg != NULL) - { - fprintf_filtered (gdb_stderr, "%s", msg); - xfree (msg); - } + fprintf_filtered (gdb_stderr, "%s", msg.get ()); ofscm_current_objfile = NULL; } diff --git a/gdb/guile/scm-safe-call.c b/gdb/guile/scm-safe-call.c index 5bea970239b..a475774f921 100644 --- a/gdb/guile/scm-safe-call.c +++ b/gdb/guile/scm-safe-call.c @@ -432,7 +432,7 @@ scscm_source_scheme_script (void *data) printed according to "set guile print-stack" and the result is an error message allocated with malloc, caller must free. */ -char * +gdb::unique_xmalloc_ptr gdbscm_safe_source_script (const char *filename) { /* scm_c_primitive_load_path only looks in %load-path for files with @@ -454,7 +454,7 @@ gdbscm_safe_source_script (const char *filename) (void *) filename); if (result != NULL) - return xstrdup (result); + return make_unique_xstrdup (result); return NULL; } -- 2.25.4