From b9261127260ff2a8efbdc6e5f9d00ec7f736b445 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 26 Sep 2011 12:34:10 +0200 Subject: agetty: test ECHO on c_lflag Reported-by: xinglp Addresses: http://bugzilla.redhat.com/show_bug.cgi?id=739522 Signed-off-by: Karel Zak --- term-utils/agetty.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'term-utils/agetty.c') diff --git a/term-utils/agetty.c b/term-utils/agetty.c index 8398015cc..75c2b1453 100644 --- a/term-utils/agetty.c +++ b/term-utils/agetty.c @@ -1466,7 +1466,7 @@ static char *get_logname(struct options *op, struct termios *tp, struct chardata case '#': cp->erase = ascval; /* set erase character */ if (bp > logname) { - if ((tp->c_cflag & (ECHO)) == 0) + if ((tp->c_lflag & ECHO) == 0) write_all(1, erase[cp->parity], 3); bp--; } @@ -1475,7 +1475,7 @@ static char *get_logname(struct options *op, struct termios *tp, struct chardata case '@': cp->kill = ascval; /* set kill character */ while (bp > logname) { - if ((tp->c_cflag & (ECHO)) == 0) + if ((tp->c_lflag & ECHO) == 0) write_all(1, erase[cp->parity], 3); bp--; } @@ -1487,7 +1487,7 @@ static char *get_logname(struct options *op, struct termios *tp, struct chardata break; if ((size_t)(bp - logname) >= sizeof(logname) - 1) log_err(_("%s: input overrun"), op->tty); - if ((tp->c_cflag & (ECHO)) == 0) + if ((tp->c_lflag & ECHO) == 0) write_all(1, &c, 1); /* echo the character */ *bp++ = ascval; /* and store it */ break; -- cgit v1.2.3-55-g7522