Commit Graph

998 Commits

Author SHA1 Message Date
jsm
91d0e30d01 Use NULL instead of 0 (from OpenBSD). Also add or adjust comments. 2000-09-24 09:47:22 +00:00
jsm
ac1f171d5b Correct spelling "dont" to "don't". From OpenBSD. 2000-09-24 09:46:57 +00:00
jsm
44c05578b0 Make functions local to parse.c static. 2000-09-24 09:46:28 +00:00
jsm
b40caee28a Give a better message for trying to eat things it doesn't make sense
to eat.  For something eatable, check first whether you're holding it,
then whether you have a knife, then whether you're stuffed (gives
better message for "eat coconuts" when you don't have any).  From
OpenBSD.
2000-09-24 09:46:03 +00:00
jsm
6e6404a77d Clean up fly.c by making local variables and functions static and
removing abs() macro.
2000-09-24 09:44:28 +00:00
jsm
c2a6fb8d9d Prevent CUMBER from going negative; avoid division by zero if it is
zero.
2000-09-24 09:41:53 +00:00
jsm
1b39778596 Attempt to disambiguate BODY for kicking. Avoid crashing or nonsense
messages on "kick door" and "kick man".  From OpenBSD.
2000-09-24 09:39:56 +00:00
jsm
1781c4f837 Allow for bathing goddess in love(); give better message for a lover
that isn't present and for certain choices of lover.  From OpenBSD.
2000-09-23 19:51:02 +00:00
jsm
d2c1d833b2 Allow for the bathing goddess in ravage(). From OpenBSD. 2000-09-23 19:45:07 +00:00
jsm
d3579258c9 Use a lookup table to identify whether objects are plural or singular,
instead of testing the final character against 's' in each place.
Avoids oddities about "pot of jewels" and "compass".
2000-09-23 19:23:57 +00:00
simonb
cd2e1c1e91 Use ${COPY} instead of -c for ${INSTALL} commands. 2000-09-23 13:53:41 +00:00
jhawk
650c1aea1c Correct descriptions of "marked" vs. "ignored" -- they were swapped. 2000-09-23 01:52:50 +00:00
jsm
05ca74ab1c Don't say "Kicked." of an object not present; give sensible messages.
From OpenBSD.
2000-09-22 12:38:10 +00:00
jsm
016903dbdb Check for an object being taken not being there before checking for
whether it is too heavy or too bulky; gives a better message for "take
viper" with the viper not present.
2000-09-22 12:37:32 +00:00
jsm
d67a03db02 Give appropriate messages (rather than saying nothing) if an verb is
used with "all" and nothing relevant is present.  From OpenBSD.
2000-09-22 08:19:57 +00:00
jsm
0f933d0d56 Remove all adjectives in parse(), since they are nowhere used. Fixes
crash on "carry old all" shown up by fuzz testing.  Patch from Paul
Janzen <pjanzen@foatdi.harvard.edu>.
2000-09-22 08:19:21 +00:00
jsm
b283f74760 Give an appropriate error on "kill all" rather than a crash or
nonsense message.  From OpenBSD.
2000-09-22 08:18:20 +00:00
jsm
1fc5d09e80 Various improvements to parsing in battlestar, mostly from OpenBSD.
Define a constant WORDLEN.  Always use this constant and NWORD where
appropriate.

Use NWORD - 1 in battlestar.c to avoid off-by-one error.

Increment wordnumber after the INVEN verb to allow it to be followed
by a comma and other actions.

Avoid overflowing elements of the words array if input words are too
long.

Parse "," as AND except when followed by a verb, to allow such
constructions as "take foo, bar, and baz".  Trim AND AND which may
occur from the ", and" in such a list.

Avoid crashes from EVERYTHING in the wrong place by moving it to the
start of OBJECT AND EVERYTHING and NOUNS AND EVERYTHING sequences, and
trimming EVERYTHING AND EVERYTHING.
2000-09-21 17:44:34 +00:00
jsm
6d1847f667 Don't try to wear anything that isn't OBJECT or NOUNS. Don't try to
wear DOOR or anything without a short description.  Fixes crashes on
"wear knfo" (bug reported by Peter Maydell
<pmaydell@chiark.greenend.org.uk>), "wear wear", "wear kick", "wear
door" and "wear goddess".  Partly from OpenBSD.
2000-09-21 10:38:50 +00:00
jsm
a4454d2982 If no hand-to-hand weapons are available, try using the laser to kill
in murder().  From OpenBSD.
2000-09-21 10:22:36 +00:00
jsm
16d8e9af6f die() on EOF; based on OpenBSD. 2000-09-21 09:49:03 +00:00
jsm
956f5c6ba6 From OpenBSD: in kiss(), "take" the bathing goddess if required, and
give a better error message if the person to kiss is not present.
2000-09-21 09:48:10 +00:00
jsm
ca5dbcecd4 Add missing initialisers (avoid gcc -W warnings) and comments giving
room numbers.
2000-09-18 06:14:31 +00:00
jsm
819ea9d1a6 Clean up formatting; partly from OpenBSD. 2000-09-17 23:04:17 +00:00
jsm
31b523eee5 Patches from OpenBSD: add verbs "open"/"unlock" (essentially a no-op),
and "verbose"/"brief" (in verbose mode, always show long room
descriptions), and synonyms "papaya" for "papayas" and "coconut" for
"coconuts".
2000-09-17 23:03:43 +00:00
jsm
cf35dbffa1 Based on OpenBSD: spelling, punctuation, grammar and line length
adjustments, and support for '=' in room descriptions meaning a
literal '-'.
2000-09-10 10:52:56 +00:00
jsm
3e02203ec6 Wording, punctuation and line length improvements. Also adjust test
for killing nonsensical things to fix crash with "kill door".  From
OpenBSD.
2000-09-10 10:51:16 +00:00
jsm
d71839604a Make spacing nicer and add explicit NULL initializers. 2000-09-09 18:03:58 +00:00
jsm
c6bbb5288d Store copy of username with strdup rather than using a fixed length
buffer.  Also make initialization functions and arrays static.
2000-09-09 09:37:58 +00:00
jsm
ce85e35a32 Put prototypes in alphabetical order. 2000-09-09 09:36:23 +00:00
jsm
a7c82eea02 Spelling and punctuation corrections or improvements from OpenBSD. 2000-09-08 17:25:31 +00:00
jsm
af3dee978f Make code clearer; add a macro ROOMDESC for the number of times a room
should be visited for the short description only to be used, and don't
increment beenthere[position] beyond this value.  From OpenBSD.
2000-09-08 17:22:01 +00:00
jsm
ec240586d1 Manpage improvements based on OpenBSD. 2000-09-08 17:18:36 +00:00
abs
90a84d2445 If we install limerick-o.dat, we should also install limerick-o to make it
usable.
2000-08-17 16:54:28 +00:00
abs
5b783e3f48 Split netbsd fortunes into offensive and non offensive.
Split could be considered somewhat arbitrary.
2000-08-17 16:48:52 +00:00
abs
ad603791f5 NetBSD: A pmap for every occasion 2000-08-17 16:27:38 +00:00
mason
a6cd58daee Corrected quote. It was totally missing its (well-known) equivalent of
a punch line.
2000-08-12 23:04:15 +00:00
simonb
251d3a61d0 Use a local implementation of htonl() called h2nl(). htonl() is not
available in all cross-compile environments.

