XOLINT(1)

NAME
xolint - detect errors in programs using xo_emit(3)

SYNOPSIS
xolint [-c] [-C <flags>] [-d] [-D] [-I] [-p] [-V] [-X] [files...]

DESCRIPTION
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}");

SEE ALSO
libxo(3), xo_emit(3)

HISTORY
The libxo library first appeared in FreeBSD 11.0.

AUTHORS
libxo was written by Phil Shafer <phil@freebsd.org>.