From: Helmut Schaa Date: Tue, 17 Sep 2013 06:48:48 +0000 (+0000) Subject: procd: Exit askfirst on read error X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f51f9cc5738d340423e44e678829402b367cf866;p=oweals%2Fprocd.git 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 --- 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]);