if ((input = fopen(_PATH_TTY, "r+")) == NULL) {
input = stdin;
output = stderr;
- (void) fflush(output);
} else {
output = input;
}
/*
- * turn off echo
+ * print the prompt
*/
-#ifdef HAVE_TERMIOS_H
- (void) tcgetattr(fileno(input), &term);
- if ((echo = (term.c_lflag & ECHO))) {
- term.c_lflag &= ~ECHO;
- (void) tcsetattr(fileno(input), TCSAFLUSH|TCSASOFT, &term);
- }
-#else
-#ifdef HAVE_TERMIO_H
- (void) ioctl(fileno(input), TCGETA, &term);
- if ((echo = (term.c_lflag & ECHO))) {
- term.c_lflag &= ~ECHO;
- (void) ioctl(fileno(input), TCSETA, &term);
- }
-#else
- (void) ioctl(fileno(input), TIOCGETP, &ttyb);
- if ((echo = (ttyb.sg_flags & ECHO))) {
- ttyb.sg_flags &= ~ECHO;
- (void) ioctl(fileno(input), TIOCSETP, &ttyb);
- }
-#endif /* HAVE_TERMIO_H */
-#endif /* HAVE_TERMIOS_H */
-
- /* print the prompt */
if (prompt) {
p = (char *) prompt;
do {
(void) rewind(output);
}
+ /*
+ * turn off echo
+ */
+#ifdef HAVE_TERMIOS_H
+ (void) tcgetattr(fileno(input), &term);
+ if ((echo = (term.c_lflag & ECHO))) {
+ term.c_lflag &= ~ECHO;
+ (void) tcsetattr(fileno(input), TCSAFLUSH|TCSASOFT, &term);
+ }
+#else
+#ifdef HAVE_TERMIO_H
+ (void) ioctl(fileno(input), TCGETA, &term);
+ if ((echo = (term.c_lflag & ECHO))) {
+ term.c_lflag &= ~ECHO;
+ (void) ioctl(fileno(input), TCSETA, &term);
+ }
+#else
+ (void) ioctl(fileno(input), TIOCGETP, &ttyb);
+ if ((echo = (ttyb.sg_flags & ECHO))) {
+ ttyb.sg_flags &= ~ECHO;
+ (void) ioctl(fileno(input), TIOCSETP, &ttyb);
+ }
+#endif /* HAVE_TERMIO_H */
+#endif /* HAVE_TERMIOS_H */
+
/*
* Timeout of <= 0 means no timeout
*/