131337658SMarcel Moolenaar.\" # 231337658SMarcel Moolenaar.\" # Copyright (c) 2014, Juniper Networks, Inc. 331337658SMarcel Moolenaar.\" # All rights reserved. 431337658SMarcel Moolenaar.\" # This SOFTWARE is licensed under the LICENSE provided in the 531337658SMarcel Moolenaar.\" # ../Copyright file. By downloading, installing, copying, or 631337658SMarcel Moolenaar.\" # using the SOFTWARE, you agree to be bound by the terms of that 731337658SMarcel Moolenaar.\" # LICENSE. 831337658SMarcel Moolenaar.\" # Phil Shafer, July 2014 931337658SMarcel Moolenaar.\" 10545ddfbeSMarcel Moolenaar.Dd December 4, 2014 11545ddfbeSMarcel Moolenaar.Dt XOLINT 1 1231337658SMarcel Moolenaar.Os 1331337658SMarcel Moolenaar.Sh NAME 1431337658SMarcel Moolenaar.Nm xolint 15545ddfbeSMarcel Moolenaar.Nd detect errors in programs using 16545ddfbeSMarcel Moolenaar.Xr xo_emit 3 1731337658SMarcel Moolenaar.Sh SYNOPSIS 1831337658SMarcel Moolenaar.Nm xolint 1931337658SMarcel Moolenaar.Op Fl c 2031337658SMarcel Moolenaar.Op Fl "C <flags>" 2131337658SMarcel Moolenaar.Op Fl "d" 2231337658SMarcel Moolenaar.Op Fl "D" 2331337658SMarcel Moolenaar.Op Fl "I" 2431337658SMarcel Moolenaar.Op Fl "p" 2531337658SMarcel Moolenaar.Op Fl "V" 2631337658SMarcel Moolenaar.Op Fl "X" 2731337658SMarcel Moolenaar.Op Ar files... 2831337658SMarcel Moolenaar.Sh DESCRIPTION 29545ddfbeSMarcel Moolenaar.Nm 30545ddfbeSMarcel Moolenaaris a tool for reporting common mistakes in format strings 31545ddfbeSMarcel Moolenaarin source code that invokes 32545ddfbeSMarcel Moolenaar.Xr xo_emit 3 . 33545ddfbeSMarcel MoolenaarIt allows these errors 3431337658SMarcel Moolenaarto be diagnosed at build time, rather than waiting until runtime. 3531337658SMarcel Moolenaar.Pp 36545ddfbeSMarcel Moolenaar.Nm 37545ddfbeSMarcel Moolenaartakes one or more C files as arguments, and reports 38545ddfbeSMarcel Moolenaarerror, warning, or informational messages as needed. 3931337658SMarcel Moolenaar.Bl -tag -width "C <flags>" 4031337658SMarcel Moolenaar.It Fl c 4131337658SMarcel MoolenaarInvoke 'cpp' against the input file 4231337658SMarcel Moolenaar.It Fl "C <flags>" 43545ddfbeSMarcel MoolenaarFlags that are passed to 'cpp' 4431337658SMarcel Moolenaar.It Fl "d" 4531337658SMarcel MoolenaarEnable debug output 4631337658SMarcel Moolenaar.It Fl "D" 47545ddfbeSMarcel MoolenaarGenerate documentation for all 48545ddfbeSMarcel Moolenaar.Nm 49545ddfbeSMarcel Moolenaarmessages 5031337658SMarcel Moolenaar.It Fl "I" 51545ddfbeSMarcel MoolenaarGenerate a table of 52545ddfbeSMarcel Moolenaar.Dv xo_info_t 53545ddfbeSMarcel Moolenaarstructures. 5431337658SMarcel Moolenaar.It Fl "p" 5531337658SMarcel MoolenaarPrint the offending lines after the error message is displayed 5631337658SMarcel Moolenaar.It Fl "V" 5731337658SMarcel MoolenaarDo not report errors, but instead print a complete list of 58545ddfbeSMarcel Moolenaarall field names, sorted alphabetically. 59545ddfbeSMarcel MoolenaarThe output can help spot 6031337658SMarcel Moolenaarinconsistencies and spelling errors. 6131337658SMarcel Moolenaar.It Fl "X" 62545ddfbeSMarcel MoolenaarExtract samples from 63545ddfbeSMarcel Moolenaar.Nm , 64545ddfbeSMarcel Moolenaarsuitable for internal testing. 6531337658SMarcel Moolenaar.El 6631337658SMarcel Moolenaar.Pp 67545ddfbeSMarcel MoolenaarThe output message contains the source filename and line number, the 6831337658SMarcel Moolenaarclass of the message, the message, and, if 6931337658SMarcel Moolenaar.Fl p 7031337658SMarcel Moolenaaris given, the 7131337658SMarcel Moolenaarline that contains the error: 7231337658SMarcel Moolenaar.Bd -literal -offset indent 7331337658SMarcel Moolenaar % xolint -t xolint.c 7431337658SMarcel Moolenaar xolint.c: 16: error: anchor format should be "%d" 7531337658SMarcel Moolenaar 16 xo_emit("{[:/%s}"); 7631337658SMarcel Moolenaar.Ed 7731337658SMarcel Moolenaar.Sh SEE ALSO 78545ddfbeSMarcel Moolenaar.Xr libxo 3 , 7931337658SMarcel Moolenaar.Xr xo_emit 3 80*fd5e3f3eSPhil Shafer.Sh HISTORY 81*fd5e3f3eSPhil ShaferThe 82*fd5e3f3eSPhil Shafer.Nm libxo 83*fd5e3f3eSPhil Shaferlibrary first appeared in 84*fd5e3f3eSPhil Shafer.Fx 11.0 . 85*fd5e3f3eSPhil Shafer.Sh AUTHORS 86*fd5e3f3eSPhil Shafer.Nm libxo 87*fd5e3f3eSPhil Shaferwas written by 88*fd5e3f3eSPhil Shafer.An Phil Shafer Aq Mt phil@freebsd.org . 89*fd5e3f3eSPhil Shafer 90