1) register variables have been killed, except for the ones in the
generated skeleton (which should probably also be killed soon).
2) __P(())ified prototypes for all functions.
3) new style __RCSID's, and #include <sys/cdefs.h>'s.
4) all warnings generated with WARNS=1 (i.e. all warnings you get from
gcc with -Wall -Wstrict-prototypes -Wmissing-prototypes) have been
fixed, although not always in the best possible way.
in particular on #4, in a couple of places I got "control reaches end
of non-void function" errors, and sadly __dead doesn't seem to really
work, so I inserted a couple of exit() calls in strategic
places. These should be nuked if someone can get __dead to Do The
Right Thing.
There were also a couple of places where "while (foo = bar)" things
cropped up and I didn't do the best conceivable thing, but I usually
did.
These fixes should probably go back to the byacc maintainers.
it to a full path using the user's path, before setting the path used by
the script. If it can't be found, try using the standard path used by the
script to find it (/bin:/usr/bin:/usr/ucb), and if it still can't be
found, exit. If user hasn't set CC, try to use cc, again searched for
via their path, then via the standard path.
Also, clean up regexps used to post-process ${CC} -M output, so that
they work on a wider variety of compilers.
full path using the user's path, before setting the path used by the
script. If it can't be found, try using the standard path used by the
script to find it (/bin:/usr/bin), and if it still can't be found, exit.
If user hasn't set NM, try to use nm, again searched for via their path,
then via the standard path.
* cleanup for WARNS=1 (including some ugly '(void)&var' bits wrapped in
#ifdef __GNUC__ to shut up gcc warnings WRT setjmp/longjmp)
* use strtol() instead of atoi(), and more extensively check result of
conversion
* use u_int16_t instead of short or int for TCP port addresses
to the fact that the /bin/sh set command always sets the exit status to
0, so testing $? will not help discover if getopt found an error if
getopt is used via "set -- `getopt ....`". (POSIX 1003.2 D11 draft says
that the sh set command must return 0 as the exit status.)
I think that POSIX is wrong or that is is not well enough specified to
allow the result of the set to be the exit status of the getopt. But
considering the sequential nature of execution, the set is done last
and is the "last command" and therefore must be the one to set the exit
status. At least there is a work-around for shell scripts.