(deli): Partial rewrite for clarity, motivated by a `might be used
unitialized' warning. Funcional change: you can now change direction
without threshold (matches documentation, clarify it anyway). Change
prompt for the third argument to reflect that. Also provide context
when prompting for the fourth argument; this is sorely needed we
didn't prompt for the third argument.
Make users of struct cmdstr agree on prototype of member c_addr.
(player_login): Use player->argp[] to store arguments.
(client_cmd, user_cmd, sanc_cmd, coun_cmd, pass_cmd, play_cmd,
kill_cmd, list_cmd, quit_cmd): Remove parameters, fetch arguments from
player->argp[].
(cmdstr): Prototype member c_addr.
(play_cmd): Used to silently ignore up to two arguments if there
wasn't a third one. Don't.
Declare all configuration variables in optlist.h. Include that
instead of declaring them all over the place. This uncovered type
errors:
(s_p_etu, adj_update): Defined long, sometimes declared int. Kills
big endian machines where sizeof(long) != sizeof(int). Change to
int.
Supply prototypes where possible. This uncovered type errors with
thread entrypoints:
(lwpSelect, shutdown_sequence): Parameters didn't match thread entry
point prototype.
(lwpEntryPoint): Arguments didn't match thread entry point prototype.
Change linkage of functions without prototype declaration to static
where possible.
Remove some superflous declarations, replace others by suitable
includes.
Fix markup: bogus numerical arguments that were mapped to zero
silently (troff) or under protest (groff); table column width (also
fixed some .L arguments to match actual game output); spacing in
no-fill text; stray .FI, .in and .ce messing up indentation; stray .L;
misspelled request and escape names; escaping of control and escape
characters; properly ignore form-feed; argument quoting; extra
arguments to .NF. Still broken: .L abused for headings, which
triggers many groff warnings about negative indentation.
(main, USERNAME): Change Windows user name from win-empcl2.8 to nobody
to get rid of the version number. Keeping it up-to-date by hand is
too much work, but leaving it at 2.8 would be confusing.
(move_ground): explore() used endsect without initialized in certain
cases, e.g. `expl X,Y N X,Y'. Other callers might have had similar
problems. Fix: always assign to *END. Thanks to Marc Olzheim for
help with debugging and fixing this.
(iom, fdmax, newoutput): Serve no purpose since previous rev., remove
along with code to maintain them. This removes the last uses of
io_mask.c io_mask.h; remove them.
Creating make include files with make doesn't work with many makes out
there. Back out for 4.2.13. You have to create the make include
files by hand if they don't exist. That's the case for freshly
checked out trees.
(RESOLVE_IPADDRESS): gethostbyaddr() uses a lot of stack space on some
versions of GNU libc, which can lead to nasty heap smashes (observed
with 2.2.93). Don't define RESOLVE_IPADDRESS for now, until we
readjust thread stack sizes.
(OSXCFLAGS): Don't switch gcc to cruft mode.
(OSXLFLAGS): Don't sweep undefined references under the carpet; link
with the right libraries instead.
(LINUXCFLAGS, LINUXPTHCFLAGS): Compile with symbols.
Garbage collection to side-step sparse file descriptor problem.
(io_select, io_flush, io_iopfromfd): Unused, remove.
(io_open): Allow more than one open for the same file descriptor.
The check is the last remaining use of io_list[], and it's
unimportant.
(io_list, niop, io_init): io_list[] no longer serves any purpose,
remove. Sparse allocation of file descriptors (deplorable misfeature
of Winsock, at least some versions) is no longer a problem.
(getfdtablesize): Unused, remove. Was broken for Windows anyway.
(io_open, io_iopfromfd): Properly check argument FD to protect
io_list[] indexing.
(niop, io_init): Store length of io_list[] in new niop.
(player_accept): Checking the socket file descriptor here is now
redundant. Remove.
(landmine): Add a missing call of putland(). Closes #682570. Don't
complain about running out of things when the job actually completed
fine. From Marc Olzheim.