Commit graph

4521 commits

Author SHA1 Message Date
875d72a00f 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.
2004-02-06 12:35:51 +00:00
52cb1f8c55 (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.
2004-02-06 12:12:58 +00:00
0655744bf7 (msl_hit): Tell victim coordinates of incoming missile. Closes
#799873.  From Marc Olzheim.
2004-02-05 16:29:32 +00:00
2b00422732 (rpt): Fix rpt[N_NUKE_SSTOP]; not every sub-launched missile is
nuclear.  Closes #797330.  From Marc Olzheim.
2004-02-05 16:15:13 +00:00
b36eaf98d3 (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.
2004-02-05 16:03:59 +00:00
aba72ef569 (player_coms): Fix flag argument of map commands in c_form. From Marc
Olzheim.
2004-02-03 17:27:51 +00:00
3bf6e9ca05 (map): Reject flags t' and r' unless it's a bmap command. Both used
to change the map command into the corresponding bmap command, which
was undocumented and didn't make sense.  From Marc Olzheim.
2004-02-03 17:24:05 +00:00
be40df6d7b (wripglob): Don't emit unnecessary includes. 2004-02-03 17:16:06 +00:00
cfc7e113ef (wrgamesdef): Generate EMPDIR instead of EMPPATH(). Change callers of
EMPPATH() to use EMPDIR.  This avoids triggering MSVC bugs, and drops
support for traditional, pre-ISO cpp.  Closes #753935.
(gamedir, lostfil, playerbin, updatebin): Unused, remove.
2004-01-31 19:33:00 +00:00
a99bc3be73 (payo, scuttle_tradeship, sdump): Disclose construction site only to
original owner and deities.  Closes #815197.
2004-01-31 10:03:49 +00:00
c2ab6de7e7 (KILL): Off by one in fnlist[]. This is why client option -k didn't
work.
(WAT, GKILL): Unused, remove.
2004-01-31 09:42:34 +00:00
eb64deaf1d (do_mob_land): Do not regenerate mobility faster while it is negative. 2004-01-30 16:20:45 +00:00
beba530119 (file_lock, file_unlock, ef_lock, ef_unlock, commlock, communlock):
File locking doesn't make sense, must be a leftover from the distant
past.  Remove.  Callers changed.
2004-01-29 17:07:26 +00:00
daad9ed79c (fort): Refuse to fortify land units embarked on land units. Properly
report failure to fortify.
2004-01-29 13:36:25 +00:00
4b321add52 (lnd_fortify): Do not fortify units embarked on ships or land units. 2004-01-29 13:34:15 +00:00
a52a09be1f (take_move_in_mob): Automatic fortification on excess mobility may
fortify units while they are `at the prompt'.  That's okay.  But
action that consumes mobility must zap the fortification again.
2004-01-29 11:55:26 +00:00
cff4c77bf9 (player_coms): Fix c_form for upgrade. From Marc Olzheim. 2004-01-28 22:12:27 +00:00
40b35c4f30 (guerrilla): Give wandering che inexact, somewhat randomized
information on military.  Closes #750533.  Why?  Wandering che pick a
sector with minimal military from the adjacent sectors that can get
che.  Ties are broken in favour of the first sector examined.  Since
sectors are examined in the order given by by diroff[], che prefer
directions with low index in diroff[].  This tends to channel che
towards the northeast.  But the change makes ties very unlikely.
2004-01-28 19:30:15 +00:00
dc9a19b324 (lnd_sweep, lnd_mar_one_sector): Automatic fortification on excess
mobility may fortify units while they are `at the march prompt'.
That's okay.  But action that consumes mobility must zap the
fortification again.
2004-01-28 19:02:29 +00:00
bf50c6e851 (do_mob_land): Use excess mobility to fortify. Note that units
requiring fuel to gain mobility never get excess mobility.  Adapted
patch from from Marc Olzheim.  Closes #725457.
2004-01-28 17:00:29 +00:00
c4ae0d89eb (is_engineer, has_helpful_engineer): Rename. Require allied
engineers.  This affecs command `fortify'.
2004-01-28 10:46:57 +00:00
f7faeb6470 (lnd_fortify): New, factored out of fort().
(fort): Use it; no functional changes.
(is_engineer): Move to logical place, external linkage.
2004-01-28 09:31:22 +00:00
632fbf8d12 (player_new): Proper error checking. Oops, now it may return NULL.
Proper error checking in callers required.
(update_wait, market_update): If player_new() returns null pointer,
skip update.
(player_accept): If player_new() returns null pointer, close
connection.
2004-01-23 13:44:19 +00:00
f841200923 (map, draw_map, MAP_HIGH): New map command flag `h' to highlight own
sectors; from Marc Olzheim.
2004-01-21 14:54:56 +00:00
727be2e126 (sabo): Damage report to player was in deity coordinates, fix. Closes
#856856.
2004-01-21 10:37:56 +00:00
d7a054c20a (ROLLOVER_AVAIL, opt_ROLLOVER_AVAIL, Options, do_feed, prod, newe):
New option ROLLOVER_AVAIL; from Drake Diedrich.
2004-01-20 16:51:43 +00:00
1261d1c825 [apollo]: Tables were gutted for unknown reasons. Don't. 2004-01-20 15:50:11 +00:00
ab95ad96d2 [_WIN32] Fix previous rev. 2004-01-20 15:43:44 +00:00
1504d1f13b (empth_exit): Fix shutdown on reading "quit" from stdin (crash bug,
reportedly).
2004-01-15 16:29:53 +00:00
422a8cea73 (io_select, io_init, io_open, io_close, io_output, io_flush, io_write,
io_puts, iom_create, iom_getmask, iom_set, iom_clear, iom_zero):
Portability bug: io_select() passed bit_fdmask to select().  This
breaks the fd_set abstraction, and works only with the traditional
Unix implementation of fd_set.  Use fd_set and its operations instead.
Remove unused source files.  Note: the offending code is currently
unsued.  But it's a time bomb, and fixing it also replaces a bunch of
code by standard library services.
2004-01-15 14:32:00 +00:00
5f4503a3a1 Unused, remove. 2004-01-15 14:07:15 +00:00
43af569ee5 Merge Makefile rev. 1.5. Update dependencies. 2004-01-15 13:49:40 +00:00
4ce5f988d0 Portability fixes: don't declare library functions, include
appropriate headers.  Also remove some unused declarations.
2004-01-15 13:43:50 +00:00
56dce5a8c4 (main): Portability bug: code passed bit_fdmask to select(). This
breaks the fd_set abstraction, and works only with the traditional
Unix implementation of fd_set.  Use fd_set and its operations instead.
Remove unused source files.
2004-01-15 09:39:51 +00:00
14fb66b032 Fix previous rev. 2004-01-15 09:37:06 +00:00
b19c346435 (player_coms, lstats, lsta): Rename command lstats' to lstat' to
match info as well as related commands `sstat' and `pstat'.  Rename
lstats() to lsta() to uphold the convention that functions
implementing commands are named like the command or its four character
prefix.  Closes #804587.
2004-01-13 18:46:48 +00:00
92fcbc22a7 (player_coms, best): bestdistpath' and bestpath' violate the rule
that commands must be unique within the first four letters.  best()
implements both.  It calls BestDistPath() for the former, and
BestLandPath() for the latter.  However, BestDistPath() is just a
wrapper around BestLandPath(); it does exactly the same.  Drop
`bestdistpath'.
2004-01-13 18:23:26 +00:00
c16179eeae (mineq): Rewrite. mineq("dumpcrap", "dump ") now yields ME_MISMATCH
instead of ME_PARTIAL.  Closes #804611.
2004-01-13 17:23:02 +00:00
e50e1b4b35 (ask_olist): Fix reporting of mobility required for attack. Closes
#798045.
2004-01-12 20:13:28 +00:00
64fa28aa34 (do_desi): Move check for redesignated capital behind the actual
redesignation.  Closes #803768.
2004-01-12 17:28:22 +00:00
64afd7747b (index, rindex): Obsolete BSDisms; remove. Use standard strchr() and
strrchr() instead.
(setbuffer): Obsolete BSDism, unused; remove.
2004-01-08 18:15:13 +00:00
4ae9c417b3 (bzero, bcopy): Obsolete BSDisms; remove. Remove some calls without
effect.  Replace calls by struct assignment where possible.  Replace
clear buffer, copy string to buffer by strncpy().  Use assignment to
clear when that's clearer.  Replace overlapping copy through bounce
buffer by memmove().  Replace rest by standard memset() and memcpy().
Also use sizeof() instead of literal array sizes for robustness, and
instead of symbolic array sizes for clarity.
2004-01-08 17:54:28 +00:00
2910da23ea Fix missing include <string.h>. 2004-01-08 17:26:18 +00:00
d0feb8570a (copy, atopi, same): Remove, use strcpy(), atoi(), strcmp(). Callers
changed.  Remove empty source files.
2004-01-08 10:20:44 +00:00
9c90022634 Remove superflous include. 2004-01-08 10:11:38 +00:00
a86521b7a0 (ffs): Unused, remove. 2004-01-08 10:10:19 +00:00
f5d8f30606 (login): Fix reading of country name and, if we lack getpass(),
password.  Used to strip \r from country name (superflous), and not to
strip \n from password (required).
2004-01-08 05:57:38 +00:00
08480d5625 (wrauth): Emit example `nowhereman@nowhere.land.edu' commented out.
nowhere.land.edu doesn't exist right now, but it might pop up any
time.
2004-01-06 20:18:46 +00:00
1333a40bb8 (info): Use ANSI strerror() instead of non-portable sys_errlist[]. 2004-01-06 20:08:53 +00:00
8266bd7246 (logerror): Remove unused cruft. 2004-01-06 20:07:03 +00:00