History log of /openbsd-current/games/hack/hack.main.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.26 06-Sep-2023 jsg

remove uneeded function decls
ok tb@


# 1.25 03-Jun-2023 op

drop `uptodate()' check from hack(6)

hack(6) scrapes $PATH to find its executable and compare the mtime to
the save file and bone file. If the game is newer than those, they're
not loaded.

Drop this feature. /usr/games is not in the default $PATH anymore, and
the format for those file didn't change since the import.

Diff from Anton Konyahin (me [at] konyahin [dot] xyz)


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.24 28-Jun-2019 deraadt

When system calls indicate an error they return -1, not some arbitrary
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.


Revision tags: OPENBSD_6_5_BASE
# 1.23 05-Apr-2019 bentley

Fix hack(6).

- Write savegames and scorefiles to the current directory instead of /var
- Save oc_name and oc_descr alongside oc_uname in all situations
- When a levitation potion times out, explicitly float down

These patches were contributed last year by "tonypony76"; thanks!

ok deraadt@, with added enthusiasm from tedu@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.22 09-Jan-2016 mestre

Remove several casts to (char *) 0 and replace them by NULL

Prompted and OK by tb@


# 1.21 09-Jan-2016 mestre

This diff is rather large, but it's just simply removing unnecessary headers
, remove some lint-style comments, add missing void to functions without args,
also some function prototypes (extern) were missing their args, so I added them
as they were defined in hack.h

OK tb@ on separate diffs


# 1.20 07-Jan-2016 tb

Some basic code maintenance in games/

- in main() replace exit with return
- drop some /* NOTREACHED */ lint comments along the way.
- make more use of standard CFLAGS, esp. -Wimplicit-function-declaration
- add and sort some headers when needed
- add straightforward pledges to some programs used at compile time

discussed with and ok mestre@


# 1.19 16-Dec-2015 tb

Use __progname instead of hand-rolled parsing of argv[0].
Inspired by similar diffs by tobias@ and millert@.

"I like the concept" pjanzen@
ok tedu@


# 1.18 04-Nov-2015 tedu

replace setbuf with setvbuf, from Frederic Nowak


# 1.17 27-Sep-2015 guenther

Annotate funcs with __attribute__((printf(...))) and clean up the fallout:
* lots of foo(str) --> foo("%s", str) transformations
* one totally insane foo(fmt, ap) --> vfoo(fmt, ap) conversion: how did
this ever work?
* prefer const char[] over char* for static format strings, as it lets
gcc check the format and eliminates an unnecessary pointer

ok beck@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.16 08-Dec-2014 deraadt

For now, these games still contain deterministic randomization (for
save / replay modes of operation that have not yet been cleaned up).
OK, I've let the cat out of the bag, now some of you know you can cheat
at them..
ok millert guenther tedu


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.15 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.14 01-May-2005 djm

use setresgid() to drop privs, it is simply a better and less ambiguous API;
ok deraadt@ and millert@ a while ago, more to come


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.13 06-Jul-2003 avsm

convert a bunch of strn{cpy,cat}->strl{cpy,cat}
pjanzen@ ok


# 1.12 19-May-2003 pjanzen

De-register, ANSIfy, clean up.


# 1.11 07-May-2003 tdeval

Major strings rework. Ok pjanzen@


# 1.10 06-Apr-2003 deraadt

2451 lines of strdup/sprintf/strcpy whacking. mostly ok'd by pjanzen
already, but he may have later changes to make still.


Revision tags: OPENBSD_3_3_BASE
# 1.9 16-Mar-2003 camield

hack is free

Thanks to Andries Brouwer, Jay Fenlason and the folks at CWI for their
efforts.

http://www.cwi.nl/~aeb/games/hack/hack.html

ok deraadt@


Revision tags: OPENBSD_3_2_BASE
# 1.8 23-Jun-2002 deraadt

uid_t and gid_t are unsigned


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE
# 1.7 28-Jan-2001 niklas

$OpenBSD$


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.6 16-Aug-1999 millert

use O_* defines for open(2) flags and include fcntl.h


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.5 28-Mar-1997 tholo

Set umask so save files are writeable by hack


# 1.4 17-Jan-1997 millert

r?index -> strr?chr


# 1.3 22-Dec-1996 deraadt

proper gid revoke


# 1.2 26-Oct-1996 millert

prefer $LOGNAME over $USER. fix strncpy() usage.


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.25 03-Jun-2023 op

drop `uptodate()' check from hack(6)

