chiark / gitweb /
man: add static device nodes and udevd debug options
[elogind.git] / extras / usb_id / usb_id.c
index 4679f94fde9b62ad8ee5671f04b69922dc2789c7..42ccddff356f038b7334042dfe546137e25b78a5 100644 (file)
@@ -21,7 +21,8 @@
 #include <errno.h>
 #include <getopt.h>
 
-#include "../../udev/udev.h"
+#include "libudev.h"
+#include "libudev-private.h"
 
 int debug;
 
@@ -455,8 +456,6 @@ int main(int argc, char **argv)
        };
        struct udev *udev;
        struct udev_device *dev = NULL;
-       char syspath[UTIL_PATH_SIZE];
-       const char *devpath;
        static int export;
        int retval = 0;
 
@@ -464,7 +463,7 @@ int main(int argc, char **argv)
        if (udev == NULL)
                goto exit;
 
-       logging_init("usb_id");
+       udev_log_init("usb_id");
        udev_set_log_fn(udev, log_fn);
 
        while (1) {
@@ -491,7 +490,7 @@ int main(int argc, char **argv)
                        export = 1;
                        break;
                case 'h':
-                       printf("Usage: usb_id [--usb-info] [--num-info] [--export] [--help] <devpath>\n"
+                       printf("Usage: usb_id [--usb-info] [--num-info] [--export] [--help] [<devpath>]\n"
                               "  --usb-info  use usb strings instead\n"
                               "  --num-info  use numerical values\n"
                               "  --export    print values as environment keys\n"
@@ -502,18 +501,26 @@ int main(int argc, char **argv)
                }
        }
 
-       devpath = argv[optind];
-       if (devpath == NULL) {
-               fprintf(stderr, "No device specified\n");
-               retval = 1;
-               goto exit;
-       }
-
-       util_strscpyl(syspath, sizeof(syspath), udev_get_sys_path(udev), devpath, NULL);
-       dev = udev_device_new_from_syspath(udev, syspath);
+       dev = udev_device_new_from_environment(udev);
        if (dev == NULL) {
-               err(udev, "unable to access '%s'\n", devpath);
-               return 1;
+               char syspath[UTIL_PATH_SIZE];
+               const char *devpath;
+
+               devpath = argv[optind];
+               if (devpath == NULL) {
+                       fprintf(stderr, "missing device\n");
+                       retval = 1;
+                       goto exit;
+               }
+
+               util_strscpyl(syspath, sizeof(syspath), udev_get_sys_path(udev), devpath, NULL);
+               dev = udev_device_new_from_syspath(udev, syspath);
+               if (dev == NULL) {
+                       err(udev, "unable to access '%s'\n", devpath);
+                       retval = 1;
+                       goto exit;
+                       return 1;
+               }
        }
 
        retval = usb_id(dev);
@@ -558,6 +565,6 @@ int main(int argc, char **argv)
 exit:
        udev_device_unref(dev);
        udev_unref(udev);
-       logging_close();
+       udev_log_close();
        return retval;
 }