GCC_NO_FORMAT_TRUNCATION -Wno-format-truncation (GCC 7/8)
GCC_NO_STRINGOP_TRUNCATION -Wno-stringop-truncation (GCC 8)
GCC_NO_STRINGOP_OVERFLOW -Wno-stringop-overflow (GCC 8)
GCC_NO_CAST_FUNCTION_TYPE -Wno-cast-function-type (GCC 8)
use these to turn off warnings for most GCC-8 complaints. many
of these are false positives, most of the real bugs are already
commited, or are yet to come.
we plan to introduce versions of (some?) of these that use the
"-Wno-error=" form, which still displays the warnings but does
not make it an error, and all of the above will be re-considered
as either being "fix me" (warning still displayed) or "warning
is wrong."
Prevents an extra "Bad file descriptor" message when trying to hexdump
a single nonexistent file.
The intended behavior seems to have been to read from stdin if there
was one filename given and it wasn't valid. But this seems like a bad
idea, so prevent that case instead of hacking it up so it works.
- sort options in `SYNOPSIS' and `DESCRIPTION' sections;
- correct / improve macro usage;
- synchronize argument name to `-s' option;
- improve punctuation / wording;
- augment `SEE ALSO' section;
- bump date.
While here:
Use Sq for single characters instead of Dq.
Use Aq instead of \*[Lt]...\*[Gt].
Mark up NULL with Dv.
uint64_t for printing. Because of this, parse.c:rewrite() should use
PRI[diouxX]64 as the printf format; the previous revision which used
"lld" and friends was a temporary measure. We assume that PRId64 ends
with 'd', PRIx64 ends with 'x', etc.
In display.c:display(), change some u_intNN_t types to C99 standard
uintNN_t types, and consistently cast to [u]int64_t when printing
integer values (even in two cases where it's not really necessary but it
makes the code look more consistent).
(I found a script which tries to figure out the byteorder of a box
by "od -An | grep", but it is POSIX anyway.)
There is a little behavioural change: The whitespace without any arguments
is like "-to2" now; before it was custom. It's not worse imho.
* Rename "config.h" to "nbtool_config.h" and
HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
This makes in more obvious in the source when we're using
tools/compat/config.h versus "standard autoconf" config.h
* Consistently move the inclusion of nbtool_config.h to before
<sys/cdefs.h> so that the former can provide __RCSID() (et al),
and there's no need to protect those macros any more.
These changes should make it easier to "tool-ify" a program by adding:
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
#endif
to the top of the source files (for the general case).
#if HAVE_CONFIG_H
#include "config.h"
#endif
to get this to build under solaris-2.6/sparc with gcc-2.95.1 as part of
the NetBSD cross toolchain build. Fixes PR23211. Patch approved by
Alistair Crooks.