From af81094e5ab0cacdc5af388813abcd30e397b72d Mon Sep 17 00:00:00 2001 From: David Nugent Date: Thu, 20 Jul 2000 00:09:29 +0000 Subject: Fix another missed case where usermod would not set the "modified" flag: -h - to set no password. But only mark modified if the account is not already locked (i.e. first char of crypt password field is '*'). PR: bin/19999 --- pw/pw_user.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pw/pw_user.c b/pw/pw_user.c index e8a3b07..925c86c 100644 --- a/pw/pw_user.c +++ b/pw/pw_user.c @@ -587,9 +587,12 @@ pw_user(struct userconf * cnf, int mode, struct cargs * args) } if ((arg = getarg(args, 'h')) != NULL) { - if (strcmp(arg->val, "-") == 0) - pwd->pw_passwd = "*"; /* No access */ - else { + if (strcmp(arg->val, "-") == 0) { + if (!pwd->pw_passwd || *pwd->pw_passwd != '*') { + pwd->pw_passwd = "*"; /* No access */ + edited = 1; + } + } else { int fd = atoi(arg->val); int b; int istty = isatty(fd); -- cgit v1.2.3-56-ge451