* src/usermod.c (process_flags): Report usage if no options are

provided. Update the error message.
	* src/usermod.c (process_flags): Check option compatibility and
	dependency before options are discarded when no changes are
	requested.
This commit is contained in:
nekral-guest 2011-07-14 13:29:10 +00:00
parent d51420bb01
commit a5ded26850
2 changed files with 35 additions and 35 deletions

View File

@ -4,6 +4,11 @@
* src/usermod.c (move_home): It is always an error to use -m if
the new home directory already exist (independently from the
existence of the old home directory did not exist)
* src/usermod.c (process_flags): Report usage if no options are
provided. Update the error message.
* src/usermod.c (process_flags): Check option compatibility and
dependency before options are discarded when no changes are
requested.
2011-07-08 Nicolas François <nicolas.francois@centraliens.net>

View File

@ -1053,10 +1053,37 @@ static void process_flags (int argc, char **argv)
}
}
if (!anyflag) {
fprintf (stderr, _("%s: no flags given\n"), Prog);
exit (E_USAGE);
fprintf (stderr, _("%s: no options\n"), Prog);
usage (E_USAGE);
}
if (aflg && (!Gflg)) {
fprintf (stderr,
_("%s: %s flag is only allowed with the %s flag\n"),
Prog, "-a", "-G");
usage (E_USAGE);
}
if ((Lflg && (pflg || Uflg)) || (pflg && Uflg)) {
fprintf (stderr,
_("%s: the -L, -p, and -U flags are exclusive\n"),
Prog);
usage (E_USAGE);
}
if (oflg && !uflg) {
fprintf (stderr,
_("%s: %s flag is only allowed with the %s flag\n"),
Prog, "-o", "-u");
usage (E_USAGE);
}
if (mflg && !dflg) {
fprintf (stderr,
_("%s: %s flag is only allowed with the %s flag\n"),
Prog, "-m", "-d");
usage (E_USAGE);
}
if (user_newid == user_id) {
@ -1106,38 +1133,6 @@ static void process_flags (int argc, char **argv)
exit (E_USAGE);
}
if (aflg && (!Gflg)) {
fprintf (stderr,
_("%s: %s flag is only allowed with the %s flag\n"),
Prog, "-a", "-G");
usage (E_USAGE);
exit (E_USAGE);
}
if ((Lflg && (pflg || Uflg)) || (pflg && Uflg)) {
fprintf (stderr,
_("%s: the -L, -p, and -U flags are exclusive\n"),
Prog);
usage (E_USAGE);
exit (E_USAGE);
}
if (oflg && !uflg) {
fprintf (stderr,
_("%s: %s flag is only allowed with the %s flag\n"),
Prog, "-o", "-u");
usage (E_USAGE);
exit (E_USAGE);
}
if (mflg && !dflg) {
fprintf (stderr,
_("%s: %s flag is only allowed with the %s flag\n"),
Prog, "-m", "-d");
usage (E_USAGE);
exit (E_USAGE);
}
/* local, no need for xgetpwnam */
if (lflg && (getpwnam (user_newname) != NULL)) {
fprintf (stderr,