Patches from Chris Demetriou.
2000-07-31 11:39:00 +00:00
ad
689c315829 Add 3 from me. 2000-07-31 11:38:21 +00:00
simonb
959e90b8fb Don't use <sys/cdefs.h> __COPYRIGHT/__RCSID macros for host programs -
use portable ANSI constructs instead.

Patches from Chris Demetriou.
2000-07-31 11:35:03 +00:00
simonb
38a3de49cd Use a local implementation of htonl() called h2nl(). htonl() is not
available in all cross-compile environments.

Patches from Chris Demetriou.
2000-07-31 11:32:33 +00:00
simonb
11a429897a Don't use <sys/cdefs.h> __COPYRIGHT/__RCSID macros or <err.h> err
function for host programs - use portable ANSI constructs instead.

Patches from Chris Demetriou.
2000-07-31 11:29:48 +00:00
simonb
f221c30583 Don't use <sys/cdefs.h> __COPYRIGHT/__RCSID macros or <err.h> err/warnx
functions for host programs - use portable ANSI constructs instead.

Patches from Chris Demetriou.
2000-07-31 11:28:48 +00:00
simonb
0ac29f6624 Don't use <sys/cdefs.h> __COPYRIGHT/__RCSID macros or <err.h> err/errx
functions for host programs - use portable ANSI constructs instead.

Patches from Chris Demetriou.
2000-07-31 11:25:50 +00:00
mycroft
15b7289f72 Rename move() to moveplayer() to avoid clashing with libcurses. 2000-07-23 23:57:23 +00:00
itojun
d303927592 printf() pedant - do not pass variable alone, use %s.
idea from openbsd.  after looking at freebsd commit msgs from kris@freebsd.
2000-07-10 10:19:25 +00:00
msaitoh
f6f00e2615 remove extra period in SEE ALL section 2000-07-05 15:45:28 +00:00
mjl
d9e9bbbcb4 After weeding out duplicate, modify entry to be mathematically
correct at least. (Yes, both were wrong. People can't integrate
nowadays anymore :)
2000-07-03 18:51:45 +00:00
mjl
217fd277fd Remove duplicate (and incorrect) entry. From Anton Berezin
<tobez@tobez.org> in FreeBSD PR/19670
2000-07-03 17:23:37 +00:00
matt
3233065035 More include additions for exit, abs, strcmp, etc. 2000-07-03 03:57:39 +00:00
mason
caa691ec0a Offered horse brutality to a previously incorrect RHPS quote. 2000-06-30 04:04:09 +00:00
matt
568a487125 Make this produce local objects with .lo suffix. 2000-06-20 16:07:04 +00:00
scw
eaeb39f657 NetBSD: Ports to * boards. 2000-06-14 08:10:06 +00:00
mycroft
72e0a45036 Don't make /var/games/sail here. 2000-06-11 15:37:51 +00:00
jwise
7e7d991f01 Remove one of mine that really wasn't very good, and add:
NetBSD: abandon all hype, oh ye who enter here.
2000-06-07 14:04:45 +00:00
blymn
99bf72c6bb Fix core dump. 2000-05-24 14:43:00 +00:00
blymn
51164fe56a Fix coredump on start. 2000-05-24 14:20:29 +00:00
blymn
494e4c93a6 Converted games to use the new termcap interface. 2000-05-22 12:42:46 +00:00
blymn
cd583077db * Fix termcap handling to use the new interface to avoid buffer
overflows with extended termcap entries.
* Made delay_output use usleep instead of the grungy tgoto hack it had.
2000-05-20 14:01:42 +00:00
hubertf
010dad14ae Fix typo, pointed out by seebs@plethora.net in PR bin/10131. 2000-05-17 02:30:25 +00:00
mycroft
f9eca6973d Use setgid(), not setregid(). 2000-05-08 07:55:59 +00:00
pooka
c528cb8edd NetBSD - because Unix isn't just #include <linux.h>, i386, ELF, ...! 2000-05-02 11:41:24 +00:00
thorpej
64d8df2f33 Cast pointer diffs to long for printing with %ld. 2000-04-27 19:31:23 +00:00
thorpej
29eeaf21f2 Cast pointer difference to long when printing w/ %ld. 2000-04-27 17:49:15 +00:00
jdc
54db2fd199 Clear to end of line on the correct window. 2000-04-27 00:33:49 +00:00
jdc
d6d7f0531f Fix arguments to *printw(). 2000-04-27 00:30:51 +00:00
simonb
47bb19e7b2 While everyone's beating up on rot13 - use 'exec' to loose the shell
process.
2000-04-24 15:42:40 +00:00
perry
29e1592111 $* -> "$@", not that it does anything. yet. 2000-04-24 15:37:32 +00:00
perry
bd513ae4a9 keep it simple. 2000-04-24 15:30:34 +00:00
pk
b63c26a995 HOST_CC -> HOST_LINK.c 2000-04-24 15:15:05 +00:00
hubertf
6afb31ba03 Don't rely upon /usr/games being in PATH, include it explicitly.
Fixes PR 9968 by yyrkoo@imrryr.org.
2000-04-24 13:21:26 +00:00
simonb
48a5c3efa9 Don't declare 'extern opt*' getopt variables. 2000-04-14 05:58:01 +00:00
simonb
915c06c281 Greatly simplify these by using <bsd.hostprog.mk>. Should do the same
for games/hack and games/monop and a few other places, but that requires
making subdirs for the tools.  One day...
2000-04-14 04:12:18 +00:00
simonb
924021df91 Curses works - define USE_CURSES for BSD44 and don't try to do our own
thing (using curses internal data structures anyway!).
2000-04-13 06:07:06 +00:00
soren
7e6625d720 Missing word. From Paul Janzen. 2000-04-11 03:45:40 +00:00
mycroft
1f8979f4f7 Don't insert leading 0s in the score display. (HI CHRISTOS!) 2000-04-09 23:02:52 +00:00
jsm
aec3f4964a Correct capital of the Philippines, allow usual spelling of Jakarta
and prefer the usual name of Cambodia to Khmer.

