3133765886
Obtained from: https://github.com/Juniper/libxo Sponsored by: Juniper Networks, Inc.
90 lines
2.2 KiB
Groff
90 lines
2.2 KiB
Groff
.\" #
|
|
.\" # Copyright (c) 2014, Juniper Networks, Inc.
|
|
.\" # All rights reserved.
|
|
.\" # This SOFTWARE is licensed under the LICENSE provided in the
|
|
.\" # ../Copyright file. By downloading, installing, copying, or
|
|
.\" # using the SOFTWARE, you agree to be bound by the terms of that
|
|
.\" # LICENSE.
|
|
.\" # Phil Shafer, July 2014
|
|
.\"
|
|
.Dd July, 2014
|
|
.Dt LIBXO 3
|
|
.Os
|
|
.Sh NAME
|
|
.Nm xolint
|
|
.Nd detect errors in programs using xo_emit
|
|
.Sh SYNOPSIS
|
|
.Nm xolint
|
|
.Op Fl c
|
|
.Op Fl "C <flags>"
|
|
.Op Fl "d"
|
|
.Op Fl "D"
|
|
.Op Fl "I"
|
|
.Op Fl "p"
|
|
.Op Fl "V"
|
|
.Op Fl "X"
|
|
.Op Ar files...
|
|
.Sh DESCRIPTION
|
|
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.
|
|
.Pp
|
|
xolint takes the one or more C files as arguments, and reports
|
|
and errors, warning, or informational messages as needed.
|
|
.Bl -tag -width "C <flags>"
|
|
.It Fl c
|
|
Invoke 'cpp' against the input file
|
|
.It Fl "C <flags>"
|
|
Flags that are passed to 'cpp
|
|
.It Fl "d"
|
|
Enable debug output
|
|
.It Fl "D"
|
|
Generate documentation for all xolint messages
|
|
.It Fl "I"
|
|
Generate a table of xo_info_t structures.
|
|
.It Fl "p"
|
|
Print the offending lines after the error message is displayed
|
|
.It Fl "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.
|
|
.It Fl "X"
|
|
Extract samples from xolint, suitable for internal testing.
|
|
.El
|
|
.Pp
|
|
Output message contain the source filename and line number, the
|
|
class of the message, the message, and, if
|
|
.Fl p
|
|
is given, the
|
|
line that contains the error:
|
|
.Bd -literal -offset indent
|
|
% xolint -t xolint.c
|
|
xolint.c: 16: error: anchor format should be "%d"
|
|
16 xo_emit("{[:/%s}");
|
|
.Ed
|
|
.Pp
|
|
.Sh ADDITIONAL DOCUMENTATION
|
|
.Pp
|
|
Complete documentation can be found on github:
|
|
.Bd -literal -offset indent
|
|
http://juniper.github.io/libxo/libxo-manual.html
|
|
.Ed
|
|
.Pp
|
|
libxo lives on github as:
|
|
.Bd -literal -offset indent
|
|
https://github.com/Juniper/libxo
|
|
.Ed
|
|
.Pp
|
|
The latest release of libxo is available at:
|
|
.Bd -literal -offset indent
|
|
https://github.com/Juniper/libxo/releases
|
|
.Ed
|
|
.Sh SEE ALSO
|
|
.Xr xo_emit 3
|
|
.Sh HISTORY
|
|
The
|
|
.Fa libxo
|
|
library was added in FreeBSD 10.1.
|
|
.Sh AUTHOR
|
|
Phil Shafer
|