diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-11-28 08:44:21 -0500 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2014-11-28 08:44:21 -0500 |
commit | c0f2fad6a55e93eb4a2caba6b276fa3069b5f0fb (patch) | |
tree | 6acca1604d6767631900192c1de91cb166c5627f /src/udev/udevadm-info.c | |
parent | 3481b5b97660d56841c24683f0b8e7ad74a833f7 (diff) |
udevadm: split out find_device helper
The idea is to unify the way that devices can be specified.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'src/udev/udevadm-info.c')
-rw-r--r-- | src/udev/udevadm-info.c | 30 |
1 files changed, 1 insertions, 29 deletions
diff --git a/src/udev/udevadm-info.c b/src/udev/udevadm-info.c index 3cb503fc1f..ce75029f50 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" #include "util.h" static bool skip_attribute(const char *name) { @@ -258,35 +259,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; |