summaryrefslogtreecommitdiffstats
path: root/src/udev/udevadm-info.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-11-26 01:39:19 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-11-26 03:16:47 +0100
commitd6170d27b26eeeace966bb9720d66fcac2a6ef1b (patch)
tree0610f7c4abf3e350ad56d804015778917138dd47 /src/udev/udevadm-info.c
parentupdate TODO (diff)
downloadsystemd-d6170d27b26eeeace966bb9720d66fcac2a6ef1b.tar.xz
systemd-d6170d27b26eeeace966bb9720d66fcac2a6ef1b.zip
udevadm: split out find_device helper
The idea is to unify the way that devices can be specified.
Diffstat (limited to 'src/udev/udevadm-info.c')
-rw-r--r--src/udev/udevadm-info.c30
1 files changed, 1 insertions, 29 deletions
diff --git a/src/udev/udevadm-info.c b/src/udev/udevadm-info.c
index 22d0826011..a56f159543 100644
--- a/src/udev/udevadm-info.c
+++ b/src/udev/udevadm-info.c
@@ -31,6 +31,7 @@
#include "udev.h"
#include "udev-util.h"
+#include "udevadm-util.h"
static bool skip_attribute(const char *name) {
static const char* const skip[] = {
@@ -257,35 +258,6 @@ static void cleanup_db(struct udev *udev) {
}
}
-static struct udev_device *find_device(struct udev *udev, const char *id, const char *prefix) {
- char name[UTIL_PATH_SIZE];
-
- if (prefix && !startswith(id, prefix)) {
- strscpyl(name, sizeof(name), prefix, id, NULL);
- id = name;
- }
-
- if (startswith(id, "/dev/")) {
- struct stat statbuf;
- char type;
-
- if (stat(id, &statbuf) < 0)
- return NULL;
-
- if (S_ISBLK(statbuf.st_mode))
- type = 'b';
- else if (S_ISCHR(statbuf.st_mode))
- type = 'c';
- else
- return NULL;
-
- return udev_device_new_from_devnum(udev, type, statbuf.st_rdev);
- } else if (startswith(id, "/sys/"))
- return udev_device_new_from_syspath(udev, id);
- else
- return NULL;
-}
-
static int uinfo(struct udev *udev, int argc, char *argv[]) {
_cleanup_udev_device_unref_ struct udev_device *device = NULL;
bool root = 0;