xolint - Man Page

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>.

Additional Documentation

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

https://juniper.github.io/libxo/1.6.0/html/index.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

History

The libxo library was added in FreeBSD 11.0.

Author

Phil Shafer

Referenced By

libxo(3), xo_format(5).

December 4, 2014