chiark / gitweb /
udev: link-config - sanity check the ifname and mac address
[elogind.git] / src / udev / udevadm.c
index 0858c37be8ab735cef35b4361ac8409497cc0797..e14b3ca27c0248f9c063a38f13e65f1e872a7846 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2012 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2007-2012 Kay Sievers <kay@vrfy.org>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -56,6 +56,7 @@ static const struct udevadm_cmd *udevadm_cmds[] = {
         &udevadm_settle,
         &udevadm_control,
         &udevadm_monitor,
+        &udevadm_hwdb,
         &udevadm_test,
         &udevadm_test_builtin,
         &udevadm_version,
@@ -99,10 +100,10 @@ int main(int argc, char *argv[])
         if (udev == NULL)
                 goto out;
 
-        log_open();
         log_parse_environment();
+        log_open();
         udev_set_log_fn(udev, udev_main_log);
-        udev_selinux_init(udev);
+        label_init("/dev");
 
         for (;;) {
                 int option;
@@ -128,13 +129,12 @@ int main(int argc, char *argv[])
         }
         command = argv[optind];
 
-        log_debug("runtime dir '%s'\n", udev_get_run_path(udev));
-
         if (command != NULL)
                 for (i = 0; i < ELEMENTSOF(udevadm_cmds); i++) {
-                        if (strcmp(udevadm_cmds[i]->name, command) == 0) {
+                        if (streq(udevadm_cmds[i]->name, command)) {
                                 argc -= optind;
                                 argv += optind;
+                                /* we need '0' here to reset the internal state */
                                 optind = 0;
                                 rc = run_command(udev, udevadm_cmds[i], argc, argv);
                                 goto out;
@@ -145,7 +145,7 @@ int main(int argc, char *argv[])
         adm_help(udev, argc, argv);
         rc = 2;
 out:
-        udev_selinux_exit(udev);
+        label_finish();
         udev_unref(udev);
         log_close();
         return rc;