X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udev%2Fudevadm-test-builtin.c;h=ea1bcbcb07d17de17c9a7a51e4a5d6a375c3b036;hb=06316d9f1a91b4d3efdb7402e72498cb3deb1806;hp=18f04bf888f36bf207d1b8d25743e9d860aa7211;hpb=aa29418a13dc1e1eedca702663e733cc8d9f9859;p=elogind.git diff --git a/udev/udevadm-test-builtin.c b/udev/udevadm-test-builtin.c index 18f04bf88..ea1bcbcb0 100644 --- a/udev/udevadm-test-builtin.c +++ b/udev/udevadm-test-builtin.c @@ -70,6 +70,7 @@ static int adm_builtin(struct udev *udev, int argc, char *argv[]) goto out; } } + command = argv[optind++]; if (command == NULL) { fprintf(stderr, "command missing\n"); @@ -85,6 +86,16 @@ static int adm_builtin(struct udev *udev, int argc, char *argv[]) goto out; } + udev_builtin_load(udev); + + cmd = udev_builtin_lookup(command); + if (cmd >= UDEV_BUILTIN_MAX) { + fprintf(stderr, "unknown command '%s'\n", command); + help(udev); + rc = 5; + goto out; + } + /* add /sys if needed */ if (strncmp(syspath, udev_get_sys_path(udev), strlen(udev_get_sys_path(udev))) != 0) util_strscpyl(filename, sizeof(filename), udev_get_sys_path(udev), syspath, NULL); @@ -99,16 +110,6 @@ static int adm_builtin(struct udev *udev, int argc, char *argv[]) goto out; } - udev_builtin_load(udev); - - cmd = udev_builtin_lookup(command); - if (cmd >= UDEV_BUILTIN_MAX) { - fprintf(stderr, "unknown command '%s'\n", command); - help(udev); - rc = 5; - goto out; - } - if (udev_builtin_run(dev, cmd, command, true) < 0) { fprintf(stderr, "error executing '%s'\n\n", command); rc = 6;