Home | History | Annotate | only in /src/games/hack
History log of /src/games/hack
RevisionDateAuthorComments
 1.3 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.2 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.1 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.50 22-Sep-2025  christos llvm does not know -Wno-error=restrict, check for what gcc is worried about.
 1.49 18-Sep-2025  mrg introduce a couple of new turn-off-gcc-warning variables and use them.

GCC 14 has a new annoying calloc() checker that we turn off in a bunch
of places, and there are a few more dangling-pointer issuse that come up,
but seem bogus.
 1.48 03-Jun-2023  lukem bsd.own.mk: rename GCC_NO_* to CC_WNO_*

Rename compiler-warning-disable variables from
GCC_NO_warning
to
CC_WNO_warning
where warning is the full warning name as used by the compiler.

GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.47 08-Feb-2020  fox games/hack: Suppress -Werror=stringop-truncation error.

Add GCC_NO_STRINGOP_TRUNCATION to hack.end.c to prevent build failure.

Error was reported when build.sh was run with MKLIBCSANITIZER=yes flag.

Reviewed by: kamil@
 1.46 13-Oct-2019  mrg introduce some common variables for use in GCC warning disables:

GCC_NO_FORMAT_TRUNCATION -Wno-format-truncation (GCC 7/8)
GCC_NO_STRINGOP_TRUNCATION -Wno-stringop-truncation (GCC 8)
GCC_NO_STRINGOP_OVERFLOW -Wno-stringop-overflow (GCC 8)
GCC_NO_CAST_FUNCTION_TYPE -Wno-cast-function-type (GCC 8)

use these to turn off warnings for most GCC-8 complaints. many
of these are false positives, most of the real bugs are already
commited, or are yet to come.


we plan to introduce versions of (some?) of these that use the
"-Wno-error=" form, which still displays the warnings but does
not make it an error, and all of the above will be re-considered
as either being "fix me" (warning still displayed) or "warning
is wrong."
 1.45 24-Aug-2011  plunky branches: 1.45.42;
-Wno-shadow is no longer needed for HAVE_PCC, here
 1.44 16-Aug-2011  christos - document non-literal format strings
- avoid strict aliasing violations, but adding an intermediate function.
 1.43 22-Jun-2011  mrg apply some -Wno-error and/or -fno-strict-aliasing.


all of this should be looked at closer, but some of them are not
very trivial.
 1.42 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.41 29-Aug-2008  gmcgarry Wrap compiler-specific flags with HAVE_GCC and HAVE_PCC as necessary. Add a few flags for PCC.
 1.40 25-Feb-2006  simonb branches: 1.40.20;
