summaryrefslogtreecommitdiffstats
path: root/backgammon/common_source
diff options
context:
space:
mode:
authordholland <dholland@NetBSD.org>2012-10-13 18:44:14 +0000
committerdholland <dholland@NetBSD.org>2012-10-13 18:44:14 +0000
commitf70c1c7e831fd972c1f452e87709f5fe158e6f4d (patch)
treeedd14366ab208f893af492ef07220e072e6013a9 /backgammon/common_source
parent81fe23f5ec8b2c071f8ad0fde454a8ac6757d679 (diff)
downloadbsdgames-darwin-f70c1c7e831fd972c1f452e87709f5fe158e6f4d.tar.gz
bsdgames-darwin-f70c1c7e831fd972c1f452e87709f5fe158e6f4d.tar.zst
bsdgames-darwin-f70c1c7e831fd972c1f452e87709f5fe158e6f4d.zip
Crack down on global variables with single-letter names.
Diffstat (limited to 'backgammon/common_source')
-rw-r--r--backgammon/common_source/allow.c47
-rw-r--r--backgammon/common_source/back.h25
-rw-r--r--backgammon/common_source/check.c28
-rw-r--r--backgammon/common_source/init.c14
-rw-r--r--backgammon/common_source/one.c72
-rw-r--r--backgammon/common_source/save.c10
-rw-r--r--backgammon/common_source/subs.c25
-rw-r--r--backgammon/common_source/table.c55
8 files changed, 148 insertions, 128 deletions
diff --git a/backgammon/common_source/allow.c b/backgammon/common_source/allow.c
index 04eaa4cd..2c0428d4 100644
--- a/backgammon/common_source/allow.c
+++ b/backgammon/common_source/allow.c
@@ -1,4 +1,4 @@
-/* $NetBSD: allow.c,v 1.6 2005/07/01 01:12:39 jmc Exp $ */
+/* $NetBSD: allow.c,v 1.7 2012/10/13 18:44:14 dholland Exp $ */
/*
* Copyright (c) 1980, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)allow.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: allow.c,v 1.6 2005/07/01 01:12:39 jmc Exp $");
+__RCSID("$NetBSD: allow.c,v 1.7 2012/10/13 18:44:14 dholland Exp $");
#endif
#endif /* not lint */
@@ -45,67 +45,68 @@ movallow(void)
{
int i, m, iold;
int r;
+ struct move *mm = &gm;
- if (d0)
- swap;
- m = (D0 == D1 ? 4 : 2);
+ if (mm->d0)
+ mswap(mm);
+ m = (mm->D0 == mm->D1 ? 4 : 2);
for (i = 0; i < 4; i++)
- p[i] = bar;
+ mm->p[i] = bar;
i = iold = 0;
while (i < m) {
if (*offptr == 15)
break;
- h[i] = 0;
+ mm->h[i] = 0;
if (board[bar]) {
if (i == 1 || m == 4)
- g[i] = bar + cturn * D1;
+ mm->g[i] = bar + cturn * mm->D1;
else
- g[i] = bar + cturn * D0;
+ mm->g[i] = bar + cturn * mm->D0;
if ((r = makmove(i)) != 0) {
- if (d0 || m == 4)
+ if (mm->d0 || m == 4)
break;
- swap;
+ mswap(mm);
movback(i);
if (i > iold)
iold = i;
for (i = 0; i < 4; i++)
- p[i] = bar;
+ mm->p[i] = bar;
i = 0;
} else
i++;
continue;
}
- if ((p[i] += cturn) == home) {
+ if ((mm->p[i] += cturn) == home) {
if (i > iold)
iold = i;
if (m == 2 && i) {
movback(i);
- p[i--] = bar;
- if (p[i] != bar)
+ mm->p[i--] = bar;
+ if (mm->p[i] != bar)
continue;
else
break;
}
- if (d0 || m == 4)
+ if (mm->d0 || m == 4)
break;
- swap;
+ mswap(mm);
movback(i);
for (i = 0; i < 4; i++)
- p[i] = bar;
+ mm->p[i] = bar;
i = 0;
continue;
}
if (i == 1 || m == 4)
- g[i] = p[i] + cturn * D1;
+ mm->g[i] = mm->p[i] + cturn * mm->D1;
else
- g[i] = p[i] + cturn * D0;
- if (g[i] * cturn > home) {
+ mm->g[i] = mm->p[i] + cturn * mm->D0;
+ if (mm->g[i] * cturn > home) {
if (*offptr >= 0)
- g[i] = home;
+ mm->g[i] = home;
else
continue;
}
- if (board[p[i]] * cturn > 0 && (r = makmove(i)) == 0)
+ if (board[mm->p[i]] * cturn > 0 && (r = makmove(i)) == 0)
i++;
}
movback(i);
diff --git a/backgammon/common_source/back.h b/backgammon/common_source/back.h
index 815a5ec2..e008a6f9 100644
--- a/backgammon/common_source/back.h
+++ b/backgammon/common_source/back.h
@@ -1,4 +1,4 @@
-/* $NetBSD: back.h,v 1.18 2011/08/26 06:18:16 dholland Exp $ */
+/* $NetBSD: back.h,v 1.19 2012/10/13 18:44:14 dholland Exp $ */
/*
* Copyright (c) 1980, 1993
@@ -46,7 +46,20 @@
#define rnum(r) (random()%r)
#define D0 dice[0]
#define D1 dice[1]
-#define swap {D0 ^= D1; D1 ^= D0; D0 ^= D1; d0 = 1-d0;}
+#define mswap(m) {(m)->D0 ^= (m)->D1; (m)->D1 ^= (m)->D0; (m)->D0 ^= (m)->D1; (m)->d0 = 1-(m)->d0;}
+#define swap suck it
+
+struct move {
+ int dice[2]; /* value of dice */
+ int mvlim; /* 'move limit': max. number of moves */
+ int p[5]; /* starting position of moves */
+ int g[5]; /* ending position of moves (goals) */
+ int h[4]; /* flag for each move if a man was hit */
+ int d0; /* flag if dice have been reversed from
+ original position */
+};
+
+extern struct move gm;
/*
*
@@ -83,20 +96,12 @@ extern int rfl; /* saved value of rflag */
extern int iroll; /* special flag for inputting rolls */
extern int board[26]; /* board: negative values are white,
positive are red */
-extern int dice[2]; /* value of dice */
-extern int mvlim; /* 'move limit': max. number of moves */
-extern int mvl; /* working copy of mvlim */
-extern int p[5]; /* starting position of moves */
-extern int g[5]; /* ending position of moves (goals) */
-extern int h[4]; /* flag for each move if a man was hit */
extern int cturn; /* whose turn it currently is:
-1 = white
1 = red
0 = just quitted
-2 = white just lost
2 = red just lost */
-extern int d0; /* flag if dice have been reversed from
- original position */
extern int table[6][6]; /* odds table for possible rolls */
extern int rscore; /* red's score */
extern int wscore; /* white's score */
diff --git a/backgammon/common_source/check.c b/backgammon/common_source/check.c
index 185583e1..19f1c56d 100644
--- a/backgammon/common_source/check.c
+++ b/backgammon/common_source/check.c
@@ -1,4 +1,4 @@
-/* $NetBSD: check.c,v 1.6 2005/07/01 01:12:39 jmc Exp $ */
+/* $NetBSD: check.c,v 1.7 2012/10/13 18:44:15 dholland Exp $ */
/*
* Copyright (c) 1980, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)check.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: check.c,v 1.6 2005/07/01 01:12:39 jmc Exp $");
+__RCSID("$NetBSD: check.c,v 1.7 2012/10/13 18:44:15 dholland Exp $");
#endif
#endif /* not lint */
@@ -44,6 +44,7 @@ void
getmove(void)
{
int i, c;
+ struct move *mm = &gm;
c = 0;
for (;;) {
@@ -51,14 +52,14 @@ getmove(void)
switch (i) {
case -1:
- if (movokay(mvlim)) {
+ if (movokay(mm->mvlim)) {
if (tflag)
curmove(20, 0);
else
writec('\n');
- for (i = 0; i < mvlim; i++)
- if (h[i])
- wrhit(g[i]);
+ for (i = 0; i < mm->mvlim; i++)
+ if (mm->h[i])
+ wrhit(mm->g[i]);
nexturn();
if (*offopp == 15)
cturn *= -2;
@@ -81,9 +82,9 @@ getmove(void)
writel(" must make ");
else
writel(" can only make ");
- writec(mvlim + '0');
+ writec(mm->mvlim + '0');
writel(" move");
- if (mvlim > 1)
+ if (mm->mvlim > 1)
writec('s');
writec('.');
writec('\n');
@@ -108,24 +109,25 @@ int
movokay(int mv)
{
int i, m;
+ struct move *mm = &gm;
- if (d0)
- swap;
+ if (mm->d0)
+ mswap(mm);
for (i = 0; i < mv; i++) {
- if (p[i] == g[i]) {
+ if (mm->p[i] == mm->g[i]) {
moverr(i);
curmove(20, 0);
writel("Attempt to move to same location.\n");
return (0);
}
- if (cturn * (g[i] - p[i]) < 0) {
+ if (cturn * (mm->g[i] - mm->p[i]) < 0) {
moverr(i);
curmove(20, 0);
writel("Backwards move.\n");
return (0);
}
- if (abs(board[bar]) && p[i] != bar) {
+ if (abs(board[bar]) && mm->p[i] != bar) {
moverr(i);
curmove(20, 0);
writel("Men still on bar.\n");
diff --git a/backgammon/common_source/init.c b/backgammon/common_source/init.c
index 418e47ac..5cdbfb36 100644
--- a/backgammon/common_source/init.c
+++ b/backgammon/common_source/init.c
@@ -1,4 +1,4 @@
-/* $NetBSD: init.c,v 1.8 2003/08/07 09:36:57 agc Exp $ */
+/* $NetBSD: init.c,v 1.9 2012/10/13 18:44:15 dholland Exp $ */
/*
* Copyright (c) 1980, 1993
@@ -34,12 +34,14 @@
#if 0
static char sccsid[] = "@(#)init.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: init.c,v 1.8 2003/08/07 09:36:57 agc Exp $");
+__RCSID("$NetBSD: init.c,v 1.9 2012/10/13 18:44:15 dholland Exp $");
#endif
#endif /* not lint */
#include <termios.h>
+#include "back.h"
+
/*
* variable initialization.
*/
@@ -65,6 +67,7 @@ int rfl = 0;
const char *const color[] = {"White", "Red", "white", "red"};
+struct move gm;
const char *const *Colorptr;
const char *const *colorptr;
int *inopp;
@@ -80,19 +83,12 @@ int colen;
int cturn;
int curc;
int curr;
-int d0;
-int dice[2];
int dlast;
-int g[5];
int gvalue;
-int h[4];
int home;
int in[2];
-int mvl;
-int mvlim;
int ncin;
int off[2];
-int p[5];
int rscore;
int table[6][6];
int wscore;
diff --git a/backgammon/common_source/one.c b/backgammon/common_source/one.c
index 215a1890..507af18f 100644
--- a/backgammon/common_source/one.c
+++ b/backgammon/common_source/one.c
@@ -1,4 +1,4 @@
-/* $NetBSD: one.c,v 1.7 2009/08/12 05:17:57 dholland Exp $ */
+/* $NetBSD: one.c,v 1.8 2012/10/13 18:44:15 dholland Exp $ */
/*
* Copyright (c) 1980, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)one.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: one.c,v 1.7 2009/08/12 05:17:57 dholland Exp $");
+__RCSID("$NetBSD: one.c,v 1.8 2012/10/13 18:44:15 dholland Exp $");
#endif
#endif /* not lint */
@@ -48,43 +48,44 @@ makmove(int i)
{
int n, d;
int max;
+ struct move *mm = &gm;
- d = d0;
- n = abs(g[i] - p[i]);
+ d = mm->d0;
+ n = abs(mm->g[i] - mm->p[i]);
max = (*offptr < 0 ? 7 : last());
- if (board[p[i]] * cturn <= 0)
+ if (board[mm->p[i]] * cturn <= 0)
return (checkd(d) + 2);
- if (g[i] != home && board[g[i]] * cturn < -1)
+ if (mm->g[i] != home && board[mm->g[i]] * cturn < -1)
return (checkd(d) + 3);
- if (i || D0 == D1) {
- if (n == max ? D1 < n : D1 != n)
+ if (i || mm->D0 == mm->D1) {
+ if (n == max ? mm->D1 < n : mm->D1 != n)
return (checkd(d) + 1);
} else {
- if (n == max ? D0 < n && D1 < n : D0 != n && D1 != n)
+ if (n == max ? mm->D0 < n && mm->D1 < n : mm->D0 != n && mm->D1 != n)
return (checkd(d) + 1);
- if (n == max ? D0 < n : D0 != n) {
- if (d0)
+ if (n == max ? mm->D0 < n : mm->D0 != n) {
+ if (mm->d0)
return (checkd(d) + 1);
- swap;
+ mswap(mm);
}
}
- if (g[i] == home && *offptr < 0)
+ if (mm->g[i] == home && *offptr < 0)
return (checkd(d) + 4);
- h[i] = 0;
- board[p[i]] -= cturn;
- if (g[i] != home) {
- if (board[g[i]] == -cturn) {
+ mm->h[i] = 0;
+ board[mm->p[i]] -= cturn;
+ if (mm->g[i] != home) {
+ if (board[mm->g[i]] == -cturn) {
board[home] -= cturn;
- board[g[i]] = 0;
- h[i] = 1;
- if (abs(bar - g[i]) < 7) {
+ board[mm->g[i]] = 0;
+ mm->h[i] = 1;
+ if (abs(bar - mm->g[i]) < 7) {
(*inopp)--;
if (*offopp >= 0)
*offopp -= 15;
}
}
- board[g[i]] += cturn;
- if (abs(home - g[i]) < 7 && abs(home - p[i]) > 6) {
+ board[mm->g[i]] += cturn;
+ if (abs(home - mm->g[i]) < 7 && abs(home - mm->p[i]) > 6) {
(*inptr)++;
if (*inptr + *offptr == 0)
*offptr += 15;
@@ -100,6 +101,7 @@ void
moverr(int i)
{
int j;
+ struct move *mm = &gm;
if (tflag)
curmove(20, 0);
@@ -107,9 +109,9 @@ moverr(int i)
writec('\n');
writel("Error: ");
for (j = 0; j <= i; j++) {
- wrint(p[j]);
+ wrint(mm->p[j]);
writec('-');
- wrint(g[j]);
+ wrint(mm->g[j]);
if (j < i)
writec(',');
}
@@ -121,8 +123,10 @@ moverr(int i)
static int
checkd(int d)
{
- if (d0 != d)
- swap;
+ struct move *mm = &gm;
+
+ if (mm->d0 != d)
+ mswap(mm);
return (0);
}
@@ -149,10 +153,12 @@ movback(int i)
void
backone(int i)
{
- board[p[i]] += cturn;
- if (g[i] != home) {
- board[g[i]] -= cturn;
- if (abs(g[i] - home) < 7 && abs(p[i] - home) > 6) {
+ struct move *mm = &gm;
+
+ board[mm->p[i]] += cturn;
+ if (mm->g[i] != home) {
+ board[mm->g[i]] -= cturn;
+ if (abs(mm->g[i] - home) < 7 && abs(mm->p[i] - home) > 6) {
(*inptr)--;
if (*inptr + *offptr < 15 && *offptr >= 0)
*offptr -= 15;
@@ -161,10 +167,10 @@ backone(int i)
(*offptr)--;
(*inptr)++;
}
- if (h[i]) {
+ if (mm->h[i]) {
board[home] += cturn;
- board[g[i]] = -cturn;
- if (abs(bar - g[i]) < 7) {
+ board[mm->g[i]] = -cturn;
+ if (abs(bar - mm->g[i]) < 7) {
(*inopp)++;
if (*inopp + *offopp == 0)
*offopp += 15;
diff --git a/backgammon/common_source/save.c b/backgammon/common_source/save.c
index 57e8a054..5cadf51c 100644
--- a/backgammon/common_source/save.c
+++ b/backgammon/common_source/save.c
@@ -1,4 +1,4 @@
-/* $NetBSD: save.c,v 1.14 2011/08/26 06:18:16 dholland Exp $ */
+/* $NetBSD: save.c,v 1.15 2012/10/13 18:44:15 dholland Exp $ */
/*
* Copyright (c) 1980, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)save.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: save.c,v 1.14 2011/08/26 06:18:16 dholland Exp $");
+__RCSID("$NetBSD: save.c,v 1.15 2012/10/13 18:44:15 dholland Exp $");
#endif
#endif /* not lint */
@@ -61,6 +61,7 @@ save(int n)
int fdesc;
char *fs;
char fname[50];
+ struct move *mm = &gm;
if (n) {
if (tflag) {
@@ -123,7 +124,7 @@ save(int n)
write(fdesc, board, sizeof board);
write(fdesc, off, sizeof off);
write(fdesc, in, sizeof in);
- write(fdesc, dice, sizeof dice);
+ write(fdesc, mm->dice, sizeof mm->dice);
write(fdesc, &cturn, sizeof cturn);
write(fdesc, &dlast, sizeof dlast);
write(fdesc, &pnum, sizeof pnum);
@@ -148,13 +149,14 @@ void
recover(const char *s)
{
int fdesc;
+ struct move *mm = &gm;
if ((fdesc = open(s, O_RDONLY)) == -1)
norec(s);
read(fdesc, board, sizeof board);
read(fdesc, off, sizeof off);
read(fdesc, in, sizeof in);
- read(fdesc, dice, sizeof dice);
+ read(fdesc, mm->dice, sizeof mm->dice);
read(fdesc, &cturn, sizeof cturn);
read(fdesc, &dlast, sizeof dlast);
read(fdesc, &pnum, sizeof pnum);
diff --git a/backgammon/common_source/subs.c b/backgammon/common_source/subs.c
index aa139222..e73f5339 100644
--- a/backgammon/common_source/subs.c
+++ b/backgammon/common_source/subs.c
@@ -1,4 +1,4 @@
-/* $NetBSD: subs.c,v 1.17 2009/08/12 05:17:57 dholland Exp $ */
+/* $NetBSD: subs.c,v 1.18 2012/10/13 18:44:15 dholland Exp $ */
/*
* Copyright (c) 1980, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)subs.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: subs.c,v 1.17 2009/08/12 05:17:57 dholland Exp $");
+__RCSID("$NetBSD: subs.c,v 1.18 2012/10/13 18:44:15 dholland Exp $");
#endif
#endif /* not lint */
@@ -155,15 +155,17 @@ writel(const char *l)
void
proll(void)
{
- if (d0)
- swap;
+ struct move *mm = &gm;
+
+ if (mm->d0)
+ mswap(mm);
if (cturn == 1)
writel("Red's roll: ");
else
writel("White's roll: ");
- writec(D0 + '0');
+ writec(mm->D0 + '0');
writec('\040');
- writec(D1 + '0');
+ writec(mm->D1 + '0');
if (tflag)
cline();
}
@@ -453,6 +455,7 @@ roll(void)
char c;
int row;
int col;
+ struct move *mm = &gm;
row = col = 0;
if (iroll) {
@@ -467,13 +470,13 @@ roll(void)
if (c != '\n') {
while (c < '1' || c > '6')
c = readc();
- D0 = c - '0';
+ mm->D0 = c - '0';
writec(' ');
writec(c);
c = readc();
while (c < '1' || c > '6')
c = readc();
- D1 = c - '0';
+ mm->D1 = c - '0';
writec(' ');
writec(c);
if (tflag) {
@@ -491,7 +494,7 @@ roll(void)
} else
writec('\n');
}
- D0 = rnum(6) + 1;
- D1 = rnum(6) + 1;
- d0 = 0;
+ mm->D0 = rnum(6) + 1;
+ mm->D1 = rnum(6) + 1;
+ mm->d0 = 0;
}
diff --git a/backgammon/common_source/table.c b/backgammon/common_source/table.c
index 1c88008d..dfd382b2 100644
--- a/backgammon/common_source/table.c
+++ b/backgammon/common_source/table.c
@@ -1,4 +1,4 @@
-/* $NetBSD: table.c,v 1.11 2010/03/22 05:10:19 mrg Exp $ */
+/* $NetBSD: table.c,v 1.12 2012/10/13 18:44:15 dholland Exp $ */
/*
* Copyright (c) 1980, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)table.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: table.c,v 1.11 2010/03/22 05:10:19 mrg Exp $");
+__RCSID("$NetBSD: table.c,v 1.12 2012/10/13 18:44:15 dholland Exp $");
#endif
#endif /* not lint */
@@ -53,6 +53,8 @@ struct state {
int newst;
};
+static int mvl; /* working copy of move->mvlim */
+
static const struct state atmata[] = {
{'R', 1, 0}, {'?', 7, 0}, {'Q', 0, -3}, {'B', 8, 25},
@@ -85,6 +87,7 @@ checkmove(int ist)
{
int j, n;
char c;
+ struct move *mm = &gm;
domove:
if (ist == 0) {
@@ -96,7 +99,7 @@ domove:
}
ist = mvl = ncin = 0;
for (j = 0; j < 5; j++)
- p[j] = g[j] = -1;
+ mm->p[j] = mm->g[j] = -1;
dochar:
c = readc();
@@ -166,9 +169,9 @@ dochar:
else
goto domove;
}
- if (n == -1 && mvl >= mvlim)
+ if (n == -1 && mvl >= mm->mvlim)
return (0);
- if (n == -1 && mvl < mvlim - 1)
+ if (n == -1 && mvl < mm->mvlim - 1)
return (-4);
if (n == -6) {
@@ -202,6 +205,7 @@ dotable(int c, int i)
{
int a;
int test;
+ struct move *mm = &gm;
test = (c == 'R');
@@ -220,40 +224,40 @@ dotable(int c, int i)
break;
case 2:
- if (p[mvl] == -1)
- p[mvl] = c - '0';
+ if (mm->p[mvl] == -1)
+ mm->p[mvl] = c - '0';
else
- p[mvl] = p[mvl] * 10 + c - '0';
+ mm->p[mvl] = mm->p[mvl] * 10 + c - '0';
break;
case 3:
- if (g[mvl] != -1) {
- if (mvl < mvlim)
+ if (mm->g[mvl] != -1) {
+ if (mvl < mm->mvlim)
mvl++;
- p[mvl] = p[mvl - 1];
+ mm->p[mvl] = mm->p[mvl - 1];
}
- g[mvl] = p[mvl] + cturn * (c - '0');
- if (g[mvl] < 0)
- g[mvl] = 0;
- if (g[mvl] > 25)
- g[mvl] = 25;
+ mm->g[mvl] = mm->p[mvl] + cturn * (c - '0');
+ if (mm->g[mvl] < 0)
+ mm->g[mvl] = 0;
+ if (mm->g[mvl] > 25)
+ mm->g[mvl] = 25;
break;
case 4:
- if (g[mvl] == -1)
- g[mvl] = c - '0';
+ if (mm->g[mvl] == -1)
+ mm->g[mvl] = c - '0';
else
- g[mvl] = g[mvl] * 10 + c - '0';
+ mm->g[mvl] = mm->g[mvl] * 10 + c - '0';
break;
case 5:
- if (mvl < mvlim)
+ if (mvl < mm->mvlim)
mvl++;
- p[mvl] = g[mvl - 1];
+ mm->p[mvl] = mm->g[mvl - 1];
break;
case 6:
- if (mvl < mvlim)
+ if (mvl < mm->mvlim)
mvl++;
break;
@@ -273,11 +277,11 @@ dotable(int c, int i)
break;
case 8:
- p[mvl] = bar;
+ mm->p[mvl] = bar;
break;
case 9:
- g[mvl] = home;
+ mm->g[mvl] = home;
}
if (!test || a != '\n')
@@ -295,11 +299,12 @@ static int
rsetbrd(void)
{
int i, j, n;
+ struct move *mm = &gm;
n = 0;
mvl = 0;
for (i = 0; i < 4; i++)
- p[i] = g[i] = -1;
+ mm->p[i] = mm->g[i] = -1;
for (j = 0; j < ncin; j++)
if ((n = dotable(cin[j], n)) < 0)
return n;