diff --git a/src/newusers.c b/src/newusers.c index bd24f7c72..044ce32e1 100644 --- a/src/newusers.c +++ b/src/newusers.c @@ -386,10 +386,16 @@ static int add_user (const char *name, uid_t uid, gid_t gid) struct passwd pwent; /* Check if this is a valid user name */ - if (!is_valid_user_name (name)) { - fprintf (stderr, - _("%s: invalid user name '%s': use --badname to ignore\n"), - Prog, name); + if (!is_valid_user_name(name)) { + if (errno == EINVAL) { + fprintf(stderr, + _("%s: invalid user name '%s': use --badname to ignore\n"), + Prog, name); + } else { + fprintf(stderr, + _("%s: invalid user name '%s'\n"), + Prog, name); + } return -1; } diff --git a/src/pwck.c b/src/pwck.c index 70ff5e68c..2df5b6c6f 100644 --- a/src/pwck.c +++ b/src/pwck.c @@ -471,9 +471,14 @@ static void check_pw_file (int *errors, bool *changed) * Check for invalid usernames. --marekm */ - if (!is_valid_user_name (pwd->pw_name)) { - printf (_("invalid user name '%s': use --badname to ignore\n"), - pwd->pw_name); + if (!is_valid_user_name(pwd->pw_name)) { + if (errno == EINVAL) { + printf(_("invalid user name '%s': use --badname to ignore\n"), + pwd->pw_name); + } else { + printf(_("invalid user name '%s'\n"), + pwd->pw_name); + } *errors += 1; } diff --git a/src/useradd.c b/src/useradd.c index dff647af7..02c500d0c 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -1523,10 +1523,16 @@ static void process_flags (int argc, char **argv) } user_name = argv[optind]; - if (!is_valid_user_name (user_name)) { - fprintf (stderr, - _("%s: invalid user name '%s': use --badname to ignore\n"), - Prog, user_name); + if (!is_valid_user_name(user_name)) { + if (errno == EINVAL) { + fprintf(stderr, + _("%s: invalid user name '%s': use --badname to ignore\n"), + Prog, user_name); + } else { + fprintf(stderr, + _("%s: invalid user name '%s'\n"), + Prog, user_name); + } #ifdef WITH_AUDIT audit_logger (AUDIT_ADD_USER, Prog, "adding user", diff --git a/src/usermod.c b/src/usermod.c index c5d7bbe51..0f7f1e235 100644 --- a/src/usermod.c +++ b/src/usermod.c @@ -1116,10 +1116,16 @@ process_flags(int argc, char **argv) usage (E_SUCCESS); /*@notreached@*/break; case 'l': - if (!is_valid_user_name (optarg)) { - fprintf (stderr, - _("%s: invalid user name '%s': use --badname to ignore\n"), - Prog, optarg); + if (!is_valid_user_name(optarg)) { + if (errno == EINVAL) { + fprintf(stderr, + _("%s: invalid user name '%s': use --badname to ignore\n"), + Prog, optarg); + } else { + fprintf(stderr, + _("%s: invalid user name '%s'\n"), + Prog, optarg); + } exit (E_BAD_ARG); } lflg = true;