cppi1
Indent the c preprocessor directives in file to reflect their nesting
Usage
cppi [FILE]
cppi -c
[OPTION]
[FILE] ...
Overview
Indent the C preprocessor directives in FILE to reflect their nesting and ensure that there is exactly one space character between each #if, #elif, #define directive and the following token, and write the result to standard output. The number of spaces between the `#' and the following directive must correspond to the level of nesting of that directive. With no FILE, or when FILE is -, read standard input.
-
-a, --ansi -
when checking, fail if text follows #else or #endif
-
-c, --check -
set exit code, but don't produce any output
-
-l, --list-files-only -
don't generate diagnostics about indentation; print to stdout only the names of files that are not properly indented
-
-m, --max-string-length=LENGTH -
fail if there is a double-quoted string longer than LENGTH; if LENGTH is 0 (the default), then there is no limit
-
--help -
display this help and exit
-
--version -
output version information and exit
With the -c option, don't write to stdout. Instead, check the indentation of the specified files giving diagnostics for preprocessor lines that aren't properly indented or are otherwise invalid.
Note that --ansi without --check does not correct the problem of non-ANSI text following #else and #endif directives.
The exit code will be one of these:
- 0
-
all directives properly indented
- 1
-
some cpp directive(s) improperly indented, or text follows #else/#endif (enabled with
--check--ansi), or a double-quoted string is longer than the specified maximum
- 2
-
#if/#endif mismatch, EOF in comment or string
- 3
-
file (e.g. open/read/write) error
A pragma directive may have its `#' indented.