====== xolint ====== `xolint` is a tool for reporting common mistakes in format strings in source code that invokes `xo_emit`. It allows these errors to be diagnosed at build time, rather than waiting until runtime. `xolint` takes the one or more C files as arguments, and reports and errors, warning, or informational messages as needed: ============ =================================================== Option Meaning ============ =================================================== -c Invoke 'cpp' against the input file -C Flags that are passed to 'cpp -d Enable debug output -D Generate documentation for all xolint messages -I Generate info table code -p Print the offending lines after the message -V Print vocabulary of all field names -X Extract samples from xolint, suitable for testing ============ =================================================== The output message will contain 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.pl -t xolint.c xolint.c: 16: error: anchor format should be "%d" 16 xo_emit("{[:/%s}"); The "-I" option will generate a table of `xo_info_t`_ structures, suitable for inclusion in source code. .. _xo_info_t: :ref:`field-information` The "-V" option does not report errors, but prints a complete list of all field names, sorted alphabetically. The output can help spot inconsistencies and spelling errors.