agetty: make --autologin useful with --skip-login (prompt)

The --autologin prints

	hostname login: username (automatic login)

message. This commit allows to suppress the message at all if
--skip-login (aka skip prompt) is specified.

It means that

	agetty --skip-login --noissue --autologin foouser

does completely silent autologin.

Addresses: https://github.com/karelzak/util-linux/issues/21
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2012-11-19 10:54:58 +01:00
parent 71383195ce
commit 933956cb49
1 changed files with 8 additions and 4 deletions

View File

@ -375,13 +375,17 @@ int main(int argc, char **argv)
}
chardata = init_chardata;
if (options.autolog) {
debug("doing auto login\n");
username = options.autolog;
}
if ((options.flags & F_NOPROMPT) == 0) {
if (options.autolog) {
/* Do the auto login. */
debug("doing auto login\n");
/* Autologin prompt */
do_prompt(&options, &termios);
printf("%s%s (automatic login)\n", LOGIN, options.autolog);
username = options.autolog;
} else {
/* Read the login name. */
debug("reading login name\n");
@ -1357,7 +1361,7 @@ static void do_prompt(struct options *op, struct termios *tp)
free(hn);
}
}
if (op->autolog == (char*)0) {
if (!op->autolog) {
/* Always show login prompt. */
write_all(STDOUT_FILENO, LOGIN, sizeof(LOGIN) - 1);
}