udev: set optind = 0, not the usual 1, to reset getopt_long()s internal state

This commit is contained in:
Kay Sievers 2012-10-25 21:31:38 +02:00
parent 1abc85b8d0
commit e5f2783e73
2 changed files with 4 additions and 2 deletions

View File

@ -127,7 +127,8 @@ int udev_builtin_run(struct udev_device *dev, enum udev_builtin_cmd cmd, const c
int argc;
char *argv[128];
optind = 1;
/* we need '0' here to reset the internal state */
optind = 0;
util_strscpy(arg, sizeof(arg), command);
udev_build_argv(udev_device_get_udev(dev), arg, &argc, argv);
return builtins[cmd]->cmd(dev, argc, argv, test);

View File

@ -134,7 +134,8 @@ int main(int argc, char *argv[])
if (strcmp(udevadm_cmds[i]->name, command) == 0) {
argc -= optind;
argv += optind;
optind = 1;
/* we need '0' here to reset the internal state */
optind = 0;
rc = run_command(udev, udevadm_cmds[i], argc, argv);
goto out;
}