Commit Graph

1785 Commits

Author SHA1 Message Date
dholland d9fe3edadc Remove two more bogus casts. These *do* create object diffs on amd64,
for no clear reason, but it looks like the diffs are harmless.
2009-07-04 01:44:28 +00:00
dholland 07f4ebf08e Remove bogus casts. Two object file diffs inspected and found to be harmless. 2009-07-04 01:23:55 +00:00
dholland 6ffae66268 Remove a pile of bogus casts. One object file diff, crosschecked and
found harmless.
2009-07-04 01:01:18 +00:00
dholland 165c915b22 Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
2009-06-29 23:05:33 +00:00
dholland 0ed1b742e0 sprintf -> snprintf 2009-06-28 21:12:10 +00:00
dholland 4c08f5f97e Fix possible remote DoS of a running hunt game, and prevent a possible
theoretical attack involving >= 1 billion ammo.
2009-06-28 18:59:37 +00:00
dholland b8c355d789 a bit more const 2009-06-07 21:04:54 +00:00
dholland a7a3b831c7 sprinkle some more const 2009-06-07 20:31:10 +00:00
dholland 8d5216e80d remove unnecessary casts 2009-06-07 20:25:38 +00:00
dholland 907fca1b3e sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
2009-06-07 20:13:18 +00:00
dholland 1fa8a9a633 ANSIfy function declarations. All object file diffs inspected. 2009-06-07 18:30:39 +00:00
dholland a3c372524a Rectify non-compiling code that appears when DEBUG is defined. 2009-06-04 07:01:16 +00:00
dholland a1be1bdddd Set WARNS=4 here. This got missed on my previous WARNS sweep in games.
Everything appears to compile ok with WARNS=4 anyway though.
2009-06-04 06:51:11 +00:00
dholland 99d95061d4 Remove global scratch string buffer. Don't zoom off the end while reading
user input, either.
2009-06-04 06:47:36 +00:00
dholland 60843edfc7 Remove remaining references to sprintf. 2009-06-04 06:41:50 +00:00
dholland b8bb3787da Make a couple of the logging/printing functions printf-alikes. This removes
most of the calls to sprintf.
2009-06-04 06:27:47 +00:00
dholland 04ecbfca8b attribute noreturn -> __dead 2009-06-04 05:52:30 +00:00
dholland 02e6a3b1d0 sprintf -> snprintf 2009-06-04 05:51:12 +00:00
dholland 891dcf008d Increase spending on vowels. No object file diffs. 2009-06-04 05:43:29 +00:00
dholland 881e77fbe7 ANSIfy function declarations.x 2009-06-04 05:27:04 +00:00
dholland 54163608bb sprintf -> snprintf 2009-06-04 04:48:04 +00:00
dholland e5909fd6fe Don't use a variable-size array here. There's not really that much point. 2009-06-01 04:03:26 +00:00
dholland 135a0700ed Rearrange where the alternate definition of __dead goes.
It can't be before "include.h" as that includes a bunch of system headers,
but it can't be after either as it also includes a bunch of local headers.
Therefore, it needs to be *in* include.h.
2009-05-27 17:44:38 +00:00
dholland 4a5716eb31 Edit some. 2009-05-26 01:34:32 +00:00
dholland 1830cfcf79 Assorted fixes (mostly grammar, some markup) from OpenBSD. 2009-05-26 00:58:59 +00:00
dholland bee0eddc6b Paranoia about lengths of login names. From pjanzen of OpenBSD. 2009-05-26 00:30:16 +00:00
dholland 0cf018c12d Avoid SIGSEGV on users not in password file. From pjanzen of OpenBSD. 2009-05-26 00:27:23 +00:00
dholland 2e221153bc sprintf -> snprintf 2009-05-26 00:00:56 +00:00
dholland 951f1a50bf attribute noreturn -> __dead 2009-05-25 23:48:32 +00:00
dholland 18d676539b We don't need a private #define "unsgn" for "unsigned", especially since
it was used exactly once.
2009-05-25 23:44:04 +00:00
dholland 85fc4e7c13 Use the time to call srandom(), not getpid(). 2009-05-25 23:41:23 +00:00
dholland 3a7e6d0da5 KNF/whitespace: format preprocessor directives correctly. 2009-05-25 23:34:50 +00:00
dholland 905e2f95c6 ANSIfy function declarations. Object file diffs checked. 2009-05-25 23:24:54 +00:00
dholland ebb769ae0b sprintf -> snprintf 2009-05-25 23:14:33 +00:00
dholland c7a109cc7b ANSIfy function declarations. Object file diffs cross-checked. 2009-05-25 23:08:45 +00:00
dholland c1d5bd0853 attribute noreturn -> __dead 2009-05-25 22:35:01 +00:00
dholland e32a40eb27 Clean up scorefile handling.
This was writing time_t to disk. Worse, the time_t member was at an
unaligned offset in the structure in question, so after the time_t
change the structure layout depended on compiler-inserted structure
padding. This gives three legacy formats: one with 32-bit time, one
with 64-bit time, and one with 64-bit time and 4 bytes of structure
padding.

And of course the file didn't have a header or version coding or
anything.

