From f51f9cc5738d340423e44e678829402b367cf866 Mon Sep 17 00:00:00 2001 From: Helmut Schaa Date: Tue, 17 Sep 2013 06:48:48 +0000 Subject: procd: Exit askfirst on read error When running askfirst on an unused tty device askfirst starts busylooping forever. Fix this by returning an error if we read an EOF. Signed-off-by: Helmut Schaa --- askfirst.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/askfirst.c b/askfirst.c index 9916486..6ad77aa 100644 --- a/askfirst.c +++ b/askfirst.c @@ -42,12 +42,19 @@ static int redirect_output(const char *dev) int main(int argc, char **argv) { + int c; + if (redirect_output(argv[1])) fprintf(stderr, "%s: Failed to open %s\n", argv[0], argv[1]); printf("Please press Enter to activate this console.\n"); - while (getchar() != 0xA) - ; + do { + c = getchar(); + if (c == EOF) + return -1; + } + while (c != 0xA); + execvp(argv[2], &argv[2]); printf("%s: Failed to execute %s\n", argv[0], argv[2]); -- cgit v1.2.3