From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Eric Farman <farman@linux.ibm.com>,
Matthew Rosato <mjrosato@linux.ibm.com>,
Thomas Huth <thuth@redhat.com>, Halil Pasic <pasic@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Richard Henderson <richard.henderson@linaro.org>,
David Hildenbrand <david@redhat.com>,
Ilya Leoshkevich <iii@linux.ibm.com>,
qemu-s390x@nongnu.org, qemu-devel@nongnu.org
Cc: "Cédric Le Goater" <clg@redhat.com>, "Zhao Liu" <zhao1.liu@intel.com>
Subject: [PATCH 1/2] hw/s390x/ccw: Replace basename() with g_path_get_basename()
Date: Fri, 22 Dec 2023 01:19:20 +0800 [thread overview]
Message-ID: <20231221171921.57784-2-zhao1.liu@linux.intel.com> (raw)
In-Reply-To: <20231221171921.57784-1-zhao1.liu@linux.intel.com>
From: Zhao Liu <zhao1.liu@intel.com>
g_path_get_basename() is a portable utility function that has the
advantage of not modifing the string argument, so it should be
preferred over basename().
And also to avoid potential compile breakage with the Musl C library
similar to [1], replace basename() with g_path_get_basename().
[1]: https://lore.kernel.org/all/20231212010228.2701544-1-raj.khem@gmail.com/
Suggested-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
Suggested by credit:
Cédric: Referred his description of similar cleanup in vfio/container.
---
hw/s390x/s390-ccw.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
index e2d86d96e728..ab7022a3abe8 100644
--- a/hw/s390x/s390-ccw.c
+++ b/hw/s390x/s390-ccw.c
@@ -76,7 +76,8 @@ static void s390_ccw_get_dev_info(S390CCWDevice *cdev,
Error **errp)
{
unsigned int cssid, ssid, devid;
- char dev_path[PATH_MAX] = {0}, *tmp;
+ char dev_path[PATH_MAX] = {0};
+ g_autofree char *tmp = NULL;
if (!sysfsdev) {
error_setg(errp, "No host device provided");
@@ -92,7 +93,7 @@ static void s390_ccw_get_dev_info(S390CCWDevice *cdev,
cdev->mdevid = g_path_get_basename(dev_path);
- tmp = basename(dirname(dev_path));
+ tmp = g_path_get_basename(dirname(dev_path));
if (sscanf(tmp, "%2x.%1x.%4x", &cssid, &ssid, &devid) != 3) {
error_setg_errno(errp, errno, "Failed to read %s", tmp);
return;
--
2.34.1
next prev parent reply other threads:[~2023-12-21 17:12 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-21 17:19 [PATCH 0/2] hw/s390x/ccw: Cleanup basename() and dirname() Zhao Liu
2023-12-21 17:19 ` Zhao Liu [this message]
2024-01-02 8:29 ` [PATCH 1/2] hw/s390x/ccw: Replace basename() with g_path_get_basename() Cédric Le Goater
2023-12-21 17:19 ` [PATCH 2/2] hw/s390x/ccw: Replace dirname() with g_path_get_dirname() Zhao Liu
2024-01-02 8:29 ` Cédric Le Goater
2023-12-21 21:29 ` [PATCH 0/2] hw/s390x/ccw: Cleanup basename() and dirname() Eric Farman
2023-12-22 2:41 ` Zhao Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231221171921.57784-2-zhao1.liu@linux.intel.com \
--to=zhao1.liu@linux.intel.com \
--cc=borntraeger@linux.ibm.com \
--cc=clg@redhat.com \
--cc=david@redhat.com \
--cc=farman@linux.ibm.com \
--cc=iii@linux.ibm.com \
--cc=mjrosato@linux.ibm.com \
--cc=pasic@linux.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=thuth@redhat.com \
--cc=zhao1.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.