The new code writes a structure of well-defined size that should not
receive unexpected padding, and gives the file a header and version
number. It reads that format and any of the three legacy formats,
figuring out which one it's dealing with by inspecting the file
contents. For good measure, it also now handles opposite-endian files,
doesn't bail out unceremoniously unless necessary, and won't croak if
the file is corrupt and e.g. contains unterminated strings.

(Was it worth going to this length? Maybe not. But it didn't seem
right to just leave it, and it's not clear where to stop halfway.)
2009-05-25 08:33:57 +00:00
dholland bbc67e0f7a ANSIfy function declarations.
Some object file diffs, but they are harmless. (Mostly they seem to
come from internal counters in gcc... and in one case the order of two
instructions was harmlessly swapped, which is odd and annoying.)
2009-05-25 04:33:53 +00:00
dholland 8842f79b56 Remove description of -a option and optional log file name, since
neither has done anything in a long long time. Add previously
undocumented -s/-f (slow vs. fast) options, although I question the
utility thereof and suspect they should just be removed.

Bump date (first time since 1993)
2009-05-25 00:53:46 +00:00
dholland b398836923 sprintf -> snprintf 2009-05-25 00:46:01 +00:00
dholland 96ebfddf0f sprintf -> snprintf. 2009-05-25 00:43:34 +00:00
dholland 869c9375c3 "abbreviation" has two Bs. 2009-05-25 00:39:45 +00:00
dholland 3ae4e09ad9 Use random() instead of rand(), so we get something like random
numbers out.

This changes the "tournament codes"; that is, the same code will give
you a different game now from what it used to. (This is because the
codes are basically random seeds.) I really really doubt anyone cares
about this, especially since the tournament feature appears to be
undocumented.
2009-05-25 00:37:27 +00:00
dholland 014e646e3e Remove obviously botched test for "fast mode" based on terminal speed.
Default to "fast mode" as ~nobody has a 300 baud terminal any more.
("Fast mode" apparently controls whether short-range scans are printed
by default at certain times.)
2009-05-25 00:29:08 +00:00
dholland 4d0e1ebeea Use getopt to handle the remaining (all currently undocumented) options. 2009-05-25 00:25:58 +00:00
dholland fdeec4afb6 Remove last traces of undocumented -p option (apparently related to
process priority) and documented -a option, neither of which have
done anything since CSRG days.
2009-05-25 00:20:22 +00:00
dholland 5f12e3fad3 Don't give special privileges to uid 13107. 2009-05-25 00:12:32 +00:00
dholland b9b8495125 __attribute__((__noreturn__)) -> __dead 2009-05-25 00:07:14 +00:00
dholland 01781d3f3f Null for pointers, not 0. 2009-05-25 00:05:56 +00:00
dholland a16adbcbde Fix score printing so columns line up. 2009-05-25 00:03:18 +00:00
dholland db2522cfd8 Abolish cgetc(). It contained one line of code, which was wrong.
Call getchar() directly, and handle EOF properly instead of looping
(in some cases) or pretending that EOF is 0 (which it isn't).
2009-05-24 23:20:22 +00:00
dholland df31a803d8 Remove unnecessary initialization that silenced a compiler warning in 1997. 2009-05-24 23:00:46 +00:00
dholland 3ac047a655 Sprinkle some blank lines for readability. 2009-05-24 22:57:37 +00:00
dholland 61357867d7 Split up lines > 80 chars. Object files unchanged. 2009-05-24 22:55:03 +00:00
dholland fffd2fba77 Don't use literal ^G's in string constants. Use \a. 2009-05-24 21:55:24 +00:00
dholland 50b862e21c KNF: brace and comment placement. Object files identical. 2009-05-24 21:44:56 +00:00
dholland d8016deb30 whitespace 2009-05-24 20:43:09 +00:00
dholland ad04eda0f2 KNF: fix formatting of preprocessor directives 2009-05-24 20:39:43 +00:00
dholland bf0917b6ae ANSIfy function declarations. No object file diffs except for two functions
whose K&R declaration didn't fully match the prototype (char vs. int) and
the diff of the disassembly of those looks plausible.
2009-05-24 19:18:44 +00:00
dholland 783505aca4 KNF. No change to .o file. 2009-05-24 18:22:27 +00:00
ginsbach 37a52c5f7b Change getdate() to getdatestr() since the former maybe present on systems
supporting X/Open System Interfaces Extension (XSI) getdate() in <time.h>.
This prevents a function prototype conflict.
2009-05-06 02:59:12 +00:00
wiz 77c248c29f Remove trailing whitespace. 2009-05-04 20:37:28 +00:00
drochner 0fa7059102 define YY_NO_INPUT where appropriate, from Kurt J. Lidl per PR misc/41160 2009-04-20 16:05:29 +00:00
wiz 6d5f9e9307 Sort sections. 2009-04-12 18:31:47 +00:00
joerg b0c28ab299 Don't nest displays. 2009-04-12 16:58:57 +00:00
joerg fdd399fcf8 Convert to mdoc markup. With input from wiz. 2009-04-12 16:57:02 +00:00
joerg f10218e541 \@ is not a valid escape sequence. 2009-04-09 03:52:54 +00:00
christos 6fb300657f Avoid hardcoded "too large" constant that caused FPE on the vax.
XXX: Should pullup to 5.0
2009-03-31 18:48:16 +00:00
dholland d7038c0ebc Simplify previous; suggested by Paul Goyette 2009-03-15 22:19:23 +00:00
dholland b2008ab5d1 Fix sign-compare problem that crept in due to working from an old tree.
Whoops. won't happen again...
2009-03-15 20:11:24 +00:00
jnemeth fbf3f5b411 grammar fix 2009-03-15 05:44:57 +00:00
dholland 87d1d157b3 Rework curses handling.
The most visible change is that the scrolling buffer of messages now
actually scrolls and keeps history, and you type on the bottom line only.
For now you can page through the history with ^P/^N; that's not ideal but
one can't fix everything all at once.

Use resizeable array code (roughly the same that I floated a while ago
in connection with make) to hold the scroll.
2009-03-15 03:33:56 +00:00
dholland 5368eaecca Move newturn() from pl_7 to pl_2.
pl_7 was mostly curses/display stuff, is going to be all display stuff.
pl_2 is where the main loop lives.
2009-03-15 00:50:47 +00:00
dholland 842019525c Move all curses bits to pl_7.c. 2009-03-15 00:35:42 +00:00
dholland 81060ec63a Fix usage message 2009-03-14 23:51:35 +00:00
dholland cb17dc26ee chdir to /var/games/sail while running, to simplify name handling. 2009-03-14 23:47:18 +00:00
dholland 86056f1213 Don't crosswire the two kinds of path names, and don't croak on
scenario numbers > 99.
2009-03-14 23:12:20 +00:00
dholland 0c94ee2110 Turns out the W_FILE message wasn't ever used. 2009-03-14 22:54:05 +00:00
dholland e544d2b874 Create some abstraction for sending messages.
Make a send and receive function for each possible message.
Make these have useful argument signatures.
Hide the list of message codes inside sync.c.
2009-03-14 22:52:52 +00:00
dholland 32aeef110b Don't use perror() 2009-03-14 20:14:56 +00:00
dholland 2a767ad336 constify the version string 2009-03-14 20:10:43 +00:00
dholland 49bf5e73fa Sprinkle some "bool". And don't use '\0' to mean 'false'. 2009-03-14 20:04:43 +00:00
dholland ac571eb080 Use \a instead of \7 for BEL. 2009-03-14 19:57:14 +00:00
dholland 4c26b16462 Prune a comment referring to objects that (AFAICT) didn't even exist in -r1.1. 2009-03-14 19:55:16 +00:00
dholland 3b67879708 Don't cast the return value of calloc(). 2009-03-14 19:36:42 +00:00
dholland b8c43a1f9c Lines <= 80 chars, remove trailing whitespace, other formatting adjustments.
No functional change.
2009-03-14 19:35:13 +00:00
dholland 9a83480957 Remove some unnecessary casts. 2009-03-14 18:41:21 +00:00
dholland 25e9926383 String buffer cleanup. sprintf bad. 2009-03-14 18:32:47 +00:00
dholland 1bb89ee28f Don't use char for random state variables; use int or bool. 2009-03-14 17:10:01 +00:00
joerg 6ffb688fd8 Fix list markup. Use .Ic for key as suggested by wiz. 2009-03-11 16:37:06 +00:00
joerg aee82d7c52 Fix preamble 2009-03-11 13:06:10 +00:00
joerg a62737a7d9 Remove redundant .br 2009-03-11 13:05:59 +00:00
joerg c173c17186 Fix markup 2009-03-11 13:05:46 +00:00
joerg 25e7748736 Fix preamble 2009-03-11 13:01:49 +00:00
joerg e8103a8e17 Fix markup 2009-03-11 13:00:37 +00:00
dholland 265bf6cfdf sprintf -> snprintf 2009-03-09 04:38:39 +00:00
dholland 6b7874a086 Move HISTORY to proper place. 2009-03-02 10:16:54 +00:00
dholland 442e8c0016 Edit. Sync with reality, at least partway. Bump date. 2009-03-02 10:14:41 +00:00
wiz a14b6c39ff Sort options. End sentence with a dot. 2009-03-02 09:39:10 +00:00
dholland 3a16d1fa6d mdocify. Partly merged from OpenBSD. Not by any means perfect yet. 2009-03-02 09:23:57 +00:00
dholland f521abdfac More fixes from OpenBSD: use err instead of perror, don't hork on EOF
during the initial setup questions.
2009-03-02 07:33:30 +00:00
dholland 53cddab9f9 Check for failure of fgets when reading the captain's name, and don't
allow it to be empty. From OpenBSD.
2009-03-02 07:21:56 +00:00
dholland 51cc47ce79 Use errx() to send fatal error messages. From OpenBSD. 2009-03-02 07:17:24 +00:00
dholland ffb1e863de Use errx/warnx instead of printing to stderr. From OpenBSD. 2009-03-02 06:54:01 +00:00
dholland 96e08ad443 Use err(3) and errx(3), not perror and fprintf to stderr. From OpenBSD. 2009-03-02 06:44:22 +00:00
dholland da767c0864 Braces around a nested if, for clarity; suggested by diffing against OpenBSD. 2009-03-02 06:43:53 +00:00
dholland b34a85f960 Fix bogus conditional caught by today's make. It looks as if MKHIDEGAME
has never worked since it was introduced in 2002... clearly a lot of
people care about that.

It should work now, but because it's evidently never been tested it
may also require setlist adjustments.
2009-01-18 20:22:45 +00:00
tnn f341bbffe8 use %zu to print size_t 2009-01-18 13:30:33 +00:00
lukem c6144e484f fix -Wsign-compare issues 2009-01-18 00:24:29 +00:00
wiz a3fb1878ab Fix fiance/fiancee confusion. Fix another typo.
Jason McIntyre <jmc@kerhand.co.uk>.
2008-12-02 14:21:26 +00:00
wiz 999da72c23 Fix insure -> ensure confusion. From Jason McIntyre <jmc@kerhand.co.uk>. 2008-12-02 14:21:02 +00:00
christos e62c26811d PR/39923: Valery Ushakov: trek(6) can spin, consuming 100% CPU on powerpc
On systems where char is unsigned the number of black holes can end up being
very large (instead of negative).
2008-11-14 21:10:44 +00:00
mrg acc852a217 more MKSHARE == no fixes:
- move installation of atf pkg-config files out of share/atf/
- don't install spell or ching share files
- update some directory entries to not have 'share' tag

now my MKLINT=no MKSHARE=no MKPROFILE=no builds work again.
2008-10-30 21:37:55 +00:00
apb e269763779 Use uint32_t and include <stdint.h>, instead of using u_int32_t
and including <sys/types.h>.
2008-10-19 07:56:42 +00:00
agc c66caa9ca7 Make this build on Mac OS X. 2008-09-29 12:30:12 +00:00
apb 9536f79402 Install unstr:
* in games/fortune/Makefile, add unstr to SUBDIR;
* in games/fortune/unstr/Makefile, include ../../Makefile.inc;
* in games/fortune/strfile/Makefile, add MLINKS for unstr man page;
* in distrib/sets/lists/games/mi, add new files.
2008-09-26 18:56:43 +00:00
apb 520cbbf81f Build strfile both as a host tool and as an installed program:
* in games/fortune/strfile/Makefile, build strfile as a
  regular program instead of as a host tool;
* add tools/strfile directory to build strfile as a host tool;
* in tools/Makefile, add strfile to SUBDIR list;
* in BSD.*.mk, define TOOL_STRFILE variable;
* in games/fortune/datfiles/Makefile, use TOOL_STRFILE when creating
  databases at build time;
* in distrib/sets/lists/games/mi, mention usr/games/strfile.
2008-09-26 18:23:09 +00:00
apb cec0ed4e41 Make this pass WARNS=4:
* u_int32_t -> uint32_t, and remove ifdef test.
* add function prototypes.
2008-09-26 13:46:48 +00:00
gmcgarry 81f725f1e0 Both legs of the conditional operator must return the same type. 2008-08-29 00:37:38 +00:00
gmcgarry 3c9a95916d Wrap compiler-specific flags with HAVE_GCC and HAVE_PCC as necessary. Add a few flags for PCC. 2008-08-29 00:02:21 +00:00
drochner 432ec04420 if initscr() fails, exit with a message rather than crash in the
next curses call
2008-08-08 16:10:47 +00:00
lukem f0bccc0f62 Remove the \n and tabs from the __COPYRIGHT() strings. 2008-07-21 13:24:38 +00:00
lukem 2fe2731d3f Remove the \n and tabs from the __COPYRIGHT() strings. 2008-07-20 00:52:39 +00:00
dholland 16e3bec279 Clarify how one is supposed to use the pointers returned by getutentries()
(the utmpentry.c code), specifically with respect to who owns them and
when to free them. Now they're owned by utmpentry.c, only. Abolish the
freeutentries() function, which was the wrong abstraction; add instead
endutentries(), which flushes out the internally managed memory.

Update callers as necessary. Some (e.g. talkd) had been leaking memory;
others (e.g. syslogd) had been accidentally freeing and reloading utmp
more often than necessary. There are a couple untidy bits in users and
rwhod that someone should look after sometime, maybe.

Fixes PR bin/35131, which was about talkd's memory leak.
2008-07-13 20:07:48 +00:00
gmcgarry 686556951e Add test for HAVE_PCC with HAVE_GCC which turn off compiler warning flags. 2008-07-12 12:29:42 +00:00
mrg c2b95373bf remove clause #3 from my license where there are no other
copyright holders involved.
2008-05-29 14:51:25 +00:00
wiz ac20026091 2-clause my license. 2008-05-08 15:31:07 +00:00
lukem 66176dfdff Rename MKPRIVATELIB to LIBISPRIVATE, to make it clearer that this is
a variable that is used by in-tree Makefiles to control behaviour.
(MKsomevar variables are generally intended to be controlled by the end-user)
2008-05-03 14:48:30 +00:00
martin ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
wiz 9abcd2ffbe Fix a tip: use pkg_info, not pkg_add to find out which executables
belong to a package.
2008-03-25 10:50:34 +00:00
jmmv 442ab2406b Add a tip explaining how to run the tests in /usr/tests. 2008-03-23 19:48:57 +00:00
reed 0b1fe5192d In example, change dd count size and also chmod so others can't read swap. 2008-03-22 14:39:57 +00:00
reed 4be51e0191 Add five more tips. 2008-03-21 21:45:30 +00:00
reed b89951ff87 Add "netbsd-tips" fortune database with 23 initial fortunes --
actually hints or suggestions or tips on using NetBSD.
Please share your brief NetBSD usage tips.
If you want to discuss or share suggestions, have a look
at http://wiki.netbsd.se/netbsd-tips wiki page.
2008-03-21 21:09:48 +00:00
dholland a2e3e41dc6 Don't crash if we're asked to restore from /dev/null. (woops) 2008-02-24 06:12:49 +00:00
dholland 5ec0096cd0 Fix a bit more lint. 2008-02-24 06:07:06 +00:00
dholland c0cbd1abb5 Fix some more lint. (There's plenty to go around.)
If we try to load a game and it bombs, keep prompting for another one,
because if we try to continue with a half-loaded game we'll probably
end up in trouble.
2008-02-24 06:03:35 +00:00
dholland a537df81a5 Don't cast the return value of calloc. 2008-02-24 05:53:33 +00:00
christos dc11f84d61 fix some lint 2008-02-24 03:56:48 +00:00
christos 7cafbb8e59 need errno.h 2008-02-24 03:52:09 +00:00
dholland aab0bc87a0 Update for today's changes: 1-player games are not allowed, and cards.pck
no longer appears.
2008-02-24 03:50:07 +00:00
dholland 8015839b21 Fix the OpenBSD housing shortage code. 2008-02-24 03:26:26 +00:00
dholland 15d2107a88 ret_card(), which I moved earlier, was consequently filed under the wrong
source file name. fix.
2008-02-24 03:01:13 +00:00
dholland ad6f43e622 We do not need special code for pdp11. Also, because random() returns all
good bits (unlike rand()) we can simplify this.
2008-02-24 02:58:33 +00:00
dholland c303095d59 Typo patrol 2008-02-24 02:55:20 +00:00
dholland 295acf7fa6 This file is also no longer used. 2008-02-24 02:53:18 +00:00
dholland 97464386e1 Abolish the initdeck program and the weird little binary file it generates.
The card deck data is now compiled in. (And it always should have been,
even back when memory usage counted. It's small.)

This changes the save format slightly. (I am riding the previous
breakage an hour ago and not providing compat. There should be no
further breakage.)
2008-02-24 02:43:18 +00:00
dholland b51259daf4 Source files should be named *.c or *.h, not random other things.
Fold monop.ext (which was extern data decls) into monop.h and deck.h.
Fold monop.def (which had definitions for the extern data) into monop.c.
Fold brd.dat/mon.dat/prop.dat (which were array initializers for some of
the data) into monop.c.

Rearrange includes accordingly. No functional change.
2008-02-24 01:57:34 +00:00
dholland a6c98779b0 Remove last traces of old save/load code. We no longer need a private
copy of malloc.
2008-02-24 01:41:14 +00:00
dholland 67021c2ac7 Sort out the memory leak fix properly. 2008-02-24 01:37:57 +00:00
dholland fe527d1ba8 New save/load code. Related to (but not the same as) the new save/load
code in OpenBSD.

Note: this breaks compatibility with old save files. However, the old
save files were missing critical information, had a completely insane
format, and didn't work anyway.

I will be riding this breakage with another breakage within a day or
two when I fix the insanity in the card deck handling.
2008-02-24 01:30:56 +00:00
dholland 98e588be9a Fixes from OpenBSD.
- If a player goes bankrupt buying a property (which shouldn't be
allowed, but I guess it is), don't cause them to resign to themselves.
   - Use "NULL", not "0", for pointers.
   - Avoid undefined behavior adjusting the current player after resigning.
   - Don't leak the memory used to store player names.

The last of these is disabled for the moment because we have the pointers
in question tagged const. Will see to this when I'm finished merging.
2008-02-23 22:28:46 +00:00
dholland 693812a822 Fix from OpenBSD: don't say "1 houses". 2008-02-23 22:20:35 +00:00
dholland 4e54ceffce Bug fixes from OpenBSD:
- don't truncate unreasonably long player names when bidding;
   - don't allow players to bid more cash than they have.
2008-02-23 22:17:02 +00:00
dholland 7913f644df Bug fix: having $0 does not mean you need to mortgage something. Plus some
tidyup.
From OpenBSD.
2008-02-23 22:06:30 +00:00
dholland d49f907ead More fixes from OpenBSD:
- initialize in the proper order
  - don't allow 1-player games
  - make the check for players named "done" work properly
  - a couple other minor things
2008-02-23 21:48:46 +00:00
dholland 5ed7a7102f Sanity fixes for input handling. Suggested by OpenBSD, but different code. 2008-02-23 21:35:13 +00:00
dholland 52f0089409 A first stab at supporting the housing shortage rules. From OpenBSD.
(note: this is not fully correct - I will fix it when I finish merging)
2008-02-23 21:07:52 +00:00
dholland c844dfca6b Don't increment booleans. From OpenBSD 2008-02-23 20:18:46 +00:00
dholland ff1acb6483 Sanity fixes for input buffer handling. From OpenBSD 2008-02-23 20:12:15 +00:00
dholland 61715c12c2 Improve the behavior of get-out-of-jail-free cards by returning them to
the bottom of the deck when used. There are still a few other problems.
From OpenBSD.
2008-02-23 19:54:06 +00:00
dholland 82ff30a443 Rename ->last_card to ->top_card to match OpenBSD (and also to make
somewhat more sense...)
2008-02-23 19:49:21 +00:00
dholland 8b5e597afa Move ret_card() to cards.c, where it more rationally belongs. From OpenBSD. 2008-02-23 19:09:00 +00:00
dholland 32e86dd423 A few more whitespace/KNF. I keep hoping I've found them all... 2008-02-20 05:08:46 +00:00
dholland 1958cbf73e Add the sizes to the extern array declarations. This may not be
necessary, but it's safe and reduces unnecessary divergence.
From OpenBSD.
2008-02-20 04:50:12 +00:00
dholland a03fcca33d Use random() rather than rand(). Suggested by diffing against OpenBSD. 2008-02-20 04:48:10 +00:00
dholland 72aa2a5043 Remove unused swap() macro. 2008-02-20 04:10:34 +00:00
dholland fff414b851 Don't misuse random strings as printf formats, even where it's harmless.
Found by diffing against OpenBSD.
2008-02-20 04:10:01 +00:00
dholland b63df5c6e0 One more (hopefully the last) whitespace fix. 2008-02-19 10:48:47 +00:00
dholland 3a2a525c4b getinp() no longer magically treats the prompt arg as a printf format, so
don't escape % as %%. From OpenBSD.
2008-02-19 10:47:40 +00:00
dholland e084c0089c Move function heading comments to something vaguely like the right place. 2008-02-19 10:46:21 +00:00
dholland 16168c2070 KNF/whitespace nits. No functional changes. 2008-02-19 09:45:02 +00:00
dholland eefb74f4dc Fix bugs in debug printouts. From OpenBSD. 2008-02-19 09:34:40 +00:00
dholland c4dc2f9e61 Don't use sprintf; use snprintf. 2008-02-19 09:32:34 +00:00
dholland 0419d05bfc Don't use perror(); use err/warn instead.
Suggested by diffing against OpenBSD.
2008-02-19 09:30:26 +00:00
dholland 98ff506f59 Fix capitalization of street names. from pjanzen@openbsd 2008-02-19 09:28:05 +00:00
dholland a7f37f4351 More typo fixes 2008-02-19 09:25:21 +00:00
dholland b113ea6af6 Fix formatting bug apparently introduced when the page was mdoc'd. (Had
.Nm, should have been .Pp.)

Also bump date; for some reason this hadn't been done since the original
import.
2008-02-19 09:24:43 +00:00
dholland df819b0896 Remove transient thingy that wasn't supposed to see the light of day, and
finish dealing with some local variables that shadow a global. (hi dholland)
2008-02-19 09:05:55 +00:00
dholland 5538b1cced Fix (another) typo in comment 2008-02-19 08:26:10 +00:00
dholland c1dc5a85f2 Fix typo in comment 2008-02-19 08:07:51 +00:00
dholland 591ca18c53 Split some code from moreobj.c into action.c, as per larn 12.2. 2008-02-19 06:05:26 +00:00
he 75194e6a79 Typo correction: s/than/that/ in one instance. 2008-02-15 09:24:52 +00:00
dholland f5334b0815 More assorted cleanup merged from larn 12.2. 2008-02-04 01:07:01 +00:00
dholland c310e89d2d Once upon a time, larn 12.0 had functions named getchar() and putchar()
that conflicted with libc. We changed them to lgetchar() and xputchar()
respectively; larn 12.2 changed them to ttgetch() and ttputch(). After
reflecting on this for a while I've decided to adopt the larn 12.2
names; not so much for compatibility but for consistency going forward.
So, massrename them. Also make ttputch() static.
2008-02-03 21:24:58 +00:00
dholland e87aa9031c Don't create files mode 666 in /var. (The code in question is not enabled
by default, though.)
2008-02-03 20:41:53 +00:00
dholland 5c10491064 Larn does not need its own private versions of functions from <ctype.h>.
Also, remove the function gettokstr(), which is not used. From larn 12.2.
2008-02-03 20:11:04 +00:00
dholland b6e0b3d3c9 A long time ago, larn had code to prohibit playing it during work hours.
Most of this code was removed ages ago, probably when dm(6) was invented;
long before -r1.1 in the NetBSD tree in any event.

Now remove the last fragment of it.

Also nuke the file of US holidays 1987-1993 that we've been carrying
around for no reason.
2008-02-03 20:01:24 +00:00
dholland ef066a156b Some assorted minor cleanups, from larn 12.2. 2008-02-03 19:29:50 +00:00
dholland d7ba3de791 Make a bunch of functions static. Merged from larn 12.2. 2008-02-03 19:20:40 +00:00
dholland ded3829627 Use mkstemp to make the temporary files used when you win. 2008-02-03 03:49:15 +00:00
dholland 511d1e002c Since games are (now) setgid, not setuid, it is no longer necessary to
manipulate the effective uid, only the effective gid.
2008-02-03 03:45:55 +00:00
wiz 1b89543c7f Document -d. 2008-02-03 03:29:17 +00:00
matt c0033b9584 Add a -d flag so that primes will print the difference between the current
prime and the previous prime.  [I needed that for some reason I don't recall
and these changes lying about.  Since they might be useful/interesting to
someone, I might as well as commit them.]
2008-02-02 18:15:14 +00:00
matt 375a7f707b Fix typo: sive -> sieve. 2008-02-02 17:45:05 +00:00
dholland b67b08da79 Pedanticism about time_t (not really a bug, but now it won't show up when
audited.)
2008-01-31 05:22:45 +00:00
dholland d64494c758 Fix y2038 bug: time_t != int. 2008-01-31 05:19:44 +00:00
dholland d4f48e67da Make the default WARNS for games 4. The only game that needs to set WARNS
to anything else now is rogue, so clear WARNS from the other makefiles.
2008-01-28 07:03:58 +00:00
dholland d759c4a5e3 build with WARNS=4 2008-01-28 07:01:01 +00:00
dholland 3c439f438f Make hack build with WARNS=4. 2008-01-28 06:55:41 +00:00
dholland c074bb6654 Make this build with WARNS=4 by not reusing names from <math.h>. 2008-01-28 06:20:15 +00:00
dholland 0f032c1fb8 Make this build with WARNS=4 by not reusing names from ctype.h. 2008-01-28 06:18:23 +00:00
dholland 4e5cdff5fd Make this build with WARNS=4. 2008-01-28 06:16:13 +00:00
dholland 712442be18 make mille build with WARNS=4 2008-01-28 05:55:10 +00:00
dholland 398690b6f4 Call srandom() as well as initializing the private random generator
(which is crappy and should be removed, but that's for another day...)
This way e.g. fortune cookies no longer appear always in the same order.
2008-01-28 05:48:57 +00:00
dholland 9cc7e27481 Larn now builds with WARNS=4. 2008-01-28 05:38:53 +00:00
dholland 3d81345939 Apparently the reason the printf arguments were all wrong is that larn
had its own private and not-quite-standard implementation of printf.
Remove it surgically with a chainsaw.
2008-01-28 04:04:17 +00:00
dholland 8ce4d17196 Add gcc printf format checking, and fix the abundant problems this revealed.
(It appears that someone sometime thought that you use %d to print a long.)
2008-01-28 03:39:30 +00:00
dholland 733dc966d8 clean for WARNS=4 2008-01-28 03:23:29 +00:00
dholland 3bf4735ba0 Work around gcc signedness warning: if you check for uid_t < 0, gcc warns
because it's unsigned, but I don't really want to rely on uid_t being
unsigned on every platform this code might propagate to.
2008-01-28 02:37:50 +00:00
dholland a627b0395f Build with WARNS=4. Sort out the game's shadowing of its own variables,
which fixes at least one bug.
2008-01-28 01:58:01 +00:00
dholland bded8baaa8 Build with WARNS=4. (All fixes are cosmetic, except that it's definitely
bad karma to shadow a local variable with another of the same name in a
nested block...)
2008-01-28 01:38:59 +00:00
dholland 80def703dc Build with WARNS=4. 2008-01-28 01:15:55 +00:00
dholland 68bfa787b0 This builds with WARNS=4; set it in the Makefile so it stays that way. 2008-01-28 01:10:23 +00:00
dholland d463e4dba6 Build with WARNS=4. 2008-01-28 01:06:19 +00:00
he 0d14187892 I'm guessing that there should be no space between the hyphen and
the second word in "hand-lettered".
2008-01-25 13:40:56 +00:00
lukem e26888b7e9 Only pull in <sys/cdefs.h> on NetBSD, to fix build on Solaris 10.
Tweak replacement definition of __dead.
2008-01-16 23:23:25 +00:00
dholland 130a8172b6 ANSIfy. Remove unnecessary casts. Clean up for -Wsign-compare. Make more
things file-static. Other minor tidyups, and fix a couple minor bugs found
along the way.
2008-01-14 03:50:01 +00:00
dholland 23c02a454f Whitespace/KNF nits. 2008-01-14 00:23:51 +00:00
dholland 9f6d905aba Fun with parts of speech: `stupid' here is an adjective, not a noun. 2008-01-03 02:01:26 +00:00
dholland e94a5bc9f9 Comprehensive (or at least extensive) string handling cleanup for rogue.
This patch dates (mostly) back to 2002; the critical parts of it were
handled back then by security-officer. As far as I know, there's
nothing exploitable fixed herein.

A slightly earlier version of this patch was reviewed by Christian Biere
when I filed it as PR 34750.
2007-12-27 23:52:59 +00:00
dogcow 7a14aed5b2 more __dead fallout: these two files are built for the native host, not
for the target host - and thus do not necessarily have __dead defined in
<sys/cdefs.h>.
2007-12-18 08:45:03 +00:00
perry 8b0f9554ff convert __attribute__s to applicable cdefs.h macros 2007-12-15 19:44:37 +00:00
perry 36c7456d7c include sys/cdefs.h so that __attribute__ can be fixed later 2007-12-15 16:32:05 +00:00
dogcow e283c9fc02 A terrible kludge: don't compile/link malloc.c if arch=sun2. My apologies
to the legions of sun2 monop fans who will probably be unable to save/restore
games.
2007-11-17 00:10:55 +00:00
ragge 4d90c6e639 __attribute -> __attribute__ 2007-09-16 18:39:54 +00:00
hubertf e5fa46c791 Teach wtf(6) about pkgsrc's help facility:
% cd /usr/pkgsrc/audio/qsynth
% wtf subst
subst: ===> mk/subst.mk:
# This Makefile fragment implements a general text replacement facility.
...
2007-08-06 21:14:36 +00:00
rillig 54195a73e6 Increased WARNS to 4, since it passes both gcc333 and gcc411 on i386. 2007-06-06 06:10:50 +00:00
tls 4147a3c54a Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry.  RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros.  Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default.  Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
2007-05-28 12:06:17 +00:00
mouse 2609539fc5 Per PR 36185, OKed by martin@ 2007-04-22 02:09:02 +00:00
hubertf b1eaefe397 Xref shuffle(1) from random(6), and vice versa 2007-03-20 16:12:40 +00:00
ad 1458eba0f6 NetBSD JIHBED 2007-02-26 06:49:00 +00:00
ad 7545be4439 NetBSD: Dead on Target
-- Gimpy
2007-02-26 06:30:45 +00:00
hubertf be5e286e64 - Don't call basename $0 at many places. Use variable $PROGNAME
- Better check when neither $ACRONYMDB is define nor files in
   /usr/share/misc/ are found
 - Replace cat | fgrep to using fgrep only
 - Replace sort | uniq to using sort -u

By Slava Semushin <slava.semushin@gmail.com> in private email.
2007-01-24 13:17:42 +00:00
chuck f90603d08a Update my previous commit to better match the original code, including
the check for 'bs'...   my previous commit should have included the
following text:
  fixes problem introduced in 1.13 where the setting of "BC" (backspace char)
  was left to libterm rather than being done by hack itself.  the problem
  with this was that hack was directly setting BC to \b if there was no
  "bc" in the termcap entry, but libterm does not do this.   this resulted in
  the xputs(BC) calls in nocmov() and backsp() incorrectly doing nothing, thus
  messing up the display.  added new var BC_BS to provide the old behavior
  for nocmov() and backsp().
2007-01-17 02:35:28 +00:00
chuck bfec35be7a mrg's changes in 1.13 broke hack's display code. 2007-01-17 02:12:19 +00:00
hubertf 61daec5724 Replve duplicate #includes
From Slava Semushin <slava.semushin@gmail.com>, via private mail
2007-01-17 00:30:23 +00:00
hubertf b4df40b17b - ANSIfy
- Use return instead of exit() in main()
 - Use EXIT_{SUCCESS,FAILURE} constants instead of 0/1

No functional changes. Patch submitted in private mail by
Slava Semushin <slava.semushin@gmail.com>
2007-01-12 22:43:05 +00:00
wiz 2957444796 Fix some typos in ENIAC quote. From Zafer Aydogan and myself. 2006-12-25 18:46:48 +00:00
wiz 9b8796fcbe Spell "tomorrow" correctly. From Zafer Aydogan. 2006-12-25 18:43:03 +00:00
wiz 88306df899 Bump date for previous. Use mdoc macros. 2006-12-23 09:47:30 +00:00
reed 9fdd8e989b Add example of using -w. 2006-12-14 02:29:59 +00:00
wiz 09cb1d6f1c s/existance/existence/, from Zafer. 2006-11-24 22:52:16 +00:00
wiz 6919c6578c s/independant/independent/, from Zafer. 2006-11-24 22:04:21 +00:00
wiz 40d5f88af4 s/exceded/exceeded/, from Zafer. 2006-11-24 21:14:55 +00:00
christos 1665d5e960 fix spelling of accommodate; from Zapher. 2006-11-24 19:46:58 +00:00
christos 3d98aa3f4b fix spelling of accidentally; from Zapher 2006-11-24 19:37:02 +00:00
reed 57c4a8a6b0 Check that -w width is not above maximum. (It already checks for zero or
negative.) Using width above DWIDTH may cause overflow as noted by Gruzicki
Wlodek on bugtraq.

While here replace one use of 132 with DWIDTH.
2006-11-22 16:15:42 +00:00
mrg fd5635ed7a don't discard const. GCC 4.1-20061021 doesn't like that... 2006-10-22 08:09:24 +00:00
elad ac3f498792 Typo, from David A. Holland on #NetBSD-code, thanks! 2006-10-08 20:12:27 +00:00