summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Janzen <pjanzen@cvs.openbsd.org>1999-03-27 03:45:51 +0000
committerPaul Janzen <pjanzen@cvs.openbsd.org>1999-03-27 03:45:51 +0000
commitf51cf7f2e10053f45c0ffa2e95347f56d2eecce7 (patch)
tree36f2fd5bc053b41ba6a744a078f5d81e0a22c0dd
parent5190786085567acf6f269919dffc1b455a46988c (diff)
Changes from FreeBSD: install score files, use random(), and be more careful
on exec.
-rw-r--r--games/larn/Makefile6
-rw-r--r--games/larn/data.c6
-rw-r--r--games/larn/global.c9
-rw-r--r--games/larn/header.h8
-rw-r--r--games/larn/io.c6
-rw-r--r--games/larn/larn.64
-rw-r--r--games/larn/scores.c6
-rw-r--r--games/larn/tok.c8
8 files changed, 31 insertions, 22 deletions
diff --git a/games/larn/Makefile b/games/larn/Makefile
index 0235429e774..e9fd9d54c99 100644
--- a/games/larn/Makefile
+++ b/games/larn/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.10 1999/01/01 17:47:17 millert Exp $
+# $OpenBSD: Makefile,v 1.11 1999/03/27 03:45:49 pjanzen Exp $
# EXTRA
# Incorporates code to gather additional performance statistics
@@ -69,5 +69,9 @@ beforeinstall:
(cd ${.CURDIR}/datfiles; ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} \
-m 444 larnmaze larnopts larn.help \
${DESTDIR}/usr/share/games/larn)
+ ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 660 /dev/null \
+ ${DESTDIR}/var/games/larn/lscore12.0
+ ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 660 /dev/null \
+ ${DESTDIR}/var/games/larn/llog12.0
.include <bsd.prog.mk>
diff --git a/games/larn/data.c b/games/larn/data.c
index d3362fd8aa7..3ab1b5b2025 100644
--- a/games/larn/data.c
+++ b/games/larn/data.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: data.c,v 1.5 1998/09/15 05:12:31 pjanzen Exp $ */
+/* $OpenBSD: data.c,v 1.6 1999/03/27 03:45:49 pjanzen Exp $ */
/* $NetBSD: data.c,v 1.9 1997/10/25 01:40:47 thorpej Exp $ */
/*-
@@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)data.c 5.3 (Berkeley) 5/13/91";
#else
-static char rcsid[] = "$OpenBSD: data.c,v 1.5 1998/09/15 05:12:31 pjanzen Exp $";
+static char rcsid[] = "$OpenBSD: data.c,v 1.6 1999/03/27 03:45:49 pjanzen Exp $";
#endif
#endif /* not lint */
@@ -162,7 +162,9 @@ short oldx, oldy;
short lasthx = 0, lasthy = 0; /* location of monster last hit by
* player */
short nobeep = 0; /* true if program is not to beep */
+#ifdef MACRORND
unsigned long randx = 33601; /* the random number seed */
+#endif
time_t initialtime = 0;/* time playing began */
long gltime = 0; /* the clock for the game */
long outstanding_taxes = 0; /* present tax bill from score file */
diff --git a/games/larn/global.c b/games/larn/global.c
index f926125fffb..c23bb76e7b4 100644
--- a/games/larn/global.c
+++ b/games/larn/global.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: global.c,v 1.3 1998/09/15 05:12:31 pjanzen Exp $ */
+/* $OpenBSD: global.c,v 1.4 1999/03/27 03:45:49 pjanzen Exp $ */
/* $NetBSD: global.c,v 1.6 1997/10/18 20:03:20 christos Exp $ */
/*
@@ -23,7 +23,7 @@
* quit() subroutine to ask if the player really wants to quit
*/
#ifndef lint
-static char rcsid[] = "$OpenBSD: global.c,v 1.3 1998/09/15 05:12:31 pjanzen Exp $";
+static char rcsid[] = "$OpenBSD: global.c,v 1.4 1999/03/27 03:45:49 pjanzen Exp $";
#endif /* not lint */
#include <string.h>
@@ -32,7 +32,6 @@ static char rcsid[] = "$OpenBSD: global.c,v 1.3 1998/09/15 05:12:31 pjanzen Exp
#include "extern.h"
extern int score[], srcount, dropflag;
-extern int random; /* the random number seed */
extern short playerx, playery, lastnum, level;
extern u_char cheat;
extern char monstnamelist[], logname[];
@@ -958,13 +957,13 @@ int
rnd(x)
int x;
{
- return ((((randx = randx * 1103515245 + 12345) >> 7) % (x)) + 1);
+ return ((random() % x) + 1);
}
int
rund(x)
int x;
{
- return ((((randx = randx * 1103515245 + 12345) >> 7) % (x)));
+ return (random() % x);
}
#endif /* MACRORND */
diff --git a/games/larn/header.h b/games/larn/header.h
index 87946ef7b16..f228dfd839f 100644
--- a/games/larn/header.h
+++ b/games/larn/header.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: header.h,v 1.7 1998/09/15 05:12:32 pjanzen Exp $ */
+/* $OpenBSD: header.h,v 1.8 1999/03/27 03:45:49 pjanzen Exp $ */
/* $NetBSD: header.h,v 1.12 1997/10/25 01:40:48 thorpej Exp $ */
/* header.h Larn is copyrighted 1986 by Noah Morgan. */
@@ -362,7 +362,6 @@ extern int dayplay, enable_scroll, srcount, yrepcount, userid, wisid,
extern gid_t gid, egid;
extern long outstanding_taxes, skill[], gltime, c[], cbak[];
extern time_t initialtime;
-extern unsigned long randx;
extern struct cel *cell;
extern struct monst monster[];
extern struct sphere *spheres;
@@ -427,9 +426,10 @@ extern int rmst, maxitm, lasttime;
/* macro to output one byte to the output buffer */
#define lprc(ch) ((lpnt>=lpend)?(*lpnt++ =(ch), lflush()):(*lpnt++ =(ch)))
-/* macro to seed the random number generator */
-#define srand(x) (randx=x)
#ifdef MACRORND
+extern unsigned long randx;
+/* macro to seed the random number generator */
+#define srandom(x) (randx=x)
/* macros to generate random numbers 1<=rnd(N)<=N 0<=rund(N)<=N-1 */
#define rnd(x) ((((randx=randx*1103515245+12345)>>7)%(x))+1)
#define rund(x) ((((randx=randx*1103515245+12345)>>7)%(x)) )
diff --git a/games/larn/io.c b/games/larn/io.c
index 069dd0bad16..fd5480a21cc 100644
--- a/games/larn/io.c
+++ b/games/larn/io.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: io.c,v 1.4 1998/09/15 05:12:32 pjanzen Exp $ */
+/* $OpenBSD: io.c,v 1.5 1999/03/27 03:45:49 pjanzen Exp $ */
/* $NetBSD: io.c,v 1.7 1997/10/18 20:03:26 christos Exp $ */
/*
@@ -61,7 +61,7 @@
*/
#ifndef lint
-static char rcsid[] = "$OpenBSD: io.c,v 1.4 1998/09/15 05:12:32 pjanzen Exp $";
+static char rcsid[] = "$OpenBSD: io.c,v 1.5 1999/03/27 03:45:49 pjanzen Exp $";
#endif /* not lint */
#include "header.h"
@@ -213,7 +213,7 @@ newgame()
for (p = c, pe = c + 100; p < pe; *p++ = 0);
time(&initialtime);
- srand(initialtime);
+ srandom(initialtime);
lcreat((char *) 0); /* open buffering for output to terminal */
}
diff --git a/games/larn/larn.6 b/games/larn/larn.6
index 222d9a032b3..4476a2b146b 100644
--- a/games/larn/larn.6
+++ b/games/larn/larn.6
@@ -1,4 +1,4 @@
-.\" $OpenBSD: larn.6,v 1.5 1999/03/20 18:54:47 pjanzen Exp $
+.\" $OpenBSD: larn.6,v 1.6 1999/03/27 03:45:50 pjanzen Exp $
.\" $NetBSD: larn.6,v 1.3 1995/03/23 08:33:42 cgd Exp $
.\"
.\" Copyright (c) 1990 The Regents of the University of California.
@@ -178,6 +178,8 @@ Noah Morgan
.Bl -tag -width "/var/games/larn.scores" -compact
.It Pa /var/games/larn.scores
Score file.
+.It Pa /var/games/larn/llog12.0
+Log file.
.It Pa ~/.larnopts
Options file.
.El
diff --git a/games/larn/scores.c b/games/larn/scores.c
index 655cdb5b7e3..8978a21c51b 100644
--- a/games/larn/scores.c
+++ b/games/larn/scores.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: scores.c,v 1.5 1998/09/15 05:12:33 pjanzen Exp $ */
+/* $OpenBSD: scores.c,v 1.6 1999/03/27 03:45:50 pjanzen Exp $ */
/* $NetBSD: scores.c,v 1.10 1997/10/18 20:03:48 christos Exp $ */
/*
@@ -27,7 +27,7 @@
*/
#ifndef lint
-static char rcsid[] = "$OpenBSD: scores.c,v 1.5 1998/09/15 05:12:33 pjanzen Exp $";
+static char rcsid[] = "$OpenBSD: scores.c,v 1.6 1999/03/27 03:45:50 pjanzen Exp $";
#endif /* not lint */
#include <sys/types.h>
@@ -661,7 +661,7 @@ invalid:
sncbr();
resetscroll();
lflush();
- exit(0);
+ exit(1);
}
setegid(egid);
chmod(logfile, 0660);
diff --git a/games/larn/tok.c b/games/larn/tok.c
index f295bab2b76..432d58d677c 100644
--- a/games/larn/tok.c
+++ b/games/larn/tok.c
@@ -1,9 +1,9 @@
-/* $OpenBSD: tok.c,v 1.2 1998/09/15 05:12:33 pjanzen Exp $ */
+/* $OpenBSD: tok.c,v 1.3 1999/03/27 03:45:50 pjanzen Exp $ */
/* $NetBSD: tok.c,v 1.5 1997/10/18 20:03:54 christos Exp $ */
/* tok.c Larn is copyrighted 1986 by Noah Morgan. */
#ifndef lint
-static char rcsid[] = "$OpenBSD: tok.c,v 1.2 1998/09/15 05:12:33 pjanzen Exp $";
+static char rcsid[] = "$OpenBSD: tok.c,v 1.3 1999/03/27 03:45:50 pjanzen Exp $";
#endif /* not lint */
#include <sys/types.h>
@@ -63,7 +63,7 @@ yylex()
* finish */
if (fork() == 0) {
savegame(ckpfile);
- exit();
+ exit(0);
}
#endif
@@ -99,6 +99,8 @@ yylex()
clear();/* scrolling region, home, clear, no
* attributes */
if ((ic = fork()) == 0) { /* child */
+ /* revoke */
+ setgid(getgid());
execl("/bin/csh", 0);
exit(1);
}