cppi man page

cppi — indent the C preprocessor directives in FILE to reflect their nesting

Synopsis

cppi [FILE]
cppi -c [OPTION] [FILE]...

Description

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.

Author

Written by Jim Meyering.

Reporting Bugs

Report bugs to <bug-cppi@gnu.org>.

See Also

The full documentation for cppi is maintained as a Texinfo manual.  If the info and cppi programs are properly installed at your site, the command

info cppi

should give you access to the complete manual.

Info

March 2013 cppi 1.18 User Commands