diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog index 12ccadaae..d38ec43d7 100644 --- a/winsup/utils/ChangeLog +++ b/winsup/utils/ChangeLog @@ -1,3 +1,8 @@ +2008-08-18 Corinna Vinschen + + * mkgroup.c (main): Keep correctly track of optional arguments. + * mkpasswd.c (main): Ditto. + 2008-08-18 Corinna Vinschen * mkgroup.c (main): Always unset environment variable POSIXLY_CORRECT. diff --git a/winsup/utils/mkgroup.c b/winsup/utils/mkgroup.c index 0b60ccaea..e2d73aa4d 100644 --- a/winsup/utils/mkgroup.c +++ b/winsup/utils/mkgroup.c @@ -786,7 +786,7 @@ main (int argc, char **argv) domlist[print_domlist].domain = (c == 'd' || c == 'D'); opt = optarg ?: argv[optind] && argv[optind][0] != '-' ? argv[optind] : NULL; - if (opt == argv[optind]) + if (argv[optind] && opt == argv[optind]) ++optional_args; for (i = 0; i < print_domlist; ++i) if (domlist[i].domain == domlist[print_domlist].domain diff --git a/winsup/utils/mkpasswd.c b/winsup/utils/mkpasswd.c index d7b999967..70bee353d 100644 --- a/winsup/utils/mkpasswd.c +++ b/winsup/utils/mkpasswd.c @@ -758,7 +758,7 @@ main (int argc, char **argv) domlist[print_domlist].domain = (c == 'd' || c == 'D'); opt = optarg ?: argv[optind] && argv[optind][0] != '-' ? argv[optind] : NULL; - if (opt == argv[optind]) + if (argv[optind] && opt == argv[optind]) ++optional_args; for (i = 0; i < print_domlist; ++i) if (domlist[i].domain == domlist[print_domlist].domain