Problems reported by Robert Vollmert <rvollmert@gmx.net>.
2000-04-09 22:37:40 +00:00
jwise
b0cbfed510 Tyop fix. 2000-04-06 02:19:23 +00:00
jdolecek
8c9b24b9ca Fix two ubiquitous operator precedence error of type
bar = foo + (cond) ? x : y.
Patch sent by John Darrow in bin/9698.
2000-03-30 11:01:13 +00:00
tron
d344de0b31 Use an equal probability single draw algorithm to get card from deck.
Patch supplied by John Darrow in PR bin/9651.
2000-03-28 19:37:54 +00:00
soren
67d5a84c5a Fix doubled 'the'. 2000-03-13 23:57:23 +00:00
soren
89c5a767f8 Fix doubled 'the's. 2000-03-13 22:55:05 +00:00
soren
3872dc30f7 Fix doubled 'the'. 2000-03-13 22:53:22 +00:00
soren
1594850f00 Fix doubled 'the' in comment. 2000-03-13 22:46:59 +00:00
kleink
76073cb333 Include <sys/param.h> for MAXHOSTNAMELEN. 2000-03-02 18:22:31 +00:00
kleink
f48d30b904 POSIX.2: Ignore a null PAGER as well. 2000-03-02 18:19:06 +00:00
enami
0c23f966e9 Fix .Nm usage. 2000-03-02 13:27:53 +00:00
hubertf
4de7a614c7 Fix wrong reference to trek documentation
Submitted in PR bin/9514 by Thilo.Manske@HEH.Uni-Oldenburg.DE
2000-03-01 23:38:51 +00:00
jwise
3626a95b76 fix tyop 2000-02-27 05:40:36 +00:00
pooka
8ef8262b5d NetBSD: We come in peace. We offer reliability.
+ correct a typo
2000-02-15 13:56:02 +00:00
pooka
e287a2d6fa NetBSD: We don't negotiate with terrorists. 2000-02-12 10:12:58 +00:00
itojun
687e7b9dbd avoid failure on "make install" when /var/games/sail already exists. 2000-02-12 10:03:30 +00:00
pooka
e74bc9575e Add Chris Baird's email address per his request 2000-02-10 13:10:43 +00:00
jsm
01be126759 Fix insecure /tmp usage in sail.
Essentially concludes the merge into NetBSD of those changes in the
Linux port of the NetBSD games which it is fairly clear to me should
be so merged.
2000-02-09 22:27:55 +00:00
pooka
022eb906f9 Add NetBSD slogans for fortune database. 2000-02-06 11:59:29 +00:00
jsm
e788ff0231 Don't initialise curses until after the initial non-curses setup (the
choice of scenario uses puts() rather than curses functions).
2000-01-31 11:08:53 +00:00
drochner
32e3df96e2 need an ${.OBJDIR} now 2000-01-25 21:41:18 +00:00
mycroft
615ac255bd More .mk file fallout. *sigh* 2000-01-23 22:10:52 +00:00
mycroft
58b54f196f Get the build ordering right for dependall. 2000-01-23 22:10:22 +00:00
mycroft
a73ccc591a More .mk file fallout. *sigh* 2000-01-23 21:55:44 +00:00
jsm
abf77ff779 Add manpage wargames(6), contributed by Joey Hess <joeyh@kitenet.net>.
No special formatting used for the movie name for now, following
discussion on tech-userlevel suggesting that at present there's
nothing really appropriate.
2000-01-23 21:04:55 +00:00
mycroft
f5d7100e26 Nuke `extern int errno;' in code we compile with -Wstrict-prototypes. We get
the correct definition from errno.h.
2000-01-21 17:08:33 +00:00
jsm
233f519d3d Clean up error reporting in tetris. 2000-01-21 02:10:56 +00:00
jsm
7e681e294b Fix high score table formatting bug.
Bug report and fix from Malcolm Parsons <malcolm@bits.bris.ac.uk>.
2000-01-21 00:54:53 +00:00
jsm
d8d956c46c Improve snscore error handling. 2000-01-21 00:27:03 +00:00
jsm
be7d4de5f0 Report scores as auto-bot or not correctly.
Bug report and fix from Malcolm Parsons <malcolm@bits.bris.ac.uk>.
2000-01-20 13:24:11 +00:00
jsm
5c54ba1b0d Ensure correct prompt asking about another game is given at the end of
each game.

Bug report and fix from Malcolm Parsons <malcolm@bits.bris.ac.uk>.
2000-01-19 19:43:42 +00:00
jsm
a645bf0f29 Typo fix in unknown option message (from Malcolm Parsons
<malcolm@bits.bris.ac.uk>).
2000-01-19 19:19:43 +00:00
jsm
27bcd0d70a Remove definition of __cputchar. 2000-01-19 19:02:27 +00:00
jsm
17cc8f3ce6 Define and use MAXRANDOM instead of LONG_MAX. 2000-01-18 16:12:25 +00:00
jsm
0bd979e6bf Remove unnecessary casts, and add necessary ones for printf arguments. 2000-01-13 16:22:10 +00:00
jsm
f7bce06e2e Change __GCC__ to __GNUC__. 2000-01-13 16:20:27 +00:00
jsm
993c7bf2ac Remove obsolete NO_VOID conditional. 2000-01-13 16:19:36 +00:00
jsm
a5da40c55a Use err(1, NULL) and warn(NULL) for `out of memory' error messages. 2000-01-09 17:17:19 +00:00
jsm
e2dbfa95c5 Declare variables as extern in headers rather than using linker commons. 2000-01-01 10:15:17 +00:00
simonb
d61cb0817b Don't use <err.h>. Use ANSI prototypes (no dependance on the __P()
macro).  Add new fwrite_be_offt() function which writes out a big-endian
64bit number regards of the size of off_t on the host machine.