Change DPADD from LIBTERM (which doesn't exist) and LIBCOMPAT (which it
doesn't use) to LIBTERMCAP (which it does use).
 1.39 16-Nov-2003  lukem Improve how various "simple" host tools are built and invoked.
 1.38 21-Oct-2003  lukem Rework how MAKEVERBOSE operates:

* Don't bother prefixing commands with a line of ${_MKCMD}\
and instead rely upon "make -s". This is less intrusive on
all the Makefiles than the former. Idea from David Laight.

* Rename the variables use to print messages. The scheme now is:
_MKMSG_FOO Run _MKMSG 'foo'
_MKTARGET_FOO Run _MKMSG_FOO ${.TARGET}
From discussion with Alistair Crooks.
 1.37 19-Oct-2003  lukem rework to use the newer _MKMSGCREATE (et al) macros
 1.36 19-Oct-2003  lukem Support MAKEVERBOSE. (Some host tools still generate verbose runtime messages)
 1.35 01-Aug-2003  lukem Rework how dependency generation is performed:

* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
This is a change of behaviour. If a Makefile wants the clean semantics
it must specifically append to CLEANFILES.
Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS


Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".
 1.34 31-Jul-2003  lukem simplify and use ${DEPENDSRCS} as a target as appropriate
 1.33 05-Mar-2002  thorpej No need to reference .OBJDIR here.
 1.32 09-Feb-2002  lukem use ${INSTALL_FILE} as appropriate
 1.31 23-Sep-2000  simonb Use ${COPY} instead of -c for ${INSTALL} commands.
 1.30 21-Aug-1999  simonb Use ${INSTPRIV} with ${INSTALL}.
 1.29 06-Dec-1998  dbj tweaks to pass DESTDIR to subprograms when it is defined in /etc/mk.conf
but is not in the environment.
 1.28 12-Sep-1998  wrstuden Make the helper programs compile right in a cross-compiling environment.
 1.27 20-Nov-1997  mrg install games files with the correct permissions.
 1.26 20-Nov-1997  mrg install games that need it setgid.
 1.25 22-Oct-1997  lukem use CPPFLAGS instead of CFLAGS, fix dependancies for parallel compile
 1.24 19-Oct-1997  christos branches: 1.24.2;
WARNsify...
 1.23 12-Oct-1997  lukem enable WARNS?=1 by default, & temporarily disable for the few unclean programs
 1.22 07-May-1997  mycroft Use afterinstall, not proginstall, to run post-installation crap.
 1.21 19-Apr-1997  thorpej Allow this to be cross-compiled.
 1.20 27-Mar-1997  mycroft Install the help file again.
 1.19 24-Mar-1997  christos - Makefile cleanups
 1.18 07-Jan-1997  tls Sync to 4.4BSD-Lite2
 1.17 18-Oct-1996  thorpej Use ${INSTALL}.
 1.16 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.15 22-Dec-1994  cgd specify man pages the new way.
 1.14 23-May-1994  cgd need -lcompat
 1.13 10-Feb-1994  cgd kiil bogus install -d's
 1.12 04-Jan-1994  pk Use .OBJDIR for auxiliary programs.
 1.11 02-Dec-1993  mycroft From: Havard Eidnes <Havard.Eidnes@runit.sintef.no>
Fix various permissions problems in /var/games/hackdir, and use `install -d'.
 1.10 08-Nov-1993  cgd use LDSTATIC
 1.9 14-Aug-1993  mycroft Make hack.onames.h be built first.
 1.8 10-Aug-1993  mycroft Add -I. to deal with hack.onames.h, and tweak for cross-compilation.
 1.7 06-Aug-1993  mycroft Remove makedefs when cleaning.
 1.6 06-Aug-1993  mycroft Use `./makedefs'.
 1.5 04-Aug-1993  mycroft Add hack.onames.h to CLEANFILES so it gets removed when cleaning, and to SRCS
so it gets build for depending.
 1.4 01-Aug-1993  mycroft Add RCS identifiers.
 1.3 09-Apr-1993  cgd make sure directory to install stuff exists before installing
 1.2 23-Mar-1993  cgd got rid of unnecessary -lcompat and associated dependency
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3 28-Dec-1996  tls Import from 4.4BSD-Lite2
 1.1.1.2 21-Mar-1995  cgd from Lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.24.2.2 20-Nov-1997  mrg pull up from trunk:
- install games files with the correct permissions.
- install games that need it setgid.
 1.24.2.1 08-Nov-1997  lukem pull up rev 1.25 (approved by thorpej)
 1.40.20.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.45.42.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.45.42.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.2 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.3 24-Nov-2006  wiz s/independant/independent/, from Zafer.
 1.2 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.2 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.9 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.8 17-Jan-2010  wiz Simplify alloc() to avoid ifdef(LINT) workaround.
 1.7 12-Aug-2009  dholland sprinkle static
 1.6 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.11 02-May-2021  rillig games: remove trailing whitespace in *.c and *.h
 1.10 06-Aug-2011  dholland <sys/wait.h> is standard, so just use it instead of fiddling about with
ifdefs for long-dead systems. While here, remove union wait.
 1.9 06-Aug-2011  dholland abolish references to index/rindex
 1.8 06-Aug-2011  dholland Remove the PYRAMID_BUG code. I don't think Pyramids are coming back, nor
do we care if their compiler vomits trying to decrement a bitfield.
 1.7 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.6 16-Jan-2001  cgd comment or delete text after CPP directives.
 1.5 19-Oct-1997  christos WARNsify...
 1.4 29-Mar-1997  thorpej Make these compile on the PowerPC (an unsigned char system).
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.2 28-Mar-2004  snj s/venomenous/venomous/
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8 12-Aug-2009  dholland sprinkle static
 1.7 27-Jan-2004  jsm Remove uses of __P.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.9 16-Aug-2011  christos - document non-literal format strings
- avoid strict aliasing violations, but adding an intermediate function.
 1.8 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.7 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.6 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.5 16-Jan-2001  cgd comment or delete text after CPP directives.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.7 06-Aug-2011  dholland Don't refer to index() in comments; use strchr().
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 16-Jan-2001  cgd comment or delete text after CPP directives.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.19 02-May-2021  rillig games: remove trailing whitespace in *.c and *.h
 1.18 27-Aug-2011  joerg Mark error() as dead, so that validation for setclipped works correctly.
 1.17 26-Aug-2011  dholland Use __dead and __printflike instead of __attribute__.
 1.16 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.15 06-Aug-2011  dholland Remove silly casts.
 1.14 30-May-2011  joerg Use consistent sign in compare, the function is only called with
constants as third argument anyway.
 1.13 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.12 12-Aug-2009  dholland sprinkle static
 1.11 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.10 06-May-2009  ginsbach 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.
 1.9 18-Jan-2009  lukem branches: 1.9.2;
fix -Wsign-compare issues
 1.8 28-Apr-2008  martin branches: 1.8.6; 1.8.8;
Remove clause 3 and 4 from TNF licenses
 1.7 28-Jan-2008  dholland branches: 1.7.4;
Make hack build with WARNS=4.
 1.6 27-Jan-2004  jsm branches: 1.6.16; 1.6.22; 1.6.26;
Remove uses of __P.
 1.5 26-May-2002  wiz __STDC__ is always defined on NetBSD.
 1.4 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.3 05-Feb-2001  christos fix redundant decls and nested externs. while I am here change my copyright
to TNF.
 1.2 04-Oct-1999  lukem update after change to return value of tputs() third argument
 1.1 19-Oct-1997  christos branches: 1.1.6;
WARNsify...
 1.1.6.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.6.22.1 23-Mar-2008  matt sync with HEAD
 1.6.16.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7.4.1 18-May-2008  yamt sync with head.
 1.8.8.1 29-Jun-2009  snj branches: 1.8.8.1.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8.8.1.2.1 21-Apr-2010  matt sync to netbsd-5
 1.8.6.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9.2.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.15 15-Sep-2005  wiz Use standard AUTHORS section header. From YOMURA Masanori in private mail
Sort sections if necessary. Use more/better markup.
 1.14 01-Jun-2004  wiz Grammar fix, from ray at raylai org via jmc@openbsd.
 1.13 27-Jun-2003  wiz Quote question mark.
 1.12 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.11 25-Feb-2003  wiz .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
 1.10 26-Sep-2002  wiz Lots of minor fixes resulting from reading these man pages in detail.
 1.9 26-Sep-2002  wiz New sentences begin on new lines.
Patch from Richard Elz, slightly improved by yours truly.
 1.8 08-Feb-2002  ross Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
 1.7 02-Apr-2001  wiz Whitespace and/or punctuation fixes.
 1.6 07-Nov-2000  lukem remove unnecessary command name after .Nm
 1.5 03-Jul-1995  jtc fix path of mail reader
 1.4 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.3 05-Aug-1993  jtc update to -mandoc macros
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 21-Mar-1995  cgd from Lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8 07-Jun-2009  dholland a bit more const
 1.7 07-Jun-2009  dholland sprinkle some more const
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.13 07-Aug-2011  dholland Fix up some lint.
 1.12 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.11 23-May-2011  joerg Correctly print variables as strings, not as format string.
 1.10 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.9 15-Dec-2007  perry convert __attribute__s to applicable cdefs.h macros
 1.8 27-Jan-2004  jsm branches: 1.8.22;
Remove uses of __P.
 1.7 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.6 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.5 19-Oct-1997  christos WARNsify...
 1.4 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.3 02-Aug-1993  mycroft alloc.c
 1.2 18-Apr-1993  mycroft Cleanup for GCC 2.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 21-Mar-1995  cgd from Lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8.22.1 09-Jan-2008  matt sync with HEAD
 1.9 20-Jul-2011  dholland Include system headers before private headers. Avoids various possible
symbol conflicts.
 1.8 12-Aug-2009  dholland sprinkle static
 1.7 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.12 02-May-2021  rillig games: remove trailing whitespace in *.c and *.h
 1.11 07-Aug-2011  dholland Fix up some lint.
 1.10 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.9 12-Aug-2009  dholland sprinkle static
 1.8 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.7 24-Nov-2006  christos fix spelling of accommodate; from Zapher.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.12 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.11 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.10 12-Aug-2009  dholland sprinkle static
 1.9 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.8 28-Jan-2008  dholland Make hack build with WARNS=4.
 1.7 02-Apr-2003  jsm branches: 1.7.22;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.6 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.5 16-Jan-2001  cgd comment or delete text after CPP directives.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.7.22.1 23-Mar-2008  matt sync with HEAD
 1.11 06-Aug-2011  dholland Remove more silly casts.
 1.10 20-Jul-2011  dholland Include system headers before private headers. Avoids various possible
symbol conflicts.
 1.9 12-Aug-2009  dholland sprinkle static
 1.8 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.7 27-Jan-2004  jsm Remove uses of __P.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.13 07-Aug-2011  dholland Fix up some lint.
 1.12 06-Aug-2011  dholland Remove more silly casts.
 1.11 12-Aug-2009  dholland sprinkle static
 1.10 29-Jun-2009  dholland Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.9 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.7 28-Jan-2008  dholland branches: 1.7.10; 1.7.14;
Make hack build with WARNS=4.
 1.6 02-Apr-2003  jsm branches: 1.6.16; 1.6.22; 1.6.26;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6.26.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.6.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.6.22.1 23-Mar-2008  matt sync with HEAD
 1.6.16.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.6.16.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7.14.2 29-Jun-2009  snj branches: 1.7.14.2.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.7.14.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7.14.2.2.1 21-Apr-2010  matt sync to netbsd-5
 1.7.10.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.7.10.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7 12-Aug-2009  dholland sprinkle static
 1.6 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.12 07-Aug-2011  dholland Fix up some lint.
 1.11 12-Aug-2009  dholland sprinkle static
 1.10 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.9 28-Jan-2008  dholland Make hack build with WARNS=4.
 1.8 30-Mar-2006  jnemeth branches: 1.8.10;
Bah! Compare, don't assign!
 1.7 30-Mar-2006  jnemeth Coverity CID 1326: check for error return
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8.10.1 23-Mar-2008  matt sync with HEAD
 1.13 04-Feb-2019  mrg - done() can return in wizard mode. don't NOTREACHED'd it
but break instead.
 1.12 07-Aug-2011  dholland branches: 1.12.42;
Fix up some lint.
 1.11 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.10 23-May-2011  joerg Correctly print variables as strings, not as format string.
 1.9 12-Aug-2009  dholland sprinkle static
 1.8 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.6 02-Apr-2003  jsm branches: 1.6.16; 1.6.26; 1.6.38; 1.6.42;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6.42.1 29-Jun-2009  snj branches: 1.6.42.1.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.6.42.1.2.1 21-Apr-2010  matt sync to netbsd-5
 1.6.38.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.6.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.6.16.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.12.42.1 10-Jun-2019  christos Sync with HEAD
 1.19 07-Feb-2020  fox games/hack: Revert the strlcpy(1) change since this changes expected behavior from strncpy(3).

Reviewed by: kamil@
 1.18 07-Feb-2020  fox games/hack: Fix -Wstringop-truncation warning.

Replace strncpy(3) with strlcpy(3).

Error was reported when build.sh was run with MKLIBCSANITIZER=yes flag.

Reviewed by: kamil@
 1.17 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.16 06-Aug-2011  dholland Remove more silly casts.
 1.15 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.14 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.13 12-Aug-2009  dholland sprinkle static
 1.12 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.11 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.10 06-May-2009  ginsbach 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.
 1.9 28-Jan-2008  dholland branches: 1.9.10; 1.9.12; 1.9.14;
Make hack build with WARNS=4.
 1.8 15-Dec-2007  perry convert __attribute__s to applicable cdefs.h macros
 1.7 13-May-2006  christos branches: 1.7.4; 1.7.10; 1.7.14;
Coverity CID 3382: Fix memory leak.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.7.14.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7.10.2 23-Mar-2008  matt sync with HEAD
 1.7.10.1 09-Jan-2008  matt sync with HEAD
 1.7.4.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9.14.1 29-Jun-2009  snj branches: 1.9.14.1.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9.14.1.2.1 21-Apr-2010  matt sync to netbsd-5
 1.9.12.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.9.10.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.14 07-Aug-2011  dholland Fix up some lint.
 1.13 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.12 06-Aug-2011  dholland Remove more silly casts.
 1.11 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.10 06-Aug-2011  dholland Remove silly casts.
 1.9 12-Aug-2009  dholland sprinkle static
 1.8 07-Jun-2009  dholland remove unnecessary casts
 1.7 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.12 12-Aug-2009  dholland sprinkle static
 1.11 07-Jun-2009  dholland sprinkle some more const
 1.10 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.8 28-Jan-2008  dholland branches: 1.8.10; 1.8.14;
Make hack build with WARNS=4.
 1.7 29-Mar-2006  jnemeth branches: 1.7.4; 1.7.10; 1.7.14;
Fix Coverity issue 2584 -- USE_AFTER_FREE and issue 889 -- FORWARD_NULL.
Approved by christos@.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.7.14.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7.10.1 23-Mar-2008  matt sync with HEAD
 1.7.4.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8.14.1 29-Jun-2009  snj branches: 1.8.14.1.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8.14.1.2.1 21-Apr-2010  matt sync to netbsd-5
 1.8.10.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.3 16-Sep-2001  wiz Spell 'occurred' with two 'r's.
 1.2 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.16 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.15 06-Aug-2011  dholland abolish references to index/rindex
 1.14 02-Jul-2011  mrg include sys/time.h earlier (rather than implicitly via fcntl.h) so that
the "u" variable doesn't shadow stuff, found later in time.h inlines.

kind of a hack, but i don't want to modify time.h either.

XXX: seems kind of annoying
 1.13 29-Jun-2009  dholland Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.12 07-Jun-2009  dholland a bit more const
 1.11 07-Jun-2009  dholland sprinkle some more const
 1.10 27-Jan-2004  jsm branches: 1.10.16; 1.10.26; 1.10.38; 1.10.42;
Remove uses of __P.
 1.9 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.8 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.7 05-Feb-2001  christos fix redundant decls and nested externs. while I am here change my copyright
to TNF.
 1.6 16-Jan-2001  cgd comment or delete text after CPP directives.
 1.5 03-Jul-2000  matt More include additions for exit, abs, strcmp, etc.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.10.42.1 29-Jun-2009  snj branches: 1.10.42.1.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.10.42.1.2.1 21-Apr-2010  matt sync to netbsd-5
 1.10.38.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.10.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.10.16.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.18 07-Aug-2011  dholland Fix up some lint.
 1.17 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.16 06-Aug-2011  dholland Remove more silly casts.
 1.15 23-May-2011  joerg Correctly print variables as strings, not as format string.
 1.14 12-Aug-2009  dholland sprinkle static
 1.13 29-Jun-2009  dholland Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.12 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.11 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.10 29-Mar-2006  jnemeth branches: 1.10.4; 1.10.14; 1.10.26; 1.10.30;
Fix Coverity issues 2366 and 2365 -- REVERSE_INULL.
Approved by Christos@.
 1.9 27-Jan-2004  jsm Remove uses of __P.
 1.8 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.7 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.6 23-Oct-1997  fair Initialize pointers to NULL to avoid gcc/sparc compiler error
hack.invent.c: In function `dolook':
hack.invent.c:800: warning: `otmp0' might be used uninitialized in this function
hack.invent.c:801: warning: `gold' might be used uninitialized in this function
(this is awfully tiresome - can't we fix gcc?)
 1.5 19-Oct-1997  christos branches: 1.5.2;
WARNsify...
 1.4 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.3 02-Aug-1993  mycroft alloc.c
 1.2 18-Apr-1993  mycroft Cleanup for GCC 2.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 21-Mar-1995  cgd from Lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.5.2.1 23-Oct-1997  mellon Pull rev 1.6 up from trunk
 1.10.30.2 29-Jun-2009  snj branches: 1.10.30.2.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.10.30.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.10.30.2.2.1 21-Apr-2010  matt sync to netbsd-5
 1.10.26.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.10.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.10.14.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.10.14.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.10.4.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.10.4.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.10 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.9 12-Aug-2009  dholland sprinkle static
 1.8 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.7 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.6 19-Oct-1997  christos WARNsify...
 1.5 28-Apr-1995  mycroft Use POSIX tty semantics.
 1.4 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.3 07-Jan-1995  mycroft Don't #include inside a function definition.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.14 06-Aug-2011  dholland Remove *another* set of useless casts. sheesh
 1.13 06-Aug-2011  dholland Remove more silly casts.
 1.12 06-Aug-2011  dholland Remove silly casts.
 1.11 12-Aug-2009  dholland sprinkle static
 1.10 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.9 18-Jan-2009  tnn use %zu to print size_t
 1.8 18-Jan-2009  lukem fix -Wsign-compare issues
 1.7 28-Jan-2008  dholland Make hack build with WARNS=4.
 1.6 02-Apr-2003  jsm branches: 1.6.22;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6.22.1 23-Mar-2008  matt sync with HEAD
 1.17 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.16 23-May-2011  joerg Correctly print variables as strings, not as format string.
 1.15 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.14 12-Aug-2009  dholland sprinkle static
 1.13 29-Jun-2009  dholland Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.12 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.11 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.10 28-Jan-2008  dholland branches: 1.10.10; 1.10.14;
Make hack build with WARNS=4.
 1.9 27-Jan-2004  jsm branches: 1.9.16; 1.9.22; 1.9.26;
Remove uses of __P.
 1.8 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.7 26-May-2002  wiz __STDC__ is always defined on NetBSD.
 1.6 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.5 02-Mar-2000  kleink POSIX.2: Ignore a null PAGER as well.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.9.26.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.9.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9.22.1 23-Mar-2008  matt sync with HEAD
 1.9.16.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.9.16.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.10.14.2 29-Jun-2009  snj branches: 1.10.14.2.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.10.14.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.10.14.2.2.1 21-Apr-2010  matt sync to netbsd-5
 1.10.10.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.10.10.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9 12-Aug-2009  dholland sprinkle static
 1.8 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.7 28-Jan-2008  dholland Make hack build with WARNS=4.
 1.6 02-Apr-2003  jsm branches: 1.6.22;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6.22.1 23-Mar-2008  matt sync with HEAD
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.7 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.9 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.8 12-Aug-2009  dholland sprinkle static
 1.7 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8 12-Aug-2009  dholland sprinkle static
 1.7 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.9 07-Aug-2011  dholland Fix up some lint.
 1.8 12-Aug-2009  dholland sprinkle static
 1.7 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.11 07-Aug-2011  dholland Fix up some lint.
 1.10 12-Aug-2009  dholland sprinkle static
 1.9 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.8 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.7 22-Aug-2002  chuck shops are only supposed to have 1 door (as per standard hack 1.0.3).
for some reason, the version of 1.0.3 that was in the 4.4 lite tree
was modified to allow shops with two doors -- this violates the spirit
of the game. with this diff, we revert back to classic 1.0.3 behavior.
 1.6 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.5 19-Oct-1997  christos WARNsify...
 1.4 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.3 02-Aug-1993  mycroft alloc.c
 1.2 18-Apr-1993  mycroft Cleanup for GCC 2.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 21-Mar-1995  cgd from Lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.14 07-Aug-2011  dholland Fix up some lint.
 1.13 06-Aug-2011  dholland Remove more silly casts.
 1.12 06-Aug-2011  dholland drop private (and wrong) definition of NULL
 1.11 30-May-2011  joerg Use consistent sign in compare, the function is only called with
constants as third argument anyway.
 1.10 12-Aug-2009  dholland sprinkle static
 1.9 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.8 28-Jan-2008  dholland Make hack build with WARNS=4.
 1.7 30-Mar-2006  jnemeth branches: 1.7.10;
Coverity CID 1328: check for error return
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.7.10.1 23-Mar-2008  matt sync with HEAD
 1.7 16-Aug-2011  christos - document non-literal format strings
- avoid strict aliasing violations, but adding an intermediate function.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.15 30-Jul-2023  pho hack(6): Fix a segfault that occurs when ASLR is enabled

Prior to this change, savenames() would store "objects" in save files as a
blob, and restnames() would load it and overwrite "objects". But since
objclass::oc_name and oc_descr are pointers to string constants, they would
be invalid when the next time the process is spawned, and opening the
inventory would crash by dereferencing invalid pointers.
 1.14 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.13 06-Aug-2011  dholland Remove *another* set of useless casts. sheesh
 1.12 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.11 06-Aug-2011  dholland Remove silly casts.
 1.10 12-Aug-2009  dholland sprinkle static
 1.9 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.8 18-Jan-2009  lukem fix -Wsign-compare issues
 1.7 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.6 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.5 19-Oct-1997  christos WARNsify...
 1.4 24-Apr-1995  cgd Various changes to make games compile w/o warnings on the alpha:
Include appropriate includes, delete bogus function declarations,
change sizes of variables and casts.
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.11 07-Aug-2011  dholland Fix up some lint.
 1.10 12-Aug-2009  dholland sprinkle static
 1.9 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.7 28-Jan-2008  dholland branches: 1.7.10; 1.7.14;
Make hack build with WARNS=4.
 1.6 02-Apr-2003  jsm branches: 1.6.16; 1.6.22; 1.6.26;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.6.22.1 23-Mar-2008  matt sync with HEAD
 1.6.16.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7.14.1 29-Jun-2009  snj branches: 1.7.14.1.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7.14.1.2.1 21-Apr-2010  matt sync to netbsd-5
 1.7.10.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.3 04-Aug-1993  mycroft Clean up deleted files.
 1.2 02-Aug-1993  mycroft alloc.c
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.11 23-May-2011  joerg Correctly print variables as strings, not as format string.
 1.10 12-Aug-2009  dholland sprinkle static
 1.9 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.7 01-Jan-2004  jsm branches: 1.7.16; 1.7.26; 1.7.38; 1.7.42;
Refer to 'O' rather than 'o' as command to set options. Bug reported
by Christian Garbs <debian@cgarbs.de> in Debian bug 191452.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 05-Feb-2001  christos fix redundant decls and nested externs. while I am here change my copyright
to TNF.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.7.42.1 29-Jun-2009  snj branches: 1.7.42.1.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7.42.1.2.1 21-Apr-2010  matt sync to netbsd-5
 1.7.38.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7.16.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.21 01-Sep-2011  plunky reinstate NULL cast by request, where the NULL was being passed as a vararg
 1.20 31-Aug-2011  plunky NULL does not need a cast
 1.19 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.18 06-Aug-2011  dholland Remove more silly casts.
 1.17 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.16 06-Aug-2011  dholland <sys/wait.h> is standard, so just use it instead of fiddling about with
ifdefs for long-dead systems. While here, remove union wait.
 1.15 23-May-2011  joerg Correctly print variables as strings, not as format string.
 1.14 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.13 12-Aug-2009  dholland sprinkle static
 1.12 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.11 15-Dec-2007  perry convert __attribute__s to applicable cdefs.h macros
 1.10 24-Apr-2006  christos branches: 1.10.10;
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.
 1.9 02-Apr-2006  christos Coverity CID 2791: Fix file pointer leak.
 1.8 29-Mar-2006  jnemeth Fix Coverity issue 891 -- FORWARD_NULL.
Approved by christos@.
 1.7 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.6 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.5 19-Oct-1997  christos WARNsify...
 1.4 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.3 28-Feb-1995  jtc change <sys/signal.h> to <signal.h>
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.10.10.1 09-Jan-2008  matt sync with HEAD
 1.9 23-May-2011  joerg Correctly print variables as strings, not as format string.
 1.8 12-Aug-2009  dholland sprinkle static
 1.7 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.13 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.12 12-Aug-2009  dholland sprinkle static
 1.11 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.10 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.9 28-Jan-2008  dholland branches: 1.9.10; 1.9.14;
Make hack build with WARNS=4.
 1.8 02-Apr-2003  jsm branches: 1.8.16; 1.8.22; 1.8.26;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.7 26-May-2002  wiz __STDC__ is always defined on NetBSD.
 1.6 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.5 19-Oct-1997  christos WARNsify...
 1.4 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.3 02-Dec-1993  mycroft Don't try to write into a string constant.
Reported by Dan Muntz <dmuntz@eecs.umich.edu>.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8.22.1 23-Mar-2008  matt sync with HEAD
 1.8.16.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9.14.1 29-Jun-2009  snj branches: 1.9.14.1.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9.14.1.2.1 21-Apr-2010  matt sync to netbsd-5
 1.9.10.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.11 06-Aug-2011  dholland Remove more silly casts.
 1.10 12-Aug-2009  dholland sprinkle static
 1.9 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.8 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.7 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.6 05-Feb-2001  christos fix redundant decls and nested externs. while I am here change my copyright
to TNF.
 1.5 30-Aug-1998  veego Add braces to make the new egcs happy.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.12 12-Aug-2009  dholland sprinkle static
 1.11 29-Jun-2009  dholland Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.10 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.8 15-Dec-2007  perry branches: 1.8.10; 1.8.14;
convert __attribute__s to applicable cdefs.h macros
 1.7 02-Apr-2003  jsm branches: 1.7.16; 1.7.22; 1.7.26;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.6 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.5 19-Oct-1997  christos WARNsify...
 1.4 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.3 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.2 20-Apr-1993  mycroft Don't modify string constants.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.7.26.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.7.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7.22.1 09-Jan-2008  matt sync with HEAD
 1.7.16.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.7.16.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8.14.2 29-Jun-2009  snj branches: 1.8.14.2.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.8.14.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8.14.2.2.1 21-Apr-2010  matt sync to netbsd-5
 1.8.10.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.8.10.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.8 23-May-2011  joerg Correctly print variables as strings, not as format string.
 1.7 12-Aug-2009  dholland sprinkle static
 1.6 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.16 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.15 06-Aug-2011  dholland Remove silly casts.
 1.14 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.13 12-Aug-2009  dholland sprinkle static
 1.12 07-Jun-2009  dholland remove unnecessary casts
 1.11 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.10 28-Jan-2008  dholland Make hack build with WARNS=4.
 1.9 15-Dec-2007  perry convert __attribute__s to applicable cdefs.h macros
 1.8 02-Apr-2003  jsm branches: 1.8.22;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.7 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.6 19-Oct-1997  christos WARNsify...
 1.5 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.4 28-Mar-1994  cgd oops
 1.3 28-Mar-1994  cgd bogus lseek extern
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 21-Mar-1995  cgd from Lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8.22.2 23-Mar-2008  matt sync with HEAD
 1.8.22.1 09-Jan-2008  matt sync with HEAD
 1.6 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.3 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.2 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.14 19-Jun-2012  dholland WARNS=5, and make WARNS=5 the default for src/games.
 1.13 07-Aug-2011  dholland branches: 1.13.2;
Fix up some lint.
 1.12 06-Aug-2011  dholland Remove more silly casts.
 1.11 12-Aug-2009  dholland sprinkle static
 1.10 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.8 30-Mar-2006  jnemeth branches: 1.8.4; 1.8.14; 1.8.26; 1.8.30;
Coverity CID 1327: check for error return
 1.7 27-Jan-2004  jsm Remove uses of __P.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8.30.1 29-Jun-2009  snj branches: 1.8.30.1.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8.30.1.2.1 21-Apr-2010  matt sync to netbsd-5
 1.8.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8.14.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8.4.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.13.2.1 30-Oct-2012  yamt sync with head
 1.8 19-Jun-2012  dholland WARNS=5, and make WARNS=5 the default for src/games.
 1.7 12-Aug-2009  dholland branches: 1.7.6;
sprinkle static
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.7.6.1 30-Oct-2012  yamt sync with head
 1.8 06-Aug-2011  dholland Remove more silly casts.
 1.7 12-Aug-2009  dholland sprinkle static
 1.6 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.19 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.18 12-Aug-2009  dholland sprinkle static
 1.17 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.16 28-Jan-2008  dholland Make hack build with WARNS=4.
 1.15 17-Jan-2007  chuck branches: 1.15.4;
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().
 1.14 17-Jan-2007  chuck mrg's changes in 1.13 broke hack's display code.
 1.13 11-May-2006  mrg branches: 1.13.4;
UC, PC and BC are provided my libtermcap, don't duplicate them.
 1.12 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.11 02-Nov-2001  christos Update to the new t_agetstr() API.
 1.10 20-May-2000  blymn * 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.
 1.9 04-Oct-1999  lukem update after change to return value of tputs() third argument
 1.8 14-Aug-1999  tron branches: 1.8.2;
Adapt to change in "termcap.h".
 1.7 19-Oct-1997  christos WARNsify...
 1.6 29-Apr-1995  mycroft Oops. Adjust delay by 10x.
 1.5 29-Apr-1995  mycroft Fix usages of ospeed.
 1.4 24-Apr-1995  cgd Various changes to make games compile w/o warnings on the alpha:
Include appropriate includes, delete bogus function declarations,
change sizes of variables and casts.
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.13.4.1 21-Jan-2007  bouyer Pull up following revision(s) (requested by chuck in ticket #375):
games/hack/hack.termcap.c: revisions 1.14 - 1.15
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().
 1.15.4.1 23-Mar-2008  matt sync with HEAD
 1.3 02-May-2021  rillig games: remove trailing whitespace in *.c and *.h
 1.2 03-Oct-2011  roy Use tiparm instead of vtparm.
 1.1 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.9 23-May-2011  joerg Correctly print variables as strings, not as format string.
 1.8 12-Aug-2009  dholland sprinkle static
 1.7 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.15 22-Sep-2025  christos llvm does not know -Wno-error=restrict, check for what gcc is worried about.
 1.14 06-Aug-2011  dholland Remove more silly casts.
 1.13 06-Aug-2011  dholland Use the right type for the malloc wrapper function, and don't cast the
return value.

(XXX: Except for a pile of allocation macros that produce typed pointer
results; there the typechecking of the result assignment is more valuable
than the warning if the alloc function isn't declared properly. These
macros should go away.)
 1.12 12-Aug-2009  dholland sprinkle static
 1.11 29-Jun-2009  dholland Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.10 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.8 28-Jan-2008  dholland branches: 1.8.10; 1.8.14;
Make hack build with WARNS=4.
 1.7 02-Apr-2003  jsm branches: 1.7.16; 1.7.22; 1.7.26;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.6 26-May-2002  wiz __STDC__ is always defined on NetBSD.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.7.26.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.7.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.7.22.1 23-Mar-2008  matt sync with HEAD
 1.7.16.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.7.16.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8.14.2 29-Jun-2009  snj branches: 1.8.14.2.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.8.14.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8.14.2.2.1 21-Apr-2010  matt sync to netbsd-5
 1.8.10.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.8.10.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.8 12-Aug-2009  dholland sprinkle static
 1.7 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.6 28-Jan-2008  dholland Make hack build with WARNS=4.
 1.5 02-Apr-2003  jsm branches: 1.5.22;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.5.22.1 23-Mar-2008  matt sync with HEAD
 1.10 07-Aug-2011  dholland Fix up some lint.
 1.9 12-Aug-2009  dholland sprinkle static
 1.8 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.7 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.6 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.5 30-Aug-1998  veego Add braces to make the new egcs happy.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.16 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.15 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.14 12-Aug-2009  dholland sprinkle static
 1.13 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.12 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22269, verified by myself.
 1.11 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.10 26-May-2002  wiz __STDC__ is always defined on NetBSD.
 1.9 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.8 05-Feb-2001  christos fix redundant decls and nested externs. while I am here change my copyright
to TNF.
 1.7 10-Jul-2000  itojun printf() pedant - do not pass variable alone, use %s.
idea from openbsd. after looking at freebsd commit msgs from kris@freebsd.
 1.6 19-Oct-1997  christos WARNsify...
 1.5 29-Apr-1995  mycroft Fix usages of ospeed.
 1.4 28-Apr-1995  mycroft Use POSIX tty semantics.
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 01-Aug-1993  mycroft Add RCS identifiers.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 21-Mar-1995  cgd from Lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.13 06-Aug-2011  dholland Remove the PYRAMID_BUG code. I don't think Pyramids are coming back, nor
do we care if their compiler vomits trying to decrement a bitfield.
 1.12 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.11 12-Aug-2009  dholland sprinkle static
 1.10 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.9 28-Jan-2008  dholland Make hack build with WARNS=4.
 1.8 05-Nov-2004  dsl branches: 1.8.16;
Add (unsigned char) cast to ctype functions
 1.7 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.6 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.5 19-Oct-1997  christos WARNsify...
 1.4 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.3 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.2 20-Apr-1993  mycroft Don't modify string constants.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8.16.1 23-Mar-2008  matt sync with HEAD
 1.18 03-Feb-2019  mrg - enlarge buffer to avoid snprintf() truncation
 1.17 01-Sep-2011  plunky branches: 1.17.42;
reinstate NULL cast by request, where the NULL was being passed as a vararg
 1.16 31-Aug-2011  plunky NULL does not need a cast
 1.15 06-Aug-2011  dholland Fix up still more casts; use NULL instead of (char *)0.
 1.14 12-Aug-2009  dholland sprinkle static
 1.13 29-Jun-2009  dholland Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.12 07-Jun-2009  dholland sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.11 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.10 06-May-2009  ginsbach 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.
 1.9 02-Apr-2003  jsm branches: 1.9.16; 1.9.26; 1.9.38; 1.9.40; 1.9.42;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.8 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.7 05-Feb-2001  christos fix redundant decls and nested externs. while I am here change my copyright
to TNF.
 1.6 25-Apr-1999  kristerw Fix Y2K buffer overflow (from OpenBSD).
 1.5 19-Oct-1997  christos branches: 1.5.4;
WARNsify...
 1.4 06-Feb-1996  jtc Removed "extern int errno"; Added #include <errno.h> if not already present.
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.5.4.1 26-Apr-1999  perry pullup 1.5->1.6 (Krister Walfridsson): minor y2k bug
 1.9.42.2 29-Jun-2009  snj branches: 1.9.42.2.2;
Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.9.42.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9.42.2.2.1 21-Apr-2010  matt sync to netbsd-5
 1.9.40.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.9.38.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.unix.c: revision 1.13
games/hack/hack.topl.c: revision 1.11
games/hack/hack.invent.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.main.c: revision 1.13
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.do_name.c: revision 1.10
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.9.38.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #844):
games/hack/hack.fight.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.invent.c: revision 1.12
games/hack/hack.rip.c: revision 1.10
games/hack/hack.options.c: revision 1.9
games/hack/hack.main.c: revision 1.12
games/hack/hack.eat.c: revision 1.8
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.shk.c: revision 1.10
games/hack/hack.end.c: revision 1.12
games/hack/extern.h: revision 1.11
games/hack/hack.pri.c: revision 1.11
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9.26.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.9.26.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.9.16.2 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/hack.do_name.c: revision 1.10
games/hack/hack.h: revision 1.13 via patch
games/hack/hack.invent.c: revision 1.13
games/hack/hack.main.c: revision 1.13
games/hack/hack.rip.c: revision 1.11
games/hack/hack.topl.c: revision 1.11
games/hack/hack.unix.c: revision 1.13
Fix two serious string-handling bugs (one exploitable, one probably
exploitable) and also add proper checking/paranoia in several other
places.
 1.9.16.1 29-Jun-2009  snj Pull up following revision(s) (requested by dholland in ticket #1331):
games/hack/extern.h: revision 1.11
games/hack/hack.do_name.c: revision 1.9
games/hack/hack.eat.c: revision 1.8
games/hack/hack.end.c: revision 1.12 via patch
games/hack/hack.fight.c: revision 1.10 via patch
games/hack/hack.invent.c: revision 1.12
games/hack/hack.main.c: revision 1.12
games/hack/hack.objnam.c: revision 1.9
games/hack/hack.options.c: revision 1.9
games/hack/hack.pri.c: revision 1.11
games/hack/hack.rip.c: revision 1.10
games/hack/hack.shk.c: revision 1.10
games/hack/hack.topl.c: revision 1.10
games/hack/hack.unix.c: revision 1.12
sprintf -> snprintf, plus some use of strlcpy/strlcat where appropriate
XXX: there's still one sprintf left which will take some hacking to expunge.
 1.17.42.1 10-Jun-2019  christos Sync with HEAD
 1.9 16-Aug-2011  christos - document non-literal format strings
- avoid strict aliasing violations, but adding an intermediate function.
 1.8 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.7 27-Jan-2004  jsm Remove uses of __P.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8 02-Jul-2011  mrg rename a variable from "time" to "stime" (it's a string)
 1.7 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.10 07-Aug-2011  dholland Fix up some lint.
 1.9 12-Aug-2009  dholland sprinkle static
 1.8 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.7 28-Jan-2008  dholland Make hack build with WARNS=4.
 1.6 02-Apr-2003  jsm branches: 1.6.22;
Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6.22.1 23-Mar-2008  matt sync with HEAD
 1.9 06-Aug-2011  dholland Remove more silly casts.
 1.8 12-Aug-2009  dholland sprinkle static
 1.7 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.6 13-May-2006  christos Coverity CID 3383: Fix memory leak.
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.7 12-Aug-2009  dholland sprinkle static
 1.6 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.10 02-May-2021  rillig games: remove trailing whitespace in *.c and *.h
 1.9 12-Aug-2009  dholland sprinkle static
 1.8 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.7 27-Jan-2004  jsm Remove uses of __P.
 1.6 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.5 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.2 15-Dec-2002  pooka fix confusion between east and west for y,u,b, and n.

from Soren Jacobsen in misc/19397
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.7 25-Mar-2001  jsm Make mostly gcc -W clean, and other cleanup:
Use const.
Add __noreturn__ attributes.
Add a __format__ attribute.
Add __unused__ attributes.
Use symbolic constants for open() and lseek().
Declare types of all function parameters; convert some function
definitions to ISO C form.
Ensure standard file descriptors are open on startup.
Check for errors writing output of makedefs.
Avoid duplicate definitions of variables.
 1.6 31-Jul-2000  simonb Don't use <sys/cdefs.h> __COPYRIGHT/__RCSID macros for host programs -
use portable ANSI constructs instead.

Patches from Chris Demetriou.
 1.5 19-Oct-1997  christos WARNsify...
 1.4 24-Apr-1995  cgd Various changes to make games compile w/o warnings on the alpha:
Include appropriate includes, delete bogus function declarations,
change sizes of variables and casts.
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.4 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22269, verified by myself.
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 01-Aug-1993  mycroft Add RCS identifiers.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 21-Mar-1995  cgd from Lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6 07-Jun-2009  dholland ANSIfy function declarations. All object file diffs inspected.
 1.5 02-Apr-2003  jsm Hack is now BSD-licensed. Thanks to Andries Brouwer, Jay Fenlason and
CWI <http://www.cwi.nl/~aeb/games/hack/hack.html>. Via OpenBSD.
Addresses part of PR bin/5850.
 1.4 19-Oct-1997  christos WARNsify...
 1.3 23-Mar-1995  cgd merge with Lite, new RCS id conventions, etc.
 1.2 02-Aug-1993  mycroft Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.3 18-Oct-2014  snj 1) "It's its"
2) Whitespace
3) You're all too old to be confusing "your" with "you're"
 1.2 28-Mar-2004  snj s/feal/feel/
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources

RSS XML Feed