Hi there, setbuf(3) etc "are obsoleted by setvbuf(3)" and "should be avoided". The patch below updates all occurrences in src/games.
Cheers, Frederic Index: atc/graphics.c =================================================================== RCS file: /cvs/src/games/atc/graphics.c,v retrieving revision 1.9 diff -u -p -r1.9 graphics.c --- atc/graphics.c 13 Jul 2014 13:00:40 -0000 1.9 +++ atc/graphics.c 4 Nov 2015 20:27:10 -0000 @@ -117,7 +117,7 @@ setup_screen(const C_SCREEN *scp) endwin(); errx(1, "screen too small."); } - setbuf(stdout, buffer); + setvbuf(stdout, buffer, _IOFBF, sizeof buffer); input = newwin(INPUT_LINES, COLS - PLANE_COLS, LINES - INPUT_LINES, 0); credit = newwin(INPUT_LINES, PLANE_COLS, LINES - INPUT_LINES, COLS - PLANE_COLS); Index: gomoku/main.c =================================================================== RCS file: /cvs/src/games/gomoku/main.c,v retrieving revision 1.27 diff -u -p -r1.27 main.c --- gomoku/main.c 7 Dec 2014 19:56:19 -0000 1.27 +++ gomoku/main.c 4 Nov 2015 20:27:10 -0000 @@ -155,7 +155,7 @@ again: clrtoeol(); } } else { - setbuf(stdout, 0); + setvbuf(stdout, NULL, _IONBF, 0); get_line(buf, sizeof(buf)); if (strcmp(buf, "black") == 0) color = BLACK; Index: hack/hack.main.c =================================================================== RCS file: /cvs/src/games/hack/hack.main.c,v retrieving revision 1.17 diff -u -p -r1.17 hack.main.c --- hack/hack.main.c 27 Sep 2015 05:13:11 -0000 1.17 +++ hack/hack.main.c 4 Nov 2015 20:27:10 -0000 @@ -175,7 +175,7 @@ main(int argc, char **argv) * Remember tty modes, to be restored on exit. */ gettty(); - setbuf(stdout,obuf); + setvbuf(stdout, obuf, _IOFBF, sizeof obuf); umask(007); startup(); cls(); Index: mille/mille.c =================================================================== RCS file: /cvs/src/games/mille/mille.c,v retrieving revision 1.20 diff -u -p -r1.20 mille.c --- mille/mille.c 19 Jan 2015 00:47:01 -0000 1.20 +++ mille/mille.c 4 Nov 2015 20:27:10 -0000 @@ -48,7 +48,7 @@ main(ac, av) #ifdef DEBUG if (strcmp(av[0], "a.out") == 0) { outf = fopen("q", "w"); - setbuf(outf, (char *)NULL); + setvbuf(outf, NULL, _IONBF, 0); Debug = TRUE; } #endif Index: mille/move.c =================================================================== RCS file: /cvs/src/games/mille/move.c,v retrieving revision 1.14 diff -u -p -r1.14 move.c --- mille/move.c 24 Oct 2015 17:51:59 -0000 1.14 +++ mille/move.c 4 Nov 2015 20:27:10 -0000 @@ -442,7 +442,7 @@ over: leaveok(Board, TRUE); if ((outf = fopen(buf, "w")) == NULL) warn("%s", buf); - setbuf(outf, (char *)NULL); + setvbuf(outf, NULL, _IONBF, 0); } Debug = !Debug; break; Index: mille/varpush.c =================================================================== RCS file: /cvs/src/games/mille/varpush.c,v retrieving revision 1.8 diff -u -p -r1.8 varpush.c --- mille/varpush.c 19 Jan 2015 00:47:01 -0000 1.8 +++ mille/varpush.c 4 Nov 2015 20:27:10 -0000 @@ -85,7 +85,7 @@ over: goto over; } if (strcmp(buf, _PATH_DEVNULL) != 0) - setbuf(outf, (char *)NULL); + setvbuf(outf, NULL, _IONBF, 0); } #endif } else { Index: random/random.c =================================================================== RCS file: /cvs/src/games/random/random.c,v retrieving revision 1.13 diff -u -p -r1.13 random.c --- random/random.c 14 Oct 2015 08:12:12 -0000 1.13 +++ random/random.c 4 Nov 2015 20:27:10 -0000 @@ -101,7 +101,7 @@ main(int argc, char *argv[]) * to write to the standard output. */ if (unbuffer_output) - setbuf(stdout, NULL); + setvbuf(stdout, NULL, _IONBF, 0); /* * Select whether to print the first line. (Prime the pump.) Index: worm/worm.c =================================================================== RCS file: /cvs/src/games/worm/worm.c,v retrieving revision 1.32 diff -u -p -r1.32 worm.c --- worm/worm.c 26 Aug 2015 01:25:57 -0000 1.32 +++ worm/worm.c 4 Nov 2015 20:27:10 -0000 @@ -94,7 +94,7 @@ main(int argc, char **argv) timespecclear(&t); - setbuf(stdout, outbuf); + setvbuf(stdout, outbuf, _IOFBF, sizeof outbuf); signal(SIGINT, leave); signal(SIGQUIT, leave); signal(SIGTSTP, suspend); /* process control signal */