Bug#1092813: splint.1: Some remarks and a patch with editorial changes for this man page
Package: splint
Version: 1:3.1.2+dfsg-5
Severity: minor
Tags: patch
* What led up to the situation?
Checking for defects with a new version
test-[g|n]roff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z < "man page"
[Use "groff -e ' $' <file>" to find trailing spaces.]
["test-groff" is a script in the repository for "groff"; is not shipped]
(local copy and "troff" slightly changed by me).
[The fate of "test-nroff" was decided in groff bug #55941.]
* What was the outcome of this action?
an.tmac:<stdin>:1: style: .TH missing third argument; consider document modification date in ISO 8601 format (YYYY-MM-DD)
an.tmac:<stdin>:1: style: .TH missing fourth argument; consider package/project name and version (e.g., "groff 1.23.0")
* What outcome did you expect instead?
No output (no warnings).
-.-
General remarks and further material, if a diff-file exist, are in the
attachments.
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 6.12.6-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages splint depends on:
ii libc6 2.40-4
ii libfl2 2.6.4-8.2+b4
ii splint-data 1:3.1.2+dfsg-5
splint recommends no packages.
Versions of packages splint suggests:
pn splint-doc-html <none>
-- no debconf information
Input file is splint.1
Any program (person), that produces man pages, should check the output
for defects by using (both groff and nroff)
[gn]roff -mandoc -t -ww -b -z -K utf8 <man page>
The same goes for man pages that are used as an input.
For a style guide use
mandoc -T lint
-.-
So any 'generator' should check its products with the above mentioned
'groff', 'mandoc', and additionally with 'nroff ...'.
This is just a simple quality control measure.
The 'generator' may have to be corrected to get a better man page,
the source file may, and any additional file may.
Common defects:
Input text line longer than 80 bytes.
Not removing trailing spaces (in in- and output).
The reason for these trailing spaces should be found and eliminated.
Not beginning each input sentence on a new line.
Lines should thus be shorter.
See man-pages(7), item 'semantic newline'.
-.-
The difference between the formatted output of the original and patched file
can be seen with:
nroff -mandoc <file1> > <out1>
nroff -mandoc <file2> > <out2>
diff -u <out1> <out2>
and for groff, using
"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - "
instead of 'nroff -mandoc'
Add the option '-t', if the file contains a table.
Read the output of 'diff -u' with 'less -R' or similar.
-.-.
If 'man' (man-db) is used to check the manual for warnings,
the following must be set:
The option "-warnings=w"
The environmental variable:
export MAN_KEEP_STDERR=yes (or any non-empty value)
or
(produce only warnings):
export MANROFFOPT="-ww -b -z"
export MAN_KEEP_STDERR=yes (or any non-empty value)
-.-.
Output from "mandoc -T lint splint.1": (shortened list)
50 input text line longer than 80 bytes
1 missing date, using ""
1 skipping paragraph macro
68 whitespace at end of input line
-.-.
Output from "test-groff -mandoc -t -ww -z splint.1": (shortened list)
2 Use macro '.B' for one argument or split argument.
2 .BR is for at least 2 arguments, got 1
41 trailing space in the line
-.-.
Remove space characters (whitespace) at the end of lines.
Use "git apply ... --whitespace=fix" to fix extra space issues, or use
global configuration "core.whitespace".
Number of lines affected is
68
-.-.
Use the correct macro for the font change of a single argument or
split the argument into two.
7:.BR splint
11:.BR splint
-.-.
Change a HYPHEN-MINUS (code 0x2D) to a minus(-dash) (\-),
if it
is in front of a name for an option,
is a symbol for standard input,
is a single character used to indicate an option,
or is in the NAME section (man-pages(7)).
N.B. - (0x2D), processed as a UTF-8 file, is changed to a hyphen
(0x2010, groff \[u2010] or \[hy]) in the output.
126:information to be printed; setting -<flag> prevents it. By default, all these flags are off.
187:locally in syntactic comments. The linelen and limit flags may be preceded by + or - with the same meaning;
188:for the other flags, + turns on the describe printing and - turns it off. The box to the left of each flag gives its
202:Show all possible alternate types (see Section 8.2.2). Default: -
216:class. Default: -
-.-.
Wrong distance between sentences in the input file.
Separate the sentences and subordinate clauses; each begins on a new
line. See man-pages(7) ("Conventions for source file layout") and
"info groff" ("Input Conventions").
The best procedure is to always start a new sentence on a new line,
at least, if you are typing on a computer.
Remember coding: Only one command ("sentence") on each (logical) line.
E-mail: Easier to quote exactly the relevant lines.
Generally: Easier to edit the sentence.
Patches: Less unaffected text.
Search for two adjacent words is easier, when they belong to the same line,
and the same phrase.
The amount of space between sentences in the output can then be
controlled with the ".ss" request.
Mark a final abbreviation point as such by suffixing it with "\&".
N.B.
The number of lines affected can be too large to be in a patch.
13:vulnerabilities and common programming mistakes. With minimal effort,
14:splint can be used as a better lint. If additional effort is invested
29:These flags control directories and files used by splint. They may be used from the
31:source code. Except where noted. they have the same meaning preceded by \- or +.
35:Set directory for writing temp files. Default is /tmp/.
39:Add directory to path searched for C include files. Note there is no space after the I,
48:Load options file <file>. If this flag is used from the command line, the default ~/.splintrc file is
49:not loaded. This flag may be used in an options file to load in another options file.
53:Prevents the default options files (./.splintrc and ~/.splintrc) from being loaded. (Setting
58:Set directories for system files (default is "/usr/include"). Separate directories with colons (e.g.,
59:"/usr/include:/usr/local/lib"). Flag settings propagate to files in a system directory. If
82:Save state in <file> for loading. The default extension .lcd is added if <file> has no extension.
86:Load state from <file> (created by \-dump). The default extension .lcd is added if <file> has no
87:extension. Only one library file may be loaded.
89:By default, the standard library is loaded if the \-load flag is not used to load a user library. If no user library is
90:loaded, one of the following flags may be used to select a different standard library. Precede the flag by + to
91:load the described library (or prevent a library from being loaded using nolib). See Apppendix F for
96:Do not load any library. This prevents the standard library from being loaded.
125:These flags control what additional information is printed by splint. Setting +<flag> causes the described
126:information to be printed; setting -<flag> prevents it. By default, all these flags are off.
136:Show a summary of all errors reported and suppressed. Counts of suppressed errors are not
159:Suppress herald and error count. (If quiet is not set, splint prints out a herald with version
168:At most <number> similar errors are reported consecutively. Further errors are suppressed, and a
174:Normally, splint will expect to report no errors. The exit status will be success (0) if no errors are reported,
175:and failure if any errors are reported. Flags can be used to set the expected number of reported errors.
181:Exactly <number> code errors are expected. splint will exit with failure exit status unless
186:These flags control how messages are printed. They may be set at the command line, in options files, or
187:locally in syntactic comments. The linelen and limit flags may be preceded by + or - with the same meaning;
188:for the other flags, + turns on the describe printing and - turns it off. The box to the left of each flag gives its
193:Show column number where error is found. Default: +
197:Show name of function (or macro) definition containing error. The function name is printed once
198:before the first message detected in that function. Default: +
202:Show all possible alternate types (see Section 8.2.2). Default: -
211:reported in each error class. Default: +
216:class. Default: -
220:Set length of maximum message line to <number> characters. splint will split messages longer
221:than <number> characters long into multiple lines. Default: 80
226:Mode selects flags set the mode checking flags to predefined values. They provide a quick coarse-grain way
227:of controlling what classes of errors are reported. Specific checking flags may be set after a mode flag to
228:override the mode settings. Mode flags may be used locally, however the mode settings will override specific
229:command line flag settings. A warning is produced if a mode flag is used after a mode checking flag has been
232:These are brief descriptions to give a general idea of what each mode does. To see the complete flag settings
233:in each mode, use splint \-help modes. A mode flag has the same effect when used with either + or \-.
237:Weak checking, intended for typical unannotated C code. No modifies checking, macro checking,
238:rep exposure, or clean interface checking is done. Return values of type int may be ignored. The
239:types bool, int, char and user-defined enum types are all equivalent. Old style declarations are
244:The default mode. All checking done by weak, plus modifies checking, global alias checking, use all
246:unreachable code, infinite loops, and fall-through cases. The types bool, int and char are distinct.
251:Moderately strict checking. All checking done by standard, plus must modification checking, rep
256:Absurdly strict checking. All checking done by checks, plus modifications and global variables
257:used in unspecified functions, strict standard library, and strict typing of C operators. A special
-.-.
Split lines longer than 80 characters into two or more lines.
Appropriate break points are the end of a sentence and a subordinate
clause; after punctuation marks.
N.B.
The number of lines affected can be too large to be in a patch.
Line 29, length 83
These flags control directories and files used by splint. They may be used from the
Line 30, length 82
command line or in an options file, but may not be used as control comments in the
Line 31, length 81
source code. Except where noted. they have the same meaning preceded by \- or +.
Line 39, length 87
Add directory to path searched for C include files. Note there is no space after the I,
Line 48, length 101
Load options file <file>. If this flag is used from the command line, the default ~/.splintrc file is
Line 49, length 86
not loaded. This flag may be used in an options file to load in another options file.
Line 53, length 92
Prevents the default options files (./.splintrc and ~/.splintrc) from being loaded. (Setting
Line 58, length 101
Set directories for system files (default is "/usr/include"). Separate directories with colons (e.g.,
Line 59, length 90
"/usr/include:/usr/local/lib"). Flag settings propagate to files in a system directory. If
Line 60, length 82
\-systemdirerrors is set, no errors are reported for files in system directories.
Line 82, length 98
Save state in <file> for loading. The default extension .lcd is added if <file> has no extension.
Line 86, length 96
Load state from <file> (created by \-dump). The default extension .lcd is added if <file> has no
Line 89, length 119
By default, the standard library is loaded if the \-load flag is not used to load a user library. If no user library is
Line 90, length 111
loaded, one of the following flags may be used to select a different standard library. Precede the flag by + to
Line 91, length 100
load the described library (or prevent a library from being loaded using nolib). See Apppendix F for
Line 125, length 106
These flags control what additional information is printed by splint. Setting +<flag> causes the described
Line 126, length 92
information to be printed; setting -<flag> prevents it. By default, all these flags are off.
Line 132, length 83
message and fatal error streams independently. See the output of splint +usestderr
Line 136, length 89
Show a summary of all errors reported and suppressed. Counts of suppressed errors are not
Line 137, length 94
necessarily correct since turning a flag off may prevent some checking from being done to save
Line 138, length 90
computation, and errors that are not reported may propagate differently from when they are
Line 159, length 94
Suppress herald and error count. (If quiet is not set, splint prints out a herald with version
Line 160, length 97
information before checking begins, and a line summarizing the total number of errors reported.)
Line 168, length 96
At most <number> similar errors are reported consecutively. Further errors are suppressed, and a
Line 174, length 112
Normally, splint will expect to report no errors. The exit status will be success (0) if no errors are reported,
Line 175, length 104
and failure if any errors are reported. Flags can be used to set the expected number of reported errors.
Line 176, length 105
Because of the provided error suppression mechanisms, these options should probably not be used for final
Line 181, length 91
Exactly <number> code errors are expected. splint will exit with failure exit status unless
Line 186, length 103
These flags control how messages are printed. They may be set at the command line, in options files, or
Line 187, length 107
locally in syntactic comments. The linelen and limit flags may be preceded by + or - with the same meaning;
Line 188, length 116
for the other flags, + turns on the describe printing and - turns it off. The box to the left of each flag gives its
Line 197, length 95
Show name of function (or macro) definition containing error. The function name is printed once
Line 210, length 89
Provide hints describing an error and how a message may be suppressed for the first error
Line 215, length 101
Provide hints for all errors reported, even if the hint has already been displayed for the same error
Line 220, length 92
Set length of maximum message line to <number> characters. splint will split messages longer
Line 226, length 106
Mode selects flags set the mode checking flags to predefined values. They provide a quick coarse-grain way
Line 227, length 107
of controlling what classes of errors are reported. Specific checking flags may be set after a mode flag to
Line 228, length 108
override the mode settings. Mode flags may be used locally, however the mode settings will override specific
Line 229, length 108
command line flag settings. A warning is produced if a mode flag is used after a mode checking flag has been
Line 232, length 109
These are brief descriptions to give a general idea of what each mode does. To see the complete flag settings
Line 233, length 101
in each mode, use splint \-help modes. A mode flag has the same effect when used with either + or \-.
Line 237, length 93
Weak checking, intended for typical unannotated C code. No modifies checking, macro checking,
Line 238, length 96
rep exposure, or clean interface checking is done. Return values of type int may be ignored. The
Line 239, length 96
types bool, int, char and user-defined enum types are all equivalent. Old style declarations are
Line 244, length 99
The default mode. All checking done by weak, plus modifies checking, global alias checking, use all
Line 245, length 86
parameters, using released storage, ignored return values or any type, macro checking,
Line 246, length 100
unreachable code, infinite loops, and fall-through cases. The types bool, int and char are distinct.
Line 251, length 95
Moderately strict checking. All checking done by standard, plus must modification checking, rep
Line 256, length 94
Absurdly strict checking. All checking done by checks, plus modifications and global variables
Line 257, length 99
used in unspecified functions, strict standard library, and strict typing of C operators. A special
Line 258, length 99
reward will be presented to the first person to produce a real program that produces no errors with
-.-.
Put a parenthetical sentence, phrase on a separate line,
if not part of a code.
See man-pages(7), item "semantic newline".
splint.1:53:Prevents the default options files (./.splintrc and ~/.splintrc) from being loaded. (Setting
splint.1:58:Set directories for system files (default is "/usr/include"). Separate directories with colons (e.g.,
splint.1:86:Load state from <file> (created by \-dump). The default extension .lcd is added if <file> has no
splint.1:91:load the described library (or prevent a library from being loaded using nolib). See Apppendix F for
splint.1:100:Use the ANSI standard library (selected by default).
splint.1:130:Send error messages to standard error (instead of standard out). This flag
splint.1:202:Show all possible alternate types (see Section 8.2.2). Default: -
-.-.
Put a subordinate sentence (after a comma) on a new line.
15:adding annotations to programs, splint can perform stronger checks than
16:can be done by any standard lint. For full documentation, install the
30:command line or in an options file, but may not be used as control comments in the
48:Load options file <file>. If this flag is used from the command line, the default ~/.splintrc file is
54:\-nof overrides +nof, causing the options files to be loaded normally.)
60:\-systemdirerrors is set, no errors are reported for files in system directories.
89:By default, the standard library is loaded if the \-load flag is not used to load a user library. If no user library is
90:loaded, one of the following flags may be used to select a different standard library. Precede the flag by + to
126:information to be printed; setting -<flag> prevents it. By default, all these flags are off.
131:has been replaced by more precise flags for controlling the warning, status
138:computation, and errors that are not reported may propagate differently from when they are
159:Suppress herald and error count. (If quiet is not set, splint prints out a herald with version
160:information before checking begins, and a line summarizing the total number of errors reported.)
168:At most <number> similar errors are reported consecutively. Further errors are suppressed, and a
174:Normally, splint will expect to report no errors. The exit status will be success (0) if no errors are reported,
176:Because of the provided error suppression mechanisms, these options should probably not be used for final
186:These flags control how messages are printed. They may be set at the command line, in options files, or
188:for the other flags, + turns on the describe printing and - turns it off. The box to the left of each flag gives its
215:Provide hints for all errors reported, even if the hint has already been displayed for the same error
228:override the mode settings. Mode flags may be used locally, however the mode settings will override specific
233:in each mode, use splint \-help modes. A mode flag has the same effect when used with either + or \-.
237:Weak checking, intended for typical unannotated C code. No modifies checking, macro checking,
238:rep exposure, or clean interface checking is done. Return values of type int may be ignored. The
239:types bool, int, char and user-defined enum types are all equivalent. Old style declarations are
244:The default mode. All checking done by weak, plus modifies checking, global alias checking, use all
245:parameters, using released storage, ignored return values or any type, macro checking,
246:unreachable code, infinite loops, and fall-through cases. The types bool, int and char are distinct.
251:Moderately strict checking. All checking done by standard, plus must modification checking, rep
252:exposure, return alias, memory management and complete interfaces.
256:Absurdly strict checking. All checking done by checks, plus modifications and global variables
257:used in unspecified functions, strict standard library, and strict typing of C operators. A special
-.-.
Output from "test-groff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z ":
an.tmac:<stdin>:1: style: .TH missing third argument; consider document modification date in ISO 8601 format (YYYY-MM-DD)
an.tmac:<stdin>:1: style: .TH missing fourth argument; consider package/project name and version (e.g., "groff 1.23.0")
an.tmac:<stdin>:7: misuse, warning: .BR is for at least 2 arguments, got 1
Use macro '.B' for one argument or split argument.
an.tmac:<stdin>:11: misuse, warning: .BR is for at least 2 arguments, got 1
Use macro '.B' for one argument or split argument.
troff:<stdin>:18: warning: trailing space in the line
troff:<stdin>:31: warning: trailing space in the line
troff:<stdin>:35: warning: trailing space in the line
troff:<stdin>:40: warning: trailing space in the line
troff:<stdin>:44: warning: trailing space in the line
troff:<stdin>:49: warning: trailing space in the line
troff:<stdin>:54: warning: trailing space in the line
troff:<stdin>:60: warning: trailing space in the line
troff:<stdin>:70: warning: trailing space in the line
troff:<stdin>:74: warning: trailing space in the line
troff:<stdin>:82: warning: trailing space in the line
troff:<stdin>:87: warning: trailing space in the line
troff:<stdin>:92: warning: trailing space in the line
troff:<stdin>:96: warning: trailing space in the line
troff:<stdin>:100: warning: trailing space in the line
troff:<stdin>:104: warning: trailing space in the line
troff:<stdin>:108: warning: trailing space in the line
troff:<stdin>:112: warning: trailing space in the line
troff:<stdin>:116: warning: trailing space in the line
troff:<stdin>:120: warning: trailing space in the line
troff:<stdin>:139: warning: trailing space in the line
troff:<stdin>:143: warning: trailing space in the line
troff:<stdin>:147: warning: trailing space in the line
troff:<stdin>:151: warning: trailing space in the line
troff:<stdin>:155: warning: trailing space in the line
troff:<stdin>:160: warning: trailing space in the line
troff:<stdin>:164: warning: trailing space in the line
troff:<stdin>:169: warning: trailing space in the line
troff:<stdin>:182: warning: trailing space in the line
troff:<stdin>:193: warning: trailing space in the line
troff:<stdin>:202: warning: trailing space in the line
troff:<stdin>:206: warning: trailing space in the line
troff:<stdin>:211: warning: trailing space in the line
troff:<stdin>:216: warning: trailing space in the line
troff:<stdin>:221: warning: trailing space in the line
troff:<stdin>:230: warning: trailing space in the line
troff:<stdin>:240: warning: trailing space in the line
troff:<stdin>:247: warning: trailing space in the line
troff:<stdin>:252: warning: trailing space in the line
troff:<stdin>:259: warning: trailing space in the line
troff:<stdin>:265: warning: trailing space in the line
-.-.
Spelling: (from codespell)
/tmp/splint.1.new: Apppendix ==> Appendix
--- splint.1 2025-01-11 21:45:51.282175663 +0000
+++ splint.1.new 2025-01-11 22:02:03.183929600 +0000
@@ -4,18 +4,18 @@
splint \- A tool for statically checking C programs
.SH SYNOPSIS
-.BR splint
+.B splint
[options]
.SH DESCRIPTION
-.BR splint
+.B splint
is a tool for statically checking C programs for security
vulnerabilities and common programming mistakes. With minimal effort,
splint can be used as a better lint. If additional effort is invested
adding annotations to programs, splint can perform stronger checks than
can be done by any standard lint. For full documentation, install the
splint-doc-html Debian package. This man page only covers a few of the
-available options.
+available options.
.SH OPTIONS
@@ -28,36 +28,36 @@ Shows help
These flags control directories and files used by splint. They may be used from the
command line or in an options file, but may not be used as control comments in the
-source code. Except where noted. they have the same meaning preceded by \- or +.
+source code. Except where noted. they have the same meaning preceded by \- or +.
.TP 6
.BI \-tmpdir " directory"
-Set directory for writing temp files. Default is /tmp/.
+Set directory for writing temp files. Default is /tmp/.
.TP 6
.BI \-I " directory"
Add directory to path searched for C include files. Note there is no space after the I,
-to be consistent with C preprocessor flags.
+to be consistent with C preprocessor flags.
.TP 6
.BI \-S " directory"
-Add directory to path search for .lcl specification files.
+Add directory to path search for .lcl specification files.
.TP 6
.BI \-f " file"
Load options file <file>. If this flag is used from the command line, the default ~/.splintrc file is
-not loaded. This flag may be used in an options file to load in another options file.
+not loaded. This flag may be used in an options file to load in another options file.
.TP 6
-.B \-nof
+.B \-nof
Prevents the default options files (./.splintrc and ~/.splintrc) from being loaded. (Setting
-\-nof overrides +nof, causing the options files to be loaded normally.)
+\-nof overrides +nof, causing the options files to be loaded normally.)
.TP 6
.BI \-systemdirs " directories"
Set directories for system files (default is "/usr/include"). Separate directories with colons (e.g.,
"/usr/include:/usr/local/lib"). Flag settings propagate to files in a system directory. If
-\-systemdirerrors is set, no errors are reported for files in system directories.
+\-systemdirerrors is set, no errors are reported for files in system directories.
.PP
.B Pre-processor
@@ -67,11 +67,11 @@ The \-I<directory> flag is also passed t
.TP 6
.BI \-D " initializer"
-Passed to the C pre-processor.
+Passed to the C pre-processor.
.TP 6
.BI \-U " initializer"
-Passed to the C pre-processor
+Passed to the C pre-processor
.PP
.B Libraries
@@ -79,94 +79,94 @@ These flags control the creation and use
.TP 6
.BI \-dump " file"
-Save state in <file> for loading. The default extension .lcd is added if <file> has no extension.
+Save state in <file> for loading. The default extension .lcd is added if <file> has no extension.
.TP 6
.BI \-load " file"
Load state from <file> (created by \-dump). The default extension .lcd is added if <file> has no
-extension. Only one library file may be loaded.
+extension. Only one library file may be loaded.
By default, the standard library is loaded if the \-load flag is not used to load a user library. If no user library is
loaded, one of the following flags may be used to select a different standard library. Precede the flag by + to
-load the described library (or prevent a library from being loaded using nolib). See Apppendix F for
-information on the provided libraries.
+load the described library (or prevent a library from being loaded using nolib). See Appendix F for
+information on the provided libraries.
.TP 6
-.B \-nolib
-Do not load any library. This prevents the standard library from being loaded.
+.B \-nolib
+Do not load any library. This prevents the standard library from being loaded.
.TP 6
-.B \-ansi-lib
-Use the ANSI standard library (selected by default).
+.B \-ansi-lib
+Use the ANSI standard library (selected by default).
.TP 6
-.B \-strict-lib
-Use strict version of the ANSI standard library.
+.B \-strict-lib
+Use strict version of the ANSI standard library.
.TP 6
-.B \-posix-lib
-Use the POSIX standard library.
+.B \-posix-lib
+Use the POSIX standard library.
.TP 6
-.B \-posix-strict-lib
-Use the strict version of the POSIX standard library.
+.B \-posix-strict-lib
+Use the strict version of the POSIX standard library.
.TP 6
-.B \-1-lib
-Use UNIX version of standard library.
+.B \-1-lib
+Use UNIX version of standard library.
.TP 6
-.B \-1-strict-lib
-Use the strict version of the UNIX standard library.
+.B \-1-strict-lib
+Use the strict version of the UNIX standard library.
.PP
.B Output
These flags control what additional information is printed by splint. Setting +<flag> causes the described
-information to be printed; setting -<flag> prevents it. By default, all these flags are off.
+information to be printed; setting \-<flag> prevents it. By default, all these flags are off.
.TP 6
-.B \-usestderr
+.B \-usestderr
Send error messages to standard error (instead of standard out). This flag
has been replaced by more precise flags for controlling the warning, status
message and fatal error streams independently. See the output of splint +usestderr
.TP 6
-.B \-showsummary
+.B \-showsummary
Show a summary of all errors reported and suppressed. Counts of suppressed errors are not
necessarily correct since turning a flag off may prevent some checking from being done to save
computation, and errors that are not reported may propagate differently from when they are
-reported.
+reported.
.TP 6
-.B \-showscan
-Show file names as they are processed.
+.B \-showscan
+Show file names as they are processed.
.TP 6
-.B \-showalluses
-Show list of uses of all external identifiers sorted by number of uses.
+.B \-showalluses
+Show list of uses of all external identifiers sorted by number of uses.
.TP 6
-.B \-stats
-Display number of lines processed and checking time.
+.B \-stats
+Display number of lines processed and checking time.
.TP 6
-.B \-timedist
-Display distribution of where checking time is spent.
+.B \-timedist
+Display distribution of where checking time is spent.
.TP 6
-.B \-quiet
+.B \-quiet
Suppress herald and error count. (If quiet is not set, splint prints out a herald with version
-information before checking begins, and a line summarizing the total number of errors reported.)
+information before checking begins, and a line summarizing the total number of errors reported.)
.TP 6
-.B \-whichlib
-Print out the standard library filename and creation information.
+.B \-whichlib
+Print out the standard library filename and creation information.
.TP 6
.BI \-limit " number"
At most <number> similar errors are reported consecutively. Further errors are suppressed, and a
-message showing the number of suppressed messages is printed.
+message showing the number of suppressed messages is printed.
.PP
.B Expected Errors
@@ -177,48 +177,48 @@ Because of the provided error suppressio
checking real programs but may be useful in developing programs using make.
.TP 6
-.B \-expect <number>
+.B \-expect <number>
Exactly <number> code errors are expected. splint will exit with failure exit status unless
-<number> code errors are detected.
+<number> code errors are detected.
.TP 6
.B \-Message Format
These flags control how messages are printed. They may be set at the command line, in options files, or
-locally in syntactic comments. The linelen and limit flags may be preceded by + or - with the same meaning;
-for the other flags, + turns on the describe printing and - turns it off. The box to the left of each flag gives its
+locally in syntactic comments. The linelen and limit flags may be preceded by + or \- with the same meaning;
+for the other flags, + turns on the describe printing and \- turns it off. The box to the left of each flag gives its
default value.
.TP 6
-.B \-showcolumn
-Show column number where error is found. Default: +
+.B \-showcolumn
+Show column number where error is found. Default: +
.TP 6
-.B \-showfunc
+.B \-showfunc
Show name of function (or macro) definition containing error. The function name is printed once
before the first message detected in that function. Default: +
.TP 6
-.B \-showallconjs
-Show all possible alternate types (see Section 8.2.2). Default: -
+.B \-showallconjs
+Show all possible alternate types (see Section 8.2.2). Default: \-
.TP 6
-.B \-paren-file-format
-Use file(line) format in messages.
+.B \-paren-file-format
+Use file(line) format in messages.
.TP 6
-.B \-hints
+.B \-hints
Provide hints describing an error and how a message may be suppressed for the first error
-reported in each error class. Default: +
+reported in each error class. Default: +
.TP 6
-.B \-forcehints
+.B \-forcehints
Provide hints for all errors reported, even if the hint has already been displayed for the same error
-class. Default: -
+class. Default: \-
.TP 6
.BI \-linelen " number"
Set length of maximum message line to <number> characters. splint will split messages longer
-than <number> characters long into multiple lines. Default: 80
+than <number> characters long into multiple lines. Default: 80
.PP
.B Mode Selector Flags
@@ -227,40 +227,39 @@ Mode selects flags set the mode checking
of controlling what classes of errors are reported. Specific checking flags may be set after a mode flag to
override the mode settings. Mode flags may be used locally, however the mode settings will override specific
command line flag settings. A warning is produced if a mode flag is used after a mode checking flag has been
-set.
+set.
These are brief descriptions to give a general idea of what each mode does. To see the complete flag settings
in each mode, use splint \-help modes. A mode flag has the same effect when used with either + or \-.
.TP 6
-.B \-weak
+.B \-weak
Weak checking, intended for typical unannotated C code. No modifies checking, macro checking,
rep exposure, or clean interface checking is done. Return values of type int may be ignored. The
types bool, int, char and user-defined enum types are all equivalent. Old style declarations are
-unreported.
+unreported.
.TP 6
-.B \-standard
+.B \-standard
The default mode. All checking done by weak, plus modifies checking, global alias checking, use all
parameters, using released storage, ignored return values or any type, macro checking,
unreachable code, infinite loops, and fall-through cases. The types bool, int and char are distinct.
-Old style declarations are reported.
+Old style declarations are reported.
.TP 6
-.B \-checks
+.B \-checks
Moderately strict checking. All checking done by standard, plus must modification checking, rep
-exposure, return alias, memory management and complete interfaces.
+exposure, return alias, memory management and complete interfaces.
.TP 6
-.B \-strict
+.B \-strict
Absurdly strict checking. All checking done by checks, plus modifications and global variables
used in unspecified functions, strict standard library, and strict typing of C operators. A special
reward will be presented to the first person to produce a real program that produces no errors with
-strict checking.
+strict checking.
.SH AUTHOR
-.PP
If you need to get in contact with the authors send email to
info@splint.org
-or visit
+or visit
<http://www.splint.org>.
Reply to: