chiark / gitweb /
sd-rtnl: message - allow checking for attributes without reading out their contents
[elogind.git] / src / udev / udevadm-info.c
index 64bb537210d105ab2e8a437551e590008b02d947..a56f159543da0d169363ba07d911f958d16d1cc6 100644 (file)
@@ -31,9 +31,9 @@
 
 #include "udev.h"
 #include "udev-util.h"
+#include "udevadm-util.h"
 
-static bool skip_attribute(const char *name)
-{
+static bool skip_attribute(const char *name) {
         static const char* const skip[] = {
                 "uevent",
                 "dev",
@@ -51,8 +51,7 @@ static bool skip_attribute(const char *name)
         return false;
 }
 
-static void print_all_attributes(struct udev_device *device, const char *key)
-{
+static void print_all_attributes(struct udev_device *device, const char *key) {
         struct udev_list_entry *sysattr;
 
         udev_list_entry_foreach(sysattr, udev_device_get_sysattr_list_entry(device)) {
@@ -84,8 +83,7 @@ static void print_all_attributes(struct udev_device *device, const char *key)
         printf("\n");
 }
 
-static int print_device_chain(struct udev_device *device)
-{
+static int print_device_chain(struct udev_device *device) {
         struct udev_device *device_parent;
         const char *str;
 
@@ -130,8 +128,7 @@ static int print_device_chain(struct udev_device *device)
         return 0;
 }
 
-static void print_record(struct udev_device *device)
-{
+static void print_record(struct udev_device *device) {
         const char *str;
         int i;
         struct udev_list_entry *list_entry;
@@ -156,8 +153,7 @@ static void print_record(struct udev_device *device)
         printf("\n");
 }
 
-static int stat_device(const char *name, bool export, const char *prefix)
-{
+static int stat_device(const char *name, bool export, const char *prefix) {
         struct stat statbuf;
 
         if (stat(name, &statbuf) != 0)
@@ -175,8 +171,7 @@ static int stat_device(const char *name, bool export, const char *prefix)
         return 0;
 }
 
-static int export_devices(struct udev *udev)
-{
+static int export_devices(struct udev *udev) {
         struct udev_enumerate *udev_enumerate;
         struct udev_list_entry *list_entry;
 
@@ -197,8 +192,7 @@ static int export_devices(struct udev *udev)
         return 0;
 }
 
-static void cleanup_dir(DIR *dir, mode_t mask, int depth)
-{
+static void cleanup_dir(DIR *dir, mode_t mask, int depth) {
         struct dirent *dent;
 
         if (depth <= 0)
@@ -228,8 +222,7 @@ static void cleanup_dir(DIR *dir, mode_t mask, int depth)
         }
 }
 
-static void cleanup_db(struct udev *udev)
-{
+static void cleanup_db(struct udev *udev) {
         DIR *dir;
 
         unlink("/run/udev/queue.bin");
@@ -265,38 +258,7 @@ 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[])
-{
+static int uinfo(struct udev *udev, int argc, char *argv[]) {
         _cleanup_udev_device_unref_ struct udev_device *device = NULL;
         bool root = 0;
         bool export = 0;
@@ -498,8 +460,7 @@ static int uinfo(struct udev *udev, int argc, char *argv[])
                         print_record(device);
                         break;
                 default:
-                        fprintf(stderr, "unknown query type\n");
-                        break;
+                        assert_not_reached("unknown query type");
                 }
                 break;
         case ACTION_ATTRIBUTE_WALK: