xolint - Man Page

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.


Invoke 'cpp' against the input file

-C <flags>

Flags that are passed to 'cpp'


Enable debug output


Generate documentation for all xolint messages


Generate a table of xo_info_t structures.


Print the offending lines after the error message is displayed


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.


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)


The libxo library first appeared in FreeBSD 11.0.


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

Additional Documentation

FreeBSD uses libxo version 1.6.0. Complete documentation can be found on github:


libxo lives on github as:


The latest release of libxo is available at:



The libxo library was added in FreeBSD 11.0.


Phil Shafer

Referenced By

libxo(3), xo_format(5).

December 4, 2014