diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2020-12-14 16:40:10 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2020-12-16 02:14:47 +0900 |
commit | 1223227f952a1939a592760ae437e417ba24bb01 (patch) | |
tree | 6bb57d0eea3d5a0dfd1f6564be84fe4c40630b3e /src/libudev | |
parent | 393fcaf733d8e50f18a70be7de1e088fb61f1ff4 (diff) | |
download | systemd-1223227f952a1939a592760ae437e417ba24bb01.tar.gz |
udev: move util_resolve_subsys_kernel() to udev-util.c
Diffstat (limited to 'src/libudev')
-rw-r--r-- | src/libudev/libudev-util.c | 57 | ||||
-rw-r--r-- | src/libudev/libudev-util.h | 1 |
2 files changed, 0 insertions, 58 deletions
diff --git a/src/libudev/libudev-util.c b/src/libudev/libudev-util.c index 8a6b56be5c..a4835d4f40 100644 --- a/src/libudev/libudev-util.c +++ b/src/libudev/libudev-util.c @@ -18,63 +18,6 @@ * Utilities useful when dealing with devices and device node names. */ -/* handle "[<SUBSYSTEM>/<KERNEL>]<attribute>" format */ -int util_resolve_subsys_kernel(const char *string, char *result, size_t maxsize, bool read_value) { - char temp[UTIL_PATH_SIZE], *subsys, *sysname, *attr; - _cleanup_(sd_device_unrefp) sd_device *dev = NULL; - const char *val; - int r; - - if (string[0] != '[') - return -EINVAL; - - strscpy(temp, sizeof(temp), string); - - subsys = &temp[1]; - - sysname = strchr(subsys, '/'); - if (!sysname) - return -EINVAL; - sysname[0] = '\0'; - sysname = &sysname[1]; - - attr = strchr(sysname, ']'); - if (!attr) - return -EINVAL; - attr[0] = '\0'; - attr = &attr[1]; - if (attr[0] == '/') - attr = &attr[1]; - if (attr[0] == '\0') - attr = NULL; - - if (read_value && !attr) - return -EINVAL; - - r = sd_device_new_from_subsystem_sysname(&dev, subsys, sysname); - if (r < 0) - return r; - - if (read_value) { - r = sd_device_get_sysattr_value(dev, attr, &val); - if (r < 0 && r != -ENOENT) - return r; - if (r == -ENOENT) - result[0] = '\0'; - else - strscpy(result, maxsize, val); - log_debug("value '[%s/%s]%s' is '%s'", subsys, sysname, attr, result); - } else { - r = sd_device_get_syspath(dev, &val); - if (r < 0) - return r; - - strscpyl(result, maxsize, val, attr ? "/" : NULL, attr ?: NULL, NULL); - log_debug("path '[%s/%s]%s' is '%s'", subsys, sysname, strempty(attr), result); - } - return 0; -} - /** * udev_util_encode_string: * @str: input string to be encoded diff --git a/src/libudev/libudev-util.h b/src/libudev/libudev-util.h index 547981311e..f03e9eb221 100644 --- a/src/libudev/libudev-util.h +++ b/src/libudev/libudev-util.h @@ -9,7 +9,6 @@ #define UTIL_PATH_SIZE 1024 #define UTIL_NAME_SIZE 512 #define UTIL_LINE_SIZE 16384 -int util_resolve_subsys_kernel(const char *string, char *result, size_t maxsize, bool read_value); /* Cleanup functions */ DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev*, udev_unref); |