Module Name: src Committed By: dholland Date: Thu Jun 4 06:47:36 UTC 2009
Modified Files: src/games/gomoku: gomoku.h main.c Log Message: Remove global scratch string buffer. Don't zoom off the end while reading user input, either. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/games/gomoku/gomoku.h cvs rdiff -u -r1.16 -r1.17 src/games/gomoku/main.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/gomoku/gomoku.h diff -u src/games/gomoku/gomoku.h:1.14 src/games/gomoku/gomoku.h:1.15 --- src/games/gomoku/gomoku.h:1.14 Thu Jun 4 06:41:50 2009 +++ src/games/gomoku/gomoku.h Thu Jun 4 06:47:36 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: gomoku.h,v 1.14 2009/06/04 06:41:50 dholland Exp $ */ +/* $NetBSD: gomoku.h,v 1.15 2009/06/04 06:47:36 dholland Exp $ */ /* * Copyright (c) 1994 @@ -246,7 +246,6 @@ }; extern const char *letters; -extern char fmtbuf[]; extern const char pdir[]; extern const int dd[4]; Index: src/games/gomoku/main.c diff -u src/games/gomoku/main.c:1.16 src/games/gomoku/main.c:1.17 --- src/games/gomoku/main.c:1.16 Thu Jun 4 06:27:47 2009 +++ src/games/gomoku/main.c Thu Jun 4 06:47:36 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.16 2009/06/04 06:27:47 dholland Exp $ */ +/* $NetBSD: main.c,v 1.17 2009/06/04 06:47:36 dholland Exp $ */ /* * Copyright (c) 1994 @@ -42,7 +42,7 @@ #if 0 static char sccsid[] = "@(#)main.c 8.4 (Berkeley) 5/4/95"; #else -__RCSID("$NetBSD: main.c,v 1.16 2009/06/04 06:27:47 dholland Exp $"); +__RCSID("$NetBSD: main.c,v 1.17 2009/06/04 06:47:36 dholland Exp $"); #endif #endif /* not lint */ @@ -69,7 +69,6 @@ FILE *inputfp; /* file for debug input */ const char pdir[4] = "-\\|/"; -char fmtbuf[128]; struct spotstr board[BAREA]; /* info for board */ struct combostr frames[FAREA]; /* storage for all frames */ @@ -333,14 +332,15 @@ int readinput(FILE *fp) { - char *cp; int c; + char buf[128]; + size_t pos; - cp = fmtbuf; - while ((c = getc(fp)) != EOF && c != '\n') - *cp++ = c; - *cp = '\0'; - return (ctos(fmtbuf)); + pos = 0; + while ((c = getc(fp)) != EOF && c != '\n' && pos < sizeof(buf) - 1) + buf[pos++] = c; + buf[pos] = '\0'; + return ctos(buf); } #ifdef DEBUG