Module Name: src
Committed By: ahoka
Date: Thu Dec 1 07:05:52 UTC 2011
Modified Files:
src/games/monop: misc.c monop.c
Log Message:
handle EOF in input
To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/games/monop/misc.c
cvs rdiff -u -r1.25 -r1.26 src/games/monop/monop.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/games/monop/misc.c
diff -u src/games/monop/misc.c:1.21 src/games/monop/misc.c:1.22
--- src/games/monop/misc.c:1.21 Wed Aug 12 08:10:49 2009
+++ src/games/monop/misc.c Thu Dec 1 07:05:52 2011
@@ -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);
}
Index: src/games/monop/monop.c
diff -u src/games/monop/monop.c:1.25 src/games/monop/monop.c:1.26
--- src/games/monop/monop.c:1.25 Wed Aug 12 08:10:49 2009
+++ src/games/monop/monop.c Thu Dec 1 07:05:52 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: monop.c,v 1.25 2009/08/12 08:10:49 dholland Exp $ */
+/* $NetBSD: monop.c,v 1.26 2011/12/01 07:05:52 ahoka Exp $ */
/*
* Copyright (c) 1980, 1993
@@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 19
#if 0
static char sccsid[] = "@(#)monop.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: monop.c,v 1.25 2009/08/12 08:10:49 dholland Exp $");
+__RCSID("$NetBSD: monop.c,v 1.26 2011/12/01 07:05:52 ahoka Exp $");
#endif
#endif /* not lint */
@@ -286,8 +286,7 @@ blew_it:
printf("Player %d's name: ", i + 1);
fgets(buf, sizeof(buf), stdin);
if (feof(stdin)) {
- printf("End of file on stdin\n");
- exit(0);
+ quit();
}
buf[strcspn(buf, "\n")] = '\0';
} while (strlen(buf) == 0);