TIMES. This can make callers fire another update right away, possibly
several times. Observed for update policy UDP_TIMES while updates
were disabled, which makes them complete in much less than a second.
Fills up server.log real fast. Fix to consider DTIME tomorrow.
(ichr): Set IPKG packing bonus for all sectors to 1.
(move): Use it. No functional change.
(deliver, dodistribute): Use it. Inefficient sectors now get IPKG
instead of NPKG packing bonus, cutting civilian packing bonus from 10
to 1.
(dodistribute): Export uses the better of sector or distribution
center packing bonus. Previously, it assumed that distribution center
WPKG packing is always best. Which is currently true, but needlessly
breaks the abstraction.
(chr_camap): Use them, but disable rpt_ca[], since rpt[] lacks a
sentinel.
(xhdr): Print `XDUMP' rather than `DUMP' to avoid confusion with old
dumps. Don't print human readable timestamp.
copy_and_expire() to simplify cleanup. Previously, cleanup was
missing or incomplete on many less common code paths, which leaked
file descriptors and memory, and could corrupt the anno file. Use
stdio instead of POSIX I/O for writing. Check for I/O errors
properly. Treat bad telegram type just like bad telegram length (give
up). Closes#1013234.
offset and index. This is for the new dumps; conditions can't use it,
yet.
(nstr_comp_val): Zero index.
(nstr_exec_val): Implement index.
(nstr_exec_val): Simplify coercion to WANT.
extended (beyond due date) loan time. At the due date, or after a
last payment made at the due date, durations were zero in fina() and
unpredictable elsewhere. With luck, debtors could abuse this to repay
loans cheap (they couldn't gain cash, though), sharks to purchase
loans cheap, and creditors to collect excessively.
caller had to zero some. Caller changed.
(goodsect): Remove; use sct_typematch() instead.
(change_prio): New.
(budg): Use it to replace ugly and confusing priority change code.
(budg): Use prexpense() for industries as well. Fixes cost output
alignment bug.
(budg): Use splur() & friends.
PRI_LBUILD): Turn macros into enumeration constants. Value
SCT_MAXDEF+1 was previously unused; use it.
(PRI_MAX): New; replacing the horrible SCT_MAXDEF+8.
(show_sect_build): Simply examine all sector types, don't skip the
first five. The code ignores them just fine.
(show_sect_build, show_sect_stats, show_sect_capab): Don't try to show
sector types beyond SCT_MAXDEF. The table has some empty extra slots,
for whatever reasons; no use examining them.