that typedef 'short'. 'char' (which was previously used) because char
may be unsigned and ((char)EOF) != EOF if that is the case. That was
causing the (char)EOF (0xff) pushed back in main to be interepreted as
a character, and, in some cases, to be written to the output. 'short'
was used rather than 'signed char' because if the latter is used,
0xff characters in the input would confuse m4. (No point in introducing
(more?) 8-bit lossage.)
it broke the -M option on relative paths (the chdir works as it should,
but the relative man page path is still used whole in nroff). This
repairs the situation by chopping the full pathname in half--one part
for the chdir, one part for the filename.
"", (usually in .tiprc with lines like `raisechar='), don't activate
feature if NUL (\0) is the received character
* on a related note, don't barf if the following variables are defined
to "": disconnect, log, parity, record
is not found. Fixes both PRs 4142 and 4557 (4558). Still fails properly
if user is in YP and not in local database. Man page fixed to reflect
current logic behind falling back, changed since YP was made default some
time ago.
* deprecate register
* replace berkeley string funcs with ansi equivs
* use getopt rather than home grown cruft
* use foo(char *, ...) rather than foo(char *, long, long, long, [long, ...])
where a remote completion or `mget' would confuse the client a `restart'
had been issued beforehand. now, `restart' is remembered until an operation
that can actually use it is invoked.
* in sendrequest(), don't reset restart_point upon entry. fixes `restart'
for `put' operations.
* if `restart' is invoked with no arguments, print current setting instead
of displaying a usage
* consistently use printf("%qd", (long long)restart_point) when displaying
restart_point
* use strto[lq]() instead of atol() when parsing `mark' and `restart' values
* remove unnecessary strlen()s when result of previous snprintf() will do
* replace a few malloc()/strcpy()s with strdup()s
* use SECSPERHOUR instead of '3600'