From 43eaede84e20b51cd83e5e7b2c731b2ba749a30a Mon Sep 17 00:00:00 2001 From: ahoka Date: Thu, 1 Dec 2011 07:05:52 +0000 Subject: handle EOF in input --- monop/misc.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'monop/misc.c') diff --git a/monop/misc.c b/monop/misc.c index 3f881072..c69b90d0 100644 --- a/monop/misc.c +++ b/monop/misc.c @@ -1,4 +1,4 @@ -/* $NetBSD: misc.c,v 1.21 2009/08/12 08:10:49 dholland Exp $ */ +/* $NetBSD: misc.c,v 1.22 2011/12/01 07:05:52 ahoka Exp $ */ /* * Copyright (c) 1980, 1993 @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)misc.c 8.1 (Berkeley) 5/31/93"; #else -__RCSID("$NetBSD: misc.c,v 1.21 2009/08/12 08:10:49 dholland Exp $"); +__RCSID("$NetBSD: misc.c,v 1.22 2011/12/01 07:05:52 ahoka Exp $"); #endif #endif /* not lint */ @@ -106,8 +106,9 @@ get_int(prompt) for (;;) { printf("%s", prompt); fgets(buf, sizeof(buf), stdin); + /* if stdin is closed we cant really play anymore */ if (feof(stdin)) - return 0; + quit(); sp = strchr(buf, '\n'); if (sp) *sp = '\0'; @@ -294,6 +295,11 @@ void quit() { putchar('\n'); + + /* We dont even have a chance to input y/n if stdin is closed */ + if (feof(stdin)) + exit(0); + if (getyn("Do you all really want to quit? ") == 0) exit(0); } -- cgit v1.2.3-56-ge451