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>
This commit is contained in:
parent
7af51621b1
commit
469897ed43
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user