diff options
author | Zhao Liu <zhao1.liu@intel.com> | 2023-12-22 01:19:20 +0800 |
---|---|---|
committer | Thomas Huth <thuth@redhat.com> | 2024-01-11 14:13:07 +0100 |
commit | 469897ed4348341fda7b8db4ed1d1c1b753e59a4 (patch) | |
tree | 9d7e076b7a64765759be11d317d9caa373335105 /hw | |
parent | 7af51621b16ae86646cc2dc9dee30de8176ff761 (diff) | |
download | qemu-469897ed4348341fda7b8db4ed1d1c1b753e59a4.zip qemu-469897ed4348341fda7b8db4ed1d1c1b753e59a4.tar.gz qemu-469897ed4348341fda7b8db4ed1d1c1b753e59a4.tar.bz2 |
hw/s390x/ccw: Replace basename() with g_path_get_basename()
g_path_get_basename() is a portable utility function that has the
advantage of not modifying 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>
Message-ID: <20231221171921.57784-2-zhao1.liu@linux.intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/s390x/s390-ccw.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c index e2d86d9..ab7022a 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; |