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 i...@splint.org -or visit +or visit <http://www.splint.org>.