Also fix ``bug'' in previous - even though the off_t pointers were
stored big-endian, the individual card lenghs were in host-order.  The
cards.pck files are now identical when make on a big- or little-endian
machine.

Now builds a correct cards.pck file on non-NetBSD machines as well
- tested on Ultrix and Solaris (but Solaris needs -lsocket to get
htonl()).
1999-12-30 01:40:08 +00:00
simonb
c3a7361d5d Don't use any NetBSD specific features (<err.h> and friends mainly
- replaiced with local die() and dieperror() routines).  Use ANSI
prototypes (no dependance on the __P() macro).  Add new fwrite_be_offt()
function which writes out a big-endian 64bit number regards of the size
of off_t on the host machine.  Remove unused unctrl() function.

Now builds correct fortune .dat files on non-NetBSD machines as well
- tested on Ultrix and Solaris (but Solaris needs -lsocket to get
htonl()).
1999-12-30 01:32:33 +00:00
simonb
f6c35735cd No need to include <sys/endian.h> here - <sys/types.h> includes
<machine/endian.h> which DTRT.
1999-12-30 01:26:44 +00:00
jsm
73479d22b8 Use separate definitions and extern declarations of variables rather
than linker commons.
1999-12-28 18:05:24 +00:00
jsm
b5df0f4b98 Fix capital of Monaco. It should be Monaco rather than Monte Carlo;
checked with CIA World Factbook.