hack(6) scrapes $PATH to find its executable and compare the mtime to
the save file and bone file. If the game is newer than those, they're
not loaded.

Drop this feature. /usr/games is not in the default $PATH anymore, and
the format for those file didn't change since the import.

Diff from Anton Konyahin (me [at] konyahin [dot] xyz)


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.24 28-Jun-2019 deraadt

When system calls indicate an error they return -1, not some arbitrary
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.


Revision tags: OPENBSD_6_5_BASE
# 1.23 05-Apr-2019 bentley

Fix hack(6).

- Write savegames and scorefiles to the current directory instead of /var
- Save oc_name and oc_descr alongside oc_uname in all situations
- When a levitation potion times out, explicitly float down

These patches were contributed last year by "tonypony76"; thanks!

ok deraadt@, with added enthusiasm from tedu@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.22 09-Jan-2016 mestre

Remove several casts to (char *) 0 and replace them by NULL

Prompted and OK by tb@


# 1.21 09-Jan-2016 mestre

This diff is rather large, but it's just simply removing unnecessary headers
, remove some lint-style comments, add missing void to functions without args,
also some function prototypes (extern) were missing their args, so I added them
as they were defined in hack.h

OK tb@ on separate diffs


# 1.20 07-Jan-2016 tb

Some basic code maintenance in games/

- in main() replace exit with return
- drop some /* NOTREACHED */ lint comments along the way.
- make more use of standard CFLAGS, esp. -Wimplicit-function-declaration
- add and sort some headers when needed
- add straightforward pledges to some programs used at compile time

discussed with and ok mestre@


# 1.19 16-Dec-2015 tb

Use __progname instead of hand-rolled parsing of argv[0].
Inspired by similar diffs by tobias@ and millert@.

"I like the concept" pjanzen@
ok tedu@


# 1.18 04-Nov-2015 tedu

replace setbuf with setvbuf, from Frederic Nowak


# 1.17 27-Sep-2015 guenther

Annotate funcs with __attribute__((printf(...))) and clean up the fallout:
* lots of foo(str) --> foo("%s", str) transformations
* one totally insane foo(fmt, ap) --> vfoo(fmt, ap) conversion: how did
this ever work?
* prefer const char[] over char* for static format strings, as it lets
gcc check the format and eliminates an unnecessary pointer

ok beck@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.16 08-Dec-2014 deraadt

For now, these games still contain deterministic randomization (for
save / replay modes of operation that have not yet been cleaned up).
OK, I've let the cat out of the bag, now some of you know you can cheat
at them..
ok millert guenther tedu


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.15 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.14 01-May-2005 djm

use setresgid() to drop privs, it is simply a better and less ambiguous API;
ok deraadt@ and millert@ a while ago, more to come


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.13 06-Jul-2003 avsm

convert a bunch of strn{cpy,cat}->strl{cpy,cat}
pjanzen@ ok


# 1.12 19-May-2003 pjanzen

De-register, ANSIfy, clean up.


# 1.11 07-May-2003 tdeval

Major strings rework. Ok pjanzen@


# 1.10 06-Apr-2003 deraadt

2451 lines of strdup/sprintf/strcpy whacking. mostly ok'd by pjanzen
already, but he may have later changes to make still.


Revision tags: OPENBSD_3_3_BASE
# 1.9 16-Mar-2003 camield

hack is free

