udevadm: port to sd-hwdb
authorTom Gundersen <teg@jklm.no>
Mon, 15 Dec 2014 18:48:21 +0000 (19:48 +0100)
committerTom Gundersen <teg@jklm.no>
Mon, 15 Dec 2014 19:40:09 +0000 (20:40 +0100)
src/udev/udevadm-hwdb.c

index afd9f5a..eb300ff 100644 (file)
@@ -29,6 +29,7 @@
 
 #include "udev.h"
 #include "hwdb-internal.h"
+#include "hwdb-util.h"
 
 /*
  * Generic udev properties, key/value database based on modalias strings.
@@ -662,14 +663,15 @@ static int adm_hwdb(struct udev *udev, int argc, char *argv[]) {
         }
 
         if (test) {
-                struct udev_hwdb *hwdb = udev_hwdb_new(udev);
+                _cleanup_hwdb_unref_ sd_hwdb *hwdb = NULL;
+                int r;
 
-                if (hwdb) {
-                        struct udev_list_entry *entry;
+                r = sd_hwdb_new(&hwdb);
+                if (r >= 0) {
+                        const char *key, *value;
 
-                        udev_list_entry_foreach(entry, udev_hwdb_get_properties_list_entry(hwdb, test, 0))
-                                printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry));
-                        udev_hwdb_unref(hwdb);
+                        SD_HWDB_FOREACH_PROPERTY(hwdb, test, key, value)
+                                printf("%s=%s\n", key, value);
                 }
         }
 out: