Mostly missing headers, explicit parentheses and new prototypes.
Some Caveats:
* I haven't compile-tested the SVR4 getpty file, it might need another tweak
* There were operator precedence bugs in TermPrimCursor.c and TermPrimRender.c
(^ vs. !=). This might change behaviour, but at least I haven't experienced
any crashes ...
* This adds a little more dependencies for include ordering, but unless we
want to play the "headers that include headers that include headers..." game,
this is unavoidable.
According to the spec, blank lines in message catalogs or lines
beginning with '$ ' are valid comments.
However, there were many cases where lines in the message catalogs
contained just a single '$', without the required space after it.
Under linux, this caused 126766 error lines (in my builds) of the
form:
... unknown directive `': line ignored
This also causes gencat to exit with a non-0 exit code. Even though
gencat says it ignores the line, it really doesn't.
An early porting change to programs/localized/util/merge.c was made to
ignore this return value on linux. This hack has now been removed.
Build logs are a lot smaller and cleaner now.
Introduce KORNSHELL make variable to point
to the implementation of the Korn Shell.
Use $(SHELL) or $(KORNSHELL) explicitly for
make programs that do not automatically call
shell scripts from the current directory.
don't use the idiom
char foo[BUFSIZ];
snprintf(foo, BUFSIZ, ....);
but
char foo[BUFSIZ];
snprintf(foo, sizeo foo, ....);
because this will automatically catch situations where the size of foo
is later changed, e.g. like foo[BUFSIZ + 8];
Fix another use of sprintf.
Added proper SharedDtSvcReqs in lnxLib.tmpl and CplusplusLibC in
linux.cf. This allows the libstdc++ dependancy to be properly
declared for libDtSvc so that it is not neccessary to hardcode 'CCLINK
= g++' in the Imakefiles of programs linking angainst libDtSvc.