Thanks to Andries Brouwer, Jay Fenlason and the folks at CWI for their
efforts.

http://www.cwi.nl/~aeb/games/hack/hack.html

ok deraadt@


Revision tags: OPENBSD_3_2_BASE
# 1.8 23-Jun-2002 deraadt

uid_t and gid_t are unsigned


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE
# 1.7 28-Jan-2001 niklas

$OpenBSD$


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.6 16-Aug-1999 millert

use O_* defines for open(2) flags and include fcntl.h


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.5 28-Mar-1997 tholo

Set umask so save files are writeable by hack


# 1.4 17-Jan-1997 millert

r?index -> strr?chr


# 1.3 22-Dec-1996 deraadt

proper gid revoke


# 1.2 26-Oct-1996 millert

prefer $LOGNAME over $USER. fix strncpy() usage.


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.24 28-Jun-2019 deraadt

When system calls indicate an error they return -1, not some arbitrary
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.


Revision tags: OPENBSD_6_5_BASE
# 1.23 05-Apr-2019 bentley

Fix hack(6).

- Write savegames and scorefiles to the current directory instead of /var
- Save oc_name and oc_descr alongside oc_uname in all situations
- When a levitation potion times out, explicitly float down

These patches were contributed last year by "tonypony76"; thanks!

ok deraadt@, with added enthusiasm from tedu@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.22 09-Jan-2016 mestre

Remove several casts to (char *) 0 and replace them by NULL

Prompted and OK by tb@


# 1.21 09-Jan-2016 mestre

This diff is rather large, but it's just simply removing unnecessary headers
, remove some lint-style comments, add missing void to functions without args,
also some function prototypes (extern) were missing their args, so I added them
as they were defined in hack.h

OK tb@ on separate diffs


# 1.20 07-Jan-2016 tb

Some basic code maintenance in games/

- in main() replace exit with return
- drop some /* NOTREACHED */ lint comments along the way.
- make more use of standard CFLAGS, esp. -Wimplicit-function-declaration
- add and sort some headers when needed
- add straightforward pledges to some programs used at compile time

discussed with and ok mestre@


# 1.19 16-Dec-2015 tb

Use __progname instead of hand-rolled parsing of argv[0].
Inspired by similar diffs by tobias@ and millert@.

"I like the concept" pjanzen@
ok tedu@


# 1.18 04-Nov-2015 tedu

replace setbuf with setvbuf, from Frederic Nowak


# 1.17 27-Sep-2015 guenther

Annotate funcs with __attribute__((printf(...))) and clean up the fallout:
* lots of foo(str) --> foo("%s", str) transformations
* one totally insane foo(fmt, ap) --> vfoo(fmt, ap) conversion: how did
this ever work?
* prefer const char[] over char* for static format strings, as it lets
gcc check the format and eliminates an unnecessary pointer

ok beck@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.16 08-Dec-2014 deraadt

For now, these games still contain deterministic randomization (for
save / replay modes of operation that have not yet been cleaned up).
OK, I've let the cat out of the bag, now some of you know you can cheat
at them..
ok millert guenther tedu


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.15 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.14 01-May-2005 djm

use setresgid() to drop privs, it is simply a better and less ambiguous API;
ok deraadt@ and millert@ a while ago, more to come


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.13 06-Jul-2003 avsm

convert a bunch of strn{cpy,cat}->strl{cpy,cat}
pjanzen@ ok


# 1.12 19-May-2003 pjanzen

De-register, ANSIfy, clean up.


# 1.11 07-May-2003 tdeval

Major strings rework. Ok pjanzen@


# 1.10 06-Apr-2003 deraadt

2451 lines of strdup/sprintf/strcpy whacking. mostly ok'd by pjanzen
already, but he may have later changes to make still.


Revision tags: OPENBSD_3_3_BASE
# 1.9 16-Mar-2003 camield

hack is free

Thanks to Andries Brouwer, Jay Fenlason and the folks at CWI for their
efforts.

