X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=extras%2Fusb_id%2Fusb_id.c;h=42ccddff356f038b7334042dfe546137e25b78a5;hp=b412598d35a8ea56749f3a27dcbeeede1aa29259;hb=fc8d61c53d6c181dc1e9f5a23c0f805c32a392af;hpb=578cc8a8085a47c963b5940459e475ac5f07219c;ds=sidebyside diff --git a/extras/usb_id/usb_id.c b/extras/usb_id/usb_id.c index b412598d3..42ccddff3 100644 --- a/extras/usb_id/usb_id.c +++ b/extras/usb_id/usb_id.c @@ -456,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; @@ -492,7 +490,7 @@ int main(int argc, char **argv) export = 1; break; case 'h': - printf("Usage: usb_id [--usb-info] [--num-info] [--export] [--help] \n" + printf("Usage: usb_id [--usb-info] [--num-info] [--export] [--help] []\n" " --usb-info use usb strings instead\n" " --num-info use numerical values\n" " --export print values as environment keys\n" @@ -503,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);