summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mille/comp.c38
-rw-r--r--mille/end.c11
-rw-r--r--mille/extern.c5
-rw-r--r--mille/init.c47
-rw-r--r--mille/mille.64
-rw-r--r--mille/mille.c28
-rw-r--r--mille/mille.h49
-rw-r--r--mille/misc.c58
-rw-r--r--mille/move.c59
-rw-r--r--mille/print.c36
-rw-r--r--mille/roll.c11
-rw-r--r--mille/save.c73
-rw-r--r--mille/table.c26
-rw-r--r--mille/types.c16
-rw-r--r--mille/varpush.c65
15 files changed, 320 insertions, 206 deletions
diff --git a/mille/comp.c b/mille/comp.c
index 58538e3b..6ca5ad76 100644
--- a/mille/comp.c
+++ b/mille/comp.c
@@ -1,4 +1,4 @@
-/* $NetBSD: comp.c,v 1.4 1995/03/24 05:01:11 cgd Exp $ */
+/* $NetBSD: comp.c,v 1.5 1997/10/12 00:53:45 lukem Exp $ */
/*
* Copyright (c) 1982, 1993
@@ -33,11 +33,12 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)comp.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: comp.c,v 1.4 1995/03/24 05:01:11 cgd Exp $";
+__RCSID("$NetBSD: comp.c,v 1.5 1997/10/12 00:53:45 lukem Exp $");
#endif
#endif /* not lint */
@@ -49,17 +50,18 @@ static char rcsid[] = "$NetBSD: comp.c,v 1.4 1995/03/24 05:01:11 cgd Exp $";
# define V_VALUABLE 40
+void
calcmove()
{
- register CARD card;
- register int *value;
- register PLAY *pp, *op;
- register bool foundend, cango, canstop, foundlow;
- register unsgn int i, count200, badcount, nummin, nummax, diff;
- register int curmin, curmax;
- register CARD safe, oppos;
- int valbuf[HAND_SZ], count[NUM_CARDS];
- bool playit[HAND_SZ];
+ CARD card;
+ int *value;
+ PLAY *pp, *op;
+ bool foundend, cango, canstop, foundlow;
+ unsgn int i, count200, badcount, nummin, nummax, diff;
+ int curmin, curmax;
+ CARD safe, oppos;
+ int valbuf[HAND_SZ], count[NUM_CARDS];
+ bool playit[HAND_SZ];
wmove(Score, ERR_Y, ERR_X); /* get rid of error messages */
wclrtoeol(Score);
@@ -78,7 +80,7 @@ calcmove()
switch (card) {
case C_STOP: case C_CRASH:
case C_FLAT: case C_EMPTY:
- if (playit[i] = canplay(pp, op, card))
+ if ((playit[i] = canplay(pp, op, card)) != 0)
canstop = TRUE;
goto norm;
case C_LIMIT:
@@ -404,17 +406,18 @@ play_it:
/*
* Return true if the given player could conceivably win with his next card.
*/
+int
onecard(pp)
-register PLAY *pp;
+ PLAY *pp;
{
- register CARD bat, spd, card;
+ CARD bat, spd, card;
bat = pp->battle;
spd = pp->speed;
card = -1;
if (pp->can_go || ((isrepair(bat) || bat == C_STOP || spd == C_LIMIT) &&
Numseen[S_RIGHT_WAY] != 0) ||
- bat >= 0 && Numseen[safety(bat)] != 0)
+ (bat >= 0 && Numseen[safety(bat)] != 0))
switch (End - pp->mileage) {
case 200:
if (pp->nummiles[C_200] == 2)
@@ -436,9 +439,10 @@ register PLAY *pp;
return FALSE;
}
+int
canplay(pp, op, card)
-register PLAY *pp, *op;
-register CARD card;
+ PLAY *pp, *op;
+ CARD card;
{
switch (card) {
case C_200:
diff --git a/mille/end.c b/mille/end.c
index 236d287c..49b7bbe3 100644
--- a/mille/end.c
+++ b/mille/end.c
@@ -1,4 +1,4 @@
-/* $NetBSD: end.c,v 1.5 1997/05/23 23:09:36 jtc Exp $ */
+/* $NetBSD: end.c,v 1.6 1997/10/12 00:53:51 lukem Exp $ */
/*
* Copyright (c) 1982, 1993
@@ -33,11 +33,12 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)end.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: end.c,v 1.5 1997/05/23 23:09:36 jtc Exp $";
+__RCSID("$NetBSD: end.c,v 1.6 1997/10/12 00:53:51 lukem Exp $");
#endif
#endif /* not lint */
@@ -51,10 +52,11 @@ static char rcsid[] = "$NetBSD: end.c,v 1.5 1997/05/23 23:09:36 jtc Exp $";
* print out the score as if it was final, and add the totals for
* the end-of-games points to the user who deserves it (if any).
*/
+void
finalscore(pp)
-register PLAY *pp;
+ PLAY *pp;
{
- register int temp, tot, num;
+ int temp, tot, num;
if (pp->was_finished == Finished)
return;
@@ -151,4 +153,3 @@ undoex() {
}
}
# endif
-
diff --git a/mille/extern.c b/mille/extern.c
index 927b7f23..64ae3e6b 100644
--- a/mille/extern.c
+++ b/mille/extern.c
@@ -1,4 +1,4 @@
-/* $NetBSD: extern.c,v 1.4 1995/03/24 05:01:36 cgd Exp $ */
+/* $NetBSD: extern.c,v 1.5 1997/10/12 00:53:55 lukem Exp $ */
/*
* Copyright (c) 1982, 1993
@@ -33,11 +33,12 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)extern.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: extern.c,v 1.4 1995/03/24 05:01:36 cgd Exp $";
+__RCSID("$NetBSD: extern.c,v 1.5 1997/10/12 00:53:55 lukem Exp $");
#endif
#endif /* not lint */
diff --git a/mille/init.c b/mille/init.c
index 2ca77be9..0fa3579c 100644
--- a/mille/init.c
+++ b/mille/init.c
@@ -1,4 +1,4 @@
-/* $NetBSD: init.c,v 1.6 1997/05/23 23:09:37 jtc Exp $ */
+/* $NetBSD: init.c,v 1.7 1997/10/12 00:53:59 lukem Exp $ */
/*
* Copyright (c) 1982, 1993
@@ -33,11 +33,12 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)init.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: init.c,v 1.6 1997/05/23 23:09:37 jtc Exp $";
+__RCSID("$NetBSD: init.c,v 1.7 1997/10/12 00:53:59 lukem Exp $");
#endif
#endif /* not lint */
@@ -47,13 +48,14 @@ static char rcsid[] = "$NetBSD: init.c,v 1.6 1997/05/23 23:09:37 jtc Exp $";
* @(#)init.c 1.1 (Berkeley) 4/1/82
*/
-init() {
+void
+init()
+{
+ PLAY *pp;
+ int i, j;
+ CARD card;
- register PLAY *pp;
- register int i, j;
- register CARD card;
-
- bzero(Numseen, sizeof Numseen);
+ memset(Numseen, 0, sizeof Numseen);
Numgos = 0;
for (i = 0; i < 2; i++) {
@@ -90,15 +92,16 @@ init() {
End = 700;
}
-shuffle() {
-
- register int i, r;
- register CARD temp;
+void
+shuffle()
+{
+ int i, r;
+ CARD temp;
for (i = 0; i < DECK_SZ; i++) {
r = roll(1, DECK_SZ) - 1;
if (r < 0 || r > DECK_SZ - 1) {
- fprintf(stderr, "shuffle: card no. error: %d\n", r);
+ warnx("shuffle: card no. error: %d", r);
die(1);
}
temp = Deck[r];
@@ -108,10 +111,11 @@ shuffle() {
Topcard = &Deck[DECK_SZ];
}
-newboard() {
-
- register int i;
- register PLAY *pp;
+void
+newboard()
+{
+ int i;
+ PLAY *pp;
static int first = TRUE;
if (first) {
@@ -166,10 +170,11 @@ newboard() {
newscore();
}
-newscore() {
-
- register int i, new;
- register PLAY *pp;
+void
+newscore()
+{
+ int i, new;
+ PLAY *pp;
static int was_full = -1;
static int last_win = -1;
diff --git a/mille/mille.6 b/mille/mille.6
index fc2664f2..0fb7ac7a 100644
--- a/mille/mille.6
+++ b/mille/mille.6
@@ -1,4 +1,4 @@
-.\" $NetBSD: mille.6,v 1.5 1997/01/07 12:13:41 tls Exp $
+.\" $NetBSD: mille.6,v 1.6 1997/10/12 00:54:03 lukem Exp $
.\"
.\" Copyright (c) 1983, 1993
.\" The Regents of the University of California. All rights reserved.
@@ -38,7 +38,7 @@
.SH NAME
mille \- play Mille Bornes
.SH SYNOPSIS
-.B /usr/games/mille
+.B mille
[ file ]
.SH DESCRIPTION
.I Mille
diff --git a/mille/mille.c b/mille/mille.c
index 6a6a0395..84536051 100644
--- a/mille/mille.c
+++ b/mille/mille.c
@@ -1,4 +1,4 @@
-/* $NetBSD: mille.c,v 1.5 1997/05/23 23:09:38 jtc Exp $ */
+/* $NetBSD: mille.c,v 1.6 1997/10/12 00:54:07 lukem Exp $ */
/*
* Copyright (c) 1982, 1993
@@ -33,17 +33,17 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
-static char copyright[] =
-"@(#) Copyright (c) 1982, 1993\n\
- The Regents of the University of California. All rights reserved.\n";
+__COPYRIGHT("@(#) Copyright (c) 1982, 1993\n\
+ The Regents of the University of California. All rights reserved.\n");
#endif /* not lint */
#ifndef lint
#if 0
static char sccsid[] = "@(#)mille.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: mille.c,v 1.5 1997/05/23 23:09:38 jtc Exp $";
+__RCSID("$NetBSD: mille.c,v 1.6 1997/10/12 00:54:07 lukem Exp $");
#endif
#endif /* not lint */
@@ -57,13 +57,12 @@ static char rcsid[] = "$NetBSD: mille.c,v 1.5 1997/05/23 23:09:38 jtc Exp $";
* @(#)mille.c 1.3 (Berkeley) 5/10/83
*/
-void rub();
-
+int
main(ac, av)
-register int ac;
-register char *av[];
+ int ac;
+ char *av[];
{
- register bool restore;
+ bool restore;
/* run as the user */
setuid(getuid());
@@ -146,8 +145,9 @@ register char *av[];
* quit.
*/
void
-rub() {
-
+rub(dummy)
+ int dummy;
+{
(void)signal(SIGINT, SIG_IGN);
if (getyn(REALLYPROMPT))
die(0);
@@ -157,8 +157,10 @@ rub() {
/*
* Time to go beddy-by
*/
+void
die(code)
-int code; {
+ int code;
+{
(void)signal(SIGINT, SIG_IGN);
if (outf)
diff --git a/mille/mille.h b/mille/mille.h
index 106a6d71..5c3f4800 100644
--- a/mille/mille.h
+++ b/mille/mille.h
@@ -1,4 +1,4 @@
-/* $NetBSD: mille.h,v 1.6 1997/05/23 23:09:39 jtc Exp $ */
+/* $NetBSD: mille.h,v 1.7 1997/10/12 00:54:11 lukem Exp $ */
/*
* Copyright (c) 1982, 1993
@@ -36,10 +36,17 @@
*/
# include <sys/types.h>
+# include <sys/uio.h>
+# include <sys/stat.h>
# include <ctype.h>
+# include <err.h>
+# include <errno.h>
# include <curses.h>
-# include <termios.h>
+# include <fcntl.h>
+# include <stdlib.h>
# include <string.h>
+# include <termios.h>
+# include <unistd.h>
/*
* @(#)mille.h 1.1 (Berkeley) 4/1/82
@@ -218,4 +225,40 @@ extern WINDOW *Board, *Miles, *Score;
* functions
*/
-CARD getcard();
+void account __P((CARD));
+void calcmove __P((void));
+int canplay __P((PLAY *, PLAY *, CARD));
+int check_ext __P((bool));
+void check_go __P((void));
+void check_more __P((void));
+void die __P((int));
+void domove __P((void));
+bool error __P((char *, ...));
+void extrapolate __P((PLAY *));
+void finalscore __P((PLAY *));
+CARD getcard __P((void));
+void getmove __P((void));
+int getyn __P((int));
+int haspicked __P((PLAY *));
+void init __P((void));
+int isrepair __P((CARD));
+int main __P((int, char **));
+void newboard __P((void));
+void newscore __P((void));
+int onecard __P((PLAY *));
+int playcard __P((PLAY *));
+void prboard __P((void));
+void prompt __P((int));
+void prscore __P((int));
+int readch __P((void));
+bool rest_f __P((char *));
+int roll __P((int, int));
+void rub __P((int));
+int safety __P((CARD));
+bool save __P((void));
+void show_card __P((int, int, CARD, CARD *));
+void show_score __P((int, int, int, int *));
+void shuffle __P((void));
+void sort __P((CARD *));
+void undoex __P((int));
+bool varpush __P((int, ssize_t __P((int, const struct iovec *, int))));
diff --git a/mille/misc.c b/mille/misc.c
index 37dc4eb3..2fcd9379 100644
--- a/mille/misc.c
+++ b/mille/misc.c
@@ -1,4 +1,4 @@
-/* $NetBSD: misc.c,v 1.5 1997/05/23 23:09:40 jtc Exp $ */
+/* $NetBSD: misc.c,v 1.6 1997/10/12 00:54:16 lukem Exp $ */
/*
* Copyright (c) 1983, 1993
@@ -33,17 +33,24 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)misc.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: misc.c,v 1.5 1997/05/23 23:09:40 jtc Exp $";
+__RCSID("$NetBSD: misc.c,v 1.6 1997/10/12 00:54:16 lukem Exp $");
#endif
#endif /* not lint */
#include <sys/file.h>
#include <termios.h>
+#if __STDC__
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+
#include "mille.h"
#ifndef unctrl
#include "unctrl.h"
@@ -60,23 +67,35 @@ static char rcsid[] = "$NetBSD: misc.c,v 1.5 1997/05/23 23:09:40 jtc Exp $";
#define NUMSAFE 4
-/* VARARGS1 */
-error(str, arg)
-char *str;
+bool
+#if __STDC__
+error(char *str, ...)
+#else
+error(str, va_alist)
+ char *str;
+ va_dcl
+#endif
{
- stdscr = Score;
- mvprintw(ERR_Y, ERR_X, str, arg);
+ va_list ap;
+
+#if __STDC__
+ va_start(ap, str);
+#else
+ va_start(ap);
+#endif
+ wmove(Score, ERR_Y, ERR_X);
+ vwprintw(Score, str, ap);
clrtoeol();
putchar('\07');
refresh();
- stdscr = Board;
+ va_end(ap);
return FALSE;
}
CARD
getcard()
{
- register int c, c1;
+ int c, c1;
for (;;) {
while ((c = readch()) == '\n' || c == '\r' || c == ' ')
@@ -122,8 +141,10 @@ cont: ;
}
}
+int
check_ext(forcomp)
-register bool forcomp; {
+ bool forcomp;
+{
if (End == 700)
@@ -142,8 +163,8 @@ done:
}
}
else {
- register PLAY *pp, *op;
- register int i, safe, miles;
+ PLAY *pp, *op;
+ int i, safe, miles;
pp = &Player[COMP];
op = &Player[PLAYER];
@@ -176,10 +197,11 @@ done:
* Get a yes or no answer to the given question. Saves are
* also allowed. Return TRUE if the answer was yes, FALSE if no.
*/
+int
getyn(promptno)
-register int promptno;
+ int promptno;
{
- register char c;
+ char c;
Saved = FALSE;
for (;;) {
@@ -220,8 +242,9 @@ register int promptno;
* came from a saved file, make sure that they don't want to restore
* it. Exit appropriately.
*/
-check_more() {
-
+void
+check_more()
+{
On_exit = TRUE;
if (Player[PLAYER].total >= 5000 || Player[COMP].total >= 5000)
if (getyn(ANOTHERGAMEPROMPT))
@@ -246,9 +269,10 @@ check_more() {
die(0);
}
+int
readch()
{
- register int cnt;
+ int cnt;
static char c;
for (cnt = 0; read(0, &c, 1) <= 0; cnt++)
diff --git a/mille/move.c b/mille/move.c
index 0008301b..0c9552fc 100644
--- a/mille/move.c
+++ b/mille/move.c
@@ -1,4 +1,4 @@
-/* $NetBSD: move.c,v 1.6 1997/05/23 23:09:41 jtc Exp $ */
+/* $NetBSD: move.c,v 1.7 1997/10/12 00:54:21 lukem Exp $ */
/*
* Copyright (c) 1983, 1993
@@ -33,11 +33,12 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)move.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: move.c,v 1.6 1997/05/23 23:09:41 jtc Exp $";
+__RCSID("$NetBSD: move.c,v 1.7 1997/10/12 00:54:21 lukem Exp $");
#endif
#endif /* not lint */
@@ -63,11 +64,12 @@ char *Movenames[] = {
"M_DISCARD", "M_DRAW", "M_PLAY", "M_ORDER"
};
+void
domove()
{
- register PLAY *pp;
- register int i, j;
- register bool goodplay;
+ PLAY *pp;
+ int i, j;
+ bool goodplay;
pp = &Player[Play];
if (Play == PLAYER)
@@ -166,11 +168,12 @@ acc:
* Check and see if either side can go. If they cannot,
* the game is over
*/
-check_go() {
-
- register CARD card;
- register PLAY *pp, *op;
- register int i;
+void
+check_go()
+{
+ CARD card;
+ PLAY *pp, *op;
+ int i;
for (pp = Player; pp < &Player[2]; pp++) {
op = (pp == &Player[COMP] ? &Player[PLAYER] : &Player[COMP]);
@@ -196,11 +199,12 @@ check_go() {
Finished = TRUE;
}
+int
playcard(pp)
-register PLAY *pp;
+ PLAY *pp;
{
- register int v;
- register CARD card;
+ int v;
+ CARD card;
/*
* check and see if player has picked
@@ -345,9 +349,10 @@ protected:
return TRUE;
}
+void
getmove()
{
- register char c, *sp;
+ char c;
#ifdef EXTRAP
static bool last_ex = FALSE; /* set if last command was E */
@@ -393,7 +398,7 @@ getmove()
Movetype = M_ORDER;
goto ret;
case 'Q': /* Quit */
- rub(); /* Same as a rubout */
+ rub(0); /* Same as a rubout */
break;
case 'W': /* Window toggle */
Window = nextwin(Window);
@@ -458,7 +463,7 @@ getmove()
*sp = '\0';
leaveok(Board, TRUE);
if ((outf = fopen(buf, "w")) == NULL)
- perror(buf);
+ warn("%s", buf);
setbuf(outf, (char *)NULL);
}
Debug = !Debug;
@@ -472,13 +477,15 @@ getmove()
ret:
leaveok(Board, TRUE);
}
+
/*
* return whether or not the player has picked
*/
+int
haspicked(pp)
-register PLAY *pp;
+ PLAY *pp;
{
- register int card;
+ int card;
if (Topcard <= Deck)
return TRUE;
@@ -494,10 +501,11 @@ register PLAY *pp;
return (pp->hand[card] != C_INIT);
}
+void
account(card)
-register CARD card;
+ CARD card;
{
- register CARD oppos;
+ CARD oppos;
if (card == C_INIT)
return;
@@ -519,8 +527,9 @@ register CARD card;
}
}
+void
prompt(promptno)
-int promptno;
+ int promptno;
{
static char *names[] = {
">>:Move:",
@@ -550,11 +559,12 @@ int promptno;
clrtoeol();
}
+void
sort(hand)
-register CARD *hand;
+ CARD *hand;
{
- register CARD *cp, *tp;
- register CARD temp;
+ CARD *cp, *tp;
+ CARD temp;
cp = hand;
hand += HAND_SZ;
@@ -566,4 +576,3 @@ register CARD *hand;
*tp = temp;
}
}
-
diff --git a/mille/print.c b/mille/print.c
index c9ac4f95..dee19d4a 100644
--- a/mille/print.c
+++ b/mille/print.c
@@ -1,4 +1,4 @@
-/* $NetBSD: print.c,v 1.5 1997/05/23 23:09:42 jtc Exp $ */
+/* $NetBSD: print.c,v 1.6 1997/10/12 00:54:24 lukem Exp $ */
/*
* Copyright (c) 1982, 1993
@@ -33,11 +33,12 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)print.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: print.c,v 1.5 1997/05/23 23:09:42 jtc Exp $";
+__RCSID("$NetBSD: print.c,v 1.6 1997/10/12 00:54:24 lukem Exp $");
#endif
#endif /* not lint */
@@ -50,10 +51,11 @@ static char rcsid[] = "$NetBSD: print.c,v 1.5 1997/05/23 23:09:42 jtc Exp $";
# define COMP_STRT 20
# define CARD_STRT 2
-prboard() {
-
- register PLAY *pp;
- register int i, j, k, temp;
+void
+prboard()
+{
+ PLAY *pp;
+ int i, j, k, temp;
for (k = 0; k < 2; k++) {
pp = &Player[k];
@@ -68,8 +70,8 @@ prboard() {
show_card(14, temp, pp->battle, &pp->sh_battle);
show_card(16, temp, pp->speed, &pp->sh_speed);
for (i = C_25; i <= C_200; i++) {
- register char *name;
- register int end;
+ char *name;
+ int end;
if (pp->nummiles[i] == pp->sh_nummiles[i])
continue;
@@ -104,9 +106,10 @@ prboard() {
* show_card:
* Show the given card if it is different from the last one shown
*/
+void
show_card(y, x, c, lc)
-int y, x;
-register CARD c, *lc;
+ int y, x;
+ CARD c, *lc;
{
if (c == *lc)
return;
@@ -117,12 +120,12 @@ register CARD c, *lc;
static char Score_fmt[] = "%4d";
+void
prscore(for_real)
-register bool for_real;
+ bool for_real;
{
-
- register PLAY *pp;
- register int x;
+ PLAY *pp;
+ int x;
stdscr = Score;
for (pp = Player; pp < &Player[2]; pp++) {
@@ -164,9 +167,10 @@ register bool for_real;
* Show a score value if it is different from the last time we
* showed it.
*/
+void
show_score(y, x, s, ls)
-int y, x;
-register int s, *ls;
+ int y, x;
+ int s, *ls;
{
if (s == *ls)
return;
diff --git a/mille/roll.c b/mille/roll.c
index 98d84d88..4bcf7ed9 100644
--- a/mille/roll.c
+++ b/mille/roll.c
@@ -1,4 +1,4 @@
-/* $NetBSD: roll.c,v 1.5 1997/05/23 23:09:42 jtc Exp $ */
+/* $NetBSD: roll.c,v 1.6 1997/10/12 00:54:28 lukem Exp $ */
/*
* Copyright (c) 1982, 1993
@@ -33,11 +33,12 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)roll.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: roll.c,v 1.5 1997/05/23 23:09:42 jtc Exp $";
+__RCSID("$NetBSD: roll.c,v 1.6 1997/10/12 00:54:28 lukem Exp $");
#endif
#endif /* not lint */
@@ -50,12 +51,12 @@ static char rcsid[] = "$NetBSD: roll.c,v 1.5 1997/05/23 23:09:42 jtc Exp $";
*
*/
+int
roll(ndie, nsides)
-register int ndie, nsides;
+ int ndie, nsides;
{
- register int tot;
- extern unsigned int random();
+ int tot;
tot = 0;
while (ndie--)
diff --git a/mille/save.c b/mille/save.c
index a66a6597..05c007f0 100644
--- a/mille/save.c
+++ b/mille/save.c
@@ -1,4 +1,4 @@
-/* $NetBSD: save.c,v 1.5 1997/05/23 23:09:43 jtc Exp $ */
+/* $NetBSD: save.c,v 1.6 1997/10/12 00:54:32 lukem Exp $ */
/*
* Copyright (c) 1983, 1993
@@ -33,18 +33,15 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)save.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: save.c,v 1.5 1997/05/23 23:09:43 jtc Exp $";
+__RCSID("$NetBSD: save.c,v 1.6 1997/10/12 00:54:32 lukem Exp $");
#endif
#endif /* not lint */
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <string.h>
-#include <termios.h>
#include "mille.h"
#ifndef unctrl
@@ -61,24 +58,22 @@ static char rcsid[] = "$NetBSD: save.c,v 1.5 1997/05/23 23:09:43 jtc Exp $";
typedef struct stat STAT;
-char *ctime();
-
-int read(), write();
-
/*
* This routine saves the current game for use at a later date
+ * Returns FALSE if it couldn't be done.
*/
-
-save() {
-
- extern int errno;
- register char *sp;
- register int outf;
- register time_t *tp;
- char buf[80];
- time_t tme;
- STAT junk;
-
+bool
+save()
+{
+ char *sp;
+ int outf;
+ time_t *tp;
+ char buf[80];
+ time_t tme;
+ STAT junk;
+ bool rv;
+
+ sp = NULL;
tp = &tme;
if (Fromfile && getyn(SAMEFILEPROMPT))
strcpy(buf, Fromfile);
@@ -130,16 +125,20 @@ over:
mvwaddstr(Score, ERR_Y, ERR_X, buf);
wrefresh(Score);
time(tp); /* get current time */
- strcpy(buf, ctime(tp));
- for (sp = buf; *sp != '\n'; sp++)
- continue;
- *sp = '\0';
- varpush(outf, write);
+ rv = varpush(outf, writev);
close(outf);
- wprintw(Score, " [%s]", buf);
+ if (rv == FALSE) {
+ unlink(buf);
+ } else {
+ strcpy(buf, ctime(tp));
+ for (sp = buf; *sp != '\n'; sp++)
+ continue;
+ *sp = '\0';
+ wprintw(Score, " [%s]", buf);
+ }
wclrtoeol(Score);
wrefresh(Score);
- return TRUE;
+ return rv;
}
/*
@@ -147,24 +146,25 @@ over:
* backup was made on exiting, in which case certain things must
* be cleaned up before the game starts.
*/
+bool
rest_f(file)
-register char *file;
+ char *file;
{
- register char *sp;
- register int inf;
- char buf[80];
- STAT sbuf;
+ char *sp;
+ int inf;
+ char buf[80];
+ STAT sbuf;
if ((inf = open(file, 0)) < 0) {
- perror(file);
+ warn("%s", file);
exit(1);
}
if (fstat(inf, &sbuf) < 0) { /* get file stats */
- perror(file);
+ warn("%s", file);
exit(1);
}
- varpush(inf, read);
+ varpush(inf, readv);
close(inf);
strcpy(buf, ctime(&sbuf.st_mtime));
for (sp = buf; *sp != '\n'; sp++)
@@ -177,4 +177,3 @@ register char *file;
Fromfile = file;
return !On_exit;
}
-
diff --git a/mille/table.c b/mille/table.c
index 7b0f9cd2..60047c3d 100644
--- a/mille/table.c
+++ b/mille/table.c
@@ -1,4 +1,4 @@
-/* $NetBSD: table.c,v 1.4 1995/03/24 05:02:18 cgd Exp $ */
+/* $NetBSD: table.c,v 1.5 1997/10/12 00:54:36 lukem Exp $ */
/*
* Copyright (c) 1982, 1993
@@ -33,17 +33,17 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
-static char copyright[] =
-"@(#) Copyright (c) 1982, 1993\n\
- The Regents of the University of California. All rights reserved.\n";
+__COPYRIGHT("@(#) Copyright (c) 1982, 1993\n\
+ The Regents of the University of California. All rights reserved.\n");
#endif /* not lint */
#ifndef lint
#if 0
static char sccsid[] = "@(#)table.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: table.c,v 1.4 1995/03/24 05:02:18 cgd Exp $";
+__RCSID("$NetBSD: table.c,v 1.5 1997/10/12 00:54:36 lukem Exp $");
#endif
#endif /* not lint */
@@ -55,16 +55,22 @@ static char rcsid[] = "$NetBSD: table.c,v 1.4 1995/03/24 05:02:18 cgd Exp $";
# include "mille.h"
-main() {
+int main __P((int, char **));
- reg int i, j, count;
+int
+main(argc, argv)
+ int argc;
+ char *argv[];
+{
+ int i, j, count;
- printf(" %16s -> %5s %5s %4s %s\n", "Card", "cards", "count", "need", "opposite");
+ printf(" %16s -> %5s %5s %4s %s\n", "Card", "cards", "count",
+ "need", "opposite");
for (i = 0; i < NUM_CARDS - 1; i++) {
for (j = 0, count = 0; j < DECK_SZ; j++)
if (Deck[j] == i)
count++;
- printf("%2d %16s -> %5d %5d %4d %s\n", i, C_name[i], Numcards[i], count, Numneed[i], C_name[opposite(i)]);
+ printf("%2d %16s -> %5d %5d %4d %s\n", i, C_name[i],
+ Numcards[i], count, Numneed[i], C_name[opposite(i)]);
}
}
-
diff --git a/mille/types.c b/mille/types.c
index ada50b25..a4cde54e 100644
--- a/mille/types.c
+++ b/mille/types.c
@@ -1,4 +1,4 @@
-/* $NetBSD: types.c,v 1.5 1997/05/23 23:09:44 jtc Exp $ */
+/* $NetBSD: types.c,v 1.6 1997/10/12 00:54:40 lukem Exp $ */
/*
* Copyright (c) 1982, 1993
@@ -33,11 +33,12 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)types.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: types.c,v 1.5 1997/05/23 23:09:44 jtc Exp $";
+__RCSID("$NetBSD: types.c,v 1.6 1997/10/12 00:54:40 lukem Exp $");
#endif
#endif /* not lint */
@@ -47,15 +48,18 @@ static char rcsid[] = "$NetBSD: types.c,v 1.5 1997/05/23 23:09:44 jtc Exp $";
* @(#)types.c 1.1 (Berkeley) 4/1/82
*/
+int
isrepair(card)
-register CARD card;
+ CARD card;
{
- return card == C_GAS || card == C_SPARE || card == C_REPAIRS || card == C_INIT;
+ return card == C_GAS || card == C_SPARE ||
+ card == C_REPAIRS || card == C_INIT;
}
+int
safety(card)
-register CARD card;
+ CARD card;
{
switch (card) {
case C_EMPTY:
@@ -78,5 +82,5 @@ register CARD card;
return C_RIGHT_WAY;
}
/* NOTREACHED */
+ return(0);
}
-
diff --git a/mille/varpush.c b/mille/varpush.c
index d53feb6c..f9a22551 100644
--- a/mille/varpush.c
+++ b/mille/varpush.c
@@ -1,4 +1,4 @@
-/* $NetBSD: varpush.c,v 1.5 1997/05/23 23:09:45 jtc Exp $ */
+/* $NetBSD: varpush.c,v 1.6 1997/10/12 00:54:44 lukem Exp $ */
/*
* Copyright (c) 1982, 1993
@@ -33,11 +33,12 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)varpush.c 8.1 (Berkeley) 5/31/93";
#else
-static char rcsid[] = "$NetBSD: varpush.c,v 1.5 1997/05/23 23:09:45 jtc Exp $";
+__RCSID("$NetBSD: varpush.c,v 1.6 1997/10/12 00:54:44 lukem Exp $");
#endif
#endif /* not lint */
@@ -48,34 +49,41 @@ static char rcsid[] = "$NetBSD: varpush.c,v 1.5 1997/05/23 23:09:45 jtc Exp $";
* @(#)varpush.c 1.1 (Berkeley) 4/1/82
*/
-int read(), write();
-
/*
* push variables around via the routine func() on the file
* channel file. func() is either read or write.
*/
+bool
varpush(file, func)
-register int file;
-register int (*func)();
+ int file;
+ ssize_t (*func) __P((int, const struct iovec *, int));
{
+ int temp;
+ const struct iovec vec[] = {
+ { (void *) &Debug, sizeof Debug },
+ { (void *) &Finished, sizeof Finished },
+ { (void *) &Order, sizeof Order },
+ { (void *) &End, sizeof End },
+ { (void *) &On_exit, sizeof On_exit },
+ { (void *) &Handstart, sizeof Handstart },
+ { (void *) &Numgos, sizeof Numgos },
+ { (void *) Numseen, sizeof Numseen },
+ { (void *) &Play, sizeof Play },
+ { (void *) &Window, sizeof Window },
+ { (void *) Deck, sizeof Deck },
+ { (void *) &Discard, sizeof Discard },
+ { (void *) Player, sizeof Player }
+ };
- int temp;
-
- (*func)(file, (char *) &Debug, sizeof Debug);
- (*func)(file, (char *) &Finished, sizeof Finished);
- (*func)(file, (char *) &Order, sizeof Order);
- (*func)(file, (char *) &End, sizeof End);
- (*func)(file, (char *) &On_exit, sizeof On_exit);
- (*func)(file, (char *) &Handstart, sizeof Handstart);
- (*func)(file, (char *) &Numgos, sizeof Numgos);
- (*func)(file, (char *) Numseen, sizeof Numseen);
- (*func)(file, (char *) &Play, sizeof Play);
- (*func)(file, (char *) &Window, sizeof Window);
- (*func)(file, (char *) Deck, sizeof Deck);
- (*func)(file, (char *) &Discard, sizeof Discard);
- (*func)(file, (char *) Player, sizeof Player);
- if (func == read) {
- read(file, (char *) &temp, sizeof temp);
+ if (((func)(file, vec, sizeof(vec) / sizeof(vec[0]))) < 0) {
+ error(strerror(errno));
+ return FALSE;
+ }
+ if (func == readv) {
+ if ((read(file, (void *) &temp, sizeof temp)) < 0) {
+ error(strerror(errno));
+ return FALSE;
+ }
Topcard = &Deck[temp];
#ifdef DEBUG
if (Debug) {
@@ -84,16 +92,19 @@ over:
printf("Debug file:");
gets(buf);
if ((outf = fopen(buf, "w")) == NULL) {
- perror(buf);
+ warn("%s", buf);
goto over;
}
if (strcmp(buf, _PATH_DEVNULL) != 0)
setbuf(outf, (char *)NULL);
}
#endif
- }
- else {
+ } else {
temp = Topcard - Deck;
- write(file, (char *) &temp, sizeof temp);
+ if ((write(file, (void *) &temp, sizeof temp)) < 0) {
+ error(strerror(errno));
+ return FALSE;
+ }
}
+ return TRUE;
}