Commit Graph

1451 Commits

Author SHA1 Message Date
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
elad 444bc3c8be Input validation, from David A. Holland on #NetBSD-code 2006-10-07 18:29:02 +00:00
elad 1232ea27c4 PR/18906: roskens at elfin dot net: misc. select() to poll() updates.
Adapted to -current by myself, thanks for the patch!
2006-10-07 17:27:57 +00:00
jmcneill a6a54c10d8 PR# 4305: [dM] boggle uses very incomplete wordlist. 2006-09-24 01:38:57 +00:00
christos 5e676b6bff PR/34175: Zafer Aydogan: touch the window to cause a refresh after help
Also use CTRL instead of \xxx
2006-08-09 14:29:40 +00:00
hubertf 33a2a79b24 Attribute ``A language that doesn't affect the way you think about
programming is not worth knowing.'' to Alan Perlis, per Diomidis Spinellis'
blog at http://www.spinellis.gr/blog/20060424/
2006-06-24 13:32:45 +00:00
reed 5fe28dc7e5 Fix typo or mispelling. 2006-06-17 04:58:14 +00:00
jnemeth 4ce238c9c6 Increase username length to match modern systems, and create #defines for a
couple of lengths.
2006-06-07 09:36:39 +00:00
jnemeth ca1e1e9c7c Actually accept "?" argument as documented in the manpage.
Don't attempt to ignore an untrappable signal.
Fix 6 possible buffer overflows.
2006-06-07 09:35:03 +00:00
jnemeth c8e9ec4ee2 Don't follow symlinks on systems that have O_NOFOLLOW.
Don't bother looping with lockf() since first iteration would return.
Prevent two buffer overflows.
2006-06-07 09:30:35 +00:00
jnemeth c7bfb55e4e prevent "stack" overflow 2006-06-07 09:24:26 +00:00
jnemeth 29088d6b12 bracket else block 2006-06-07 09:22:52 +00:00
jnemeth f05caa1c39 WARNS=4 2006-06-07 09:21:06 +00:00
drochner 3f13a4cf7b Better check data read from tetris.scores before use as array indices etc.
This is CVE-2006-1539, files against Gentoo Linux, the patch is from
Gentoo.
A standard NetBSD installation is not as much risk because tetris is
sgid "games", and users shouldn't be in that group.
2006-06-01 16:12:27 +00:00
dan f96b430610 read config more strictly, from Maximillian Dornseif 2006-05-25 07:11:54 +00:00
mrg 06b50ed8b9 don't try to switch a char and have a case of EOF - use an int. 2006-05-18 18:42:59 +00:00
christos 2854829efb Remove dup Hitler fortune. One of the two fortunes I moved yesterday, was
already in the offensive set. From a NetBSD fan who prefers to be anonymous.
2006-05-17 14:47:58 +00:00
christos 4440541abb PR/33495: Daniel Weiss: Offensive quote in netbsd fortune package
- Move 2 offensive to women Adolf Hitler quotes to fortune2-o
- s/Adolph/Adolf/
2006-05-16 20:13:50 +00:00
christos bd02d883c4 Add a virtual destructor to avoid "future ABI issues". I love c++. 2006-05-14 06:38:04 +00:00
christos ef47ce8264 add virtual destructors so that g++ shuts up. 2006-05-14 03:21:52 +00:00
christos 939d9a18de Don't use iostream just for the usage message. Use stdio instead. 2006-05-14 03:21:23 +00:00
christos 47169552b3 XXX: GCC uninitialized 2006-05-14 03:15:50 +00:00
christos a108a3f479 Coverity CID 3382: Fix memory leak. 2006-05-13 22:45:11 +00:00
christos 4b679b2a7f Coverity CID 3383: Fix memory leak. 2006-05-13 22:43:02 +00:00
christos dad51bf4f0 Coverity CID 3508: Fix file leak. 2006-05-13 22:29:53 +00:00
christos 2576ae5fca Coverity CID 3269: Fix memory leak. 2006-05-13 22:28:04 +00:00
mrg aadd7d4847 sprinkle some -fno-strict-aliasing and -Wno-pointer-sign with GCC4. 2006-05-11 23:16:28 +00:00
mrg 524d5f27c4 lrint() -> larn_lrint(). 2006-05-11 10:23:24 +00:00
mrg 4bc6feceb6 end the argument list to exec*(3) with a NULL instead of a bare '0', as
the latter isn't a pointer context in these varargs functions.
2006-05-11 00:22:52 +00:00
mrg 8e969ac070 UC, PC and BC are provided my libtermcap, don't duplicate them. 2006-05-11 00:18:31 +00:00
mrg bb1dac937d avoid a pointer sign difference. 2006-05-11 00:17:07 +00:00
mrg 0c37c63edc change (mostly) int to socklen_t. GCC 4 doesn't like that int and
socklen_t are different signness.
2006-05-09 20:18:05 +00:00
groo cdb6398a72 Credit Alan Perlis for ``give him a lollipop'' programming language quote.
Hat tip: Jerry Leichter.
2006-04-26 00:52:21 +00:00
christos 1ce9f4326d Coverity CID 3032: Prevent double free: Next to the call of page_more()
there is a comment saying /* does fclose */, but the next line calls
fclose(fp);. Go figure.
2006-04-24 20:08:54 +00:00
snj a640fe8c43 It's "its." 2006-04-24 19:00:29 +00:00