John "Elwin" Edwards
172c83f254
Fix some potential problems detected by clang.
...
Most of these are unnecessary comparisons and functions returning the
wrong types.
2017-09-23 09:47:00 -04:00
John "Elwin" Edwards
c661fd79d4
Use C stdio functions for score files and save files.
...
Switching from Unix file descriptor operations to C standard FILE*
functions will reduce portability problems.
2017-09-15 19:57:54 -04:00
John "Elwin" Edwards
62047972cc
Use more portable random seed generation.
...
The new function md_random_seed() has replaced time() + getpid() and
similar methods. Putting everything in mdport.c slightly reduces the
warnings and workarounds.
2017-01-28 15:49:41 -05:00
John "Elwin" Edwards
f38b2223c8
Advanced Rogue 5: convert to ANSI function declarations.
...
This still leaves over a thousand lines of warning messages, mostly
related to the return types of daemons and fuses.
2016-02-07 14:39:21 -05:00
John "Elwin" Edwards
e3620a3781
Advanced Rogue family: fix the "score" option.
...
Changing the score file (when permitted) now works again, closing the
old score file and opening the new one.
2015-05-20 08:42:17 -04:00
John "Elwin" Edwards
3554339257
Advanced Rogue family: overhaul privilege handling.
...
Advanced Rogue 5 and 7, and XRogue, now open the scorefile and logfile
at startup and then drop any set[ug]id privileges if the savedir is not
being used.
2015-05-16 13:39:26 -04:00
John "Elwin" Edwards
67ec840c3c
Don't truncate player name in savefile name or log message.
...
The player name is stored in whoami[], which is length 80 in most games
(1024 in rogue5). Only the first 10 chars were used to create
file_name, because that buffer is the same length. Increasing the size
of file_name to 256 permits using all of whoami.
The name is also no longer truncated to 20 chars when writing the log.
All games should now be able to handle 79-character names without
collisions. Anything more would break save compatibility.
2014-03-23 21:27:14 -07:00
John "Elwin" Edwards
720d587422
Rename daemon() to start_daemon().
...
daemon() conflicted with the standard library function, which is
included by default on OS X.
2013-09-07 08:08:00 -04:00
John "Elwin" Edwards
1f1ae55a26
Make sure file_name contains '/' between SAVEDIR and the file name.
...
Duplicated slashes are not a problem. Missing slashes are.
2013-08-27 22:25:40 -07:00
John "Elwin" Edwards
355fb33eb7
arogue5: avoid segfaulting if getpwuid() fails.
2012-08-11 23:45:34 +00:00
John "Elwin" Edwards
8c27cf1402
arogue5: add nonl() to prevent CR/LF confusion.
2012-08-11 18:56:32 +00:00
John "Elwin" Edwards
f0527564ea
arogue5: add missing header files.
2012-08-11 17:19:03 +00:00
John "Elwin" Edwards
5ce56875ec
arogue5: close security holes.
...
Prevent whoami (player name), file_name, and score_file from being
changed if the systemwide save location is being used.
2012-08-11 16:27:20 +00:00
John "Elwin" Edwards
38a8534eb5
arogue5: add the savedir feature.
2012-08-10 05:16:08 +00:00
John "Elwin" Edwards
14fad3b319
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
2012-08-09 22:58:48 +00:00