mirror of
https://github.com/systemd/systemd.git
synced 2025-03-08 08:58:27 +03:00
sd-device: use path_extract_filename() at one more place
This commit is contained in:
parent
ce8394f9c7
commit
c58e0ce677
@ -1171,24 +1171,13 @@ _public_ int sd_device_get_devname(sd_device *device, const char **devname) {
|
||||
static int device_set_sysname_and_sysnum(sd_device *device) {
|
||||
_cleanup_free_ char *sysname = NULL;
|
||||
const char *sysnum = NULL;
|
||||
const char *pos;
|
||||
size_t len = 0;
|
||||
|
||||
if (!device->devpath)
|
||||
return -EINVAL;
|
||||
assert(device);
|
||||
|
||||
pos = strrchr(device->devpath, '/');
|
||||
if (!pos)
|
||||
return -EINVAL;
|
||||
pos++;
|
||||
|
||||
/* devpath is not a root directory */
|
||||
if (*pos == '\0' || pos <= device->devpath)
|
||||
return -EINVAL;
|
||||
|
||||
sysname = strdup(pos);
|
||||
if (!sysname)
|
||||
return -ENOMEM;
|
||||
r = path_extract_filename(device->devpath, &sysname);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
/* some devices have '!' in their name, change that to '/' */
|
||||
while (sysname[len] != '\0') {
|
||||
|
Loading…
x
Reference in New Issue
Block a user