-/* $NetBSD: bdisp.c,v 1.3 1997/01/03 01:16:04 cgd Exp $
-*/
+/* $NetBSD: bdisp.c,v 1.12 2009/07/13 19:05:40 roy Exp $ */
+
/*
* Copyright (c) 1994
* The Regents of the University of California. All rights reserved.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)bdisp.c 8.2 (Berkeley) 5/3/95";
#else
-static char rcsid[] = "$NetBSD: bdisp.c,v 1.3 1997/01/03 01:16:04 cgd Exp $";
+__RCSID("$NetBSD: bdisp.c,v 1.12 2009/07/13 19:05:40 roy Exp $");
#endif
#endif /* not lint */
-#include "gomoku.h"
-#include <stdio.h>
-#include <string.h>
#include <curses.h>
+#include <string.h>
+#include <stdlib.h>
+#include "gomoku.h"
#define SCRNH 24 /* assume 24 lines for the moment */
#define SCRNW 80 /* assume 80 chars for the moment */
static int lastline;
static char pcolor[] = "*O.?";
+extern int interactive;
+extern char *plyr[];
+
/*
* Initialize screen display.
*/
-cursinit()
+void
+cursinit(void)
{
- initscr();
+ if (!initscr()) {
+ fprintf(stderr, "couldn't initialize screen\n");
+ exit (0);
+ }
noecho();
cbreak();
leaveok(stdscr, TRUE);
/*
* Restore screen display.
*/
-cursfini()
+void
+cursfini(void)
{
leaveok(stdscr, FALSE);
/*
* Initialize board display.
*/
-bdisp_init()
+void
+bdisp_init(void)
{
- register int i, j;
+ int i, j;
/* top border */
for (i = 1; i < BSZ1; i++) {
/*
* Update who is playing whom.
*/
-bdwho(update)
- int update;
+void
+bdwho(int update)
{
int i;
- extern char *plyr[];
move(21, 0);
clrtoeol();
/*
* Update the board display after a move.
*/
-bdisp()
+void
+bdisp(void)
{
- register int i, j, c;
- register struct spotstr *sp;
+ int i, j, c;
+ struct spotstr *sp;
for (j = BSZ1; --j > 0; ) {
for (i = 1; i < BSZ1; i++) {
move(BSZ1 - j, 2 * i + 1);
sp = &board[i + j * BSZ1];
if (debug > 1 && sp->s_occ == EMPTY) {
- if (sp->s_flg & IFLAGALL)
+ if (sp->s_flags & IFLAGALL)
c = '+';
- else if (sp->s_flg & CFLAGALL)
+ else if (sp->s_flags & CFLAGALL)
c = '-';
else
c = '.';
/*
* Dump board display to a file.
*/
-bdump(fp)
- FILE *fp;
+void
+bdump(FILE *fp)
{
- register int i, j, c;
- register struct spotstr *sp;
+ int i, j, c;
+ struct spotstr *sp;
/* top border */
fprintf(fp, " A B C D E F G H J K L M N O P Q R S T\n");
for (i = 1; i < BSZ1; i++) {
sp = &board[i + j * BSZ1];
if (debug > 1 && sp->s_occ == EMPTY) {
- if (sp->s_flg & IFLAGALL)
+ if (sp->s_flags & IFLAGALL)
c = '+';
- else if (sp->s_flg & CFLAGALL)
+ else if (sp->s_flags & CFLAGALL)
c = '-';
else
c = '.';
/*
* Display a transcript entry
*/
-dislog(str)
- char *str;
+void
+dislog(const char *str)
{
if (++lastline >= SCRNH - 1) {
/* move 'em up */
lastline = 1;
}
- if (strlen(str) >= SCRNW - 46)
- str[SCRNW - 46 - 1] = '\0';
move(lastline, 46);
- addstr(str);
+ addnstr(str, SCRNW - 46 - 1);
clrtoeol();
move(lastline + 1, 46);
clrtoeol();
/*
* Display a question.
*/
-ask(str)
- char *str;
+
+void
+ask(const char *str)
{
int len = strlen(str);
refresh();
}
-getline(buf, size)
- char *buf;
- int size;
+int
+get_line(char *buf, int size)
{
- register char *cp, *end;
- register int c;
- extern int interactive;
+ char *cp, *end;
+ int c;
+ c = 0;
cp = buf;
end = buf + size - 1; /* save room for the '\0' */
while (cp < end && (c = getchar()) != EOF && c != '\n' && c != '\r') {