From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gnu.wildebeest.org (gnu.wildebeest.org [45.83.234.184]) by sourceware.org (Postfix) with ESMTPS id 23E863858C5E for ; Thu, 23 Feb 2023 11:00:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 23E863858C5E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=klomp.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=klomp.org Received: from r6.localdomain (82-217-174-174.cable.dynamic.v4.ziggo.nl [82.217.174.174]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 2BF0C30067D6; Thu, 23 Feb 2023 12:00:03 +0100 (CET) Received: by r6.localdomain (Postfix, from userid 1000) id 9C4CB340251; Thu, 23 Feb 2023 12:00:02 +0100 (CET) Message-ID: Subject: Re: [PATCH v2 04/16] Fixes usage of basename about prototype differences From: Mark Wielaard To: Yonggang Luo , elfutils-devel@sourceware.org Date: Thu, 23 Feb 2023 12:00:02 +0100 In-Reply-To: <20221217165213.152-5-luoyonggang@gmail.com> References: <20221217165213.152-1-luoyonggang@gmail.com> <20221217165213.152-5-luoyonggang@gmail.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) MIME-Version: 1.0 X-Spam-Status: No, score=-3035.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,RCVD_IN_BARRACUDACENTRAL,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi, On Sun, 2022-12-18 at 00:52 +0800, Yonggang Luo via Elfutils-devel wrote: > diff --git a/libdw/dwarf_getsrc_file.c b/libdw/dwarf_getsrc_file.c > index 5289c7da..884fea32 100644 > --- a/libdw/dwarf_getsrc_file.c > +++ b/libdw/dwarf_getsrc_file.c > @@ -98,7 +98,7 @@ dwarf_getsrc_file (Dwarf *dbg, const char *fname, int l= ineno, int column, > /* Match the name with the name the user provided. */ > const char *fname2 =3D line->files->info[lastfile].name; > if (is_basename) > - lastmatch =3D strcmp (basename (fname2), fname) =3D=3D 0; > + lastmatch =3D strcmp (basename ((char *)fname2), fname) =3D=3D 0; > else > lastmatch =3D strcmp (fname2, fname) =3D=3D 0; > } I think the reason you need these casts is because you are somehow getting the wrong basename function. We use the GNU one which doesn't manipulate the given string. See https://www.man7.org/linux/man-pages/man3/basename.3.html#NOTES Cheers, Mark