http://www.cwi.nl/~aeb/games/hack/hack.html

ok deraadt@


Revision tags: OPENBSD_3_2_BASE
# 1.8 23-Jun-2002 deraadt

uid_t and gid_t are unsigned


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE
# 1.7 28-Jan-2001 niklas

$OpenBSD$


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.6 16-Aug-1999 millert

use O_* defines for open(2) flags and include fcntl.h


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.5 28-Mar-1997 tholo

Set umask so save files are writeable by hack


# 1.4 17-Jan-1997 millert

r?index -> strr?chr


# 1.3 22-Dec-1996 deraadt

proper gid revoke


# 1.2 26-Oct-1996 millert

prefer $LOGNAME over $USER. fix strncpy() usage.


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


Revision tags: OPENBSD_6_5_BASE
# 1.23 05-Apr-2019 bentley

Fix hack(6).

- Write savegames and scorefiles to the current directory instead of /var
- Save oc_name and oc_descr alongside oc_uname in all situations
- When a levitation potion times out, explicitly float down

These patches were contributed last year by "tonypony76"; thanks!

ok deraadt@, with added enthusiasm from tedu@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.22 09-Jan-2016 mestre

Remove several casts to (char *) 0 and replace them by NULL

Prompted and OK by tb@


# 1.21 09-Jan-2016 mestre

This diff is rather large, but it's just simply removing unnecessary headers
, remove some lint-style comments, add missing void to functions without args,
also some function prototypes (extern) were missing their args, so I added them
as they were defined in hack.h

OK tb@ on separate diffs


# 1.20 07-Jan-2016 tb

Some basic code maintenance in games/

- in main() replace exit with return
- drop some /* NOTREACHED */ lint comments along the way.
- make more use of standard CFLAGS, esp. -Wimplicit-function-declaration
- add and sort some headers when needed
- add straightforward pledges to some programs used at compile time

discussed with and ok mestre@


# 1.19 16-Dec-2015 tb

Use __progname instead of hand-rolled parsing of argv[0].
Inspired by similar diffs by tobias@ and millert@.

"I like the concept" pjanzen@
ok tedu@


# 1.18 04-Nov-2015 tedu

replace setbuf with setvbuf, from Frederic Nowak


# 1.17 27-Sep-2015 guenther

Annotate funcs with __attribute__((printf(...))) and clean up the fallout:
* lots of foo(str) --> foo("%s", str) transformations
* one totally insane foo(fmt, ap) --> vfoo(fmt, ap) conversion: how did
this ever work?
* prefer const char[] over char* for static format strings, as it lets
gcc check the format and eliminates an unnecessary pointer

ok beck@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.16 08-Dec-2014 deraadt

For now, these games still contain deterministic randomization (for
save / replay modes of operation that have not yet been cleaned up).
OK, I've let the cat out of the bag, now some of you know you can cheat
at them..
ok millert guenther tedu


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.15 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.14 01-May-2005 djm

use setresgid() to drop privs, it is simply a better and less ambiguous API;
ok deraadt@ and millert@ a while ago, more to come


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.13 06-Jul-2003 avsm

convert a bunch of strn{cpy,cat}->strl{cpy,cat}
pjanzen@ ok


# 1.12 19-May-2003 pjanzen

De-register, ANSIfy, clean up.


# 1.11 07-May-2003 tdeval

Major strings rework. Ok pjanzen@


# 1.10 06-Apr-2003 deraadt

2451 lines of strdup/sprintf/strcpy whacking. mostly ok'd by pjanzen
already, but he may have later changes to make still.


Revision tags: OPENBSD_3_3_BASE
# 1.9 16-Mar-2003 camield

hack is free

Thanks to Andries Brouwer, Jay Fenlason and the folks at CWI for their
efforts.

http://www.cwi.nl/~aeb/games/hack/hack.html

ok deraadt@


Revision tags: OPENBSD_3_2_BASE
# 1.8 23-Jun-2002 deraadt

