summaryrefslogtreecommitdiff
path: root/src/libudev
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2020-12-14 16:40:10 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2020-12-16 02:14:47 +0900
commit1223227f952a1939a592760ae437e417ba24bb01 (patch)
tree6bb57d0eea3d5a0dfd1f6564be84fe4c40630b3e /src/libudev
parent393fcaf733d8e50f18a70be7de1e088fb61f1ff4 (diff)
downloadsystemd-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.c57
-rw-r--r--src/libudev/libudev-util.h1
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);