From 2211cbc1f6d4bd24f3100369378258b3a4d54dc9 Mon Sep 17 00:00:00 2001 From: robert Date: Thu, 17 Jun 2004 10:29:12 +0000 Subject: Fix a bug which occurred when the home directory given by the -d option was equal to the one already saved and which caused the pw utility to avoid updating values passed by other options processed before the -d option in the code path. Spotted by: Richard Caley --- usr.sbin/pw/pw_user.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'usr.sbin/pw/pw_user.c') diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index 149a1ee..f7a6c56 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -537,7 +537,8 @@ pw_user(struct userconf * cnf, int mode, struct cargs * args) } if ((arg = getarg(args, 'd')) != NULL) { - edited = strcmp(pwd->pw_dir, arg->val) != 0; + if (strcmp(pwd->pw_dir, arg->val)) + edited = 1; if (stat(pwd->pw_dir = arg->val, &st) == -1) { if (getarg(args, 'm') == NULL && strcmp(pwd->pw_dir, "/nonexistent") != 0) warnx("WARNING: home `%s' does not exist", pwd->pw_dir); -- cgit v1.1