uid_t and gid_t are unsigned


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE
# 1.7 28-Jan-2001 niklas

$OpenBSD$


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.6 16-Aug-1999 millert

use O_* defines for open(2) flags and include fcntl.h


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.5 28-Mar-1997 tholo

Set umask so save files are writeable by hack


# 1.4 17-Jan-1997 millert

r?index -> strr?chr


# 1.3 22-Dec-1996 deraadt

proper gid revoke


# 1.2 26-Oct-1996 millert

prefer $LOGNAME over $USER. fix strncpy() usage.


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.22 09-Jan-2016 mestre

Remove several casts to (char *) 0 and replace them by NULL

Prompted and OK by tb@


# 1.21 09-Jan-2016 mestre

This diff is rather large, but it's just simply removing unnecessary headers
, remove some lint-style comments, add missing void to functions without args,
also some function prototypes (extern) were missing their args, so I added them
as they were defined in hack.h

OK tb@ on separate diffs


# 1.20 07-Jan-2016 tb

Some basic code maintenance in games/

- in main() replace exit with return
- drop some /* NOTREACHED */ lint comments along the way.
- make more use of standard CFLAGS, esp. -Wimplicit-function-declaration
- add and sort some headers when needed
- add straightforward pledges to some programs used at compile time

discussed with and ok mestre@


# 1.19 16-Dec-2015 tb

Use __progname instead of hand-rolled parsing of argv[0].
Inspired by similar diffs by tobias@ and millert@.

"I like the concept" pjanzen@
ok tedu@


# 1.18 04-Nov-2015 tedu

replace setbuf with setvbuf, from Frederic Nowak


# 1.17 27-Sep-2015 guenther

Annotate funcs with __attribute__((printf(...))) and clean up the fallout:
* lots of foo(str) --> foo("%s", str) transformations
* one totally insane foo(fmt, ap) --> vfoo(fmt, ap) conversion: how did
this ever work?
* prefer const char[] over char* for static format strings, as it lets
gcc check the format and eliminates an unnecessary pointer

ok beck@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.16 08-Dec-2014 deraadt

For now, these games still contain deterministic randomization (for
save / replay modes of operation that have not yet been cleaned up).
OK, I've let the cat out of the bag, now some of you know you can cheat
at them..
ok millert guenther tedu


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.15 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.14 01-May-2005 djm

use setresgid() to drop privs, it is simply a better and less ambiguous API;
ok deraadt@ and millert@ a while ago, more to come


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.13 06-Jul-2003 avsm

convert a bunch of strn{cpy,cat}->strl{cpy,cat}
pjanzen@ ok


# 1.12 19-May-2003 pjanzen

De-register, ANSIfy, clean up.


# 1.11 07-May-2003 tdeval

Major strings rework. Ok pjanzen@


# 1.10 06-Apr-2003 deraadt

2451 lines of strdup/sprintf/strcpy whacking. mostly ok'd by pjanzen
already, but he may have later changes to make still.


Revision tags: OPENBSD_3_3_BASE
# 1.9 16-Mar-2003 camield

hack is free

Thanks to Andries Brouwer, Jay Fenlason and the folks at CWI for their
efforts.

http://www.cwi.nl/~aeb/games/hack/hack.html

ok deraadt@


Revision tags: OPENBSD_3_2_BASE
# 1.8 23-Jun-2002 deraadt

uid_t and gid_t are unsigned


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE
# 1.7 28-Jan-2001 niklas

$OpenBSD$


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.6 16-Aug-1999 millert

use O_* defines for open(2) flags and include fcntl.h


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.5 28-Mar-1997 tholo

Set umask so save files are writeable by hack


# 1.4 17-Jan-1997 millert

r?index -> strr?chr


# 1.3 22-Dec-1996 deraadt

proper gid revoke


# 1.2 26-Oct-1996 millert

prefer $LOGNAME over $USER. fix strncpy() usage.


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision