xolint — detect
errors in programs using
xo_emit(3)
xolint |
[-c] [-C <flags>]
[-d] [-D]
[-I] [-p]
[-V] [-X]
[files...] |
xolint is a tool for reporting common
mistakes in format strings in source code that invokes
xo_emit(3).
It allows these errors to be diagnosed at build time, rather than waiting
until runtime.
xolint takes one or more C files as
arguments, and reports error, warning, or informational messages as
needed.
-c
- Invoke 'cpp' against the input file
-C
<flags>
- Flags that are passed to 'cpp'
-d
- Enable debug output
-D
- Generate documentation for all
xolint
messages
-I
- Generate a table of
xo_info_t structures.
-p
- Print the offending lines after the error message is displayed
-V
- Do not report errors, but instead print a complete list of all field
names, sorted alphabetically. The output can help spot inconsistencies and
spelling errors.
-X
- Extract samples from
xolint, suitable for internal
testing.
The output message contains the source filename and line number,
the class of the message, the message, and, if -p is
given, the line that contains the error:
% xolint -t xolint.c
xolint.c: 16: error: anchor format should be "%d"
16 xo_emit("{[:/%s}");
FreeBSD uses libxo
version 0.6.1. Complete documentation can be found on github:
http://juniper.github.io/libxo/0.6.1/libxo-manual.html
libxo lives on github as:
https://github.com/Juniper/libxo
The latest release of libxo is available
at:
https://github.com/Juniper/libxo/releases
The libxo library was added in
FreeBSD 11.0.