Provided by: splint_3.1.2+dfsg-1build1_amd64 bug

NAME

       splint - A tool for statically checking C programs

SYNOPSIS

       splint [options]

DESCRIPTION

       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.

OPTIONS

       -help Shows help

       Initialization

       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 +.

       -tmpdir directory
             Set directory for writing temp files. Default is /tmp/.

       -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.

       -S directory
             Add directory to path search for .lcl specification files.

       -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.

       -nof  Prevents  the  default options files (./.splintrc and ~/.splintrc) from being loaded. (Setting -nof
             overrides +nof, causing the options files to be loaded normally.)

       -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.

       Pre-processor

       These flags are used to define or undefine pre-processor  constants.   The  -I<directory>  flag  is  also
       passed to the C pre-processor.

       -D initializer
             Passed to the C pre-processor.

       -U initializer
             Passed to the C pre-processor

       Libraries These flags control the creation and use of libraries.

       -dump file
             Save state in <file> for loading. The default extension .lcd is added if <file> has no extension.

       -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.

             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.

       -nolib
             Do not load any library. This prevents the standard library from being loaded.

       -ansi-lib
             Use the ANSI standard library (selected by default).

       -strict-lib
             Use strict version of the ANSI standard library.

       -posix-lib
             Use the POSIX standard library.

       -posix-strict-lib
             Use the strict version of the POSIX standard library.

       -1-lib
             Use UNIX version of standard library.

       -1-strict-lib
             Use the strict version of the UNIX standard library.

       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.

       -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

       -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.

       -showscan
             Show file names as they are processed.

       -showalluses
             Show list of uses of all external identifiers sorted by number of uses.

       -stats
             Display number of lines processed and checking time.

       -timedist
             Display distribution of where checking time is spent.

       -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.)

       -whichlib
             Print out the standard library filename and creation information.

       -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.

       Expected Errors

       Normally,  splint  will  expect to report no errors. The exit status will be success (0) if no errors are
       reported, and failure if any errors are reported. Flags can  be  used  to  set  the  expected  number  of
       reported errors.  Because of the provided error suppression mechanisms, these options should probably not
       be used for final checking real programs but may be useful in developing programs using make.

       -expect <number>
             Exactly <number> code errors are expected.  splint  will  exit  with  failure  exit  status  unless
             <number> code errors are detected.

       -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 default value.

       -showcolumn
             Show column number where error is found. Default: +

       -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: +

       -showallconjs
             Show all possible alternate types (see Section 8.2.2). Default: -

       -paren-file-format
             Use file(line) format in messages.

       -hints
             Provide  hints describing an error and how a message may be suppressed for the first error reported
             in each error class. Default: +

       -forcehints
             Provide hints for all errors reported, even if the hint has already been  displayed  for  the  same
             error class. Default: -

       -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

       Mode Selector Flags

       Mode selects flags set the mode checking flags to predefined values. They provide  a  quick  coarse-grain
       way  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.

       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
       -.

       -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.

       -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.

       -checks
             Moderately strict checking. All checking done by standard, plus  must  modification  checking,  rep
             exposure, return alias, memory management and complete interfaces.

       -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.

AUTHOR

       If  you  need  to  get  in  contact  with  the  authors  send   email   to   info@splint.org   or   visit
       <http://www.splint.org>.

                                                                                                       splint(1)