Problem reported by <capo@writeme.com>.
1999-12-16 14:13:23 +00:00
jsm
b2d99aa2eb Make quiz use POSIX.2 pager handling. 1999-12-16 13:45:48 +00:00
jsm
94964991c0 Print a space character on the tape between each command line argument.
Bug fix from OpenBSD.
1999-12-16 13:38:28 +00:00
mason
75eb02cdfc Removed someone's personal phone number, including area code, from a "if you
want a good time, call ###-###-####" fortune entry.
1999-12-11 19:13:05 +00:00
jsm
49bc28122f Fix a gcc -W warning (empty body in an else-statement). 1999-12-07 23:07:39 +00:00
jsm
f4d432cd46 If the dictionary for boggle does not include words beginning with
every letter, add appropriate index lines.  Problem reported by Mike
Castle <dalgoda@ix.netcom.com> against the Linux port of the NetBSD games
collection.
1999-12-07 07:47:08 +00:00
abs
0e549049f7 Correct wargames quote, and while we are here be a little more selective
when checking if a game is valid (eg: '../../bin/csh')
1999-11-16 17:27:14 +00:00
hubertf
8448f50af7 Do not match non-literals (REs).
A slightly different patch was submitted in PR 8388 by
Antti Kantee <pooka@iki.fi>
1999-11-15 19:14:01 +00:00
drochner
85cbf55d16 Since our gcc doesn't warn about NULL format strings anymore, we can
fix the incorrect err(1, "%s", "") et al.
Closes PR bin/7592 by cgd.
1999-11-09 15:06:30 +00:00
cgd
adefe1f0dd fix handling of '-t' flag, and pause for a little bit after drawing happysnake 1999-10-26 06:38:31 +00:00
cgd
f55171028e correct description of representation of snake 1999-10-26 06:36:53 +00:00
cgd
ec6fa7bcf2 support arrow keys. 1999-10-26 06:35:49 +00:00
lukem
88d3d7c59e update after change to return value of tputs() third argument 1999-10-04 23:26:59 +00:00
jsm
f09b966ba3 Fix error in last namespace change (only relevant #ifdef DEBUG). 1999-10-01 17:06:01 +00:00
jsm
04e5e8fff9 Add more files to FILES section of cribbage.6. 1999-10-01 17:04:42 +00:00
jsm
ce5670f70f Fix uses of namespaces reserved by ISO C or POSIX.1. 1999-09-30 18:01:31 +00:00
jsm
157087a683 Use macro NAMLEN rather than dirent->d_namlen, for easier portability. 1999-09-22 18:56:32 +00:00
jsm
25688c046c Use the function usage(). 1999-09-22 18:55:14 +00:00
jsm
13f44a1f67 Don't include terminal . in argument of err(). 1999-09-22 18:54:42 +00:00
jsm
419fb603c3 Don't include <nlist.h>. 1999-09-22 18:54:03 +00:00
tron
b137d2d602 Remove generated file "limerick-o" in "clean" target. 1999-09-21 16:34:51 +00:00
jsm
8cdc3f1b7f Cleanup and warning fixes for phantasia/setup.c. 1999-09-19 18:14:52 +00:00
jsm
2e57752a37 Allow dm to ban games playing 11pm-midnight.
From OpenBSD.
1999-09-19 18:13:41 +00:00
jsm
d615d2a90e Define variables as BOOLEAN, not bool, where the extern declarations
already use BOOLEAN.
1999-09-19 18:12:09 +00:00
jsm
93789c3665 Further warning fix for mkdict. 1999-09-19 18:10:48 +00:00
jsm
54abf681cb Add alternative style for commands at end of game (#ifdef NEW_STYLE). 1999-09-19 09:42:38 +00:00
jsm
3e35da6e70 Warning cleanup for boggle's mkdict and mkindex. 1999-09-18 20:50:28 +00:00
jsm
20e3305006 Fix -Wsign-compare warnings. 1999-09-18 19:38:46 +00:00
jsm
2dae19bfbc Use strncpy() rather than strcpy() with fixed size buffer. 1999-09-18 16:47:11 +00:00
jsm
e4df5a936a Add missing initialisers. 1999-09-18 16:42:29 +00:00
jsm
c15fcd0e23 Add FALLTHROUGH comment. 1999-09-18 16:41:38 +00:00
jsm
57b9dc499c Give sensible error message in a shouldn't happen case. 1999-09-18 16:40:04 +00:00
jsm
1ce2a7dce3 Make word list for hangman selectable at run time. 1999-09-17 20:45:48 +00:00
jsm
010f0ab865 Convert tetris to use <err.h> functions. 1999-09-17 20:44:51 +00:00
jsm
ba40c8d63d Fix some uses of NULL as non-pointer and 0 for null pointer. 1999-09-17 17:07:11 +00:00
jsm
786fb53653 Use `extern' for header variable declarations in trek(6). 1999-09-17 17:06:08 +00:00
jsm
52c6bf2220 Change quiz `pres' data file to include vice-presidents, and fix some
minor errors.

From OpenBSD.
1999-09-14 20:04:02 +00:00
jsm
4092f192c0 Update pom to the third edition of Duffett-Smith's book, and clean it
up somewhat.  Change time specification format to similar to that used
by date(1) - taking a command line argument in seconds since the Epoch
is silly.  Date parsing based on code from date(1).

Based on work by Paul Janzen for OpenBSD.
1999-09-14 20:00:07 +00:00
jsm
5e8cc984ee Declare variables in extern.h as extern, and add non-extern
declarations to globals.c.
1999-09-14 19:54:47 +00:00
jsm
5b8f738447 Use time() instead of gettimeofday(). 1999-09-14 18:08:46 +00:00
jsm
ddc89b7f91 Convert snake to use curses, and generally clean it up somewhat.
Includes bugfixes from or inspired by OpenBSD.
1999-09-14 18:07:21 +00:00
jsm
533a40974d Make cribbage use the POSIX.2 pager behaviour. 1999-09-13 17:27:36 +00:00
jsm
34d9941aa7 Fix buffer overrun in rogue. 1999-09-13 17:19:55 +00:00
jsm
a1038d000e Fix uses of names of library functions for other purposes. 1999-09-13 17:18:56 +00:00
jsm
7dc5308d13 A couple more checks for file descriptor < 3 missed earlier. 1999-09-13 17:15:42 +00:00
jsm
50ab22237f Remove rogue's old and bit-rotten cut-down version of curses. 1999-09-13 17:14:07 +00:00
hwr
435463f6cb Split limericks into "normal" and "offensive" ones.
Fixes PR 6202 by Matthias Grutzeck <grut@teco.edu>.
1999-09-12 10:15:46 +00:00
hwr
2abe3ab9b5 These fortunes conatain offensive language.
These were originally unamerican.{fake,real}
Part of the work on PR 6202.
1999-09-12 10:06:21 +00:00
hwr
81dda5dccb Moved to unamerican.real-o 1999-09-12 09:57:50 +00:00
hwr
8d799a73e4 Moved to unamerican.fake-o 1999-09-12 09:54:25 +00:00
jsm
5367f3400c Security improvements for games (largely from or inspired by OpenBSD).
Games which run setgid from dm, but don't need to, should drop their
privileges at startup.

Games which have a scorefile should open it at startup, then drop all
privileges leaving just the open writable file descriptor.  If the
game can invoke subprocesses, this should be made close-on-exec.

Games with scorefiles should make sure they do not get a file
descriptor < 3.  (Otherwise, they could get confused and corrupt the
scorefile when using stdin, stdout or stderr.)

Some old setuid revokes from the days of setuid games change into gid
revokes.
1999-09-12 09:02:20 +00:00
kleink
8467923c15 Use STD*_FILENO. 1999-09-10 10:47:56 +00:00
jsm
18c51c04de Check for write errors in auxiliary programs used during build of games. 1999-09-10 00:18:20 +00:00
jsm
68603a9d0e Compare getchar() against EOF, not -1. 1999-09-10 00:16:43 +00:00
jsm
271baf14b4 Fix glitch in const changes (bin/8365 from John.P.Darrow@wheaton.edu). 1999-09-10 00:03:14 +00:00
jsm
2b25de3a90 Include <time.h> in various places in the games where time() or time_t
are used.
1999-09-09 17:30:17 +00:00
jsm
a9c7f9b096 Check for failure of malloc() and calloc() at various places in the games. 1999-09-09 17:27:58 +00:00
simonb
0012c0940d Remove extra blank line in copyright. 1999-09-09 06:30:10 +00:00
jsm
5fb18dd9da Use the symbolic names SEEK_SET' and O_RDONLY' where appropriate in
the games.
1999-09-08 21:57:16 +00:00
jsm
b03d4fa882 Add __noreturn__' and __unused__' attributes where appropriate to
the games.

This merges in all such remaining changes from the Linux port of the
NetBSD games, except in hunt (where substantial changes from OpenBSD
need to be looked at).

Most noreturn attributes were previously added in bin/6144, with some
others that were missed then in bin/8082.  Previous `unused'
attributes were covered in bin/6557, bin/8058 and other PRs (all these
PRs have already been handled and closed).
1999-09-08 21:45:25 +00:00
jsm
092d313019 Add use of `const' where appropriate to the games.
This merges in all such remaining changes from the Linux port of the
NetBSD games, except in hunt (where substantial changes from OpenBSD
need to be looked at).

Some such changes were previously covered in PRs bin/6041, bin/6146,
bin/6148, bin/6150, bin/6151, bin/6580, bin/6660, bin/7993, bin/7994,
bin/8039, bin/8057 and bin/8093.
1999-09-08 21:17:44 +00:00
jsm
44a90d0991 Removed unused array Movenames[]. 1999-09-08 20:43:48 +00:00
simonb
e42b2048d4 Convert to something resembling KNF. 1999-08-21 10:40:03 +00:00
simonb
e28c422151 Instead of writing out a structure that contains pointers as the header
of the card decks file, just write out the number of cards for each
deck.  Also use "off_t" for offsets into the file (that are stored after
the number of cards) instead of "long".
/usr/share/games/cards.pck is now MI.
1999-08-21 09:23:44 +00:00
simonb
87500c939d Use new endian-specific conversion macros - 64-bit off_t's are now
the stored the same regardess of the byte order of the generating
host.

Note in the strfile(8) man page that all fields are big-endian, not
in network byte order.
1999-08-21 07:02:46 +00:00
simonb
ba77c9abaf Don't chown installed files or directories if UNPRIVILEGED is defined.
"make build" should now work as a non-root user (tested on Alpha).
mtree spits out lots of warnings during "make distrib-dirs", but
these are non-fatal.
1999-08-21 06:30:11 +00:00
simonb
b729f2c755 Use ${INSTPRIV} with ${INSTALL}. 1999-08-21 06:27:29 +00:00
hubertf
96651fe764 Make phrase to enter password again clearer 1999-08-18 01:39:16 +00:00
enami
d8ad2663a8 In name section, use .Dq macro rather than writing double quote directly. 1999-08-17 03:36:35 +00:00
simonb
299578ebd5 Spell "privilege" correctly (correct spelling from Jonathan Stone). 1999-08-16 02:59:22 +00:00
tron
7cef41650e Adapt to change of "termcap.h". 1999-08-14 16:38:45 +00:00
tron
b3cf7d7788 Adapt to change in "termcap.h". 1999-08-14 16:36:42 +00:00
tron
679f4a54e3 Adapt to change of "termcap.h". 1999-08-14 16:29:22 +00:00
sommerfeld
7e9fe5fb1e Fix the part of pr8201 which is IMHO a bug: the error message now goes
to stderr.

The existing error message ("I don't know what xxx means") is
unchanged, as it is stylisticly in keeping with the light-hearted
nature of the program, and is also more likely to be accurate than the
"no such acronym" error message proposed in 8201.
1999-08-13 03:02:06 +00:00
hubertf
ead3c28a8d Leave ^Z-handling to the system (curses? no idea, at least it works :-),
and don't wait for two seconds when game is over.
1999-08-10 21:52:43 +00:00
hubertf
2e41cf04d2 Print score after endwin() so it isn't deleted immediately afterward. 1999-08-08 03:08:08 +00:00
simonb
32a44f6987 Revert inclusion of <string.h> now that curses has been fixed. 1999-08-08 02:06:01 +00:00
thorpej
a451d97336 Fortunes from those Unamerican Activities bumper stickers you see on
mountain bikes owned by Gen-X'ers.
1999-08-04 22:45:09 +00:00
thorpej
810b5148c4 Need <strings.h>. 1999-08-04 18:38:12 +00:00
hubertf
a71d955669 This patch converts worms(6) to use curses, thereby
simplifying the code and improving its portability.  It also adds a
delay option from OpenBSD, to allow reasonable speed display on fast
terminals, adds use of const, and fixes signal handling and use of
errx() where appropriate.

Patch supplied in PR 6661 by Joseph Myers <jsm28@cam.ac.uk>.
1999-07-30 02:23:27 +00:00
hubertf
1543eff804 This patch converts rain(6) to use curses, thereby
significantly simplifying the code and improving its portability.  It
also adds a delay option from OpenBSD to make the display go at a
useful speed on fast terminals, and fixes signal handling to make it
reliable.

Patch supplied by Joseph Myers <jsm28@cam.ac.uk> in PR 6659.
1999-07-30 02:14:56 +00:00
hubertf
ef49c17e92 This patch fixes adventure(6) to use `extern' on declarations of
objects in its header file, and to add corresponding definitions to
init.c accordingly.  (See the C standard - relying on linker commons
where there are multiple uninitialised declarations of an object in
the program traditionally works on Unix, but is not standard C.)

The patch also removes a bit-rotten code fragment under #ifdef
OLDSTUFF.

Patch submitted in PR 8105 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-28 23:23:39 +00:00
hubertf
c26f3e09fd This is a trivial fix to backgammon(6): '\a' is cleaner than '\007'.
Submitted in PR 8104 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-28 23:15:51 +00:00
hubertf
18ee317315 This patch makes worm(6) keep the cursor on the head of the worm.
Submitted by Joseph Myers <jsm28@cam.ac.uk> in PR 8103.
1999-07-28 23:09:45 +00:00
hubertf
303b1c7490 This patch adds references to the main punched card, paper tape and
Morse code standards to the bcd(6) manpage (which also serves as the
manpages ppt(6) and morse(6)).

(The only one of these standards I have read is the ECMA-10 paper tape
standard, which is also probably the least readily available, since
ECMA don't supply copies of obsolete standards, though they will
supply printed copies of any or all of their current standards at no
charge.)

Patch submitted in PR 8102 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-28 23:01:59 +00:00
hubertf
062503c344 This patch makes bcd(6) use `const' where appropriate, and use
unsigned char rather than char for values that end up passed to
isascii() and also used as array indices.

Patch submitted by Joseph Myers <jsm28@cam.ac.uk> in PR 8093.
1999-07-28 02:12:33 +00:00
hubertf
d29d591c01 This patch fixes a remaining relic of the backgammon(6) "execute
saved game to continue playing" problem described in bin/6077.

Patch contributed by Joseph Myers <jsm28@cam.ac.uk> in PR 8092.
1999-07-28 02:07:39 +00:00
hubertf
d8b3f85961 In atc(6), the function getAChar() has BSD and SYSV variants to deal
with variations in EINTR behaviour, but the optimisation of using the
BSD version where the SYSV version isn't needed is insignificant.
This patch therefore simplifies the code by making there be just one
version, a more paranoid (about EOF when errno is already EINTR)
version of the SYSV code.  Since the BSD/SYSV defines are mainly used
to control whether BSD timers are used, this helps where BSD timers
but SYSV EINTR handling are wanted.

Patch supplied in PR 8091 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-28 02:01:30 +00:00
hubertf
6c243d931c This patch improves the handling of save files in battlestar(6), by
allowing the user to choose the name of the save file and specify it
on the command line when restoring.  It also eliminates a buffer
overrun in determining the path to the save file, and any particular
arbitrary limit on the name length.  In the name of a tidier home
directory, the default name is changed from "Bstar" to ".Bstar".

Patch supplied in PR 8085 by Joseph Myers <jsm28@cam.ac.uk>
Minor modification (s/startup/filename/ in initialize()) by me.
1999-07-28 01:45:41 +00:00
drochner
b0c1735026 make sure only whole words are matched, use [:space:] RE to avoid embedded
<TAB>s
1999-07-27 15:41:27 +00:00
hubertf
6ec2bcb1c2 Remove empty functin check_adir() and references to it. 1999-07-26 21:14:21 +00:00
hubertf
83d9f5b7e0 This patch adds to backgammon(6) a couple of noreturn attributes
missed in bin/6144.

Patch submitted in PR 8082 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-26 20:56:03 +00:00
hubertf
b8d8fccc22 This patch makes backgammon(6) check that, if you use the -s option to
recover a saved game, then you specify a file name.

Patch submitted in PR 8081 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-26 20:50:44 +00:00
hubertf
79705e8498 This adds a check for memory allocation failure to one place in
backgammon(6).  The use of write(2) for the message may seem odd, but
is used in another place in this game.  (Actually, a lot of
backgammon(6) could do with being substantially cleaned up.)

Patch submitted in PR 8080 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-26 18:39:06 +00:00
briggs
b0412de83c Check whatis(1) if we don't find an acronym matching the argument 1999-07-25 20:29:04 +00:00
thorpej
2464b36e0a We're in section 6. 1999-07-25 20:02:48 +00:00
hubertf
03fc787fb7 This patch marks unused parameters in atc(6) as such.
Patch submitted in PR 8058 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-25 00:24:38 +00:00
hubertf
420d34ff13 Hardcore const poisoning
Patch submitted by Joseph Myers <jsm28@cam.ac.uk> in PR 8057
1999-07-25 00:06:13 +00:00
hubertf
5cfc1e8dc6 This patch makes atc(6) check for memory allocation failure.
Patch submitted by Joseph Myers <jsm28@cam.ac.uk> in PR 8056,
with small enhancement to make clearer when loser() is called
with NULL.
1999-07-24 23:58:15 +00:00
mjl
c5a4ae7a2a Use getopt instead of home grown command line parsing.
Patch from Joseph Myers <jsm28@cam.ac.uk> in PR/8062.
1999-07-24 15:50:44 +00:00
lukem
fb5a2a2eb1 remove sh warning when invoked with no args 1999-07-22 10:08:17 +00:00
mrg
7199fd8f7b add wtf 1999-07-22 01:05:20 +00:00
mrg
3fd868859a Allen Briggs' wtf(6) to grovel the acronyms database. 1999-07-22 01:03:20 +00:00
hubertf
b7e11e5c37 const poisoning
Patch submitted in PR 8039 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-21 13:19:10 +00:00
hubertf
6cc6041b97 When atc(6) parses its game definition files, the check for `width'
being defined more than once incorrectly checks for `height' having
been previously defined instead.

Patch submitted in PR 8038 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-21 13:10:47 +00:00
hubertf
e1c8885621 Drop setgid privs early, via OpenBSD
Reported in PR 5970 by Joseph Myers <jsm@octomino.demon.co.uk>
1999-07-21 04:04:21 +00:00
hubertf
7287839679 Drop setgid privs early. Via OpenBSD, reported in PR 5970 by
Joseph Myers <jsm28@cam.ac.uk>
1999-07-21 04:02:29 +00:00
hubertf
22c39e3b98 Drop setgid privs early; via OpenBSD reported in PR 5970 by
Joseph Myers <jsm28@cam.ac.uk>
1999-07-21 03:59:41 +00:00
hubertf
054e79fedd Drop setgid privileges early. Derived from OpenBSD and sent in as PR 5970
by Joseph Myers <jsm28@cam.ac.uk>.
1999-07-21 03:56:53 +00:00
hubertf
146de2e635 Back out last due to think o on my side: we don't start banner through
dm(6), so there's no setgid privileges to discard. Pointed out by
Joseph S. Myers <jsm28@cam.ac.uk>
1999-07-19 19:07:17 +00:00
hubertf
ccb3350fe4 Drop setgid privs passed from dm(6).
Patch submitted in PR 5945 by Joseph S. Myers <jsm28@cam.ac.uk>
1999-07-19 00:42:59 +00:00
hubertf
3521abbb40 As in previously sent patches: backgammon(6) does not need setgid
games privileges from dm, so should revoke them on startup.

Patch submitteed in PR 8024 bye Joseph Myers <jsm28@cam.ac.uk>
1999-07-19 00:33:58 +00:00
hubertf
aac1ec24ab Adventure(6) should check for errors (e.g. disk full or quota
exceeded) when writing out saved games. Do so!

Patch supplied by Joseph Myers <jsm28@cam.ac.uk> in PR 8016
1999-07-17 20:02:48 +00:00
hubertf
d5f85ed9c9 The patch below improves the security of the game atc(6), by having it
open the score file at the start and then drop all setgid privileges
while keeping a (close-on-exec) file descriptor open to it.  In order
to allow this the static data files have to be made world readable.
In addition a potential buffer overrun with corrupted score files is
avoided by more careful use of scanf (note that SCORE_SCANF_FMT is
defined alongside the definition of the relevant structure).

Submitted in PR 8015 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-17 19:57:03 +00:00
hubertf
fbaff02b26 Add two .Els that nroff was complaining to miss. 1999-07-17 19:48:40 +00:00
hubertf
dceb24647b This patch (a) makes arithmetic(6) revoke any setgid privileges it got
from dm; (b) marks an unused parameter as such.

Submitted in PR 8014 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-17 19:11:30 +00:00
hubertf
adf74b1e92 This patch cleans up the handling of the variable `saved' in
adventure(6).  The handling of this variable is somewhat confusing,
since it is used for two different purposes (controlling the time
required before a saved game can be restored, and controlling various
aspects of dwarf behaviour); in fact, it is also declared twice in
hdr.h.  Except possibly when saving a game fails, these uses can never
interfere; when used for controlling dwarf behaviour, we always have
saved == -1.  This can be better understood with reference to the
original PDP-10 FORTRAN source (URL in patch, since hdr.h references
the comments of the FORTRAN as still relevant to this version) of
which the C version is a direct translation: the wrong value for
`saved' meant that someone was cheating and had bypassed normal
initialisation.  Saving was done by halting and telling the user to
save their core image, so the question of carrying on after saving
failed to open the output file did not arise.

This patch separates the uses of `saved' into uses of two separate
variables.

Closes PR 8005 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-16 01:38:20 +00:00
hubertf
24d3aaa397 Const poisoning.
Patch submitted in PR 7993 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-14 22:52:07 +00:00
hubertf
4502aed41f This patch fixes a -Wcast-qual warning in wump(6).
Submitted in 7994 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-14 22:49:27 +00:00
hubertf
9c8243f4e2 Fix scoring, submitted in PR 7992 by Joseph Myers <jsm28@cam.ac.uk> 1999-07-14 22:46:21 +00:00
hubertf
12a0758a42 From PR 7987 by Joseph Myers <jsm28@cam.ac.uk>:
More battlestar(6) spelling and punctuation fixes for battlestar(6).
These ones come from OpenBSD.
1999-07-14 17:42:13 +00:00
hubertf
148eb780dc This patch makes fish(6) honour PAGER for viewing the instructions.
The detailed behaviour follows POSIX.2.  A similar patch for wump(6)
which was accepted is in bin/6699.  Fish does not need any setgid
privileges it gets from dm, so this patch also moves the gid resetting
earlier.

Reported in PR 7986 by Joseph Myers <jsm28@cam.ac.uk>
1999-07-14 17:30:21 +00:00
hubertf
c1f52f97cd From PR 7988 by Joseph Myers <jsm28@cam.ac.uk>: use the symbolic
name SEEK_SET for values which end up as the third argument of
fseek(), rather than a hard-coded 0.
1999-07-14 17:23:53 +00:00
hubertf
76139748e2 From PR 7985 by Joseph Myers <jsm28@cam.ac.uk>:
games/adventure/setup.c fails to check for errors when writing its
output.  This means that, if the disk fills up at this point during a
build, it would nevertheless fail to return an error status.
1999-07-14 17:21:03 +00:00
sommerfeld
3365b567da man page rewritten into -mandoc by dholland@eecs.harvard.edu; from PR7861 1999-06-27 04:35:42 +00:00
christos
605ec8abd1 Fixi uninit vars warnings. 1999-05-16 00:15:46 +00:00
christos
4cb49d76cc Add missing prototypes 1999-05-16 00:03:35 +00:00
christos
18dfb39e84 Add -A for automatic playing mode.
Make the score file MI
1999-05-15 23:56:35 +00:00
kristerw
8e5038f0a3 Fix Y2K buffer overflow (from OpenBSD). 1999-04-25 19:08:34 +00:00
kristerw
a9a6e776fa Buffer overflow fix (from OpenBSD) 1999-04-24 22:09:06 +00:00
simonb
a2ed16d0dd initscr() returns a pointer, compare return value with NULL and not
an int.
Compatible with other versions of curses.
1999-04-18 03:30:12 +00:00